LabVIEW​​共享​变量生命周期

简介: LabVIEW​​共享​变量生命周期

LabVIEW共享变量生命周期


共享变量生命周期


所有共享变量都是项目库的一部分。SVE将会注册项目库和库中包含的共享变量(当LabVIEW需要调用其中某个变量时)。默认情况下,只要运行引用任意所包含共享变量的VI时,SVE即会部署并发布共享变量库。由于SVE将部署包含该共享变量的整个库,因此无论所运行的VI是否引用库中的全部共享变量,SVE都将发布库中所有的共享变量。您随时可以手动部署任意项目库,只需要右键单击项目浏览器窗口的库即可。


停止VI或重启托管该变量的机器并不影响共享变量在网络上的可用性。如果需要删除网络上的共享变量,则必须明确地在项目浏览器窗口中解除该变量所属库的部署。也可选择工具(Tools) » 分布式系统管理器(Distributed System Manager)来解除共享变量或整个变量项目库的部署。


注意: 旧版LabVIEW使用变量管理器(工具[Tools] » 共享变量[Shared Variable] » 变量管理器[Variable Manager])而不是分布式系统管理器来管理共享变量的部署。


前面板数据绑定


另一个仅适用于网络发布共享变量的功能是前面板数据绑定。在项目浏览器窗口中,将共享变量拖拽到VI前面板,即可创建共享变量的绑定控件。当控件启用数据绑定时,改变控件的值将改变与其绑定的共享变量的值。在VI运行时,如果成功连接到SVE,则在VI的前面板对象旁边会出现一个绿色标记,如下图所示。



图将前面板控件绑定到共享变量


通过属性(Properties)对话框中的数据绑定(Data Binding)页面,可实现和改变任意输入控件和显示控件的绑定。当使用LabVIEW Real-Time模块或LabVIEW DSC模块时,选择工具(Tools) » 共享变量(Shared Variable) » 前面板批量绑定配置(Front Panel Binding Mass Configuration),即可显示前面板批量绑定配置(Front Panel Binding Mass Configuration)对话框,然后创建一个将多个输入控件和显示控件绑定到共享变量的操作界面。


针对在LabVIEW Real-Time系统上运行的应用程序,NI不建议使用前面板数据绑定功能,因为前面板可能不存在。


编程访问


如上所述,您可以使用LabVIEW项目来交互式地创建、配置和部署共享变量,还可以使用程序框图上的共享变量节点或前面板的数据绑定来读写共享变量。LabVIEW 2009及之后版本还提供对于以上功能的编程访问。


在需要创建大量共享变量的应用中,可使用VI服务器,通过编程方式来建立项目库和共享变量。此外,LabVIEW DSC模块提供了一套全面的VI,让您能够通过编程方式来创建和编辑共享变量和项目库以及管理SVE。以编程方式创建共享变量库只能在Windows系统上实现,但通过编程来部署这些新库可在Windows或LabVIEW Real-Time系统上完成。


在需要动态更改VI读写的共享变量或需要读写大量变量的应用程序中,可使用编程共享变量API。可以通过编程方式创建URL,然后动态更改共享变量。




图使用编程共享变量API来读写共享变量


此外,由于NI LabWindows/CVI 8.1和NI Measurement Studio 8.1引入了网络变量库,您可以在ANSI C、Visual Basic .NET或者Visual C#环境下读写共享变量。


需要说明的是,上述的例程和文档,都是可以下载的,双击即可打开,其中压缩文件是可以采用粘贴复制的方式,拷贝到硬盘上。这不是图片,各位小伙伴看到后尝试一下,这个问题就不用加微信咨询了。有关LabVIEW编程、LabVIEW开发等相关项目,可联系们。附件中的资料这里无法上传,可去公司网站搜索下载。

相关文章
|
8月前
|
存储 算法 程序员
【C++20 新特性 】模板参数包展开与Lambda初始化捕获详解
【C++20 新特性 】模板参数包展开与Lambda初始化捕获详解
392 3
|
8月前
|
编译器 C# 开发者
C# 10.0中的全局`using`指令:简化命名空间引用的新方式
【1月更文挑战第4天】本文介绍了C# 10.0中引入的全局`using`指令,该指令允许开发者在项目级别统一管理命名空间引用,从而消除源文件中重复的`using`语句。全局`using`指令通过减少冗余代码、提高可维护性和统一命名空间管理,为开发者带来了更高效的编码体验。文章详细解释了如何实现全局`using`指令,并探讨了其在实际项目中的优势和适用场景。
|
10天前
|
JSON PHP 数据格式
【ThinkPHP框架教程·Part-05】控制器定义和渲染输出
本章节介绍控制器的定义方式及其URL访问和渲染输出。控制器文件存放在`controller`目录下,可通过配置`route.php`更改默认路径。类名采用驼峰命名法并与文件名一致,如`Test.php`位于`app\controller\Test.php`。支持设置控制器后缀(如`Controller`)以避免重名冲突。渲染输出方面,ThinkPHP支持通过`return`直接输出字符串或使用`json()`函数返回JSON格式数据。调试时推荐使用助手函数`halt()`,而非`die`或`exit`。
【ThinkPHP框架教程·Part-05】控制器定义和渲染输出
|
7月前
|
缓存 监控 程序员
Python中的装饰器是一种特殊类型的声明,它允许程序员在不修改原有函数或类代码的基础上,通过在函数定义前添加额外的逻辑来增强或修改其行为。
【6月更文挑战第30天】Python装饰器是无侵入性地增强函数行为的工具,它们是接收函数并返回新函数的可调用对象。通过`@decorator`语法,可以在不修改原函数代码的情况下,添加如日志、性能监控等功能。装饰器促进代码复用、模块化,并保持源代码整洁。例如,`timer_decorator`能测量函数运行时间,展示其灵活性。
53 0
|
8月前
|
测试技术
LabVIEW ​​单​进程​共享​变量​与​​全局​变量
LabVIEW ​​单​进程​共享​变量​与​​全局​变量
118 1
|
3月前
|
缓存 小程序 UED
如何利用小程序的生命周期函数实现数据的加载和更新?
如何利用小程序的生命周期函数实现数据的加载和更新?
97 4
|
8月前
|
Python
Python的全局变量作用于整个程序,生命周期与程序相同,而局部变量仅限函数内部使用,随函数执行结束而销毁。
【5月更文挑战第11天】Python的全局变量作用于整个程序,生命周期与程序相同,而局部变量仅限函数内部使用,随函数执行结束而销毁。在函数内部修改全局变量需用`global`关键字声明,否则会创建新局部变量。
172 2
|
8月前
LabVIEW使用调用节点与通过引用调用节点调用VI时的差别
LabVIEW使用调用节点与通过引用调用节点调用VI时的差别
128 1
|
8月前
|
编译器 C语言 C++
【C++的奇迹之旅(二)】C++关键字&&命名空间使用的三种方式&&C++输入&输出&&命名空间std的使用惯例
【C++的奇迹之旅(二)】C++关键字&&命名空间使用的三种方式&&C++输入&输出&&命名空间std的使用惯例
|
存储 安全 编译器
【C++杂货铺】C++11特性总结:列表初始化 | 声明 | STL的升级
【C++杂货铺】C++11特性总结:列表初始化 | 声明 | STL的升级
85 0