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

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) |举报


赞助商链接
相关文章:
5.3 LabVIEW设计模式——用户接口事件处理程序
5.3 LabVIEW设计模式——用户接口事件处理程序_信息与通信_工程科技_专业资料。....vi)——不同的测试程序,每个测试程序中可能包含状态 机、生产者/消费者等...
Labview程序设计模式
Labview程序设计模式_计算机软件及应用_IT/计算机_专业资料。介绍Labview程序设计的...根据要求,该应用至少包含以下 5 种状态结构。 1) Initial:初始化状态; 2) ...
LabVIEW程序设计模式-基本状态机模式
LabVIEW程序设计模式-基本状态机模式_IT/计算机_专业资料。LabVIEW程序设计模式-基本...根据要求,该应用至少 包含以下 5 种状态结构。 1) Initial:初始化状态; 2) ...
LabVIEW程序设计模式(一)
LabVIEW 程序设计模式) 程序设计模式(一 LabVIEW 程序设计 2009-04-21 18:35:26 阅读 462 评论 2 阅 我是从 LabVIEW 的中文版帮助文档中接触“程序设计...
生产者消费者设计模式
生产者消费者设计模式_计算机软件及应用_IT/计算机_专业资料。生产者消费者设计模式...} 2 单生产者-多消费者模式与单生产者和单消费者模式不同的是,单生产者-...
LabVIEW程序设计模式(四)—状态机和事件结构的结合
LabVIEW程序设计模式()—状态机和事件结构的结合_信息与通信_工程科技_专业...此外,在【应用 2_自动贩卖机】例程中,按钮 1USD、2USD 和 5USD 的作用是...
labview作业
分别用普通模式和高亮 模式执行,观测数据流流向,并...5.编写一个程序计算一元二次方程 ax2+bx+c=0 ...LabVIEW入门教程 67页 1下载券 Labview电子时钟设计课程...
虚拟仪器设计专题实验报告1(模板) v0.2
LabVIEW 的设计模式 7.1 7.2 7.3 主/从模式 生产者/消费者模式 状态机...第5/6页 仪器技术专题实验 LabVIEW 程序设计方法 <文档标识> 6.3 控件的快捷...
LabVIEW程序设计模式(三)—消息队列型状态机模式
LabVIEW程序设计模式()—消息队列型状态机模式_IT/计算机_专业资料。LabVIEW 程序设计模式 三)—消息队列型状态机模式 程序设计模式(三 消息队列型状态机模式 LabV...
LabVIEW程序设计模式-消息队列型状态机模式
LabVIEW程序设计模式-消息队列型状态机模式_IT/计算机_专业资料。LabVIEW程序设计模式...系统分为 5 个状态,并分为 2 大类。 (1) 第一类:Initial a) UI Initia...
更多相关标签: