接口/总线/驱动
不久前的一天,已合作多年的客户心急如焚地找到了我。
无故障运行多日的RS485总线突然无法通信,这条总线连接有1个主控,5个分控以及1个工控屏。
主控工作于MODBUS主模式,定时向分控以及工控屏通过MODBUS协议读写数据。
主控定时获取分控工作状态,将数值通过MODBUS的写操作16向工控屏写入数据进行显示。
同时通过读操作06读取用户在工控屏上输入的数值。
与此同时,当检测到开关等操作之后,通过MODBU写操作向分控发送命令,通知分控执行输出控制电磁阀,门锁等电器设备。
当RS485失效,分控无法正常控制电器设备,可能将正在玩游戏的顾客锁在房内,导致严重后果。
客户急忙联系到了我,我向客户了解到了以下情况:
屏幕与分控采用手拉手的连接方式;
连接在最远端的屏幕与主控之间的距离约为500m;
RS485通信采用了双绞屏蔽线;
可能存在强电和弱电的电缆混在一起走线的情况;
为了提高响应速度改善客户体验,RS485通信的波特率设置为19200bps;
将整个系统(包括主控、分控以及工控屏)断电再重新上电之后,故障消失,RS485恢复正常通信;
我的第一感觉是在这个系统中,RS485总线走线比较长;
可能因为终端没有接120欧姆的匹配电阻,导致通信信号发生了反射,破坏了信号完整性,使得通信发生了异常。
于是,立即将客户找到120欧姆的插件电阻,锁在了位于末端的屏幕的A+和B-之间;
运行了一个晚上,相安无事;第二天一大早,客户又找到了我,RS485通信又华丽丽的挂了。
作为有几十年工作经验的优秀的工程师,我再仔细分析了一下客户的系统;
这个故障有一个最明显的特征:运行一段时间之后才出故障;
我的脑海中闪过了一道亮光,立即与客户确认以下问题:
我:你们所用的屏蔽双绞线的屏蔽层有接地吗?
客户:没有接地!
我:两头没有任何一头有接地吗?
客户:没有!
我:你把屏蔽线的屏蔽层接地试一下。
客户:接大地,还是接主控的V-?
我:如果主控的V-有接大地的话,可以接V-,否则接大地;
几分钟之后,从客户那里传来了好消息;
客户:我把屏蔽层接大地之后,RS485通信立即恢复了。
至此,完满解决了客户的问题。
问题原因:
电网或者空间的电荷耦合到屏蔽线的屏蔽层,如果屏蔽层没有接地,则屏蔽层的电荷积累得越来越多,最终将电荷A+,B-线上的波形,导致通信异常。
测量屏蔽层对地电压,可以达到几十甚至上百V的电压。
因此,需要将屏蔽层接到大地,将耦合到的电荷泄放到大地,避免电荷在屏蔽层的积累。
另外,控制器的地V-也需要接入到大地中,目的在于泄放从电源或者是空间耦合的电荷,避免影响控制器的正常运行。,同时避免触电的危险。
审核编辑:刘清
全部0条评论
快来发表一下你的评论吧 !