本人用通讯控制用得很少。目前是第三次。有一些问题想学习一下。
关于对变频器等的轮询有点关系的事情。
事情背景是这样的:
一台机器主要就是控制4个伺服和5个左右的变频,配合出一些线性的速度关系。没有位置要求。
机器对实时性要求不高。全部要求无级、线性、跟随、不使用IO信号。全部使用
modbus控制足以获得良好的实时性要求。
现在问题是这十个东西,在通讯的时候是要如何次序去轮询。
每个驱动器大概需要通讯的项目是:
1.读取驱动器输出点状态。获得基本状态。
2.读取驱动器报警状态。
3.写驱动器当前速度。
4.写驱动器输入点。施行启停控制。
以上数据全部32位方式。
我首先想到一个方法就是十个驱动器顺序做完这四个通讯任务。但是这种方式轮询一次可能要两秒钟。就算工艺允许,但是对人工点动控制影响太大了。想想,按下点动按钮,等一秒多时间才发现机器在动。放开按钮了,又要等一下机器才停。
别的方法没有想到有什么特别可行的。
要么是上面四个项目省略掉一些?偶尔掠过。
要么是重点对个别站安排密集的通讯?
或者是根据当前操作状态,动态安排通讯密度?
又或者是有通讯需求的时候排队处理。没有通讯要求的时候就全体肃静。
我希望达到的目的只有一个:有需求的可以尽快得到处理。应该用怎么样的策略控制呢?