LabVIEWCompactRIO 开发指南18 使用网络流发送消息和命令 点击:12 | 回复:0



fjczd

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:552帖 | 36回
  • 年度积分:703
  • 历史总积分:1294
  • 注册:2008年8月14日
发表于:2023-05-14 15:32:05
楼主

LabVIEWCompactRIO 开发指南18

使用网络流发送消息和命令

默认情况下,网络流旨在最大化吞吐量,但可以轻松实现它们以最大化发送命令或消息的低延迟。

为本部分提供LabVIEW示例代码

命令发送器体系结构

命令发送器是CompactRIO控制器必须响应的任何命令源。公共指令是一个UI事件处理器,是HMI的一部分,可将UI事件转换为CompactRIO控制器的命令。在网络体系结构的情况下,指挥官负责分发这些命令以及执行本地操作,例如暂时禁用UI项和报告状态。

在下一个示例中,在台式PC上运行的主机VI显示采集的数据,同时允许用户调整数据的频率以及功率谱快速傅里叶变换(FFT)分析的窗口类型。频率和窗口命令被发送到CompactRIO控制器并实时处理。

图4.18.示例主机VI的前面板

使用网络流发送命令时,请执行以下操作以确保低延迟:

1.指定较小的缓冲区大小(该示例使用10个元素的缓冲区大小)

2.使用刷新流VI在发送命令后立即刷新缓冲区

可以使用标准LabVIEWUI处理模板为源自UI的事件实现指挥器架构。通过生成命令消息并将其写入网络流,将UI事件转换为相应的命令。请务必在发送命令后刷新缓冲区,以确保低延迟。

图4.19.命令发送方体系结构示例

命令解析器体系结构

在CompactRIO实时目标上,可以使用命令解析器过程来分析传入的命令,并通过实时应用程序进行分发。在此示例中,RTFIFO功能用于在Acquire Data subVISend Data subVI之间流式传输数据。始终使用RTFIFO函数在实时目标上的进程之间流式传输数据,无论是否涉及时间关键型循环。由于流式传输需要RT FIFO,因此它们也用于分发传入的命令。

图4.20.命令解析器体系结构示例

为CompactRIO安装网络流支持

在为LabVIEW实时目标开发应用程序时,请记住,网络流支持是开发机上LabVIEW实时模块安装的一部分。要使用LabVIEW实时目标启用网络流,请选中网络流功能复选框,同时从MAX将软件安装到实时目标,如图4.21所示。

图4.21.在实时目标上安装网络流支持

可以在NI开发人员专区白皮书LosslessCommunication with Network Streams: Components, Architecture, and Performance”中找到有关网络流的更多信息

 

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




楼主最近还看过


热门招聘
相关主题

官方公众号

智造工程师