《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計應(yīng)用 > 基于WINCC工控組態(tài)軟件的關(guān)系數(shù)據(jù)庫的研究
基于WINCC工控組態(tài)軟件的關(guān)系數(shù)據(jù)庫的研究
趙秀梅
(沈陽化工學(xué)院,遼寧 沈陽110010)
摘要: 重點介紹了在工控組態(tài)軟件WINCC上的數(shù)據(jù)庫通信方法和采集過程,基于WINCC組態(tài)軟件的數(shù)據(jù)庫后臺是關(guān)系數(shù)據(jù)庫SQL Server。結(jié)合實際應(yīng)用來研究關(guān)系數(shù)據(jù)庫SQL Server及其優(yōu)化策略和服務(wù)性能。
Abstract:
Key words :

摘 要: 重點介紹了在工控組態(tài)軟件WINCC上的數(shù)據(jù)庫通信方法和采集過程,基于WINCC組態(tài)軟件的數(shù)據(jù)庫后臺是關(guān)系數(shù)據(jù)庫SQL Server。結(jié)合實際應(yīng)用來研究關(guān)系數(shù)據(jù)庫SQL Server及其優(yōu)化策略和服務(wù)性能。
關(guān)鍵詞: 數(shù)據(jù)庫; SQL Server; WINCC

    從WINCC6.0開始,就開始采用SQL2000SP3做為WINCC的后臺數(shù)據(jù)了,而這個SQL2000SP3由Siemens為WINCC做了二次開發(fā)。WINCC的數(shù)據(jù)有設(shè)計時數(shù)據(jù)庫和運行時數(shù)據(jù)庫,分別放在相關(guān)的目錄。設(shè)計時數(shù)據(jù)庫沒有研究的必要性,但運行時數(shù)據(jù)庫要知道它的名稱,其名稱一般是“CC_工程名_年_月_日_時_分_秒R”,無論準備以DSN或OLEDB的方式訪問數(shù)據(jù)庫,都需要該名稱。將WINCC激活,然后在“ODBC管理器”或“SQL企業(yè)管理器”下的“DATABASE”可以看到運行時數(shù)據(jù)庫的名稱。其實,WINCC在運行時,根據(jù)WINCC的設(shè)置,數(shù)據(jù)歸檔以一定時間做為基準,形成數(shù)據(jù)片段。在數(shù)據(jù)片段下,有3個表是用戶所關(guān)心的:ARCHIVE(用戶歸檔記錄)、TAGPRESSED(TAGUNPRESSED)(壓縮/非壓縮變量歸檔記錄)和MSARCLONG(報警記錄)。在這里主要介紹在WINCC項目中的數(shù)據(jù)庫編程和通信[1]。
1 總體思路
      WINCC項目中通用C和VB 兩種語言,所以,采用與數(shù)據(jù)庫進行通信的必要條件就是熟悉這2種語言。作為編程語言來說,編程只是最后實現(xiàn)結(jié)果的方式,重點在于通信方式的建立。下面分別從數(shù)據(jù)通信方式和實現(xiàn)方法來介紹。
2 數(shù)據(jù)通信方式
    與數(shù)據(jù)庫通信的數(shù)據(jù)訪問接口有以下幾種[2]。
    (1)高級數(shù)據(jù)連接器ADC(Advanced Data Connector):提供綁定ADO數(shù)據(jù)源到窗體的數(shù)據(jù)綁定控件上。ADC主要是一種直接訪問或者通過ADO訪問遠程OLEDB對象的技術(shù),它支持主要應(yīng)用在微軟IE瀏覽器上的數(shù)據(jù)綁定控件,是特地為以Web上的瀏覽器為基礎(chǔ)的應(yīng)用程序而設(shè)計的。
    (2)Active數(shù)據(jù)對象ADO(Active Data Objects):ADO實際是一種提供訪問各種數(shù)據(jù)類型的連接機制。ADO設(shè)計為一種極簡單的格式,通過ODBC的方法同數(shù)據(jù)庫接口。可以使用任何一種ODBC數(shù)據(jù)源,既適合于SQL Server、Oracle、Access等數(shù)據(jù)庫應(yīng)用程序,也適合于Excel表格、文本文件、圖形文件和無格式的數(shù)據(jù)文件。ADO是基于OLEDB之上的技術(shù),因此ADO通過其內(nèi)部的屬性和方法提供統(tǒng)一的數(shù)據(jù)訪問接口方法。
   (3)數(shù)據(jù)訪問對象DAO(Data Access Objects):一種面向?qū)ο蟮慕缑娼涌凇Mㄟ^DAO/JET功能可以訪問ISAM數(shù)據(jù)庫,使用DAO/ODBCDirect功能可以實現(xiàn)遠程RDO功能。使用DAO的程序編碼非常簡單,DAO提供豐富的游標(Cursor)類型的結(jié)果集和非游標(Cursor-Less)類型的結(jié)果集,同DDL(數(shù)據(jù)描述語言)的功能類似。DAO模型是設(shè)計關(guān)系數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)的對象類的集合,它提供了完成管理這樣一個系統(tǒng)所需的全部操作的屬性和方法,包括創(chuàng)建數(shù)據(jù)庫,定義表、字段和索引,建立表間的關(guān)系,定位和查詢數(shù)據(jù)庫等工具。
   (4)數(shù)據(jù)連接性引擎技術(shù)JET(Joint Engine Technology):一種基于工作站通過DAO的數(shù)據(jù)庫訪問機制。雖然可以通過微軟Access提供的ODBC驅(qū)動程序訪問JET數(shù)據(jù)庫,但使用這些驅(qū)動程序在功能上有所限制。JET機制有自己的查詢和結(jié)果集處理功能,并可對同種或異種數(shù)據(jù)源作查詢處理。
   (5)開放式的數(shù)據(jù)庫連接ODBC(Open DataBase Connectivity):一種公認的關(guān)系數(shù)據(jù)源的接口界面。它快而輕,并且提供統(tǒng)一接口的界面。ODBC對任何數(shù)據(jù)源都未作優(yōu)化。
 (6)ODBCDirect:一種基于DAO對象的新的DAO模式,其方法和屬性與RDO功能相同。在有DAO代碼存在的場合使用,可用來訪問遠程數(shù)據(jù)源。
 (7)OLEDB:一種底層數(shù)據(jù)訪問界面接口,是用于第三方驅(qū)動程序商家開發(fā)輸出數(shù)據(jù)源到ADO技術(shù)的應(yīng)用程序,或用于C++的開發(fā)者開發(fā)定制的數(shù)據(jù)庫組件。OLEDB不能被VB直接調(diào)用。
 (8)遠程數(shù)據(jù)訪問控件RDC(Remote Data Control):一種對RDO數(shù)據(jù)綁定的控件。可以將特定的結(jié)果集輸出到數(shù)據(jù)源控件。
 (9)遠程數(shù)據(jù)對象RDO(Remote Data Objects):遠程數(shù)據(jù)對象和集合為使用代碼來創(chuàng)建和操作一個遠程ODBC數(shù)據(jù)庫系統(tǒng)的各個部件提供了一個框架。對象和集合都具有描述數(shù)據(jù)庫的各個部件特征的屬性以及用來操作這些部件的方法。可以在對象和集合之間建立關(guān)系,這些關(guān)系代表了數(shù)據(jù)庫系統(tǒng)的邏輯結(jié)構(gòu)。RDO是ODBC API的一個淺層界面接口,是專為訪問遠程ODBC關(guān)系數(shù)據(jù)源而設(shè)計的。
 (10)VBSQL:Visual Basic結(jié)構(gòu)化查詢語言,是一種基于API的接口方法,幾乎與C的DB-Library API相同。VBSQL只支持微軟的SQL Server。VBSQL快而且輕,但不支持對象界面。
 盡管數(shù)據(jù)訪問方式有多種,但是適合WINCC通信的方式只有ODBC和ADO,這里重點介紹ODBC接口訪問方式。
3 實現(xiàn)方法
 ODBC是一種應(yīng)用程序的接口(API),這種接口提供了獨立于任何數(shù)據(jù)管理系統(tǒng)的應(yīng)用程序編寫能力。ODBC通過ODBC驅(qū)動程序為不同的數(shù)據(jù)庫供應(yīng)商的一組應(yīng)用程序接口提供了特殊的數(shù)據(jù)庫管理系統(tǒng)(DBMS)。用戶的應(yīng)用程序使用這組API來調(diào)度ODBC驅(qū)動程序。然后驅(qū)動程序通過SQL語句與DBMS發(fā)生聯(lián)系。
  下面介紹ODBC數(shù)據(jù)源。在“我的電腦”中打開“控制面板”中的“管理工具”,即可見ODBC數(shù)據(jù)源圖標。ODBC數(shù)據(jù)源管理器為配置、添加、刪除各種不同的數(shù)據(jù)源名稱提供了最為簡潔的方法。它使用戶可以輕松地完成數(shù)據(jù)源的配置工作,用戶也可以刪除原有的DSN(數(shù)據(jù)源名稱),或?qū)ο惹芭渲玫臄?shù)據(jù)源進行修改。ODBC數(shù)據(jù)源管理器的具體功能如下[3]。
  (1)用戶DSN:ODBC用戶數(shù)據(jù)源存儲了如何與指定數(shù)據(jù)提供者連接的信息。用戶數(shù)據(jù)源只對當前的用戶可見,而且只能應(yīng)用在本機上;
    (2)系統(tǒng)DSN: ODBC系統(tǒng)數(shù)據(jù)源存儲了如何與指定數(shù)
據(jù)提供者連接的信息。系統(tǒng)數(shù)據(jù)源對當前機器上的所有用戶可見;
    (3)文件DSN: ODBC文件數(shù)據(jù)源允許用戶連接數(shù)據(jù)提供者。文件DSN可以由安裝了相同驅(qū)動程序的用戶共享;
    (4)驅(qū)動程序: ODBC驅(qū)動程序允許那些支持ODBC的程序通過ODBC數(shù)據(jù)源獲取信息。如果安裝新的驅(qū)動程序,要使用其安裝程序;
    (5)跟蹤:ODBC跟蹤允許創(chuàng)建調(diào)用ODBC驅(qū)動程序的日志,以供技術(shù)人員查看;也可以輔助調(diào)試應(yīng)用程序。Visual Studio跟蹤啟動Microsoft Visual Studio的ODBC跟蹤;
    (6)連接池:連接池允許應(yīng)用程序重新打開連接句柄,此操作將往返過程存入服務(wù)器。
    建立數(shù)據(jù)源:通過對在系統(tǒng)DSN中建立SQL Server數(shù)據(jù)源test,連接的數(shù)據(jù)庫為test,并測試成功。
 查詢數(shù)據(jù)庫:
 Dim cn,strConn,sql,rs
 Dim view1,view2
 Set cn = CreateObject("ADODB.Connection")
 Set rs=CreateObject("ADODB.Recordset")
 strConn="test"
 sql="select * from student order by id "
 cn.ConnectionString=strConn
 cn.Open
 rs.Open sql,cn
 view1=rs.fields("id")
 view2=rs("name")
 rs.movenext
 Set rs=Nothing
 Set cn=Nothing
 以上是一個在WINCC中訪問數(shù)據(jù)庫、實現(xiàn)查詢功能的簡單實例。同樣,也可以實現(xiàn)插入、刪除、修改等功能。
 以上只是初級的WINCC與數(shù)據(jù)庫通信,要想提高效率,需要進行性能調(diào)校。所謂性能調(diào)校,是指以用戶期望為依據(jù)進行調(diào)校目的方法。然而性能問題的癥結(jié)通常不是表象所能顯示出來的,從不同的方面去看,往往會有不同的解釋。
 數(shù)據(jù)庫性能調(diào)校的步驟流程“DETECT”為:
   (1)Discover the problem,發(fā)現(xiàn)問題;
 (2)Explore the conditions,探究原因,為問題提供明確的定義與定位;
 (3)Track down possible approaches,提供可能的解決方案;
 (4)Execute the most likely approach,執(zhí)行最有可能的解決方案;
 (5)Check for success(如果需要,可重復(fù)之前的步驟),確認解決方案成功與否;
   (6)Tie up loose ends完成收尾工作。
 通過以上調(diào)校步驟來對數(shù)據(jù)庫性能進行優(yōu)化調(diào)校。也可以利用相關(guān)工具進行性能調(diào)校,如SQLDiag.exe、性能監(jiān)視器(Performance Monitor)、事件日志與事件查看器(Events Log)、網(wǎng)絡(luò)監(jiān)視器(Network Monitor)、SQL Profiler、索引微調(diào)向?qū)В↖ndex Tuning Wizard)、Query Analyzer、DBCC、Application Center Test和Web Application Stress Tool等。
 通過對WINCC與數(shù)據(jù)庫SQL Server進行連接的實例來說明其調(diào)校性能的步驟,實現(xiàn)了工控組態(tài)軟件WINCC的數(shù)據(jù)庫通信方法和采集過程;并就其性能方面進行了概述,提到了多種性能調(diào)校工具軟件,對數(shù)據(jù)庫系統(tǒng)進行監(jiān)控和優(yōu)化性能起了一定作用[4]。
參考文獻
[1]  西門子(中國)自動化與驅(qū)動集團.深入淺出西門子WinCC V6. 北京:北京航空航天大學(xué)出版社,2004.
[2]  牛勇,袁鵬飛.QL Server編程篇[M].北京:電子工業(yè)出版社, 2005.
[3]  鄭劍峰,董國平.SQL Server開發(fā)答疑[M].北京:北京:人民郵電出版社,2006.
[4]  胡百敬.Microsoft SQL Server性能調(diào)校[M].北京:電子工業(yè)出版社,2005.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 亚洲欧美日韩另类在线一 | 黄色免费在线网址 | 激情综合网婷婷 | 欧洲一级视频 | 最近免费中文字幕高清大全 | 日本在线观 | 天天干天天干天天干 | 日韩精品一区二区三区中文精品 | 亚洲国产一 | 国产一区二区三区在线看 | 欧美亚洲精品在线 | 看片网站在线 | free性欧美淫俄罗斯 | 国产精品自拍一区 | 妞干网欧美 | 黄视频网站免费 | 久久国产欧美日韩精品免费 | 草久在线播放 | 美女日批视频在线观看 | 欧美日韩影院 | 欧美日韩亚洲人人夜夜澡 | 午夜久草| 色播在线永久免费视频网站 | 午夜激情影院 | 亚洲va老文色欧美黄大片人人 | 日韩成人av在线 | xxx69日本hd| 三级日韩| 欧美日韩久久中文字幕 | 天天色啪| 无遮挡一级毛片呦女视频 | 毛片a级毛片免费播放100 | 天天爽夜夜爽 | 在线观看麻豆国产精品 | 一级毛片q片 | 欧美人成网| 不卡福利 | 日韩亚洲国产激情在线观看 | 国产久爱青草视频在线观看 | 欧美 日韩 国产在线 | 国产成人女人在线视频观看 |