<li id="8g3ty"><tbody id="8g3ty"><th id="8g3ty"></th></tbody></li>
    <label id="8g3ty"><samp id="8g3ty"></samp></label>
  • <span id="8g3ty"></span>

    1. <center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
    2. <bdo id="8g3ty"><meter id="8g3ty"><bdo id="8g3ty"></bdo></meter></bdo><center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
      <label id="8g3ty"><samp id="8g3ty"></samp></label>

    3. 電子開發(fā)網(wǎng)

      電子開發(fā)網(wǎng)電子設計 | 電子開發(fā)網(wǎng)Rss 2.0 會員中心 會員注冊
      搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 電子開發(fā) >> plc工業(yè)軟件使用 >> 正文

      西門子plc s7-200smart modbus-tcp通信實例編程詳細指導,STEP7軟件設置

      作者:佚名    文章來源:本站原創(chuàng)    點擊數(shù):    更新時間:2023/5/20

      組網(wǎng)概述

      本文以 ZKA-4488-WIFI 為例介紹西門子PLC與深圳市綜科智控科技開發(fā)有限公司的IO設備進行Modbus通訊的步驟設置。ZKA-4488-WIFI 是 8 路數(shù)字量輸入(DI),8 路數(shù)字量輸出(DO),4 路模擬量輸入(AI,0/4-20mA),4 路模擬量輸出設備(AO,0/4-20mA),無線WIFI通信。


       

      以 ZKA-4488-WIFI為例,出廠默認通訊參數(shù)如下:

      ZK模塊 IP 為:192.168.0.105


      TCP 端口為:10001

      (注意:我們模塊出廠時默認端口為10001,客戶也可以通過ZK模塊的配置文件把ZK通訊端口改成modbus-tcp的默認端口502)


      工作模式為:服務器模式

      S7-200 Modbus TCP通信

      1 S7-200 Modbus TCP 通信簡介

      Modbus 是公開通信協(xié)議,詳細的協(xié)議和規(guī)范,請訪問 Modbus 組織的網(wǎng)站:http://www.modbus.org/

      Modbus TCP 是通過工業(yè)以太網(wǎng) TCP/IP 網(wǎng)絡傳輸?shù)?Modbus 通信。S7-200 SMART 采用客戶端-服務器方法,Modbus 客戶端設備通過該方法發(fā)起與 Modbus 服務器設備的 TCP/IP 連接。

      建立連接后,客戶端向服務器發(fā)出請求,服務器將響應客戶端的請求。客戶端可請求從服務器設備讀取部分存儲器,或?qū)⒁欢〝?shù)量的數(shù)據(jù)寫入服務器設備的存儲器。如果請求有效,則服務器將響應該請求;如果請求無效,則會回復錯誤消息。

      S7-200 SMART 支持做 Modbus TCP 的客戶端或者服務器,可以實現(xiàn) PLC 之間通信,也可以實現(xiàn)與支持此通信協(xié)議的第三方設備通信。通信伙伴數(shù)量比較多的時候,可以使用交換機,擴展以太網(wǎng)接口。

      2 Modbus TCP 指令庫

      STEP7-Micro/WIN SMART 從V2.4 版本開始,軟件中直接集成 Modbus TCP 庫指令。

      安裝軟件后,Modbus TCP 指令位于 STEP7-Micro/WIN SMART 項目樹中“指令”文件夾的“庫”文件夾中。如圖2.Modbus TCP庫指令所示。

      指令分為客戶端和服務器兩種,目前指令版本為 V1.0。客戶端指令會占用開放式用戶通信資源主動連接,最多8個;服務器指令會占用開放式用戶通信資源的被動連接資源,最多也是8個。


       

      圖2.Modbus TCP庫指令

      Modbus TCP 客戶端:

      Modbus 客戶端指令MBUS_CLIENT使用 CPU 的以下資源:

      占用主動連接資源。最多有8個主動連接資源

      連接多個服務器伙伴時,自動生成連接 ID。

      Modbus TCP 客戶端使用以下程序?qū)嶓w:

      1 個子程序

      2849 個字節(jié)的程序空間

      V 存儲器的 638 字節(jié)模塊,用于指令符號

      Modbus TCP 服務器:

      Modbus 服務器指令 MBUS_SERVER 使用 CPU 的以下資源

      占用被動連接資源。最多有8個被動連接資源

      連接多個客戶端伙伴時,自動生成連接 ID。

      Modbus TCP 服務器使用下列程序?qū)嶓w:

      1 個子程序

      2969 個字節(jié)的程序空間

      V 存儲器的 445 字節(jié)模塊,用于指令符號

      指令庫編程后,必須從 STEP 7-Micro/WIN SMART 的為使用的指令分配庫存儲區(qū)地址。

      3 Modbus TCP 功能編程

      下面以一臺S7-200 SMART和一臺ZKA-4488-ETH 之間進行Modbus TCP 通信為例,詳細闡述客戶端與服務器側(cè)如何編程及通信的過程。具體的實驗環(huán)境見表1.;通信任務見表2:

      表1.實驗環(huán)境

      操作系統(tǒng) WIN7 SP1 專業(yè)版 64位
      編程軟件 STEP7-Micro/WIN SMART V2.4版本
      硬件 CPU SR60:6ES7288-1SR60-0AA0 固件:V2.4 版本ZKA-4488-WIFI:綜科智控4AI+4AO+8DI+8DO以太網(wǎng)modbus-tcp通信交換機:CSM 127 6GK7 277-1AA10-0AA0

      表2.通信任務

      硬件 通信角色 IP地址 端口號 讀/寫 數(shù)據(jù)區(qū)域
      CPU SR60 客戶端 192.168.0.60 0 VB20-VB31
      ZKA-4488-WIFI 服務器 192.168.0.105 10001 響應 AI1~AI3模擬量采集值

      客戶端側(cè)指令編程

      1、系統(tǒng)塊中設置客戶端的IP地址,以確保IP地址設置無誤。此步驟為可選,如果確定IP地址設置無誤,可忽略此步驟。設置方法如圖2.所示。


       

      圖2.系統(tǒng)塊設置IP地址

      2、鼠標點擊 MAIN 主程序的程序段1的編程區(qū)域,從庫文件夾下找到 Modbus TCP 客戶端指令 MBUS_CLIENT,鼠標雙擊,指令出現(xiàn)在程序段1中,操作如圖3.所示。


       

      圖3.添加客戶端指令

      3、填寫客戶端指令參數(shù),如圖4.所示。


       

      圖4.填寫客戶端參數(shù)

      程序塊具體參數(shù)詳細解釋介紹見表3.

      參數(shù)及類型 數(shù)據(jù)類型 說明
      Req IN BOOL =1:表示向服務器發(fā)送Modbus 請求
      Connect IN BOOL =1:嘗試與分配的IP地址及端口號建立連接;=0:嘗試斷開已經(jīng)建立的連接,忽略Req的任何請求
      IPAddr1-4 IN BYTE 填寫 Modbus TCP 服務器的IP地址IPAddr1-4為高到低字節(jié)
      IP_Port IN BYTE 填寫Modbus TCP 服務器的端口號
      RW IN BYTE 指定操作模式 =0:讀;=1寫
      Addr IN DWORD 要進行讀寫的參數(shù)的 Modbus 起始地址,本例中也即ZKA-4488-ETH寄存器地址
      Count IN INT 要進行讀寫的參數(shù)數(shù)據(jù)長度;數(shù)字量輸入/輸出Count=1表示1 bit,最大1920位對于模擬量輸入和保持寄存器,最大 Count 值為 120 字。本例中讀取AI1~AI3模擬輸入的讀數(shù),因為每個AI輸入通道占用2個WORD寄存器地址,所以讀取3個通道AI1~AI3就需要讀取6個WORD寄存器
      DataPtr IN_OUT DWORD 數(shù)據(jù)寄存器地址指針,指向本地用于讀/寫操作的數(shù)據(jù)地址區(qū)域的首地址
      Done OUT BOOL TRUE:以下任一條件時為真:客戶端已與服務器建立連接;客戶端已與服務器斷開連接;客戶端已接收 Modbus 響應;發(fā)生錯誤 FALSE:客戶端正忙于建立連接或等待來自服務器的 Modbus 響應。
      Error OUT BOOL 出現(xiàn)錯誤,僅一個周期有效

      4、鼠標選中程序塊文件夾,單擊右鍵,下拉菜單中選擇庫存儲器,如圖5.所示。


       

      圖5.點擊庫存儲器

      5、在庫存儲區(qū)分配對話框中手動輸入存儲區(qū)的起始地址。此實例為VB5000開始,以使指令庫可以正常工作。確保庫存儲區(qū)與程序中其他已使用的地址不沖突。使用建議地址無法確定是否有地址重疊,所以推薦手動輸入正確的庫存儲區(qū)首地址。如圖6.所示。


       


      圖6.庫存儲區(qū)地址分配

      6、編譯項目,下載程序。

      將M0.0置位為1,然后在狀態(tài)圖表中創(chuàng)建變量,VW20-VW30 共6個字,監(jiān)視值如圖7.所示。


       



       


      圖7.讀取ZKA-4488-ETH的數(shù)據(jù)

      4 關(guān)于 Modbus TCP協(xié)議及地址

      S7-200 SMART 做 Modbus TCP 通信,可以支持的功能碼及功能描述及所占用的地址區(qū),如表4.所示。客戶端會主動的發(fā)送請求,服務器響應。在通信指令填寫參數(shù)中沒有直接填寫功能碼,而是通過多個參數(shù)填寫共同確定功能碼的。

      表4.功能碼概況說明

      功能碼(十進制) 功能描述 RW Addr Count CPU地址
      01 讀數(shù)字量輸出 位 0 00001-09999 1-1920 位 Q0.0-1151.7
      02 讀數(shù)字量輸入 位 0 10001-19999 1-1920 位 I0.0-1151.7
      03 讀寄存器 字 0 40001-49999400001-465535 1-120 字 V區(qū)
      04 讀模擬量輸入 字 0 30001-39999 1-120 字 AIW0-AIW110
      05 寫數(shù)字量輸出 單個位 1 00001-09999 1位 Q0.0-Q1151.7
      06 寫寄存器 單個字 1 40001-49999400001-465535 1個字 V區(qū)
      15 寫數(shù)字量輸出 多個位 1 00001-09999 1-1920 位 Q0.0-1151.7
      16 寫寄存器 多個字 1 40001-49999400001-465535 1-120 字 V區(qū)

      舉例:

      和Modbus TCP服務器交換數(shù)據(jù)參數(shù)支持功能碼:03,在客戶端指令中設置兩個參數(shù)確定03功能碼:

      RW=0:確定讀取數(shù)據(jù),(篩選出可能會使用的功能碼:01,02,03,04),

      Addr:40001-49999/400001-465535,表示交換數(shù)據(jù)為寄存器類型的數(shù)據(jù)。

      5 Modbus TCP 常問問題

      1、如何判斷Modbus TCP連接是否建立?

      答:進行Modbus TCP通信,需要建立連接,

      S7-200 SMART CPU作為Modbus TCP客戶端時:通過Modbus TCP Client指令 MBUS_CLIENT 的符號表中的 mConnected 參數(shù)來判斷,如圖1.所示

      mConnected=1 表示已經(jīng)建立連接,mConnected=0 表示尚未建立連接


       


      圖1.mConnected判斷連接狀態(tài)

      注意:當PLC內(nèi)存在多個客戶端或者多個服務器時,不建議參考該狀態(tài)點。

      2、如何查看錯誤代碼?

      答:出現(xiàn)錯誤時,MBUS_CLIENT 指令輸出參數(shù)Done 會為1,但是,Done在連接建立完成,連接斷開,響應完成時都會出現(xiàn)置位為1的情況。

      出現(xiàn)錯誤時,還有Error字節(jié)會顯現(xiàn)出錯誤代碼,僅保留一個周期時間。

      綜上所述,查看錯誤代碼,可以按照圖3.所示的方法進行。


       


      圖3.查看錯誤代碼

      3、進行 Modbus TCP 通信寄存器類型數(shù)據(jù),數(shù)據(jù)量大超過120個字如何處理?

      答:如果數(shù)據(jù)量超過120個字,可以進行如下兩種方法操作:

      A、建立多個連接,不同連接之間,可以并行操作,因為占用的通信資源不同;

      B、建立一個連接,進行多個操作,不同操作之間需要進行輪詢,同一時刻只有一個操作在進行。

      4、Modbus TCP通信時,如何訪問地址范圍大于49999 的保持寄存器

      Modbus 保持寄存器地址在 40001 到 49999 這一范圍內(nèi)。該范圍足以滿足大多數(shù)應用的要求,但有些 Modbus 從站設備將數(shù)據(jù)映射到地址范圍更大的保持寄存器中。 MBUS_CLIENT 指令允許參數(shù) Addr 的附加范圍,以支持 400001 至 465536 的保持寄存器地址的擴

      展范圍。例如,要訪問保持寄存器 16768,請將 MBUS_CLIENT 的 Addr 參數(shù)設置為 416768。 擴展尋址允許訪問 Modbus 協(xié)議支持的全部 65536 個可能地址。此擴展尋址僅適用于保持寄存器。

      5、S7-200 SMART作為 Modbus TCP客戶端, 服務器為網(wǎng)關(guān)模塊,連接多個 Modbus RTU 設備時如何區(qū)分 Modbus RTU 從站地址能?

      答:S7-200 SMART CPU 作為 Modbus TCP 客戶端與 Modbus TCP 服務器通信,當嘗試訪問比 Modbus TCP 服務器更低端的串行子網(wǎng)中的設備,會有報錯 "無法建立連接"。如果 Modbus TCP 服務器用于 Modbus RTU 協(xié)議的網(wǎng)關(guān),則 MB_UNIT_ID 可用于識別串行網(wǎng)

      絡上連接的從站設備。MB_UNIT_ID 用于將請求轉(zhuǎn)發(fā)到正確的 Modbus RTU 從站地址。一些 Modbus TCP 設備可能要求 MB_UNIT_ID 參數(shù)在限制范圍內(nèi)。該參數(shù)所在位置,如圖4.所示

      mModbusUnitID默認值為255(16#FF),如果從站設備有多個,可以S7-200 SMART 和網(wǎng)關(guān)模塊建立一個連接,在這個連接上通過修改UnitID的值進行UnitID的輪詢。


       

      圖4.mModbusUnitID

      6、對于一些服務器不支持寫單個數(shù)字量輸出位(功能碼 5)/單個保持寄存器(功能碼 6),S7-200 SMART 如何實現(xiàn)寫單個位/字。

      答:一些 Modbus 服務器設備不支持 Modbus 功能寫入單個離散輸出位(Modbus 功能 5)或?qū)懭雴蝹保持寄存器(Modbus 功能 6)。相反,這些設備只支持多位寫入(Modbus 功能 15)或多寄存器寫入(Modbus 功能 16)。如果服務器設備不支持單個位/字 Modbus

      功能,則 MBUS_CLIENT 指令將返回錯誤代碼 1。Modbus 客戶端協(xié)議允許強制 MBUS_CLIENT 指令使用多個位/字 Modbus 功能,而非使用單個位/字 Modbus 功能。可通過在 Modbus 客戶端符號表中查找符號 mModbusForceMulti,并在程序執(zhí)行 MBUS_CLIENT 之前

      更改此值,來強制多個位/字指令。將 mModbusForceMulti 設置為 TRUE,可在寫入單個位或寄存器時強制使用多個位/字功能。如圖5.所示。

       

      Tags:modbus-tcp,modbus,通信,西門子plc  
      責任編輯:admin
      相關(guān)文章列表
      S7-200和組態(tài)王的連接,cpu226 PLC 與組態(tài)王如何連接
      基于S7-200SMART實現(xiàn)Modbus TCP通信_200smart modbus tcp
      三菱plc FX3U與三菱E800變頻器專用指令通信應用,IVDR指令和 IVCK
      三菱PLC的modbus-rtu通訊實例_三菱小型PLC FX3U系列Modbus 通訊教
      西門子200SMART與眾辰變頻器的MODBUS通信實例40001和十六進制的轉(zhuǎn)
      西門子S7-200 smart通過modbus rtu 協(xié)議采集K37A數(shù)據(jù)項目案例
      昆侖通態(tài)MCGS觸摸屏和西門子V20變頻器之間的MODBUS通訊
      Modbus通信協(xié)議介紹以及Modbus Poll、Slave軟件使用介紹_modbus 
      【工具教程】Modbus Slave使用教程
      干貨 | Modscan32  Modsim32 Modbus協(xié)議調(diào)試分享_modbus調(diào)試
      Modscan32軟件的使用 Modsim32
      西門子plc控制英威騰變頻器實例,西門子200SMART的MODBUS通訊!
      施耐德PM500電量表通過MODBUS協(xié)議與組態(tài)王通訊
      組態(tài)軟件的無線485通訊實例,組態(tài)王modbus通訊實例
      組態(tài)王和三菱plc 基于數(shù)傳電臺的組態(tài)王控制實現(xiàn)遠程采集控制器PL
      KingView組態(tài)王與信捷PLC通訊解決方案 MODBUS通訊設置
      KingView組態(tài)王通過modbus與第三方設備通訊,如何實現(xiàn)字節(jié)或字的
      組態(tài)王modbus通信用法教程modbus-rtu、modbus-tcp莫迪康通信配置
      KingView組態(tài)王如何獲取modbus TCP數(shù)據(jù)?_組態(tài)王數(shù)據(jù)轉(zhuǎn)發(fā)modbust
      組態(tài)王連接ModbusTCP設備,利用Modbus Slave模擬從站設備
      請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
      1分 2分 3分 4分 5分

      還可以輸入 200 個字
      [ 查看全部 ] 網(wǎng)友評論
      最新推薦
      關(guān)于我們 - 聯(lián)系我們 - 廣告服務 - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁面
      下到頁底
      晶體管查詢
      主站蜘蛛池模板: 狠狠色丁香久久婷婷综合图片| 日日AV色欲香天天综合网| 亚洲狠狠综合久久| 91精品国产色综合久久不卡蜜 | 久久九九精品国产综合喷水| 伊人不卡久久大香线蕉综合影院| 99精品国产综合久久久久五月天| 亚洲国产综合专区在线电影| 亚洲日韩在线中文字幕综合| 久久久综合九色合综国产| 色妞色综合久久夜夜| 伊人久久中文大香线蕉综合| 色天使亚洲综合一区二区| 亚洲综合婷婷久久| 狠狠色婷婷狠狠狠亚洲综合 | 色综合91久久精品中文字幕| 久久婷婷综合中文字幕| 色综合蜜桃视频在线观看| 久久综合给合久久国产免费| 国产亚洲综合色就色| 狠狠色狠狠色综合网| 婷婷丁香五月天综合东京热| 亚洲国产精品成人综合久久久| 亚洲综合另类小说色区| 色视频综合无码一区二区三区| 亚洲精品欧美综合四区| 综合欧美五月丁香五月| 麻豆久久婷婷综合五月国产| 色综合色综合色综合色综合网 | 久久综合综合久久狠狠狠97色88| 九九综合VA免费看| 五月丁香六月综合av| 一本久到久久亚洲综合| 天天做天天爱天天综合网2021| 亚洲综合久久夜AV | 久久乐国产精品亚洲综合| 精品国产综合成人亚洲区| 亚洲AV人无码综合在线观看| 中文网丁香综合网| 色综合久久98天天综合| 久久综合九色综合97_久久久|