发布于 2010-08-16 22:24:05
142楼
中断资源属于系统有限的资源,我们尽量减少在中断中执行的程序量,为了确保系统扫描周期的稳定,确保低性能CPU也能处理相当数量的PID回路数,同时又能确保系统的响应特性,我们提出了分时调用的概念。详细见101楼的描述。
我看了蓝豆网友的程序,实在是不当家不知柴米贵,把大量的系统中断资源用于1K数据的间址传送,于系统的控制毫无贡献,恐怕只有CPU414、416的系统才能满足控制响应特性的要求,只有系统性能有极大的富裕才允许这么做。
而101楼介绍的方法在极端情况下,可以在CPU314的CPU上以OB35中断5毫秒周期的设置,通过4个周期分时调用在20毫秒内处理20个回路的FB58。然而你的程序却不行,你可以找个CPU试试。
只不过多抄了几遍程序,可以获得最高的性能价格比,而仅仅为了少抄几遍程序,却是以不菲的成本为代价的。另外,你那段没有贴出来的程序应该也不短,如果输出地址是无规律的,你也只能一句一句写,比抄40遍CALL FB58,DBxx也省不了多少事吧。
Zane
注册自动化系统工程师
Always save before download