一看你就是沒有經(jīng)驗
盡量考慮全面一些。這些都是我根據(jù)你的描述做出的自己理解,若有出入,請忽略
1、首先輪詢時如果通訊失敗有錯誤代碼反饋,一般無法聯(lián)系主機或者主句無響應(yīng),只能認為離線,注意這里的離線是兩種我們歸為一種,沒電離線和斷線離線。注意這里是根據(jù)錯誤代碼判斷
2、離線后,做一個標(biāo)志不再訪問該該站,因為你是2個站,一個bool即可,bool設(shè)置為ture,然后訪問2號站,如果2號站訪問成功就訪問,訪問不成功,就把bool設(shè)置為false,接著訪問1站。
3、注意這里有2個問題:
a、否訪問成功時,還需判斷運行狀態(tài),最好有能判斷運行狀態(tài)的,那個bool和這個運行狀態(tài)也要關(guān)聯(lián),只有通訊OK且設(shè)備運行時才繼續(xù)訪問,否則來回的切換。比如1和2號站都訪問成功且沒有運行,這時候就報設(shè)備未運行。
b、兩個都訪問不成功時,敲黑板:我說的是訪問不成功時(就不存在運行狀態(tài)的判斷了),短時間內(nèi)輪序次數(shù)超過2次即可報異常,比如設(shè)備均為運行