第四章:COMTRADE 資料檔案

serene1312發表於2024-09-27

第四章:COMTRADE 資料檔案

推薦一款 COMTRADE 錄波檔案 | 視覺化工具 | 電能質量檢視軟體
官網地址:COMTRADE Chart

概述

資料檔案包含的資料值是按比例縮放來表示的取樣值。資料應嚴格按照配置檔案中定義的格式存放,以便於計算機程式讀取。配置檔案中資料檔案型別(ft)域說明檔案的型別。二進位制資料檔案型別ft應設定為 binary,binary32 或 float32。ASCII資料檔案型別 ft應設定為ASCII。

內容

資料檔案中的每次取樣都包含著取樣序號、時標和每個通道的資料值。在ASCII資料檔案中,用逗號將一次取樣中各通道的資料分隔開,一般稱為“逗號分隔符”。連續多個取樣,在前一取樣的最後一個通道資料值與下一個取樣的取樣序號之間用(CR/LF)分隔。在binary、binary32、float32檔案中,一次取樣的每個通道資料之間或在連續取樣週期之間沒有分隔符。資料檔案中不包含其他資訊。

資料檔名稱

資料檔名具有.DAT副檔名,區分同一檔案集的標頭檔案、配置檔案和資訊檔案,遵循慣例,易於記憶和識別。為關聯標頭檔案、配置檔案、資料檔案和資訊檔案,這些檔案採用相同名稱。

為便於儲存和交換,需根據資料檔案的大小選擇恰當的儲存介質。若資料檔案較大,強烈建議採用binary,binary32 或 float32格式儲存。

ASCII資料檔案格式

ASCII資料檔案分為行和列。資料行的數量隨記錄的長度而變化,影響檔案的長度。每一行分為TT+2列,其中TT是記錄中模擬通道和狀態通道的總數,另外兩列是取樣序號和時標。列的數量取決於記錄系統,也影響檔案長度。ASCI資料檔案所規定的域長度是最大值,而不是固定長度。包括符號在內的所有數字字元總長不應超過域長限制。

  • 第一列是取樣序號;
  • 第二列是對應於取樣序號的取樣時標;
  • 第三大列表示模擬資訊的資料;
  • 第四大列表示狀態通道的資料;
  • 下一行以新取樣序號開始,其後是該次取樣的資料;
  • ASCI資料檔案中“檔案結束(EOF)標誌(十六進位制數“1A”),應隨檔案的最後資料行的“回車/換行”(<CR/LF>)之後。

每個資料取樣記錄應包含著排列如下的整數:

n,timestamp,A1,A2,...Ak,D1,D2,...Dm<CR/LF>

其中:

n

取樣序號,必選,整數,數字,最小長度=1個字元,最大長度=10個字元,最小值=1,最大值=9999999999。

timestamp

時標,若.CFG檔案中的nrates和samp變數非零,則為可選,若.CFG檔案中的nrates和samp為零,則為必選。整數,數字,最小長度=1個字元,最大長度=13個字元,根據.CFG中日期/時標的定義,時間的基本單位是微秒或納秒。資料檔案中,從第一個取樣資料至任意一個取樣資料經過的時間是該資料時標與配置檔案中時標倍率因子(timestamp*timemult)的乘積。當nrates、samp、 timestamp資訊都可用時,採用 nrates 和 samp可獲得更為精確的時間。

A,...Ak

模擬通道資料值,以逗號分隔。可選,數字(整數或實數),最小長度=1個字元,最大長度=13個字元,最小值=-3.4028235E38,最大值=3.4028235E38。缺失的模擬資料應以緊隨的分隔符表示,之間無空格(空域)。

D1,...Dm

狀態通道資料值,以逗號分隔。可選,整數,數字,最小長度=1個字元,最大長度=1個字元,取值僅0或1有效。對標識丟失的狀態資料未作規定,在此情況下,該域應設為“1”或“0”。取樣中的最後一個資料值應以“回車/換行”(<CR/LF>)結束。

ASCII資料取樣示例

下面給出了本部分所規定的資料取樣的示例。它有6個模擬值和6個狀態值。

5,667,-760,1274,72,61,-140,-502,0,0,0,0,1,1<CR/LF>

二進位制資料檔案

binary、binary32、float32型資料檔案採用與ASCII資料檔案相同的基本結構,但狀態通道資料按下述方法壓縮。其格式是:取樣序號、時標、每個模擬通道的資料值、檔案中每個取樣的分組狀態通道資料。不使用資料分隔符,二進位制取樣記錄中的資料不用逗號隔開,取樣記錄的末尾不使用“回車”和“換行”符標註。二進位制資料檔案是二進位制資料的連續流。資料解釋由檔案中的順序位置確定,若任意一資料元素缺失或出錯,變數的序列也被破壞,檔案可能無法使用。在此情況下,對恢復未做規定。

資料用二進位制格式儲存,但為方便起見,其值用十六進位制表示。資料不按十六進位制數字的ASCII表示法儲存。當儲存一個二位元組(16位)的字時,該字的低位元組(LSB)先儲存,高位元組(MSB)後儲存。二位元組資料值“1234”將以“3412”格式儲存。在儲存一個四位元組(32位)的字時,該字的最低位元組(LSB)先被儲存,其次是次低位元組,然後是次高位元組,最後是最高位元組(MSB)。四位元組資料“12345678”將被以“78563412”格式儲存。一個位元組內的位的編號為0(最低位)至7(最高位)。

二進位制資料檔案中資料的順序為:

  • 取樣序號和時標。均以四位元組、無符號的二進位制格式儲存;
  • 模擬通道取樣資料以如下形式儲存:對於binary或binary32資料檔案是以2位元組或4位元組二
    進位制補碼形式儲存。資料0的每個位元組用十六進位制的00表示,—1的每個位元組用十六進位制的FF表示,最大正值最高位為0,其餘位為1,最大負值儲存為最大正值的補碼。對於float32資料檔案,資料遵循IEEE754—2008。保留binary、binary32、float32的最大負值表示缺失的 資料;
  • binary、 binary32、 float32格式的資料檔案中,每16個狀態通道以兩位元組一組存偖,字的最低位對應該組16個狀態通道中最小編號通道。這樣,狀態字1(S1)的位0是數字輸入編號1的狀態。狀態字2(S2)的位1是數字輸入編號18的狀態。缺失狀態資料的標誌未做規定,但是,為保持字的完整性,缺失狀態應以“1”或“0”填充。

檔案長度將隨檔案中通道數量和取樣數量而變化。檔案中每次取樣要求的位元組數量為:

(Ak * N)+(2 * INT(D_m/16))+4+4

其中:

Ak

模擬通道數。

N

每個取樣資料佔據位元組數(binary佔2位元組,binary32與float32佔4位元組)。

Dm

狀態通道數。

INT(Dm/16)

狀態通道數除以16後,按進1法取整。

4+4

取樣序號和時標各佔4個位元組。

每個資料取樣記錄應由如下排列的資料組成:

n timestamp A1 A2......Ak S1 S2......Sm

其中:

n

取樣序號,必選,整數,數字,最小長度=4位元組,最大長度=4位元組,最小值=00000001(十六進位制),最大值=FFFFFFFF。

timestamp

時標,若.CFG檔案中的nrates和samp變數非零時,則可選。若.CFG檔案中的nrates和 samp變數為零時,則必選。最小長度=4位元組,最大長度=4位元組,最小值=00000000(十六進位制),最大值=FFFFFFFF。缺失的時間標記值須以數值FFFFFFFF代替,以維持檔案結構完整性。根據.CFG檔案中日期/時標的定義,時間的基本單位是微秒或納秒。資料檔案中,從第一個取樣資料至任意一個取樣資料經過的時間是該資料時標與配置檔案中時標倍率因子(timestamp*timemult)的乘積。當 nrates、samp、timestamp資訊都可用時,採用 nrates和 samp 可獲得更為精確的時間。

A1...Ak

模擬通道資料值。可選,數字(整數或實數),長度固定,binary佔2位元組,binary32或float32佔4位元組。缺失的模擬資料以相應的最大負值代替。

S1,...Sm

狀態通道資料值,以每16通道2位元組(16位)為單位,表示16個通道或少於16的通道。可選,無符號二進位制整數,最小長度=2個位元組,最大長度=2個位元組。最小值=0000,最大值=FFFF。對標識丟失的狀態資料未作規定,在此情況下,該域應設為“1”或“0”。

若狀態通道數不是16的整數倍,則高位的通道位應填充0。

例如:對於在8.5中ASCII資料檔案所示的一組6個狀態輸入(0,0,0,0,1,1)

  • 將這6個狀態輸入寫為二進位制數110000,ASCII檔案中靠前的通道佔二進位制數的低位;
  • 然後將該數擴為16位(0000000000110000);
  • 將其轉換為16進位制值(0030);
  • 該資料以LSB/MSB格式儲存(3000)。8.7二進位制資料取樣示例

下面給出了本部分所規定的資料取樣示例。它有6個模擬值和6個狀態值。它是二進位制的。

05 00 00 00 9B 02 00 00 08 FD FA 04 48 00 3D 00 74 FF 0A FE 30 00

版權宣告:本文為博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處連結和本宣告。
原文連結:https://blog.redisant.cn

相關文章