[SIZE=2][B]前面各位大侠们都已详细讲述了各个OB块编号的功能、作用及常用使用技术,我就不再赘述,现在我来讲述一下CFC编程工具中对OB块的使用技术,供大家分享。
众所周知,CFC编程特点是编程对象针对每一个功能块(Block)进行的,而众多的Block在CFC编程工具中是如何管理和资源调度分配的,且看如下[/B][/SIZE]:
一、块的运行时间属性决定了此块在整个CPU结构中的运行顺序。此属性决定了一个目标系统的响应时间、死区时间,以及与时间相关系统的稳定性,当每个Block插入时,系统都将赋予默认的运行时间属性。

二、CPU的运行时间属性可通过菜单“Edit→Run Sequence”,进入“Runtime editor”窗口界面查看。
此窗口界面分三层结构:分别是Task(任务)、Runtime Group(运行组),和Block(块)。用户可折叠/展开这些分层目录来查看整个项目的运行时间属性,也可在选择某个Runtime Group/Block后,按压左键拖拽后改变其所在Runtime Group/Block中的顺序。

三、当用户使用右键单击某个Task后,选择“Insert Runtime Group”,可添加新的Runtime Group。当用户插入一个新的CFC程序时,系统将默认在OB35中生成一个新的Runtime Group。如果不更改chart的插入点,新添加的chart都将位于OB35当前的Runtime Group中。如果希望在其它任务中插入新的chart,先选择此任务后,再选择“Predecessor for the Next Chart Insertion”。

四、使用右键点击某个Runtime Group后,查看其属性,可修改如下重要属性:
1、Scan rate:当Task被执行时,Runtime Group是否在每个Task执行周期,或间隔多个Task周期执行。数值范围共16个(分别是2的0~15次幂级数).例如:OB33的执行周期=500ms,则Scan rate为:1s、2s、4s、8s...16s。
2、Phase offset参数:Scan rate>Phase offset数值范围≥0。例如:OB33执行周期=500ms,Scan rate=16,Phase offset=3,则此Runtime Group执行时间为1.5s、9.5s、17.5s等。
3、Active:可以决定是否激活此Runtime Group。

五、由此可知,CFC编程工具在OB块的使用上及其灵活而方便,大大拓展了OB块的执行调度时间,及其执行时间的可伸缩性、可扩展性。有兴趣的朋友可试试看!