发布于 2007-06-23 21:31:12
0楼
在选型时,PLC的主CPU的指令运算速度是我们经常参考的指标之一。
但是不是CPU的运算速度越快就越好呢?
答案是否定的,不仅仅是成本的原因,当然运算速度越快的CPU的价格会越昂贵,更主要的的是过快的运算速度和过少的控制程序会导致过短的程序扫描周期,从而引发系统的不稳定。比如PLC要读取一个按钮的输入信号,由于机械触点存在的振动,通过示波器我们可以观察到按钮的输入信号波形实际是一串脉冲最后稳定于高电平的波形。如果CPU的扫描周期超过10毫秒时,系统只能读取到一次高低电平的变化,而如果CPU的扫描周期小于5毫秒时,则系统可能读取到2-3次高低电平的变化,这就会给一些利用单键按钮来控制的系统带来小小的麻烦,最后不得不在程序中为单键按钮信号加上软件延时滤波程序。
相反,CPU的指令运算速度过低及大量的控制程序导致较长的扫描周期,比如达到了100毫秒,那么对于高低电平的时间均短于100毫秒的信号,其变化系统就有可能遗漏了,从而导致系统工作的不可靠。我们不得不再选用昂贵的带中断输入的模块来解决此类问题。
因此,系统控制程序的扫描周期控制在一个合适的范围之内,也是我们在控制系统选型时需要考虑的问题之一,一般在10-50毫秒之间,性能价格比最优为首选。我的习惯为无论系统有多简单或多复杂,都把系统控制程序的扫描周期控制在20毫秒左右。
接下来更有趣的工作就是控制程序扫描周期的变化幅度,当你把你的控制程序的扫描周期的变化幅度控制在很小的一个变化范围之内时(比如20毫秒正负2毫秒),你会发现一切都变得那么顺畅,系统工作得是那么的稳定。当然,要做到这些并不容易,任何条件调用的子程序,过程中断,事件中断,外部硬件中断,包括系统诊断都会引起扫描周期的波动甚至是较大幅度的震荡波形,而后者同样对于系统控制的稳定性是很不利的。
试试吧,你会受益非浅的。
知识改变未来