公司新聞
西門子S7-1200 PLC四種以太網通信應用實例之三:Modbus TCP通信應用實例
發布時間: 2024-09-06 11:14 更新時間: 2024-11-22 08:00
觀看西門子S7-1200 PLC四種以太網通信應用實例之三:Modbus TCP通信應用實例視頻
一.功能概述
二.指令說
圖1 Modbus TCP指令
Modbus TCP通信主要包括兩個指令,“MB_CLIENT”指令和“MB_SERVER”,每個指令塊拖拽到程序工作區中將自動分配背景數據塊,背景數據塊的名稱可自行修改,背景數據塊的編號可以手動或自動分配。1.“MB_CLIENT”指令
(1) 指令介紹
“MB_CLIENT”指令作為 Modbus TCP 客戶端指令,可以在客戶端和服務器之間建立連接、并發送 Modbus 請求、接收響應和控制服務器斷開,指令如圖2所示。圖2 MB_CLIENT指令
(2) 指令參數
該指令的輸入輸出引腳參數的意義如表1所示。表1 “MB_CLIENT”指令引腳參數
2.“MB_SERVER”指令
(1) 指令介紹
“MB_SERVER”指令作為 Modbus TCP 服務器通過以太網連接進行通信。“MB_SERVER”指令將處理 Modbus TCP 客戶端的連接請求,并接收處理 Modbus 請求和發送響應,指令如圖3所示。圖3 MB_SERVER指令
(2) 指令參數
該指令的輸入輸出引腳參數的意義如表2所示。表2 “MB_SERVER”指令引腳參數
三.實施內容
1.實例名稱
2.實例描述
3.硬件組成
四.實例實施
1.客戶端程序編寫
第一步:新建項目及組態S7-1200 CPU
打開博途軟件,在Portal視圖中,單擊的“創建新項目”按鈕,并輸入項目名稱(Modbus TCP通信應用實例),路徑和作者等信息,然后單擊“創建”即可生成新項目。進入項目視圖,在左側的項目樹中,單擊“添加新設備”,隨即彈出添加新設備對話框,如圖4所示。在此對話框中選擇的CPU型號和版本號(必須與實際設備相匹配),然后單擊“確定”按鈕。圖4 添加新設備對話框
第二步:設置CPU屬性
在項目樹中,選擇“PLC_1[CPU 1214C DC/DC/DC]”,雙擊“設備組態”,在“設備視圖”的工作區中,選中PLC_1,在其巡視窗口中的“屬性”→“常規”的選項卡中,選擇“PROFINET接口[X1]”→“以太網地址”,修改CPU以太網IP地址如圖5所示。圖5 以太網IP地址
圖6 系統和時鐘存儲器
第三步:創建PLC變量表
在項目樹中,選擇“PLC_1[CPU 1214C DC/DC/DC]”→“PLC變量”,雙擊“添加新變量表”,并命名變量表為“PLC變量表”,在“PLC變量表”中新建變量如圖7所示。圖7 PLC變量表
第四步:創建發送數據區
(1) 在項目樹中,選擇“PLC_1[CPU 1214C DC/DC/DC]”→“程序塊”→“添加新塊”,選擇“數據塊(DB)”創建DB塊,數據塊名稱為“數據塊_1”,手動修改數據塊編號為10,單擊“確認”按鈕,如圖8所示。圖8 創建數據塊
圖9 取消優化塊的訪問
圖10 發送數據區
第五步:創建MB_CLIENT指令的連接描述DB塊
在項目樹中,選擇“PLC_1[CPU 1214C DC/DC/DC]”→“程序塊”→“添加新塊”,選擇“數據塊(DB)”創建 DB 塊,數據塊名稱為“數據塊_2”,手動修改數據塊編號為11 ,單擊 “確定”按鈕。添加變量“通信設置”,數據類型為TCON_IP_v4,如圖11所示。圖11 通信數據設置
主要參數說明如下:
① InterfaceID:在變量表的默認變量表中可以找到PROFINET接口的硬件標識符;② ID:輸入一個介于 1 到 4095 之間的連接 ID 編號;③ ConnectionType:對于 TCP/IP,使用默認值 16#0B(十進制數 = 11);④ ActiveEstablished:該值必須為1或TRUE。主動連接,由 MB_CLIENT啟動Modbus TCP通信;⑤ RemoteAddress:目標Modbus TCP服務器的IP地址;⑥ RemotePort:默認值為 502。該編號為 MB_CLIENT試圖連接和通信的Modbus服務器的IP端口號;⑦ LocalPort:對于 MB_CLIENT 連接,該值必須為 0。第六步:編寫OB1主程序
編寫“MB_CLIENT”指令程序段部分,如圖12所示。當M0.5上升沿有效時,客戶端將MB_DATA_PTR數據寫入服務器的Modbus地址40001~40005。圖12 MB_CLIENT指令
主要參數說明如下:
① REQ:在上升沿時執行該指令;② DISCONNECT:0表示建立連接;③ MODE:1表示寫操作;④ MB_DATA_ADDR:從站中的起始地址;⑤ MB_DATA_LEN:寫的數據長度;⑥ MB_DATA_PTR:寫的數據地址;⑦ CONNET:引用包含系統數據類型為“TCON_IP_v4”的連接參數的數據塊。2.服務端程序編寫
第一步:組態S7-1200 CPU
在左側的項目樹中,單擊“添加新設備”,隨即彈出添加新設備對話框,如圖13所示。在此對話框中選擇的CPU型號和版本號(必須與實際設備相匹配),然后單擊 “確定”按鈕。圖13 添加新設備對話框
第二步:設置CPU屬性
在項目樹中,選擇“PLC_2[CPU 1214C DC/DC/DC]”,雙擊“設備組態”,在“設備視圖”的工作區中,選中PLC_2,在其巡視窗口中的“屬性”→ “常規”的選項卡中,選擇“PROFINET接口[X1]”→“以太網地址”,修改CPU以太網地址如圖14所示。圖14 以太網IP地址
第三步:創建PLC變量表
在項目樹中,選擇“PLC_2[CPU 1214C DC/DC/DC]”→“PLC變量”,雙擊“添加新變量表”,并命名變量表為“PLC變量表”,在“PLC變量表”中新建變量如圖15所示。圖15 PLC變量表
第四步:創建數據接收區
(1) 在項目樹中,選擇“PLC_2[CPU 1214C DC/DC/DC]”→“程序塊”→“添加新塊”,選擇“數據塊(DB)”創建DB塊,數據塊名稱為“數據塊_1”,手動修改數據塊編號為100,單擊“確認”按鈕,如圖16所示。圖16 創建數據塊
圖17 取消優化塊的訪問
圖18 接收數據區
第五步:創建MB_CLIENT指令的CONNECT引腳的連接描述指針DB塊
在項目樹中,選擇“PLC_2[CPU 1214C DC/DC/DC]”→“程序塊”,雙擊“添加新塊”, 選擇“數據塊(DB)”創建 DB 塊,數據塊名稱為“數據塊_2”,手動修改數據塊編號為101 ,單擊“確定”按鈕。添加變量“通信設置”,數據類型為TCON_IP_v4,如圖19所示。圖19 通信數據設置
主要參數說明如下:
① InterfaceID:在變量表的默認變量表中可以找到PROFINET接口的硬件標識符;② ID:輸入一個介于 1 到 4095 之間的連接 ID 編號;③ ConnectionType:對于 TCP/IP,使用默認值 16#0B(十進制數 = 11);④ ActiveEstablished:該值必須為0或 FALSE。被動連接,MB_SERVER正在等待Modbus客戶端的通信請求;⑤ RemoteAddress:目標Modbus TCP客戶端的IP地址;⑥ RemotePort:對于MB_SERVER 連接,該值必須為0;⑦ LocalPort:默認值為 502。該編號為MB_SERVER 試圖連接和通信的Modbus客戶端的IP端口號。第六步:編寫OB1主程序
編寫“MB_SERVER”指令程序段部分,如圖20所示。服務端將Modbus地址40001~40005的數據寫入DB100.DBW0-DB100.DBW5中。圖20 MB_SERVER指令
主要參數說明如下:
① DISCONNECT:0表示建立連接;② MB_HOLD_REG:Modbus保持寄存器40001對應的地址;③ CONNET:引用包含系統數據類型為“TCON_IP_v4”的連接參數的數據塊。3.程序測試
圖21 PLC_1監控表
圖22 PLC_2監控表
五.應用經驗總結
其他新聞
- 西門子S7-1200PLC四種以太網通信應用實例之一:PROFINET通信應用實例 2024-11-22
- 西門子PLC通信200smart與1200PLCS7通信 2024-11-22
- 西門子PLC怎么實現編碼器的定位功能 2024-11-22
- 西門子S7-1200之間以太網通信 2024-11-22
- 西門子S7-1200與G120變頻器的Modbus RTU通訊 2024-11-22
- 西門子PLC模塊數據的學習、與、或、異或的應用 2024-11-22
- 西門子模塊功能指令的學習 2024-11-22
- 西門子軟件了解與基本的邏輯指令 2024-11-22
- 西門子PLC硬件組態及各模塊的功能 2024-11-22
- 伺服電機的三種控制方式之速度模式 2024-11-22
- 伺服電機的三種控制方式之位置控制 2024-11-22
- 伺服電機的三種控制方式之轉矩控制 2024-11-22
- 詳解西門子PLC串口通訊原理 2024-11-22
- 西門子高速計數器工作模式 2024-11-22
- 西門子高速計數器尋址 2024-11-22
產品分類
聯系方式
- 電 話:13510737515
- 聯系人:董海波
- 手 機:13185520415
- 微 信:13185520415