国产aaaa级全身裸体精油片_337p人体粉嫩久久久红粉影视_一区中文字幕在线观看_国产亚洲精品一区二区_欧美裸体男粗大1609_午夜亚洲激情电影av_黄色小说入口_日本精品久久久久中文字幕_少妇思春三a级_亚洲视频自拍偷拍

首頁 > 化工知識 > Modbus RTU通信教程連載(3)-主站的編程

Modbus RTU通信教程連載(3)-主站的編程

時間:2020-09-28 來源:方正智芯 瀏覽:

前面的文章我們介紹了Modbus RTU通信例程中主站的配置,今天這篇文章,我們來介紹下主站S7-1200的編程。

新建一個全局數(shù)據(jù)塊"DB_MODBUS_COMM"。在該數(shù)據(jù)塊中新建三個變量:COMM_DONE、COMM_ERROR和COMM_STATUS,用來保存指令“Modbus_Comm_Load”的運行狀態(tài),如下圖:

新建一個全局數(shù)據(jù)塊“DB_MODBUS_MASTER”,用來保存讀取及寫入的數(shù)據(jù)。其中:

  • 字數(shù)組“Read_Data_Words”用來保存讀取的40001~40010的數(shù)據(jù);

  • 字數(shù)組“Write_Data_Words”是用于寫入到從站Modbus地址40011~40016的數(shù)據(jù);

  • 位數(shù)組“Read_Bits”用來保存讀取從站Modbus地址10001~10008的數(shù)據(jù);

  • 位數(shù)組“Write_Bits”是用于寫入到從站Modbus地址00001~00008的數(shù)據(jù);

  • 無符號短整型(USInt)變量“Step”用來記錄Modbus通信的步驟。

如下圖:

Step變量的值決定通信的步驟,具體定義如下:

1)Step==1時,Modbus主站讀取從站Modbus參數(shù)地址40001開始的10個字長的數(shù)據(jù);

2)Step==2時,Modbus主站將6個字長的數(shù)據(jù)寫入到從站起始Modbus參數(shù)地址40011;

3)Step==3時,Modbus主站讀取從站Modbus參數(shù)地址10001開始的8個位的數(shù)據(jù);

4)Step==4時,Modbus主站將8個位寫入到從站Modbus參數(shù)地址00001;

當Modbus_CommLoad初始化完成時,跳轉到步驟1:

添加Modbus_Master指令,系統(tǒng)會自動提示創(chuàng)建背景數(shù)據(jù)塊,如下圖:

注:該數(shù)據(jù)塊中的“MB_DB”就是指令“Modbus_Comm_Load”的“MB_DB”參數(shù)。

新添加的Modbus_Master指令如下圖:

指令“Modbus_Master”各參數(shù)的定義如下:

步驟1(Step1)的代碼如下:

當步驟1完成或者出錯時,跳轉到步驟2:

步驟2的代碼如下:

同樣的,當步驟2完成或出錯時,跳轉到步驟3;跳轉代碼就不一一列出了,這里僅接觸步驟3和步驟4的代碼,如下圖:

好了,關于Modbus RTU通信的主站S7-1200的編程就先介紹到這里,后續(xù)文章我們介紹從站S7-200 Smart的配置與編程。

版權:如無特殊注明,文章轉載自網(wǎng)絡,侵權請聯(lián)系cnmhg168#163.com刪除!文件均為網(wǎng)友上傳,僅供研究和學習使用,務必24小時內(nèi)刪除。
相關推薦