重慶索利亞電氣設(shè)備有限公司
西門子PLC模塊6ES7223-1BL32-0XB0
西門子PLC模塊6ES7223-1BL32-0XB0
在工控領(lǐng)域,公司以精益求精的經(jīng)營理念,從產(chǎn)品、方案到服務(wù),致力于塑造一個(gè)“行業(yè)專家”品牌,以實(shí)現(xiàn)可持續(xù)的發(fā)展。
. 2 S7 1200 PLC與PAC3200通過MODBUS RTU通信的編程
1.MODBUS RTU 通信接口參數(shù)的編程
MB_COMM_LOAD 功能塊用于組態(tài)點(diǎn)對(duì)點(diǎn) (PtP, Point-to-Point) CM 1241RS485 或 CM 1241 RS232 模塊上的端口,以進(jìn)行 Modbus RTU 協(xié)議通信。
程序開始運(yùn)行時(shí),調(diào)用一次MB_COMM_LOAD功能塊,來實(shí)現(xiàn)對(duì)MODBUS RTU模塊
的初始化組態(tài)。
MB_COMM_LOAD執(zhí)行一次的編程方式采用如下圖所示時(shí)鐘位M10.0來完成。
圖12:MB_COMM_LOAD執(zhí)行一次的編程時(shí)鐘位的設(shè)置
MB_COMM_LOAD功能塊的編程如下圖所示。
圖13:MB_COMM_LOAD功能塊的編程
PORT:指的是通過哪個(gè)通信模塊進(jìn)行MODBUS RTU通信。
BAUD:指的是和MODBUS子站進(jìn)行通信的速率。
通信端口的波特率。取值范圍為300,600,1200,2400,4800,9600,19200,38400,57600,
76800,115200。
注意:儀表PAC3200的波特率的設(shè)置范圍:4800,9600,19200,38400。因此上S7-1200
的波特率的設(shè)置一定要和儀表PAC3200的波特率的設(shè)置相一致。
MB_DB:對(duì) MB_MASTER 或 MB_SLAVE 指令所使用的背景數(shù)據(jù)塊的引用。 在用戶程序中放置
MB_SLAVE 或 MB_MASTER 后,DB標(biāo)識(shí)符會(huì)出現(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 主站使用點(diǎn)對(duì)點(diǎn) (PtP, Point-to-Point) CM 1241 RS485 或 CM 1241RS232 模塊上的端口進(jìn)行通信。 可訪問一個(gè)或多個(gè) Modbus 從站設(shè)備中的數(shù)據(jù)。
MB_MASTER功能塊的編程如下圖所示。
圖14:MB_MASTER功能塊的編程
REQ:數(shù)據(jù)發(fā)送請(qǐng)求信號(hào)。0-無請(qǐng)求。1-請(qǐng)求將數(shù)據(jù)傳送到MODBUS從站。
MB_ADR:通信對(duì)象MODBUS從站的地址。有效地址范圍為0-247。值 0 被保留用于將消息廣播到所有 Modbus 從站。 只有Modbus 功能代碼 05、06、15 和 16 是可用于廣播的功能代碼。
注意:此處MODBUS從站的地址一定要與儀表PAC3200 的MODBUS 地址相一致。
MODE:模式選擇。選擇范圍為:讀、寫、診斷。
DATA_ADDR:從站中的起始地址: 要在 Modbus 從站中訪問的數(shù)據(jù)的起始地址。
特別注意的是:由于儀表PAC3200的寄存器與S7-1200 MODBUS RTU寄存器的不一致
性,讀取儀表PAC3200的DATA_ADDR的地址必須從40002開始。
注意: S7-1200的MODBUS RTU通信功能是通過使用“DATA_ADDR”和“MODE”的組合
來選擇MODBUS功能碼,如下表所示。
表5: S7-1200的MODBUS RTU通信功能碼
而儀表PAC3200 MODBUS RTU通信功能則是通過功能碼來實(shí)現(xiàn)的,如下表所示。