如何确定我的cRIO / sbRIO是否正在运行?

更新 Oct 19, 2021

环境

软件

  • LabVIEW Real-Time Module

程式语言

  • LabVIEW G

其他

Hardware : cRIO, sbRIO

我已经在cRIO中执行了VI或启动可执行文件,如何检查程序是否正在执行?

在LabVIEW中运行代码

查看代码是否在cRIO上运行的最简单方法就是运行VI。确保VI位于项目浏览器的实时目标下。打开VI后单击运行按钮这将使代码部署到cRIO并在cRIO上运行。前面板(如果已配置)将在cRIO的前面板上显示实际值。与本地主机上的任何其他正在运行的VI一样,顶部的运行按钮将是灰色而不是白色。

另外,在cRIO中可以使用各种LED指示器来显示硬件的内部状态。这些LED的颜色及闪烁模式用于传达该设备状态。请参阅cRIO的用户手册以了解这些模式。例如,此处提供了cRIO 9068的LED指示灯的不同样式和含义。

使用User1 LED

可以通过RT VI控制cRIO控制器上的User1 LED,该LED指示cRIO控制器上运行的VI是否正在执行。在RT代码中实现切换逻辑(Toggle Logic),这会使User1 LED闪烁。闪烁表明您的RT VI正在运行。



如果User1 LED不闪烁,则RT VI未运行或闪烁的代码处于饥饿状态(因为RT CPU利用率为100%)。要进一步解决为什么RT启动VI无法运行的问题,请参考此链接。


使用主机应用程序

您的RT代码中还会有一个循环,该循环会在每次执行时增加其迭代终端。从主机程序读取RT VI中存在的while / for循环的迭代终端,以检查RT代码是否正在执行。使用网络缓冲共享变量将您从RT VI读取的数据传输到主机VI。



然后,在主机VI中读取迭代计数,以了解RT代码的执行状态。



同样,可以从主机VI传输不同的数据类型(如布尔,数字和字符串)以探测不同的值并在不同的时间点,以验证RT代码的功能。

附加信息

根据数据传输的性质和速率,还可以使用不同的协议,例如网络流,UDP和TCP / IP。如果要传输大量标记值,请使用CVT客户端通信(CCC)参考库