有个项目需要包括原点在内一共9个位置的不定点运动,打个比方我现在在位置1的话,位置8的信号亮了需要直接从现有位置1移动到位置8,位置4的信号亮了需要直接从现有位置8移动到位置4,位置6的信号亮了需要直接从现在位置4的位置移动到位置6,还有就是多点位置信号同时亮的话,往大的方向移动,比如我现在在位置3,位置2,位置4,位置5的信号同时亮了优先移动到位置4,然后再移动到位置5,位置2的等待时候过长然后才移动到位置2,在移动的时候不能回到原点后在移动。现在有一定的思路,但感觉写梯形图的话有点繁琐,请教一下有无什么比较简便的思路
楼主最近还看过
我三菱不熟,西门子熟悉,按西门子的思路,
按题意推测前提条件,运动过程中还没到位置,其他位置请求发起时,命令不会覆盖,之前位置动作完成后再执行当前。现场按钮按下后,请求会保存,当小车行走到位后,复位本位置请求。
1、array[1...9]of real (设定9个位置)
2、分支,判断是单点请求还是多点请求
3、单点,将位置和速度赋值给绝对运动模块,并上升沿触发。
4、多点,中间变量记录小车当前位置编号,循环从当前编号到9,看是否有请求,有就执行。完成后返回步骤2。如果当前编号到9之间没有请求而且是多点,则循环从当前编号到1,降序循环。有请求就执行。执行完成返回步骤2。
5、小车移动到位置后,复位当前位置的请求。