LabVIEW共享变量

共享变量简介
LabVIEW​为​创建​分布​式​应用使用​共享​变量​可以简化​此类​应用的编程。​
借助​共享​变量,​您​可以​在​同​一个​程序​框​图​的​不同​循环​之间​或者网络上​的​不同VI之间​共享​数据。与LabVIEW中的许多​其他数据​共享​​方法(如UDP/TCP、LabVIEW队列及实​时FIFO)不同,共享​变量​通常​可在​编辑​时​使用​属性​对话​框​进行​配置​,而​无需在应用​中​添加​配置​代码。

创建共享变量
在我的电脑或其他终端设备上新建变量。
在这里插入图片描述
共享变量配置窗口
在这里插入图片描述
共享变量新建完成后会自动生成一个lib文件将该变量包含,用户可以继续在当前库内继续新建共享变量。S_pos为单进程共享变量,其余为网络共享变量。
在这里插入图片描述

共享变量可以在工具➡分布式系统管理器中进行查看。PS:如果未能找到所创建的变量则需将所创建的Lib文件→右键→部署。然后在分布式管理系统节目刷新后进行查看。单进程共享变量不会在分布管理系统中显示。
在这里插入图片描述
共享变量切换读写
可以右键共享变量→访问模式,进行读写切换。
在这里插入图片描述

在这里插入图片描述

单进程共享变量
单进程共享变量可以替代同一个vi内无法直接通过连线连接的赋值操作或者不同vi之间的赋值操作。单进程共享变量与全局变量类似,最大的区别是可以通过配置将单进程共享变量替换为网络共享变量。
需要注意的是单进程共享变量与Labview全局变量类似均存在读取写入时不会出现互斥的情况(同时读取或者同时写入时会出现互斥),故需要避免出现读取与写入同时进行的情况。

网络共享变量
利用网络发布​共享​变量,​您​可以​在​以太​网网络上读写​共享​变量​。​网络应用的处理​完全​通过网络发布​变量​完成。
网络发布共享​变量必须​部署​到​​网络上​托管​该​变量值​的​共享​变量​引擎(SVE)中。​当​写​入​一个​共享​变量节点时,LabVIEW会将​这个​新​值​发送​给​部署​和​托管该​变量的SVE。SVE处理​循环将发布该​值,​使得订阅者​可以​得到​更新值。下图显示的就是这一过程。从​客户端/服务​器​的角度来看,SVE是​共享​变量的服务器,​所有​对​其​的​引用​(不论是​对变量进行写入还是读取​操作)​都是客户端。SVE客户​端​是每个​共享​变量​节点​实现​中的​一部分,​在​本文​中,客户端和订阅者这两个术语是​可​互换​的。
在这里插入图片描述
网络共享变量网络缓冲
在这里插入图片描述

​缓冲​功能​可以​解决​对于​​变量读取/写入速度​的​临时​波动​问题。​读​取线程​偶尔​比​写​入​线程慢​的​情况​可能​会​导致​一些​更新​数据​的​丢失。​如果​应用​可以​容忍​偶尔​的​数据​丢失,​则​较​慢​的​读​取​速率​并不​会​影响​应用,​此时​就​不需要​启用​缓冲​功能。​但是,​如果​读​取线程​必须​获得​每​个​更新​数据,请启用​缓冲​功能。​您​可以在共享​变量​属性(Shared Variable Properties)对话​框​中的变量(Variable)页面​设定​缓冲​区​大小,​这样就​可以​确定​在​旧​数据​被​覆盖​之前,​应用​​可以​保存​多少​更新​数据。
在这里插入图片描述

由于缓冲功能会为每个订阅者分配一个缓冲区,为避免不必要的内存占用,请仅在必要时使用缓冲功能。

RT FIFO
共享变量可以选择开启实时FIFO功能,此部分不理解。。。
在这里插入图片描述

共享变量使用

  1. 使用共享变量节点进行读取和写入。
    可右键单击节点并选择访问模式 > 读取或访问模式 > 读取/写入。
    在这里插入图片描述
    在这里插入图片描述
  2. 前面板绑定
    如需配置前面板共享变量绑定,可右键单击输入控件或显示控件并选择属性。在属性对话框的数据绑定页,选择共享变量引擎(NI-PSP)。浏览正确的变量路径。如选择了有效变量,VI运行时,控件右上角关联的三角形PSP LED将变成绿色。
    如对服务器变量名称(或自身的库名称)进行了修改,则还需手动修改该前面板绑定。
    在这里插入图片描述
  3. 其他变量绑定已有变量
    新建变量时,勾选启用别名后选择绑定至PSP URL并浏览到需要绑定的变量。
    在这里插入图片描述
  4. 使用共享变量API的形式
    使用共享变量API的形式进行通讯
    变量URL的组织结构如下所示:
    ni.var.psp://[服务器机器名称]/[服务器变量库]/[服务器变量名称]在这里插入图片描述
  5. 使用DataSocketAPI进行交互
    打开DataSocket函数打开服务器变量的DataSocket连接。While循环中,读取DataSocket函数读取当前变量值。循环停止后,关闭DataSocket函数关闭连接。
    如对服务器变量名称(或自身的库名称)进行了修改,则还需手动修改下面的URL。
    变量URL的组织结构如下所示:
    psp:\[服务器机器名称][服务器变量库][服务器变量名称]在这里插入图片描述

参考文档
https://www.ni.com/zh-cn/support/documentation/supplemental/06/using-the-labview-shared-variable.html
https://knowledge.ni.com/KnowledgeArticleDetails?id=kA03q000000YHvgCAG&l=zh-CN

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/718332.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

GPT-4o的视觉识别能力,将绕过所有登陆的图形验证码

知识星球🔗除了包含技术干货:《Java代码审计》《Web安全》《应急响应》《护网资料库》《网安面试指南》还包含了安全中常见的售前护网案例、售前方案、ppt等,同时也有面向学生的网络安全面试、护网面试等。 我们来看一下市面上常见的图形验证…

在Qt编写的exe或者dll中设置版本号

1.背景 在别人编写的exe或者动态库中,通过右键–》属性–》详细信息中,通常都有版本信息: 那我们自己编译出来的Qt程序,如何设置这些版本号呢? 2.解决方案 参考【.pro文件中设置版本等信息】,只要在工…

50etf期权交易规则杠杆怎么计算?

今天带你了解50etf期权交易规则杠杆怎么计算?近年来,期权交易在股票市场中变得愈发流行,其中50ETF期权备受关注。作为一种金融衍生品,50ETF期权为投资者提供了更灵活的投资方式和更多的策略选择。 50etf期权交易规则杠杆怎么计算&…

介绍并改造一个作用于Anki笔记浏览器的插件

在Anki的笔记浏览器窗口中,作为主体部分的表格在对获取到的笔记进行排序时,最多只能有一个排序字段,在设定笔记的排序字段后,没法将表格中的笔记按其他字段进行排序。要满足这个需求,可以使用Advanced Browser插件&…

spring框架(SSM)

Spring Framework系统架构 Spring框架是一个开源的企业级Java应用程序框架,它为开发Java应用程序提供了一个全方位的解决方案。Spring的核心优势在于它的分层架构,这使得开发者可以灵活选择使用哪些模块而无需引入不需要的依赖。下面是Spring框架的一些关…

Linux 下VS Code 弹出 快速修复,导致 BackSpace 无法删除

最近在Linux下使用VSCode,发现有错误的代码选中了无法删除 这个时候,你按BackSpace 是无法删除的,很恼火! 把这些禁用了之后,就不会弹出这个框,这样可以顺利选中删除! 感觉这个是不是vs code 插…

刷题笔记2:用位运算找“只出现一次的一个数”

1. & 和 | 的基本操作 137. 只出现一次的数字 II - 力扣(LeetCode) 先对位运算的操作进行复习: 1、>> 右移操作符 移位规则:⾸先右移运算分两种: 1. 逻辑右移:左边⽤0填充,右边丢…

高考没考好焦虑怎么选计算机专业!一篇告诉你,推荐三个风口专业!想学计算机怎么选大学专业

高考成绩揭晓,几家欢喜几家愁。对于那些未能如愿考取理想分数的同学来说,未来似乎蒙上了一层阴影。尤其是在计算机专业如此热门的今天,低分考生是否还有机会在这个领域找到一席之地?本文将为你揭秘,即使高考成绩不理想…

sheng的学习笔记-AI-集成学习(adaboost,bagging,随机森林)

ai目录:sheng的学习笔记-AI目录-CSDN博客 目录​​​​​​​ 集成学习 什么是集成学习 集成学习一般结构: 示意图 弱学习器 经典算法 Boosting 什么是boosting 方法图 AdaBoost 算法 AdaBoost示意图 流程解析: 错误分类率error…

【5.x】ELK日志分析、集群部署

ELK日志分析 一、ELK概述 1、ELK简介 ELK平台是一套完整的日志集中处理解决方案,将ElasticSearch、Logstash和Kiabana三个开源工具配合使用,完成更强大的用户对日志的查询、排序、统计需求。 一个完整的集中式日志系统,需要包含以下几个主…

白酒:茅台镇白酒的消费者教育计划与推广活动

云仓酒庄豪迈白酒,作为茅台镇的品牌,一直以来都非常重视消费者教育和推广活动。这些计划和活动的目的在于提高消费者对豪迈白酒的认知度和接受度,同时培养消费者的品鉴能力和酒文化素养。 首先,云仓酒庄豪迈白酒通过开展品鉴活动来…

机器学习二分类数据集预处理全流程实战讲解

本文概述 本文对weatherAUS数据集进行缺失值分析并剔除高缺失特征,合理填补剩余缺失值,利用相关性筛选关键特征,采用多种机器学习模型(如逻辑回归、随机森林等)在80%训练集上训练,并在20%测试集上预测明日降…

如何安全进行亚马逊、沃尔玛测评?

在亚马逊、沃尔玛、速卖通、阿里国际站等电商平台上,测评已成为一种高效的推广手段,但伴随的风险也不容忽视。这些风险主要源于平台严格的大数据风控机制,它涵盖了多个方面,以确保评价的真实性和合规性。 首先,硬件参数…

Nuxt快速学习开发---Nuxt3视图Views

Views Nuxt提供了几个组件层来实现应用程序的用户界面 默认情况下&#xff0c;Nuxt 会将app.vue文件视为入口点并为应用程序的每个路由呈现其内容 应用程序.vue <template> <div> <h1>Welcome to the homepage</h1> </div> </template> …

openh264 帧间预测编码过程源码分析

openh264 OpenH264 是一个开源的 H.264 编码和解码器&#xff0c;由思科系统开发并维护。它专为实时应用程序如 WebRTC 设计&#xff0c;提供了从基础到高级特性的广泛支持。OpenH264 的编码器支持从 Constrained Baseline Profile 到 5.2 级别&#xff0c;允许任意分辨率的编…

基于51单片机的音乐彩灯设计

基于51单片机的音乐彩灯设计 &#xff08;程序&#xff0b;原理图&#xff0b;设计报告&#xff09; 功能介绍 具体功能&#xff1a; 由STC单片机ADC0809模块LM386功放模块喇叭音频接口发光二极管电源构成 1.通过音频线输入可以播放电脑、手机、MP3里面的音乐。 2.AD对音频…

Java 桥接模式(Bridge Pattern)是设计模式中的一种结构型设计模式,桥接模式的核心思想是将抽象与实现解耦

桥接模式&#xff08;Bridge Pattern&#xff09;是一种结构型设计模式&#xff0c;它将抽象部分与它的实现部分分离&#xff0c;使它们都可以独立地变化。桥接模式的核心思想是将抽象与实现解耦&#xff0c;使得它们可以独立扩展。 在桥接模式中&#xff0c;通常包含以下四个…

揭秘:边缘智能网关P1600在智慧灯杆上的应用

智慧灯杆作为智慧城市建设的重要组成部分&#xff0c;集成了照明、通信、安防、环境监测等多重功能&#xff0c;是实现城市智能化的关键载体。边缘智能网关P1600在这一系统中扮演着至关重要的角色&#xff0c;它不仅连接和管理各种传感器和设备&#xff0c;还负责数据的采集、处…

保护密码安全,探讨密码加盐及其在Go语言中的实现

介绍 在当今数字化时代&#xff0c;个人隐私和数据安全成为了人们关注的焦点之一。随着网络犯罪的不断增加&#xff0c;用户的密码安全性变得尤为重要。密码加盐作为一种常见的安全措施&#xff0c;被广泛应用于密码存储和认证系统中。本文将深入探讨密码加盐的概念、重要性以…

Ubuntu网络管理命令:ifconfig

安装Ubuntu桌面系统&#xff08;虚拟机&#xff09;_虚拟机安装ubuntu桌面版-CSDN博客 关于ifconfig命令&#xff0c;在11.1节已经介绍过了。通过该命令可以查看和配置网络接口。ifconfig是一个比较古老的命令&#xff0c;在Ubuntu 22以及其他的许多发行版中&#xff0c;已经不…