6SL3210-5BE15-5UV0西門子V20變頻器380V
Modbus具有兩種串行傳輸模式:分別為ASCII和RTU。Modbus是一種單主站的主從通信模式,Modbus網(wǎng)絡(luò)上只能有一個(gè)主站存在,主站在Modbus網(wǎng)絡(luò)上沒(méi)有地址,每個(gè)從站必須有唯一的地址,從站的地址范圍為0 - 247,其中0為廣播地址,從站的實(shí)際地址范圍為1 - 247。
Modbus RTU通信以主從的方式進(jìn)行數(shù)據(jù)傳輸,在傳輸?shù)倪^(guò)程中Modbus RTU主站是主動(dòng)方,即主站發(fā)送數(shù)據(jù)請(qǐng)求報(bào)文到從站,Modbus RTU從站返回響應(yīng)報(bào)文。
S7-1200以下模塊支持 Modbus RTU通信:
注意:
隨著 TIA PORATL 軟件和 S7-1200 CPU 固件的不斷更新,S7-1200 Modbus RTU 指令也出現(xiàn)了不同的版本。 用戶需要根據(jù)使用的軟件和硬件,正確選擇使用符合要求的 S7-1200 Modbus RTU 指令來(lái)實(shí)現(xiàn) Modbus RTU 通信。
軟件,硬件要求和指令版本說(shuō)明如下。
軟件 STEP 7 V11版本開(kāi)始,可以從“指令”→“通信處理器”→“MODBUS”下直接調(diào)用 “MB_COMM_LOAD”和“MB_MASTER”或“MB_SLAVE”指令,如下圖1所示:
圖1 Modbus RTU指令
Modbus RTU指令有兩個(gè)版本:分別為V1 和V2。版本V1最初在 STEP 7 Basic V10.5 中提供;版本V2 在 STEP 7 Basic/Professional V11 中提供。
TIA V13 SP1版本軟件中提供了2個(gè)版本的 Modbus RTU指令。如下圖 2 所示:
注意:新版本 Modbus RTU 指令的使用限制條件
S7-1200 是否支持 Modbus ASCII 通信模式?
西門子不提供支持上述通信模式的的現(xiàn)成指令,需要用戶自己用自由口模式編程。
Modbus RTU指令V1和V2兩個(gè)版本有什么區(qū)別?
Modbus RTU指令版本 V2 將參數(shù) “REQ” 和 “DONE” 添加到“MB_COMM_LOAD”指令。而且,“MB_MASTER”和“MB_SLAVE ”指令的“MB_ADDR ”參數(shù)現(xiàn)在允許一個(gè) UInt 值以進(jìn)行擴(kuò)展尋址。
同一CPU程序中是否可以同時(shí)使用V1和V2兩個(gè)不同版本的Modbus RTU指令?
不能在同一CPU 程序中同時(shí)使用V1(V1.x)和V2(V2.y)指令版本。用戶程序的 Modbus 指令必須具有相同的主版本號(hào);主版本組內(nèi)的各個(gè)指令可具有不同的次版本號(hào)。
S7-1200 通信模塊CM1241是否可作為Modbus RTU主站或作為Modbus RTU從站?
對(duì)S7-1200 通信模塊CM1241組態(tài)并編程調(diào)用“MB_COMM_LOAD”指令,可將其設(shè)置為Modbus RTU通信模式。通過(guò)編程調(diào)用“MB_MASTER”指令,S7-1200 通信模塊CM1241可作為Modbus RTU主站,或調(diào)用“MB_SLAVE”指令,S7-1200 通信模塊CM1241可作為Modbus RTU從站。
注意:無(wú)論S7-1200 通信模塊CM1241作為Modbus RTU主站還是從站,都需要調(diào)用“MB_COMM_LOAD”指令進(jìn)行編程。
S7-1200 CM1241/CB1241 Modbus RTU 通信是否支持兩位停止位?
支持。
注意:S7-1200 CM1241/CB1241屬性里可以設(shè)置停止位, 但是該模塊用于 Modbus 通信時(shí),此設(shè)置的停止位無(wú)效, 需要在 Modbus_Commload 指令的背景 DB 里 Static 修改 STOP_BITS停止位數(shù)值為 2。如下圖 3, 4所示:
圖3. CM1241 配置停止位參數(shù)
Modbus_Commload 指令的背景 DB 里 Static 修改 STOP_BITS停止位數(shù)值為 2(默認(rèn)值=1)
圖4. 修改 Modbus RTU 通信停止位
S7-1200 Modbus RTU 通信概述
通信模塊/通信板
訂貨號(hào)
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主站時(shí),只能與一個(gè)從站通訊。
2. 使用通信模塊CM 1241 RS485作為Modbus RTU主站時(shí),則允許建立最多與 32 個(gè)從站的通訊。
3. 使用通信板CB 1241 RS485時(shí),CPU 固件必須為 V2.0 或更高版本,且使用軟件必須為STEP 7 Basic V11 或STEP 7 Professional V11 以上更高版本。
S7-1200 Modbus RTU 指令
軟件 STEP 7 V11 中的 S7-1200 Modbus RTU 指令
軟件 STEP 7 V13 SP1 中的 S7-1200 Modbus RTU 指令
新版本 Modbus RTU 指令通過(guò)CM1241通信模塊或CB1241通信板進(jìn)行Modbus RTU通信時(shí),需要滿足如下條件:
a. S7-1200 CPU 的固件版本不能低于V4.1;
b. CM1241通信模塊 V2.1 以上或 CB1241。
圖2. 兩個(gè)版本 Modbus RTU 指令
常問(wèn)問(wèn)題:
6SL3210-5BE15-5UV0西門子V20變頻器380V