前文介紹了M31分布式IO模塊與西門子PLC設(shè)備Modbus TCP連接例程,本文接著介紹串口IO系列與西門子PLC S7-200smart Modbus RTU連接例程案例。
本案例主要講解串口IO系列設(shè)備(本次作為從機設(shè)備)與西門子PLC S7-200smart(以下簡稱西門子PLC,本次作為主機設(shè)備)Modbus RTU參數(shù)配置連接例程,本案例串口IO系列以MA01-AACX2220為例。
MA01-AACX2220串口IO設(shè)備一臺;
西門子PLC S7-200smart一臺;
24V電源兩個;
通訊電纜若干;
電腦一臺;
STEP 7-MicroWIN SMART軟件,可自行在西門子官網(wǎng)下載;
億佰特IO模塊配置測試工具,可在億佰特官網(wǎng)相對應(yīng)位置下載:http://twohalves.cn;
1.1、西門子在 STEP 7-Micro/WIN SMART 中已經(jīng)集成了 Modbus RTU 主站協(xié)議庫(西門子標(biāo)準(zhǔn)庫指令)。使用 Modbus RTU 主站指令庫,可以讀寫 Modbus RTU 從站的數(shù)字量、模擬量 I/O 以及保持寄存器。
1.2、Modbus RTU 主站指令庫可以同時應(yīng)用于CPU 集成的 RS485接口和 CMO1 信號板,此時集成的RS 485口使用Modbus RTU,Master(v2.0)中指令,CM01信號板使用Modbus RTU Master2(v2.0)中指令,如果只有一個主站則不做區(qū)分,所以我們這里先選擇MBUS_CTRL,如圖所示:
1.3、MBUS_CTRL各參數(shù)意義講解:
EN:使能開關(guān);必須保證每一掃描周期都被使能(使用 SM0.0)
Mode:模式;為1時,使能 Modbus 協(xié)議功能;為0時恢復(fù)為系統(tǒng)PPI協(xié)議,使用modbus協(xié)議是,此參數(shù)應(yīng)配置為1。
Baud:波特率;支持的通訊波特率為1200,2400,4800,9600,19200,38400,57600,115200;此串口波特率參數(shù)應(yīng)該配置為與MA01-AACX2220的波特率配置為一致,此處我們配置的波特率9600。
Parity:校驗方式選擇;0=無校驗,1=奇較驗,2=偶較驗;此參數(shù)應(yīng)該配置為與MA01-AACX2220的校驗方式配置為一致,此處我們配置的校驗方式為0(無校驗)。
Port:端口號選擇;0 = CPU 集成的 RS 485 通訊口 ,1 = 可選 CM 01 信號板 ;此處我們配置的為0,代表PLC集成的RS485通訊口。
Timeout:通訊超時設(shè)置;主站等待從站響應(yīng)的時間,以毫秒為單位,典型的設(shè)置值為 1000 毫秒(1 秒),允許設(shè)置的范圍為 1 - 32767。需要注意的是: 這個值必須設(shè)置足夠大以保證從站有時間響應(yīng)。我們這里配置的為1000,一般建議200ms以上。
Done:完成位;初始化完成,此位會自動置1。
Error:錯誤代碼;初始化錯誤代碼(只有在 Done 位為1時有效):0= 無錯誤;1= 校驗選擇非法;2= 波特率選擇非法;3= 超時無效;4= 模式選擇非法;9= 端口無效;10= 信號板端口 1 缺失或未組態(tài);
1.4、接著我們調(diào)用一個Modbus RTU 主站讀寫子程序MBUS_MSG,如圖所示:
1.5、MBUS_MSG重要參數(shù)意義講解:
EN:使能開關(guān);同一時刻只能有一個讀寫功能(即 MBUS_MSG)使能 注意:建議每一個讀寫功能(即 MBUS_MSG)都用上一個 MBUS_MSG 指令的 Done 完成位來激活,以保證所有讀寫指令循環(huán)進行
First:讀寫請求位;每一個新的讀寫請求必須使用脈沖觸發(fā)
Slave:從站地址:可選擇的范圍 1 - 247,此參數(shù)應(yīng)該配置為與MA01-AACX2220的modbus地址配置為一致,此處我們配置的地址為1
RW:讀寫請求;0 = 讀, 1 = 寫 注意:1. 數(shù)字量輸出和保持寄存器支持讀和寫功能2. 數(shù)字量輸入和模擬量輸入只支持讀功能;
Addr:讀寫從站的數(shù)據(jù)地址;
選擇讀寫的數(shù)據(jù)類型:
00001 至 0xxxx - 數(shù)字量輸出→對應(yīng)MA01-AACX2220設(shè)備IO的DO點位
10001 至 1xxxx - 數(shù)字量輸入→對應(yīng)MA01-AACX2220設(shè)備IO的DI點位
30001 至 3xxxx - 模擬量輸入→對應(yīng)MA01-AACX2220設(shè)備IO的AI點位
40001 至 4xxxx - 保持寄存器→一般對應(yīng),設(shè)備IO的AO點位,MA01-AACX2220無AO點位
Count:數(shù)據(jù)的個數(shù);通訊數(shù)據(jù)的個數(shù),如果這里設(shè)置為2,代表使用了2個寄存器
查看串口IO產(chǎn)品手冊可知,DI數(shù)字量輸入寄存器如下:
程序Addr處填寫10001(轉(zhuǎn)換為10進制后,寄存器起始地址需要+1操作),Count處填寫2。
PLC程序:
配置與MA01-AACX2220數(shù)據(jù)通訊的2個DI。
程序Addr處填寫30101(轉(zhuǎn)換為10進制后,寄存器起始地址需要+1操作),Count處填寫2。
PLC程序:
配置與MA01-AACX2220數(shù)據(jù)通訊的2個AI
DO數(shù)字量輸出連接參數(shù):
查看MA01-AACX2220產(chǎn)品手冊可知,DO數(shù)字量輸出寄存器如下:
程序Addr處填寫1(轉(zhuǎn)換為10進制后,寄存器起始地址需要+1操作),Count處填寫2。
PLC程序:
配置與MA01-AACX2220數(shù)據(jù)通訊的2個DO。
可使用億佰特IO模塊配置測試工具配置MA01-AACX2220的基本參數(shù)和網(wǎng)絡(luò)參數(shù),本次采用設(shè)備默認(rèn)參數(shù):Modbus地址:1,波特率:9600,數(shù)據(jù)位:8,校驗位:無,停止位:1;(如需修改為其他參數(shù),可通過高級設(shè)置頁面進行操作,或者查看手冊中的寄存器地址,直接操作寄存器,發(fā)送modbus 指令進行操作),如圖所示:
此刻,我們已經(jīng)成功地完成了對西門子PLC和串口IO MA01-AACX2220參數(shù)配置,為二者的Modbus RTU連接通訊做好了準(zhǔn)備。
今天的分享就到這里啦,EBYTE每一天都致力于更好的助力物聯(lián)化、智能化、自動化的發(fā)展,提升資源利用率,更多串口服務(wù)器、數(shù)傳電臺、lora模塊等無線數(shù)傳模塊產(chǎn)品更多資料,感興趣的小伙伴可以登錄我們的億佰特官網(wǎng)進行了解,也可以直接撥打400電話咨詢技術(shù)專員!
相關(guān)閱讀:
3、基于數(shù)傳電臺的組態(tài)王控制實現(xiàn)遠程采集控制器PLC
5、ME31-XXXA0006無線IO模塊應(yīng)用以及上位機配置教程
7 X 24 銷售服務(wù)熱線
4000-330-990深圳辦事處柯經(jīng)理:18218726658 杭州辦事處戴經(jīng)理:17512568697
常州辦事處崔經(jīng)理:15906110783 南京辦事處葛經(jīng)理:17626012283
業(yè)務(wù)郵箱:support@cdebyte.com
全國銷售投訴電話:19934352316
地址:四川省成都市高新西區(qū)西區(qū)大道199號B5棟(前臺座機:028-61543675)
?? 成都億佰特電子科技有限公司【版權(quán)所有】 蜀ICP備13019384號-3