<object id="ayu7o"></object>

      <object id="ayu7o"></object>

    1. <menuitem id="ayu7o"></menuitem>
      <object id="ayu7o"></object>
      加入收藏 在線留言 聯系我們
      關注微信
      手機掃一掃 立刻聯系商家
      全國服務熱線18475208684

      西門子河北PLC維修|西門子變頻器代理商

      更新時間
      2024-12-02 08:00:00
      價格
      請來電詢價
      PLC觸摸屏代理商
      西門子代理商
      伺服電機驅動電纜
      西門子一級代理商
      變頻器直流調速器
      西門子一級總代理商
      聯系電話
      13922889745
      聯系手機
      18475208684
      聯系人
      向小姐
      立即詢價

      詳細介紹

      1 | 題目



      編寫一個狀態機實現兩臺西門子PLC的Modbus TCP通信,包含讀和寫功能。Modbus TCP Server在前面章節已經設計過,本章節不再敘述。



      2 | 設計分析



      使用多分支選擇CASE語句設計一個狀態機,設置一個步驟變量作為Modbus TCP通信輪詢跳轉表達式,初始為0即第0步等待通信連接建立成功,然后跳轉到下一步觸發第一個Modbus TCP讀寫通信,該步驟完成后自動跳轉到下一步觸發第二個Modbus TCP讀寫通信,以此類推,直到Zui后一個Modbus TCP讀寫通信,將返回到第1步并繼續循環執行Modbus TCP通信。



      3 | 創建功能或功能塊



      創建功能塊FB,命名為“MbTcpClient”。




      4 | 定義接口變量



      具體接口變量定義見下圖:

      定義布爾型靜態變量statReq:通信請求;

      定義無符號短整型靜態變量statMode:讀寫模式;

      定義整型靜態變量statStep:狀態步;

      定義無符號整型靜態變量statLen:通信單元長度;

      定義無符號長整型靜態變量statAddr:數據緩存地址;

      定義了字節型一維數組靜態變量statRead1…statRead3:讀數據緩存;

      定義了字節型一維數組靜態變量statWrite1:寫數據緩存;

      定義多重背景變量statConn:Modbus TCP連接參數。



      5 | 程序代碼



      編寫程序代碼。如下圖:


      以上為用多分支選擇CASE語句設計的典型的狀態機的模板,適用于于順控和輪詢。注意只定義了一個MB_CLIENT的背景實例并注意其調用的位置。



      6 | 代碼測試



      在循環OB中調用FB-“MbTcpClient”,調用時會自動創建背景數據塊,命名為“InstMbTcpClient”,該背景數據塊可以用來監視和修改數據。轉至在線并監控程序。如下圖:

      以上為讀線圈輸出。


      以上為讀映象輸入。


      以上為讀保持型寄存器。


      以上為寫保持型寄存器。



      相關產品

      聯系方式

      • 電  話:13922889745
      • 經理:向小姐
      • 手  機:18475208684
      • 微  信:18475208684