正如标题所说,
目前项目工程中使用串口服务器扩展了许多串口,
然后连接上一些读写器,
具体连接大致如下:
PC(网口)--(1)--串口服务器--(2)--滑环(这里可以无视,万用笔测量线路都是OK的)--(3)--读写器
问题在于:
A:连接正常的情况下,一切都OK,通讯正常,数据正常;
B:将读写器的连接(3处)断开,也就是串口服务器出来的线并没有接上设备(读写器),此时往串口发送数据的时候,按道理应该无任何响应,但是串口监视可以看到确实返回了一些"野数据",而且有时只有一次回应然后程序直接没了,有时会有多次响应然后超时;曾考虑的原因:
A:考虑到有没有可能是串口服务器做了什么手脚,所以做了实验,只断开串口服务器到读写器的连接(2处),则一切正常,串口无数据返回;
B:也可能是(2)(3)处的通讯线有问题,于是用万用笔一一测量,均是正常的,并且将数据线短接,也十分正常(发什么就收到什么);
C:再后来,用一条线直接从串口服务器连接到读写器,连接正常的话,一切OK;如果只是从串口服务器接一条线出来,但是不接任何东西,则有的线有"野数据",有的线没有"野数据",仔细注意则发现线的长度超过某个程度的时候就会有"野数据",越短则越正常;
至此,问题有如下的总结:
A:在一切连接正常的情况下,串口工作正常;
B:在串口到读写器这一段,如果数据线太长(超过1米多)的话,如果被人误把读写器连接断开(就是没插上读写器),这样的话,由于会返回"野数据",可能会等待到超时,更惨的是直接程序就崩没了,由于我是在操作大设备运行,这样直接跑飞程序可能导致设备错误运行进而损坏设备。
想问下各位大侠,有否遇到过这样的情况?真的是因为数据线的长度的问题?由于我这边还需要通过滑环,因此把线做短也会有个限度的,最好能够彻底解决这个问题。
至少,如果数据线没接上读写器的时候,要能够让程序得知,并且报警或者超时之类的,而不是直接程序就没了。
以上串口  数据收发  野数据

解决方案 »

  1.   

    没用过串口服务器,但从你描述情况来看,应该是串口服务器没考虑干扰情况,看一下串口服务器的说明书,有没有什么注意情况,对串口服务器上的串口线加上抗干扰元件器,可从网上查一下串口抗干扰电路,这种电路都是公开的
      

  2.   


    感谢你的回复,我这边测试并且琢磨的结果也认为很大可能要考虑干扰的问题,我再做一些干扰方面的测试