ELEOK
標題: 遠程監控S7-200SMART各內部寄存器在MODBUS-RTU/TCP中的應用匯總 [打印本頁]
作者: EMCPGX 時間: 2019-2-14 09:05
標題: 遠程監控S7-200SMART各內部寄存器在MODBUS-RTU/TCP中的應用匯總
西門子S7-200 SMART PLC具備非常大的市場占有量,很多同學在應用200SMART時,經常會遇到PLC作為MODBUS-RTU從站或MODBUS-TCP服務器來進行數據通訊的問題。在這里我進行了一個小結,也是對自己近期工作的一個知識點匯總,拋磚引玉。
一,S7-200SMART做MODBUS-RTU從站時的程序段:
1.png (72.74 KB)
下載附件
2019-2-14 09:04 上傳
2.png (71.68 KB)
下載附件
2019-2-14 09:04 上傳
注意事項:
1、MBUS_INIT為參數初始化功能塊,只在第一次啟動時運行一次,不能一直運行,會導致無法通訊;
2、MBUS_INT的【PORT】參數一定要設置為對應的PORT口,本機的為0,擴展模塊的為1;
3、MaxHold的長度是以VW為單位的,所以圖中的程序做遠程控制的時候,平臺主站可以進行讀到MODBUS地址保持寄存器長度為300個;
4、一定要記得在程序里面對庫分配地址:
3.png (41.78 KB)
下載附件
2019-2-14 09:04 上傳
4.png (24.54 KB)
下載附件
2019-2-14 09:04 上傳
二、S7-200SMART做MODBUS-RTU從站時的程序段
5.png (73.65 KB)
下載附件
2019-2-14 09:04 上傳
注意事項:
1、PLC做MODBUS服務器時,MBS_Connect是一直使能的;
2、IPaddr1到IPaddr4分別對應IP地址的4個字節,比如192.168.0.1,IPaddr1對應192,IPaddr2對應168依次類推。這4個參數共同約定了能夠訪問此PLC的客戶端的IP。比如這4個參數是192.168.0.100,那么不是這個IP的MODBUS客戶端就無法與這個PLC建立通訊。設置為0.0.0.0時,任意同網段的客戶端就都可以跟PLC建立通訊;
3、MODBUS-TCP通訊是弱化了從站號的,客戶端以任意一個從站號給PLC發指令,PLC以該從站號作為通訊回應。也就是說只要TCP通訊通過IP地址建立成功了,那么就可以不用管從站號了。
4、同MOBDUS-RTU從站,一定要記得分配庫地址;
三、S7-200SMART內部寄存器對應的MODBUS指令
6.png (74.72 KB)
下載附件
2019-2-14 09:04 上傳
注意:V區作為MODBUS的保持寄存器區,一個讀指令只能讀到120個字長度的數據,在平臺進行MODBUS指令通道設置時需要注意長度限制;
上面就是此次使用S7-200SMART進行遠程監控時使用的方法和注意事項小結,給大家看看效果:
電腦端:
7.png (286.07 KB)
下載附件
2019-2-14 09:04 上傳
手機端
8.jpg (266.18 KB)
下載附件
2019-2-14 09:04 上傳
9.jpg (109.69 KB)
下載附件
2019-2-14 09:04 上傳
| 歡迎光臨 ELEOK (http://m.afoofa.cn/) |
Powered by Discuz! X5.0 |