S7-1200 Modbus TCP客戶端

    S7-1200 Modbus TCP 通信指令塊

    STEP 7 V13 SP1 軟件版本中的 Modbus TCP 庫(kù)指令目前較新的版本已升至V4.0,該版本的使用需要具備以下兩個(gè)條件:

    1. 軟件版本: STEP 7 V13 SP1及其以上

    2. 固件版本: S7-1200 CPU 的固件版本V4.1及其以上

    圖1. Modbus TCP V4.0 版本指令塊

    S7-1200 Modbus TCP 實(shí)驗(yàn)環(huán)境

    下面以兩臺(tái)S7-1200之間進(jìn)行 Modbus TCP 通信為例,詳細(xì)闡述客戶端與服務(wù)器側(cè)如何編程及通信的過程。表格列出了具體的實(shí)驗(yàn)環(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 通信的實(shí)驗(yàn)環(huán)境

     
    CPU類型
    IP地址
    端口號(hào)
    硬件標(biāo)識(shí)符
    客戶端
    CPU 1212C
    192.168.0.6
    0
    64
    服務(wù)器
    CPU 1215C
    192.168.0.4
    502
    64

    表2. Modbus TCP 通信雙方的基本配置

    硬件標(biāo)識(shí)符是在“設(shè)備組態(tài)”中,雙擊 PROFINET 接口,然后在“屬性”中的“硬件標(biāo)識(shí)符”中查看。

    圖2. S7-1200設(shè)備的PROFINET接口硬件標(biāo)識(shí)符

    S7-1200 Modbus TCP 客戶端編程

    S7-1200 客戶端側(cè)需要調(diào)用MB_CLIENT指令塊,該指令塊主要完成客戶機(jī)和服務(wù)器的TCP連接、發(fā)送命令消息、接收響應(yīng)以及控制服務(wù)器斷開的工作任務(wù)。

    1. 將MB_CLIENT 指令塊在“ 程序塊 -> OB1 ”中的程序段里調(diào)用,調(diào)用時(shí)會(huì)自動(dòng)生成背景DB ,點(diǎn)擊確定即可。

    圖3. Modbus TCP 客戶端側(cè)指令塊

    該功能塊各個(gè)引腳定義如下:

    REQ與服務(wù)器之間的通信請(qǐng)求,上升沿有效。
    DISCONNECT

    通過該參數(shù),可以控制與 Modbus TCP服務(wù)器建立和終止連接。 0(默認(rèn)):建立連接;1:斷開連接。

    MB_MODE

    選擇 Modbus 請(qǐng)求模式(讀取、寫入或診斷)。0:讀;1:寫。

    MB_DATA_ADDR

    由“MB_CLIENT”指令所訪問數(shù)據(jù)的起始地址。

    MB_DATA_LEN數(shù)據(jù)長(zhǎng)度: 數(shù)據(jù)訪問的位或字的個(gè)數(shù)。
    MB_DATA_PTR指向 Modbus 數(shù)據(jù)寄存器的指針。
    CONNECT

    指向連接描述結(jié)構(gòu)的指針。TCON_IP_v4(S7-1200)

    DONE最后一個(gè)作業(yè)成功完成,立即將輸出參數(shù) DONE 置位為“1”。
    BUSY作業(yè)狀態(tài)位:0:無(wú)正在處理的“MB_CLIENT”作業(yè);1:“MB_CLIENT”作業(yè)正在處理。
    ERROR錯(cuò)誤位:0:無(wú)錯(cuò)誤;1:出現(xiàn)錯(cuò)誤,錯(cuò)誤原因查看STATUS。
    STATUS

    指令的詳細(xì)狀態(tài)信息。

    表4. MB_CLIENT 各引腳定義說明

    2. CONNECT 引腳的指針類型

    第一步,先創(chuàng)建一個(gè)新的全局?jǐn)?shù)據(jù)塊 DB2:

    圖4. 創(chuàng)建全局?jǐn)?shù)據(jù)塊

    第二步,雙擊打開新生成的DB塊,定義變量名稱為“aa",數(shù)據(jù)類型為“TCON_IP_v4”(可以將 TCON_IP_v4 拷貝到該對(duì)話框中),然后點(diǎn)擊“回車”按鍵。該數(shù)據(jù)類型結(jié)構(gòu)創(chuàng)建完畢。如圖5所示:

    圖5. 創(chuàng)建 MB_CLIENT 中的TCP連接結(jié)構(gòu)的數(shù)據(jù)類型

    各個(gè)引腳定義說明如下:

    InterfaceId硬件標(biāo)識(shí)符。
    ID

    連接ID,取值范圍1~4095

    Connection Type連接類型。TCP連接默認(rèn)為:16#0B
    ActiveEstablished建立連接。主動(dòng)為1(客戶端),被動(dòng)為0(服務(wù)器)。
    ADDR服務(wù)器側(cè)的IP地址
    RemotePort遠(yuǎn)程端口號(hào)
    LocalPort本地端口號(hào)

    表4. TCON_IP_v4 數(shù)據(jù)結(jié)構(gòu)的引腳定義

    本文遠(yuǎn)程服務(wù)器的IP地址為192.168.0.4,遠(yuǎn)程端口號(hào)設(shè)為502。所以客戶端側(cè)該數(shù)據(jù)結(jié)構(gòu)的各項(xiàng)值為:

    圖6. MB_CLIENT 側(cè) CONNECT 引腳數(shù)據(jù)定義

    注意: CONNECT引腳的填寫需要用符號(hào)尋址的方式。

    3. 創(chuàng)建 MB_DATA_PTR 數(shù)據(jù)緩沖區(qū)

    第一步,創(chuàng)建一個(gè)全局?jǐn)?shù)據(jù)塊 DB3,創(chuàng)建方法可以參考上面的圖3,數(shù)據(jù)塊的名稱如圖7所示:

    圖7. 生成的兩個(gè)DB塊名稱

    第二步,建議一個(gè)數(shù)組的數(shù)據(jù)類型,以便通信中存放數(shù)據(jù),請(qǐng)參考圖8所示:

    圖8. MB_DATA_PTR 數(shù)據(jù)緩沖區(qū)結(jié)構(gòu)

    注意: MB_DATA_PTR*的數(shù)據(jù)緩沖區(qū)可以為DB塊或M存儲(chǔ)區(qū)地址中。DB塊可以為優(yōu)化的數(shù)據(jù)塊,也可以為標(biāo)準(zhǔn)的數(shù)據(jù)塊結(jié)構(gòu)。若為優(yōu)化的數(shù)據(jù)塊結(jié)構(gòu),編程時(shí)需要以符號(hào)尋址的方式填寫該引腳;若為標(biāo)準(zhǔn)的數(shù)據(jù)塊結(jié)構(gòu)(可以右鍵單擊DB塊,“屬性”中將“優(yōu)化的塊訪問”**的勾去掉,如下圖9所示),需要以**地址的方式填寫該引腳。本文以標(biāo)準(zhǔn)的數(shù)據(jù)塊(默認(rèn))為例進(jìn)行編程。

    圖9. 修改 DB 塊屬性為標(biāo)準(zhǔn)的塊結(jié)構(gòu)

    4. 客戶端側(cè)完成指令塊編程

    調(diào)用 MB_CLIENT 指令塊,實(shí)現(xiàn)從 Modbus TCP 通信服務(wù)器中讀取2個(gè)保持寄存器的值,如圖10所示:

    圖10. MB_CLIENT 指令塊編程

    5. 將整個(gè)項(xiàng)目下載到S7-1200

    待Modbus TCP 服務(wù)器側(cè)準(zhǔn)備就緒,給MB_CLIENT指令塊的REQ引腳一個(gè)上升沿,將讀取到的數(shù)據(jù)放入 MB_DATA_PTR引腳*的DB 塊中。具體的實(shí)驗(yàn)結(jié)果可以查看S7-1200 服務(wù)器側(cè)編程。

    常見問題

     MB_CLIENT 指令的背景數(shù)據(jù)塊中的 "MB_Unit_ID" 有什么功能?

    S7-1200 CPU 作為 Modbus TCP 客戶端與 Modbus TCP 服務(wù)器通信,當(dāng)嘗試訪問比 Modbus TCP 服務(wù)器較低端的串行子網(wǎng)中的設(shè)備,會(huì)有報(bào)錯(cuò) "無(wú)法建立連接"。

    這種情況下, Modbus TCP 服務(wù)器作為 Modbus RTU 協(xié)議中的網(wǎng)關(guān),"MB_Unit_ID" 參數(shù)相當(dāng)于 Modbus RTU 協(xié)議中的從站地址。

    Modbus TCP 客戶端直接向 Modbus TCP 服務(wù)器發(fā)送請(qǐng)求,Modbus TCP 服務(wù)器通過識(shí)別 "MB_UNIT_ID" 參數(shù),將請(qǐng)求轉(zhuǎn)發(fā)到從站設(shè)備。

    在 S7-1200 項(xiàng)目中,選擇系統(tǒng)塊,雙擊打開 MB_CLIENT 指令的背景數(shù)據(jù)塊“MB_CLIENT_DB”, 在靜態(tài)變量Static下可以找到 MB_Unit_ID (默認(rèn)起始值16#FF,等于十進(jìn)制 255)。如下圖 11 所示:

    圖 11. MB_Unit_ID

    例如,當(dāng) S7-1200 做客戶端與電腦上的 Modbus TCP 調(diào)試軟件 Modsim 通信時(shí),會(huì)遇到如上“無(wú)法建立連接”的問題。

    這時(shí),修改調(diào)試軟件 Modsim 中Device Id 為255,使之等于 MB_Unit_ID 的值,即可建立聯(lián)系。如下圖 12 所示:

    圖 12. Device Id

     注意:如果 Modbus TCP 服務(wù)器無(wú)法更改 Device Id 的值, 則修改S7-1200 項(xiàng)目中MB_Unit_ID數(shù)值, 使雙方的參數(shù)一致。


    上海騰希電氣技術(shù)有限公司專注于西門子PLC,V90伺服,V20變頻器等, 歡迎致電 13681875601

  • 詞條

    詞條說明

  • 在 DPV1 模式下組態(tài) ET 200S

    在 DPV1 模式下組態(tài) ET 200SPROFIBUS DPV1 允許用戶訪問擴(kuò)展的 PROFIBUS 功能。要求必須打開并激活網(wǎng)絡(luò)視圖。具有 DPV1 功能的 DP 主站必須可用。必須已通過 PROFIBUS 建立主站-從站連接。步驟要將 DP 從站切換到 DPV1,請(qǐng)按以下步驟操作:選擇 DP 從站。在巡視窗口的“屬性 > 模塊參數(shù)”(Properties > Module pa

  • S7-CM/CP

    S7-CM/CPV3 以下版本的 CP 300/400 作為路由器時(shí)不會(huì)進(jìn)行 S7 路由在 S7?1200 或 S7?1500 站間進(jìn)行 S7 路由時(shí),如果其中連接了舊版本 S7?300/400 CP 作為路由器,則不會(huì)建立任何連接。以下幾種通過 ISO 傳輸或 ISO-on-TCP 連接運(yùn)行的通信將受影響:S7 通信PG 通信HMI 通信該特性適用于固件版本

  • 組態(tài)安全功能 本地用戶

    本地用戶提示只有與設(shè)備存在在線連接時(shí),才會(huì)針對(duì)某些設(shè)備顯示該頁(yè)面。本地用戶在此頁(yè)面上,針對(duì) WBM 和 CLI 創(chuàng)建具有相應(yīng)權(quán)限的本地用戶。要?jiǎng)?chuàng)建用戶帳戶,登錄的用戶必須具有“admin”角色。提示顯示的值取決于已登錄用戶的權(quán)限。說明該頁(yè)面包含以下內(nèi)容:用戶帳戶 (User Account)輸入用戶的名稱。該名稱必須滿足以下條件:-?名稱必須一。-?名稱長(zhǎng)度必須在 1 到 2

  • 靜態(tài)租用

    靜態(tài)租用在此頁(yè)面中,*將為其分配特定 IP 地址的一些設(shè)備?;?MAC 地址、客戶端 ID 或 DUID 分配地址。說明該頁(yè)面包含以下框:池 ID (Pool ID)選擇所需的地址段??蛻舳藰?biāo)識(shí)方法 (Client Identification Method)選擇用于標(biāo)識(shí)客戶端的方法。-?Ethernet MAC基于該 MAC 地址進(jìn)行識(shí)別。在“值”(Value) 中輸入 MAC 地

聯(lián)系方式 聯(lián)系我時(shí),請(qǐng)告知來自八方資源網(wǎng)!

公司名: 上海騰希電氣技術(shù)有限公司

聯(lián)系人: 田禮科

電 話: 021-37660026

手 機(jī): 13681875601

微 信: 13681875601

地 址: 上海松江上海市松江區(qū)廣富林路4855弄星月大業(yè)**88號(hào)4樓

郵 編:

網(wǎng) 址: shtxjd.cn.b2b168.com

八方資源網(wǎng)提醒您:
1、本信息由八方資源網(wǎng)用戶發(fā)布,八方資源網(wǎng)不介入任何交易過程,請(qǐng)自行甄別其真實(shí)性及合法性;
2、跟進(jìn)信息之前,請(qǐng)仔細(xì)核驗(yàn)對(duì)方資質(zhì),所有預(yù)付定金或付款至個(gè)人賬戶的行為,均存在詐騙風(fēng)險(xiǎn),請(qǐng)?zhí)岣呔瑁?
    聯(lián)系方式

公司名: 上海騰希電氣技術(shù)有限公司

聯(lián)系人: 田禮科

手 機(jī): 13681875601

電 話: 021-37660026

地 址: 上海松江上海市松江區(qū)廣富林路4855弄星月大業(yè)**88號(hào)4樓

郵 編:

網(wǎng) 址: shtxjd.cn.b2b168.com

    相關(guān)企業(yè)
    商家產(chǎn)品系列
  • 產(chǎn)品推薦
  • 資訊推薦
關(guān)于八方 | 八方幣 | 招商合作 | 網(wǎng)站地圖 | 免費(fèi)注冊(cè) | 一元廣告 | 友情鏈接 | 聯(lián)系我們 | 八方業(yè)務(wù)| 匯款方式 | 商務(wù)洽談室 | 投訴舉報(bào)
粵ICP備10089450號(hào)-8 - 經(jīng)營(yíng)許可證編號(hào):粵B2-20130562 軟件企業(yè)認(rèn)定:深R-2013-2017 軟件產(chǎn)品登記:深DGY-2013-3594
著作權(quán)登記:2013SR134025
Copyright ? 2004 - 2024 b2b168.com All Rights Reserved