上个月在华中某整车厂的焊装线蹲了一周,调一台新上的机器人抓手。刚去的时候老班长跟我吐槽,说之前改了个工位,加了两个安全光栅,线就乱了,一会儿报通信错一会儿停,查了三天没查出问题,换了光栅换了线都没用。你猜最后问题出在哪?总线上挂的节点太多,终端电阻没调。
哦对,那个总线就是今天要说的CAN总线。
别听论文瞎扯,CAN总线本质就是车间里的公共电话线
早个几十年,工业设备里的信号传输全靠硬接线。每个传感器一个信号,就要拉一根线到控制器,一百个传感器就扯一百根线,控制柜里堆得跟乱麻一样。我刚入行拆过八十年代的老设备,一个中型工位,光接线端子排就装了五块,找一根错线能把眼睛熬瞎,改个工位重新接线,工人师傅要干整整三天,手上烫好几个烙铁泡,累到直骂娘。
CAN总线出来就是解决这个问题的。说白了,所有节点都共用两根线,谁要发数据谁就按规则抢通道,发完就让给别人,就像早年那种多人共用的对讲电话线,谁说话谁开口,说完大家再轮着来。
它最聪明的地方就是用了差分信号传输,两根线一个叫CAN高一个叫CAN低,正常工作的时候差值是固定的,工业现场里电机启停、焊机打火那种乱七八糟的电磁干扰,会同时影响两根线的电位,差值却不变,干扰自然就被过滤掉了。就这么简单的设计,抗造得离谱。

很多新手一听到“总线”两个字就发怵,觉得是什么高大上的黑科技。其实说白了,就是一套大家都遵守的通信规则,加上几块几块钱一块的收发器芯片,成本低到离谱,可靠性还高到离谱。
一线工程师最头疼的几个CAN坑,全是踩出来的经验
说实话,我刚入行的时候踩过的CAN坑,能绕工作台三圈。这里说几个最常见的,全是血的教训。
最常见的坑,就是终端电阻。开头说的那个整车厂的问题,就是栽在这。很多新手甚至干了好几年的电工,都搞不懂为啥非要加终端电阻。信号在线缆里跑,跑到总线末端如果没有匹配电阻,就会反射回来,像回声一样干扰原来的信号,速度一高直接乱码,报错根本找不到原因。
CAN总线最核心的接线规则就是:整条总线只能有两个终端电阻,分别在总线的最两端,每个都是120欧。多一个不行,少一个不行,放中间也不行。上次那个厂改工位,把总线延长了,原来的终端留在了中间,末端没接,信号乱飘,当然天天误报。把终端移到最末端,一通电,问题直接解决,前后花了十分钟。

第二个坑,就是乱配速率和线长。很多人觉得速率越高越好,不管线拉了多长,直接把速率拉到最高,结果就是天天丢包。实际用下来的经验就是,速率越高,允许的最大总线长度越短,大概1Mbps对应40米左右,125Kbps对应一千米,这个数和手册上的标称也差不了多少,别瞎突破,老老实实按规矩来,省好多事。
第三个坑,就是往CAN总线上塞太多不该塞的东西。虽然CAN本身带冲突仲裁,优先级高的报文先发,但要是十几个节点同时抢着发大数据,还是会堵。比如机器人的视觉图像、相机的原始数据这种大体积数据,别往CAN上塞,塞了肯定卡,换别的总线不香吗?
不过话说回来,现在新出的CAN FD已经解决了老CAN的很多问题,速率更高,能发更长的报文,但是坑还是那几个,本质逻辑一点没变,该踩的还是会踩。
别被误解带偏,CAN不是只能给汽车用

很多人一听到CAN总线,第一反应就是“哦这是汽车上用的对吧”。最早博世开发CAN确实是给汽车用的,替代汽车里密密麻麻的硬接线,但是放到现在,工业领域用的只多不少。我待过的焊装线、涂装线、港口的龙门吊,甚至隧道里的盾构机,都大把在用CAN。
为啥这么受欢迎?说来说去就是三个字:够好用。便宜,抗造,维护简单,一根双绞线走天下,比那些贵得要死的专用工业总线便宜太多,可靠性还不差。坏了一个节点,其他节点该咋干活咋干活,不会整条线瘫痪,这点太重要了。
还有个常见的误解,说现在工业以太网都普及了,CAN早就该淘汰了。扯淡呢。很多现场工位就是几十个小传感器、小执行器,不需要传视频传大图,就要稳定,十年不用管,CAN比以太网香一万倍。以太网还要配交换机,设IP,调拓扑,现场断电重启有时候还连不上,CAN呢?插上线,设好节点ID就能用,坏了换一段线分分钟的事,电工拿着剥线钳就能修,根本不用工程师上门折腾。
我见过一条运行了十五年的老焊装线,上面的CAN总线从投产到现在,除了偶尔松个端子紧一紧,从来没出过通信问题,你说换它干啥?闲的?
说实话,现在工业圈都追新,什么5G、工业互联网、AI,动不动就说要颠覆这个替代那个。其实能沉下心解决实际问题的老技术,才是真的香。CAN总线出来快四十年了,现在还在全世界的车间里跑,就是因为它把“低成本可靠通信”这件事做到了极致,没有花架子,全是干货。
哦对了,最后说一句,要是你哪天在现场碰到CAN乱报错,先去查终端电阻。十有八九就是那的问题,至少省你三天排查时间。