简介:围绕SMEMA协议整理的PDF技术文档,面向自动化产线集成、SMT表面贴装与测试组装设备联调及运维人员,用于厘清前后主机和外部搬运设备之间的标准通信方式,降低不同厂商设备对接时的理解与实施成本。包内仅含1个PDF文件,压缩包约737KB,以标准讲解和图示要点为主,便于现场查阅与对照培训。文档覆盖电气硬件接口、上下传送带连接器与电缆Pin1—4定义、板卡转移的上下游条件、出口/入口传感器对T3与T4状态的监测,以及中间传感器在下游设备未就绪时暂停并缓存单块板卡、避免板间碰撞的控制逻辑,并延伸到兼容性、可靠性与扩展性优势。已有1217人学习,适合需要快速掌握SMEMA信号交换规则、排查板卡传输异常或开展产线培训的初中级技术人员参考。
1. 为什么产线上的机器要先对暗号:SMEMA 到底是什么
去车间看过贴片线的人多半见过这样一幕:一台机器把板子推到传送带尽头,板子停在那里不动,非要等下一台机器"点头",才继续往前走。两台设备可能来自不同厂家、不同年代,操作界面毫无相似之处,却在这一推一等之间配合得像排练过。这背后起作用的就是 SMEMA 协议——一份只有四根信号线、几个电平状态的接口约定。它不传图纸、不传配方、不传良率,只回答三个问题:我这里有板可以给你了、你准备好接收了没有、板子到底走完没有。把它想成两个人抬东西时喊的"起——走——放",比想成网络协议要接近真相得多。搞懂它,你就明白了整条自动化产线凭什么能一段一段接起来,也就明白为什么老工程师谈设备对接时,开口第一句往往是"它支不支持 SMEMA"。
2. 一句话说清 SMEMA:它传的不是数据,是"能不能给、能不能收"
2.1 它不是网络协议,是几根开关线的使用约定
很多人一听"协议"两个字,脑子里立刻浮现 IP 地址、端口号、数据包、寄存器地址这些东西。按那套想象去看 SMEMA,会越看越糊涂,因为 SMEMA 里根本没有"数据"这个概念。它规定的是一组开关量信号线怎么接、什么时机拉高、什么时机释放,以及双方必须遵守的先后顺序。
打个比方:两个人在嘈杂的车间里搬箱子,不用说话,只靠三面旗子——"我这儿有箱子""我这边腾出地方了""箱子正在路上"。旗子只有举起和放下两种状态,信息量小得可怜,但足够让两个人不撞车。SMEMA 就是这套旗语,只不过把旗子换成了电平,把两个人换成了两台设备。
这也解释了它为什么能活得这么久。数据协议要考虑版本兼容、要考虑编码格式、要考虑谁先发谁后发;而开关量信号只有"通"和"断"两种含义,一台 1990 年代的设备和一台刚出厂的新设备,只要都认这套旗语,就能对接。产线交接这件事本身就不复杂,复杂的是人总想让它承担超出它能力范围的任务。
从文档给出的控制逻辑看,整套约定的判断条件朴素到只有两条:上游机有板可发,下游机准备好接收。两条同时成立,板子才动;缺一条,板子就停在原地等。没有优先级队列,没有重传机制,也没有握手超时后自动降级的花哨设计。
2.2 四根线的握手:谁先举手,谁后放手
文档里明确写了 Pin1、Pin2、Pin3、Pin4 四根线都要用上,同时注明了失败板(failed board)这一路信号在本场景中不需要。四根线分成两组,一组从上游流向下游,一组从下游流回上游,形成一个闭环。少一组,就变成了单方面的广播,上游不知道下游的死活,板子推过去就撞车。
一次完整的交接,顺序大致是这样:
- 下游机内部空闲、轨道通畅,向上游送出"机器就绪"信号,等于举手说"我这边能接"。
- 上游机看到这个信号,同时自己的出口传感器压着板,于是送出"板可用"信号,等于回话"那我给你送一块"。
- 板子开始移动,传送过程中"传输中"信号保持有效,告诉下游"这块板正在路上,别关门"。
- 板子完全离开上游出口传感器,上游撤销"板可用",表示这一块交出去了。
- 板子到达下游入口传感器并被确认,下游再根据自身状态决定是继续保持就绪,还是撤销就绪先处理手上这块。
关键在于"撤销"的时机,而不是"发出"的时机。发出信号发早了没关系,最多等一会儿;撤销早了就是事故——板子还在半路上,上游以为已经交货,紧接着推第二块,两块板在传送带中间相遇,这就是车间里最典型的撞板。
下面这段伪代码把上游机的判断逻辑压缩成几行,能更直观看出条件之间的"与"关系:
# 上游机视角的放行判断,仅表达逻辑关系,不是可直接运行的产线程序 def upstream_can_send(has_board, downstream_ready, last_board_cleared): # has_board: 出口传感器被板压住,表示"我这儿有货" # downstream_ready: 下游送来的就绪信号,高电平表示能接 # last_board_cleared: 上一块板是否已完全离开本机出口 if not last_board_cleared: return False # 上一块还没走干净,绝不推第二块 if has_board and downstream_ready: return True # 两个条件同时成立才允许放行 return False三个参数里,last_board_cleared最容易被忽略。新手写逻辑时往往只判断前两个条件,觉得"有板 + 对方能接"就该走,结果在板子较长、传送带较短、或者下游响应稍慢的情况下反复撞板。加进第三个条件,等于强制留出一段安全间隔。
2.3 为什么用干接点,而不是拉一根网线
第一次接触这类接口的人常有一个疑问:都什么年代了,为什么不用网线通信,非得用几根电线传来传去?答案很现实——车间环境里,"简单"本身就是一种可靠性。
一根网线背后是一整套协议栈:物理层、链路层、网络层,还要分配地址、处理断线重连、考虑固件版本差异。两个厂的设备要联网,先得确认双方支持同一个应用层协议,再确认版本兼容,再调试端口和防火墙。这一套流程在办公室里很轻松,在油污、粉尘、电磁干扰齐全的产线上就是另一回事。
开关量信号的好处在于可测。信号不对,拿万用表一量,导通还是不导通,一目了然,不需要抓包,不需要看日志解析。设备之间用光耦隔离,一边出问题不会顺着线把另一边烧了。跨品牌、跨年代、跨国产进口,只要是通的,就认。
代价也很清楚:这条线只能表达"有"和"无",表达不了"这是第几块板""这块板什么型号""上一站良率多少"。想让产线知道更多信息,就得在 SMEMA 之外再叠一层真正的数据通信,两条通道各干各的活,谁也替代不了谁。把这两件事混为一谈,是后面要专门讲的误区之一。
3. 硬件那一半:连接器、传送带尺寸和四根线的分工
3.1 2910±10mm 和 450mm:这两个数字管的是"对得上"
翻这份资料时最先跳出来的两个数字,是上层传送带的 2910±10mm 和下层传送带的 450mm。数字本身看着像天书,其实它们解决的是一个非常物理的问题:两台机器靠在一起时,板子从这一台滑到那一台,凭什么不会掉下去、不会卡边、不会一头高一头低。
±10mm 这个公差比 2910 这个绝对值更有信息量。它说明接口位置不是要求严丝合缝的精密配合,而是允许有大约一厘米的浮动空间。安装现场的地面不一定绝对水平,设备下面可能垫着减震垫,搬动几次位置就会偏一点。留出公差,等于承认现实里没有绝对对齐,只要在容差范围内,板子照样能平稳过渡。
450mm 这个下层尺寸,对应的是板子在通道里的通行空间。上下层分开描述,说明这套传送结构不是单一通道——上层负责走板,下层可能承担回板、缓存或者别的功能,两层各有各的尺寸基准。真正装配时,工人拿卷尺量的不是"这台机器多长",而是"传送面和对面那台能不能接上",量的位置错了,数字再准也没用。
提示:接口尺寸的核对要在设备就位之后、通电之前完成。设备一旦固定,调整一次要动用吊装或地脚,成本比前期多量两遍高得多。
3.2 母头装背面,公头在两端:连接器为什么非要分雌雄
文档里有一句很容易被扫过去的建议:连接器建议安装在机器的背面。配套的图里,两端各有一个公头(Male Connector),机器侧是母头(Female Connector)。这种安排不是随手定的,背后是三条现实考虑。
第一条是保护。线缆是耗材,插头是易损件。把公头做在线缆两端、母头留在设备上,意味着磨损发生在便宜、可更换的那一头。线缆坏了换一根,设备上的接口坏一次就是停机维修。
第二条是布线走向。产线两侧通常留出人行通道和维修空间,机器正面要操作、要换料、要观察,背面相对空旷。把接口放背面,线缆贴着机器后侧走,不会绊人,也不会被推车剐蹭。
第三条是防错。雌雄结构本身带方向性,插反了插不进去。四根线的信号有方向之分,上游的输出接下游的输入,一旦接反,整套握手逻辑就会错乱,而这种错误在现场极难排查——信号灯可能全亮,但板子就是不走。用物理结构挡住接反的可能,比在说明书里写十遍"注意方向"管用。
实际操作里还有一个血泪经验:线缆长度要留余量。设备维修时可能需要拉开一段距离,线做短了,维修就得先拆线,拆完再装回去又要重新确认顺序。留出半米到一米的冗余,比省那点线材划算得多。
3.3 Pin1 到 Pin4:四根线各自的活
四根线的分工,可以按方向归成两组:一组从上游指向下游,一组从下游指回上游。文档写的是四根全部使用、失败板信号不需要,也就是说标准里预留的那一路"这是坏板"的信息,在这条线上被放弃了。
放弃失败板信号意味着什么?意味着这台设备不关心过来的板是好是坏,来了就往下传,或者来了就按自己的流程处理。这在某些工序里是可以接受的——比如只做搬运和上下料的段落,好坏都要搬。但在需要分流返修的工位,缺了这一路信号,坏板就只能靠人工挑,或者靠后端工序再检一次。选不选这一路,本质上是在"接线更简单"和"信息更完整"之间做取舍。
对接线这件事,最容易翻车的地方不是接错,而是"以为接对了"。万用表量通断只能证明线是通的,证明不了方向是对的、电平极性是对的。规范的做法的做法是:断电状态下核对线序,通电后逐一手动触发信号,观察对面设备的反应。上游短接一下输出,下游的对应指示灯应该亮;松开,应该灭。四根线全部走一遍,五分钟的事,能省掉后面几小时的排查。
注意:不同厂家对同一根线的命名可能不同,文档里的 Pin 编号和现场设备标签不一定一一对应。以设备手册的端子定义为准,不要凭经验想当然。
4. 传感器那一半:出口、入口、中间三只眼睛怎么分工
4.1 出口和入口传感器:板子"说到"和"做到"的证据
握手信号是意愿,传感器是事实。上游说"我给你送了",这只是意愿;板子有没有真的离开、有没有真的到位,得靠传感器说话。文档里明确写到,标准 SMEMA 需要出口传感器(Outlet Sensor)和入口传感器(Inlet Sensor),两者配合用来核对 T3 与 T4 两个状态。
通俗地说,这两个状态回答的是两件事:板子走了没有、板子到了没有。出口传感器装在本机传送带的末端,板子压上去,表示"这块板已经走到我这边边界了";板子离开,表示"我这边彻底清空了,可以接下一块"。入口传感器装在本机的起始端,板子压上去,表示"对方的板确实进来了"。
这两个信号看起来重复,其实缺一不可。只有出口传感器,上游知道板走了,但不知道板有没有安全抵达对面;只有入口传感器,下游知道板来了,但不知道上游那边是不是还压着半块。两边都装,才能形成"发出—抵达"的完整闭环,也才能在板子卡在中间时及时发现异常——两边传感器都没信号,说明板子在路上消失了,这本身就是最该报警的状态。
巡检的时候有个简单办法判断传感器是否可靠:拿一块废板手动走一遍全程,盯住每个传感器的指示灯,看它是不是在板子边缘通过时干脆地亮灭。指示灯闪烁、延迟点亮、或者板子走了还亮着,都是要处理的信号。这类小毛病在低速运行时看不出来,一提速就变成撞板和停机。
4.2 中间传感器:整条线唯一的那块"刹车片"
出口和入口传感器是标配,中间传感器(Middle Sensor)则是为了应付一种更麻烦的局面:下游暂时接不了,但上游的板已经推出来了,这块板该待在哪儿?
如果什么都不做,板子会一直往前挤,挤到下游入口处堆着,第二块再来就撞上了。中间传感器的职责就是在这个位置把板拦下来,让它停在中段等待,等下游送出就绪信号再放行。文档把这个动作描述得很直白:下游没发就绪信号时,中间传感器负责把板停住并存储在这段传送带上。
这里有个容易被忽略的细节——它叫"存储",但不是仓库。它只能存一块板,存完就满了。下一块板来了,要么等这块被放走,要么就只能停在上游不出来。所以中间传感器真正的作用不是增加产能,而是吸收节拍差:下游偶尔慢一拍,上游不用跟着停;下游恢复正常,积压的那一块立刻补上。它是缓冲,不是扩容。
把这段逻辑写成判断,结构同样简单:
def middle_conveyor_action(board_on_middle_sensor, downstream_ready): # board_on_middle_sensor: 中间传感器是否被板压住 # downstream_ready: 下游送来的就绪信号 if board_on_middle_sensor and not downstream_ready: return "hold" # 停在中段等待,不要继续往前推 if board_on_middle_sensor and downstream_ready: return "release" # 下游腾出位置,立即放行 return "idle" # 中段无板,保持待命三个分支覆盖了全部情况,没有第四种。这类逻辑之所以好维护,就是因为状态少、边界清楚,出问题时能快速定位到是哪个条件没满足。
4.3 为什么一条传送带只准放一个中间传感器
文档特意强调了一句:传送带上只用 1 个中间传感器,目的是保证一条传送带只存 1 块板,避免下层传送带里板与板相互挤压。
这句话背后的教训很贵。假设为了多存几块板,在一段传送带上均匀布置三个传感器,逻辑上就变成了"能存三块"。听起来产能更高,实际上会引入一连串麻烦:三块板排队时,谁先走?中间那块被取走,前后两块的空隙怎么补?下游只要就绪信号一闪,是放一块还是放三块?更麻烦的是物理层面——板与板紧挨着停放,皮带一启动,后面的板会顶着前面的板走,边缘互相摩擦,薄板会翘,元件会蹭掉。
所以"只放一个"不是省成本,是刻意把系统的存储能力限制在一,用一个硬约束换掉一整类并发问题。这条设计思路在自动化里很常见:与其写复杂的调度逻辑去处理多板排队,不如从物理上让它排不起来。
真要提升缓冲能力,正确做法是在产线规划阶段单独加一段带独立控制的缓冲段,而不是在同一条传送带上多装几个传感器。前者是有序扩展,后者是给自己挖坑。
5. 五个最容易混淆的地方:SMEMA 协议不是什么
5.1 易混一:以为它是数据通信协议
易混点:把 SMEMA 和 Modbus、OPC UA、TCP/IP 这类词并列,以为都是"设备之间传数据"的协议,只是厂家不同。
为什么混:名字里都带"协议"两个字,功能描述里又都说"实现设备间通信",从字面看确实像一家人。加上很多资料介绍它时用"通信协议"这个词,进一步加深误解。
怎么区分:看它传的内容有没有"含义"。SMEMA 传的是电平,一个高电平只代表"有"或"能",脱离了引脚定义就毫无意义;数据协议传的是字节流,同样的字节可以表达温度、条码、配方号。判断方法很简单——如果一根线断了,系统还能靠另一根线推断出发生了什么,那多半是数据协议;如果断了就彻底不知道对面状态,那就是开关量。两者不冲突,很多产线是 SMEMA 管交接、数据协议管信息,各走各的通道。
5.2 易混二:以为接口通了就能自动连线
易混点:设备背面有 SMEMA 接口,线也接上了,就认为两台机器可以直接联动生产。
为什么混:接口的物理存在感太强,插头一插、灯一亮,给人一种"已经通了"的错觉。而实际上接口只是必要条件之一。
怎么区分:把对接拆成四件事逐项确认——机械上轨道高度和宽度对不对得上、电气上四根线的方向和极性对不对、传感器上出口入口中间三只眼装没装、软件上就绪和板可用的判断逻辑配没配。四项里任何一项缺失,插头插得再紧也动不起来。现场排查的顺序也建议按这个来,先机械后电气再软件,倒过来查最容易在软件里绕圈子。
5.3 易混三:以为有握手信号就不会撞板
易混点:觉得既然双方都按标准发信号了,板子自然就不会撞。
为什么混:标准规定的是信号的含义和时序,规定不了每台设备的响应速度。上游推板快、下游刹车慢,中间那段距离就是风险区。
怎么区分:看有没有第三重保护。握手信号是第一重,出口入口传感器是第二重,中间传感器是第三重。三重齐全,撞板概率才压得下去。只有握手没有传感器,等于闭着眼睛握手——双方都以为对方知道,实际谁也不知道板子在哪儿。评估一条线做得好不好,问一句"中间有没有传感器、一条带子上放了几个",基本就有答案了。
5.4 易混四:以为中间传感器是缓存区
易混点:看到"存储"两个字,就认为加了中间传感器等于加了缓冲能力,可以多堆几块板。
为什么混:文档里确实用了"store"这个说法,中文翻译成"存储"很容易让人联想到仓库。
怎么区分:看容量。仓库能存很多,中间传感器只能存一块,存满就必须等。它的作用是吸收一两拍的节拍差,不是消化长时间的产能不平衡。真要缓冲,得单独规划缓冲段,配独立的传送控制和多个位置检测点。用中间传感器硬扛产能差,结果一定是上游频繁停等,或者下游一慢就全线堵死。
5.5 易混五:以为"就绪"等于"能生产"
易混点:下游送出就绪信号,上游就认为对方完全正常,可以放心送板。
为什么混:字面意思太强,"ready"听起来就是一切准备就绪。
怎么区分:这里的就绪只表示"我这条传送通道现在能接一块板",不表示"我的工艺参数配好了""我的物料装够了""我的上一批处理完了"。它是个很窄的通道级信号。所以产线设计里,工艺状态、报警状态、换型状态这些信息不能挤到这一根线上,得另走一条数据通道,或者在联机逻辑里单独做互锁。把工艺互锁和传送互锁混用一根线,是联机调试阶段最常见的翻车点之一。
6. 什么时候该用 SMEMA,什么时候它帮不上忙
判断标准可以落到一张表上,比凭感觉靠谱:
| 场景 | 适不适合 | 原因 |
|---|---|---|
| 同一条线上多台设备做上下料交接 | 适合 | 只需传递"有板/能接",信息量刚好够 |
| 跨品牌、跨年代设备拼接 | 适合 | 开关量不挑协议版本,兼容成本最低 |
| 需要传递板号、配方、检测结果 | 不适合 | 四根线表达不了结构化信息,得另开数据通道 |
| 上下游节拍差异很大,需要长时间缓冲 | 不适合 | 中间传感器只能存一块,扛不住产能差 |
| 需要按好坏板分流返修 | 视情况 | 失败板信号这一路可以选择接或不接,不接就得靠人工或后端复检 |
| 高速产线、板间距很小 | 谨慎 | 握手和传感器的响应延迟会被放大,需实测验证 |
举一个具体的判断例子。某实验室有一条模拟产线,前端是上料机,中间是一台检测设备,后端是下料机,三段设备来自三个不同厂家。上料机和检测设备之间只做搬运,检测设备处理完再交给下料机。这种结构里,上料段用 SMEMA 完全够用,因为双方只需要知道"能不能接"。但检测设备和下料机之间如果要按检测结果分流,就必须额外增加一路信号或者一条数据通道,光靠四根线做不到。
反过来,如果这条线要做柔性生产,同一段传送带上可能同时存在三种不同尺寸的板,需要根据板型自动调整轨道宽度,那就更不该指望 SMEMA 了——它连"这块板多宽"都传不了,宽度调整得靠上层系统下发参数。把该由数据通道干的活硬塞给开关量,最后的方案一定是加一堆继电器和拨码开关,越调越乱。
还有一个边界值得说清楚:SMEMA 是接口约定,不是安全规范。它管的是正常生产时的交接,不管人伸手进去时设备该不该停。安全回路、急停、光栅这些东西必须独立设计,不能和交接信号共用一条逻辑。见过把急停串进就绪信号的做法,表面省了一路输入,实际是把两套完全不同的安全等级混在了一起,验收时通不过,改起来要重新布线。
从那以后我每次拿到设备对接清单,都先把三件事单独抄一遍:四根线的方向和极性、三个传感器的安装位置、中间传感器到底装了几个。抄完再谈软件逻辑,顺序反了,后面全是无用功。希望帮到你。
本文还有配套的精品资源,点击获取