您当前的位置:首页>>新闻中心>>常见问题

汽车衡称重仪表通讯故障的诊断与排除

时间:2017-06-05 05:41:17   点击数:

本文介绍了汽车衡仪表与计算机、PLC 等通讯故障的原因及排除方法。

1概述

汽车衡使用中经常需要与计算机、PLCDCS系统通讯,以实现自动控制、计算机管理等需求。汽车衡仪表的通讯也是经常出故障的环节。本文就汽车衡仪表通讯中常用的RS232RS485串行接口的通讯故障现象、原因及排除方法做了一些介绍,希望对汽车衡的安装调试人员和使用维护人员有一些帮助。

2.通讯总线与通讯协议

按通讯接口的电气特性,可分为RS-232和RS-485。称重仪表的RS-232接口通常是简化的版本,仅使用发送Tx D、接收Rx D两根数据线和地线GND。RS-232采用不平衡传输方式,信号线对地-3V到-15V表示逻辑1,+3V到+18V表示逻辑0。不平衡传输方式的干扰抑制能力较差,容易受到共地噪声和外部干扰的影响,一般用于低速、短距离的通讯,通讯距离≤15m。RS-485采用两线平衡传输方式,一般称同相端为A,反相端为B。发送端当数据为1时,A电平相对B电平为+2V~+6V,为0时,A电平相对B电平为-2V~-6V;在接收端当A电平比B电平高于200m V时,输出为1,当A电平比B电平低于200m V时,则输出为0;信号线的共模电压范围为-7V~+12VRS485 总线抗共模干扰能力较强,最大传输速率为 10Mbps,传输速率与传输距离成反比,在 100Kbps 的传输速率以下,可以达到 1200m 通信距离,如果需传输更长的距离,需要加 485 中继器。RS-485 总线一般最大支持 32 个节点,如果使用特制的 485 芯片,可以达到 128个或者更多的节点。RS485 一般采用终端匹配的总线型结构,不要用环形或星形网络。在传输率较高且通讯距离较长时需要加终端电阻,防止反射造成误码。因为大多数双绞线电缆特性阻抗大约在 100Ω120Ω 之间,故终端电阻一般取 120Ω

称重仪表通讯接口一般采用异步串行方式,有 4 个重要参数必须双方一致:波特率、数据位个数、停止位个数和奇偶校验。数据位一般为 7位或 8 位,停止位有 1 位、1.5 位或 2 位,奇偶校验有无校验、偶校验、奇校验或校验位置 1、置 0等几种方式。通讯接口的传输率一般有300pbs600pbs1200pbs 直到数 Mpbs

通讯协议就像通讯双方交流的语言,必须双方一致才能正确交流。许多称重仪表都有自己的通讯协议,所以必须按仪表生产厂规定的协议格式才能进行通讯。为了保证数据传输正确,许多协议采用了校验和,校验和的计算方法和表示方法也各不相同,上位机通讯软件编程时需要仔细推敲。

Modbus 协议是标准的通讯协议,采用 Modbus 协议的仪表,只要知道需要数据的地址即可读取,可方便地与 PLC 或组态软件通讯,组建自动化控制系统。串口通信的 Modbus 协议分 RTU 模式和 ASCII 模式。RTU 是必备的模式,传输效率较高; ASCII 是可选的模式。使用组态软件编程时要注意,许多组态软件按照一些 PLC 厂商的习惯,将 Modbus 功能码与变量地址结合起来作为变量的地址,例如西门子和莫迪康系列用 0dddd 表示输出线圈,1dddd 表示输入位寄存器,3dddd 表示输入寄存器,4dddd 表示保持寄存器,dddd 表示地址,范围按系统不同为 19999  165535,读写时系统自动选用相应的功能码。中航电测和上海耀华的 C602C606+ 等系列仪表的说明书则按 GB/T19582.1 的方式定义变量的地址,变量地址从 0 开始计算,因此使用组态软件时要进行相应的转换。比如读 C602 仪表整数表示的净重,按 C602 说明书为输入寄存器 0 和保持寄存器 0,按西门子或莫迪康系列则为 30001 和 40001。另外变量的表示形式是整数还是浮点数,高低位的排列次序,变量的长度等也要特别注意。C602 的数据是按高位字节、次高位、次低位、最低字节排列。

3.通讯故障常见原因

汽车衡仪表通讯的调试是比较麻烦的事情,许多因素会影响正常的通讯功能。下面按安装调试和使用的不同的阶段分析可能的故障原因,为排除通讯故障提供一些思路。

 3.1 在系统安装与调试阶段容易出现的故障原因有:

 3.1.1接线错误

 比如 RS232 通讯中,仪表的 TxD 要与上位机的 RxD 连接,仪表的 TxD 与上位机的 RxD 连接,仪表的 GND 与上位机的 GND 连接。常见的现象是一端 RxD  TxD 接反。

RS485 总线经常出现的现象是 A两线接反。需要注意的是,有的厂家 A的定义与通常的习惯不一致。比如 HBM 公司的 AD104 等数字模块就是 A 为反向端,B 为同相端,与一般的习惯相反。有的仪表如耀华的 C602  RS485 采用四线制总线,如果要接两线制 RS485 总线,要将仪表的 T+ 与 R+,T- 与 R- 端子分别短接,再与 AB连接。虽然 RS485 采用两线平衡的方式传输,理论上不需要连接地线,但是如果共模电压超出了规定的 -7V+12V 范围轻则会干扰通讯,重则会损坏接口器件。我们曾实测连接一台使用开关电源的仪表的接地线与一台计算机接地线之间连线的电流,在接通仪表电源的瞬间,流过连接线电流的最大峰值会达到数安培。如果仪表与计算机通讯接口接地线没有连接,这个电流将流过接口信号线,极可能会损坏器件。

 3.1.2 通讯协议不一致

如前所述,如果双方的通讯协议不一致,是无法进行有效的通讯的,在大多数情况下,哪怕是错一个空格符都能造成通讯故障。有时一些与协议有关的隐性问题也会影响通讯。曾遇到一个系统的通讯故障的原因是由于某型号的 PLC 在发出查询命令后没有及时释放 RS485 总线,而仪表响应时间太短,造成总线冲突、通讯失败。后来修改了仪表通讯程序,延迟响应 PLC 的指令才正常通讯。

 3.1.3连接方式不合适

 RS485 要采用总线连接方式,即用一根双绞线连接所有的设备。特别是当波特率较高、设备分散的情况,采用星型连接将使通讯非常不稳定,这时如果必须用星型连接的话,要通过 RS485 集线器连接。通讯距离较长、通讯速率较高或干扰较大的场合,通讯线要选用专门的 RS485 电缆,两端要加上终端电阻。如果是多线对的 RS485 电缆,一个总线一定要接同一对双绞线。

 3.1.4空闲时的总线状态

 RS485 总线如果没有适当的上拉或下拉,会使总线电平在一个不确定或错误的状态,影响通讯的稳定性或不能通讯。在总线空闲状态,应确保信号线 A 的电平高于 B 的电平,即逻辑电平处于“1的状态。

3.2在系统投产以后出现故障的常见原因

3.2.1 接口电路的故障

接口电路损坏的情况比较常见,许多原因会损伤接口电路如静电放电、带电插拔接口的连接件、电源线上浪涌电流的冲击、接口电路没有连接地线等等。接口电路损坏是使用中通讯故障的主要原因。

 3.2.2 线路故障

 由于各种原因使通讯线路断路、短路,接插件氧化、松动造成接触不良都会使通讯中断。

 3.2.3 设置错误

 仪表或上位机的通讯设置被操作人员无意中错误修改,也是通讯故障的一个原因。

 4.通讯故障的诊断与排除

 有一些合适的工具对排除通讯故障会有很大的帮助。常用的工具有:万用表、示波器、通讯监控软件、监控计算机等,最起码也要有一块万用表。

 下面以 XK3190-C602 仪表为例,按故障诊断排查的次序介绍各种方法。

 首先要检查核对接线是否有错误,C602 有两个通讯口,通讯口 1 是 RS232 接口,通讯口 2 是 RS232/RS485 共用,用主板上的跳线选择通讯模式。出厂时为 RS232 模式,如果用 RS485 模式要将主板上的 JP4 跳线改在 RS485 的位置上。如果采用两线制 RS485,接线时要将 R+T+  R- T- 分别短接。排除了接线错误才可以进行下一步的调试工作。再次强调要特别注意 RS485 总线的地线是否接好。

 在调试仪表与上位机通讯时,调试时首先设置和检查仪表波特率、数据位、停止位和校验位等通讯参数,应与上位机的设置一致。如果上位机工作软件通讯异常,可用串口调试软件测试通讯接口。网络上有许多免费的串口调试软件可下载使用。如果上位机软件是采用指令方式通讯而收不到仪表的应答,可先将仪表设置为连续发送模式。上位机能收到仪表的数据后再调试指令通讯方式。如果上位机软件采用比较复杂的协议如Modbus 协议,可先把串口 2 设置为指令方式,将仪表地址设置为“1,用串口调试软件按十六进制方式发送“02 41 41 30 30 03握手指令,上位机应能收到同样的返回数据,即表示仪表与计算机的双向通讯是正常的。如果收不到返回数据,将串口 1 关闭,看上位机发送时仪表通讯指示灯是否点亮,如果指示灯亮但没有返回数据,可能是波特率、地址、校验等通讯参数不对;如果通讯不亮,则可能是接线错误、接口损坏等原因。

如果通讯口 2 的 RS485 通讯不正常,可先用 RS232 方式测试,如果 RS232 方式通讯正常而 RS485 方式不正常,则检查接线是否有问题,主机侧的 RS232/RS285 转换器或 USB/RS485 转换器是否正常。

 不能通讯而目测找不到接线和设置错误,可以通过测量总线电压来进一步检查。

 检测 RS232 接口,在总线空闲即仪表和上位机均未发送数据时,用万用表直流电压档在仪表端子上测量 RS-232 接口 RxDTxD  GND 端子的直流电压,正常情况两线的电压在 -5V-10V之间。如果RxD 电压接近 0V,即表示该线没有与上位机 RS-232 发送端连接,可能是两线接反、线路短路或断路。如果 TxD 电压接近 0V,将线路断开再测量电压,如果仍接近 0V,是仪表接口损坏,如果电压恢复正常了,则是线路短路。两线电压正常但不能通讯,将仪表设置为连续发送状态,用万用表交流电压档测量 TxD 端子与 GND 端子的电压,应有几百 mV 到几 V 的电压。如果有交流电压而上位机没有收到数据,检查上位机串口的设置是否正确。如果没有交流电压,检查仪表串口的设置是否正确。

 检测 RS485 接口,在总线空闲时用万用表直流电压档在仪表端子上测量 T+T- 之间的电压,没有加总线终端电阻时电压应在 3V 以上。如果是四线制接法,还要测量 R+R- 之间的电压。如果电压为 0V 左右,可以加适当的上拉电阻。C602主板上 JP3 跳线 1~25~6 之间短接为接收端上下拉电阻有效,3~4 短接为 120Ω 终端电阻有效。电压正常但不能通讯时,将仪表设置为连续发送状态,用万用表交流电压档测量 T+T- 之间的电压,应有几百 mV 以上的电压。如果有交流电压而上位机没有收到数据,检查上位机串口的设置是否正确,RS485 转换器是否失效。检测接收电路可参照上述 RS232的方法,看通讯指示灯是否点亮来判断是否收到上位机数据。

 可用万用表测量通讯接口端子对地线端子的电阻大致判断接口电路是否损坏。用数字万用表测量正常的RS232 接口端子和没有上下拉电阻的 RS485 接口端子对地的电阻大于兆欧级,如果某接口电阻异常小,只有数千欧甚至更低,则该接口已经损坏。

 有时复杂的通讯故障需要用示波器等仪器检测,可以方便地发现总线冲突、接口电路性能下降等较软的故障。特别是有的示波器有协议分析的功能,更方便检测软件方面的故障。

 用串口调试软件可以通讯但用上位机软件不能正常通讯,可咨询软件供应商解决。调试应用软  与仪         CommMonitorComskyAccessPort等串口监控工具软件采集应用软件如与仪表串口的通讯数据,协助分析故障的原因。

 调试 PLC 与称重仪表的通讯时可参考上述方法,也可以用一台监控计算机采集 PLC 与仪表之间的通讯数据,分析通讯故障原因。