简介围绕自动化设备行业常用的SMEMA协议这份PDF文档面向SMT产线设备集成、电气接口调试与运维人员帮助理解前后主机及外部搬运设备之间的通信规范。内容涉及硬件接口与连接器布置、设备间电缆接线规则、板卡转移的软件控制条件以及出口、入口和中间传感器在板卡流动监测、缓存与防撞中的作用并归纳协议在兼容性、可靠性和扩展性方面的优势。包内为1个PDF文件压缩包约737KB适合现场调试、培训讲解和技术查阅。已有1219人学习读者可据此梳理上游有板可发、下游准备好接收的转移条件理解T3/T4状态检查及中间传感器只缓存一块板卡的防撞逻辑快速建立产线设备互联的标准框架。1. 一条产线能自己传板靠的不是协议栈是四根线的电平在自动化产线上看过设备对接的人常会有一个反直觉的印象几台来自不同厂家的机器没有共享数据库没有 IP 地址也没有一套需要烧进固件的协议栈却能把一块 PCB 从第一台稳稳传到最后一台中间还不撞板。让这件事成立的是 SMEMA 协议一套把“能不能传板”化简成几个电平信号的行业约定。它不负责传工艺参数只回答两个问题上游有没有板要发下游能不能接。正是这种简化让不同厂商的设备在一条自动化产线上有了共同语言也正因为简单它的可靠性来自机械对齐、电气握手和传感器确认这三者的配合并非来自软件层面的容错。2. 机械与电气接口2910±10mm 和四根线到底约定了什么设备对接失败十次里有七次出在机械层三次出在电气层协议逻辑层反而不常出问题。原因不复杂SMEMA 的信号语义太简单简单到几乎不会写错但机械基准差几毫米、连接器公母装反、共地没接都会让一条本来正常的线停在那里而面板上没有任何报错。2.1 传送带高度 2910±10mm机械基准先于信号原文把顶传送带标成 2910±10mm这个尺寸是整条线对接的第一基准。它通常指传送带支承面到厂房地面的高度不同图纸可能把基准取在皮带面、导轨面或机架顶面所以接设备前必须和对方确认基准面到底在哪不能只看数字对上就放心。±10mm 这个公差看起来宽松实际已经用掉了机架焊接变形、脚杯调节余量和地坪平整度的大部分预算。现场常见做法是先选一台设备当基准机用激光水平仪把它的传送带面调平其余设备依次向它对齐调完再用手推一块废板走完全程感受板头过缝时有没有明显的“磕一下”。如果高度差超过 10mm板头会先撞上下游的护边或皮带轮薄板会直接卷边厚板则可能把上游的皮带顶脱轨。450mm 这个尺寸标在底传送带上通常对应底部传送段的长度或对接段宽度它决定了板在两台设备之间那段“悬空”有多长。悬空段越长板中部下垂越明显薄板在高温环境下更明显。机械设计上常见的做法是把两段传送带的支撑点尽量靠近对接缝宁可在缝两侧各留一小段无支撑也不要让整块板悬在中间。这部分没有信号可测只能靠推板和目视但它是后面所有握手逻辑能成立的前提。2.2 四芯线Pin1 到 Pin4 各自承担什么语义电气层最容易被低估。原文明确写了“Pin1、2、3、4 is used”同时又写“No need failed board available”这两句话合起来说明一件事四根线里有一根的语义是留给失败板信号的但这条线可以选择不接。理解这一点现场接线时就不会因为少接一根而怀疑自己接错。按常见接法四根线的分工大致如下引脚常见方向承载语义现场叫法Pin1上游 → 下游上游有板待发Board AvailablePin2下游 → 上游下游可接收Machine ReadyPin3下游 → 上游传输过程确认参与 T3 监测Board Transfer / ReceivedPin4参考或备用失败板信号或公共参考按需取舍Failed Board / COM需要提醒的是不同厂商图纸对 Pin3、Pin4 的叫法并不完全统一有的把 Pin3 叫“传输中”有的叫“接收确认”极性也可能相反。所以接线前必须以两端设备的手册为准不能只靠记一句口诀。现场更稳妥的做法是断电状态下用万用表逐根确认通断和方向再上电测量静态电平最后才接上另一端。电气参数上工业现场常见的实现是 24V 直流加光耦隔离输入侧灌电流或拉电流由设备定义。用 24V 而非 5V是为了在几米到十几米的线缆上扛住压降和共模干扰用光耦是为了切断两台设备之间的地电位差。这两条决定了后面很多“玄学”故障的根因信号灯亮着但光耦输入电流不够机器就是不动。2.3 连接器装在机器背面方向约定比引脚定义更容易出错原文有一句很容易被略过的话建议把母连接器安装在机器背面。这不是随意的结构建议它同时解决三个问题。第一是操作空间。产线正面是操作员上下料、换线、清洁的地方线缆如果从正面走迟早被踢掉或被周转箱压住。背面走线把线缆移出操作动线也方便把多余长度盘在机架内。第二是方向一致性。SMEMA 的线缆两头是一公一母标准约定上游出公头、下游进母头。如果所有设备都把母座装在背面那么“上游设备的公头插进下游设备的母座”这个动作在物理上就只有一种插法不容易接反。反过来如果有的设备母座装正面、有的装背面就会出现两台都是母座、需要一根公对公转接线的情况这种线在现场最容易做错也最容易在换线时丢失。第三是应力释放。背面连接器通常靠近机架立柱线缆可以用扎带或拖链固定插头不受拉力。正面插头被反复插拔、被物料车剐蹭接触不良的概率高得多。注意公母头方向错、共地没接、Pin1 与 Pin2 接反这三类问题在面板上的表现几乎一样都是“下游未就绪”。排查时先量线不要先改程序。3. 握手逻辑上游有板、下游就绪两个条件为什么够用把机械和电气对齐之后真正决定板能不能过去的是两个信号的电平组合。原文把传输条件写得很直白上游机器有板可发下游机器准备好接收。很多人第一次看到会觉得条件太少担心漏掉什么。实际上这两个条件正好覆盖了传送带作为“独占资源”的全部约束。3.1 把传输条件写成状态机用一段简化模型把逻辑固定下来比在现场凭经验判断更可靠。下面这段 Python 只描述单台设备一侧的握手过程不涉及具体 PLC 指令重点是状态迁移和超时。# SMEMA 单侧握手状态机简化模型 # board_available_in: 上游送来的“有板待发”电平本机作为下游时使用 # machine_ready_out: 本机送给上游的“可接收”电平 # inlet_sensor: 入口光电板头到达时置 True # outlet_sensor: 出口光电板尾离开时置 False DEBOUNCE_MS 30 # 光电去抖过滤板边开槽造成的毛刺 TRANSFER_TIMEOUT_MS 8000 # 传输超时防止板卡在半路无人处理 state IDLE def step(now, board_available_in, machine_ready_out, inlet_sensor, outlet_sensor): global state if state IDLE: # 只有上游有板、本机就绪、入口无板三个条件同时满足才启动 if board_available_in and machine_ready_out and not inlet_sensor: state TRANSFER return {motor: True, ready: False} elif state TRANSFER: # 板头到达入口传感器说明板已进入本机传送段 if inlet_sensor: state CONFIRM elif state CONFIRM: # 板尾离开出口传感器说明板已完全交出 if not outlet_sensor: state IDLE return {motor: False, ready: True} return {motor: state TRANSFER, ready: state IDLE}这段代码的关键不在语法而在三个参数的选择。DEBOUNCE_MS取 30ms 左右是因为光电传感器扫过板边的开槽、镂空、Mark 点时会产生毫秒级抖动去抖太短会误判“板已离开”去抖太长会拖慢节拍。TRANSFER_TIMEOUT_MS是最后一道保护板卡在对接缝超过这个时间就应报警否则上下游都以为对方在动整线停在那里却没人知道原因。状态机里machine_ready_out在传输期间被拉低是一个容易被忽略的细节本机正在接板就不该再向上游宣告“我可接收”否则上游可能紧接着发第二块。这一步把“独占”写进了电平里而不是靠上层软件记状态。3.2 出口与入口传感器把“板在哪”变成可判定的电平握手信号回答“能不能传”传感器回答“传到了没有”。原文把出口传感器和入口传感器的分工写得很清楚出口传感器监测板开始移出入口传感器监测板进入两者一起用于检查 T3 和 T4 状态。出口传感器通常装在传送段末端、对接缝之前板尾离开它的那一刻意味着整块板已经离开本机可以释放“有板待发”。入口传感器装在传送段起始端板头遮住它的那一刻意味着板已经进入下游下游可以开始计时确认。两个传感器的安装位置直接决定时序出口传感器装得太靠里板还没完全出去就报“已离开”下游可能提前动作装得太靠外板已经过了缝才报节拍被白白拖慢。这也是为什么现场调机时传感器位置要用废板实测不能只看图纸尺寸。板长不同、板边有无工艺边、板上有没有开槽都会改变遮挡时间。3.3 T3/T4 监测传输过程本身也要被确认只靠“有板待发”和“可接收”两个信号能保证板开始传但不能保证板传到位。T3 和 T4 的作用就是把传输过程切成两个可观测的时间窗从发出传输请求到入口传感器确认是一段从出口传感器触发到板完全离开是另一段。任何一段超时都说明机械或传感器出了问题。常见的超时原因有三类。一是板在对接缝卡住通常是高度差或皮带张力不一致二是传感器被灰尘、助焊剂残留遮挡信号一直不翻转三是下游虽然给了“可接收”但内部传送带没启动板到了入口却进不去。这三类问题在面板上的表现都是“停线”只有把 T3/T4 的计时打开才能区分是机械卡板还是信号误判。提示调机阶段建议把 T3/T4 的超时值先设宽等整线跑顺再逐步收紧。一上来就设得很紧正常的节拍波动会被误报成故障反而掩盖真问题。4. 中间传感器为什么一条传送带只能存一块板前后两台设备直接对接时两个传感器就够了。但只要中间加了一段缓存传送带或者下游节拍明显慢于上游就需要第三个传感器。原文对它的描述很克制中间传感器用于在下游未发出就绪信号时停住板并存储而且一条传送带只用 1 个中间传感器确保一条传送带只存 1 块板避免底层传送带上的板与板相撞。4.1 中间传感器的截停逻辑中间传感器一般装在缓存段中部。板头遮住它时如果下游的“可接收”还是低电平控制器就停带把板停在这个位置。等下游就绪再启动传送带把板送出去。这个逻辑本身不复杂复杂的是它和入口、出口传感器的配合。一块板从进入到离开会依次遮住入口、中间、出口三个传感器。控制器不能只看“某个传感器被遮”就做判断而要按顺序识别。常见的做法是给三个传感器分配不同职责入口只负责“进入确认”中间只负责“截停与缓存占用”出口只负责“离开确认”。三者不互相替代也不做“任意一个被遮就算有板”的合并判断。这样即使板很长、同时遮住两个传感器状态也不会歧义。4.2 一板一缓存的物理约束“只用 1 个中间传感器”这条限制本质上是用物理结构替代协议能力。SMEMA 的四根线里没有板序号、没有队列长度、没有缓存区状态报文它无法告诉上游“我这里已经存了一块别再发了”。既然协议层传不了这个信息设计上就让缓存区物理上只能存一块第二块板进来时第一块还停在中间传感器位置两块板必然重叠操作员一眼就能看见。这听上去像是把问题推给了机械但它带来一个很实在的好处任何厂商实现这套逻辑时都不需要额外的状态机也不需要约定队列深度。缓存区的容量是 1这个数字写进了结构里不写进协议里。传感器安装位置触发时机主要职责典型故障入口传感器传送段起始端板头到达确认板已进入本机被粉尘遮挡一直报有板中间传感器缓存段中部板头到达并停留截停板、标记缓存占用位置偏前长板同时遮住入口出口传感器传送段末端板尾离开确认板已完全交出板边开槽导致误翻转4.3 板长、传感器间距与状态歧义中间传感器只有一个意味着它对板长很敏感。如果板长大于入口到中间传感器的间距板头到达中间传感器时板尾可能还遮着入口传感器。这时如果控制器把“入口被遮”理解成“还有板要进”就会和“中间已占用”冲突出现停带后又突然启动的抖动。处理办法不是加传感器而是明确优先级中间传感器被遮时缓存区判定为占用入口信号只做记录、不参与放行决策。另外一个常见做法是把中间传感器尽量往缓存段中间装让常见板长在进入缓存后板尾能完全离开入口传感器减少同时遮挡的时间窗。这些都属于调机阶段的细节图纸上不会写但直接决定缓存段跑得顺不顺。5. 避坑与排查SMEMA 现场最常见的五类翻车这套协议的逻辑简单所以故障几乎都出在“简单的地方被想当然”。下面五条是按现场出现频率排的每条都按现象、原因、解决三段写方便对着查。5.1 板停在对接缝下游绿灯却亮着现象上游出口传感器已经触发板头过了缝但传送带停转下游面板的就绪灯是亮的。原因下游的“可接收”信号取自软件就绪并没有把缓存区占用算进去。下游缓存里还停着一块板中间传感器被遮住但面板灯仍然按软件状态点亮。上游看到灯亮就以为能发板到了缝口发现没人接。解决把“可接收”的取法改成“软件就绪且中间传感器空闲”也就是缓存区确实有空位才给高电平。现场应急时先手动清空下游缓存再复位。改完之后要用两块板连续跑一遍确认第二块板会在上游等待而不是跟着挤过去。5.2 两块板在下游入口叠在一起现象下游入口处两块板重叠板边有压痕严重时卡住传送带。原因出口传感器被板上的开槽或镂空区域反复触发控制器误判“板已离开”提前放行了第二块。也可能是去抖时间设得太短板边毛刺被当成两次边沿。解决先看传感器安装位置尽量让检测点落在板边的实心区域再把去抖时间加到 3050ms如果板型变化多考虑换成对射式传感器减少漫反射受板面颜色和反光的影响。改完后用最容易误触发的那种板型做验收不要用平板凑合。5.3 换了一台设备后信号全反现象新设备接上后上游一直显示下游未就绪但新设备单独运行时一切正常。原因两端的公母头定义方向不一致或者新设备内部把 Pin1 和 Pin2 的输入输出方向做反了。更隐蔽的一种是两边都按“母座在背面”安装结果对接时缺一根公对公转接线现场临时做了一根线序凭记忆压的。解决断电用万用表逐根量通断再对照两端手册确认每根线的方向和极性。不要凭线色判断不同厂家的线色约定并不统一。临时线做完后必须做标记换线时优先换掉。5.4 线延长后偶发停线现象原来三米的线跑得很稳加到十五米后开始偶发停线重启又正常找不到规律。原因线径偏细导致压降加上线缆和伺服动力线走在同一个线槽里共模干扰让光耦输入电流瞬间不足。表现就是信号“闪一下”控制器当成一次边沿处理。解决信号线单独走线槽必要时用双绞线检查 24V 电源容量和线径长距离下适当加粗干扰特别严重的场合加中间继电器或光耦中继。改完后不要只看静态电平要用逻辑分析仪或带录波的万用表抓一段时间的波形确认没有窄脉冲。5.5 坏板流到了下游测试位现象明明知道是坏板却没有在下游被拦下来。原因现场按“不需要失败板信号”省掉了那根线但工艺上又要求坏板不能进入测试位。两边对“不需要”的理解不一致电气上确实可以不接流程上却不能不管。解决先把坏板的下线点定清楚是在本机贴标后人工拿走还是流到固定工位剔除。如果确实需要跨设备传递这个信息就单独约定一根线并在两侧软件里做联锁不要指望标准里的可选项自动生效。这类问题最好在产线设计阶段就写进对接文档调机时再补成本高很多。6. 设计取舍四根线撑了这么多年代价是什么SMEMA 能被不同厂商的设备普遍接受核心原因在于它选择了“最小公分母”任何一台设备只要有传送带、两个光电、一个四芯接口就能实现对接。它不需要协议栈、不需要地址分配、不需要固件升级也不需要两家厂商坐下来谈数据格式。代价同样明显它传不了板 ID传不了工艺参数也做不了队列调度。板与板之间没有身份只有“有”和“没有”。这套取舍里最值得琢磨的是中间传感器只用一个。从协议能力看这是能力不足的妥协从系统设计看这是把复杂度从软件挪到结构里。缓存容量为 1物理上就不可能出现排队错序也不需要约定队列深度和溢出策略。很多现场问题之所以难查恰恰是因为有人试图用软件在这套协议上叠出它本来没有的能力比如用延时器伪造“缓存有空位”结果时序一乱整线就开始出现难以复现的停线。验证一套对接是否真的跑通我一般不看面板灯而是做三件事用废板手动推过对接缝感受机械顺滑度用万用表量 Pin1、Pin2 在空闲、传输、缓存占用三种状态下的电平用逻辑分析仪抓一段连续跑板时的波形看有没有窄脉冲和超时。三件事做完剩下的问题基本都能定位到具体环节。从那以后我每次接新设备都强制先做一遍“断电量线、手动推板、空跑抓波形”不管对方说自己的设备多标准。希望帮到你。本文还有配套的精品资源点击获取