<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計(jì)應(yīng)用 > LABVIEW編程技巧——如何比較系統(tǒng)時間

          LABVIEW編程技巧——如何比較系統(tǒng)時間

          作者: 時間:2017-02-27 來源:網(wǎng)絡(luò) 收藏

            如何比較當(dāng)前時間是否在22:00:00和05:00:00之間?從字面上看05:00:00應(yīng)該是第二天凌晨。有人的比較方法是把時間上下限和當(dāng)前時間轉(zhuǎn)換為字符串,然后進(jìn)行比較,下面是他的程序框圖,因?yàn)樵谶壿嬌洗嬖趩栴},所以引起了熱烈的討論。

            獲取系統(tǒng)時間使得時間在22:00:00之后到5:00:00之前燈亮,但是其他時間都對的,為什么在0:00:00~2:00:00之間就不對呢?

            似乎是4:59:59那里的冒號是使用了中文輸入法的冒號,而那個節(jié)點(diǎn)輸出的時候是使用英文輸入法下的冒號的,所以比較時就出錯了。

            不是的,那個只要時間小于2比如說1:10:50,因?yàn)樗牡谝粋€數(shù)字比2小,輸出就不對

            后面還有一些相關(guān)的回復(fù)就不摘錄了,討論到后來一位朋友提出了意見“感覺這個思路不是很好”

            我個人認(rèn)為這位朋友的看法是對的,我們知道字符串是逐個字符比較的,它實(shí)際上比較的是字符的ASCII值?!?”和“22”進(jìn)行字符串比較,那么5>22,因?yàn)?>2,這對數(shù)字比較來說是不符合邏輯的。

            Labview中的時間本身是數(shù)值,任何編程語言都會定義一個0時刻,當(dāng)前時間為從那個0時刻開始后經(jīng)過的秒數(shù)。LV作為面向工程實(shí)踐的編程語言,有關(guān)時間操作函數(shù)非常豐富,因此使用“數(shù)值”比較更容易理解、不容易發(fā)生錯誤。

            我們知道,目前LV有三種不同的方式表示時間,三者之間可以自由轉(zhuǎn)換:

            1、直接利用秒,自0時刻開始經(jīng)歷過的秒數(shù)。

            上圖所示的就是LabVIEW定義的0時刻時間,這個時間是時區(qū)相關(guān)的。

            2、時間標(biāo)識符,時間標(biāo)識符可能是在LV8.0之后才出現(xiàn)的,是LV專門為時間操作提供的新的控件,如上圖所示。其時間精度比直接使用秒數(shù)要高。

            3、時間簇表示。時間簇表示是我們最為常用的時間表示法,簇的數(shù)據(jù)結(jié)構(gòu)如下圖所示:

            回過頭來看看大家所提的問題,他的目的是要看看當(dāng)前系統(tǒng)時間是否在上上下限范圍之內(nèi)。當(dāng)前系統(tǒng)時間很容易獲得,問題是如何獲取上下限的問題??纯聪旅娴某绦蚩驁D。

            上面的程序框圖中,有兩個重要的技巧,如紅色箭頭所示。

            1、年、月、日、小時可以是相對時間,沒有限制,我們不用考慮24小時,31天等等,LV會自動進(jìn)行轉(zhuǎn)換。上圖中22+7=29,超過24小時后,LV自動調(diào)整天數(shù)。

            2、判斷范圍并強(qiáng)制轉(zhuǎn)換函數(shù)可以直接使用時間標(biāo)識符作為輸入?yún)?shù)。

            我們知道,時間標(biāo)識符可以直接轉(zhuǎn)換為秒數(shù),更為重要的是時間標(biāo)識符可以直接和數(shù)值進(jìn)行加減運(yùn)算,沒有數(shù)值單位時默認(rèn)為秒,因此上面的程序框圖可以簡化為:

            我曾經(jīng)介紹過時間標(biāo)識符可以直接攜帶單位進(jìn)行加減運(yùn)算,因此上述程序框圖可以簡化為:

            注意紅色箭頭部分,h表示小時,這樣就不需要乘以3600,轉(zhuǎn)換為秒了,對于時間比較非常方便。



          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();