三、Modbus通訊的使用(yòng)方法
(一)、地址映射的參數配置
通訊模塊内集成 ModbusTCP 通訊服務器, 因此 ModbusTCP 客戶機, 以及實現(xiàn) ModbusTCP 客戶機的高(gāo)級語言開(kāi)發的軟件等, 可以直接訪問S7 系列 PLC 的内部數據區(qū)。
打開(kāi)軟件設置适配器參數,如下(xià)圖:
1、modbus地址區(qū)中,如圖可知(zhī):數據區(qū)域有四種選擇分别爲:
• Coil——輸出線圈 (Q0.0-QX.X)
• InputCoil——輸入線圈 (I0.0-IX.X)
• InputRegisters——輸入寄存器 (MW0-MWx;AIW0-AIW62;AQW0-AQW62;SW0-swx;SMW0-SMWx;PW0-PWx)
• HolddingRegisters——保持寄存器(VW0-VWX;DB1.DBW0-DBx.DBWx)
2、起始地址的對(duì)應關系
如圖所示:起始地址爲0,終止地址爲125時(shí),
當起始地址爲0時(shí)則對(duì)應的modbus地址爲“x0001”,終止地址爲“x0126”。當起始地址爲1時(shí)則對(duì)應的modbus地址爲“x0002”,終止地址爲“x0127”。
1、S7PLC地址區(qū)中數據區(qū)域的對(duì)應設定。
• 輸出線圈Coil隻對(duì)應S7中輸出Q
• 輸入線圈InputCoil隻對(duì)應S7中的輸入I
• 輸入寄存器InputRegisters對(duì)應:
▲S7-200中
M區(qū) MW0到(dào)MW30
AI區(qū) AIW0到(dào)AIW62
AQ區(qū) AQW0到(dào)AQW62
S區(qū) SW0到(dào)SW30
SM區(qū) SMW0到(dào)SMWX
▲S7-300中
PW區(qū) PQW0到(dào)PQWX/PIW0到(dào)PIWx
MW區(qū) MW0D到(dào)MWX
• 保持寄存器HolddingRegisters對(duì)應:
▲ S7-200中
V區(qū) vw0到(dào)vwx
▲ S7-300中
DB區(qū) DB1.DBW0到(dào)DBx.DBWX
2、注意事(shì)項及使用(yòng)規則
① 對(duì)于200系列PLC而言,V區(qū)對(duì)應DB1,偏移地址以字節爲單位。如: DB1.DBW100則爲VW100。
② 對(duì)于字映射(3區(qū)和(hé)4區(qū)),必須以125個字爲單位,進行塊映射。
③ 對(duì)于位映射(0區(qū)和(hé)1區(qū)),必須以2000個位爲單位,進行塊映射。
④ 要考慮兩個映射塊之間的跨區(qū)問題,保證映射塊之間的大(dà)小(xiǎo),防止跨區(qū)。
⑤ 可采用(yòng)“自(zì)動分配映射地址”的方法,進行規避。
(二)舉例驗證
用(yòng)Mbpoll接口軟件測試讀取客戶機(NETS7)參數。
(1)讀取200系列PLC 各區(qū)數據(無需進行程序的編寫)
所需:CPU 124XPplc一台
适配器 NET-MPI 一個
網線 标準網線一根
硬件連接方式如下(xià)圖:
①讀取V區(qū)數據,vw100
适配器參數設置,讀取vw100開(kāi)始的125個字到(dào)modbus地址40001到(dào)40125。如下(xià)圖:
通尋驗證:
▲ 讀取從(cóng)站(zhàn)vw100數據
▲寫入數據到(dào)vw114以後地址中。
② 讀取M區(qū)數據,MW0
适配器參數設置,讀取MW0開(kāi)始的125個字到(dào)modbus地址30001到(dào)30125。注意:200中M區(qū)地址爲MW0--MW30,參數設置如下(xià)圖:
通尋驗證:
▲ 讀取從(cóng)站(zhàn)MW0-----MW30的數據
③讀取S區(qū)數據,SW0——sw30
适配器參數設置,如下(xià)圖
通尋驗證:
▲ 讀取從(cóng)站(zhàn)MW0-----MW30的數據
④讀取AI區(qū)數據,AIW0——AIW62
适配器參數設置,如下(xià)圖:
通尋驗證:
▲ 讀取從(cóng)站(zhàn)AIW0-----AIW10的數據
⑤讀取AI區(qū)數據,AQW0——AQW62
适配器參數設置,如下(xià)圖:
通尋驗證:
▲ 讀取從(cóng)站(zhàn)AQW0-----AQW10的數據
(2)讀取300系列PLC 各區(qū)數據(無需進行程序的編寫)
所需: CPU: UN314-2ptp 一台
适配器:net--mpi 一個
網線: 标準網線 一根
硬件連接,如下(xià)圖:
①讀取多個DB區(qū)數據
▲設置适配器參數
讀取DB1.DBW0起始地址數據125個到(dào)40001到(dào)40125
讀取DB2.DBW10起始地址數據170個到(dào)40130到(dào)40300
▲通訊驗證
讀取或寫入數據:DB1.DBW0---DB1.DBW10
▲通訊驗證
同時(shí)讀取或寫入到(dào)DB1、DB2區(qū)中。
DB1.DBW0---DB1.DBW10
DB2.DBW10---DB2.DBW20
②讀取M區(qū)數據
适配器參數設定,如下(xià)圖:
▲通訊驗證
讀取MW0--mw10數據到(dào)30001——30006
總結:
通過上(shàng)述試驗驗證,該适配器,較之前相比,功能(néng)強大(dà),靈活性高(gāo),可實現(xiàn)多區(qū)域數據的讀取與寫入,适應廣泛。
(完)