无码人妻精品一区二区三区9厂-国产精品人人做人人爽人人添-在线永久免费观看黄网站-国产精品久久久久一区二区三区

首頁 新聞 工控搜 論壇 廠商論壇 產品 方案 廠商 人才 文摘 下載 展覽
中華工控網首頁
  P L C | 變頻器與傳動 | 傳感器 | 現場檢測儀表 | 工控軟件 | 人機界面 | 運動控制
  D C S | 工業以太網 | 現場總線 | 顯示調節儀表 | 數據采集 | 數傳測控 | 工業安全
  電 源 | 嵌入式系統 | PC based | 機柜箱體殼體 | 低壓電器 | 機器視覺
紫金橋實時數據庫歷史值操作
收藏本文     查看收藏

    在工業控制中,常常要從一些數據的歷史趨勢中分析問題和發現問題。紫金橋實時數據庫支持歷史數據的快速保存和檢索,可以按照一定的條件把數據保存到歷史庫中,用戶需要時可隨時訪問。

歷史數據一般是點的某個參數在過去某一時刻的瞬時值,是與時間有關的數據,每一個歷史數據記錄上都有一個時間戳,記錄歷史數據的采樣時間。位號是否保存歷史數據,歷史數據的保存條件都由用戶進行數據組態時決定。實時數據庫按照用戶指定的采樣條件在庫中進行采樣,如果采樣的條件滿足,就將采樣數據加上時間戳,記入歷史庫中。 

歷史數據庫是磁盤文件,為了防止頻繁的寫磁盤,紫金橋實時數據庫在內存中開辟了歷史數據緩沖區。歷史數據從實時數據庫中采集以后,首先放在內存緩沖區中,當存盤時間到達或緩沖區已滿時一次性的寫入磁盤歷史庫文件。用戶訪問歷史數據時,系統首先檢查歷史數據緩沖區中是否有用戶需要的歷史數據,如果沒有然后在檢查歷史數據庫文件中是否有用戶需要的歷史數據。歷史數據緩沖區的設立大大加快了歷史數據的存取速度。 

紫金橋歷史數據庫具有如下特點: 

紫金橋實時數據庫能夠將任何點的任何參數存盤。 

無論數據來源于現場設備、人工錄入數據、還是計算結果都能存入歷史數據庫。 

具有先進的數據壓縮算法,能夠充分利用有限的盤空間存儲長期的歷史數據 

具有歷史插值功能。

對于某些特定的應用,需要修改歷史數據,紫金橋實時數據庫沒有提供相關修改歷史數據的方法,但通過上述的歷史插值功能,可以完成歷史數據修改的目的。下面通過一個簡單的示例,介紹下歷史數據的修改。

在工程中新建一個窗口,添加如下組件:

為了能用腳本調用各組件的功能,將各組件命名為:

組件

名稱

取歷史組件

His

左側下拉框

tagSel

起始時間

BegTime

時間范圍

TimeLen

左側報表

list

右側下拉框

tagSel2

右側報表

newList

設計思路

1.查詢:通過下拉框選擇要修改的數據庫點,點擊查詢按鈕時,用起始時間和結束時間組件的設置,通過取取歷史組件查詢該段時間范圍內的歷史數據,然后將數據顯示在報表中。點擊導出到Excel按鈕,將報表中的數據(包括時間和數值)導出至Excel中。

2.修改:利用Excel打開保存的文件,修改數據。

3.插值:選擇對應的數據庫點,點擊選擇Excel文件按鈕,加載Excel修改后的文件,將數據顯示在報表中,點擊插入歷史數據庫按鈕,完成歷史數據的插入。

實現方法:

1.將要修改的點在添加至下拉框中。

2.在查詢按鈕中添加自定義動作,如下:

string strCurTag = #tagSel.GetCurItemText();

strCurTag = StrTrimLeft(strCurTag);

strCurTag = StrTrimRight(strCurTag);

if StrInStr(StrLower(strCurTag),".pv",0) < 0 then

strCurTag = strCurTag+".pv";

endif

#his.FindHisEx(strCurTag,#BegTime.Time,#TimeLen.Time);    //利用取歷史組件的FindHisEx函數,查詢某一數據庫點在指定時間范圍內的歷史數據。

3.將取歷史組件中的數據導出至報表中,設置取歷史組件的數據刷新動作為:

//調整報表的顯示行數,如果不足20行,則顯示20行,大于則顯示實際的行數

#list.DeleteRow(21,#list.RowCount());

int nListCnt = #list.RowCount();

int nDataCnt = #his.GetDataCount();

#list.ClearRowData(1,nListCnt);

if nDataCnt > nListCnt then

#list.AddRow(nDataCnt-nlistCnt);

Endif

//通過for循環將數據添加至報表中

int i=0;

int nTime = 0;

int nMS = 0;

real rData = 0;

for i=1 to nDataCnt+1

nTime = #his.GetDataTime(i);

#list.SetVal(1,i,nTime);

nMs = #his.GetDataMS(i);

#list.SetVal(2,i,nMs);

rData = #his.GetData(i);

#list.SetVal(3,i,rData);

Next

4.導出Excel按鈕腳本,如下:

#list.SaveAsEx("",0);

利用報表的SaveAsEx函數實現報表數據導出Exce文件功能。

5.選擇Exce按鈕腳本,如下:

#newList.LoadAsEx("",0);

6.插入歷史數據庫腳本,如下:

int nCnt = #hisList.RowCount();

int i=0;

string strCurTag = #tagSel2.GetCurItemText();

strCurTag = StrTrimLeft(strCurTag);

strCurTag = StrTrimRight(strCurTag);

if StrInStr(StrLower(strCurTag),".pv",0) < 0 then

strCurTag = strCurTag+".pv";

endif

for i=1 to nCnt+1

InsertHisDataEx("",strCurTag,#hisList.Val(3,i),#hisList.Val(1,i),#hisList.Val(2,i));

Next

利用InsertHisDataEx函數,實現歷史數據的插值,如果該時間戳已經存在,數據庫自動替換該值。

總結:利用該功能可以方便的完成歷史數據的修改,紫金橋實時數據庫對歷史數據的操作提供了靈活的操作手段。歷史數據保存對數據完整性和數據的壓縮比上有較好的兼顧平衡,數據保存結構先進合理,使得在檢索有較高的效率,系統提供多種數據查詢手段,包括單點數據查詢,批量數據查詢,指定時間格式查詢、任意時間段數據查詢等都有對應的組件。歷史數據的處理是實時數據庫的重要性能指標,紫金橋實時數據庫有著獨到的優勢。


 

狀 態: 離線

公司簡介
產品目錄
供應信息

公司名稱: 紫金橋軟件技術有限公司
聯 系 人: 李磊
電  話: 0459-8151391-808
傳  真: 0459-8151391-804
地  址: 大慶市高新區服務外包產業園C-1座817室
郵  編: 163316
主  頁:
 
該廠商相關解決方案:
跨平臺實時數據庫歷史回放功能介紹
跨平臺實時數據庫如何實現表格的保存和讀取
跨平臺實時數據庫腳本系統介紹
基于紫金橋實時數據庫實現焦化廠生產能源調度信息管理系統
紫金橋聲音報警實現的幾種方式
基于紫金橋監控組態軟件的天然氣計量系統
基于紫金橋軟件抄表系統解決方案
火狐瀏覽器紫金橋軟件Web發布(open in ie方式)
紫金橋軟件在供水泵站遠程監控系統中的應用
基于紫金橋實時數據庫實現焦化廠生產能源調度信息管理系統
紫金橋組態軟件在除塵控制系統中的應用
紫金橋軟件在水文監測系統中的應用
更多方案...
立即發送詢問信息在線聯系該解決方案廠商:
用戶名: 密碼: 免費注冊為中華工控網會員
請留下您的有效聯系方式,以方便我們及時與您聯絡

關于我們 | 聯系我們 | 廣告服務 | 本站動態 | 友情鏈接 | 法律聲明 | 不良信息舉報
工控網客服熱線:0755-86369299
版權所有 中華工控網 Copyright©2022 Gkong.com, All Rights Reserved