一
案例簡介
本案例主要講解串口IO系列設備(本次作為從機設備)與西門子PLC S7-200smart(以下簡稱西門子PLC,本次作為主機設備)Modbus RTU參數配置連接例程,本案例串口IO系列以MA01-AACX2220為例。
二
硬件準備
? MA01-AACX2220串口IO設備一臺;
? 西門子PLC S7-200smart一臺;
? 24V電源兩個;
? 通訊電纜若干;
? 電腦一臺。
三
軟件準備
? STEP 7-MicroWIN SMART軟件,可自行在西門子官網下載;
? 億佰特IO模塊配置測試工具,可在億佰特官網相對應位置下載:https://www.ebyte.com
四
PLC程序準備
S7-200 Smart指令庫
西門子在STEP 7-Micro/WIN SMART中已經集成了Modbus RTU主站協議庫(西門子標準庫指令)。使用Modbus RTU主站指令庫,可以讀寫Modbus RTU從站的數字量、模擬量I/O以及保持寄存器。
Modbus RTU主站指令庫可以同時應用于CPU集成的RS 485通訊口和CMO1信號板,此時集成的RS 485口使用Modbus RTU,Master(v2.0)中指令,CM01信號板使用Modbus RTU Master2(v2.0)中指令,如果只有一個主站則不做區分,所以我們這里先選擇MBUS_CTRL,如圖所示:
MBUS_CTRL各參數意義講解:
EN:使能開關;必須保證每一掃描周期都被使能(使用SM0.0)
Mode:模式;為1時,使能Modbus協議功能;為0時,恢復為系統PPI協議,使用Modbus協議時,此參數應配置為1。
Baud:波特率;支持的通訊波特率為1200,2400,4800,9600,19200,38400,57600,115200;此參數應該配置為與MA01-AACX2220的波特率配置為一致,此處我們配置的波特率9600。
Parity:校驗方式選擇;0=無校驗,1=奇較驗,2=偶較驗;此參數應該配置為與MA01-AACX2220的校驗方式配置為一致,此處我們配置的校驗方式為0(無校驗)。
Port:端口號選擇;0=CPU集成的RS 485通訊口,1=可選CM 01信號板;此處我們配置的為0,代表PLC集成的RS485通訊口。
Timeout:通訊超時設置;主站等待從站響應的時間,以毫秒為單位,典型的設置值為1000毫秒(1秒),允許設置的范圍為1-32767。需要注意的是:這個值必須設置足夠大以保證從站有時間響應。我們這里配置的為1000,一般建議200ms以上。
Done:完成位;初始化完成,此位會自動置1。
Error:錯誤代碼;初始化錯誤代碼(只有在Done位為1時有效):0=無錯誤;1=校驗選擇非法;2=波特率選擇非法;3=超時無效;4=模式選擇非法;9=端口無效;10=信號板端口1缺失或未組態;
接著我們調用一個Modbus RTU主站讀寫子程序MBUS_MSG,如圖所示:
MBUS_MSG重要參數意義講解:
EN:使能開關;同一時刻只能有一個讀寫功能(即MBUS_MSG)使能注意:建議每一個讀寫功能(即MBUS_MSG)都用上一個MBUS_MSG指令的Done完成位來激活,以保證所有讀寫指令循環進行。
First:讀寫請求位;每一個新的讀寫請求必須使用脈沖觸發。
Slave:從站地址:可選擇的范圍1-247,此參數應該配置為與MA01-AACX2220的modbus地址配置為一致,此處我們配置的地址為1。
RW:讀寫請求;0=讀,1=寫。注意:1.數字量輸出和保持寄存器支持讀和寫功能2.數字量輸入和模擬量輸入只支持讀功能;
Addr:讀寫從站的數據地址;
選擇讀寫的數據類型:
00001至0xxxx-數字量輸出→對應MA01-AACX2220設備IO的DO點位
10001至1xxxx-數字量輸入→對應MA01-AACX2220設備IO的DI點位
30001至3xxxx-模擬量輸入→對應MA01-AACX2220設備IO的AI點位
40001至4xxxx-保持寄存器→一般對應,設備IO的AO點位,MA01-AACX2220無AO點位
Count:數據的個數;通訊數據的個數,如果這里設置為2,代表使用了2個寄存器
DI數字量輸入連接參數:
查看串口IO產品手冊可知,DI數字量輸入寄存器如下:
程序Addr處填寫10001(轉換為10進制后,寄存器起始地址需要+1操作),Count處填寫2。
PLC程序:
配置與MA01-AACX2220數據通訊的2個DI。
AI模擬量輸入連接參數:
程序Addr處填寫30101(轉換為10進制后,寄存器起始地址需要+1操作),Count處填寫2。
PLC程序:
配置與MA01-AACX2220數據通訊的2個AI。
DO數字量輸出連接參數:
查看MA01-AACX2220產品手冊可知,DO數字量輸出寄存器如下:
程序Addr處填寫1(轉換為10進制后,寄存器起始地址需要+1操作),Count處填寫2。
PLC程序:
配置與MA01-AACX2220數據通訊的2個DO。
五
串口IO MA01-AACX2220參數配置準備
可使用億佰特IO模塊配置測試工具配置MA01-AACX2220的基本參數和網絡參數,本次采用設備默認參數:Modbus地址:1,波特率:9600,數據位:8,校驗位:無,停止位:1;(如需修改為其他參數,可通過高級設置頁面進行操作,或者查看手冊中的寄存器地址,直接操作寄存器,發送Modbus指令進行操作),如圖所示:
至此,我們已經成功地完成了對西門子PLC和串口IO MA01-AACX2220參數配置,為二者的Modbus RTU連接通訊做好了準備。
相關推薦
MA01-AACX2220是支持采集2路傳感器開關量輸入(DI)、2路傳感器模擬量輸入(AI),轉換為串口數據傳輸到組態軟件或PLC。通過串口下發指令控制2路繼電器開關輸出(DO),實現遠程采集控制功能的串口I/O聯網模塊(又稱“遠程IO模塊”)。
-
plc
+關注
關注
5010文章
13271瀏覽量
463057 -
西門子
+關注
關注
94文章
3034瀏覽量
115780 -
MODBUS
+關注
關注
28文章
1799瀏覽量
76952 -
RTU
+關注
關注
0文章
412瀏覽量
28668
發布評論請先 登錄
相關推薦
評論