LabVIEWCompactRIO 开发指南13
网络发布的共享变量特性
缓冲
启用缓冲选项会使使用共享变量的编程变得更加复杂,因此在大多数应用程序中禁用此选项。如果对启用共享变量缓冲感兴趣,请首先查看NI Developer Zone文档Buffered Network-Published sharedVariables: Components and Architecture。可以通过右键单击共享变量节点并启动如图4.6所示的共享变量属性对话框来验证是否禁用了缓冲。默认情况下,Use Buffering是关闭的。
图4.6 确保在使用共享变量进行标记通信时禁用缓冲
结论
网络发布的共享变量非常灵活和可配置。可以创建一个具有实时FIFO特征的变量,以在时间关键循环中包含网络通信任务。当这样做时,LabVIEW会自动运行一个后台循环,将网络数据复制到实时FIFO中,如图4.7所示。请记住,这可以防止在执行网络通信时在时间关键循环中出现抖动,但这并不意味着网络通信本身是确定的。
图4.7 共享变量启用实时FIFO
当您为网络发布的共享变量启用实时FIFO时,将在实时目标上运行一个隐藏的后台循环,将网络值复制到实时FIFO中。
这个功能可以简化程序,但它有一些限制:
■启用实时FIFO时,网络发布的共享变量的某些功能不可用
■错误管理更加困难,因为网络错误会传播到各个节点
■将来修改程序以使用不同的网络通信更加困难
对于既涉及网络通信又涉及时间关键型循环的应用程序,另一种选择是使用网络发布的常规共享变量进行网络通信,并为网络通信任务维护单独的循环。可以使用第3章:设计一个LabVIEW实时应用中讨论的进程间通信机制在这两个循环之间进行通信。
生命周期
所有共享变量都是项目库的一部分。默认情况下,一旦运行引用任何包含的变量的VI,共享变量引擎就会部署并发布整个共享变量库。停止VI不会将该变量从网络中移除。此外,如果重新启动承载共享变量的机器,那么一旦机器完成引导,该变量就会再次在网络上可用。如果需要从网络中删除共享变量,必须显式地从Project Explorer窗口或NI Distributed System Manager中取消部署变量或库。
SCADA功能
LabVIEW数据记录和监控(DSC)模块在网络发布的共享变量之上提供了一套额外的SCADA功能,包括以下内容:
■历史日志记录到NI Citadel数据库
■报警和报警记录
■扩展
■基于用户的安全
■创建自定义I/O服务器
网络发布的扫描引擎I/O变量和别名
默认情况下,I/O变量和I/O别名被发布到网络上,以便使用NI-PSP协议进行远程I/O监控。它们由与扫描引擎关联的正常优先级线程以在控制器属性下指定的速率发布。可以通过访问共享变量属性对话框来配置I/O变量是否发布它们的状态。
图4.8 为I/O变量启用网络发布
发布的I/O变量针对I/O监控进行了优化。它们并不适用于所有网络发布的共享变量特性和所有LabVIEW设备。为了在LabVIEW应用程序之间共享数据时获得最大的灵活性,应该使用网络发布的共享变量。
需要说明的是,上述的例程和文档,都是可以下载的,双击即可打开,其中压缩文件是可以采用粘贴复制的方式,拷贝到硬盘上。这不是图片,各位小伙伴看到后尝试一下,这个问题就不用加微信咨询了。有关LabVIEW编程、LabVIEW开发等相关项目,可联系们。附件中的资料这里无法上传,可去公司网站搜索下载。
楼主最近还看过