驱动器完全由modbus通讯控制。做定位需要一个触发信号去开始这次定位。此信号长期on,定位是可以做一次,但是下次定位必须由off到on的一个上升沿才能开始。
MB通讯轮询有一个轮询周期。无论怎样的轮询策略,也有一个时间。两次通讯之间的一个间隔。
而这个触发信号为了争取时间,只需要on过就可以off了。这样就可以准备下一次定位可以更快地发出。
假如一个轮询间隔100毫秒。一次定位由于距离很短,100毫秒完成。那么某次定位指令发出之后,伺服方面已经开始运动,程序方面开始把触发指令写off。那么经过100毫秒后下次的轮询到达,触发位成功写off了。伺服也走到了定位目的地。此时再次发出第二次定位指令,刚好伺服正空闲。此时就是密度最高的触发指令。
如果定位的过程比一次轮询的时间还短,那么这个轮询的周期就成为瓶颈。
现在不讨论缩短周期,只聊,这个触发信号如何发出一个与轮询同步的信号。这些信号不是一个,而是很多个的。因为一些速度值,同样需要维持一个轮询周期,然后下次就要变更成更新鲜的值了。
想着想着,这些信号还是挺多的。
做一个对比:
plc的扫描周期对应MB的轮询周期。
plc输入的脉冲捕捉就好比这个触发指令。需要使这个指令持续一次轮询的周期。
有些信号比如一个点动。也希望被捕捉到,也希望不被捕捉到。
不捕捉的现象就是按下按钮必须持续到一个轮询周期才会产生运动,并且运动必须至少运动一个轮询周期。小于周期的按钮动作都不会产生作用。
被捕捉到的现象就是按下按钮很短的时间,运动就开始发生了。并且一样也是至少运动一次轮询周期。
现在希望都能有上面两种情况的选择。这个有什么方法可以实现?一直没有解决。
选择更快的通讯媒介,只是缩短上述事件的持续时间。并未解决。
大家有没有遇到过类似,近似的情况?