西門子s7-1200 modbus rtu 通信概述西門子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 rs232 6es7 241-1ah32-0xb0
cm1241 rs485 6es7 241-1ch30-0xb0
cm1241 rs422/485 6es7 241-1ch32-0xb0
cb 1241 rs485 6es7 241-1ch30-1xb0
注意:
1. 使用通信模塊cm 1241 rs232作為modbus rtu主站時,只能與一個從站通訊。
2. 使用通信模塊cm 1241 rs485作為modbus rtu主站時,則允許建立多與 32 個從站的通訊。
3. 使用通信板cb 1241 rs485時,cpu 固件必須為 v2.0 或更高版本,且使用軟件必須為step 7 basic v11 或step 7 professional v11 以上更高版本。
s7-1200 modbus rtu指令隨著 tia poratl 軟件和 s7-1200 cpu 固件的不斷更新,s7-1200 modbus rtu 指令也出現了不同的版本。 用戶需要根據使用的軟件和硬件,正確選擇使用符合要求的 s7-1200 modbus rtu 指令來實現 modbus rtu 通信。
軟件,硬件要求和指令版本說明如下。
軟件 step 7 v11 中的 s7-1200 modbus rtu指令
軟件 step 7 v11版本開始,可以從“指令”→“通信處理器”→“modbus”下直接調用 “mb_comm_load”和“mb_master”或“mb_slave”指令,如下圖1所示:
圖1 modbus rtu指令
modbus rtu指令有兩個版本:分別為v1 和v2。版本v1初在 step 7 basic v10.5 中提供;版本v2 在 step 7 basic/professional v11 中提供。
軟件 step 7 v13 sp1 中的 s7-1200 modbus rtu指令
tia v13 sp1版本軟件中提供了2個版本的 modbus rtu指令。如下圖 2 所示:
早期版本的 modbus rtu 指令(圖2. 中 modbus (v2.2))僅可通過 cm1241 通信模塊或 cb1241 通信板進行 modbus rtu 通信。新版本的 modbus rtu 指令(圖2. 中 modbus(rtu) v3.0)擴展了 modbus rtu 的功能,該指令除了支持 cm1241 通信模塊、cb1241 通信板,還支持 profinet 或 profibus 分布式 i/o 機架上的 ptp 通信模塊實現 modbus rtu 通信。注意:新版本 modbus rtu 指令的使用限制條件
新版本 modbus rtu 指令通過cm1241通信模塊或cb1241通信板進行modbus rtu通信時,需要滿足如下條件:
a. s7-1200 cpu 的固件版本不能低于v4.1;
b. cm1241通信模塊 v2.1 以上或 cb1241。
圖2. 兩個版本 modbus rtu 指令
常問問題:s7-1200是否支持 modbus ascii 通信模式?
西門子不提供支持上述通信模式的的現成指令,需要用戶自己用自由口模式編程。
modbus rtu指令v1和v2兩個版本有什么區別?
modbus rtu指令版本 v2 將參數 “req” 和 “done” 添加到“mb_comm_load”指令。而且,“mb_master”和“mb_slave ”指令的“mb_addr ”參數現在允許一個 uint 值以進行擴展尋址。
同一cpu程序中是否可以同時使用v1和v2兩個不同版本的modbus rtu指令?
不能在同一cpu 程序中同時使用v1(v1.x)和v2(v2.y)指令版本。用戶程序的 modbus 指令必須具有相同的主版本號;主版本組內的各個指令可具有不同的次版本號。
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”指令進行編程。
s7-1200cm1241/cb1241 modbus rtu 通信是否支持兩位停止位?
支持。
注意:s7-1200 cm1241/cb1241屬性里可以設置停止位, 但是該模塊用于 modbus 通信時,此設置的停止位無效, 需要在 modbus_commload 指令的背景 db 里 static 修改 stop_bits停止位數值為 2。如下圖 3, 4所示:
圖3. cm1241 配置停止位參數
modbus_commload 指令的背景 db 里 static 修改 stop_bits停止位數值為 2(默認值=1)
食品衛生級不銹鋼氣動隔膜泵特點和應用
SOR流量開關怎樣計量產生的流量?
熱水鍋爐運行時各項參數控制要點
阻火模塊在電廠施工起來方便嗎
西紅柿綁枝機 葡萄園手動綁蔓器
西門子S7-1200 Modbus RTU 通信概述
井下裝載機的磨合期注意事項
氣動襯氟蝶閥的結構特點與氣動執行器附件選項
FOM2/mts土壤水分溫度電導率速測儀
幾種典型液體動靜承結構特點與應用
看懂平床身線軌數控車床結構設計
丙烯酸類樹脂骨水泥彎曲疲勞試驗機詳細介紹
積累正能量 高低溫試驗箱行業發展忌浮躁
不銹鋼旋流消除器碳鋼旋流防止器的技術特點及參數
UT890D+數字萬用表技術參數
不銹鋼反應釜夾套類型
HAWE哈威蓄能器AC 13-1/4-25的應用
花崗石花崗巖的原材料成分怎么構成
噴槍的分類和噴槍的維護注意事項
濰坊醫療行業如何選用空調?