臺州市西門子一級PLC模塊代理商
| 更新時間 2024-12-02 08:00:00 價格 請來電詢價 西門子PLC 西門子觸摸屏 西門子伺服電機 西門子變頻器 西門子直流調速器 西門子電纜 聯系電話 13922889745 聯系手機 18475208684 聯系人 向小姐 立即詢價 |
二、軟件編程
1Modbus RTU 主站編程
Modbus RTU主站編程需要調用Modbus_Comm_Load指令和Modbus_Master指令,其中Modbus_Comm_Load指令通過Modbus RTU協議對通信模塊進行組態,Modbus_Master指令可通過由Modbus_Comm_Load指令組態的端口作為Modbus主站進行通信,Modbus_Comm_Load指令的MB_DB參數必須連接到Modbus_Master指令的(靜態)MB_DB參數。
本例中分布式機架ET200SP中CM PTP模塊作為Modbus RTU主站,其相關編程步驟如下:
注意
① Modbus_Comm_Load指令不建議在啟動組織塊OB100中調用,建議在OB1中調用。Modbus_Comm_Load指令在OB1中調用時,其輸入位“REQ”需使用上升沿觸發,本例中該輸入位采用 “FirstScan” 系統存儲器位。
② Modbus_Comm_Load指令背景數據塊中的靜態變量“MODE”用于描述PTP模塊的工作模式,有效的工作模式包括:
· 0 = 全雙工 (RS232)
· 1 = 全雙工 (RS422) 四線制模式(點對點)
· 2 = 全全雙工 (RS 422) 四線制模式(多點主站,CM PtP (ET 200SP))
· 3 = 全全雙工 (RS 422) 四線制模式(多點從站,CM PtP (ET 200SP))
· 4 = 半雙工 (RS485) 二線制模式
該靜態變量“MODE”默認數據為0(RS232 全雙工模式),需要根據CM PTP模塊實際組態修改該數值,本例中CM PTP模塊工作在RS485半雙工模式需要將該數值修改為4,如圖12所示。
圖12. Modbus_Comm_Load背景數據塊靜態變量“MODE”修改為4
③ Modbus_Master指令的“DATA_PTR”參數用于指向要進行數據寫入或數據讀取的數據區域地址,該數據區域支持優化訪問的數據塊或者非優化(標準的)數據塊,建議采用非優化訪問的數據塊。
本例中使用的數據區為非優化訪問的數據塊,在數據塊的屬性中取消“優化的塊訪問”即可將數據塊修改為非優化訪問的數據塊(鼠標右鍵數據塊,選擇“屬性”,取消“優化的塊訪問”),如圖13所示。
圖13. 設置數據塊為非優化訪問
當Modbus_Master指令的“DATA_PTR”指向非優化訪問的數據塊時,該輸入參數需要使用指針方式填寫如P#DB3.DBX0.0 WORD 5 方式填寫。
④ 當Modbus RTU網絡中存在多個modbus RTU從站或一個modbus RTU從站同時需要讀操作和寫操作,則需要調用多個Modbus_Master指令,Modbus_Master指令之間需要采用輪詢方式調用。
下圖14用于描述兩個Modbus_Master指令輪詢調用的方式。
圖14.Modbus_Master輪詢調用方式
本例中Modbus RTU主站模塊安裝在分布式IO站點上,因此程序中需要考慮分布式IO站點故障、CM PTP 模塊插拔模塊等故障。
分布式IO站點中插出、拔入模塊時,操作系統都會調用一次OB83。通過OB83接口區的輸入變量“16#Event_Class”判斷故障的模塊和類型:事件類型16#39表示模塊被拔出,事件類型16#38表示模塊被插入。
CM PTP 模塊被重新插入的時候,需要在中斷OB83中調用Modbus_Comm_Load 指令對通信模塊進行重新組態,如圖15所示。
圖15. OB83中再次調用Modbus_Comm_Load 指令
注意
① OB83 中調用Modbus_Comm_Load指令的背景數據塊需要與OB1中調用的Modbus_Comm_Load指令的背景數據塊相同。
② CM PTP模塊的硬件標識符也可以在"PLC變量"--->"系統常數"中查詢,如圖16. 所示。
圖16. 系統常量
分布式IO站點故障和恢復時,操作系統都會調用一次OB86。通過OB86接口區的輸入變量“16#Event_Class”判斷故障的模塊和類型:事件類型16#39表示站點故障,事件類型16#38表示站點恢復。
CM PTP 模塊所在的IO站點恢復時,需要在中斷OB86中調用Modbus_Comm_Load 指令對通信模塊進行重新組態,如圖17所示。
圖17. OB86中調用Modbus_Comm_Load 指令
注意
①OB86 中調用Modbus_Comm_Load指令的背景數據塊需要與OB1中調用的Modbus_Comm_Load指令的背景數據塊相同。
② 分布式IO 站點的硬件標識符也可以在"PLC變量"--->"系統常數"中查詢。
聯系方式
- 電 話:13922889745
- 經理:向小姐
- 手 機:18475208684
- 微 信:18475208684