崑崙組態實時資料(四(3)

四、資料物件存檔

崑崙組態實時資料(四(3)

1、歷史資料存檔

McgsPro在執行過程中,根據設定週期或透過指令碼呼叫將指定資料的值寫入磁碟檔案進行儲存的過程,就是歷史資料存檔。

McgsPro 執行時會自動判斷TPC 產品型別,將歷史資料檔案儲存在TPC預設的儲存介質中。

McgsPro 有兩種歷史資料存檔方式:第一種方式是定時週期存檔,存檔週期大於 0 秒,按照設定的存檔週期迴圈存檔(組態配置方法參照章節4。3);第二種方式是觸發存檔,根據需要使用!SaveData或!SaveDataOnTime指令碼存檔(使用說明參照指令碼函式章節)。

歷史資料儲存只針對組物件有效,組物件成員的型別只能是整數、資料型和字串。

歷史資料儲存資料量計算方式:單個組物件最大可儲存資料量約2GB,100個整數成員的組物件約可儲存100萬條,100個浮點數成員的組物件約可儲存50萬條。

歷史資料存檔採用快取資料定時1分鐘刷盤方式將資料寫入儲存介質,掉電發生最多丟失1分鐘內的歷史資料;可呼叫刷盤指令碼函式!FreshDataSave立即刷盤,減少掉電丟失的資料量,但此指令碼函式頻繁呼叫時減少儲存介質使用壽命,請謹慎使用。

歷史資料檢視可使用存檔資料瀏覽構件或歷史曲線構件進行檢視,具體使用方法請參照構件說明。

歷史資料可使用指令碼函式!ExportHisDataToCSV匯出到隨身碟或使用者資料分割槽中,儲存為以逗號分隔的CSV格式的 檔案,可在PC上使用 Excel 軟體方便地檢視資料,該指令碼函式使用說明請參照指令碼函式章節。

歷史資料有三種方式刪除:

第一種是透過組態時設定刪除資料,如圖4。4-1組態設定。

第二種是執行過程中若磁碟剩餘可用空間不足10%或5M時會自動刪除最早的20%,一個組物件每次觸發最多刪除最早建立的50個檔案。若刪除後磁碟可用空間仍然不足10%或5M,則暫停歷史存檔服務,可呼叫指令碼函式!DelSaveDat和!DelAllSaveDat或透過其它方式手動清除歷史資料恢復存檔服務。

第三種是執行時呼叫指令碼函式!DelSaveDat和!DelAllSaveDat,使用方法參照指令碼函式說明章節。

崑崙組態實時資料(四(3)

圖4。4-1 下載時清除歷史資料

2、報警資料存檔

報警作為一種特殊的組物件儲存在磁碟上,在不計算報警註釋資訊長度的情況下可以儲存約10000條歷史報警資料。

每一條報警記錄包括當次報警產生、報警結束、報警應答的資訊。

報警存檔與歷史資料存檔機制相同,快取時間達到1分鐘才會自動刷盤,直接斷電最壞情況會丟失1分鐘內的報警資料,可在斷電前呼叫!FreshDataSave,防止呼叫之前的資料丟失。

報警資料刪除有兩種方法:

(1)組態工程時設定,清除報警資料

(2)資料報警資料超過1M時自動刪除最早約256K的報警資料

3、初值資料存檔

一般來說,工程啟動時,實時資料庫中資料物件的初始值是組態時設定的初始值。若想重啟後資料物件的值恢復為重啟前的值,就需要將資料物件的值先儲存起來,這就需要使用初值存檔功能。McgsPro是透過指令碼!SaveSingleDataInit實現儲存初值的功能,該指令碼將當前資料物件的值儲存在記憶體中,立即斷電重啟會導致儲存初值資料丟失,必須以指令碼!FlushDataInitValueToDisk將初始值儲存到磁碟檔案中,McgsPro 儲存初值的檔案大小為32K。McgsPro 執行時自動將初值檔案儲存在TPC預設的儲存介質中。

初值資料有兩種情況會刪除,第一種方法是組態時選擇刪除歷史資料時會同時刪除初值資料,另外一種方法是更新組態工程時新更新的組態工程中實時資料庫物件與原來的工程有變化。

初值存檔只支援整數、浮點數和字串,組物件存檔是依次對其的成員進行存檔。最多可以儲存4094個整數或2729個浮點數資料物件的初值。

4、存檔注意事項

存檔組物件過多、存檔組物件成員過多、存檔週期太小、刷盤週期太小、刷盤指令碼呼叫太頻繁都會影響系統性能,建議不超過 6 個存檔組物件,每個組物件不超過 36 個整數(浮點數)成員,定時存檔週期(存檔指令碼呼叫週期)大於等於 1 秒。

對於歷史資料而言,系統時間是一個關鍵的引數,很多關於歷史資料的操作都依賴系統時間,如果在儲存歷史資料或報警資料時,系統時間進行過回退式修改則會造成歷史資料操作混亂。

五、變數報警

1、名詞解釋

當前值:變數實時值

基準值:報警值計算時的標準引數值

報警值:當前值相對於基準值達到報警值時會觸發報警(此值部分報警有效)

觸發誤差值:觸發報警計算時相對於基準值的誤差值

解除誤差值:解除報警計算時相對於基準值的誤差值

2、狀態報警

3、位報警

4、限值報警

5、偏差報警

6、值報警

TAG: 存檔報警歷史資料資料指令碼