2. PLC产线单元对象建模
在虚拟调试中,PLC 程序面对的不是一台“抽象的机器”,而是一组有明确物理边界、接口信号和动作约束的产线单元。对象建模的任务,就是把一台真实设备拆解成可被 PLC 程序、仿真模型和测试用例共同引用的结构化描述。如果这一步做得粗糙,后续的 I/O 映射、时序验证和故障注入都会失去可靠的参照。
本节以一个典型的“工件顶升旋转单元”为例。该单元常见于装配线或检测线:输送带将工件送到位,挡停器挡住工件,顶升气缸把工件托起,旋转气缸带动工件转 90°,相机拍照后,旋转气缸复位,顶升气缸下降,挡停器放行。我们围绕这个单元,从机械、电气、气动、传感器与执行器五个角度建立对象清单和接口清单。
一、机械对象:先确定运动副与边界
机械建模的核心是识别“哪些部件会动、怎么动、运动范围是多少”。顶升旋转单元的机械对象可拆为:输送带(连续旋转)、挡停器(直线伸缩)、顶升气缸(垂直升降)、旋转气缸(回转运动)、工件托盘(随动件)。每个运动对象都要标注运动方向、行程或角度、极限位置以及与其他对象的约束关系。例如顶升气缸的行程为 50 mm,旋转气缸的回转角度为 90°,挡停器伸出时与工件前端面接触。这些参数不是装饰,它们决定了 PLC 程序中互锁条件和仿真模型中的运动学约束。
机械边界也要明确:单元入口和出口分别对应输送带的哪一段,工件在单元内的定位基准是什么。若边界不清,测试时很容易把上游设备的信号误算进本单元。
二、电气对象:电源、驱动与信号回路
电气角度关注的是“哪些对象需要供电、哪些对象由 PLC 直接控制、哪些对象只反馈状态”。在该单元中,输送带电机通常由变频器或接触器驱动,PLC 输出启动/停止信号并读取运行反馈;顶升气缸和旋转气缸的电磁阀由 PLC 数字量输出控制;挡停器电磁阀同理。传感器方面,到位光电、顶升上限/下限磁性开关、旋转到位磁性开关、挡停器伸出/缩回磁性开关均接入 PLC 数字量输入。
电气建模要区分“执行器输出”和“传感器输入”两类接口,并标注信号类型(24 V DC 数字量、模拟量或总线)。若使用远程 I/O 或阀岛,还需记录通信协议和站号。这些信息直接决定虚拟调试时 I/O 仿真的映射方式。
三、气动对象:阀、缸与压力条件
气动部分的对象包括气源处理单元、电磁阀、气缸和节流阀。顶升气缸和旋转气缸通常各配一个两位五通电磁阀,单电控或双电控取决于是否需要断电保持。建模时要记录:阀的型号与线圈数量、气缸的缸径与行程、动作时间(伸出/缩回)、是否带磁性开关、节流阀的调节方向。
气动对象的接口清单中,除了 PLC 输出到电磁阀的线圈信号,还应包括气源压力范围和故障表现。例如压力不足时,顶升气缸可能无法到位,导致上限磁性开关不亮,PLC 程序应据此判断“顶升超时”。这类条件在虚拟调试中可通过仿真模型注入。
四、传感器与执行器:建立一一对应的接口关系
传感器是 PLC 的“眼睛”,执行器是 PLC 的“手”。对象建模的关键一步,是把每个执行器与它对应的传感器配对,形成可验证的反馈链。例如:
- 顶升气缸输出 Q0.0 → 电磁阀 → 气缸上升 → 上限磁性开关 I0.2 为 ON;
- 旋转气缸输出 Q0.1 → 电磁阀 → 气缸旋转 → 旋转到位磁性开关 I0.4 为 ON;
- 挡停器输出 Q0.2 → 电磁阀 → 挡停器伸出 → 伸出磁性开关 I0.6 为 ON。
这种配对关系就是接口清单的核心。它让测试用例可以按“给输出—等反馈—判超时”的方式逐条编写,而不是凭感觉点按钮。
五、测试对象清单与接口清单的建立方法
把上述五类对象整理成两份清单,是本节最直接的交付物。测试对象清单回答“要测什么”,接口清单回答“怎么连、怎么判”。
测试对象清单建议按“对象—类型—关键参数—关联信号”四列组织。例如:顶升气缸,类型为气动执行器,关键参数为行程 50 mm、动作时间约 0.8 s,关联信号为 Q0.0、I0.2、I0.3。旋转气缸,类型为气动执行器,关键参数为 90°、动作时间约 1.0 s,关联信号为 Q0.1、I0.4、I0.5。挡停器,类型为气动执行器,关键参数为伸出/缩回,关联信号为 Q0.2、I0.6、I0.7。输送带电机,类型为电气执行器,关键参数为运行/停止,关联信号为 Q0.3、I0.1。工件到位光电,类型为传感器,关键参数为检测距离,关联信号为 I0.0。
接口清单则按“信号地址—信号名称—方向—关联对象—有效电平—备注”组织。例如 I0.2 为顶升上限,方向为输入,关联顶升气缸,高电平有效,备注为“顶升到位判断”。Q0.0 为顶升输出,方向为输出,关联顶升电磁阀,高电平有效,备注为“单电控,断电缩回”。这份清单可以直接作为 PLC 变量表或仿真 I/O 映射表的输入。
六、从对象模型到虚拟调试的衔接
对象模型建立后,虚拟调试的准备工作就有了明确抓手。仿真模型中的每个运动部件,都可以对应到测试对象清单中的一行;PLC 程序中的每个变量,都可以对应到接口清单中的一条。这样,当仿真运行时出现“顶升气缸不动”或“旋转到位信号不亮”,排查范围就能迅速收敛到对应的对象和信号,而不是在整条产线里盲目搜索。
需要强调的是,本节给出的行程、时间和地址均为教学示例,实际项目中应以设备手册、电气图纸和气动原理图为准。建模的价值不在于参数本身,而在于建立一种“先拆对象、再定接口、后写测试”的工作顺序。这个顺序一旦形成,后续的单元测试和虚拟调试就会从“凭经验试”转向“按清单验”。