LabVIEW定时研究:Wait(ms).vi与WaitUntilNextmsMultiple.vi对比
需积分: 50 136 浏览量
更新于2024-08-10
收藏 606KB PDF 举报
"顺序模式-rhcsa/rhce red hat linux certification study guide seventh edition"
在LabVIEW编程中,定时是非常关键的一个环节,特别是在实时系统和控制应用中。本资源主要探讨了两种常用的定时VI:Wait(ms).vi 和 WaitUntilNextms Multiple.vi,并通过实验演示了它们在不同模式下的行为差异。
1. **Wait(ms).vi**:
- **顺序模式**: 在一个While循环中,如果Wait(ms).vi被顺序执行,它会按照指定的时间如实地延迟。例如,如果先执行了一个0.05s的Time Delay.vi,接着是20ms的Wait(ms).vi,那么总的循环周期大约是0.05s + 0.02s = 0.07s。这意味着,如果前面的代码执行时间增加,整个循环周期也会相应增加。
- **并行模式**: 当Wait(ms).vi与其他代码并行执行时,特别是在非实时系统中,它可以确保其自身部分的运行时间精确地等于设定值。例如,如果有多个Wait(ms).vi并行运行,它们各自的延迟时间会独立计算,总循环周期为所有延迟之和。
2. **WaitUntilNextms Multiple.vi**:
- 这个VI通常用于实现定周期的While循环,但它并不总是如预期那样工作。首次运行时,它的延迟时间可能不等于设定值,因为等待会从当前时间点开始,而不是从下一个毫秒边界开始。此外,如果代码执行时间超过设定值,WaitUntilNextms Multiple.vi可能无法保证固定的循环周期,这可能导致不可预测的行为。
3. **两者区别**:
- **周期性定时**: 若要在While循环中实现定周期,应使用Wait(ms).vi,因为它能更好地保证循环周期的稳定性,尤其是在并行执行时。
- **精确定时**: 对于精确到毫秒级别的定时,WaitUntilNextms Multiple.vi可能会有初始的不准确性,但后续迭代的延迟会更加准确,尽管这可能会牺牲掉第一次循环的准时性。
- **并行执行**: Wait(ms).vi在并行环境下能保证自身的定时精度,而WaitUntilNextms Multiple.vi可能受到其他并行代码的影响。
4. **应用考虑**:
- 当代码执行时间较短且对周期精度要求较高时,两者可以通过编程调整达到相似效果。但当代码执行时间较长,Wait(ms).vi会累积延迟,而WaitUntilNextms Multiple.vi则会根据剩余时间调整等待,这两种方法的处理方式截然不同。
选择使用Wait(ms).vi还是WaitUntilNextms Multiple.vi取决于具体的应用需求和环境。在设计LabVIEW程序时,理解这些定时VI的工作原理和特性至关重要,以便正确地控制程序的执行流程和时间特性。
2017-05-30 上传
2011-08-21 上传
点击了解资源详情
CSDN热榜
- 粉丝: 1890
- 资源: 3922
最新资源
- SSM动力电池数据管理系统源码及数据库详解
- R语言桑基图绘制与SCI图输入文件代码分析
- Linux下Sakagari Hurricane翻译工作:cpktools的使用教程
- prettybench: 让 Go 基准测试结果更易读
- Python官方文档查询库,提升开发效率与时间节约
- 基于Django的Python就业系统毕设源码
- 高并发下的SpringBoot与Nginx+Redis会话共享解决方案
- 构建问答游戏:Node.js与Express.js实战教程
- MATLAB在旅行商问题中的应用与优化方法研究
- OMAPL138 DSP平台UPP接口编程实践
- 杰克逊维尔非营利地基工程的VMS项目介绍
- 宠物猫企业网站模板PHP源码下载
- 52简易计算器源码解析与下载指南
- 探索Node.js v6.2.1 - 事件驱动的高性能Web服务器环境
- 找回WinSCP密码的神器:winscppasswd工具介绍
- xctools:解析Xcode命令行工具输出的Ruby库