引子
有一台双工位的自动化设备,作业走向是从左到右的。左起第一个为第一作业工位,第二个为第二 作业工位,第三个为剔除工位(剔除不合格的产品);
第二工位产生的不合格品,程序里面直接触发一个变量,然后输出给剔除工位,进行剔除;
第一工位产生的不合格品,程序里面也是触发一个变量,然后将这个变量的信息传递给第二工位在不合格状态下触发的变量,然后输出给剔除工位,进行剔除。

由于该产品有自动运行状态,手动运行状态,还有各自单独运行的自动/手动状态,实际上,将第一工位需要剔除不合格品的信息传递给第二工位,编程还是较为复杂的,至少并不简洁。
那么问题来了,现在客户要我们做四工位作业的产品(拓展了2个其他工艺的作业工位,并不是两台产品的集成),还是照搬这种检查信息传递的编程方法,工作量就成倍的增加了。
我们现在谈论了一种移位指令相关的编程方法,假如第一工位检测不合格,如下所示:
希望诸位斧正和指导:
1工位 2工位 3工位 4工位 5工位(处理)
初始 0 0 0 0 0
1周期 1 0 0 0 0
2周期 0 1 0 0 0
3周期 0 0 1 0 0
4周期 0 0 0 1 1
上述是在理想状态下,假设第一工位在作业中偶尔出现的检测不合格,利用左右移位指令来实现编程比较方便。
但是,实际情况肯定更多种,第一工位检测不合格的时候,其他工位也可能检测不合格,且第一工位或许会连续检测不合格,想了一下,感觉移位指令实现信息传递很是挺复杂,你们怎么看?
插上拍的图片,大概可以看出设备的作业状态是啥样子的。

