你增加个时间看门狗就行了,比如你发024142303303第一台仪表回来数据正常,则发送024242303003查询第二台仪表数据,依次类推查询多台仪表数据,但这是常规做法,在工程施工期间,你不得不考虑仪表通讯线缆断开、仪表损坏等情况出现,如果出现这种情况,那么当你发送出数据以后,PLC会处于等待数据返回状态或出现通讯数据块通讯错误引发数据溢出的情况出现,导致后续仪表数据得不到查询,也就是说会出现你说的这种情况,我常用的办法是在PLC发出查询某台仪表的数据以后开始计时,如果计时到了以后没有数据返回或通讯数据块数据溢出,则直接跳过这台仪表,重新初始化通讯数据块并查询下块仪表数据,同时给出报警信息,提示通讯出错
你说的多台是指多少台?你用USB通信的话,应该是受限于USB的最大连接数量和供电能力吧,至于你说的轮询问题,赶紧更新最新的驱动吧
最简单的办法是分时通信,每个仪表分配一固定时间,轮询通信,当前仪表时间用完不管是否通信成功,直接切换到下一个仪表。
建议你PLC发一个,回来一组,存上。再发一组,回来另一组。。。。。。。