并行任务的优先权
发布时间:2014/6/20 22:05:14 访问次数:783
使用等待函数或修改VI属性对话框的“类别”下控列表框中“执行”选项的优先级设置,V-1002可以对并行任务进行优先级排序。
LabVIEW可以为VI设置在执行系统中运行的优先权,6种优先权如下:
(1)后台优先级(最低)。
(2)标准优先级。
(3)高于标准优先级。
(4)高优先级。
(5)实时优先级(最高)。
(6)子程序。
多数情况下,无须修改VI的优先级,可保持其默认值。使用优先级去控制执行顺序可能会产生非预期结果。如果使用错误,低优先级的任务可能会被完全搁置。如果设计中高优先级的任务长时间运行,除非它定期等待,否则低优先级的任务将不会运行。
在一个VI中为不同的线程设置优先级常用Wait函数。图3-18所示的程序中,由于采集数据的任务对时间性的严格要求,我们让执行用户接口任务的代码在每次循环中等待200ms,以免占用过多的CPU时间,干扰数据采集任务的执行,而200ms的延迟对于用户是不易察觉的。
子程序优先级是优先权设置中的一个特殊情况,它允许程序以最有效的方式运行,不与其他VI共享执行时间;子程序VI的执行是流线型的,因此当它被调用时,也不刷新前面板控件。子程序VI可以调用其他的子程序VI,但是不能调用其他优先级的VI。而且,因为子程序设计为不与执行队列交互,因此它不能调用函数让LabVIEW将其拉出队列,即不能调用例如Wait、GPIB、VISA或者对话框等函数。
使用等待函数或修改VI属性对话框的“类别”下控列表框中“执行”选项的优先级设置,V-1002可以对并行任务进行优先级排序。
LabVIEW可以为VI设置在执行系统中运行的优先权,6种优先权如下:
(1)后台优先级(最低)。
(2)标准优先级。
(3)高于标准优先级。
(4)高优先级。
(5)实时优先级(最高)。
(6)子程序。
多数情况下,无须修改VI的优先级,可保持其默认值。使用优先级去控制执行顺序可能会产生非预期结果。如果使用错误,低优先级的任务可能会被完全搁置。如果设计中高优先级的任务长时间运行,除非它定期等待,否则低优先级的任务将不会运行。
在一个VI中为不同的线程设置优先级常用Wait函数。图3-18所示的程序中,由于采集数据的任务对时间性的严格要求,我们让执行用户接口任务的代码在每次循环中等待200ms,以免占用过多的CPU时间,干扰数据采集任务的执行,而200ms的延迟对于用户是不易察觉的。
子程序优先级是优先权设置中的一个特殊情况,它允许程序以最有效的方式运行,不与其他VI共享执行时间;子程序VI的执行是流线型的,因此当它被调用时,也不刷新前面板控件。子程序VI可以调用其他的子程序VI,但是不能调用其他优先级的VI。而且,因为子程序设计为不与执行队列交互,因此它不能调用函数让LabVIEW将其拉出队列,即不能调用例如Wait、GPIB、VISA或者对话框等函数。
上一篇:LabVIEW的执行系统
上一篇:VI的执行属性设置