加入收藏 在線留言 聯系我們
        關注微信
        手機掃一掃 立刻聯系商家
        全國服務熱線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