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 通信為例,詳細闡述客戶端與服務(wù)器側(cè)如何編程及通信的過程。表格列出了具體的實驗環(huán)境:
操作系統(tǒng) | WIN7 SP1 專業(yè)版 64位 |
編程軟件 | STEP 7 Professional V13 SP1 Update 5 |
系統(tǒng)硬件 | 1.CPU1215C 6ES7215-1AG40-0XB0 V4.1 2.CPU1212C 6ES7212-1AE40-0XB0 V4.1 3.CSM1277 6GK7277-1aa10-0aa0 |
表1. Modbus TCP 通信的實驗環(huán)境
CPU類型 | IP地址 | 端口號 | 硬件標識符 | |
客戶端 | CPU 1212C | 192.168.0.6 | 0 | 64 |
服務(wù)器 | CPU 1215C | 192.168.0.4 | 502 | 64 |
表2. Modbus TCP 通信雙方的基本配置
硬件標識符是在“設(shè)備組態(tài)”中,雙擊 PROFINET 接口,然后在“屬性”中的“硬件標識符”中查看。
圖2. S7-1200設(shè)備的PROFINET接口硬件標識符
“MB_SERVER”指令將處理 Modbus TCP 客戶端的連接請求、接收并處理 Modbus 請求并發(fā)送響應(yīng)。
1. 在“ 程序塊-> OB 1"中調(diào)用“MB_SERVER”指令塊,然后會生成相應(yīng)的背景DB塊,點擊確定,如圖3所示。
圖3. 調(diào)用MB_SERVER指令塊
該功能塊的各個引腳定義如下:
DISCONNET | 為0代表被動建立與客戶端的通信連接;為1代表終止連接。 |
MB_HOLD_REG | 指向 Modbus 保持寄存器的指針。 |
CONNECT | 指向連接描述結(jié)構(gòu)的指針。TCON_IP_v4(S7-1200) |
NDR | 為0代表無數(shù)據(jù);為1代表從 Modbus 客戶端寫入新的數(shù)據(jù)。 |
DR | 為0代表無讀取的數(shù)據(jù);為1代表從 Modbus 客戶端讀取的數(shù)據(jù) |
ERROR | 錯誤位:0:無錯誤;1:出現(xiàn)錯誤,錯誤原因查看STATUS。 |
STATUS | 指令的詳細狀態(tài)信息。 |
表3. MB_SERVER 各個引腳定義說明
2. CONNECT 引腳的指針類型
第一步,先創(chuàng)建一個新的全局數(shù)據(jù)塊 DB2,如圖4所示:
圖4. 創(chuàng)建全局數(shù)據(jù)塊
第二步,雙擊打開新生成的 DB2 數(shù)據(jù)塊,定義變量名稱為“ss",數(shù)據(jù)類型為“TCON_IP_v4”(可以將 TCON_IP_v4 拷貝到該對話框中),然后點擊“回車”按鍵。該數(shù)據(jù)類型結(jié)構(gòu)創(chuàng)建完畢。如圖5所示:
圖5. 創(chuàng)建 MB_SERVER 中的 TCP 連接結(jié)構(gòu)的數(shù)據(jù)類型
各個引腳定義說明如下:
InterfaceId | 硬件標識符。(設(shè)備組態(tài)中查詢) |
ID | 連接ID,取值范圍1~4095 |
Connection Type | 連接類型。TCP連接默認為:16#0B |
ActiveEstablished | 建立連接。主動為1(客戶端),被動為0(服務(wù)器)。 |
ADDR | 服務(wù)器側(cè)的IP地址 |
RemotePort | 遠程端口號 |
LocalPort | 本地端口號 |
表4. TCON_IP_v4 數(shù)據(jù)結(jié)構(gòu)的引腳定義
客戶端側(cè)的IP地址為192.168.0.6,端口號為0,所以 MB_SERVER 服務(wù)器側(cè)該數(shù)據(jù)結(jié)構(gòu)的各項值如圖6所示。
圖6. MB_SERVER 服務(wù)器側(cè)的 CONNECT 數(shù)據(jù)結(jié)構(gòu)定義
3. S7-1200 服務(wù)器側(cè) MB_SERVER 編程
調(diào)用MB_SERVER指令塊,實現(xiàn)被客戶端讀取2個保持寄存器的值,如圖7所示。
圖7. MB_SERVER 服務(wù)器側(cè)編程
注意:MB_HOLD_REG *的數(shù)據(jù)緩沖區(qū)可以設(shè)為 DB 塊或 M 存儲區(qū)地址。DB 塊可以為優(yōu)化的數(shù)據(jù)塊,也可以為標準的數(shù)據(jù)塊結(jié)構(gòu)。
S7-1200 MODBUS TCP 服務(wù)器側(cè)準備數(shù)據(jù),用于客戶端讀訪問,如圖8所示。
圖8. 服務(wù)器側(cè)監(jiān)控表
S7-1200 MODBUS TCP 客戶端側(cè),給 MB_CLIENT 指令塊中 REQ 引腳一個上升沿,監(jiān)控數(shù)據(jù)讀取成功。如圖9所示。
圖9. 客戶端側(cè)監(jiān)控表
詞條
詞條說明
適用于具有中等/較高要求的應(yīng)用的 CPU,用于 S7-1500T 控制器產(chǎn)品系列中的程序/數(shù)據(jù)存儲具有中/高處理速度,適用于二進制和浮點數(shù)運算在具有集中式和分布式 I/O 的生產(chǎn)線上作為集中式 PLC 使用可用于實現(xiàn)安全等級達到 SIL 3 (IEC 61508) 以及 PLe (ISO 13849) 的故障安全功能。PROFINET IO IRT 接口,帶 2 端 交換機PROFINET I/O
技術(shù)指標(環(huán)境要求、防護等級):驅(qū)動器:防護等級 IP 20,環(huán)境溫度0 ℃ 至 45 °C無功率降額; 45 °C 至 55 °C有功率降額。環(huán)境濕度,運行 < 90%(無凝露)電機:相對濕度 90%(30°C 時無凝露);防護等級 IP 65,帶軸油封,防熱等級 B。1FL602?、1FL603? 和 1FL604?:0 至 40 °C(無功率降額)1FL605?:0 至 30 °C(無
v3 Groups安全設(shè)置和權(quán)限分配SNMP 版本 3 允許在協(xié)議級分配權(quán)限,以及身份驗證和加密。安全等級和讀/寫權(quán)限按照組來定義。這些設(shè)置會自動應(yīng)用到組內(nèi)的每個成員。說明組名稱 (Group Name)輸入組的名稱。較大長度為 32 個字符。安全等級 (Security Level)選擇對所選組有效的安全等級(身份驗證、加密)??捎眠x項如下:-?無身份驗證/不加密 (no Auth/n
“另存為新修訂版”對話框中“附加屬性”選項卡的組態(tài)(全局庫)
“另存為新修訂版”對話框中“附加屬性”選項卡的組態(tài)(全局庫)“另存為新修訂版”(Save as new revision) 對話框中“附加屬性”(Additional properties) 選項卡的結(jié)構(gòu)在“附加屬性”(Additional properties) 選項卡中,相關(guān)信息將以表格形式顯示,具體取決于:所選擇的條目類型及其派生類型。所選條目類型及其派生類型所繼承的屬性。“附加屬性”(Ad
公司名: 上海騰希電氣技術(shù)有限公司
聯(lián)系人: 田禮科
電 話: 021-37660026
手 機: 13681875601
微 信: 13681875601
地 址: 上海松江上海市松江區(qū)廣富林路4855弄星月大業(yè)**88號4樓
郵 編:
網(wǎng) 址: shtxjd.cn.b2b168.com
公司名: 上海騰希電氣技術(shù)有限公司
聯(lián)系人: 田禮科
手 機: 13681875601
電 話: 021-37660026
地 址: 上海松江上海市松江區(qū)廣富林路4855弄星月大業(yè)**88號4樓
郵 編:
網(wǎng) 址: shtxjd.cn.b2b168.com