STEP 7 V13 SP1 軟件版本中的Modbus TCP庫指令目前Zui新的版本已升至V4.0,該版本的使用需要具備以下兩個條件:
1. 軟件版本:STEP 7 V13 SP1及其以上
2. 固件版本:S7-1200 CPU 的固件版本V4.1及其以上
圖1. Modbus TCP V4.0 版本指令塊
下面以兩臺S7-1200之間進行Modbus TCP 通信為例,詳細闡述客戶端與服務器側如何編程及通信的過程。表格列出了具體的實驗環境:
操作系統 | WIN7 SP1 專業版 64位 |
編程軟件 | STEP 7 Professional V13 SP1 Update 5 |
系統硬件 | 1.CPU1215C 6ES7215-1AG40-0XB0 V4.1 2.CPU1212C 6ES7212-1AE40-0XB0 V4.1 3.CSM1277 6GK7277-1aa10-0aa0 |
表1. Modbus TCP 通信的實驗環境
CPU類型 | IP地址 | 端口號 | 硬件標識符 | |
客戶端 | CPU 1212C | 192.168.0.6 | 0 | 64 |
服務器 | CPU 1215C | 192.168.0.4 | 502 | 64 |
表2. Modbus TCP 通信雙方的基本配置
硬件標識符是在“設備組態”中,雙擊 PROFINET 接口,然后在“屬性”中的“硬件標識符”中查看。
圖2. S7-1200設備的PROFINET接口硬件標識符
“MB_SERVER”指令將處理 Modbus TCP 客戶端的連接請求、接收并處理 Modbus 請求并發送響應。
1. 在“ 程序塊-> OB 1"中調用“MB_SERVER”指令塊,然后會生成相應的背景DB塊,點擊確定,如圖3所示。
圖3. 調用MB_SERVER指令塊
該功能塊的各個引腳定義如下:
DISCONNET | 為0代表被動建立與客戶端的通信連接;為1代表終止連接。 |
MB_HOLD_REG | 指向 Modbus 保持寄存器的指針。 |
CONNECT | 指向連接描述結構的指針。TCON_IP_v4(S7-1200) |
NDR | 為0代表無數據;為1代表從 Modbus 客戶端寫入新的數據。 |
DR | 為0代表無讀取的數據;為1代表從 Modbus 客戶端讀取的數據 |
ERROR | 錯誤位:0:無錯誤;1:出現錯誤,錯誤原因查看STATUS。 |
STATUS | 指令的詳細狀態信息。 |
表3. MB_SERVER 各個引腳定義說明
2. CONNECT 引腳的指針類型
第一步,先創建一個新的全局數據塊 DB2,如圖4所示:
圖4. 創建全局數據塊
第二步,雙擊打開新生成的 DB2 數據塊,定義變量名稱為“ss",數據類型為“TCON_IP_v4”(可以將 TCON_IP_v4 拷貝到該對話框中),然后點擊“回車”按鍵。該數據類型結構創建完畢。如圖5所示:
圖5. 創建 MB_SERVER 中的 TCP 連接結構的數據類型
各個引腳定義說明如下:
InterfaceId | 硬件標識符。(設備組態中查詢) |
ID | 連接ID,取值范圍1~4095 |
Connection Type | 連接類型。TCP連接默認為:16#0B |
ActiveEstablished | 建立連接。主動為1(客戶端),被動為0(服務器)。 |
ADDR | 服務器側的IP地址 |
RemotePort | 遠程端口號 |
LocalPort | 本地端口號 |
表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. 客戶端側監控表
- 基于MPI接口的S7通訊 2024-12-27
- S7-300和S7-200進行MPI通信(STEP7) 2024-12-27
- PROFINET上多個CPU站之間交換數據(智能設備) 2024-12-27
- 西門子Profibus DP接線規范 2024-12-27
- 西門子PLC工業以太網接頭接線 2024-12-27
- 西門子S7-300模塊?擴展IO接線 2024-12-27
- 西門子PLC模塊31xC IO接線 2024-12-27
- CP341作從站(Slave)的Modbus RTU通訊(STEP7) 2024-12-27
- CP341作主站(Master)的Modbus RTU通訊(STEP7) 2024-12-27
- S7-300通過PN接口S7單邊通信(STEP7) 2024-12-27
- 進口設備被遠程鎖機,生產陷入停頓!給我們敲響了警鐘 2024-12-27
- 倍福EtherCAT和西門子Profinet到底誰更強 2024-12-27
- ModbusTCP協議詳解 2024-12-27
- S7-200 和 SMART 密碼清除方法 2024-12-27
- 一文了解常用PLC調試步驟 2024-12-27
聯系方式
- 電 話:18126392341
- 聯系人:梁濤
- 手 機:15267534595
- 微 信:15267534595