技术资源 / Integration

如何把 TPMS 接进 PLC

· 6 分钟阅读

先定路线,再买东西

"把 TPMS 接进 PLC"其实不是一个活儿,而是两个,选哪条只取决于一个问题:你的 PLC 手里已经有什么?

如果控制器本身有 CAN 口,胎压数据就可以像其他节点一样以 CAN 帧或 J1939 参数进来;如果 PLC 没有 CAN 口、现场以开关量和模拟量为主,那就走串口:RS485 上跑 Modbus RTU,这几乎是工业机械里所有 PLC 和 HMI 都自带的,不用加硬件。

两条路用的是同一颗传感器、同一套无线链路,差别只在最后一段线、PLC 程序里的轮询方式,以及你要向供应商索要的那份文档。CAN 那条路的细节在 CAN 总线 TPMS 集成页;本文讲串口这条路,以及怎么让两条路在真机上都能用。

接收器的串口侧提供什么

我们的接收器支持 RS485 / RS232 + Modbus RTU 输出,同时也支持 CAN、J1939、PROFINET 和 UART。决定"集成是半天还是一个两星期"的,是下面这些实际细节:

  • 接收器直接取整车电 DC 10–30 V,24 V 车型不用另配电源;
  • 串口地址和波特率可配置;
  • 胎压数据以寄存器块的形式给出,而不是数据流——这正是 PLC 需要的:轮询、读取、使用;
  • 同一台设备按配置可以当接收器也可以当中继器,长车不需要为每种角色准备不同型号。

在写第一行梯形图之前,先把寄存器表要到手。 如果供应商没有寄存器表,先停下来,要到再说。

寄存器表里应该有什么

寄存器表就是串口版的对账文件。它应当逐个轮位告诉你:压力和温度在哪、怎么换算、以及接收器怎么汇报自己的健康状态。

一张能用的表至少要有:

  • 每个轮位的压力,换算到 kPa,并写明原始量程;
  • 每个轮位的温度,换算到摄氏度;
  • 每个轮位的状态,用值表说明:正常、压力过低、快速漏气、传感器缺失、电量低;
  • 每个轮位一个在线位或有效位,让你的程序能区分"0 kPa 是因为轮胎真瘪了"还是"0 是因为传感器不说话了";
  • 设备心跳或帧计数器,让"连接死了"和"只是没数据"看起来不一样;
  • 支持的功能码,以及一次读取允许的最大连续寄存器块。

字节序在串口上一样要命。Modbus 寄存器按定义是大端的,但 32 位值跨两个寄存器时,谁在前各家不同。拿供应商给的示例值手工验一个,再去信任它的换算。

还要注意寄存器编址习惯:有的工具把第一个保持寄存器叫 40001,有的叫 0。差一个,就是 Modbus 里最常见的"数据整体错位"。

工业机械上的 RS485 接线

RS485 对距离很宽容,对细节很不宽容。矿山、港口、工程机械的电气环境又特别恶劣,所以下面几条建议照做:

  • 菊花链,绝不星形。 几十厘米的支线还能接受,一米以上的星形分支不行。
  • 总线物理两端各一个 120 Ω 终端电阻,而且只在两端。
  • A/B 用双绞线,再加一根信号公共地。驾驶室和车尾的地电位差是真实存在的。
  • 远离电机和驱动器电缆。 与变频器平行走线是让报文出错最快的方式。
  • 屏蔽层单端接地。 两端都接,屏蔽层就变成了电流通路。
  • 线越长,速率越低。 长底盘上跑高速率,就是间歇性超时的来源。

接收器和中继器都是 IP68,所以"装在机器真正需要的位置"而不是"走线方便的位置",是合理的选择。

PLC 程序里的轮询

胎压数据周期默认 500 ms,这就是你轮询的节奏。每 500 ms 读一次寄存器块是对的;每 50 ms 读一次,只增加总线流量、不增加信息量,因为中间接收器没有新数据。

三个习惯能让程序可预测:

1. 每个周期读一个连续块,而不是拆成很多小读。事务少,半途失败的机会就少。

2. 给每次读取记时间戳。 如果连续失败,或者心跳不再递增,就报一个通信故障,和轮胎故障分开。操作员必须知道是轮胎坏了还是线断了。

3. 主站侧做超时和重试。 Modbus RTU 没有会话层,设备一旦沉默,你不主动找它就永远发现不了。

报警判断放在 PLC 里,不放在驱动层。接收器负责报告状态,机器负责决定怎么办。

换算与报警要"稳"

压力精度 ±7 kPa、温度精度 ±3 °C。这两个数很好,但不是零,所以阈值要留余量。把低压报警设在目标胎压的等值点上,它会一直抖。

在售后阶段站得住的四条:

  • 直接用接收器的快速漏气标志位,不要在梯形图里拿轮询数据自己算变化率。固件看到的是每一帧,你的 PLC 只看到抽样。
  • 自己实现的阈值一定要加回差,否则压在临界值上的轮子会每个周期来回报警。
  • 报警分开。 压力过低、快速漏气、传感器缺失、电量低,这四种的处置和给操作员的提示都不一样。
  • 记录是哪个轮位触发。 没有位置的故障,会让维修工跑错车轴。

集成最常翻车的四个地方

翻车方式非常固定:字序搞反、首寄存器差一位、终端电阻没装、或者忽略了在线位,于是每个丢失的传感器都被读成"零压力的瘪胎"。偶尔还会一次读超过允许的寄存器数量,收到被截断的回复,看起来像是数据坏了。

这四个都能在二十分钟的台架测试里暴露:给接收器通电,接几颗真实传感器或模拟器,把寄存器块整块 dump 出来,和文档逐条比——然后才让硬件靠近机器。

我们交付什么

GZVIA 自研自产传感器、接收器、中继器、显示器和云平台,寄存器表和固件出自同一个团队。除 Modbus 文档之外,我们还给报警语义、接插件针脚定义,以及一个能配轮位数量、传感器 ID 和阈值的配置工具。单台接收器最多支持 256 个轮位;我们交付过 160 轮运梁车(2 台接收器 + 12 台中继器 + 160 颗传感器),单台设备实测最大 224 轮(28 轴 × 8)。

接收器的协议与电气参数见 TR100 接收器产品页。把你的 PLC 型号、准备用哪个口、轮位数量发给我们,我们会回一份接线方案、寄存器表和配置建议。说说你的 PLC。

← 全部文章