專利名稱:一種變頻器內部數據的壓縮方法
技術領域:
本發明屬于數據壓縮技術領域,尤其是涉及一種變頻器內部數據的壓縮方法。
背景技術:
目前常用的數據壓縮算法主要分為兩大類一類為無損壓縮算法,另一類為有損壓縮算法。其中有損壓縮算法主要用于圖像、動畫、音頻等多媒體信息,對于數據、波形等文件常采用無損壓縮算法。常見的無損壓縮算法主要有LZSS/LZW/LZ78/LZ77等幾種基本算法,LZ78/LZW這兩種算法的編碼方法較為復雜,實現起來較為困難,不適用于工業控制中的實時處理。LZ77的壓縮率相對較低,不能滿足目前變頻器的要求(變頻器需要記錄的數據大約為367K,需要在IOS之內將其全部處理完并存儲到SD卡中)。相對來說LZSS壓縮算法在單片機上實現較為理想,壓縮率高,編碼算法也較為簡單。但是由于應用環境不同,標準的LZSS壓縮算法在工業控制中無法直接應用。主要是由于工業控制中DSP主要功能為電機控制,標準的LZSS算法的字典采用自適應的方式,需要較大的RAM以及較多的CPU周期去統計和存儲采集的各個數據,然后統一處理。目前的變頻器絕大多數不具有自動故障錄波功能,在故障發生后無法對變頻器發生故障的準確原因進行判斷。只能人為地根據經驗去判斷故障發生時變頻器的一些狀態和各個點電流和電壓。目前風力發電機組必須具備低電壓穿越功能,且低電壓穿越過程中很多數據無法準確、實時地測量,給后期的優化帶來很多不便。目前低電壓穿越階段的數據采集基本上采用人為在相關測量點增加測試儀器的方法實現,在實際測量中,只能有針對性地采集一些數據,無法實現數據的全面采集,操作不方便。
發明內容
本發明要解決的問題是提供一種變頻器內部數據的壓縮方法,尤其適合用于風力發電用變頻器的故障錄波數據的壓縮以及低電壓穿越階段記錄數據的壓縮。為解決上述技術問題,本發明采用的技術方案是一種變頻器內部數據的壓縮方法,包括以下步驟( I)采集變頻器內部數據,所述變頻器正常工作時所采集到的所述內部數據為正常數據;(2)對于步驟(I)中所采集的所述內部數據的高八位數據,采用游程編碼的方式對各個通道的數據單獨編碼和壓縮,通過對所述游程編碼方式的優化,使其中每一個字符最高表示30個數據;對于步驟(I)中所采集的所述內部數據的低八位數據,采用Golomb編碼的方式,出現頻率高的所述低八位數據用短碼字表示,出現頻率低的所述低八位數據用長碼字表示;對步驟(I)中采集到的所有所述低八位數據的壓縮后數據包的大小進行統計,將所述數據包的大小與壓縮前所述所有低八位數據的總大小進行比較并得出比較結果,根據所述比較結果執行壓縮動作。進一步,步驟(2)中所述的游程編碼的方式具體為所述正常數據的高八位數據包括0x00、0x01、0x02、0x03、0xfT、0xfe、0xfd和Oxfc八種,每種所述正常數據的高八位數據及其出現的次數占用I個字節,半個周期的所述正常數據的高八位數據壓縮成8個字節;如果步驟(I)中所采集的所述內部數據的高八位數據連續出現的次數大于31,則對第31次出現的數據及其之后出現的數據重新記錄;如果步驟(I)中所采集的所述內部數據的高八位數據在所述0x00、0x01、0x02、0x03、0xff、0xfe、0xfd和Oxfc八種數據的范圍之外,貝U在第一個8位字節記錄一個識別碼,第二個8位字節記錄所述識別碼的大小,第三個8位字節記錄所述識別碼出現的次數。進一步,若所述數據包的大小小于或等于壓縮前所述所有低八位數據總大小的90%,則進行數據壓縮,若所述數據包的大小大于壓縮前所述所有低八位數據總大小的90%,則不進行數據壓縮。本發明具有的優點和積極效果是采用上述技術方案,能夠自動壓縮記錄故障發生前、低電壓穿越過程中變頻器內部的數據;壓縮后的數據可以減少到原數據的1/3左右,壓縮時間在5s內即可完成所有數據的壓縮和存儲,且不影響變頻器的正常運行,能夠實時、高效地將采集到的數據進行壓縮;后期分析時,便于將壓縮的數據無損解壓成原始信號。
具體實施例方式本發明提供一種變頻器內部數據的壓縮方法,包括以下步驟(I)采集變頻器內部數據,所述變頻器正常工作時所采集到的所述內部數據為正常數據;(2)對于步驟(I)中所采集數據的高八位數據,采用游程編碼的方式對各個通道的數據單獨編碼和壓縮,通過對所述游程編碼方式的優化,使其中每一個字符最高可以表示30個數據;所述游程編碼方式具體為變頻器正常工作時,電網電壓、網側電流和轉子側電流數據都小于1023,即正常數據的高八位數據為0x00、0x01、0x02、0x03、0xff、0xfe、0xfd和Oxfc八種。上述波形都為正弦波,則所有的數據基本上為連續出現,即正常數據的高八位一次出現的順序為0x00、0x01、0x02、0x03、0xff、0xfe、0xfd、0xfc。每種數及其出現的次數占用I個字節,半個周期的數據的高8位可壓縮成8個字
節,格式為
Bit-7 Bit-6Bit-5 Bit-4 Bit-3 Bit-2 Bit-1 Bit-O
數據識別碼連續出現的次數正常數據的高八位數據識別碼的格式為
權利要求
1.一種變頻器內部數據的壓縮方法,其特征在于包括以下步驟(1)采集變頻器內部數據,所述變頻器正常工作時所采集到的所述內部數據為正常數據;(2)對于步驟(I)中所采集的所述內部數據的高八位數據,采用游程編碼的方式對各個通道的數據單獨編碼和壓縮,通過對所述游程編碼方式的優化,使其中每一個字符最高表示30個數據;對于步驟(I)中所采集的所述內部數據的低八位數據,采用Golomb編碼的方式,出現頻率高的所述低八位數據用短碼字表示,出現頻率低的所述低八位數據用長碼字表示;對步驟(I)中采集到的所有所述低八位數據的壓縮后數據包的大小進行統計,將所述數據包的大小與壓縮前所述所有低八位數據的總大小進行比較并得出比較結果,根據所述比較結果執行壓縮動作。
2.根據權利要求1所述的壓縮方法,其特征在于,步驟(2)中所述的游程編碼的方式具體為所述正常數據的高八位數據包括0x00、0x01、0x02、0x03、0xff、0xfe、0xfd和Oxfc八種,每種所述正常數據的高八位數據及其出現的次數占用I個字節,半個周期的所述正常數據的高八位數據壓縮成8個字節;如果步驟(I)中所采集的所述內部數據的高八位數據連續出現的次數大于31,則對第31次出現的數據及其之后出現的數據重新記錄;如果步驟(I)中所采集的所述內部數據的高八位數據在所述0x00、0x01、0x02、0x03、0xff、0xfe、0xfd和Oxfc八種數據的范圍之外,貝U在第一個8位字節記錄一個識別碼,第二個8位字節記錄所述識別碼的大小,第三個8位字節記錄所述識別碼出現的次數。
3.根據權利要求1所述的壓縮方法,其特征在于若所述數據包的大小小于或等于壓縮前所述所有低八位數據總大小的90%,則進行數據壓縮,若所述數據包的大小大于壓縮前所述所有低八位數據總大小的90%,則不進行數據壓縮。
全文摘要
本發明提供一種變頻器內部數據的壓縮方法,包括以下步驟(1)采集變頻器內部數據;(2)對于所采集內部數據的高八位數據,采用游程編碼的方式對各個通道的數據單獨編碼和壓縮,通過對游程編碼方式的優化,使其中每一個字符最高表示30個數據;對于步驟(1)中所采集的內部數據的低八位數據,采用Golomb編碼的方式,出現頻率高的低八位數據用短碼字表示,出現頻率低的低八位數據用長碼字表示;對步驟(1)中采集到的所有低八位數據的壓縮后數據包的大小進行統計,將數據包的大小與壓縮前所有低八位數據的總大小進行比較并得出比較結果,根據比較結果執行壓縮動作。本發明能夠實現對變頻器內部數據的實時、高效、準確的無損自動壓縮。
文檔編號H03M7/30GK103036575SQ20121054324
公開日2013年4月10日 申請日期2012年12月14日 優先權日2012年12月14日
發明者趙耀, 周玲玲, 谷興華 申請人:天津瑞能電氣有限公司