6SL3210-5BE17-5UV0西門子V20變頻器380V
上海麗丞工業(yè)自動(dòng)化設(shè)備有限公司
全新原裝,質(zhì)量保證,保修一年
專業(yè)銷售及維修西門子各類工控自動(dòng)化配件;
:S7-200CN、S7-200SMART、S7-300、S7-400、 S7-1200、S7-1500、ET200、LOGO邏西門子可編程控制器輯控制模塊
西門子HMI人機(jī)界面:觸摸屏
西門子變頻器:MM420、MM430、MM440、G110、G120、6SE70
西門子工業(yè)以太網(wǎng):通訊網(wǎng)卡、通訊電纜、通訊接頭、總線連接器 工控機(jī)、交換機(jī)、自動(dòng)化軟件等系型號(hào)齊全,快速報(bào)價(jià),買我們的產(chǎn)品無(wú)憂所值,我們的產(chǎn)品都承諾質(zhì)保一年,讓您買的省心舒心,用的放心!
注意:
①M(fèi)odbus_Comm_Load指令不建議在啟動(dòng)組織塊OB100中調(diào)用,建議在OB1中調(diào)用。Modbus_Comm_Load指令在OB1中調(diào)用時(shí),其輸入位“REQ”需使用上升沿觸發(fā),本例中該輸入位采用 “FirstScan” 系統(tǒng)存儲(chǔ)器位。
②Modbus_Comm_Load指令背景數(shù)據(jù)塊中的靜態(tài)變量“MODE”用于描述PTP模塊的工作模式,有效的工作模式包括:
該靜態(tài)變量“MODE”默認(rèn)數(shù)據(jù)為0(RS232 全雙工模式),需要根據(jù)CM PTP模塊實(shí)際組態(tài)修改該數(shù)值,本例中CM PTP模塊工作在RS485半雙工模式需要將該數(shù)值修改為4,如圖12.所示。
圖12. Modbus_Comm_Load背景數(shù)據(jù)塊靜態(tài)變量“MODE”修改為4
③Modbus_Master指令的“DATA_PTR”參數(shù)用于指向要進(jìn)行數(shù)據(jù)寫入或數(shù)據(jù)讀取的數(shù)據(jù)區(qū)域地址,該數(shù)據(jù)區(qū)域支持優(yōu)化訪問(wèn)的數(shù)據(jù)塊或者非優(yōu)化(標(biāo)準(zhǔn)的)數(shù)據(jù)塊,建議采用非優(yōu)化訪問(wèn)的數(shù)據(jù)塊。
本例中使用的數(shù)據(jù)區(qū)為非優(yōu)化訪問(wèn)的數(shù)據(jù)塊,在數(shù)據(jù)塊的屬性中取消“優(yōu)化的塊訪問(wèn)”即可將數(shù)據(jù)塊修改為非優(yōu)化訪問(wèn)的數(shù)據(jù)塊(鼠標(biāo)右鍵數(shù)據(jù)塊,選擇“屬性”,取消“優(yōu)化的塊訪問(wèn)”),如圖13. 所示。
圖13. 設(shè)置數(shù)據(jù)塊為非優(yōu)化訪問(wèn)
當(dāng)Modbus_Master指令的“DATA_PTR”指向非優(yōu)化訪問(wèn)的數(shù)據(jù)塊時(shí),該輸入?yún)?shù)需要使用指針?lè)绞教顚懭鏟#DB3.DBX0.0 WORD 5 方式填寫。
④當(dāng)Modbus RTU網(wǎng)絡(luò)中存在多個(gè)modbus RTU從站或一個(gè)modbus RTU從站同時(shí)需要讀操作和寫操作,則需要調(diào)用多個(gè)Modbus_Master指令,Modbus_Master指令之間需要采用輪詢方式調(diào)用。
下圖14. 用于描述兩個(gè)Modbus_Master指令輪詢調(diào)用的方式。
圖14.Modbus_Master輪詢調(diào)用方式
本例中Modbus RTU主站模塊安裝在分布式IO站點(diǎn)上,因此程序中需要考慮分布式IO站點(diǎn)故障、CM PTP 模塊插拔模塊等故障。
分布式IO站點(diǎn)中插出、拔入模塊時(shí),操作系統(tǒng)都會(huì)調(diào)用一次OB83。通過(guò)OB83接口區(qū)的輸入變量“16#Event_Class”判斷故障的模塊和類型:事件類型16#39表示模塊被拔出,事件類型16#38表示模塊被插入。
CM PTP 模塊被重新插入的時(shí)候,需要在中斷OB83中調(diào)用Modbus_Comm_Load 指令對(duì)通信模塊進(jìn)行重新組態(tài),如圖15. 所示。
圖15. OB83中再次調(diào)用Modbus_Comm_Load 指令
注意:
①OB83 中調(diào)用Modbus_Comm_Load指令的背景數(shù)據(jù)塊需要與OB1中調(diào)用的Modbus_Comm_Load指令的背景數(shù)據(jù)塊相同。
②CM PTP模塊的硬件標(biāo)識(shí)符也可以在"PLC變量"--->"系統(tǒng)常數(shù)"中查詢,如圖16. 所示。
圖16. 系統(tǒng)常量
分布式IO站點(diǎn)故障和恢復(fù)時(shí),操作系統(tǒng)都會(huì)調(diào)用一次OB86。通過(guò)OB86接口區(qū)的輸入變量“16#Event_Class”判斷故障的模塊和類型:事件類型16#39表示站點(diǎn)故障,事件類型16#38表示站點(diǎn)恢復(fù)。
CM PTP 模塊所在的IO站點(diǎn)恢復(fù)時(shí),需要在中斷OB86中調(diào)用Modbus_Comm_Load 指令對(duì)通信模塊進(jìn)行重新組態(tài),如圖17. 所示。
圖17. OB86中調(diào)用Modbus_Comm_Load 指令
注意:
①OB86 中調(diào)用Modbus_Comm_Load指令的背景數(shù)據(jù)塊需要與OB1中調(diào)用的Modbus_Comm_Load指令的背景數(shù)據(jù)塊相同。
②分布式IO 站點(diǎn)的硬件標(biāo)識(shí)符也可以在"PLC變量"--->"系統(tǒng)常數(shù)"中查詢。
Modbus RTU從站編程需要調(diào)用Modbus_Comm_Load 指令和Modbus_Slave 指令,其中Modbus_Comm_Load 指令通過(guò) Modbus RTU 協(xié)議對(duì)通信模塊進(jìn)行組態(tài),Modbus_Slave 指令可通過(guò)由 Modbus_Comm_Load 指令組態(tài)的端口作為 Modbus 從站進(jìn)行通信, Modbus_Comm_Load 指令的 MB_DB 參數(shù)必須連接到 Modbus_Slaver 指令的(靜態(tài))MB_DB 參數(shù)。
本例中CPU 機(jī)架CM1241 RS422/485作為Modbus RTU從站,其相關(guān)編程步驟如下:
圖18. 拖入Modbus RTU 從站指令
Modbus_Slave指令各參數(shù)意義如下表3所示:
引腳 |
說(shuō)明
|
---|---|
MB_ADDR |
Modbus 從站的標(biāo)準(zhǔn)尋址: |
MB_HOLD_REG |
數(shù)據(jù)指針,指向Modbus 保持寄存器的地址, Modbus 保持寄存器可以為M存儲(chǔ)區(qū)或DB數(shù)據(jù)區(qū)。 |
NDR
|
可用的新數(shù)據(jù):
|
DR
|
讀取數(shù)據(jù):
|
ERROR |
如果上一個(gè)請(qǐng)求完成出錯(cuò),則 ERROR 位將變?yōu)?TRUE 并保持一個(gè)周期。 如果執(zhí)行因錯(cuò)誤而終止,則 STATUS 參數(shù)中的錯(cuò)誤代碼僅在 ERROR = TRUE 的周期內(nèi)有效。 |
STATUS |
錯(cuò)誤代碼
|
表3 Modbus_Slave指令參數(shù)意義
注意:
①M(fèi)odbus_Comm_Load指令不建議在啟動(dòng)組織塊OB100中調(diào)用,建議在OB1中調(diào)用。Modbus_Comm_Load指令在OB1中調(diào)用時(shí),其輸入位“REQ”需使用上升沿觸發(fā),本例中該輸入位采用 “FirstScan” 系統(tǒng)存儲(chǔ)器位。
②Modbus_Comm_Load指令背景數(shù)據(jù)塊中的靜態(tài)變量“MODE”用于描述PTP模塊的工作模式,有效的工作模式包括:
該靜態(tài)變量“MODE”默認(rèn)數(shù)據(jù)為0(RS232 全雙工模式),需要根據(jù)CM1241 RS422/485模塊實(shí)際組態(tài)修改該數(shù)值,本例中CM1241 RS422/485模塊工作在RS485半雙工模式需要將該數(shù)值修改為4,如何修改“MODE”靜態(tài)變量見(jiàn)圖12.所示。③Modbus_Slave指令的“MB_HOLD_REG”用于指向Modbus 保持寄存器的數(shù)據(jù)區(qū)域地址,該數(shù)據(jù)區(qū)域支持優(yōu)化訪問(wèn)的數(shù)據(jù)塊或者非優(yōu)化(標(biāo)準(zhǔn)的)數(shù)據(jù)塊,建議采用非優(yōu)化訪問(wèn)的數(shù)據(jù)塊。
本例中使用的數(shù)據(jù)區(qū)為非優(yōu)化訪問(wèn)的數(shù)據(jù)塊,固該輸入?yún)?shù)需要使用指針?lè)绞教顚懭鏟#DB6.DBX0.0 WORD 100 方式填寫。
如何在數(shù)據(jù)塊的屬性中取消“優(yōu)化的塊訪問(wèn)”,見(jiàn)圖13. 所示。
將程序下載到PLC中,并使用Profibus DP通信電纜將CM1241 RS422/485與CM PTP串口模塊連接起來(lái),即可測(cè)試Modbus RTU通信了。
1. 新版本 Modbus RTU指令的使用是否存在些限制條件?
新版本 Modbus RTU指令通過(guò)CM1241通信模塊或CB1241通信板進(jìn)行Modbus RTU通信時(shí),需要滿足如下條件:
a. S7-1200 CPU 的固件版本不能低于V4.1;
b. CM1241通信模塊或CB1241通信板的固件不能低于V2.1。
S7-1200 V4.0 固件CPU可以通過(guò)固件更新到V4.1版本,V2.0固件的CM1241通信模塊也可以通過(guò)固件更新的方式更新到V2.1版本。
相關(guān)固件更新的方法請(qǐng)參考 S7-1200 固件更新 。
2 .Modbus_Comm_Load指令背景數(shù)據(jù)塊中的靜態(tài)變量“MODE”的作用是什么?為什么一般項(xiàng)目中,都需要對(duì)該變量進(jìn)行修改?
新版本的 Modbus RTU指令擴(kuò)展了Modbus RTU的功能,該指令除了支持CM1241通信模塊、CB1241通信板還支持 PROFINET 或 PROFIBUS 分布式 I/O 機(jī)架上的PTP通信模塊實(shí)現(xiàn)Modbus RTU通信。
而分布式 I/O 機(jī)架上的PTP通信模塊可以支持多種工作模式,以ET200SP CM PtP模塊(訂貨號(hào):6ES7137-6AA00-0BA0)為例,其可以支持RS232、RS485以及RS422等多種工作模式。
Modbus_Comm_Load指令背景數(shù)據(jù)塊中的靜態(tài)變量“MODE”則用于定義PTP模塊的工作模式。
“MODE”的默認(rèn)數(shù)值為0,代表“全雙工 (RS232)”工作模式,實(shí)際項(xiàng)目組態(tài)中則需要根據(jù)實(shí)際工作模式對(duì)該變量進(jìn)行修改。
3. Modbus_Comm_Load指令能否在啟動(dòng)組織塊OB100中調(diào)用?
Modbus_Comm_Load指令不建議在啟動(dòng)組織塊OB100中調(diào)用。新版本的Modbus RTU指令擴(kuò)展了Modbus RTU的功能,該指令支持 PROFINET 或 PROFIBUS 分布式 I/O 機(jī)架上的PtP通信模塊實(shí)現(xiàn)Modbus RTU通信。
操作系統(tǒng)需要調(diào)用讀取數(shù)據(jù)記錄和寫入數(shù)據(jù)記錄等指令來(lái)實(shí)現(xiàn)與分布式I/O機(jī)架上PtP模塊的Modbus RTU通信。讀取數(shù)據(jù)記錄和寫入數(shù)據(jù)記錄指令為異步讀寫指令,指令的執(zhí)行需要N個(gè)掃描周期,所以不建議Modbus_Comm_Load指令在啟動(dòng)組織塊OB100中調(diào)用。
4. 如何查詢Modbus RTU通信錯(cuò)誤時(shí)的錯(cuò)誤代碼?
以Modbus_Master指令為例,當(dāng)通信出現(xiàn)錯(cuò)誤時(shí),Modbus_Master指令的“ERROR”輸出位將變?yōu)?TRUE 但是只保持一個(gè)掃描周期,所以通過(guò)TIA 軟件程序監(jiān)控時(shí)無(wú)法查詢到錯(cuò)誤。
Modbus_Master指令“STATUS” 參數(shù)中的錯(cuò)誤代碼僅在“ERROR” = TRUE 的掃描周期內(nèi)有效,為了獲取了Modbus RTU通信錯(cuò)誤的錯(cuò)誤代碼我們可以采用下圖19. 方式編程。
圖19. 獲取STATUS
6SL3210-5BE17-5UV0西門子V20變頻器380V