一看你就是没有经验
尽量考虑全面一些。这些都是我根据你的描述做出的自己理解,若有出入,请忽略
1、首先轮询时如果通讯失败有错误代码反馈,一般无法联系主机或者主句无响应,只能认为离线,注意这里的离线是两种我们归为一种,没电离线和断线离线。注意这里是根据错误代码判断
2、离线后,做一个标志不再访问该该站,因为你是2个站,一个bool即可,bool设置为ture,然后访问2号站,如果2号站访问成功就访问,访问不成功,就把bool设置为false,接着访问1站。
3、注意这里有2个问题:
a、否访问成功时,还需判断运行状态,最好有能判断运行状态的,那个bool和这个运行状态也要关联,只有通讯OK且设备运行时才继续访问,否则来回的切换。比如1和2号站都访问成功且没有运行,这时候就报设备未运行。
b、两个都访问不成功时,敲黑板:我说的是访问不成功时(就不存在运行状态的判断了),短时间内轮序次数超过2次即可报异常,比如设备均为运行