加入收藏 在線留言 聯系我們
        關注微信
        手機掃一掃 立刻聯系商家
        全國服務熱線13185520415
        公司新聞
        西門子S7-1200 Modbus RTU通信及V3版指令功能
        發布時間: 2023-12-22 17:48 更新時間: 2024-11-21 08:00
        觀看西門子S7-1200 Modbus RTU通信及V3版指令功能視頻

        第一部分:S7-1200 Modbus RTU通信

        (一)概述Modbus具有兩種串行傳輸模式:分別為ASCII和RTU。Modbus是一種單主站的主從通信模式,Modbus網絡上只能有一個主站存在,主站在Modbus網絡上沒有地址,每個從站必須有唯一的地址,從站的地址范圍為0 - 247,其中0為廣播地址,從站的實際地址范圍為1-247。Modbus RTU通信以主從的方式進行數據傳輸,在傳輸的過程中Modbus RTU主站是主動方,即主站發送數據請求報文到從站,Modbus RTU從站返回響應報文。S7-1200以下模塊支持 Modbus RTU通信:
        通信模塊/通信板訂貨號
        CM1241 RS2326ES7241-1AH32-0XB0
        CM1241 RS422/4856ES7241-1CH32-0XB0
        CB 1241 RS4856ES7241-1CH30-1XB0
        注意:(1)使用通信模塊CM 1241 RS232作為Modbus RTU主站時,只能與一個從站通訊。
        (2)使用通信模塊CM 1241 RS485作為Modbus RTU主站時,則允許建立Zui多與 32 個從站的通訊。
        (3)使用通信板CB 1241 RS485時,CPU 固件必須為 V2.0 或更高版本,且使用軟件必須為STEP 7 Basic V11 或STEP 7 Professional V11 以上更高版本。(二)Modbus RTU指令版本與限制隨著博途軟件和 S7-1200 CPU 固件的不斷更新,S7-1200 Modbus RTU 指令也出現了不同的版本。用戶需要根據使用的軟件和硬件,正確選擇使用符合要求的 S7-1200 Modbus RTU 指令來實現 Modbus RTU 通信,其軟件和硬件要求和指令版本說明如下。(1)博途中的 S7-1200 Modbus RTU 指令博途中提供了2個版本的 Modbus RTU指令。如下圖 1 所示:
      1. 早期版本的 Modbus RTU 指令(圖1. 中 MODBUS (V2.2))僅可通過 CM1241 通信模塊或 CB1241 通信板進行 Modbus RTU 通信。
      2. 新版本的 Modbus RTU 指令(圖1. 中 MODBUS(RTU) V3.0)擴展了 Modbus RTU 的功能,該指令除了支持 CM1241 通信模塊、CB1241 通信板,還支持 PROFINET 或 PROFIBUS 分布式 I/O 機架上的 PTP 通信模塊實現 Modbus RTU 通信。
      3. (2)新版本 Modbus RTU 指令的使用限制條件
        新版本 Modbus RTU 指令通過CM1241通信模塊或CB1241通信板進行Modbus RTU通信時,需要滿足如下條件:
        a. S7-1200 CPU 的固件版本不能低于V4.1
        b. CM1241通信模塊 V2.1 以上或 CB1241

        圖片

        圖1. 兩個版本 Modbus RTU 指令

        (三)常見問題(1)S7-1200 是否支持 Modbus ASCII 通信模式?西門子不提供支持上述通信模式的的現成指令,需要用戶自己用自由口模式編程。(2)Modbus RTU指令V1和V2兩個版本有什么區別?Modbus RTU指令版本 V2 將參數 “REQ” 和 “DONE” 添加到“MB_COMM_LOAD”指令。而且,“MB_MASTER”和“MB_SLAVE ”指令的“MB_ADDR ”參數現在允許一個 UInt 值以進行擴展尋址。


        (3)同一CPU程序中是否可以同時使用V1和V2兩個不同版本的Modbus RTU指令?不能在同一CPU 程序中同時使用V1(V1.x)和V2(V2.y)指令版本。用戶程序的 Modbus 指令必須具有相同的主版本號;主版本組內的各個指令可具有不同的次版本號。(4)S7-1200 通信模塊CM1241是否可作為Modbus RTU主站或作為Modbus RTU從站?對S7-1200 通信模塊CM1241組態并編程調用“MB_COMM_LOAD”指令,可將其設置為Modbus RTU通信模式。通過編程調用“MB_MASTER”指令,S7-1200 通信模塊CM1241可作為Modbus RTU主站,或調用“MB_SLAVE”指令,S7-1200 通信模塊CM1241可作為Modbus RTU從站。注意:無論S7-1200 通信模塊CM1241作為Modbus RTU主站還是從站,都需要調用“MB_COMM_LOAD”指令進行編程。(5)S7-1200 CM1241/CB1241 Modbus RTU 通信是否支持兩位停止位?支持。注意:S7-1200 CM1241/CB1241屬性里可以設置停止位, 但是該模塊用于 Modbus 通信時,此設置的停止位無效, 需要在 Modbus_Commload 指令的背景 DB 里 Static 修改 STOP_BITS停止位數值為 2。如下圖 2-3所示:

        圖片

        圖2. CM1241 配置停止位參數

        聯系方式

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