• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于高級編程語言WINCC復(fù)雜報表管理的實現(xiàn)

      2011-06-13 00:35:28徐志杰
      綜合智慧能源 2011年11期
      關(guān)鍵詞:字符串數(shù)據(jù)源控件

      徐志杰

      (國電南自新能源科技有限公司,江蘇南京210032)

      0 引言

      WINCC(WindowsControlCenter)作為西門子公司開發(fā)的上位機組態(tài)軟件,功能強大、應(yīng)用靈活,為現(xiàn)場控制提供了一個高可靠性的監(jiān)控平臺,它廣泛應(yīng)用于工控領(lǐng)域,尤其在電力系統(tǒng)的輔機控制方面,有許多采用WINCC+S7300(或400)方案來實現(xiàn)穩(wěn)定可靠控制的成功案例。隨著WINCC多年應(yīng)用經(jīng)驗的積累,該版本進行了多次升級,WINCCV6.2 SP3由于具有智能新選件、可擴展菜單(工具欄)、報警可隱藏,自定義數(shù)據(jù)庫等諸多新特征,使其應(yīng)用越來越廣泛。WINCCV6.2的歸檔方式與以前的版本有所不同,它的運行數(shù)據(jù)存放在數(shù)據(jù)片段當(dāng)中。當(dāng)控制系統(tǒng)數(shù)據(jù)采集比較多時,需要對數(shù)據(jù)關(guān)系進行二次梳理,而WINCC自帶的報表編輯器有其局限性,用戶要實現(xiàn)復(fù)雜報表存在很大難度。針對上述情況,結(jié)合數(shù)據(jù)片段無法直接用高級編程語言VB(VisualBasic)讀取的問題,采用自定義數(shù)據(jù)庫來存放過程運行數(shù)據(jù),然后采用VB技巧通過字符串訪問方式讀取數(shù)據(jù),可實現(xiàn)分析處理及復(fù)雜報表的查詢打印等功能。

      1 WINCC軟件訪問數(shù)據(jù)庫的方式

      WINCC軟件幾乎集成了微軟所有開放性技術(shù),大量采用了標(biāo)準(zhǔn)化技術(shù)(OPC,DDE,ODBC,OLEDB,ActiveX等),可方便地與其他應(yīng)用程序交換數(shù)據(jù)。

      WINCC6.2軟件還提供C腳本和VBScript腳本語言支持,可通過連接字符串的方式實現(xiàn)數(shù)據(jù)庫的連接和操作。以某電廠減排控制系統(tǒng)的上位機監(jiān)控系統(tǒng)為例,實時數(shù)據(jù)直接采用WINCC歸檔數(shù)據(jù)通過WINCC控件進行調(diào)閱查詢。而過程運行特殊設(shè)置數(shù)據(jù)和歷史數(shù)據(jù)通過字符串連接方式訪問自定義數(shù)據(jù)庫來實現(xiàn)。

      2 WINCC訪問自定義數(shù)據(jù)庫

      2.1 建立自定義數(shù)據(jù)庫

      打開SQLServerManagementStudio,以Sa用戶登錄SQLServer數(shù)據(jù)庫,如圖1所示。在SQLServer數(shù)據(jù)庫中建立名為“userdata”數(shù)據(jù)庫和“process_value”數(shù)據(jù)表,如圖2所示。

      圖1 自定義數(shù)據(jù)庫連接

      2.2 與自定義數(shù)據(jù)庫進行連接并讀寫

      在WINCC軟件全局腳本建立一動作周期觸發(fā)執(zhí)行實現(xiàn)與自定義數(shù)據(jù)庫連接后把過程值寫入到自定義數(shù)據(jù)庫中,詳細(xì)情況見參考文獻(xiàn)[1]。具體實現(xiàn)代碼如下:

      圖2 自定義數(shù)據(jù)庫表

      通過以上代碼,每隔1min執(zhí)行一次寫入操作,將過程值寫入到自定義數(shù)據(jù)庫,便于下一步用VB編寫的程序進行讀取。

      3 基于高級編程語言的數(shù)據(jù)庫訪問

      3.1 VB連接數(shù)據(jù)庫的方法

      由于WINCC軟件提供了開放的標(biāo)準(zhǔn)數(shù)據(jù)訪問接口,VB可通過多種方式進行數(shù)據(jù)庫連接。

      方法1。建立ODBC數(shù)據(jù)源,通過ODBC數(shù)據(jù)源進行連接,該方法簡單易用,但需要在上位機上手動建立ODBC數(shù)據(jù)源。

      方法2。采用連接字符串方式進行連接,直接調(diào)用OLE-DB驅(qū)動,以字符串方式進行連接,該方法不需要手動建立連接數(shù)據(jù)源,便于在不同工程間進行程序的移植。

      本文考慮到程序的通用性和可移植性,采用了字符串連接方式實現(xiàn)VB與數(shù)據(jù)庫之間的連接,具體實現(xiàn)代碼如下:

      上面介紹了用VB和VBScript腳本分別操作SQL數(shù)據(jù)庫的方法,通過執(zhí)行SQL語言的insertinto或者update等命令(更多命令參見參考文獻(xiàn)[2])即可實現(xiàn)對數(shù)據(jù)庫的插入、更新等操作。

      3.2 通過Active控件實現(xiàn)靈活報表管理

      通過上面介紹的VB連接SQL數(shù)據(jù)庫的方法,從數(shù)據(jù)庫獲取數(shù)據(jù)后,可利用廣泛使用的第3方Active控件來實現(xiàn)靈活的報表查詢、打印、輸出。查詢數(shù)據(jù)源與控件的綁定方法如下:

      pri_title=Left(Now(),10)&"12月份運行記錄"

      sbStatusBar.Panels.Item(1).text=″當(dāng)前顯示的數(shù)據(jù)是:″&pri_title

      通過以上代碼就可實現(xiàn)控件與數(shù)據(jù)源的綁定,圖3為應(yīng)用于某電廠的煙塵減排控制系統(tǒng)數(shù)據(jù)管理界面。

      圖3 應(yīng)用實例

      3.3 WINCC軟件中調(diào)用外掛EXE文件

      將VB編寫的數(shù)據(jù)管理程序編譯成完整的EXE文件,然后在WINCC下通過以下C腳本來調(diào)用。

      通過以上介紹的方法和步驟即可實現(xiàn)WINCC下復(fù)雜報表管理功能。

      4 結(jié)論

      本文在應(yīng)用WINCC作為上位機監(jiān)控軟件開發(fā)平臺的工程中,由于WINCC系統(tǒng)自帶的報表功能所限,而過程數(shù)據(jù)又需要二次分析且要求實現(xiàn)復(fù)雜報表管理,通過本文描述的方法即可簡單方便地實現(xiàn)對WINCC軟件過程數(shù)據(jù)和需要特殊處理的數(shù)據(jù)的存取操作和數(shù)據(jù)管理。該方法充分利用了WINCC軟件的優(yōu)點,大大降低了操作人員使用監(jiān)控軟件的復(fù)雜性和難度。此外,在WINCC軟件中將過程數(shù)據(jù)存入自定義數(shù)據(jù)庫,為以B/S方式獲取數(shù)據(jù)預(yù)留了方便的接口,該方法具有較好的擴展性和可移植性。

      [1]蘇昆哲.深入淺出西門子WINCCV6[M].北京:北京航空航天大學(xué)出版社,2008.

      [2]“653”工程編委會.SQLServer2005實例教程M].北京:中國電力出版社,2008.

      猜你喜歡
      字符串數(shù)據(jù)源控件
      關(guān)于.net控件數(shù)組的探討
      軟件(2018年7期)2018-08-13 09:44:42
      Web 大數(shù)據(jù)系統(tǒng)數(shù)據(jù)源選擇*
      基于不同網(wǎng)絡(luò)數(shù)據(jù)源的期刊評價研究
      基于真值發(fā)現(xiàn)的沖突數(shù)據(jù)源質(zhì)量評價算法
      一種新的基于對稱性的字符串相似性處理算法
      分布式異構(gòu)數(shù)據(jù)源標(biāo)準(zhǔn)化查詢設(shè)計與實現(xiàn)
      依據(jù)字符串匹配的中文分詞模型研究
      就這樣玩會VBA中常見的自定義控件
      電腦迷(2012年24期)2012-04-29 00:44:03
      一種針對Java中字符串的內(nèi)存管理方案
      小改字符串讓殺毒軟件閉嘴
      莱阳市| 鄄城县| 辽中县| 五大连池市| 余江县| 平罗县| 策勒县| 衡山县| 新营市| 庆元县| 甘孜县| 连城县| 忻城县| 华亭县| 昌平区| 岳西县| 北流市| 尉犁县| 铜鼓县| 庆云县| 安乡县| 钟山县| 九台市| 常山县| 宜昌市| 偃师市| 醴陵市| 新干县| 五常市| 阿拉善左旗| 正镶白旗| 南安市| 建湖县| 武川县| 中宁县| 石阡县| 金乡县| 海南省| 栾川县| 邓州市| 本溪市|