1. 产线顺控与联锁工程认知
复杂产线不是“把若干台设备各自跑起来”那么简单。以一条典型的包装—贴标—检测—分拣线为例,它至少包含上料工位、输送段、贴标机、视觉检测、剔除机构、下料码垛等 6~10 个工位,每个工位又由电机、气缸、传感器、变频器、伺服轴、安全门锁等对象组成。整线运行时,各工位之间存在严格的先后依赖:贴标机未到位,输送段不能放行;视觉检测未给出 OK 信号,剔除机构不能动作;安全门被打开,相关轴必须进入安全停止。这些依赖关系一旦被破坏,轻则产品报废,重则设备碰撞、人员受伤。因此,复杂产线控制的核心不是单个设备的动作实现,而是动作时序的组织与危险状态的约束。
顺控与联锁的边界
顺控(Sequential Control)解决的是“按什么顺序做、什么时候做下一步”。它把整线运行拆成若干步(Step),每一步有明确的进入条件、执行动作和退出条件,步与步之间按工艺节拍推进。例如“上料→定位→贴标→检测→分拣→码垛”就是一条典型的顺控链。顺控关注的是流程推进:当前处于哪一步、下一步何时允许进入、异常时回到哪一步。
联锁(Interlock)解决的是“什么条件下绝对不允许做”。它不关心流程走到哪一步,只关心危险条件是否成立。例如“安全门未关闭时禁止输送电机启动”“气缸前后限位同时为 ON 时禁止换向”“急停按下时禁止所有轴使能”。联锁关注的是状态约束:条件不满足,动作被禁止;条件恢复,动作才被允许。
两者的边界可以这样理解:顺控决定“正常时怎么走”,联锁决定“异常时怎么停”。顺控是时间轴上的推进,联锁是任意时刻的许可判断。工程中常见的错误是把联锁写成顺控的一步,导致安全条件被流程“跳过”;或者把顺控写成联锁,导致流程无法按节拍推进。正确的做法是:联锁独立于顺控,始终生效;顺控在联锁允许的范围内推进。
TwinCAT 工程对象与学习路线
在 TwinCAT 3 中实现上述顺控与联锁,需要理解几个关键工程对象。首先是 PLC 项目,它承载所有逻辑程序;其中 POU(Program Organization Unit)是组织单元,通常按功能划分为主程序、工位程序、联锁程序、报警程序等。其次是 GVL(Global Variable List),用于定义全局变量,例如各工位的状态字、联锁条件、报警位。再次是 Task,决定程序的扫描周期与优先级,顺控逻辑通常放在 10ms 周期任务中,联锁逻辑可放在更快的 2ms 任务中以保证响应速度。
对于顺控本身,TwinCAT 提供 状态机 的常规实现方式:用 CASE 语句或 SFC(Sequential Function Chart)描述步序。SFC 适合表达清晰的步进关系,CASE 语句适合在 ST 中灵活控制跳转。联锁则通常用独立的布尔逻辑或 安全 PLC 实现,普通联锁可用 AND/OR 组合,安全联锁需使用 TwinCAT Safety 或硬件安全继电器。
学习路线建议按“先认知、再建模、后联调”推进:第一步,能画出产线的顺控步序图与联锁条件表;第二步,能在 TwinCAT 中建立 PLC 项目、定义 GVL、编写单工位顺控与联锁;第三步,能完成多工位联调,处理步序跳转、异常回退、联锁复位;第四步,能进行故障注入测试,验证联锁在异常条件下确实生效。这条路线贯穿本课程后续章节,本节先建立整体认知框架。