quote:以下是引用Zane在2009-04-01 18:29:17的发言:
我们可以先总结一下减少扫描周期的方法:期待各位发言
1.OB1循环扫描必定和程序有关。如果使用OB1的话,自然是按照程序的编制顺序扫描,这样不论执行那段子程序,都要执行全部的扫描。这样扫描时间必定长,扫描周期也必定大。因此最好还是使用中断扫描的方式。
2.中断扫描:我不知道我的理解是否正确,请高手们给予指正。
中断扫描是按照既定的时间去执行扫描,比如OB35默认100MS扫描一次。但扫描这一次的时间有多少,就要根绝程序的编制方法与数据量有关系了。如果使用了过程影响区,那寻址方式一定是到OB1 PI,PIP区去查找。这个时候对于过程影响区的优化,也是减少扫描周期的一个有效的方法。
3.对于运行组(PCS7方式)的考虑:OB100的初始化,中断OB的使用,将数据块,功能块按照不同的类型分配成不同的运行组也是对扫描方式的一种优化,原理上应该同过程影响区的寻址方式类似。因此这个工作的也应该可以减少扫描周期;
4.1,2,3讨论的都是用户自定义程序部分的优化措施。但对于一个完整的系统来说,CPU才是核心。系统默认的一些参数往往我们都不会去更改。但在特殊情况下,系统允许更改的一些参数也是可以降低整个程序量(系统数据+用户数据)的,降低一些通讯数据区的大小,诊断数据区的大小等等也会降低程序量,自然也会降低对系统数据的扫描周期。
其实,我认为,对于系统参数的更改方式尤为不可取。尽量不要采取这种方法处理。还是要尽量在程序的编程方式上做文章。
对于程序的编制方法,怎么做是最合理的?我的方法再上面的帖子里已经提到。
我期待着高手们的详细解答!