|
干工控这行的,串口通信故障大概是遇到最多的问题之一了。
现场跑得好好的设备,突然PLC不响应了、变频器收不到指令了、称重数据不刷新了。你过去一看,工业一体机屏幕上的数据卡住了,串口通信断了。然后就是一顿排查,有时候半个小时搞定,有时候折腾大半天还找不着原因。
今天就分享一套串口通信故障排查的7步定位法。这不是什么高深理论,就是多年现场经验的总结,希望能帮大家缩短故障定位时间。
## 第一步:确认故障范围
串口通信出问题,第一时间不要急着拆机器,先搞清楚是单点故障还是多点故障。
具体怎么做?看看是一台设备断了通信,还是多台同时断。如果只有一台设备的串口通信异常,其他都正常,那大概率是这台设备本身的问题。如果多台同时断,那可能跟供电、网络或者共用的什么东西有关。
再看看是刚安装就断的,还是运行了一段时间才断。刚安装就断的,多半是配置或接线问题。运行了一段时间才断的,可能是设备老化、环境变化或者干扰累积。
这一步的信息非常关键,能帮你快速缩小排查范围。
## 第二步:检查物理连接
这是最基本但也最容易被忽略的一步。
先看接头有没有松动。工业现场震动大,DB9接头用久了螺丝可能松了,或者端子排上的线被震掉了。动手检查一遍,该拧的拧紧。
再看线缆有没有破损。有些现场线缆走在电缆桥架里,跟动力线混在一起,时间长了被磨破皮也不稀奇。特别是RS485用的屏蔽双绞线,屏蔽层如果破了,抗干扰能力直接归零。
还有一个容易忽略的点:线缆长度。RS232理论最远15米,RS485理论最远1200米,但实际现场因为有干扰,有效距离比理论值短不少。有些安装的时候可能就超了,平时勉强能用,环境干扰一变大就断了。
第三步要检查终端电阻。RS485总线两端要接120欧姆终端电阻,这个很多人知道。但实际现场经常发现没接、或者只接了一端、或者两端都接了但中间分支太多。用万用表量一下总线电阻,正常应该是两个120欧并联约60欧。
## 第三步:确认串口参数
物理连接没问题的话,接下来看软件配置。
串口参数对不对,一查就知道:波特率、数据位、停止位、校验位、流控方式。这五个参数,工业一体机和从站设备必须完全一致。
实际操作中,最常见的坑是波特率搞错。有些设备的默认波特率是9600,但有些厂家出厂设的是19200或38400。如果是从别的项目换过来的设备,参数可能被改过。
校验方式也容易搞混。有的PLC设的是偶校验,但上位机软件里设的是无校验。这种情况下短包能通,长包就容易出错。
确认参数的最好办法是拿串口调试助手单独跟从站设备通信。发一个简单的读命令,看能不能收到正常回包。如果能通,说明参数没问题,问题出在上位机软件。如果不通,继续往下查。
## 第四步:用串口调试工具做回环测试
如果前面几步都排除了,这时候该上工具了。
最简单的办法是做硬件回环测试。把串口的TX和RX短接,然后用串口调试助手发数据,看能不能收到自己发的内容。能收到说明串口硬件本身没坏,不能收到说明串口芯片或者驱动有问题。
工控机上有多个串口的情况下,还要确认你用的是物理几号口。Windows设备管理器里显示的COM口号,跟物理接口的对应关系有时候不是你想的那样。特别是用了MOXA等多串口卡的设备,映射关系更容易搞混。
建议用USB转串口工具,一头接工控机串口,一头接另一台电脑,两台机器对发数据来验证。这样能排除从站设备的影响,确认工控机端串口是否正常工作。
## 第五步:排查电磁干扰
到这一步,如果硬件和软件都正常但通信还是时断时续,那就得考虑干扰了。
电磁干扰是串口通信故障里最隐蔽的原因。因为你看不到、摸不着,但它确实在作怪。
典型表现:通信时好时坏,白天正常晚上断、或者设备全开的时候断、或者旁边变频器一启动就断。这些都是干扰的信号。
排查方法:
先看布线。串口通信线跟动力线(380V、220V)有没有平行布线?间距够不够?如果挨着走,干扰几乎不可避免。标准要求通信线和动力线至少分开30厘米以上,条件允许的话最好穿管隔离。
再看屏蔽层接地。RS485的屏蔽层应该单端接地,不是两端都接。两端接地会形成地环路,反而引入干扰。接地电阻要小于4欧姆。
变频器是个大干扰源。如果旁边有大功率变频器,建议在变频器输出端加磁环,通信线上加磁环也有帮助。有些场合需要在通信线上加装信号隔离器,能有效切断共模干扰。
## 第六步:检查供电和接地
供电问题也会导致串口通信异常,虽然不常见但确实存在。
工业一体机的供电电压是否稳定?有些现场供电波动大,电压一低串口芯片工作就不正常。用万用表量一下供电电压,看有没有明显的波动。
接地系统很关键。工业一体机的外壳接地、串口接口的信号地、从站设备的接地,这几个地之间如果有电位差,就会在通信线上产生共模电压,轻则通信出错,重则烧接口芯片。
理想状态下,整个系统的接地应该是等电位的。但实际现场很多厂子接地做得不规范,不同设备的接地点之间有电位差。遇到这种情况,加装RS485隔离器是最有效的解决办法。
## 第七步:检查驱动和系统层面
如果以上都排除了,问题还存在,那就要看软件层面了。
串口驱动有没有冲突?设备管理器里看串口有没有黄色感叹号。有些工控机装了多个软件,可能有两个软件同时占用同一个串口,这种情况下后启动的软件会通信失败。
Windows系统更新有时候也会搞坏串口驱动。特别是Windows更新之后,有些驱动被替换成了通用驱动,导致串口工作异常。遇到这种情况,回滚驱动或者重新安装厂家提供的驱动。
还有一个容易忽略的:BIOS设置。有些工控机的BIOS里可以设置串口的工作模式(RS232/RS485/RS422),如果模式设错了,通信当然不通。进BIOS确认一下串口模式设置是否正确。
## 几个实战经验补充
上面是7步排查法,再补充几个现场经验。
第一,准备一个"串口通信急救包"。里面放一个USB转串口工具、一根交叉串口线、一个120欧终端电阻、一个RS485隔离器、一根屏蔽双绞线。现场遇到问题的时候,这些东西能帮你快速做交叉验证。
第二,养成记录通信参数的习惯。每套设备安装完成后,把所有串口的参数记录在案:端口号、波特率、校验方式、从站地址。下次出问题直接对着表查,不用从头来。
第三,安装的时候就把防干扰措施做到位。别等出了问题再补,出了问题再补的成本远高于安装时多花几根管子和几个隔离器的钱。
第四,选设备的时候多问一句串口隔离的事。有些便宜的工业一体机串口没做隔离,芯片直接对外,遇到现场干扰大的环境就容易出问题。带光电隔离的串口虽然贵一点,但省下的维修时间和停产损失远远超过这个差价。
## 写在最后
串口通信故障排查本质上就是逐层排除的过程。从物理层到数据链路层再到应用层,一层一层往上查,大概率都能找到原因。关键是排查的时候要有条理,不要东查一下西查一下,最后把自己绕进去了。
7步定位法的核心思路就是:先确认范围再动手,先查硬件再查软件,先排简单原因再排复杂原因。按照这个顺序来,大部分串口通信故障都能在30分钟内定位到原因。
广州微嵌的工业一体机全系标配光电隔离串口,另外我们在出厂前会对每个串口做通信测试。如果你在现场遇到串口通信问题,也欢迎交流,有些问题可能我们以前碰到过,能帮你少走弯路。
|