楼主,根据你的工艺要求,将我的编程思路写成文字供你参考:
1. 开关从一个位置切换下一个位置有三种状态;

2. 用三个存储器(变量),分别记录开关的三个状态:前个位置、当前位置、新位置;
3. 当‘新位置’与‘当前位置’状态不同表示开关状态发生变化(当前位置到中间区域),用沿脉冲将‘当前位置’,例如:位置0,保存至‘前个位置’;
4. 当‘新位置’与‘当前位置’状态再次不同表示开关状态再次发生变化(中间区域到下一个位置),用另一个沿脉冲将‘新位置’,例如:位置1,保存至‘当前位置’;
5. 以此类推,
6. 初始化:可以将‘前个位置’和‘当前位置’赋值,并且当条件满足时输出使能(例如:钳子松开,延时,松开检测,并钳子返回零位并检测到位);
7. 每次完成上述步骤4,给输出使能,根据‘前个位置’和‘当前位置’的不同值,输出相应的控制:
输出【0】= (前个位置=3)且(当前位置=0);
输出【1】= (前个位置=0)且(当前位置=1);
输出【2】= (前个位置=1)且(当前位置=2);
输出【3】= (前个位置=3)且(当前位置=0);
输出【4】= (前个位置=0)且(当前位置=3);
输出【5】= (前个位置=3)且(当前位置=2);
输出【6】= (前个位置=2)且(当前位置=1);
输出【7】= (前个位置=1)且(当前位置=0);