LabVIEW深入探索之絕對(duì)時(shí)間、通用時(shí)間和相對(duì)時(shí)間
作為一種面向工程應(yīng)用的編程語言,Labview提供了非常豐富的時(shí)間操作函數(shù)。8.X后又提出了新的有關(guān)時(shí)間的數(shù)據(jù)類型,時(shí)間標(biāo)識(shí)(TIMESTAMP)。時(shí)間標(biāo)識(shí)早期通常翻譯成“時(shí)間戳”,實(shí)際上是一種改進(jìn)型的數(shù)值控件,從時(shí)間標(biāo)識(shí)控件所在的控件選板就可以初步判斷出,時(shí)間標(biāo)識(shí)就是特殊的數(shù)值控件。
一、時(shí)間標(biāo)識(shí)的內(nèi)存映射
要想真正了解一種數(shù)據(jù)類型,首要的問題是要搞清楚該數(shù)據(jù)類型在內(nèi)存中或者文件中是如何存儲(chǔ)的。我們知道數(shù)值型控件可以選擇控件所包含的數(shù)據(jù)類型,比如雙精度浮點(diǎn)數(shù)、整型數(shù)、32位整型數(shù)、16位整型數(shù)等等。
時(shí)間標(biāo)識(shí)控件是不允許選擇它所包含的數(shù)據(jù)類型的,這說明時(shí)間標(biāo)識(shí)所包含的數(shù)據(jù)類型是固定的。從幫助文件中,我們可以找到時(shí)間標(biāo)識(shí)在內(nèi)存中的存儲(chǔ)方式--映射。
LabVIEW將時(shí)間標(biāo)識(shí)保存為一個(gè)含四個(gè)整數(shù)的簇,其中前兩個(gè)帶符號(hào)整數(shù)(64位二進(jìn)制)表示自1904年1月1日周五凌晨[01-01-190400:00:00]以來無時(shí)區(qū)影響的所有秒數(shù)。后兩個(gè)不帶符號(hào)整數(shù)(64位二進(jìn)制)表示小數(shù)秒部分。
LabVIEW利用16個(gè)字節(jié)(128位)表示時(shí)間信息,其中前8個(gè)字節(jié)(64位)由兩個(gè)I32構(gòu)成,表示從0時(shí)刻開始經(jīng)歷過的秒數(shù)。后面8個(gè)字節(jié)為U64數(shù)據(jù),表示秒的小數(shù)部分。
二、時(shí)間標(biāo)識(shí)與雙精度數(shù)之間的相互轉(zhuǎn)換
在時(shí)間標(biāo)識(shí)出現(xiàn)以前,經(jīng)常用雙精度數(shù)表示從0時(shí)刻經(jīng)歷過的秒數(shù)。我們知道雙精度數(shù)所占的內(nèi)存空間也是8個(gè)字節(jié),與時(shí)間標(biāo)識(shí)相同。但是時(shí)間標(biāo)識(shí)實(shí)際上是定點(diǎn)數(shù),它的小數(shù)點(diǎn)位置是確定的,因此實(shí)際上雙精度數(shù)表示時(shí)間與時(shí)間標(biāo)識(shí)相比,不如時(shí)間標(biāo)識(shí)精確。
采用數(shù)值轉(zhuǎn)換函數(shù)就可以實(shí)現(xiàn)時(shí)間標(biāo)識(shí)和雙精度數(shù)之間的相互轉(zhuǎn)換,如下圖所示:
三、強(qiáng)制轉(zhuǎn)換時(shí)間標(biāo)識(shí)至數(shù)值
既然我們已經(jīng)知道了時(shí)間標(biāo)識(shí)在內(nèi)存中的存儲(chǔ)方式,我們自然就可以通過強(qiáng)制轉(zhuǎn)換函數(shù)分解出時(shí)間標(biāo)識(shí)的兩個(gè)組成部分,秒和秒的小數(shù)部分。
因?yàn)闀r(shí)間標(biāo)識(shí)占有8個(gè)字節(jié)的內(nèi)存空間,并分成前后各4個(gè)字節(jié),因此可以創(chuàng)建一個(gè)簇或者數(shù)組來表示它,下面的例子創(chuàng)建一個(gè)簇,包含3個(gè)元素。前兩個(gè)元素表示秒的整數(shù)部分,第3個(gè)元素表示秒的小數(shù)部分。
相關(guān)推薦
技術(shù)專區(qū)
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機(jī)
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線
- 開關(guān)電源
- 單片機(jī)
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩(wěn)壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機(jī)控制
- 藍(lán)牙
- PLC
- PWM
- 汽車電子
- 轉(zhuǎn)換器
- 電源管理
- 信號(hào)放大器
評(píng)論