4. 产线对象建模

虚拟调试的核心不是“把程序跑起来”,而是让PLC程序面对一个与真实产线行为一致的虚拟对象。对象建模的质量,直接决定后续信号联调、节拍验证和故障注入是否可信。本节围绕一条典型的三菱iQ-F控制产线,说明输送线、分拣站、加工工位、机械手与传感器这五类对象在虚拟环境中如何映射为可被PLC读写、可随时间变化、可产生状态迁移的模型。

一、映射的基本约定:先定坐标与信号方向

在建模之前必须先固定参照系,否则后续所有位置、方向和信号都会产生歧义。本课程统一约定:以产线物料流动方向为X轴正方向,操作者面向产线时左手侧为Y轴正方向,竖直向上为Z轴正方向。输送线入口为X=0,出口为X=L。所有“到位”“越限”“夹紧”等信号,均以传感器检测面朝向工件为触发方向。

映射的本质是把物理对象拆成三类可计算元素:几何体(位置、尺寸、运动范围)、状态量(位置、速度、开合、工件存在与否)、信号接口(与PLC的I/O地址一一对应)。虚拟环境中每个对象都应有独立的位号,例如输送线CV01、分拣站ST02、加工工位MC03、机械手RB04,传感器则按“对象+功能+序号”命名,如CV01-PE01表示输送线入口光电。

二、输送线:把连续运动离散为可检测的位置事件

输送线在虚拟环境中通常不需要逐段建模皮带,而是建模为“传送面+驱动+检测点”。传送面用一条带方向的矩形表示,驱动用速度参数v(示例取0.2 m/s)和启停信号控制。工件在传送面上的位置x(t)按x(t)=x₀+v·t累积,当工件前端到达某个检测点坐标时,对应传感器置位。

关键映射点是:PLC并不关心工件在皮带上的连续坐标,只关心“入口有无”“中段有无”“出口有无”三个离散事件。因此虚拟输送线应把连续位移转换为位置比较结果,再映射到X输入点。例如CV01-PE01对应X10,检测坐标x=0.05 m;CV01-PE02对应X11,检测坐标x=0.60 m;CV01-PE03对应X12,检测坐标x=1.15 m。当工件前端坐标进入检测点±0.02 m窗口时,X点置1,离开窗口后复位。这样PLC程序中的到位判断逻辑与真实产线一致。

三、分拣站:气缸动作与工件流向的因果链

分拣站一般由挡停气缸、推料气缸和分流滑道组成。虚拟建模时,挡停气缸用两个极限位置表示:伸出位阻挡工件,缩回位放行。推料气缸同样用伸出/缩回两个状态,伸出时把工件推入分流滑道。PLC输出Y点驱动气缸,气缸位置反馈用磁性开关映射到X点。

这里必须建立“输出→动作→位置→传感器→输入”的完整因果链,而不是只做输出到输入的直通。例如Y20=1驱动挡停气缸伸出,虚拟模型经过0.3 s动作时间后到达伸出位,此时挡停磁性开关X13=1;若0.5 s内未到位,则产生“挡停超时”故障位。推料动作同理,Y21=1后0.4 s内X14应置1。分拣站的分流结果由工件当前坐标与推料动作是否发生共同决定:若推料发生在工件位于推料工位窗口内,则工件Y坐标改变,进入分流滑道;否则工件继续沿主输送线前进。

四、加工工位:把工艺时间与联锁条件显式化

加工工位在虚拟环境中通常表现为“工件到位→夹紧→加工→松开→放行”的状态序列。建模时不要只用一个延时表示加工,而应把夹紧确认、加工进行、加工完成三个状态分开。示例参数:夹紧气缸动作0.4 s,夹紧确认X15;加工时间2.5 s,加工中Y22=1;加工完成X16=1。PLC只有在X15=1且工件存在时才允许启动加工,这就是联锁条件。

虚拟模型应支持“加工中工件被移走”这类异常:若加工过程中工件存在信号丢失,则立即置加工异常位,并停止加工输出。这种异常在真实产线中可能由夹紧失效或传感器抖动引起,虚拟调试阶段提前暴露,可以避免现场调试时才发现联锁漏洞。

五、机械手与传感器:位姿、抓取与信号时序

机械手建模的重点是位姿序列和抓取状态。以四轴机械手为例,虚拟模型至少需要原点位、取件位、放件位三个位姿,以及夹爪开/合两个状态。PLC通过Y点选择目标位姿,机械手模型按设定速度运动,到达后置位“到位”X点。抓取成功与否由“夹爪闭合时工件存在”共同判断,而不是只看夹爪闭合信号。

传感器建模要区分类型:光电传感器输出开关量,接近开关输出开关量但检测距离更短,编码器输出脉冲或位置值。虚拟环境中,光电和接近开关用“检测窗口+置位/复位”实现,编码器则用累计脉冲数映射到寄存器。所有传感器都应设置合理的响应时间和抖动抑制,例如光电信号需连续保持20 ms才确认,避免虚拟模型中产生真实设备不会出现的窄脉冲。

产线对象在虚拟环境中的映射关系 X轴正方向:物料流动方向 入口 X=0 → 出口 X=L 输送线 CV01 传送面 + 驱动速度 v=0.2 m/s | 工件位置 x(t)=x₀+v·t PE01 X10 PE02 X11 PE03 X12 分拣站 ST02 挡停气缸 Y20 → X13 推料气缸 Y21 → X14 动作时间 0.3 s / 0.4 s 超时未到位 → 故障位 加工工位 MC03 夹紧 Y22 → X15(0.4 s) 加工中 Y23 | 完成 X16 加工时间 2.5 s 联锁:X15=1 且工件存在 机械手 RB04 原点位 / 取件位 / 放件位 夹爪开合 Y24 → X17 抓取成功 = 夹爪闭合 且 工件存在 到位信号 X18 虚拟对象公共接口层 几何体(位置/尺寸/运动范围) | 状态量(位置/速度/开合/工件存在) | 信号接口(I/O 地址一一对应) 响应时间与抖动抑制:光电信号连续保持 20 ms 才确认,避免窄脉冲 三菱 iQ-F PLC 程序 注:图中速度、时间、坐标均为教学示例参数,用于说明映射方法,非实测值。

六、建模成果的检查要点

完成上述映射后,建议用一份简短的检查表确认模型是否可用。检查项包括:每个物理对象是否有唯一位号;每个传感器是否对应唯一X地址且检测窗口明确;每个执行器是否经过“输出→动作时间→位置反馈→输入”的完整链路;是否存在至少一个超时或异常分支;工件存在信号是否在所有工位保持一致语义。若这些条件都满足,虚拟对象就具备了与PLC程序联调的基础。

建模时优先保证信号语义正确,再追求图形逼真。一个外观简单但I/O时序正确的虚拟输送线,比一个外观精美但信号直通的模型更有调试价值。

最后需要强调,虚拟对象模型不是一次建完就固定不变的。随着调试深入,可能需要补充新的传感器、调整动作时间或增加异常分支。因此模型应保持参数化:速度、动作时间、检测坐标、超时阈值都应以变量形式集中管理,便于在联调阶段快速修改并复现不同工况。