4. 设备层信号采集与处理架构
在三菱iQ-F系列PLC构成的自动化项目中,设备层是整个控制系统的“感官末梢”。按钮、接近开关、光电传感器、限位开关、磁性开关等现场元件,负责把机械动作、工件位置、操作意图转换为PLC可以识别的开关量信号。这一层设计得好不好,直接决定了后续逻辑判断是否可靠、设备运行是否稳定。本节围绕“多工位信号采集与状态显示”这一任务,从输入元件特性、采集方案、滤波防抖、信号调理到状态显示,给出可落地的设计思路。
一、先分清输入元件的电气类型与信号特征
设备层输入信号并非只有“通”和“断”两种简单状态。按电气特性,常见输入可分为三类:
- 无源触点类:按钮、行程开关、限位开关、继电器触点。它们本身不产生电压,只提供通断,需要PLC提供公共端和内部或外部电源形成回路。
- 有源开关类:NPN或PNP型接近开关、光电开关、霍尔传感器。它们需要外部DC24V供电,输出为高电平或低电平,接入PLC时要注意公共端S/S的接法。
- 模拟量或脉冲类:如压力变送器、编码器,虽然也属于设备层,但本节聚焦开关量采集,模拟量将在后续章节展开。
以FX5U为例,其本体输入为漏型/源型可切换,DC输入24V,输入端子X0~X7等支持高速计数和中断。设计前必须确认:现场元件是NPN还是PNP?是干接点还是有源输出?这决定了S/S端子的接线方式。若接错,轻则信号不动作,重则烧毁输入点。
二、多工位信号采集的架构规划
假设一条装配线有4个工位,每个工位配置:启动按钮1个、停止按钮1个、工件到位光电1个、气缸前限位1个、气缸后限位1个。共5个输入点,4个工位合计20点。再加上总控的急停、复位、模式选择,约24点。FX5U-32M本体有16点输入,显然不够,需要扩展输入模块或远程I/O。
采集架构可以按“就地集中”或“分布式”两种方式组织。就地集中适合工位间距小、电缆短的场合,所有信号汇入一个控制柜;分布式则通过CC-Link IE Field Basic或以太网远程I/O站,把每个工位的信号就近采集,再以网络方式传回主PLC。对于多工位、长线体,分布式架构能显著减少电缆数量和接线故障点。
无论哪种架构,输入点分配都应遵循“功能分区、地址连续、预留余量”的原则。例如X0~X7分配给总控,X10~X17分配给1工位,X20~X27分配给2工位,以此类推。这样在编程和排障时,看到地址就能定位工位,减少查表时间。
三、输入滤波与防抖:让信号“干净”地进入程序
机械触点在闭合和断开瞬间会产生抖动,持续时间通常在5~20ms;接近开关在临界距离附近也可能出现多次翻转。如果PLC直接读取这些抖动信号,程序可能误判为多次动作。FX5U提供了两种主要手段:硬件RC滤波和软件数字滤波。
硬件方面,输入端子内部已有一定RC滤波,但面对长线缆引入的干扰,仍建议在靠近PLC端增加外部RC或使用屏蔽电缆。软件方面,FX5U的输入滤波常数可对X0~X7等点单独设定,范围通常为0~60ms,默认约10ms。对于按钮和限位开关,建议设为10~20ms;对于高速计数或中断输入,则应设为0或极小值,避免丢失脉冲。
除了PLC自带滤波,程序中还可以做“软件防抖”。典型做法是:检测到输入变化后,启动一个定时器,例如T0设定100ms,只有输入在100ms后仍保持新状态,才确认该信号有效。这种方法适合对可靠性要求高、但响应速度要求不苛刻的工位。例如工件到位光电,确认时间可设为50ms;安全门开关可设为200ms,防止人员走动时的瞬时抖动误触发。
四、信号调理中的常见问题与处理
实际现场中,信号采集的难点往往不在PLC本身,而在“最后一米”的接线与供电。以下是几类典型问题:
- NPN/PNP不匹配:FX5U默认漏型输入,S/S接24V正极时,输入点通过NPN传感器拉低有效。若现场是PNP传感器,需将S/S改接0V,或选用支持源型输入的扩展模块。
- 公共端串扰:多个输入点共用公共端时,若某一路接线松动,可能影响同组其他信号。建议按工位分组,每组独立公共端,便于隔离排查。
- 长线压降与干扰:超过30m的输入线建议使用双绞屏蔽线,屏蔽层单端接地。DC24V供电线若与动力线并行,应保持至少20cm间距。
- 限位开关触点氧化:低电流下触点可能无法可靠导通。可在限位开关两端并联RC吸收电路,或选用镀金触点的信号级开关。
五、多工位状态显示的实现
采集到的信号最终要服务于操作和监控。状态显示的设计原则是“分层、分区、分色”。以GOT触摸屏为例,每个工位用一个矩形区域表示,区域内显示:运行指示灯、停止指示灯、故障指示灯、限位到位指示。颜色约定:绿色表示运行或到位,灰色表示停止,红色表示故障或超时,黄色表示等待或过渡状态。
在PLC程序中,建议为每个工位建立一组状态位,例如M100~M107对应工位1的“运行、停止、故障、前限位、后限位、工件到位、急停、复位”。HMI直接读取这些M位,而不是直接读取X点。这样做的好处是:X点只负责采集,M位负责逻辑和显示,两者解耦,后续修改逻辑不会影响画面地址。
此外,对于多工位任务,建议增加“信号超时检测”。例如工件到位光电在启动后3s内未检测到信号,则置位该工位的“到位超时”故障位,HMI对应区域变红并记录时间戳。这比单纯显示“未到位”更有助于快速定位是传感器故障、工件卡滞还是气缸未动作。
六、一个可参考的输入点分配与滤波参数表
以下表格以4工位装配线为例,给出输入点分配和滤波参数的示例。实际项目中应根据元件手册和现场测试调整。
| 工位 | 信号名称 | 元件类型 | PLC地址 | 滤波常数 | 防抖确认 |
|---|---|---|---|---|---|
| 总控 | 急停 | 常闭触点 | X0 | 10ms | — |
| 总控 | 复位按钮 | 常开按钮 | X1 | 20ms | 100ms |
| 工位1 | 启动按钮 | 常开按钮 | X10 | 20ms | 100ms |
| 工位1 | 停止按钮 | 常闭按钮 | X11 | 20ms | 100ms |
| 工位1 | 工件到位光电 | NPN光电 | X12 | 5ms | 50ms |
| 工位1 | 气缸前限位 | 磁性开关 | X13 | 10ms | 30ms |
| 工位1 | 气缸后限位 | 磁性开关 | X14 | 10ms | 30ms |
| 工位2 | 启动按钮 | 常开按钮 | X20 | 20ms | 100ms |
| 工位2 | 安全门开关 | 常闭触点 | X21 | 30ms | 200ms |
这张表既是接线依据,也是程序滤波设定的依据。建议在项目初期就完成类似表格,并在调试阶段逐点验证:手动触发每个输入,观察PLC输入指示灯和HMI状态是否一致,记录从触发到显示的响应时间。若发现某点响应过慢,先检查滤波常数是否过大;若发现误触发,再检查屏蔽和接地。
设备层信号采集与处理架构的核心,是把“现场的真实动作”可靠地转换为“程序可信任的状态”。这要求设计者既懂元件电气特性,又懂PLC输入刷新机制,还要在滤波、防抖、接线、显示之间做出合理权衡。完成本节的多工位采集任务后,后续的逻辑控制、运动控制和故障诊断才有稳定的数据基础。