- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
LabVIEW关于定时的研究
LabVIEW 关于定时的研究
对于LabVIEW 中用于定时的两个最常用的vi 就是Wait (ms).vi 以及Wait Until Next ms
Multiple ,本文将用实际例子来讲述这两个vi 的区别。
不想看后面的详细讨论的可以只看下面几个结论即可:
1.如果想实现定周期While 循环时,需要用Wait(ms).vi 而不是Wait Until Next ms
Multiple.vi
2.Wait(ms).vi 在与代码并行时可以保证整个运行时间为设定值,这个功能一般都会以为
是Wait Until Next ms Multiple.vi 的特性
3.Wait Until Next ms Multiple.vi 并非想象中那么好用,它会造成不少的问题,至少第一
次的运行时间无法保证为设定值。
4.在代码执行时间没超过设定值时,两者可以通过编程实现大致相同的功能,但是当代
码执行时间很大时,两者的处理方法是截然不同的。
一.Wait (ms)
对于Wait (ms) 这个vi 来说需要分两部分来讨论,即它是被顺序地放入代码中还是并行地
放入代码中,这两种方式的不同将导致它起的作用完全不同。
(1 )顺序模式
看一下附带程序中的Wait Sequence Demo 1.vi ,在一个While 循环中,首先用Time
Delay.vi 延时0.05s ,然后顺序地使用Wait (ms).vi ,设为20ms。
最后运行后的结果如下图,循环的周期在70ms 左右。
从结果中可以得知,在顺序模式中,Wait (ms).vi 是实打实地延时了所设定的时间,如果
其他顺序中的代码耗了时间后,那整个循环的时间就是代码时间+延时的时间。即使在此
例中将Time Delay 换成一些其他消耗一定时间的code 后结果也是一样。
(2 )并行模式
当在并行模式时,在不是跑Real-Time 时,Wait (ms)这个vi 竟然是能保证整个循环周期
是所设定的值,我们看下面的例子(Wait Parallel Demo 1.vi ),程序如下:
循环中有n 多Wait(ms).vi ,运行后的结果是循环周期是20ms ,因此可以初步得出结论,
对于Wait(ms).vi 与其他代码并行时,它会保证整个部分的运行时间是所设定的值
(millisecondes to wait )。
如果还不很确定的话可以看下面一个例子(Wait Parallel Demo 2.vi ):整个程序的循环中
有一个Code.vi 这样一个小vi ,它的作用就是运行一堆代码从而占据一段时间(可调)。
Results 中有两条曲线,白线表示的是代码的运行时间,红线表示的是整个循环的运行时
间。
运行后,我们将Loop Num 设小一点,比如5 ,以保证代码的执行时间小于20ms ,得到
下面的结果曲线,可以看到,当代码时间不大于设定时间值时,整个循环周期保证为设定
值。
我们再将Loop Num 增大,使代码执行时间大于20ms ,从而得到下面的结果曲线,即循
环周期跟着代码的时间走了。
那么我们大致知道了Wait(ms).vi 在并行时的特性了,那么在下面的框图中可以很明显地
推断出循环周期是50ms。
二.Wait Until Next ms Multiple
要比较好的解释这个vi ,需要知道系统(至少Windows 里有)中有一个millisecond
timer 这样一个计时器,这个vi 跟这个计时器有着千丝万缕的关系。
简单来说,这个vi 将一直等到ms timer 得到输入值的整数倍才结束,通过下面的
example ,将会更好的理解(Wait Until Demo 1.vi )。程序中,首先输入50ms 给Wait
Until ,计算第一次Wait Until 花的时间,再输入50ms ,同样地计算出第二次Wait Until 花
的时间。
运行完程序后,得到大致下面的结果:
每次运行的结果都不相同,但是可以看到,第一次Wait Until 所花的时间总不是50ms ,
而第二次花的时间肯定是50ms ,并且Timer Value 两次一般都是50ms 的倍数;出现这
样的情况是这样来解释:首先,在程序运行的时候,系统的Timer 值并不会正好是50 的
倍数,假设为那么程序在运行了15ms 后Timer 达到(50 的倍数)
从而结束第一个Wait Until ;在之后又迚入第二个Wait Until
您可能关注的文档
- DCS锅炉汽水系统的设计.pdf
- dFRP包覆筋的微结构设计及其力学行为分析.pdf
- DHA的作用.doc
- DNA琼脂糖凝胶电泳制备全过程图解.ppt
- DICM在发动机模态参数识别中的试验研究.pdf
- DWI临床应用进展.doc
- DVD在线租赁的优化模型.doc
- d体非晶复合材料压缩变形的有限元分析.pdf
- d溷凝土梁弯曲抗裂性能研究Ⅰ基本理论.pdf
- d样法分析FRP筋溷凝土梁受弯承载力可靠度.pdf
- 2025年盐城工业职业技术学院高职单招职业技能测试近5年常考版参考题库含答案解析.docx
- 2025至2031年中国无框镜架行业投资前景及策略咨询研究报告.docx
- 2025年盐城幼儿师范高等专科学校高职单招职业适应性测试近5年常考版参考题库含答案解析.docx
- 2025至2031年中国无纺布白胶浆行业投资前景及策略咨询研究报告.docx
- 2025至2031年中国日用保健梳行业投资前景及策略咨询研究报告.docx
- 2025年益阳职业技术学院高职单招职业适应性测试近5年常考版参考题库含答案解析.docx
- 10以内连加减口算练习题4000题 每页80题 (107).docx
- 2025至2031年中国普通型空气自动送料机行业投资前景及策略咨询研究报告.docx
- 2025至2031年中国显卡标牌行业投资前景及策略咨询研究报告.docx
- 2025年盐城工业职业技术学院高职单招语文2018-2024历年参考题库频考点含答案解析.docx
文档评论(0)