Write To Measurement File Express VI
寫入 TDM 或 TDMS 檔案的最簡單方法是使用 File I/O 面板中的 Write To Measurement File Express VI。 VI 所需的唯一輸入是 DAQmx Task 或您正在寫入磁碟的訊號,如圖2所示。
圖2 。您可以將資料直接連接到 Write to Measurement File Express VI。
在 Write to Measurement File Express VI 的配置對話框中,您可以選擇寫入 TDM 或 TDMS 檔案。另外,您可以使用配置對話框向檔案添加屬性,例如您的自定義屬性或從 DAQmx Task 定義的屬性,如圖3所示。
圖3.選擇要寫入 TDM 或 TDMS 檔案後,還可以在配置對話框中配置用戶定義的屬性。
寫入 Write to Measurement File Express VI 是開始將資料寫入 TDM 和 TDMS 檔案的最簡單方法。但是,您在寫入資料的結構上幾乎沒有靈活性。為了實現 TDM 資料模型的全部優點並編寫組織良好且記錄良好的資料,您需要使用 data storage VIs 和/或 TDM Streaming API。
Data Storage VIs
使用 data storage VIs,您可以將資料寫入 TDM 或 TDMS 檔案。用 LabVIEW data storage VIs 寫入測量資料的最簡單形式如圖4所示,其中 data acquisition task 為 Write Data VI 生成一系列測量值。
圖4. Data storage VIs 在 channel level 記錄資料。
注意, Write Data VI 除訊號輸入外,還有兩個輸入:Name 和 Unit。通過雙擊 Write Data VI,可以選擇要通過配置對話框保存的其他訊息,類似於 Write to Measurement File Express VI 的過程。
在圖4中,所有來自 DAQ Assistant 的通道均具有相同的名稱和單位。但是,Data storage VIs 會枚舉通道名稱,以防止命名衝突。可以通過將通道名稱數組傳遞給名稱輸入或為每個通道使用單獨的 Write Data VI 來覆蓋自動枚舉,這兩種方法都是可以接受的解決方案。 Write Data VI 的另一個好處是,它可以自動計算每個測量陣列的最小值和最大值,並將其保存在 TDM 或 TDMS 文件中。
圖4概述了 Data storage VIs 如何在 channel level 記錄資料。圖5說明了如何使用 Set Properties VI 在 file level 保存更多描述性訊息。
圖5 。使用設置屬性VI可以在文件級保存其他描述性信息。
圖6說明了使用 Data storage VIs 讀取數據的最簡單形式。此處,Open Storage VI 將檔案引用 (reference) 傳遞至 Read Data VI ,然後將所有數據從 TDM 或 TDMS 檔案讀取到存儲器中,並顯示在波形圖上。
圖6. Open Storage VI 將檔案引用傳遞給 Read Data VI,然後將所有資料從 TDM 或 TDMS 檔案讀取到存儲器中,並顯示在波形圖上。
TDM Streaming API
儘管 Data storage VIs 易於使用且具有靈活性,但在將資料寫入磁碟時,它們表現出的性能與使用 TDM Streaming API 所獲得的性能不同。 TDM Streaming API 旨在以較小的磁碟佔用空間高速將資料流傳輸到磁碟,這就是為什麼它也是理想的在 Real-Time 系統上寫入資料的原因。
使用 TDM Streaming VI 寫入測量數據的最簡單形式如圖7所示。在本範例中,DAQ Assistant 生成測量值數組並將其傳遞給Write Data VI。
圖7 。在 Channel Level 將數據寫入 TDMS 文件。
注意,Write Data VI 除了訊號輸入外還有兩個輸入。在圖7中,所有來自 DAQ Assistant 的通道都具有相同的 Group 和 Channel Name。如果Group 和 Channel Name 輸入未連接,則預設為“untitled”。
圖8顯示了使用 TDM Streaming VI 讀取數據的最簡單形式。在此,TDMS Open File VI 將檔案引用傳遞給 TDMS Read File VI,然後將“ Main Group”組中的所有資料從 TDMS 檔案讀取到存儲器中,並顯示在波形圖上。
圖8.從 TDMS 檔案讀回資料。
寫入某些資料類型時,TDMS 資料模型會自動創建某些屬性。但是,在許多情況下,您可能想要創建一個特定於您的特定需求的屬性,例如被測設備,序列號和測試溫度。您可以使用 TDMS Set Properties VI 來實現此目的,使用它可以在文件(File),組 (Group) 或通道級別 (Channel Level) 寫入屬性,如圖9所示。
圖9.在將資料寫入檔案之前,在三個不同的級別上編寫自定義屬性。
LabWindows 商標已獲得 Microsoft Corporation 的許可使用。 Windows 是 Microsoft Corporation 在美國和其他國家(地區)的註冊商標。