LabVIEWCompactRIO 开发指南10
确保可靠性与看门狗定时器
在设计将要部署的嵌入式系统时,考虑纳入看门狗定时器以确保可靠性。看门狗定时器是一个硬件计数器,它与嵌入式软件应用程序接口,用于检测和从软件故障中恢复。软件故障的一个例子是应用程序内存不足,导致应用程序挂起或崩溃。即使您遵循了前一节中列出的管理内存的最佳实践,有一个备份计划总是很重要的。
所有CompactRIO和NI单板RIO控制器包括一个硬件定时器,可以从LabVIEW实时模块访问。在正常操作期间,软件应用程序启动硬件计时器,以已知增量从特定数字开始倒计时,并定义计时器达到零时要采取的操作。应用程序启动看门狗定时器后,定时复位定时器,保证定时器不归零,如图3.31所示。
图3.31 当应用程序按时响应时,应用程序会周期性地重置看门狗定时器
如果一个软件故障阻止了应用程序重新设置定时器,超时最终会过期,因为硬件计数器是独立于软件的,因此会继续倒数直到达到零。看门狗定时器超时后,硬件触发恢复过程,如图3.32所示。
图3.32 当看门狗定时器到期时,硬件定时器触发恢复过程
在准备部署嵌入式系统时,可以从两个选项中选择在LabVIEW中实现基于硬件的看门狗定时器。可以使用LabVIEW实时模块访问所有Compact RIO和NI单板RIO控制器中可用的内置看门狗硬件,或者可以使用LabVIEW FPGA模块实现自己的看门狗定时器。如果正在从LabVIEW FPGA VI写入任何硬件输出,那么在LabVIEW FPGA中实现看门狗定时器可能是有益的。如果出现问题,可以立即可靠地将所有硬件输出置于安全状态。每个选项将在下面的小节中更详细地描述。
实时看门狗
LabVIEW实时看门狗使用内置在实时控制器中的硬件计数器,该计数器与嵌入式软件应用程序接口。RT Watchdog API可以在Real-Time函数选板中找到,如图3.33所示。
图3.33 RT Watchdog API与CompactRIO和NI单板RIO控制器内置的硬件计数器接口
使用RT Watchdog API编程时,首先需要配置看门狗并设置超时值。超时值的适当范围取决于嵌入式应用程序的特定性能特征和正常运行时间要求。必须将超时时间设置得足够长,以便它不会由于可接受的系统抖动级别而过期。但是,也必须将超时设置得足够短,以便系统能够足够快地从故障中恢复,以满足系统正常运行时间要求。
图3.34设置看门狗超时时间为10秒
需要说明的是,上述的例程和文档,都是可以下载的,双击即可打开,其中压缩文件是可以采用粘贴复制的方式,拷贝到硬盘上。这不是图片,各位小伙伴看到后尝试一下,这个问题就不用加微信咨询了。有关LabVIEW编程、LabVIEW开发等相关项目,可联系们。附件中的资料这里无法上传,可去公司网站搜索下载。