發(fā)布時(shí)間:2019-08-24 來(lái)源:眾智博遠
建立與 Modbus TCP 的通信
使用指令 MB_CLIENT 或 MB_SERVER,可以在程序編輯器中分配參數。
MB_CLIENT 指令作為 Modbus TCP 客戶(hù)端通過(guò) TCP 連接進(jìn)行通信。通過(guò)該指令,可以在客戶(hù)端和服務(wù)器之間建立連接、向服務(wù)器發(fā)送 Modbus 請求并接收相應的 Modbus 響應。通過(guò)該指令,還可控制 TCP 連接的設置。
MB_SERVER 指令作為 Modbus TCP 服務(wù)器通過(guò) TCP 連接進(jìn)行通信。該指令將處理 Modbus 客戶(hù)端的連接請求、接收并處理 Modbus 請求并發(fā)送響應。也可用于控制 TCP 連接的設置。
要求:客戶(hù)端可通過(guò)網(wǎng)絡(luò )中的 IP 通信訪(fǎng)問(wèn)服務(wù)器。
在 STEP 7 的“設備與網(wǎng)絡(luò )”(Devices & Networks) 編輯器的網(wǎng)絡(luò )視圖中,組態(tài)帶有 CPU 的 S7?1500 自動(dòng)化系統。
在項目樹(shù)中,選擇“程序塊”(Program blocks) 文件夾。雙擊該文件夾,打開(kāi)文件夾中的 OB1。將打開(kāi)程序編輯器。
從“指令”(Instructions) 任務(wù)卡中“通信”(Communication) 區域內的“其它”(Other) 中的“MODBUS TCP”,選擇所需的指令(如 MB_CLIENT)并拖放到 OB1 的程序段中。
分配 MB_CLIENT 或 MB_SERVER 指令的參數。請遵守以下規則:
須為每個(gè) MB_CLIENT 連接指定 IPv4 服務(wù)器地址。
每個(gè) MB_CLIENT 或 MB_SERVER 連接都須使用一個(gè)數據結構為 TCON_IP_v4 或 TCON_QDN 的背景數據塊。
每個(gè)連接都需要一個(gè)的連接ID。而且該連接 ID 與背景數據塊組合成對,對于每個(gè)連接而言。
圖片: MB_CLIENT
圖片: MB_SERVER
將硬件配置和用戶(hù)程序下載到 CPU。
如果將 Modbus TCP 服務(wù)器用作連接 Modbus RTU 協(xié)議的網(wǎng)關(guān),則使用靜態(tài)參數 MB_UNIT_ID 對串行網(wǎng)絡(luò )中的從站設備進(jìn)行尋址。MB_UNIT_ID 參數與 Modbus RTU 協(xié)議中的從站地址字段相對應。在此情況下,MB_UNIT_ID 參數會(huì )將請求轉發(fā)到正確的 Modbus RTU 從站地址。