CP341 Modbus 主站輪詢 某個從站通訊故障處理
劉玉蓉
發(fā)布于2014-12-11 17:12
4
0
標簽:
用CP341 Modbus RTU做主站 下面掛了27個從站智能儀表; 假如某個從站故障或失電,上位機需要一個通訊報警故障信號并將該從站的所有數(shù)據(jù)清0,請問程序中應該如何捕捉到該從站的故障作為標識位,我模擬了讓CP341帶幾個從站,然后斷掉一個,觀察FB7的接受塊的狀態(tài)都是正常沒有異常信息,不知各位在處理這方面的問題是如何做的,還請賜教!
佳答案
這個問題可以歸結(jié)為:Modbus 主站如何診斷從站故障?
1、如果從站為可編程智能從站,可以采用測心跳的方法:不要應用通訊模塊本身來檢測(通訊模塊發(fā)生故障時檢測不了),例如通常應用的測心跳方法,即主站與分站約定一信息位,例如,從站發(fā)送脈沖,主站檢測該信息位,如在一定的時間內(nèi)該信息位無變化,則認為無心跳了,即為通訊故障。
2、如果從站為不可編程智能從站,例如智能儀表。這要了解儀表通訊協(xié)議是否有報故障的代碼,若有接收到故障代碼時做相應處理即可?;?,在從站輪詢機制中,有從站響應的信息返回位,可根據(jù)該信息位狀態(tài)來判斷為故障,當從站沒有響應時不要再輪詢它了。