您的位置 首页 厂商

labview深化探究—-谈谈LABVIEW的几种定时器

LABVIEW提供了几种定时器(包括DELAY),如下图所示首先看看TickCount节点的帮助说明:返回毫秒定时器的值基准参考时间(0毫秒)未定义,也

LABVIEW供给了几种守时器(包含DELAY),如下图所示

首要看看Tick Count 节点的协助阐明:

回来毫秒守时器的值.

基准参阅时刻(0 毫秒)未定义,也便是说,不能把回来的毫秒数直接转换成实践国际的时刻和日期.有必要留意当你运用这个函数进行比较的时分,毫秒守时器到达2^32-1后反转成0.

基准参阅时刻未定义,说法比较含糊,莫非会是个随机数,那明显不或许,假如是随机数,那两次调用TICK COUNT获得差值就不或许表明通过的毫秒数.无论怎么,有必要有个时刻的起点.

API函数中也有一个相似的函数:GetTickCount,该函数回来计算机发动以来通过的毫秒数.在9X中,它读取的是BIOS中保存的体系时钟的滴答数,前期PC的ROM初始化Intel8259守时器芯片来发生硬件中止08H。这个中止有时称为”守时器滴答”中止。中止08H每隔54。925毫秒发生一次,或大约每秒18.2次。BIOS运用中止08H更新存于BIOS数据区的”时刻”值.这便是长说的55MS的由来.关于NT操作体系,惯例的说法是能准确到10MS,也便是说精度在1MS时是不准确的.

通过实践测验,LABVIEW的T%&&&&&%K COUNT的回来值和API的回来值是共同的,也便是计算机发动以来通过的毫秒数.

毫秒数到达2^32-1后反转成0,可见它的数值方式是U32,最大值是2^32-1,大约适当于49.7天.关于一个接连运转的计算机,用这个节点进行比较的时分,在接连运转49.7天后,该值主动康复到零,假如在这个时刻进行比较,或许会呈现过错的成果.

wait(ms)节点协助文件中的解说是这样的.

等候指定的毫秒数并回来毫秒守时器的值(上面说到的计算机发动以来的毫秒数).假如WAIT (MS)衔接0会逼迫当时线程抛弃操控权.

WAIT 0MS是一个适当重要的特色,适当于VB 的DOEVENTS,CVI中的PROCESSSYTEMEVENTS,实践是偿还操控权给操作体系,来处理行列中的其他音讯,假如没有音讯需求处理,体系立刻把操控权交给这个线程,持续运转.

这里有两种状况,假如体系音讯行列中无需求处理的音讯,当即回来,假如体系音讯行列中有音讯需求处理,并且是一个耗时操作,无法意料LV线程何时再次获得操控权.咱们比较LV是否加WAIT 0MS的速度.

试验过程中未履行其它任何操作,防止了处理其他音讯形成的影响.两者之间,距离是惊人的.这也表现了LABVIEW的一个长处,关于一个倾向于硬件操控的编程软件,它有着极强的使命抢先才能.

在一个循环里屡次并行履行WAIT,是累加时刻,仍是按最长的履行那,实践上是异步的仍是同步的问题.咱们做一下试验.

可见,这三个WAIT是一起履行的.

因为WAIT是根据线程的,一个循环里的WAIT不会影响一起运转的其它线程的运转.

看看WAIT UNTIL NEXT MS MULTIPULE(等候下一个毫秒的整数倍).

一向比及毫秒守时器变成指守时刻的整数倍.能够用于在一个循环中调理循环的履行速率.可是第一次的循环周期或许比较短.能够直接衔接0到这个节点,逼迫当时线程抛弃操控权,偿还给CPU.

比较WAIT MS,这个节点在循环中更为常用,关于几个选用相同参数的WAIT UNTIL NEXT MS MULTIPULE,能够完成不特别准确的同步.因为LABVIEW的循环的特色,初次是当即履行的,所以第一次是不能确保同步的.假如有必要要确保同步的话,能够在循环中第一次履行空循环来防止这个问题.

LABVIEEW EXPRESS中也供给了两个快速VI,一个适当于WAIT MS,另一个能够完成非常复杂的守时功用.

咱们先把TIME DELAY EXPRESS VI转换成惯例VI,盯梢一下它是怎么完成的.

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/211414.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部