1200可以读取modbus tcp_S7-1200 作 MODBUS TCP服务器
S7-1200 Modbus TCP 通信指令塊
STEP 7 V13 SP1 軟件版本中的Modbus TCP庫指令目前最新的版本已升至V4.0,該版本的使用需要具備以下兩個條件:
1. 軟件版本: STEP 7 V13 SP1及其以上
2. 固件版本: S7-1200 CPU 的固件版本V4.1
圖1. Modbus TCP V4.0 版本指令塊
S7-1200 Modbus TCP 實驗環境
下面以兩臺S7-1200之間進行Modbus TCP 通信為例,詳細闡述客戶端與服務器側如何編程及通信的過程。表格列出了具體的實驗環境:
表1. Modbus TCP 通信的實驗環境
表2. Modbus TCP 通信雙方的基本配置
硬件標識符是在“設備組態”中,雙擊 PROFINET 接口,然后在“屬性”中的“硬件標識符”中查看。
圖2. S7-1200設備的PROFINET接口硬件標識符
S7-1200 Modbus TCP 服務器編程
“MB_SERVER”指令將處理 Modbus TCP 客戶端的連接請求、接收并處理 Modbus 請求并發送響應。
1. 在“ 程序塊-> OB 1"中調用“MB_SERVER”指令塊,然后會生成相應的背景DB塊,點擊確定,如圖3所示。
圖3. 調用MB_SERVER指令塊
該功能塊的各個引腳定義如下:
表3. MB_SERVER 各個引腳定義說明
2. CONNECT 引腳的指針類型
第一步,先創建一個新的全局數據塊 DB2,如圖4所示:
圖4. 創建全局數據塊
第二步,雙擊打開新生成的 DB2 數據塊,定義變量名稱為“ss",數據類型為“TCON_IP_v4”(可以將 TCON_IP_v4 拷貝到該對話框中),然后點擊“回車”按鍵。該數據類型結構創建完畢。如圖5所示:
圖5. 創建 MB_SERVER 中的 TCP 連接結構的數據類型
各個引腳定義說明如下:
表4. TCON_IP_v4 數據結構的引腳定義
客戶端側的IP地址為192.168.0.6,端口號為0,所以 MB_SERVER 服務器側該數據結構的各項值如圖6所示。
圖6. MB_SERVER 服務器側的 CONNECT 數據結構定義
3. S7-1200 服務器側 MB_SERVER 編程
調用MB_SERVER指令塊,實現被客戶端讀取2個保持寄存器的值,如圖7所示。
圖7. MB_SERVER 服務器側編程
注意:MB_HOLD_REG 指定的數據緩沖區可以設為 DB 塊或 M 存儲區地址。DB 塊可以為優化的數據塊,也可以為標準的數據塊結構。
S7-1200 MODBUS TCP 通信調試
S7-1200 MODBUS TCP 服務器側準備數據,用于客戶端讀訪問,如圖8所示。
圖8. 服務器側監控表
S7-1200 MODBUS TCP 客戶端側,給 MB_CLIENT 指令塊中 REQ 引腳一個上升沿,監控數據讀取成功。如圖9所示。
圖9. 客戶端側監控表
結束!!!
總結
以上是生活随笔為你收集整理的1200可以读取modbus tcp_S7-1200 作 MODBUS TCP服务器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 服装CAD计算机试衣的好处,浅议服装CA
- 下一篇: mysql中%3c%3e和=_Grafa