西門子總代理6ES7195-1GA00-0XA0
技術(shù)數(shù)據(jù)
SIMATIC DP,異型導(dǎo)軌針對 ET 200M,482.6 mm 長,用于 zui多 5 個(gè)總線模塊,適合用于 插拔功能 | ||
附件 | ||
屬于產(chǎn)品 | ET 200M | |
尺寸 | ||
寬度 | 482.6 mm | |
高度 | 122 mm | |
重量 | ||
重量,約 | 1 221 g | |
上一次修改: | 2018/4/13 |
2.軟件編程西門子ET200M異型導(dǎo)軌
a.Modbus RTU 主站編程
Modbus RTU主站編程需要調(diào)用Modbus_Comm_Load 指令和Modbus_Master 指令,其中Modbus_Comm_Load 指令通過 Modbus RTU 協(xié)議對通信模塊進(jìn)行組態(tài),Modbus_Master 指令可通過由 Modbus_Comm_Load 指令組態(tài)的端口作為 Modbus 主站進(jìn)行通信, Modbus_Comm_Load 指令的 MB_DB 參數(shù)必須連接到 Modbus_Master 指令的(靜態(tài))MB_DB 參數(shù)。
本例中分布式機(jī)架ET200SP 中 CM PTP 模塊作為Modbus RTU主站,其相關(guān)編程步驟如下:
(1)、OB1 中插入一個(gè)FC函數(shù),并在函數(shù)中拖入Modbus_Comm_Load 指令和Modbus_Master 指令。如圖11. 所示
圖11. 拖入Modbus RTU 主站指令
Modbus_Comm_Load指令各參數(shù)意義如下表1所示:
引腳 | 說明 |
---|---|
REQ | 上升沿觸發(fā) |
PORT | 通信端口的硬件標(biāo)識符 |
BAUD | 波特率選擇:3600,6000,12000,2400,4800,9600,19200,38400,57600,76800,115200 |
PARITY | 奇偶檢驗(yàn)選擇:0-無;1-奇校驗(yàn);2-偶校驗(yàn) |
FLOW_CTRL | 流控制選擇:0-(默認(rèn)值)無流控制 |
RTS_ON_DLY | RTS延時(shí)選擇:0-(默認(rèn)值) |
RTS_OFF_DLY | RTS關(guān)斷延時(shí)選擇:0-(默認(rèn)值) |
RESP_TO | 響應(yīng)超時(shí): 默認(rèn)值 = 1000 ms。MB_MASTER 允許用于從站響應(yīng)的時(shí)間(以毫秒為單位)。 |
MB_DB | 對 Modbus_Master 或 Modbus_Slave 指令的背景數(shù)據(jù)塊的引用。 |
DONE | 如果上一個(gè)請求完成并且沒有錯(cuò)誤,DONE 位將變?yōu)?TRUE 并保持一個(gè)周期。 |
ERROR | 如果上一個(gè)請求完成出錯(cuò),則 ERROR 位將變?yōu)?TRUE 并保持一個(gè)周期。 STATUS 參數(shù)中的錯(cuò)誤代碼僅在 ERROR = TRUE 的周期內(nèi)有效。 |
STATUS | 端口組態(tài)錯(cuò)誤代碼,請參考TIA 軟件在線幫助或S7-1200 系統(tǒng)手冊。 |
表1 MB_COMM_LOAD指令參數(shù)意義西門子ET200M異型導(dǎo)軌
Modbus_Master指令各參數(shù)意義如下表2所示:
引腳 | 說明 |
---|---|
EN | 使能端 |
REQ | TRUE = 請求向 Modbus 從站發(fā)送數(shù)據(jù) ,建議采用上升沿觸發(fā) |
MB_ADDR | Modbus RTU從站地址。默認(rèn)地址范圍:0至247;擴(kuò)展地址范圍:0至65535。值0被保留用于將消息廣播到所有Modbus從站。 |
MODE | 模式選擇: 請求類型(讀取或?qū)懭耄?/p> |
DATA_ADDR | 從站中的起始地址:Modbus從站中將供訪問的數(shù)據(jù)的起始地址。 |
DATA_LEN | 數(shù)據(jù)長度:要在該請求中訪問的位數(shù)或字?jǐn)?shù)。 |
DATA_PTR | 數(shù)據(jù)指針: 指向要進(jìn)行數(shù)據(jù)寫入或數(shù)據(jù)讀取的標(biāo)記或數(shù)據(jù)塊地址。 |
DONE | 完成位:上一請求已完成且沒有出錯(cuò)后,DONE 位將保持為 TRUE 一個(gè)掃描周期時(shí)間。 |
BUSY | FALSE – Modbus_Master 無激活命令: |
ERROR | 對 Modbus_Master 或 Modbus_Slave 指令的背景數(shù)據(jù)塊的引用。 |
STATUS | 如果上一個(gè)請求完成并且沒有錯(cuò)誤,DONE 位將變?yōu)?TRUE 并保持一個(gè)周期。 |
ERROR | 如果上一個(gè)請求完成出錯(cuò),則 ERROR 位將變?yōu)?TRUE 并保持一個(gè)周期。 STATUS 參數(shù)中的錯(cuò)誤代碼僅在 ERROR = TRUE 的周期內(nèi)有效。 |
STATUS | 錯(cuò)誤代碼 |
表2 Modbus_Master指令參數(shù)意義
注意:
①M(fèi)odbus_Comm_Load指令不建議在啟動組織塊OB100中調(diào)用,建議在OB1中調(diào)用。Modbus_Comm_Load指令在OB1中調(diào)用時(shí),其輸入位“REQ”需使用上升沿觸發(fā),本例中該輸入位采用 “FirstScan” 系統(tǒng)存儲器位。
②Modbus_Comm_Load指令背景數(shù)據(jù)塊中的靜態(tài)變量“MODE”用于描述PTP模塊的工作模式,有效的工作模式包括:
- 0 = 全雙工 (RS232)
- 1 = 全雙工 (RS422) 四線制模式(點(diǎn)對點(diǎn))
- 2 = 全全雙工 (RS 422) 四線制模式(多點(diǎn)主站,CM PtP (ET 200SP))
- 3 = 全全雙工 (RS 422) 四線制模式(多點(diǎn)從站,CM PtP (ET 200SP))
- 4 = 半雙工 (RS485) 二線制模式
該靜態(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)化訪問的數(shù)據(jù)塊或者非優(yōu)化(標(biāo)準(zhǔn)的)數(shù)據(jù)塊,建議采用非優(yōu)化訪問的數(shù)據(jù)塊。
本例中使用的數(shù)據(jù)區(qū)為非優(yōu)化訪問的數(shù)據(jù)塊,在數(shù)據(jù)塊的屬性中取消“優(yōu)化的塊訪問”即可將數(shù)據(jù)塊修改為非優(yōu)化訪問的數(shù)據(jù)塊(鼠標(biāo)右鍵數(shù)據(jù)塊,選擇“屬性”,取消“優(yōu)化的塊訪問”),如圖13. 所示。
圖13. 設(shè)置數(shù)據(jù)塊為非優(yōu)化訪問
當(dāng)Modbus_Master指令的“DATA_PTR”指向非優(yōu)化訪問的數(shù)據(jù)塊時(shí),該輸入?yún)?shù)需要使用指針方式填寫如P#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)用方式西門子總代理6ES7195-1GA00-0XA0
(2)、插入"Pull or plug of modules" 中斷OB83。
本例中Modbus RTU主站模塊安裝在分布式IO站點(diǎn)上,因此程序中需要考慮分布式IO站點(diǎn)故障、CM PTP 模塊插拔模塊等故障。
分布式IO站點(diǎn)中插出、拔入模塊時(shí),操作系統(tǒng)都會調(diào)用一次OB83。通過OB83接口區(qū)的輸入變量“16#Event_Class”判斷故障的模塊和類型:事件類型16#39表示模塊被拔出,事件類型16#38表示模塊被插入。
CM PTP 模塊被重新插入的時(shí)候,需要在中斷OB83中調(diào)用Modbus_Comm_Load 指令對通信模塊進(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)識符也可以在"PLC變量"--->"系統(tǒng)常數(shù)"中查詢,如圖16. 所示。
圖16. 系統(tǒng)常量西門子總代理6ES7195-1GA00-0XA0
(3)、插入"Rack or Station failure" 中斷OB86。
分布式IO站點(diǎn)故障和恢復(fù)時(shí),操作系統(tǒng)都會調(diào)用一次OB86。通過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 指令對通信模塊進(jìn)行重新組態(tài),如圖17. 所示。
圖17. OB86中調(diào)用Modbus_Comm_Load 指令
注意: 西門子總代理6ES7195-1GA00-0XA0
①OB86 中調(diào)用Modbus_Comm_Load指令的背景數(shù)據(jù)塊需要與OB1中調(diào)用的Modbus_Comm_Load指令的背景數(shù)據(jù)塊相同。
②分布式IO 站點(diǎn)的硬件標(biāo)識符也可以在"PLC變量"--->"系統(tǒng)常數(shù)"中查詢。