<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
      聯系人
      向小姐
      立即詢價

      詳細介紹

      二、軟件編程

      1Modbus RTU 主站編程

      Modbus RTU主站編程需要調用Modbus_Comm_Load指令和Modbus_Master指令,其中Modbus_Comm_Load指令通過Modbus RTU協議對通信模塊進行組態,Modbus_Master指令可通過由Modbus_Comm_Load指令組態的端口作為Modbus主站進行通信,Modbus_Comm_Load指令的MB_DB參數必須連接到Modbus_Master指令的(靜態)MB_DB參數。


      本例中分布式機架ET200SP中CM PTP模塊作為Modbus RTU主站,其相關編程步驟如下:


      1810387008.jpg

      1811839501.jpg



      注意

      ① Modbus_Comm_Load指令不建議在啟動組織塊OB100中調用,建議在OB1中調用。Modbus_Comm_Load指令在OB1中調用時,其輸入位“REQ”需使用上升沿觸發,本例中該輸入位采用 “FirstScan” 系統存儲器位。
      ② Modbus_Comm_Load指令背景數據塊中的靜態變量“MODE”用于描述PTP模塊的工作模式,有效的工作模式包括:

      · 0 = 全雙工 (RS232)

      · 1 = 全雙工 (RS422) 四線制模式(點對點)

      · 2 = 全全雙工 (RS 422) 四線制模式(多點主站,CM PtP (ET 200SP))

      · 3 = 全全雙工 (RS 422) 四線制模式(多點從站,CM PtP (ET 200SP))

      · 4 = 半雙工 (RS485) 二線制模式

      該靜態變量“MODE”默認數據為0(RS232 全雙工模式),需要根據CM PTP模塊實際組態修改該數值,本例中CM PTP模塊工作在RS485半雙工模式需要將該數值修改為4,如圖12所示。

      圖12. Modbus_Comm_Load背景數據塊靜態變量“MODE”修改為4

      ③ Modbus_Master指令的“DATA_PTR”參數用于指向要進行數據寫入或數據讀取的數據區域地址,該數據區域支持優化訪問的數據塊或者非優化(標準的)數據塊,建議采用非優化訪問的數據塊。
      本例中使用的數據區為非優化訪問的數據塊,在數據塊的屬性中取消“優化的塊訪問”即可將數據塊修改為非優化訪問的數據塊(鼠標右鍵數據塊,選擇“屬性”,取消“優化的塊訪問”),如圖13所示。

      圖13. 設置數據塊為非優化訪問

      當Modbus_Master指令的“DATA_PTR”指向非優化訪問的數據塊時,該輸入參數需要使用指針方式填寫如P#DB3.DBX0.0 WORD 5 方式填寫。
      ④ 當Modbus RTU網絡中存在多個modbus RTU從站或一個modbus RTU從站同時需要讀操作和寫操作,則需要調用多個Modbus_Master指令,Modbus_Master指令之間需要采用輪詢方式調用。
      下圖14用于描述兩個Modbus_Master指令輪詢調用的方式。

      圖14.Modbus_Master輪詢調用方式



      b、插入"Pull or plug of modules" 中斷OB83。

      本例中Modbus RTU主站模塊安裝在分布式IO站點上,因此程序中需要考慮分布式IO站點故障、CM PTP 模塊插拔模塊等故障。 
      分布式IO站點中插出、拔入模塊時,操作系統都會調用一次OB83。通過OB83接口區的輸入變量“16#Event_Class”判斷故障的模塊和類型:事件類型16#39表示模塊被拔出,事件類型16#38表示模塊被插入。
      CM PTP 模塊被重新插入的時候,需要在中斷OB83中調用Modbus_Comm_Load 指令對通信模塊進行重新組態,如圖15所示。

      圖15. OB83中再次調用Modbus_Comm_Load 指令



      注意

      ① OB83 中調用Modbus_Comm_Load指令的背景數據塊需要與OB1中調用的Modbus_Comm_Load指令的背景數據塊相同。
      ② CM PTP模塊的硬件標識符也可以在"PLC變量"--->"系統常數"中查詢,如圖16. 所示。


      圖16. 系統常量



      c、插入"Rack or Station failure" 中斷OB86。

      分布式IO站點故障和恢復時,操作系統都會調用一次OB86。通過OB86接口區的輸入變量“16#Event_Class”判斷故障的模塊和類型:事件類型16#39表示站點故障,事件類型16#38表示站點恢復。

      CM PTP 模塊所在的IO站點恢復時,需要在中斷OB86中調用Modbus_Comm_Load 指令對通信模塊進行重新組態,如圖17所示。


      圖17. OB86中調用Modbus_Comm_Load 指令



      注意

      OB86 中調用Modbus_Comm_Load指令的背景數據塊需要與OB1中調用的Modbus_Comm_Load指令的背景數據塊相同。
      ② 分布式IO 站點的硬件標識符也可以在"PLC變量"--->"系統常數"中查詢。


      聯系方式

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