ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

仓库亮灯拣选系统为何首选CAN总线?从原理到落地全解析

仓库亮灯拣选系统为何首选CAN总线?从原理到落地全解析 我第一次看到“某部仓库的CAN总线有线亮灯拣选系统是什么”这个标题时第一反应是这大概率又是一位被拣选差错率折磨了半年的仓库负责人终于决定找一套能落地、能验收、能扛住现场环境的方案。做仓储自动化的老人都清楚仓库里最烧人力的不是上架、不是盘点而是拣选。拣选环节的差错率每降一个点背后都是实打实的赔付、客诉和口碑损失。“某部”两个字翻译成项目语言就是“某个单位、某个部门的内部物资库房”这种库房通常账目要求严、出库要留痕、系统不允许凑合因此对通信链路的可靠性极其看重。而“亮灯拣选”Pick to Light简称PTL恰好是性价比最高的改造思路不换货架、不换流程、不依赖员工记库位靠一盏灯把人的视线直接引到目标货位。这套系统的神经就是CAN总线。这篇博文不聊PPT层面的“智慧仓储”直接把手伸到货架旁边把亮灯拣选系统为什么用CAN、协议里到底藏着什么、现场接线怎么接、负载率怎么算、错误帧怎么排查这些事一次说透。做电气、做上位机、做实施的朋友都能找到对自己有用的东西。1. 为什么仓库拣选的痛点最后会落到一盏灯上1.1 拣选作业中人真正花时间的是“找货”不是“拿货”先把拣选这件事拆开看。一张典型的拣选任务单上写着库位A-03-12、SKU编码、数量2件库位B-07-05、SKU编码、数量5件……拣选员拿到单子之后要完成这几步判断任务单上的库位分布、推车走到对应货架区、在几十上百个货位里找到目标货位、核对货位上贴的标签是不是这个SKU、点数装车、在单子上勾掉这一行。行业里有个公认的经验值拣选作业的时间中真正“伸手取货”的动作只占很少一部分大量时间消耗在“在库房里寻路”和“在货架上找位置”上。如果货架高度超过人的视线、库位标签又长得类似那么每一个库位的寻找时间都会被拉长。更麻烦的是在大量SKU混放的情况下人脑的短时记忆根本不靠谱。拣选员同时处理多个任务时经常出现“记得单子上有这个货但忘了具体是哪一排”——这就是差错的温床。所以拣选效率的瓶颈本质上是“人找货”这个动作太慢、太容易错。这个瓶颈不是靠罚钱、靠培训能解决的它和人的视觉搜索习惯、注意力集中时间直接相关。1.2 亮灯拣选把“人找货”变成“货位找人”亮灯拣选的设计思路很简单既然人眼在货架上一排排扫过去又慢又容易漏那就在每一个货位上装一个指示灯和数量显示器。当上位机生成拣选任务后对应库位上的灯就会亮起来数字屏显示出需要拣选的数量。拣选员不再需要看单子、找货位、对编号眼睛顺着亮灯的方向走过去看到哪个灯亮就停在哪个货位取完货按下确认键灯熄灭系统记录完成自动把下一批指令发下来。这个逻辑听起来朴素但它利用了人眼对光信号极端敏感的生理特性。在一片色彩杂乱的货架里一个高亮的LED灯比任何纸质标签都更容易被注意。实测下来的效果通常很明显拣选时间能缩短一截更关键的是“拣错货位”这种低级差错基本被消灭了因为系统告诉你去哪里而不是靠人去记去哪里。拣选完成后的确认按钮也不是摆设。按下按钮这个物理动作代表“人已经到这个位置并完成了取货”系统只有在收到这个回执后才会关闭该任务的指令状态。这就把“执行”和“确认”两个动作绑定在了一起后续复盘差错时也有数据可查。1.3 有线方案是主动选择不是妥协有人可能会问现在无线技术这么成熟为什么还要用有线直接用无线标签、扫码枪不好吗亮灯拣选系统里有一个和普通数据采集完全不同的需求货位终端不仅要“通信”还要“持续供电”。一个货位上的指示灯、数码管、按键、控制器每一项都要耗电。如果采用无线方案每个货位终端都要考虑电池寿命、充电、换电池的问题。几百上千个货位每个月换一轮电池维护成本直接爆炸。无线还会遇到另一个仓库特有的问题货架本身就是金属结构对无线信号有很强的反射和吸收。一排排货架在库房里组成迷宫信号穿不过去就掉线节点一旦掉线对应货位的灯就亮不了整个拣选流程就卡住。于是有线自然成了更可靠的选择。信号线和供电线一起走到每个货位节点永远在线不怕电池没电不怕信号被遮挡。剩下的问题只是这条“线”用什么样的总线协议来组织。1.4 系统组成和数据流一次完整拣选动作是怎么跑通的一套完整的CAN总线有线亮灯拣选系统大致由四层组成管理主机运行WMS/ERP对接模块和拣选任务调度软件负责生成任务、接收回执、记录履历。拣选控制器上位机与CAN总线之间的桥梁把任务指令转换成CAN报文发下去同时把总线上的终端回执转成上位机能识别的数据。CAN总线网络包括主干线缆、终端电阻、分支接线是整套系统的“神经系统”。货位终端每个货位上的节点主要由CAN收发器、MCU、LED指示灯、数码管显示和确认按键组成。数据流的走向是这样的WMS下发拣选任务到管理主机主机把任务拆成“哪一个货位、拣多少数量”通过串口/以太网交给拣选控制器控制器把任务封装成CAN帧通过总线广播出去所有节点都收到了帧但只有ID匹配的货位终端会响应点亮自己的灯并显示数量拣选员完成取货、按下确认键后终端回发一帧确认报文控制器收到后上报管理主机主机关闭该任务记录并下发下一批指令。这套链路跑顺之后整条线的节奏就会变得非常流畅。很多人以为难点在协议本身其实协议只要按标准写就不会有大问题真正的麻烦都在现场尤其是总线物理层的各种隐性坑。下面把CAN协议里最核心的机制拆开讲清楚。2. CAN总线为什么配得上这个位置通信协议底层机制拆开看2.1 CAN总线的定位为“现场可靠性”而生的差分总线CANController Area Network最早是博世为汽车内部电子设备通信设计的后来被工业控制大量使用。它最核心的特点不是“快”而是“可靠”。与UART这种点对点通信不同CAN是总线型通信所有节点挂在同一条总线上可以多主发送与RS485那种主从轮询不同CAN支持节点主动上报任何节点在有事件发生时都能抢占总线。物理层上CAN使用两根线CAN_H和CAN_L靠差分电压表达逻辑状态。这带来一个直接好处抗共模干扰能力强。仓库里变频器、电机启停、大功率照明都会在线缆上感应出噪声但噪声同时叠加在两根差分线上接收端比较两根线的差值干扰大部分被抵消掉了。这就是CAN能在工业现场“活”下去的底气。2.2 一帧CAN报文里到底装着什么先看标准数据帧的骨架。一帧报文从头到尾依次是SOF起始帧1位显性位表示总线开始传输。仲裁段标准帧是11位ID加上RTR位数据帧为显性0这个ID同时承担“地址”和“优先级”两个角色。控制段包括IDE位标准帧为0、保留位、DLC4位表示数据段字节数0-8。数据段0到8字节实际业务数据就装在这里。CRC段15位CRC校验值加1位界定符保证数据完整性。ACK段发送节点发出的隐性位被接收节点用显性位覆盖表示“收到”。EOF7位隐性位表示帧结束。IFS帧间空间3位隐性位用来间隔连续的两帧。这个结构说明一件事CAN的每一帧都不是“裸数据”它自带优先级、长度、校验和确认机制。发送方发完一帧通过ACK位就能知道有没有人收到接收方通过CRC就能判断这一帧有没有被干扰破坏。这些能力让应用层不需要再额外写一套复杂的校验协议。亮灯拣选系统一般不用扩展帧标准帧的11位ID已经足够。比如一个库房有1000个货位直接拿ID的10位当节点地址留几位做特殊消息优先级完全够用。2.3 非破坏性仲裁多个节点同时抢线时怎么决定谁先走这是CAN最精妙的设计。当两个节点同时往总线上发数据时总线并不会冲突崩溃。CAN的物理层规定显性位逻辑0会“压过”隐性位逻辑1。发送节点在发送仲裁段时一边发送一边监听总线电平如果自己发出隐性位但总线上读到的是显性位就说明有别的节点在发更高优先级ID更小的帧这个节点就自动退出发送下次重试。整个过程是逐位仲裁的高优先级的帧根本不需要等完全不会被打断。这个机制叫“非破坏性仲裁”。放在亮灯拣选场景里它的价值很直接。比如某条急停指令、某个货位的紧急补货请求可以把这些消息的ID设小让它和普通任务指令同时抢线时优先走。任务指令晚半毫秒无所谓但急停信号不能等。RS485要做到同样的效果得靠主站轮询加上复杂的优先级算法开发量和故障风险完全不在一个量级。2.4 错误帧是自愈机制不是故障本身聊CAN总线的人基本都绕不过“错误帧”这个词。很多人第一次用CAN分析仪抓波形时看到总线上出现错误帧就慌了以为是硬件坏了。其实错误帧是CAN节点在发现非法状态时主动发出的“报警信息”它是协议运行时的一种自愈机制。CAN协议定义了五类错误错误类型触发条件简单理解位错误发送节点监听总线发现实际电平与自己发送不一致有人抢线或线路异常填充错误连续出现6个相同电平位违反位填充规则通信链路有干扰CRC错误接收方计算的CRC与发送方不一致数据传输出错多半是干扰格式错误固定格式的位段如EOF电平不对帧结构被破坏ACK错误发送方在ACK槽没有收到显性位总线上可能只有发送方在发没有接收者当节点检测到错误会立即发出一个“主动错误标志”6个连续显性位这个标志会把当前正在传输的帧打断然后所有节点都能感知到这个错误。协议还维护着发送错误计数器和接收错误计数器错误多的节点计数器不断累加超过一定阈值会进入错误被动状态甚至进入bus-off离线状态自动退出总线。我见过不少实施人员看到错误帧就头痛却忽略了一个问题错误帧是一个“症状”不是“病根”。如果总线上偶尔有一个错误帧说明协议在正常工作它在提示你环境里有干扰如果错误帧密度很高就该去查终端电阻、查屏蔽接地、查节点供电。这部分后面专门写一段排查链路。2.5 波特率与传输距离之间的权衡CAN总线的波特率不是越高越好它和线缆长度直接相关。工程上电磁波在铜缆中的传播速度有限传输延迟、信号反射、上升沿变缓都会随距离增加而恶化。业内一个常用的经验关系是线缆长度米与波特率Mbps的乘积大约在40左右比较稳妥。也就是说1Mbps波特率建议总长控制在40米以内250kbps大约能到160米125kbps能到300-500米级别。亮灯拣选系统在仓库里的布线距离一般都几百米所以我常用125kbps或者250kbps而不是直接用最高的1Mbps。有人会觉得“能快为什么不用”因为在这个场景里每帧报文只有几字节一个任务指令从主机到终端、终端回执到主机整条链路需要的带宽极低。250kbps下传输一帧8字节数据才不到1毫秒现场几百个节点也远远跑不满总线。牺牲一点速度换来更远的传输距离和更高的抗干扰余量这笔账非常划算。多说一句库房环境里存在大量变频设备和金属货架低速率的另一个好处是信号上升沿更缓反射和串扰带来的误码更少。建议实际项目里优先选125k或250k除非你确认仓库很小且现场干扰测试完全干净。3. 从接线到跑通一套CAN有线亮灯拣选系统怎么落地3.1 网络拓扑主干“手拉手”终端电阻一左一右CAN总线的接线方式是很多新手第一道坎。它和以太网的星形结构完全不同CAN的网络拓扑是“手拉手”的直线型结构也就是一条主干线从控制器出发沿着货架走去每个货位节点用很短的支线接到主干上。为什么不能像家庭网线一样接成星形因为CAN的物理层依赖总线两端的阻抗匹配来吸收信号反射。在星形拓扑中分支点会产生多个方向的阻抗不连续点信号一到分支处就会反射反射波叠加在后续信号上直接导致误码。尤其是分支线如果很长简直就是一根天线会把各种噪声带进来。每根支线越短越好工程上尽量不要超过30厘米。如果某一排货架确实离主干较远宁可在这一排的起点放一个CAN中继器把网络分段也不要做长分支。还有一个要命的细节终端电阻必须在总线的“物理两端”各接一个阻值是120Ω。很多施工人员图省事只在控制器端接了一个120Ω另一端没接或者为了调线方便在中间某处接上。这两种做法造成的结果一样阻抗不匹配总线上来回反射系统运行时好时坏很难查。3.2 核心硬件选型MCU、收发器、隔离方案货位终端虽然看起来就是个“带灯的小盒子”但里面麻雀虽小五脏俱全。我常用的方案是带CAN控制器的MCU加外部收发器比如STM32F103C8T6加TJA1050或者用带CAN控制器的国产MCU加隔离CAN收发器模块比如CTM1050这一类。选MCU时只有一个硬性要求要自带CAN控制器别用普通串口MCU去软件模拟CAN那样时序很难保证错误率会高到让你怀疑人生。收发器部分强烈建议选择带隔离功能的方案。仓库里动力线和信号线往往很难完全分开地电位差非常常见。如果收发器不隔离某一个节点上的地电位异常可能通过CAN_GND传导到整个网络严重时直接烧掉一片节点的收发器。用带隔离的CAN收发器相当于每个节点和总线之间都有一道“绝缘墙”单点问题不会蔓延成整片故障。电源侧也要注意现场一般用24V开关电源统一供电节点内部转成5V或3.3V。不要在总线的两个远端分别接两个电源如果非要接必须确认两个电源的地是共地的否则地环路会产生很大的共模电压干扰或者损坏收发器。3.3 中断接收还是DMA接收这个高频问题该怎么答聊CAN的人几乎都会搜过“CAN总线一般中断接收还是DMA接收”这个问题。我直接说结论在亮灯拣选这种典型应用里节点的CAN接收使用中断方式就够了DMA不是必需品只有在特定的高负载场景下才有明显优势。为什么这么说先算一笔账。假设波特率250kbps每帧8字节数据一帧报文传输时间大约500微秒。如果一个节点要接收入站指令、出站回执、心跳查询这些消息平均每秒可能就几十帧中断频率极低。MCU在中断里读寄存器、清标志占用CPU的时间几乎可以忽略。此时用DMA反而增加了代码复杂度还要处理DMA与CAN FIFO之间的协调关系收益却看不见。如果系统形态变了比如主机需要持续采集几百个节点的状态并且以很高频率广播请求节点需要连续接收大量报文那才需要考虑DMA。还有一种情况是使用了外置SPI接口的CAN控制器比如MCP2515或者使用CAN-FD高波特率这时DMA帮MCU搬运数据确实能减轻CPU压力。我的建议是常规项目中断接收FIFO是首选大批量数据接收、高波特率的应用才考虑DMA。不要为了用新特性而用新特性现场稳定比炫技重要得多。3.4 应用层协议设计位置、数量、动作怎么装进一帧报文CAN协议只定义了物理层和数据链路层的传输规则应用层怎么设计完全由开发者自己定。对亮灯拣选系统来说帧结构直接在应用层做一套自己的格式简单够用就行。推荐一个参考格式标准帧11位ID。ID的低字节直接作为货位节点地址比如节点地址0x03ID就是0x003这样可以容纳约512个货位保留高几位给特殊消息。普通任务指令和回执都用8字节数据段字节含义示例Byte0命令类型0x01点亮并显示数量、0x02熄灭、0x03查询状态、0x10按键回执Byte1数量/动作参数需要拣选的数量例如0x02Byte2状态标志例如0x00正常、0x01故障Byte3-7备用默认0x00方便以后扩展举个例子管理主机要把“A-03-12”货位点亮并显示数量2节点地址是0x03控制器就发一帧ID0x003的数据帧数据段为0x01 0x02 0x00 0x00 0x00 0x00 0x00 0x00。货位终端收到后点亮指示灯数码管显示“2”。拣选员完成取货按下确认键终端回发一帧数据0x10 0x02 0x00 0x00 0x00 0x00 0x00 0x00主机收到后关灯记录完成。有一个工程细节容易被忽略确认键的回执必须加“超时重发”。如果拣选员按下了确认键但总线恰好被干扰、这帧回执没发出去主机就不知道任务已完成灯可能重新亮起导致重复拣选。所以终端的策略是按下确认后等待主机回复“收到”可以再定义一个0x11确认回复如果定时没收到终端重新发送回执直到主机确认。这样一进一出的“握手”才能保证账实一致。3.5 走线和防护库房现场的真实工程细节软件写得再好接线乱成一团也白搭。亮灯拣选系统走线时我习惯遵循一套固定的施工标准。主干线必须用双绞屏蔽线绞距越小抗干扰越好。屏蔽层只在控制器端单点接地千万不要两端都接地否则屏蔽层会形成新的地环路。总线尽量远离变频器输出电缆、大功率电机电缆如果必须交叉交叉角尽量接近90度避免长距离平行走线。节点接线时CAN_H、CAN_L以及信号地CAN_GND三根线最好都走进去。有隔离收发器的节点可能不需要CAN_GND但没有隔离的节点没有公共地的话节点的CAN收发器之间会出现较大的地电位差影响通信。建议直接用带隔离的收发器省事很多。每一排货架的线缆要留好余量并固定不能悬空荡着。线缆两端做好线标节点编号和地址表一一对应。这一步看似无关紧要但等到系统跑了一年以后某个节点坏了需要更换时一份清晰的线标和地址表能帮你省下半天排查时间。4. 负载率、错误帧与终端电阻现场最容易踩的三个坑4.1 总线负载率怎么算公式、算例和经验值CAN总线的负载率这个词网上讨论度一直很高。简单说负载率就是总线上实际传输数据所占用时间与总时间的比值。工程上的估算公式是负载率 (平均每帧传输时间 × 每秒帧数) / 1秒 × 100%先算单帧时间。在250kbps下1位的时间 1/250000 4微秒。一帧标准数据帧不考虑位填充时SOF 1位 仲裁段12位 控制段6位 数据段64位8字节 CRC段16位 ACK段2位 EOF 7位 IFS 3位总共111位。考虑位填充机制每5个连续相同位后要插1个反相位数据随机时平均会多出约20位左右所以一帧典型按130位估算。那么单帧传输时间约为130 × 4 520微秒也就是0.52毫秒。如果系统每秒要发送100帧总占用时间为100 × 0.52 52毫秒负载率就是5.2%。每秒500帧时负载率约26%。行业中通常建议把负载率控制在30%以内因为CAN有错误重发机制一旦总线上出现错误帧错误帧本身和重发帧都会额外占用总线时间。如果平时已经把负载率跑到60%、70%突然来一阵干扰导致重发总线就可能被占满低优先级消息迟迟发不出去系统表现为“卡顿”。亮灯拣选系统本身的业务报文量很小常规配置下负载率很难超过10%。但如果节点数量上千并且还做周期性的心跳上报就一定要把心跳间隔拉开避免所有节点同时上报造成瞬时总线的“堵车”。4.2 错误帧频发时从哪几个地方开始查错误帧是现场排障最好的“线索”。用CAN分析仪挂上总线统计错误帧类型和出现频率基本就能圈定问题方向。我排障的习惯顺序是查终端电阻。用万用表离线量CAN_H和CAN_L之间的电阻正常应为60Ω左右总线两端各一个120Ω并联。如果量到120Ω说明某一端没接或接错位置如果量到约0Ω说明有短路如果阻值明显偏大可能线缆断了或者端子松动。查总线静态电平。系统上电但无通信时CAN_H和CAN_L对地电压都应该在2.5V左右两者差分电压接近0V。如果CAN_H对地变成0V或5V说明线缆接错或收发器损坏。查波特率一致性。总线上所有节点的波特率必须一致偏差不能超过千分之几。节点晶振精度差、或者波特率配置寄存器算错都会导致帧同步失败表现就是大量的填充错误和CRC错误。查地电位和共模干扰。用示波器看CAN_H与CAN_GND之间的波形如果存在大幅度的高频毛刺多半是屏蔽层接地不良或总线靠近动力线。这种情况把屏蔽层单点接地做好线路走向调整一下往往立竿见影。查供电。节点供电电压不稳会导致收发器工作在线性区边缘发送信号幅度不足接收端就会认为“这一位没发出来”触发位错误或ACK错误。用万用表挂在一些远端节点观察通讯时电压是否明显跌落。错误帧的密度很关键。如果只是偶尔一两帧问题不大如果每秒几十帧就按上面的顺序挨个排查。最怕的是“时好时坏”那基本可以断定是某个节点的接线虚接或者屏蔽层接地有问题多发生在温差大、货架有轻微震动的环境里。4.3 为什么终端电阻是120Ω标准为什么要求“一左一右”终端电阻这个知识点属于“看起来不起眼、错了要命”的典型。CAN标准规定总线特征阻抗为120Ω终端电阻的作用是在总线两端吸收信号能量避免信号到达端头后反射回来与后续信号叠加。反射问题可以打个比方信号在电缆里传播遇到阻抗变化的地方就像声音遇到山谷一样会回弹。回弹的波形叠加到正常信号上接收端看到的电平就可能由1变0、由0变1直接误码。两端各接一个120Ω电阻信号传到端头时能量被电阻吸收掉就不会再原路返回。为什么必须是120Ω而不是其他值因为CAN物理层在设计时就规定了传输线缆的特征阻抗为120Ω。阻抗匹配时反射最小。总线上两端各一个120Ω并联之后从总线中间看进去的等效电阻是60Ω这与收发器输出特性配合得刚好。还有一个常见误区有人用万用表在线测总线电阻发现是60Ω但他只接了一个120Ω电阻在中间某处由于该位置电阻和线缆的阻抗不匹配反射问题依然存在。所以验收时不仅要量阻值还要确认电阻的物理位置确实在线的两端。4.4 现场验收用的一份总线健康清单项目验收阶段我一般会拿CAN分析仪做一轮完整的健康检查。下面的清单可以直接拿去参考检查项目工具/方法正常标准终端电阻离线万用表量CAN_H与CAN_L之间60Ω左右静态差分电压上电无通信时万用表/示波器差分电压接近0VCAN_H/CAN_L约2.5V显性电平有通信时抓波形差分电压约2VCAN_H约3.5VCAN_L约1.5V总线负载率分析仪统计不超过30%亮灯场景通常10%以下错误帧计数分析仪统计长时间运行无连续错误帧偶发可接受节点上线率依次触发各节点每个节点可靠上线、响应不掉线电源稳定性万用表记录远端节点电压通信时电压波动不影响收发器工作这套清单执行下来系统能不能稳定扛住现场心里基本就有数了。很多项目上线后问题不断回头看都是前期验收时没把这些基础指标测干净。5. RS485、以太网、无线也都行为什么仓库现场偏偏认CAN5.1 RS485的主从轮询在几百个节点下会越拖越慢仓库方案选型时RS485经常被提出来和CAN对比。RS485物理层同样是差分信号、抗干扰也不错但它和CAN最大的区别在于链路层机制。RS485通常是主从结构主站一个一个轮流问从站“你有没有数据上报”从站被问到才能回答。这种轮询方式在节点少的时候问题不大节点一多问题就来了。假设有300个节点每个节点轮询一轮需要几百毫秒到几秒那么一个节点想要上报一个紧急事件必须等主站轮询到它。如果某个从站死机不回主站还要超时重试整条链路可能被拖得更慢。亮灯拣选恰恰是一个“事件随机发生”的系统哪个货位的灯要先亮、哪个按钮要优先回执完全取决于拣选员的操作顺序。如果用RS485做控制器的调度逻辑会非常复杂而且实时性受节点数影响。CAN天然支持节点主动上报事件一来直接抢线发送节奏完全不一样。5.2 工业以太网性能很强但一个货位一个网口的成本太夸张论带宽和灵活性工业以太网确实强过CAN但用在货位终端上有一个硬伤成本。每个货位终端要用以太网就得带以太网PHY芯片或使用一体化网络模块成本直接比CAN方案贵一个量级。几百个货位光是网口模块和交换机端口的钱就很可观。仓库里货位密集一个网口一条网线线缆数量也会翻倍增长。CAN总线本身就是主干一根线串下来节点就近挂接线材用量和施工工时都比以太网少得多。更何况货位终端每一条消息的负载只有几个字节用千兆以太网传一个“亮灯”指令属于高射炮打蚊子。5.3 无线方案输给了仓库里无处不在的金属货架无线方案看起来最“先进”但仓库环境对无线非常不友好。货架是金属的货物也大量使用金属包装一排排金属货架就像一层层屏蔽网把无线信号挡得七零八落。仓库里还有拣选车、叉车移动信号覆盖随时在变。无线节点一旦掉线对应货位的灯不亮拣选员就要停下来等待系统效率立刻崩。另外还有供电问题上一章讲过有源节点必须持续供电。无线加电池的组合在仓库场景里维护成本极高而无线加有线供电又会抵消无线的大部分布线优势。亮灯拣选这类固定位置的设备本质上并不需要“移动性”无线带来的便利发挥不出来反而背上干扰、掉线、电池的包袱。5.4 四种方案同场对比实时性、抗干扰、成本、维护难度把CAN、RS485、工业以太网、无线四种方案放在一起看维度CAN有线RS485工业以太网无线2.4G/Zigbee等节点主动上报支持事件即时抢占不支持主从轮询支持但成本高支持但易冲突布线形式手拉手主干分支短手拉手主干星形为主需交换机无需布通信线抗干扰能力强差分CRC较强差分但无可靠帧校验强但节点成本高受金属货架影响大节点成本低低高中高供电问题有线供电有线供电有线供电网线POE有距离限制电池/供电线麻烦维护难度低节点简单中RS485总线上有节点故障易影响全局中高交换机和网络配置多高电池和掉线问题多典型应用汽车、工业控制、本场景仪表采集、变频器通信机器视觉、PLC上位机资产标签、移动设备表格列到这里结论很清楚亮灯拣选这类“固定位置、消息短、要求实时、要求长期在线”的场景CAN几乎就是量身定做的。5.5 选型不是看谁参数高而是看谁在现场“省心”说白了一个总线方案好不好不是看它的带宽上限、不是看它的宣传参数而是看在真实的仓库环境里能不能让人“省心”。CAN在这个场景里的优势不是某一个单点而是整条链路上都很配合协议自带校验和错误处理不用应用层补太多节点成本低几百个点位算下来预算可控抗干扰能力强现场手尾少节点主动上报事件实时性好维护起来也简单一个分析仪就能把整条总线诊断明白。这也就是为什么英博和很多仓储自动化供应商在密集货位拣选场景里最终会选择CAN总线作为有线亮灯拣选系统的通信骨干。它不是最闪耀的但一定是最稳的。最后分享一个我自己的习惯做这套系统时不要一上来就铺整个库房的线。先在办公室用两个货位终端加一个CAN分析仪把“主机下发、节点亮灯、按键回执、超时重发”这条闭环跑通确认协议和应用逻辑都没有问题再上现场布线。现场线缆施工完成后不要急着接所有节点先接最远端和最近端的几个节点做连通性测试测通了再逐一并联上去。每个节点贴好地址标签地址表在施工过程中同步更新。这套节奏帮我省下了很多半夜进库房救火的精力你也可以直接照着干。
返回列表