等待与同步指令:多设备配合时怎么用

多设备配合时,动作本身不难,难的是知道什么时候可以动。等待与同步指令就是程序里的红绿灯。
几类等待的区别
按时间等待只用于节拍预留,不能用来替代信号确认;按信号等待是等某个输入到位,比如卡盘夹紧到位;按条件等待则要综合多个信号判断。用时间等待代替信号确认,是导致偶发干涉的主要原因。
必须写超时
- 每个等待都要设超时,超时后进入报警分支而不是无限挂起。
- 超时时间按正常动作时间的数倍设定,既能容忍波动又能及时暴露异常。
- 报警信息要写明在等哪个信号、等了多久,方便现场定位。
避免互相等待
两台设备各等对方先动的逻辑会形成死锁。设计时明确主从关系,由一方发起、另一方响应,并约定谁先释放。允许同时动作的区域要划定互锁条件,用区域占用信号而不是单纯顺序等待。
调试时的做法
把等待点单独列出,逐一模拟信号丢失的情况,确认程序能在超时后停下来并给出可读的提示。信号抖动造成的误判可以在程序里加短延时滤波,但滤波时间不能长到掩盖真实故障。