重慶索利亞電氣設備有限公司
西門子PLC模塊6ES7223-1BL32-0XB0
西門子PLC模塊6ES7223-1BL32-0XB0
在工控領域,公司以精益求精的經營理念,從產品、方案到服務,致力于塑造一個“行業專家”品牌,以實現可持續的發展。
. 2 S7 1200 PLC與PAC3200通過MODBUS RTU通信的編程
1.MODBUS RTU 通信接口參數的編程
MB_COMM_LOAD 功能塊用于組態點對點 (PtP, Point-to-Point) CM 1241RS485 或 CM 1241 RS232 模塊上的端口,以進行 Modbus RTU 協議通信。
程序開始運行時,調用一次MB_COMM_LOAD功能塊,來實現對MODBUS RTU模塊
的初始化組態。
MB_COMM_LOAD執行一次的編程方式采用如下圖所示時鐘位M10.0來完成。
圖12:MB_COMM_LOAD執行一次的編程時鐘位的設置
MB_COMM_LOAD功能塊的編程如下圖所示。
圖13:MB_COMM_LOAD功能塊的編程
PORT:指的是通過哪個通信模塊進行MODBUS RTU通信。
BAUD:指的是和MODBUS子站進行通信的速率。
通信端口的波特率。取值范圍為300,600,1200,2400,4800,9600,19200,38400,57600,
76800,115200。
注意:儀表PAC3200的波特率的設置范圍:4800,9600,19200,38400。因此上S7-1200
的波特率的設置一定要和儀表PAC3200的波特率的設置相一致。
MB_DB:對 MB_MASTER 或 MB_SLAVE 指令所使用的背景數據塊的引用。 在用戶程序中放置
MB_SLAVE 或 MB_MASTER 后,DB標識符會出現在 MB_DB 功能框連接的助手下拉列表中。
如“MB_MASTER_DB”或“MB_SLAVE_DB”。
STATUS:端口狀態代碼。具體含義如下表所示。
表4: MB_COMM_LOAD組態端口的狀態代碼
2.MODBUS_MASTER功能塊的編程
MB_MASTER 功能塊允許程序作為Modbus 主站使用點對點 (PtP, Point-to-Point) CM 1241 RS485 或 CM 1241RS232 模塊上的端口進行通信。 可訪問一個或多個 Modbus 從站設備中的數據。
MB_MASTER功能塊的編程如下圖所示。
圖14:MB_MASTER功能塊的編程
REQ:數據發送請求信號。0-無請求。1-請求將數據傳送到MODBUS從站。
MB_ADR:通信對象MODBUS從站的地址。有效地址范圍為0-247。值 0 被保留用于將消息廣播到所有 Modbus 從站。 只有Modbus 功能代碼 05、06、15 和 16 是可用于廣播的功能代碼。
注意:此處MODBUS從站的地址一定要與儀表PAC3200 的MODBUS 地址相一致。
MODE:模式選擇。選擇范圍為:讀、寫、診斷。
DATA_ADDR:從站中的起始地址: 要在 Modbus 從站中訪問的數據的起始地址。
特別注意的是:由于儀表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通信功能則是通過功能碼來實現的,如下表所示。