1. <del id="sqmd4"></del>
      <object id="sqmd4"></object>
      1. <object id="sqmd4"></object>
          加入收藏 在線留言 聯系我們
          關注微信
          手機掃一掃 立刻聯系商家
          全國服務熱線13185520415
          公司新聞
          西門子S7-200 SMART MODBUS輪詢應用庫的使用
          發布時間: 2024-04-01 10:57 更新時間: 2024-11-23 08:00
          觀看西門子S7-200 SMART MODBUS輪詢應用庫的使用視頻

          Modbus-RTU協議是一種開放的串行通信協議,在不同的行業中都有非常廣泛的應用,因為其是串行通信,所以其報文的傳送需要按照串行隊列來發送,而具體到S7-200 SMART的Modbus-RTU主站通信的編程中就需要考慮針對不同地址和不同站的輪詢的問題。


          為了提高輪詢的效率和輪詢程序的通用性,本文推出了Modbus輪詢的應用庫,可以簡化用戶輪詢編程,也可以實現根據需要寫入功能,更可以實現僅當設定值改變時的參數值寫入功能。


          小貼士

          硬件及軟件需求



          1. 硬件要求


          S7-200 SMART CPU控制器

          SIMATIC S7-200 SMART產品家族



          2. 軟件要求


          STEP 7-Micro/WIN SMART V2.7


          程序庫


          該程序庫實現了Modbus輪詢隊列的產生,可以產生兩種獨立的隊列,讀隊列和寫隊列,并可以根據需要實時操作寫隊列,也可以實現當設定值改變時實時寫入的功能。


          程序庫


          圖片



          輪詢隊列控制塊

          圖片


          程序塊引腳


          圖片


          使用說明


          該子程序主要用于產生Modbus輪詢隊列,會產生讀隊列readCtrl控制字和寫隊列writeCtrl控制字,正常執行時,僅執行讀隊列readCtrl控制字運算,當有寫操作時,中斷讀操作,優先執行寫操作隊列writeCtrl控制字運算,僅當寫操作完成后,會返回到之前讀隊列的中斷點開始繼續執行讀隊列。


          注意事項:該子程序需要配合Modbus通信庫使用。



          整數設定值改變時輸出功能塊

          圖片


          程序塊引腳


          圖片


          使用說明


          該子程序可以實現當輸入整數值發生改變時,把對應地址傳送到輸出地址,并輸出標志位write。


          注意事項:該子程序需要配合Modbus通信庫和ModbusQueue庫使用,不需要可以不調用。



          雙整數設定值改變時輸出功能塊

          圖片


          程序塊引腳


          圖片


          使用說明


          該子程序可以實現當輸入雙整數值發生改變時,把對應地址傳送到輸出地址,并輸出標志位write。


          注意事項:該子程序需要配合Modbus通信庫和ModbusQueue庫使用,不需要可以不調用。



          浮點數設定值改變時輸出功能塊

          圖片


          程序塊引腳


          圖片


          使用說明


          該子程序可以實現當輸入浮點數值發生改變時,把對應地址傳送到輸出地址,并輸出標志位write。


          注意事項:該子程序需要配合Modbus通信庫和ModbusQueue庫使用,不需要可以不調用。


          例程說明


          本例程解釋了Modbus輪詢庫的使用方法,以及當設定值改變時寫入的功能,如果客戶不需要設定值改變功能,僅需要調用ModbusQueue功能塊即可。



          Modbus初始化


          初始化Modbus程序,本例程中并根據庫存儲區地址,設置VB4257(mModbusRetries)重試次數為0,即只嘗試一次,加快輪詢效率。


          程序


          圖片



          Modbus輪詢序列


          該程序實現了Modbus輪詢隊列的產生,可以產生兩種獨立的隊列,讀隊列和寫隊列,并可以根據需要實時操作寫隊列,也可以實現當設定值改變時實時寫入的功能。


          本例程中,讀隊列的控制字為MD0,寫隊列的控制字為MW4。MD0每一個位可以控制一個站點讀指令MSG,Zui多可以控制32個MSG指令。MW0每一個位可以控制一個站點的寫指令MSG,Zui多可以控制32個MSG寫指令。


          程序


          圖片



          Modbus讀控制


          本例程中讀控制由讀控制字MD0控制,其中

          ?M3.0~3.7為MD0的bit0~bit7;M2.0~2.7為MD0的bit8~bit15

          ?M1.0~1.7為MD0的bit16~bit23;M0.0~0.7為MD0的bit24~bit31


          用戶可以根據現場實際需要來靈活增加或者減少讀指令個數,每個讀指令的控制由MD0對應的位來控制即可。


          程序


          圖片圖片



          Modbus寫控制


          本例程中寫控制由寫控制字MW4來控制,其中

          ?M5.0~5.7為MW4的bit0~bit7;

          ?M4.0~4.7為MW4的bit8~bit15;


          用戶可以根據現場實際需要來靈活增加或者減少寫指令個數,每個寫指令的控制由MW4對應的位來控制即可。


          程序


          圖片



          Modbus設定值改變功能塊


          用戶可以根據設定值的類型(INT/DINT/REAL)來選擇合適的指令庫來判斷設定值是否變化,若發生變化,則傳送對應參數到Modbus寫指令,并啟動寫標志位。


          用戶可以根據需要修改的參數個數來靈活調用對應指令庫。


          程序


          圖片

          聯系方式

          • 電  話:13510737515
          • 聯系人:董海波
          • 手  機:13185520415
          • 微  信:13185520415