貴州西門子中國(授權)一級代理 代理商 PLC
| 更新時間 2024-12-02 08:00:00 價格 請來電詢價 西門子變頻器 西門子觸摸屏 西門子伺服電機 西門子PLC 西門子直流調速器 西門子電纜 聯系電話 13922889745 聯系手機 18475208684 聯系人 向小姐 立即詢價 |
詳細介紹
Modbus TCP 常問問題MB_CLIENT 指令的背景數據塊中的 "MB_Unit_ID" 有什么功能?注意:Slave ID 是 ZKA-4488-ETH 的站地址,和客戶機中“MB_CLIENT” 中的“CONNECT_ID” 不是一個概念,實際上與客戶機中“MB_CLIENT”的背景數據塊中的 STAT 變量“MB_UNIT_ID”需要一致,在 1200 中該地址默認為 16#00FF,實際使用時可以改成 1, 即:與 ZKA-4488-ETH 配置文件中的站號保持一致,當 S7-1200 掛接了多個 ZKA-4488-ETH 時,該值可以按序編號,也可以都使用值 1,因為 modbus-tcp 依然可以根據指向的 IP地址發送數據:圖 11. MB_Unit_ID
S7-1200 MODBUS TCP 通信多請求處理怎么做? 單獨的客戶機連接需要遵循的規則1. 每個“MB_CLIENT”連接需要使用一個不同的背景數據塊;2. 每個“MB_CLIENT”連接必須指定一個服務器 IP 地址;3. 每個“MB_CLIENT”連接必須指定一個唯一的連接 ID;4. 是否需要唯一的 IP 端口號取決于服務器組態;連接 ID 和背景數據塊組合成對,對每個連接來說,組合對都是唯一的。對于多請求處理,有兩種方法:方法一:如果 TCP 連接充裕,可以建立多個不同的連接發送請求,即每個請求使用一個獨立的連接,調用獨立的“MB_CLIENT”功能塊,具體操作參考“Modbus TCP”部分。通過不同的連接發送多個請求,“MB_CLIENT”功能塊多次調用,但是需要使用不同的背景數據塊,不同的 ID 號和不同的端口號。方法二:通過公共的連接發送多個請求。通過公共的連接發送多個請求,“MB_CLIENT”功能塊多次調用,但是需要使用相同的背景數據塊,連接 ID 號,IP 地址和端口號。在任意時間,只能有一個 MB_CLIENT 請求處于激活狀態,在一個請求完成執行后,下一個請求再開始執行,輪循處理。在此,我們以方法二為例,介紹 S7-1200 如何通過分次請求獲取 ZKA-4488-ETH 內部寄存器的數據:1. S7-1200 的IP 地址 192.168.1.218,將系統存儲器字節設置為 MB1,如圖 1 所示,圖 2 所示。圖 1 IP 地址設置
圖 2 系統存儲器字節設置1、新建數據塊,訪問指向 ZKA-4488-ETH 的 IP 地址和端口號如圖 6 所示,新建 DB,添加變量類型為 TCON_IP_V4,設置 InterfaceId,ID,ActiveEstablished,RemoteAddress,RemotePort 等參數,具體含義參見鏈接。圖 6 設置連接變量如圖 7 所示,在 DB 中建立結構數組,用于輪詢控制位以及數據,其中元素 0 用于第一次讀取,元素 1用于第二次讀取。Init 用于初始標志位。圖 7 輪詢數據2、編寫輪循功能1)如圖 8 所示,用“FirstScan”在第一次掃描中將初始標志位置位。圖 8 初始化標志位
2)如圖 9 所示,程序段 2 中,第二步的完成位或者錯誤位去置位第一步的使能位復位第二步的使能位,同時復位第二步的完成位、錯誤位、觸發的沿變量。程序段 3 中,一般情況下是 EN 通過第一步的使能位使能,REQ 通過使能位的上升沿觸發, 設置模式、讀取數據地址、長度、存儲地址、連接數據、完成、錯誤位等。此外需要考慮第一次觸發輪詢,可以使用手動觸發,在這里使用初始化標志位實現指令的第一次使能,去進行 CPU 和調試軟件的 TCP 連接,使用 Connected 標志位觸發第一次的 REQ 觸發。圖 9 請求 1 觸發如圖 10 所示,程序段 4 中,第一步的完成位或者錯誤位去置位第二步的使能位復位第一步的使能位,同時復位第一步的完成位、錯誤位、觸發的沿變量,Zui后復位初始化標志位,確保第一個MB_CLIENT 不會一直接通。程序段 5 中,EN 通過第二步的使能位使能,REQ 通過使能位的上升沿觸發,設置模式、讀取數據地址、長度、存儲地址、連接數據、完成、錯誤位等。圖 10 請求 2 觸發5、通訊測試通訊結果如圖 11 所示。圖 11 測試結果
S7-1200 MODBUS TCP 通信多請求處理怎么做? 單獨的客戶機連接需要遵循的規則1. 每個“MB_CLIENT”連接需要使用一個不同的背景數據塊;2. 每個“MB_CLIENT”連接必須指定一個服務器 IP 地址;3. 每個“MB_CLIENT”連接必須指定一個唯一的連接 ID;4. 是否需要唯一的 IP 端口號取決于服務器組態;連接 ID 和背景數據塊組合成對,對每個連接來說,組合對都是唯一的。對于多請求處理,有兩種方法:方法一:如果 TCP 連接充裕,可以建立多個不同的連接發送請求,即每個請求使用一個獨立的連接,調用獨立的“MB_CLIENT”功能塊,具體操作參考“Modbus TCP”部分。通過不同的連接發送多個請求,“MB_CLIENT”功能塊多次調用,但是需要使用不同的背景數據塊,不同的 ID 號和不同的端口號。方法二:通過公共的連接發送多個請求。通過公共的連接發送多個請求,“MB_CLIENT”功能塊多次調用,但是需要使用相同的背景數據塊,連接 ID 號,IP 地址和端口號。在任意時間,只能有一個 MB_CLIENT 請求處于激活狀態,在一個請求完成執行后,下一個請求再開始執行,輪循處理。在此,我們以方法二為例,介紹 S7-1200 如何通過分次請求獲取 ZKA-4488-ETH 內部寄存器的數據:1. S7-1200 的IP 地址 192.168.1.218,將系統存儲器字節設置為 MB1,如圖 1 所示,圖 2 所示。圖 1 IP 地址設置
圖 2 系統存儲器字節設置1、新建數據塊,訪問指向 ZKA-4488-ETH 的 IP 地址和端口號如圖 6 所示,新建 DB,添加變量類型為 TCON_IP_V4,設置 InterfaceId,ID,ActiveEstablished,RemoteAddress,RemotePort 等參數,具體含義參見鏈接。圖 6 設置連接變量如圖 7 所示,在 DB 中建立結構數組,用于輪詢控制位以及數據,其中元素 0 用于第一次讀取,元素 1用于第二次讀取。Init 用于初始標志位。圖 7 輪詢數據2、編寫輪循功能1)如圖 8 所示,用“FirstScan”在第一次掃描中將初始標志位置位。圖 8 初始化標志位
2)如圖 9 所示,程序段 2 中,第二步的完成位或者錯誤位去置位第一步的使能位復位第二步的使能位,同時復位第二步的完成位、錯誤位、觸發的沿變量。程序段 3 中,一般情況下是 EN 通過第一步的使能位使能,REQ 通過使能位的上升沿觸發, 設置模式、讀取數據地址、長度、存儲地址、連接數據、完成、錯誤位等。此外需要考慮第一次觸發輪詢,可以使用手動觸發,在這里使用初始化標志位實現指令的第一次使能,去進行 CPU 和調試軟件的 TCP 連接,使用 Connected 標志位觸發第一次的 REQ 觸發。圖 9 請求 1 觸發如圖 10 所示,程序段 4 中,第一步的完成位或者錯誤位去置位第二步的使能位復位第一步的使能位,同時復位第一步的完成位、錯誤位、觸發的沿變量,Zui后復位初始化標志位,確保第一個MB_CLIENT 不會一直接通。程序段 5 中,EN 通過第二步的使能位使能,REQ 通過使能位的上升沿觸發,設置模式、讀取數據地址、長度、存儲地址、連接數據、完成、錯誤位等。圖 10 請求 2 觸發5、通訊測試通訊結果如圖 11 所示。圖 11 測試結果
相關產品
產品分類
聯系方式
- 電 話:13922889745
- 經理:向小姐
- 手 機:18475208684
- 微 信:18475208684