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