恭喜,你发布的帖子
发布于 2022-05-02 09:26:40
6楼
有的人在提这个问题的时候,一般都想着有一些很简单的处理方法可以实现。我就是这么想的。不过我在找这种方法的路上,先用一些笨的方法实现了手头上的事情。然而,我确实比较笨,找了很久也未找到这个方法,一直在用笨办法。
就像上面我说到的小车来回移动的局部例子。小车一共有S1前进;S2前停留;S3后退;S4后停留,四种状态。在程序里面增加一个方向记忆,当按下开始的时候检查这个方向记忆,就可以一下子启动原来行走的方向。如果需要在极限位置停留5秒。当按停止按钮的时候mov计时器值到一个vw,启动的时候就可以知道5秒剩余多少时间。
如果S1和S2之间有一个S1.1中间停留;S1.2再前进。那么就要有一个记忆区分前进和再前进。因为这两个状态都是前不着边后不着店。
再假如处于S1.2再前进状态时停下来了,然后手动移动到S1状态的起点后极限开关。当再次按下开始时,你说应该进入什么状态?
一切都是记忆。再启动就把记忆拿出来,把现场信号加入判断,找出唯一适合的S状态,直接进入该状态。现场信号优先记忆信号。
当手动信号影响记忆的时候,还需要在手动动作时纠正记忆信号。例如两段速电机前进经过行程开关到达慢速区域,要转慢速。那么手动的时候应该在经过行程开关的时候一同修改记忆,当前电机处于慢速区。反向经过行程开关的时候也修改记忆,当前电机处于快速区。因为这个快速区慢速区的记忆会影响启动时自动的状态。
方法很笨,但是我也没有办法。
请填写推广理由:
分享
只看
楼主