西門子CPU模塊6ES7211-1HD30-0XB0
v
. 地址的設(shè)置范圍:1-247。本例中設(shè)為8。
2. 波特率的設(shè)置范圍:4800,9600,19200,38400。本例中設(shè)為38400。
3. 設(shè)置外部通信的數(shù)據(jù)位、奇偶校驗位及停止位:
• 8E1=8 個數(shù)據(jù)位,奇偶校驗位為even, 1 個停止位
• 8O1=8 個數(shù)據(jù)位,奇偶校驗位為odd, 1 個停止位
• 8N2=8 個數(shù)據(jù)位,無奇偶校驗位, 2 個停止位
• 8N1=8 個數(shù)據(jù)位,無奇偶校驗位, 1 個停止位
本例中根據(jù)S7-1200 MODBUS MASTER 的參數(shù)設(shè)置為 8N1。
4. 協(xié)議的設(shè)置:可選項為:SEABUS,MODBUS RTU。
本例中設(shè)為MODBUS RTU。
5.響應(yīng)時間的設(shè)置:注意與波特率的設(shè)置相匹配,本例中設(shè)為10mS。
6.S71200 與PAC3200的MODBUS RTU通信原理與編程的實現(xiàn)
6. 1 S7 1200 PLC與PAC3200 通過MODBUS RTU 通信的基本原理
S7 1200提供了的MODBUS庫進行MODBUS通信,如下圖所示:
圖9: S7 1200提供的MODBUS庫
西門子PLC S7-1200的模塊CM1241 RS232和CM1241 RS485都可以實現(xiàn)MODBUS RTU的通信,本例中采用CM1241 RS485模塊來實現(xiàn)與儀表PAC3200的MODBUS RTU 的通信。
S7-1200的MODBUS RTU通信的基本原理是:
首先S7-1200 PLC的程序調(diào)用一次MODBUS 庫中的功能塊MB_COMM_LOAD來組態(tài)CM1241 RS232和CM1241 RS485模塊上的端口,對端口的參數(shù)進行配置。
其次調(diào)用MODBUS 庫中的功能塊MB_MASTER或者MB_SLAVE作為MODBUS 主站或者從站與支持MODBUS協(xié)議的設(shè)備進行通信。
S7-1200 PLC作為MODUBUS 主站 與PAC3200 進行MODBUS RTU 通信的控制原理如下圖所示:
圖10:S7-1200 PLC作為MODUBUS 主站 與PAC3200 進行MODBUS RTU 通信原理
S7-1200 PLC還可以作為MODBUS子站與作為MODBUS主站之間的PLC進行MODBUS RTU通信,其控制原理如下圖所示:
圖11:S7-1200 PLC作為MODBUS子站與作為MODBUS主站之間的PLC進行MODBUS RTU的通信原理
每個S7-1200 CPU多可帶3個通信模塊,而每個CM1241 RS485通信模塊理論上多支持247個MODBUS子站。但是在實際應(yīng)用時需要考慮CPU的性能以及輪循MODBUS子站的時間。
6. 2 S7 1200 PLC與PAC3200通過MODBUS RTU通信的編程
1.MODBUS RTU 通信接口參數(shù)的編程
MB_COMM_LOAD 功能塊用于組態(tài)點對點 (PtP, Point-to-Point) CM 1241RS485 或 CM 1241 RS232 模塊上的端口,以進行 Modbus RTU 協(xié)議通信。
程序開始運行時,調(diào)用一次MB_COMM_LOAD功能塊,來實現(xiàn)對MODBUS RTU模塊
的初始化組態(tài)。
MB_COMM_LOAD執(zhí)行一次的編程方式采用如下圖所示時鐘位M10.0來完成。
圖12:MB_COMM_LOAD執(zhí)行一次的編程時鐘位的設(shè)置
MB_COMM_LOAD功能塊的編程如下圖所示。
圖13:MB_COMM_LOAD功能塊的編程
PORT:指的是通過哪個通信模塊進行MODBUS RTU通信。
BAUD:指的是和MODBUS子站進行通信的速率。
通信端口的波特率。取值范圍為300,600,1200,2400,4800,9600,19200,38400,57600,
76800,115200。
注意:儀表PAC3200的波特率的設(shè)置范圍:4800,9600,19200,38400。因此上S7-1200
的波特率的設(shè)置一定要和儀表PAC3200的波特率的設(shè)置相*。
MB_DB:對 MB_MASTER 或 MB_SLAVE 指令所使用的背景數(shù)據(jù)塊的引用。 在用戶程序中放置
MB_SLAVE 或 MB_MASTER 后,DB標識符會出現(xiàn)在 MB_DB 功能框連接的助手下拉列表中。
如“MB_MASTER_DB”或“MB_SLAVE_DB”。
STATUS:端口狀態(tài)代碼。具體含義如下表所示。
表4: MB_COMM_LOAD組態(tài)端口的狀態(tài)代碼
2.MODBUS_MASTER功能塊的編程
MB_MASTER 功能塊允許程序作為Modbus 主站使用點對點 (PtP, Point-to-Point) CM 1241 RS485 或 CM 1241RS232 模塊上的端口進行通信。 可訪問一個或多個 Modbus 從站設(shè)備中的數(shù)據(jù)。
MB_MASTER功能塊的編程如下圖所示。
西門子CPU模塊6ES7211-1HD30-0XB0