S7-1200 Modbus-TCP 通訊配置嚮導說明

01 相關使用說明:


(1) Modbus TCP 客戶端通過 PROFINET 連接進行通信。

通過“MB_CLIENT”指令,可以在客戶端和服務器之間建立連接、發送 Modbus 請求、接收響應並控制 Modbus TCP 客戶端的連接終端。

通過“MB_SERVER”指令將處理 Modbus TCP 客戶端的連接請求、接收並處理 Modbus 請求併發送響應。

(2) S7-1200 固件版本 V4.0 支持“MB_CLIENT”指令和最高 V3.1 版本的庫。S7-1200 固件版本 V4.1 及更高版本和 S7-1500,支持“MB_CLIENT”指令與“MB_SERVER”指令的所有庫版本。

使用該指令時,無需其它任何硬件模塊。

(3) 使用各客戶端連接時,請記住以下規則:

▀ 每個“MB_CLIENT”連接都必須使用唯一的背景數據塊。

▀ 對於每個“MB_CLIENT”連接,必須指定唯一的服務器 IP 地址。


02 MB_CLIENT指令中


MB_MODE、MB_DATA_ADDR和MB_DATA_LEN三個參數組合定義了當前Modbus消息中所用的功能代碼,如表


S7-1200 Modbus-TCP 通訊配置嚮導說明

03 準備工作

S7-1200 Modbus-TCP 通訊配置嚮導說明


(1) S7-1200作為服務器的話,端口號必須是502,作為客戶端端口號是0;

(2) 硬件標識符一般是64 (16#40)

S7-1200 Modbus-TCP 通訊配置嚮導說明

04 編程


(1)客戶端

S7-1200 Modbus-TCP 通訊配置嚮導說明

S7-1200 Modbus-TCP 通訊配置嚮導說明


CONNECT 引腳的指針類型

先創建一個新的全局數據塊DB, 雙擊打開新生成的DB塊,定義變量名稱為“aa",數據類型為“TCON_IP_v4”(可以將 TCON_IP_v4 拷貝到該對話框中),然後點擊“回車”按鍵。該數據類型結構創建完畢( ID號的意義不大在這裡,可以不考慮數值問題,主要是通過IP地址通訊)

S7-1200 Modbus-TCP 通訊配置嚮導說明

S7-1200 Modbus-TCP 通訊配置嚮導說明

注意: MB_DATA_PTR指定的數據緩衝區可以為DB塊或M存儲區地址中。DB塊可以為優化的數據塊,也可以為標準的數據塊結構。若為優化的數據塊結構,編程時需要以符號尋址的方式填寫該引腳;若為標準的數據塊結構(可以右鍵單擊DB塊,“屬性”中將“優化的塊訪問”前面的勾去掉,需要以絕對地址的方式填寫該引腳,這樣便於寫P#格式。

(2)服務器端

S7-1200 Modbus-TCP 通訊配置嚮導說明

S7-1200 Modbus-TCP 通訊配置嚮導說明

CONNECT 引腳的指針類型

先創建一個新的全局數據塊DB, 雙擊打開新生成的DB塊,定義變量名稱為“aa",數據類型為“TCON_IP_v4”(可以將 TCON_IP_v4 拷貝到該對話框中),然後點擊“回車”按鍵。該數據類型結構創建完畢( ID號的意義不大在這裡,可以不考慮數值問題,主要是通過IP地址通訊)

S7-1200 Modbus-TCP 通訊配置嚮導說明

S7-1200 Modbus-TCP 通訊配置嚮導說明


05 編程注意事項:


(1)MODBUS-TCP通訊需要用分時控制各MB_CLIENT功能塊,在同一時間只能有一個MB_CLIENT功能塊的DISCONNET處於OFF(即:建立連接),不然會出現通訊不正常。

(2)不同的MB_CLIENT功能塊寄存器地址範圍注意不要一樣(40001-49999),特別是讀寫時一定不能一樣,容易造成數據混亂,因為讀寫的40001-49999的寄存器地址是同一個區域。

(3)“MB_SERVER”功能塊在服務器側一般只調用1次。所有客戶端的讀寫數據全部包含在裡面,所以要注意分別。

(4)在修改過CONNECT 引腳的指針參數或端口參數後一般需要PLC重新啟動才有效。

06 實際案列程序:

(1)客戶端程序

S7-1200 Modbus-TCP 通訊配置嚮導說明

S7-1200 Modbus-TCP 通訊配置嚮導說明

S7-1200 Modbus-TCP 通訊配置嚮導說明

S7-1200 Modbus-TCP 通訊配置嚮導說明


(2)服務器端程序

S7-1200 Modbus-TCP 通訊配置嚮導說明

S7-1200 Modbus-TCP 通訊配置嚮導說明

(3)參數狀態說明

S7-1200 Modbus-TCP 通訊配置嚮導說明


↓↓↓領取學習資料


分享到:


相關文章: