当前位置:首页 >> 信息与通信 >>

LabVIEW程序设计模式(五)—生产者消费者模式(2)


LabVIEW 程序设计模式 五)—生产者 消费者模式 程序设计模式(五 生产者 消费者模式(2)_VI 的可重入性 生产者/消费者模式 (Reentrant Execution) )
LabVIEW 程序设计 2009-05-19 17:06:34 阅读 698 评论 0 阅 在介绍 VI 的动态调用之前有必要对 LabVIEW 在执行 VI 过程中的规则有个 大致的了解。众所周知,LabVIEW 是通过 VI 的文件名(VI Name)来表示独立 的 VI 的,并不是 VI 的路径。因此,LabVIEW 不允许具有相同名字的 VI 同时载 入内存中,即使这些 VI 存储在不同的路径中。 在前面曾经提到,LabVIEW 本身就是一种多线程设计的语言。那么当同一 背面板中放置两个 VI 的实例时代码应该如何执行呢?在图 29 中,右侧是测试 VI 运行的时间,左侧是 Wait.vi 的具体实现代码,仅仅是等待一定的秒数。那么 在右侧的 VI 中,输出的 Time 是多少呢?是 3 秒还是 2 秒? 字号:大中小 订

图 29 Reentrant Execution 打开 VI 的 Highlight 调试工具,可以看出两个 Wait.vi 实例的调用并不是同 时执行的,而是依次按顺序执行的,至于哪一个实例先执行是不确定的。这是由 于 LabVIEW 本身是并行设计的,从理论上而言,两个 VI 的实例是同步执行的, 但是如果两个 Wait.vi 实例同时执行必定会产生参数赋值紊乱 因为 LabVIEW 只 , 允许内存中存在一个名称的 VI。因此,此时 Time 的输出结果是 3 秒。 如果在实际使用中需要这样的应用该如何解决呢?LabVIEW 提供了 VI 的可 重入技术,打开 Wait.vi 单击<Ctrl+I>按键,选择图 30 所示的 Reentrant execution , 选项。此时再次运行 Time 的输出结果是 2 秒。从 Highlight 的运行过程来看,两 个 Wait.vi 实例是同时执行的,因此总的运行时间就是 1 秒。

图 30 VI Properties 事实上,LabVIEW 的可重入技术相当于在原有 VI 的基础上产生了一个相同 的副本,打开 Wait.vi 从标题栏可以看出 VI 的名称为 Wait.vi:1(clone)。同理这是 由于 LabVIEW 中不允许内存中的 VI 存在同名,VI 的可重入技术相当于产生了 与原 VI 具有同样功能的新 VI 并且修改了该 VI 的命名。 在实际应用中,需要根据情况决定是否设置 VI 的可重入属性,灵活使用。 并不是需要将所有的 VI 都设置为可重入,那将占据大量的内存资源。 评论这张 转发至微博 0 人 | 分享到: 阅读(698)| 评论(0)| 引用 (1) |举报


相关文章:
LabVIEW程序设计模式(五)—生产者消费者模式(4)_生...
LabVIEW 程序设计模式(五)—生产者/消费者模式(4)_生产者/消 费者循环 本节将使用“多循环”来解决程序并行运行的问题,那么程序中的两个循环 如何进行数据交互...
labview主/从设计模式和生产者/消费者设计模式
5.2 LabVIEW 设计模式——主/从设计模式生产者/消费 者设计模式 在上一节中曾经谈到过,NI LabVIEW 中提供了六种 最基本的设计模式。本节首先介绍其中的两种...
LabVIEW程序设计模式-消息队列型状态机模式
程序设计|LabVIEW程序设计模式-消息队列型状态机模式_IT/计算机_专业资料。LabVIEW...系统分为 5 个状态,并分为 2 大类。 (1) 第一类:Initial a) UI Initial...
Labview程序设计模式
LabVIEW 程序设计模式 , 这个相对学术化的词语是对一系列用于 LabVIEW 程序设计...根据要求,该应用至少包含以下 5 种状态结构。 1) Initial:初始化状态; 2) ...
LabVIEW程序设计模式(六)—总结_图文
LabVIEW程序设计模式()—总结_IT/计算机_专业资料。看还没有,特意复制下来补...文档贡献者 Zlg881215 贡献于2011-08-25 1 /2 相关文档推荐 ...
LabVIEW程序设计模式(四)—状态机和事件结构的结合
LabVIEW程序设计模式()—状态机和事件结构的结合_信息与通信_工程科技_专业...此外,在【应用 2_自动贩卖机】例程中,按钮 1USD、2USD 和 5USD 的作用是...
LabVIEW程序设计模式(二)—基本状态机模式
LabVIEW 程序设计模式 二)—基本状态机模式 程序设计模式(二 基本状态机模式 LabVIEW 程序设计 2009-04-27 09:25:15 阅读 744 评论 2 阅 状态机是一种最为...
5.3 LabVIEW设计模式——用户接口事件处理程序
5.3 LabVIEW 设计模式 设计模式——用户接口事件处理程序 用户接口事件处理程序 ....vi)——不同的测试程序,每个测试程序中可能包含状态 机、生产者/消费者等...
5.4 LabVIEW设计模式——标准状态机
5.4.2 LabVIEW 设计模式 设计模式——标准状态机 标准状态机标准状态机也是 LabVIEW设计模式之一,参见下图。 图 5.4.2-1 LabVIEW 设计模式模版 用鼠标双击该...
更多相关标签: