485通讯问题,做技术很多年,实在没办法了,请教了!
首先感谢您的关注!
485通讯问题,做技术很多年,实在没办法了,请教了!
需要将现场的一些设备数据,通过485总线传输给后台电脑。
现象是这样的:
1、如果用笔记本电脑当后台,通讯一切正常,而且我们换了两种型号的笔记本,通讯都非常正常。
2、如果用台式机,怎样都不通,台式机换了好几台依然不通(每台串口都测试过,没有问题,当然还有那些通讯设置的细节也不会忽略)。
3、台式机会莫名其妙的在一些时候通讯忽然又畅通了,通讯正常好几个小时,忽然又不通了。
4、485-232转换器,有源无源的,便宜还是贵的,现象都是台式机不通,笔记本都能通。
5、没有用屏蔽线,而且用了不太合理的星型拓扑结构,是会有不好的地方,只是一直都这么用,以前也没出问题,现场总线改动很麻烦。就这样我还是不能解释用笔记本就好,用台式机就不好是什么道理。
6、A、B、地,三根线都接回来了。
到这里,我把问题锁定在干扰上,笔记本电脑与台式机的区别只有电源不一样了,于是稳压电源,UPS都用上了,在断电的情况下,只用UPS供电,现象依然,我在串口专门增加监控,发现命令发下去后,只传回来1两个乱码的字节,用串口精灵单条命令调试。现象依然,但只要接到笔记本上,收发命令都正常了。
[解决办法]
如果是干扰问题,楼主可以考虑在485的Data+和GND之间加一个103的电容,然后在Data-和GND之间也加一个103的电容试一试。我曾经用这个方法处理掉一些通信干扰,电容的选择考究,不一定非是103的。
其实是否是干扰很容易判断,你使用串口调试器,打开通信有问题的端口,看看是否有乱码上传。如果有,那就确定有干扰无误了。
[解决办法]
用示波器看下波形,485转232芯片出来的波形有没有,电平正常不正常,(可以先发送类似0x55 0xaa之类的数据),如果波行正确就不可能收不到数据
[解决办法]
接地情况如何?是多点分别接地还是有浮地?笔记本每次都是用电池跑的吗?电源适配器插着与不插有没有区别?
断开485总线与PC之间的连接,检测A、B两线与电脑这端适配器之间的电压,485是差分总线没错,但如果共模电压过高会导致波形畸变,造成数据错误。先比较一下用笔记本和台式机时总线上共模电压的差别。然后保持测量电路结构不变,注意观察周围设备用电情况变化的时候共模电压的变化,时好时坏可能是某些设备漏电影响了局部地线的电势所致,仅仅是猜测。
顺便用示波器看总线上的波形。首先PC端发送数据,在PC端测量一下信号波形。然后到总线的各终端再测,看看畸变是否严重。如果设备根本接收不到正常的指令就不用谈应答了。接下来想办法让设备重复发送同样内容给PC,在设备端和PC端再比较测量一下波形是否有畸变。这样有助于分清是哪个阶段出的问题。
我感觉这个情况比较棘手,星状布局,终端电阻和信号反射之类的不太好搞。没准真得忍着腚疼跑去换线、换件神马的。解决方案我目前木有头绪,先查出原因再想对策吧。