3. 产线对象与工艺建模
虚拟调试不是先打开 Studio 5000 写梯形图,而是先把一条真实产线“翻译”成可被仿真软件理解的对象集合与动作规则。如果对象识别不全、动作序列有歧义、节拍模型没有量化,后续无论 PLC 程序写得多规范,虚拟调试都会在联调阶段暴露出大量“对不上”的问题。本节的任务,是把物理产线抽象为虚拟调试所需的功能规格:有哪些对象、它们如何动作、动作之间如何衔接、整线节拍由谁决定。
一、产线对象的识别与分类
对象识别的基本方法是沿着物料流动方向走一遍产线,把每一个“会动的东西”和“会感知的东西”都记录下来。以一条典型的装配产线为例,对象通常分为四类:
- 执行对象:输送线(皮带/辊道/倍速链)、机器人(搬运、装配、码垛)、气缸(推料、挡停、夹紧、顶升)、电机与变频器、伺服轴。
- 感知对象:光电传感器、接近开关、磁性开关、限位开关、编码器、视觉相机、RFID 读写头。
- 承载对象:托盘、工装夹具、料框、工件本身。
- 交互对象:安全门、急停、HMI 按钮、上位 MES 接口。
识别时不能只记名称,必须记录每个对象的接口属性:气缸要记录“单电控/双电控、伸出到位信号、缩回到位信号、动作时间”;输送线要记录“段号、长度、速度、启停方式、有无积放”;机器人要记录“工位号、动作程序号、抓取/放置位置、节拍时间”。这些属性直接决定虚拟调试中信号如何映射。
二、设备动作序列建模
动作序列描述的是“一个工位内,各对象按什么顺序动作、满足什么条件才允许下一步”。以“托盘到位—顶升定位—气缸夹紧—机器人装配—气缸松开—顶升下降—托盘放行”这一典型工位为例,动作序列必须写清每一步的触发条件与完成条件:
- 托盘到位:光电传感器 DI_Sta3_PalletPresent = 1;
- 顶升定位:输出 DO_Sta3_LiftUp = 1,等待限位 DI_Sta3_LiftUpOK = 1;
- 夹紧:DO_Sta3_Clamp = 1,等待磁性开关 DI_Sta3_ClampOK = 1;
- 机器人装配:向机器人发 DO_Sta3_RobotStart = 1,等待机器人回 DI_Sta3_RobotDone = 1;
- 松开、顶升下降、放行:按相反顺序复位,最后 DO_Sta3_Release = 1。
这里的关键是互锁与握手:顶升未到位不允许夹紧,夹紧未到位不允许机器人启动,机器人未完成不允许松开。虚拟调试中,这些互锁正是要验证的核心逻辑。如果动作序列只写“先顶升再夹紧”,仿真时无法判断条件是否满足,调试就失去了意义。
三、工艺节拍模型
节拍模型回答的是“整线每小时能出多少件、瓶颈在哪”。单工位节拍由各动作时间累加得到,例如上述工位:托盘到位 0.5 s、顶升 1.2 s、夹紧 0.8 s、机器人装配 6.0 s、松开 0.6 s、顶升下降 1.0 s、放行 0.4 s,合计约 10.5 s。若整线有 5 个工位,节拍分别为 10.5、9.8、12.0、10.2、9.5 s,则瓶颈在 3 号工位,整线理论节拍为 12.0 s,理论产能约 300 件/小时。
虚拟调试中,节拍模型的作用是给仿真设定时间基准。仿真软件按各对象动作时间推进,PLC 程序按扫描周期运行,两者时间尺度必须对齐。常见做法是把机器人、气缸的动作时间作为仿真参数输入,而不是在 PLC 里用定时器硬等,否则仿真节拍与真实节拍会偏离。
四、从对象到功能规格
把上述内容汇总,就形成虚拟调试所需的产线功能规格。它至少包含三部分:对象清单(含信号地址与动作时间)、动作序列表(含触发/完成条件与互锁)、节拍表(含各工位节拍与瓶颈工位)。这份规格是仿真模型搭建、PLC 变量定义、联调测试用例设计的共同依据。
五、建模时的常见偏差与检查要点
实际项目中,对象与工艺建模最容易出现三类偏差。第一类是信号遗漏:只记录了输出动作,没有记录到位反馈,导致仿真中动作无法闭环。第二类是时序假设错误:把气缸动作时间设为固定值,但实际受气压、负载影响会波动,仿真时应留出容差。第三类是节拍口径不一致:有人按单件节拍算,有人按整线节拍算,导致产能评估偏差。
检查时可以用一个简单方法:把对象清单、动作序列表、节拍表三份内容交叉核对。每个动作序列中出现的信号,必须在对象清单中有对应条目;每个对象清单中的执行对象,必须在动作序列中有明确的触发与完成条件;每个工位的节拍,必须能由该工位动作序列的时间累加得到。三者一致,功能规格才算完整。
完成本节的对象识别、动作序列与节拍建模后,产线功能规格就具备了可执行的基础。下一阶段的工作,是把这份规格映射到 Studio 5000 的变量表与仿真软件的模型参数中,让虚拟产线真正“动起来”。