SMEMA协议详解:SMT产线设备对接与握手信号控制
简介:面向自动化产线与SMT设备集成、运维人员的SMEMA协议说明文档,聚焦前后主机、外部搬运设备与主测试组装机之间的通信标准,帮助读者理解不同厂商设备如何按统一信号规则完成联机,适合设备联调、产线改造和现场排错等场景使用。内容按硬件接口、电缆连接、软件控制逻辑与传感器配置组织,讲解连接器布置及Pin1至Pin4接线、板卡转移所需的上游有板与下游就绪条件,并说明出口、入口传感器对T3/T4状态的监测方式,以及中间传感器在下游未就绪时暂停并暂存单块板卡、避免板间碰撞的控制逻辑,同时归纳协议在兼容性、可靠性和扩展性方面的价值。资源包共1个PDF文件,约737KB,以分页图示方式呈现标准要点,便于对照设备现场快速查阅。已有1217人学习,可据此建立SMEMA通信的整体认识,并理解SMT产线中板卡流转与传感器配置的关键环节。
1. SMEMA 协议到底是什么:流水线之间的那套"点头示意"
两条传送带首尾相接,一条把电路板送过来,另一条等着接走。中间没有人喊话、没有对讲机,板子却不会撞在一起,也不会掉进缝里——撑住这个场面的,就是 SMEMA 协议。它是表面贴装设备制造商协会定下的一套接板约定,说白了只干一件事:让上游机器和下游机器互相知道"我这有板要给你"和"我这边空着能收"。它不传输工艺参数,不传输配方,甚至算不上通常意义上的通信协议,更像工业现场的红绿灯加握手礼。搞懂它,你再看一条自动化产线的设备拼接,很多"为什么这台机器不肯放板"的困惑会瞬间消掉一半,设备运维时也少走弯路。这份文档资料里画的接口图、传感器时序和引脚分配,正是把这套约定落到实处的部分。
2. 为什么需要这套协议:两台陌生设备怎么才能对上话
2.1 没有约定的时候,接板那一刻最容易出事
想象一条窄走廊,两个人从两头往中间递箱子。如果两人都往前冲,箱子会撞;如果两人都往后缩,箱子会掉地上。设备接板也是同一个画面:上游机器觉得"我板子做好了,赶紧送出去",下游机器可能正在装配、正在测试、正在处理上一块板,根本腾不出位置。两边都按自己的节奏走,结果就是板子堆在接缝处、卡在传送带上,或者两块板贴在一起互相刮伤。
在没有统一约定的年代,设备之间的对接基本靠定制。每接一台新机器,就要现场拉线、改程序、调时序,工程师得蹲在机器旁边盯着板子一块一块地过,确认哪一步早了、哪一步晚了。这种活儿费时费力,而且换一批设备又得从头来一遍。SMEMA 协议存在的第一层理由就在这里:把"什么时候允许送板"这件小事,变成一套所有厂商都认的公共约定,谁都不用再临时商量。
需要说清楚的是,这套约定刻意做得很小。它不关心板子上贴了什么元件、做了什么测试、良率多少,只关心"板子在不在"和"对面收不收"。小,才容易被所有厂商接受;小,才不容易在十几年里被改得面目全非。
2.2 把"我能给"和"我能收"拆成两个独立信号
这套约定最核心的思路,是把一件看起来复杂的事拆成两个互不干扰的判断:上游有没有板要送出去,下游有没有能力接进来。这两个判断各自对应一根信号线,各自独立表达,最后再做一个"与"的关系——两个条件同时成立,板子才动。
打个比方,这就像快递员送货上门。快递员得先确认"我手里确实有个包裹要给你"(板可用),同时还得确认"你家里有人、能签收"(机台就绪)。只有两句话都得到肯定答复,包裹才会递过去。如果收件人不在家,快递员不会把包裹往门口一放就走,而是等下一次。设备之间也是这样,上游举个"有板"的牌子,下游举一个"能收"的牌子,两块牌子同时举起来,传送带才启动。
这种拆法有个很大的好处:两个信号彼此不纠缠,出问题时能快速定位。板子不动的常见原因无非两种,要么上游根本没发出"有板"的信号(可能是入口传感器没检测到板、也可能是上游自己卡住了),要么下游一直没给"能收"的信号(可能是下游在处理板、也可能是下游的出口传感器还压着一块板)。现场排查时先看是哪块牌子没举起来,范围立刻缩小一半,不用一头雾水地拆机器。
2.3 标准化的真正价值:换一台设备不用重做整条线
单台设备自己跟自己玩,用不着什么标准。标准的价值在拼接的时候才显现出来。一条表面贴装产线通常由好几段组成:上板机、印刷机、贴片机、回流焊、检测设备、下板机,每一段可能来自不同厂商,采购时间也各不相同。如果每次都按"点对点定制"的方式对接,那么每当产线要扩一段、换一台、或者把某台设备挪到另一条线上去用,现场的电气和程序都得重做一遍。
SMEMA 把这件事简化成了一套固定的物理接口加固定的信号语义。只要两台设备都遵守这套约定,接上电缆、对齐高度,理论上就能直接对话。对工厂来说,这意味着设备采购不再被单一供应商绑死,哪家的机器性价比高就买哪家;对设备厂商来说,这意味着自己造的机器出厂时就带着"能和别人拼"的能力,不用每次投标都承诺现场改接口。
这套约定还有个隐性好处:它让产线的分段调试变得可能。每一段设备可以单独上电、单独测试自己的进出板逻辑,确认"有板就举牌、能收就举牌"的行为正常,再把整条线串起来。哪一段出问题,就在哪一段上找,不用整线停摆。对于负责设备运维的人来说,这种可分段验证的特性,比任何花哨的功能都实用。
3. 硬件怎么接:连接器、四根引脚和传感器的物理细节
3.1 为什么连接器建议装在机器背面
标准里的接口位置不是随便定的。文档中给出的建议是,把连接器安装在机器的背面。这个建议背后是产线布局的现实:设备正面通常朝着操作通道,留给操作员上下料、看屏幕、处理报警;背面则靠近走线槽和气管,是电气连接的天然区域。把接口放在背面,线缆可以沿着设备背部走,不会横穿操作通道绊人,也不会在正面形成一团乱麻。
除了位置,机械尺寸也是这套约定的一部分。文档里标注了传送面的高度容差(原文给出的数值是 2910±10mm),以及下层传送带的 450mm 这一尺寸。这两个数字看起来枯燥,实际上决定了板子能不能从一台机器平顺地滑到另一台机器上。如果两台设备的传送面高度差了几毫米,板子的前缘就会撞上下游传送带的边沿,轻则卡板,重则刮伤板面或者顶坏传感器。±10mm 的容差是在提醒:对接精度有要求,但不是要求严丝合缝,现场垫脚、调支腿这类操作是有余量的。
实际操作中,这一步最容易被忽视,也最容易翻车。设备搬进来,电气师傅把线一接,觉得信号通了就完事,结果板子一过就卡。回去量高度,发现差了十几毫米。从那以后我养成一个习惯:接新设备前先量传送面高度,再量水平,最后才接线。
3.2 四根引脚:握手信号不是数据线
电缆接头的核心是引脚分配。文档明确写到,这套实施里用到的是 1、2、3、4 号引脚,并且特别说明"不需要失败板可用信号"。这句话的意思是,标准接口在物理上留了更多针脚的位置,但这条产线只用到其中四根,把"不良板可用"那一路省略掉了。
四根针脚按行业通行的分配,大致是这样:
| 引脚 | 通行含义 | 信号方向 | 缺失后的典型现象 |
|---|---|---|---|
| 1 | 板可用(Board Available) | 上游 → 下游 | 下游永远等不到板,传送带空转不动 |
| 2 | 机台就绪(Machine Ready) | 下游 → 上游 | 上游举着板不放,板子停在出口处 |
| 3 | 传送完成 / 板传送中 | 双向参考 | 时序对不上,可能出现连续送板 |
| 4 | 公共端 / 信号地 | — | 信号全部失准,读数飘忽 |
提示:不同厂商对 3 号脚的具体用法会有细微差别,接线前以设备手册的引脚定义为准,不要只凭记忆。
这张表里最值得盯的是"信号方向"。1 号是上游给下游的,2 号是下游给上游的,方向弄反了,两台机器都会举牌,但谁也看不见对方的牌,板子就是不动,而且万用表量电压还都正常,特别迷惑人。我见过一次现场,线序接反了,工程师量了半天电压,最后发现是两头对调,重新压线就好了。
3.3 入口与出口传感器:T3、T4 状态怎么被读出来
协议里说的信号不是凭空产生的,得有东西去感知板子在哪。文档里给出的答案很朴素:出口传感器加入口传感器。出口传感器装在上游机器的出口侧,负责感知"板子开始往外走了";入口传感器装在下游机器的入口侧,负责感知"板子进来了"。
这两个传感器的组合,对应文档里提到的 T3 和 T4 状态监测。通俗地说,T3 和 T4 是两组"板子到了没到"的判定,出口端和入口端各自盯住自己那一小段,然后把结果反映到握手信号上。上游的出口传感器一旦察觉到板子离开,就知道该把"板可用"的牌子放下来;下游的入口传感器一旦察觉到板子进入,就知道该把"机台就绪"暂时收起来,因为自己正在处理这块板,暂时接不了下一块。
这套监测的意义在于闭环。如果只有信号没有传感器,那信号就是"拍脑袋"给的——程序说该送了就送,至于板子到底动没动、有没有卡在半路,没人知道。加上传感器,信号就有了物理依据,板子真的走了,牌子才放下;板子真到了,牌子才收起。这是一条很朴素但很关键的工程原则:状态必须有物理来源。
3.4 中间传感器:一条输送带只存一块板的由来
更复杂的场景会多出一个中间传感器。文档里画的情形是:上游机器把板子送进中间那段传送带,下游机器暂时没给"就绪"信号,板子就停在中段等着。等下游腾出手来,再继续往前送。
这里有一条容易被忽略的设计约束:一条输送带只用一个中间传感器,目的非常明确——保证一条传送带只存一块板。听起来有点浪费,为什么不能多存几块?因为存多了就会出问题。多块板挤在一段传送带上,彼此之间没有可靠的间距控制,一旦下游突然加速抽走一块,后面的板会跟着往前窜,板对板碰撞就发生了。板子上可能已经贴了元件,碰撞就是直接的经济损失。
注意:中间传感器的作用是"停住并暂存",不是"排队缓存"。把它当成缓冲区来堆板,是现场最常见的用法错误之一。
所以这段设计逻辑可以概括成一句话:宁可让上游等着,也不让板子挤在一起。等待是可以恢复的,撞坏了是修不回来的。这句话听起来保守,但在产线设计里,保守往往就是可靠。
4. 软件控制逻辑:什么时候允许板子动
4.1 传送条件只有两个,但缺一不可
文档把传送条件写得很干脆:上游机器有板可以送,下游机器准备好接收。两句话,组成整个控制逻辑的全部判断依据。前半句对应板可用信号,后半句对应机台就绪信号,两个条件同时为真,才允许启动传送带。
这个"与"的关系值得多说两句。它意味着任何一方说"不",动作就不发生。上游没板,下游再空也白等;下游没准备好,上游板子再急也得压着。这种设计把决定权分散到了两端,谁也不比谁优先,也就避免了单点强势导致的拥堵。如果反过来,只要上游有板就强制送出,那么下游的忙闲完全不被告知,产线会在下游忙的时候不停往里塞板,最终堆在入口处。
类比一下,这就像两车交汇于窄桥。桥头有两条规矩:我这边车到了,并且桥对面示意可以通行,我才开上去。两条规矩少一条,车就停在桥头等着。等待本身不产生任何损失,抢行才会。
4.2 用一段伪代码把信号流转走一遍
把上面的判断落成代码,逻辑其实短得惊人。下面这段是示意性的控制流程,用 Python 写,重点在判断顺序和状态维护,不是可以直接烧进 PLC 的代码:
# 状态量:两个握手信号 + 一个传感器读数 board_available = False # 1 号脚:上游有板要送 machine_ready = False # 2 号脚:下游能接收 inlet_sensor = False # 入口传感器:板上是否压着东西 middle_sensor = False # 中间传感器:中段是否已经有板 def can_transfer(): # 双条件与逻辑:任一不成立都不许动 if not board_available: return False # 上游压根没板,下游空等 if not machine_ready: return False # 下游忙,上游必须压住板子 if middle_sensor: return False # 中段已占位,再送就是板撞板 return True def step(): # 先读传感器,再更新握手信号,顺序不能颠倒 read_sensors() # 刷新 inlet_sensor / middle_sensor if can_transfer(): start_conveyor() # 启动传送带 wait_until(inlet_sensor is True) # 等板子真正进到入口 stop_conveyor() board_available = False # 板已交出,放下 1 号脚的牌子 else: stop_conveyor() # 条件不满足,保持静止这段代码里有三个细节值得留意。第一个是判断顺序:先看上游有没有板,再看下游收不收,最后看中段占不占位。顺序本身不影响结果,但影响排查——板子不动的时候,按这个顺序一条条问下去,很快就能定位到卡在哪一环。
第二个是传感器的读取放在判断之前。如果先判断后读传感器,用的就是上一轮的数据,可能已经过期了。产线节拍快的时候,这个时间差足以让板子冲过停止位。
第三个是动作末尾要把board_available清掉。这一步对应物理上"板子已经离开出口传感器",牌子必须放下,否则下游会以为还有板要来,一直处于等待状态。手写的控制程序里忘记清标志位,是导致"板子送完还一直送"的经典原因。
4.3 失败板信号为什么可以被省掉
文档里那句"不需要失败板可用信号",初看像个小细节,其实透露了这条产线的设计取舍。标准接口在物理层面留了传递不良板信息的位置,用一根额外的针脚告诉下游"我这次送来的是坏板,你注意点"。但这条产线选择不用它。
原因不难推想。如果产线上没有分流机构,也就是说坏板进来之后没有岔道可以把它引走,那么下游不管知不知道它是坏板,都得照常接收、照常处理、照常在末端被人工挑出来。既然处理路径完全一样,多传一个"这是坏板"的信号就没有实际收益,反而多一根线、多一个故障点。省掉它,接线更简单,出错概率更低。
这个取舍背后是一条通用经验:信号的每一根线都要有明确的消费方。如果下游拿到这个信息之后什么都不做,那这根线就是装饰品,装饰品在产线上只会增加运维负担。反过来说,如果产线末端有自动分选、或者下游设备需要根据良品坏品切换不同的工艺参数,那么失败板信号就必须接上,省不得。
5. 常见误区与易混区别:这五个地方最容易搞混
5.1 误区一:把 SMEMA 当成一种数据通信协议
易混点在于名字里带"协议"两个字,很多人第一反应就是它能传数据,能读设备状态、能下配方、能传生产计数。实际上它传的是开关量,本质上就是几根线上的高低电平,一根线只表达一件事的有或无。
之所以会混,是因为工业领域里"协议"这个词被用得太宽,既指 TCP/IP 那种能搬字节的,也指这种只表达通断的握手约定,字面上分不出来。区分办法很简单:看它能不能传数字。如果一根线只能表达"有"和"没有"两种状态,那它是握手信号;如果它能传出一串数值、一段文本,那才是数据通信。SMEMA 属于前者,想读设备内部的工艺参数、报警代码、产量统计,得靠另外那类专门传数据的通道。
5.2 误区二:把 SMEMA 和表面贴装工艺本身混为一谈
易混点在于两者经常同时出现在同一份产线资料里,一个讲设备怎么拼,一个讲元件怎么贴,初学者容易以为它们是同一套东西的不同叫法。
混淆的原因是两个词的缩写和语境高度重叠,都出现在表面贴装车间。区分的关键是看它回答的问题:SMEMA 回答的是"两台机器怎么交接板子",属于设备间接口层面;表面贴装工艺回答的是"锡膏怎么印、元件怎么放、怎么回流焊",属于制造工艺层面。同一台贴片机,它既要遵守 SMEMA 的接板约定,又要遵守工艺参数要求,两者是并行的两条线,不能互相替代。把接口问题当成工艺问题去查,会越查越远。
5.3 误区三:传感器装得越多,系统就越可靠
易混点在于"多一层检测多一层保障"这个直觉,在别的地方成立,在这里未必。
之所以会混,是因为传感器确实能发现问题,但发现问题不等于解决问题。中段传送带上多加几个传感器,如果控制逻辑没有对应处理,多出来的读数就只是噪声。更麻烦的是,多个传感器之间需要一致性判断,一旦其中一个松动、脏污、误触发,整套判断就可能卡在"到底信谁"的状态上。文档里明确说一条输送带只用一个中间传感器,这个约束就是为了避免多读数带来的判断分歧。区分的思路是:传感器的数量应该由控制逻辑的需要决定,而不是由"感觉更保险"决定。
5.4 误区四:电缆接上了,两台设备就能互通
易混点在于物理连通和逻辑互通是两件事,但现场往往只验证前者。
之所以会混,是因为接线完成之后,万用表量电压、指示灯亮起来,看起来一切都对。但信号方向、公共端接法、电平极性这三件事,任何一件不对,通信都不成立。比如 1 号和 2 号对调,两台机器都在举牌,可谁也收不到对方的牌;再比如公共端没接好,电平参考漂移,读数时有时无。区分的办法是分两步验证:先静态量线,确认每根线从哪来到哪去;再动态看牌,手动遮挡传感器,观察对面机器的信号灯有没有跟着变。只有动态验证通过,才算真的通了。
5.5 误区五:以为标准固定不变,接口定义可以凭记忆接
易混点在于"标准"两个字给人一种一劳永逸的错觉,觉得既然是标准,全世界都一模一样,凭记忆接线就行。
之所以会混,是因为底座约定确实稳定,但各家在细节上会有自己的实现习惯,尤其是 3 号脚这种"传送完成/传送中"含义偏模糊的引脚,不同厂商的用法可能存在差异;不良板信号用不用、怎么用,也各家不同。区分的原则是:把标准当成共同语言,把设备手册当成方言词典,接线前一定翻手册核对引脚定义。凭记忆接线的成本很低,接错之后排查的成本很高,这笔账怎么算都不划算。
6. 什么时候该用 SMEMA,什么时候别指望它
判断用不用,先看你要解决的是哪一类问题。如果问题出在"两台设备之间板子交接不顺",那这套约定正对症;如果问题出在"我想知道上游那台机器现在良率多少、参数设成了什么",那它帮不上忙,得去找能传数据的那条通道。
| 场景 | 适合用 SMEMA | 说明 |
|---|---|---|
| 多厂商设备拼接成线 | 适合 | 底座约定统一,接上电缆对齐高度即可对话 |
| 产线分段扩容、设备挪位 | 适合 | 接口语义不变,搬迁后重新对齐即可 |
| 单机内部传动控制 | 不必 | 机器自己内部的事,用不着对外约定 |
| 传工艺配方、报警代码 | 不适合 | 它只有开关量,搬不动数据 |
| 需要按良品坏品分流 | 需补信号 | 省掉不良板信号时无法分流,要单独接 |
| 需要生产追溯与统计 | 不适合 | 追溯属于数据层,另有专门通道 |
还有一个容易被忽略的边界:这套约定只管"接板"这一件事,不管"接得准不准"。板子从上游传到下游,位置精度、传送速度、加减速曲线,这些都不在约定范围内,得靠机械对齐和各自的传动参数去保证。所以现场经常出现"信号全对、板子照卡"的情况,问题往往出在机械层面而不是协议层面。遇到这类现象,先量高度、量水平、看皮带张力,别一头扎进电气柜里找原因。
我印象最深的一次,是半夜被叫去处理一条线的卡板问题。到现场看信号灯,全对;量电压,正常;拆开接头,线序也对。折腾到凌晨三点,最后拿卷尺一量,两台设备的传送面差了八毫米,上游板子的前缘正好顶在下游皮带的挡边上。八毫米,肉眼几乎看不出来,但足够让一块板停在那儿。从那以后我每次接新设备,不管多急,都强制走一遍"量高度、看水平、验信号"这三步,一步不省。
这套约定不复杂,甚至有点朴素,但正因为朴素,它才能在各种产线上活这么多年。把它的边界搞清楚,比记住它的每个细节更有用。希望帮到你。
本文还有配套的精品资源,点击获取