ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

SMEMA协议详解:干接点握手、传感器布局与PLC联调避坑指南

SMEMA协议详解:干接点握手、传感器布局与PLC联调避坑指南

简介:面向自动化设备集成与SMT产线运维人员的SMEMA协议讲解文档,以Apple Mac产品制造环境为背景,系统说明表面贴装设备制造协会通信标准在实际产线中的落地方式。文档为单份PDF,约737KB,便携易读。内容从硬件层入手,讲解2910mm顶部传送带与450mm底部传送带的连接器选型、针脚定义及设备间线缆接线规则;软件控制部分给出板卡转移的上下游握手条件;传感器配置部分则重点阐述出口传感器、入口传感器与中间传感器的协同逻辑,包括如何利用中间传感器避免底部输送带板卡碰撞。此外还总结了SMEMA在兼容性、可靠性、扩展性方面的优势,便于评估产线改造或跨厂商设备对接。目前已有1217人学习下载,适合自动化工程师、设备维护人员快速建立对该协议的系统认知。

1. SMEMA不是“通信协议”:四个干接点加两个传感器,凭什么让整条产线不撞板

第一次调自动化产线的人,几乎都会被SMEMA上一课:脑子里想的都是总线、报文、握手序列,可现场老师傅递过来的却是一个公母连接器和一把端子排。SMEMA协议(表面贴装设备制造商协会制定的设备对接标准)不传字节、不设地址、没有波特率,真正干活的就是几个干接点和两对传感器信号:上游说“我有板可以送”,下游说“我已准备好接收”,两边一握手,传送带才动。问题是,这么简陋的机制,却扛住了全世界大多数SMT产线的前后机衔接与自动上下料。理解SMEMA的底层逻辑,是自动化运维里最容易被忽视但性价比极高的基本功:产线联调时反复追查的卡板、报警、信号丢失,一半以上都藏在这份“没有协议”的协议里。

2. 硬件接口:公母连接器、Pin 1~4 与传送带尺寸,信号层到底怎么铺

2.1 一条“接线规则”而不是通信总线:为什么要用公母连接器硬通断

SMEMA的物理层没有帧格式,也没有复杂的电平编码。标准把设备之间的互通简化成一组干接点回路:上游机器的“板卡到位”信号通过继电器触点接出来,下游机器的“接收就绪”信号同样以触点形式接回来。两侧设备在电气上是隔离的,谁都不需要知道对方的控制板是什么品牌、跑的是什么程序。

公母连接器的作用是让这条规则可插拔。常见的安装约定是把母头(Female Connector)建议装在机器背面,线缆两端配公头(Male Connector),这样设备进场时拉一根电缆就能与上下游完成对接。现场把连接器装在机器背面的好处是:检修时线缆在设备外侧走线,不会碰到传送机构和运动部件;同时整条线的信号走向也清晰,拿图纸顺着背板逐一量通断即可。

与RS-232或以太网不同,这套接口上没有“数据包”的概念。一条信号只有两种物理状态:继电器触点闭合代表逻辑真,触点断开代表逻辑假。下游设备不需要去解析一串字节流,只需要读一个开关量输入;上游也一样。好处显而易见:就算电缆经过电柜、拖链、电机驱动线束旁边,干扰最多造成信号抖动,也不太可能出现整包数据被冲掉之类的问题。把通信降级成“触点通断”,反而是SMT环境里最抗造的做法。

提示:SMEMA标准只定义信号行为与基本电气回路,连接器针数、电压级别、传感器类型允许设备商自己定。不同厂家的IO表必须逐一核对,不能默认同针号就是同信号。

2.2 传送带尺寸与物理约束:2910±10mm 和 450mm 代表着什么

资料里给出的某一台设备的接口尺寸很能说明问题:顶部传送带(Top Conveyor)2910±10mm,底部传送带(Bottom Conveyor)450mm。很多刚接触的人会以为这是协议规定的标准长度,其实不是,这两个数字是一家设备厂针对特定工艺段定义的结构参数,但它直接决定了SMEMA交接能否成立。

顶部2910mm的长输送带承载正常工艺传送,±10mm是安装公差预算。也就是说,前后两台设备对接时,允许安装位置有正负一厘米的偏差,但超过这个范围,传感器位置、板子跨越距离都会脱离设计假设。底部450mm的短输送带则承担回板或缓存功能,它很短,意味着板子在底部带上的行程有限,不可能靠长距离滑行慢慢找位置,必须在入口处就准确停下。

这块知识在实际项目中容易被当成“钳工尺寸”忽略,但它跟SMEMA的传感器逻辑是强耦合的。板子从上游送到下游,要经历“板头进入下游输送带→板尾离开上游输送带”的过程。如果交接区尺寸不在预算内,比如两台机器距离过大,板头已经越过下游入口传感器,板尾还没离开上游出口传感器,那么上下游会同时认为自己“正在占用这块板”,互锁逻辑就会陷入死锁。所以看SMEMA不能只看电信号,还要把机械尺寸当成协议的一部分去核对。

我在现场一般会这么做:把相邻两站的交接区尺寸画成一张简图,标出上游出口传感器位置、下游入口传感器位置、两段输送带的重叠长度。只要板子在重叠区内的悬空量不超过板长的三分之一,SMEMA的握手时序才算有物理基础。

2.3 Pin 1~4 的含义:信号编号、坏板信号与“没有数据”的真相

资料里明确写了“Pin 1,2,3,4 is used,No need failed board available”,这句话信息量很大。整根多针连接器只用四个引脚,并不是厂商偷懒,而是SMEMA标准里的信号本身就只需要四路:两个设备状态信号加两个移送确认信号。剩下的引脚全部保留,留给后续扩展或其他非标用途。

接线示意可以这样理解:

// 设备间干接点连线示意(多芯D型连接器,仅用Pin1-4) // 箭头指向表示信号送达方向,触点闭合=TRUE Pin1 <-- 上游.Board_Available ──> 下游.IO_输入_01 Pin2 <-- 下游.Machine_Ready ──> 上游.IO_输入_01 Pin3 <-- 上游.出口传感器事件 ──> 下游.IO_输入_02 Pin4 <-- 下游.入口传感器事件 ──> 上游.IO_输入_02

Pin1是上游发出的“板可用”信号,告诉下游“我这儿有一块板准备送出”;Pin2是下游返回的“机器就绪”信号,告诉上游“我这儿能接板,传送带可以过来”。这两路构成最核心的握手。Pin3和Pin4则是移送监督信号,由出口传感器、入口传感器的状态参与,用于检查板子是否真的完成了移交。后面讲T3/T4时序时还会展开。

“No need failed board available”这句话说的是:SMEMA标准里没有坏板信号位。坏板也好、合格板也好,都必须按照同样的握手流程走完传送,不能因为一块板被判废就停在线体中间堵住后面所有板。坏板信息需要依靠条码扫描、MES数据库另行记录和分流,接口层面不关心板子的质量状态。这个设计看似少了一个功能,实际避免了很恶心的工程问题:一旦“坏板信号”参与握手,每台设备都得多猜对方口中的“坏板”是什么标准,跨厂互操作就再也说不清了。

2.4 干接点 vs 总线:最简单的信号为什么在产线上最可靠

为什么不直接用RS-485或以太网把这些状态传过去?回答这个问题,要先看这个接口的职责边界。设备对接时真正需要交换的信息只有两个布尔量:我有没有板、你能不能接。为了两个布尔量去建立一套报文协议,双方得对齐帧格式、地址分配、心跳超时、错误重传,这还没算总线端子烧掉、IP冲突之类的现场玄学。

干接点信号没有“收错字节”的概念。只要继电器触点没粘连,信号逻辑就是确定的。哪怕线缆被压伤导致时通时断,PLC侧看到的最多是一个抖动信号,程序里加个几十毫秒的滤波就能解决。相比之下,一帧串口报文在电柜内被变频器干扰出一个误码,轻则通信闪断,重则整线停机,排查起来要命。

当然这个选择也有代价:没有线号寻址、没有诊断数据、没有报文校验。信号错一根线,只能靠人拿万用表一段一段量。但SMT产线本质上是大量同构设备首尾相接的重复结构,这种固定拓扑最适合用硬件信号直连。把复杂度留在各台设备内部的PLC里,设备之间只保留最朴素的布尔量,这才是SMEMA能保持几十年生命力的根本原因。

3. 软件控制逻辑:板卡转移条件与T3/T4握手时序,到底是怎样转起来的

3.1 从两个布尔条件到状态机:上游有板、下游就绪缺一不可

资料里把软件控制逻辑写得非常直白:板卡转移的条件有两个,上游机器有板卡可供发送,下游机器准备好接收。翻译成程序逻辑,就是两个布尔量相与:只有两者同时为真,传送带才允许动作。

但实际工程里不能直接拿这两个量去点传送电机,否则会出现信号抖动导致传送带反复启停。更规范的做法是把交接过程看成一个有限状态机:空闲态等待板到位;当上游有板且下游就绪,进入移送态;移送过程由传感器确认;确认完成后回到空闲态。

// SMEMA交接状态机(简化伪代码) TYPE State : (IDLE, WAIT_READY, TRANSFER, WAIT_CONFIRM); CASE CurrentState OF IDLE: // 上游把板送到出口,等待下游给允许信号 IF bBoardAvailable THEN CurrentState := WAIT_READY; END_IF; WAIT_READY: // 两个条件同时成立,立即启动输送带 IF bBoardAvailable AND bMachineReady THEN StartConveyor := TRUE; CurrentState := TRANSFER; END_IF; TRANSFER: // 等待出口传感器释放(板尾完全离开) IF NOT bOutletSensor THEN StartConveyor := FALSE; CurrentState := IDLE; END_IF; END_CASE;

这个状态机的关键不是条件本身,而是“边沿”处理。很多新人在PLC里直接写“BoardAvailable AND MachineReady → 启动传送带”,结果板子到了出口就一直启动,下游偶尔抖动一下又停,产生一堆时序毛刺。用状态机把动作锁存起来,启动之后等到物理完成信号再复位,整个交接只响应一次上升沿,可靠性一下子就上来了。

参数上需要关注两个时间:一是从状态WAIT_READY到传送带真正启动的响应时间,受PLC扫描周期影响;二是输送带动作后到出口传感器释放的最长时间,超过这个时间就报交接超时。这个超时值不能拍脑袋定,要按传送带速度和交接区长度估算,再留出1.5倍余量,否则线上稍微堆一点板就会误报警。

3.2 T3/T4:出口与入口传感器如何确认“移出完成 / 移入完成”

资料里有一句话很容易被滑过去:需要出口传感器(Outlet Sensor)和入口传感器(Inlet Sensor)来检查T3与T4状态。T3和T4不是什么神秘寄存器,而是移送监督的两个关键事件时间窗:T3对应“板开始移出→板移出完成”,T4对应“板开始移入→板移入完成”。

用现场语言解释更清楚。板子在上游出口处被传送带推出,出口传感器先被板头遮住,这叫移出开始;等板尾扫过传感器,传感器信号释放,这叫移出完成。这段“传感器从遮挡到释放”的时间就是T3的物理含义。下游入口传感器看到板头进入,产生一个信号沿,这叫移入开始;板完全越过入口传感器后,才叫移入完成,对应T4。

上下游各看各的传感器,互不依赖对方的内部变量。这种设计很聪明:上游只判断“我确实把板送出去了”,下游只判断“我确实收到板了”,双方不需要共享任何数据寄存器,只靠四路干接点就能收敛到一致结论。

// T3/T4监测逻辑:任何一侧状态长时间不变,就认为交接卡死 // OutSensor: 上游出口传感器;InSensor: 下游入口传感器 IF bTransferStarted THEN IF OutSensor AND InSensor THEN // 板还在中间,两头都没动作,继续等待 Watchdog := Watchdog + 1; ELSIF NOT OutSensor AND InSensor THEN // 板尾已离开上游,且板头已进入下游:交接完成 bTransferDone := TRUE; END_IF; IF Watchdog > TransferTimeout THEN Alarm("交接超时:板可能卡在传送带间隙"); END_IF; END_IF;

这里容易踩的坑是“只看T3不看T4”。有的工程师认为上游出口传感器释放了就代表交接完成,于是急匆匆把板可用信号复位,实际上板头还没进下游入口,下游随时可能因为没检测到板而拒绝接收。SMEMA要求出口和入口传感器同时参与判定,本质是用两个独立证据确认同一件事:这块板不在中间悬着,它的所有权已经完整地转移给了下游。

3.3 一个最小PLC实现:带保持和互锁的信号逻辑怎么写

把前面的状态机落到可扫描的PLC代码里,还有一个细节要处理:不要让“启动传送带”这个输出直接等于“有板且就绪”,否则信号抖动一次,传送带就抽搐一次。常见实现思路是加一个移送锁定标志(TransferBusy),启动之后保持输出,直到物理传感器反馈完成。

// 最小SMEMA交接逻辑(结构化文本风格) // 输入: // bUpBoardAvail : 上游“有板可送”信号 // bDownReady : 下游“可接收”信号 // bOutletSensor : 本机出口传感器(TRUE=有板遮挡) // bInletSensor : 本机入口传感器(TRUE=有板进入) // 输出: // ConveyorRun : 本机输送带运行 // bReadyToReceive: 本机向上游发送的“可接收”信号 IF NOT bTransferBusy THEN // 空闲时:只有当上游有板、下游也同意接板时才启动 IF bUpBoardAvail AND bDownReady THEN ConveyorRun := TRUE; bTransferBusy := TRUE; END_IF; ELSE // 移送中:出口传感器释放,说明板尾已离开本机 IF NOT bOutletSensor THEN ConveyorRun := FALSE; bTransferBusy := FALSE; END_IF; END_IF; // 本机“可接收”的前提:传送带空闲或板已进缓存位 IF NOT ConveyorRun AND NOT bMiddleSensor THEN bReadyToReceive := TRUE; ELSE bReadyToReceive := FALSE; END_IF;

留意最后一段互锁逻辑:本机只有在自己能接收的时候,才向上游发出“可接收”信号。中间传感器一旦检测到板上缓存位,本机就把Ready信号撤掉,上游自然不会继续送板。这套“自己缓存满就切断握手信号”的机制,是SMEMA产线防堆叠的基石,比任何复杂的调度算法都有效。

这个最小实现可以直接改成梯形图:把bUpBoardAvail AND bDownReady串成常开触点串联,后面接一个自锁回路;出口传感器的常闭触点串在自锁回路里做复位。三五个触点就够,维护电工也能看懂。跑起来以后,重点观察的是三个时间点:启动瞬间、出口传感器释放瞬间、上游Ready信号撤除瞬间,用PLC的在线监控功能抓这三处的变化顺序,整条线的交接逻辑对不对就一目了然。

4. 传感器布局:出口、入口、中间传感器,怎样把“信号层面”变成“物理防撞”

4.1 出口与入口传感器的位置:交接区的边界就靠它们划出来

传感器在SMEMA里不是配角,它们是把布尔信号与物理板位置对应起来的唯一桥梁。出口传感器装在靠近下游方向的输送带内侧,用来确认“板开始移出”和“板移出完成”;入口传感器装在靠近上游方向的输送带内侧,用来确认“板开始移入”和“板移入完成”。两者共同覆盖交接区两侧的边界。

安装位置有个讲究:不能把传感器贴在最外沿。如果出口传感器装得过于靠边,它可能检测到下游机器上正在等待的上一块板,造成本机误以为“我的板还没出去”;入口传感器同理,装得太靠外会把邻机上的板当成自己的输入信号。通常的思路是让传感器探头对准输送带中心线上的板边,而不是板面,这样板子经过时遮挡关系最干净。

传感器的响应时间也要纳入时序计算。漫反射式光电传感器在板速很快时会有几个毫秒的延迟,如果刚好落在T3/T4判定窗口边缘,会出现“板明明过去了但确认信号没跟上”的现象。处理办法不是换更贵的传感器,而是软件里对传感器信号做几十毫秒的滤波,把抖动和响应延迟一起消化掉。

4.2 中间传感器:下游未就绪时,一段输送带就是一块板的“缓存格”

SMEMA体系里最容易被忽视的是中间传感器(Middle Sensor)。资料里写得很清楚:如果下游机器没有发出机器就绪信号,中间传感器就负责把板挡住,让它暂时存储在传送带上。这是整个协议里唯一的“缓冲”能力。

逻辑是这样的:本机从上游接板以后,板沿着输送带往出口走,走到中间传感器位置时,程序先看下游有没有给Ready。如果下游还没准备好,传送带就停在中间传感器位置,板暂时不继续前进;等下游Ready到来,传送带恢复运行,板再移出。这个动作很像交通路口的待转区,中间传感器就是停止线。

// 中间缓存逻辑 // bMiddleSensor : 中间传感器,TRUE=板已到达缓存位 // bDownReady : 下游“机器就绪”信号 IF bMiddleSensor AND NOT bDownReady THEN // 下游没准备好,停板缓存 StopConveyor(); bReadyToReceive := FALSE; // 向上游声明:本机暂时不能再收板 END_IF; IF bMiddleSensor AND bDownReady THEN // 下游允许,放行 StartConveyor(); END_IF;

注意这里的连锁后果:板一旦停在中间传感器,本机必须同时撤掉自己发给上游的“可接收”信号。这个动作很多调试人员会漏掉,结果就是本机缓存区已经有一块板,上游却还在送第二块,两块板在短输送带上追尾。SMEMA的严谨之处就在这里:它不止定义了本机与下游的交接,还把“缓存占用”反向映射成“对上游的忙信号”,形成一整条联锁链。

4.3 为什么只用一个中间传感器:一段输送带只存一块板,杜绝追尾

资料里专门强调“只用1个中间传感器,确保1条输送带只存1块板,避免板对板在底部输送带碰撞”。这段话值得拆开看:为什么不放两三个传感器,让输送带多缓存几块板,提高产线吸收波动的能力?

答案在于“作废”成本。SMT产线里的板尺寸各异,有大板有小板,如果允许一段输送带同时存在两块板,就必须在程序里维护“第一块在哪个位置、第二块在哪个位置”的队列信息,用到的传感器不是两三个就能搞定的。板与板之间的距离、速度差、可能的滑动量,都会引入计算误差。一旦误差累积,两块板在输送带内碰撞,那就是实打实的废品事故,损失远超多缓存一块板带来的吞吐收益。

所以SMEMA做了一个极端的取舍:一段输送带只承认一个缓存槽,用最少的传感器换取最硬的防撞保证。宁可让上游暂时停板,也绝不让这块输送带上出现第二块板。这种设计哲学贯穿整个标准:所有功能都以“不会发生物理碰撞”为最高优先级,吞吐量的优化留给更上层的MES调度去做。

这个取舍在实际运维中体现为一种“停线换安全”的气质:你可能会觉得单缓存位浪费产能,但站在长期可靠性的角度,它让整条设备的交接行为变成可预测的线性链,任何一环卡住,上下游立刻感知并停止动作,不会出现板子在隐蔽角落偷偷堆积的失控场景。

5. SMEMA联调避坑:信号抖动、引脚定义、传感器盲区,最容易翻车的地方

5.1 现象:插头对插后状态永远为假,PLC里死活看不到信号

新设备到场接线,公母头一插,IO映射写完,结果对方的状态信号怎么都点亮不了,老师傅拿万用表一量,触点通断正常,就是程序里读不到。

原因是引脚定义的方向搞反了。很多人把“Pin1是板可用”理解成“Pin1永远从上游出来”,实际上一根连接器跨越两台设备,Pin1在上游那一侧是输出,到了下游那一侧就成了输入。如果接线时把上下游的端子定义按同一方向制作,信号就等于送给了对方的一个输出点,自然石沉大海。

解决方式是先断电,用万用表蜂鸣档逐脚对线,从头到尾走一遍:上游Pin1导通到下游IO输入模块哪个端子,线路两端做好线号。然后在上游手动置位“板可用”信号,再回下游程序里看对应输入点是否从0变1,一路一路验完再上电跑自动流程。花十分钟对线,能省掉后面一整天的玄学排查。

5.2 现象:板停在中间传感器位,上游还在送板,底部输送带直接追尾

很多产线第一次带载跑的时候,下游是台需要较长处理时间的测试机,本机缓存位堵了一块板,结果底部输送带上又出现了第二块板,两块板撞在一起。

原因是中间传感器停板后,程序没有同步撤掉发给上游的“可接收”信号。站在上游的视角,本机一直亮着Ready,它当然认为可以继续送板;而本机输送带已经停了,进来的板无处可去,只能堆在入口处,板尾还跨在底部输送带上,轨迹交错就撞了。

解决方法是把“缓存占用”和“向上游宣告”做成硬联锁:只要中间传感器被遮挡,bReadyToReceive就必须强制为假,并且这个逻辑不能放在可被人为旁路的手动模式里。改动后测试流程是:让下游停在忙状态,观察本机中间传感器亮起后,上游是否在几百毫秒内撤走送板动作。能撤,说明联锁生效;不撤,说明互锁回路里还有旁路,继续查。

5.3 现象:T3/T4超时报警,但板明明已经进了下一台机

设备跑起来以后,交接超时报警频繁,走过去看板子已经稳稳停在下一台设备的入口,传送带也停了,可程序就是认为交接没完成。

原因是出口传感器或入口传感器的安装位置吃到了盲区。出口传感器如果装在靠近下游的一端,板尾离开时传感器信号释放得太早,程序可能把“板还在中间”误判成“板已完全离开”,导致超时计时器继续空转;入口传感器若被板架遮挡或安装在板面反射不稳定的角度,也会漏报板头到来的事件。

解决方法是把传感器对准板边路径,确保板在整段传送过程中稳定遮光;然后在PLC里给传感器信号加一个20到50毫秒的输入滤波,滤掉板尾弹跳产生的假释放。改完以后用单板跑循环,连续交接20次以上不报警,才算把时序边界重新校好。

5.4 现象:换线换规格后频繁卡板,2910与450的尺寸对不上

一条线原来跑大板没毛病,换成小板之后中间传感器位置的停板逻辑开始频繁出错,甚至出现板子在两台设备之间悬空卡死。

原因是交接区尺寸预算跟着板子规格变了。原设计里顶部输送带2910±10mm和底部输送带450mm是匹配特定板宽的;小板在交接区内的悬空量变大,原本能稳定触发的传感器现在可能正好落在板的镂空位置或边缘区域,遮光关系变得不稳定,T3/T4判定自然出问题。

解决方法是把交接区当成“可调机构”来维护:中间传感器和出口传感器都做成滑轨安装,换线时按新板子尺寸调整位置并锁紧,再版跑一遍交接确认。切忌只在程序里改超时时间续命,那只是把症状往后推,尺寸不匹配的物理隐患还在,下一次停机可能就发生在半夜无人时。

6. 设计取舍:为什么SMEMA可以“简陋”到只有几个干接点,却能几十年不退休

回头看整个SMEMA,它最反主流的地方在于:明明处在一个被各种总线协议包围的时代,它却坚持只传通断、不传数据。这个选择不是技术落后,而是一种清醒的成本计算。设备之间需要交换的信息本质上是二值的:能不能送、能不能接、送没送完、接没接到。把这些信息压缩成四个引脚,意味着不可能有协议解析错误、不可能有IP冲突、不可能有地址漂移,故障域被压到最小——要么通,要么断,没有中间状态。

代价同样明显:没有诊断能力。信号断了只能靠万用表量,没法从报文里读出“对方主板输出电压偏低”之类的线索;扩展性也有限,想加一个“板卡类型确认”或“坏板标记”就得走非标线,或者靠MES侧补齐。所以现代高端设备往往在SMEMA之上又叠了一层工业以太网,用于传条码、传配方、传工艺参数,但底层的安全联锁仍然保留干接点回路。这是一种很有参考价值的“分层思想”:用最可靠的物理信号管安全,用最灵活的网络信号管数据。

从那以后,我做任何产线联调都强制走一遍清单:先画干接点回路图,再量线,再验证传感器盲区,最后才写状态机。这套流程看起来慢,但它把SMEMA里最容易翻车的地方提前排掉了。希望帮到你。

本文还有配套的精品资源,点击获取

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进