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