西門子S7-1200CPU1217C模塊控制器
緊湊的高性能CPU1217C,帶24 點集成式I/O,。可通過以下方式擴展:1個信號板 (SB) 或通信板 (CB),;8個信號模塊 (SM)
;多3個通信模塊 (CM),。
西門子S7-1200CPU1217C模塊控制器
. 地址的設(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功能塊的編程如下圖所示。