淺談基于WINCC工控組態(tài)軟件的關(guān)系數(shù)據(jù)庫(kù)
出處:趙秀梅 發(fā)布于:2011-08-23 12:13:00
SIMATIC WinCC是個(gè)使用的32位技術(shù)的過(guò)程監(jiān)視系統(tǒng),具有良好的開(kāi)放性和靈活性。從面市伊始,用戶就對(duì)SIMATIC WinCC印象深刻。一方面,是其高水平的創(chuàng)新,它使用戶在早期就認(rèn)識(shí)到即將到來(lái)的發(fā)展趨勢(shì)并予以實(shí)現(xiàn);另一方面,是其基于標(biāo)準(zhǔn)的長(zhǎng)期產(chǎn)品策略,可確保用戶的投資利益。憑籍這種戰(zhàn)略思想,WinCC,這一運(yùn)行于Microsoft Windows 2000和XP下的Windows控制中心,已發(fā)展成為歐洲市場(chǎng)中的,乃至業(yè)界遵循的標(biāo)準(zhǔn)。如果你想使設(shè)備和機(jī)器化運(yùn)行,如果你想地提高工廠的可用性和生產(chǎn)效率,WinCC當(dāng)是上乘之選。
WINCC的數(shù)據(jù)有設(shè)計(jì)時(shí)數(shù)據(jù)庫(kù)和運(yùn)行時(shí)數(shù)據(jù)庫(kù),分別放在相關(guān)的目錄。設(shè)計(jì)時(shí)數(shù)據(jù)庫(kù)沒(méi)有研究的必要性,但運(yùn)行時(shí)數(shù)據(jù)庫(kù)要知道它的名稱,其名稱一般是“CC_工程名_年_月_日_時(shí)_分_秒R”,無(wú)論準(zhǔn)備以DSN或OLEDB的方式訪問(wèn)數(shù)據(jù)庫(kù),都需要該名稱。將WINCC激活,然后在“ODBC管理器”或“SQL企業(yè)管理器”下的“DATABASE”可以看到運(yùn)行時(shí)數(shù)據(jù)庫(kù)的名稱。其實(shí),WINCC在運(yùn)行時(shí),根據(jù)WINCC的設(shè)置,數(shù)據(jù)歸檔以一定時(shí)間做為基準(zhǔn),形成數(shù)據(jù)片段。在數(shù)據(jù)片段下,有3個(gè)表是用戶所關(guān)心的:ARCHIVE、TAGPRESSED和MSARCLONG。
1 總體思路
WINCC項(xiàng)目中通用C和VB 兩種語(yǔ)言,所以,采用與數(shù)據(jù)庫(kù)進(jìn)行通信的必要條件就是熟悉這2種語(yǔ)言。作為編程語(yǔ)言來(lái)說(shuō),編程只是實(shí)現(xiàn)結(jié)果的方式,重點(diǎn)在于通信方式的建立。下面分別從數(shù)據(jù)通信方式和實(shí)現(xiàn)方法來(lái)介紹。
2 數(shù)據(jù)通信方式
與數(shù)據(jù)庫(kù)通信的數(shù)據(jù)訪問(wèn)接口有以下幾種[2]。
?。?)數(shù)據(jù)連接器:提供綁定ADO數(shù)據(jù)源到窗體的數(shù)據(jù)綁定控件上。ADC主要是一種直接訪問(wèn)或者通過(guò)ADO訪問(wèn)遠(yuǎn)程O(píng)LEDB對(duì)象的技術(shù),它支持主要應(yīng)用在微軟IE瀏覽器上的數(shù)據(jù)綁定控件,是特地為以Web上的瀏覽器為基礎(chǔ)的應(yīng)用程序而設(shè)計(jì)的。
?。?)Active數(shù)據(jù)對(duì)象:ADO實(shí)際是一種提供訪問(wèn)各種數(shù)據(jù)類型的連接機(jī)制。ADO設(shè)計(jì)為一種極簡(jiǎn)單的格式,通過(guò)ODBC的方法同數(shù)據(jù)庫(kù)接口??梢允褂萌魏我环NODBC數(shù)據(jù)源,既適合于SQL Server、Oracle、Access等數(shù)據(jù)庫(kù)應(yīng)用程序,也適合于Excel表格、文本文件、圖形文件和無(wú)格式的數(shù)據(jù)文件。ADO是基于OLEDB之上的技術(shù),因此ADO通過(guò)其內(nèi)部的屬性和方法提供統(tǒng)一的數(shù)據(jù)訪問(wèn)接口方法。
?。?)數(shù)據(jù)訪問(wèn)對(duì)象:一種面向?qū)ο蟮慕缑娼涌?。通過(guò)DAO/JET功能可以訪問(wèn)ISAM數(shù)據(jù)庫(kù),使用DAO/ODBCDirect功能可以實(shí)現(xiàn)遠(yuǎn)程RDO功能。使用DAO的程序編碼非常簡(jiǎn)單,DAO提供豐富的游標(biāo)類型的結(jié)果集和非游標(biāo)類型的結(jié)果集,同DDL的功能類似。DAO模型是設(shè)計(jì)關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)的對(duì)象類的集合,它提供了完成管理這樣一個(gè)系統(tǒng)所需的全部操作的屬性和方法,包括創(chuàng)建數(shù)據(jù)庫(kù),定義表、字段和索引,建立表間的關(guān)系,定位和查詢數(shù)據(jù)庫(kù)等工具。
?。?)數(shù)據(jù)連接性引擎技術(shù)JET:一種基于工作站通過(guò)DAO的數(shù)據(jù)庫(kù)訪問(wèn)機(jī)制。雖然可以通過(guò)微軟Access提供的ODBC驅(qū)動(dòng)程序訪問(wèn)JET數(shù)據(jù)庫(kù),但使用這些驅(qū)動(dòng)程序在功能上有所限制。
?。?)開(kāi)放式的數(shù)據(jù)庫(kù)連接:一種公認(rèn)的關(guān)系數(shù)據(jù)源的接口界面。它快而輕,并且提供統(tǒng)一接口的界面。ODBC對(duì)任何數(shù)據(jù)源都未作優(yōu)化。
?。?)ODBCDirect:一種基于DAO對(duì)象的新的DAO模式,其方法和屬性與RDO功能相同。在有DAO代碼存在的場(chǎng)合使用,可用來(lái)訪問(wèn)遠(yuǎn)程數(shù)據(jù)源。
?。?)OLEDB:一種底層數(shù)據(jù)訪問(wèn)界面接口,是用于第三方驅(qū)動(dòng)程序商家開(kāi)發(fā)輸出數(shù)據(jù)源到ADO技術(shù)的應(yīng)用程序,或用于C++的開(kāi)發(fā)者開(kāi)發(fā)定制的數(shù)據(jù)庫(kù)組件。OLEDB不能被VB直接調(diào)用。
?。?)遠(yuǎn)程數(shù)據(jù)訪問(wèn)控件RDC:一種對(duì)RDO數(shù)據(jù)綁定的控件。可以將特定的結(jié)果集輸出到數(shù)據(jù)源控件。
?。?)遠(yuǎn)程數(shù)據(jù)對(duì)象:遠(yuǎn)程數(shù)據(jù)對(duì)象和集合為使用代碼來(lái)創(chuàng)建和操作一個(gè)遠(yuǎn)程O(píng)DBC數(shù)據(jù)庫(kù)系統(tǒng)的各個(gè)部件提供了一個(gè)框架。對(duì)象和集合都具有描述數(shù)據(jù)庫(kù)的各個(gè)部件特征的屬性以及用來(lái)操作這些部件的方法??梢栽趯?duì)象和集合之間建立關(guān)系,這些關(guān)系代表了數(shù)據(jù)庫(kù)系統(tǒng)的邏輯結(jié)構(gòu)。RDO是ODBC API的一個(gè)淺層界面接口,是專為訪問(wèn)遠(yuǎn)程O(píng)DBC關(guān)系數(shù)據(jù)源而設(shè)計(jì)的。
(10)VBSQL:Visual Basic結(jié)構(gòu)化查詢語(yǔ)言,是一種基于API的接口方法,幾乎與C的DB-Library API相同。VBSQL只支持微軟的SQL Server。VBSQL快而且輕,但不支持對(duì)象界面。
盡管數(shù)據(jù)訪問(wèn)方式有多種,但是適合WINCC通信的方式只有ODBC和ADO,這里重點(diǎn)介紹ODBC接口訪問(wèn)方式。
3 實(shí)現(xiàn)方法
ODBC是一種應(yīng)用程序的接口,這種接口提供了獨(dú)立于任何數(shù)據(jù)管理系統(tǒng)的應(yīng)用程序編寫(xiě)能力。ODBC通過(guò)ODBC驅(qū)動(dòng)程序?yàn)椴煌臄?shù)據(jù)庫(kù)供應(yīng)商的一組應(yīng)用程序接口提供了特殊的數(shù)據(jù)庫(kù)管理系統(tǒng)。用戶的應(yīng)用程序使用這組API來(lái)調(diào)度ODBC驅(qū)動(dòng)程序。然后驅(qū)動(dòng)程序通過(guò)SQL語(yǔ)句與DBMS發(fā)生聯(lián)系。
下面介紹ODBC數(shù)據(jù)源。在“我的電腦”中打開(kāi)“控制面板”中的“管理工具”,即可見(jiàn)ODBC數(shù)據(jù)源圖標(biāo)。ODBC數(shù)據(jù)源管理器為配置、添加、刪除各種不同的數(shù)據(jù)源名稱提供了為簡(jiǎn)潔的方法。它使用戶可以輕松地完成數(shù)據(jù)源的配置工作,用戶也可以刪除原有的DSN,或?qū)ο惹芭渲玫臄?shù)據(jù)源進(jìn)行修改。ODBC數(shù)據(jù)源管理器的具體功能如下[3]。
?。?)用戶DSN:ODBC用戶數(shù)據(jù)源存儲(chǔ)了如何與指定數(shù)據(jù)提供者連接的信息。用戶數(shù)據(jù)源只對(duì)當(dāng)前的用戶可見(jiàn),而且只能應(yīng)用在本機(jī)上;
?。?)系統(tǒng)DSN: ODBC系統(tǒng)數(shù)據(jù)源存儲(chǔ)了如何與指定數(shù)
據(jù)提供者連接的信息。系統(tǒng)數(shù)據(jù)源對(duì)當(dāng)前機(jī)器上的所有用戶可見(jiàn);
(3)文件DSN: ODBC文件數(shù)據(jù)源允許用戶連接數(shù)據(jù)提供者。文件DSN可以由安裝了相同驅(qū)動(dòng)程序的用戶共享;
?。?)驅(qū)動(dòng)程序: ODBC驅(qū)動(dòng)程序允許那些支持ODBC的程序通過(guò)ODBC數(shù)據(jù)源獲取信息。如果安裝新的驅(qū)動(dòng)程序,要使用其安裝程序;
?。?)跟蹤:ODBC跟蹤允許創(chuàng)建調(diào)用ODBC驅(qū)動(dòng)程序的日志,以供技術(shù)人員查看;也可以輔助調(diào)試應(yīng)用程序。Visual Studio跟蹤啟動(dòng)Microsoft Visual Studio的ODBC跟蹤;
?。?)連接池:連接池允許應(yīng)用程序重新打開(kāi)連接句柄,此操作將往返過(guò)程存入服務(wù)器。
建立數(shù)據(jù)源:通過(guò)對(duì)在系統(tǒng)DSN中建立SQL Server數(shù)據(jù)源test,連接的數(shù)據(jù)庫(kù)為test,并測(cè)試成功。
查詢數(shù)據(jù)庫(kù):
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
以上是一個(gè)在WINCC中訪問(wèn)數(shù)據(jù)庫(kù)、實(shí)現(xiàn)查詢功能的簡(jiǎn)單實(shí)例。同樣,也可以實(shí)現(xiàn)插入、刪除、修改等功能。以上只是初級(jí)的WINCC與數(shù)據(jù)庫(kù)通信,要想提高效率,需要進(jìn)行性能調(diào)校。
數(shù)據(jù)庫(kù)性能調(diào)校的步驟流程“DETECT”為:
(1)Discover the problem,發(fā)現(xiàn)問(wèn)題;
?。?)Explore the conditions,探究原因,為問(wèn)題提供明確的定義與定位;
?。?)Track down possible approaches,提供可能的解決方案;
(4)Execute the most likely approach,執(zhí)行有可能的解決方案;
(5)Check for success(如果需要,可重復(fù)之前的步驟),確認(rèn)解決方案成功與否;
?。?)Tie up loose ends完成收尾工作。
通過(guò)以上調(diào)校步驟來(lái)對(duì)數(shù)據(jù)庫(kù)性能進(jìn)行優(yōu)化調(diào)校。也可以利用相關(guān)工具進(jìn)行性能調(diào)校,如SQLDiag.exe、性能監(jiān)視器、事件日志與事件查看器、網(wǎng)絡(luò)監(jiān)視器、SQL Profiler、索引微調(diào)向?qū)?、Query Analyzer、DBCC、Application Center Test和Web Application Stress Tool等。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 什么是氫氧燃料電池,氫氧燃料電池的知識(shí)介紹2025/8/29 16:58:56
- SQL核心知識(shí)點(diǎn)總結(jié)2025/8/11 16:51:36
- 等電位端子箱是什么_等電位端子箱的作用2025/8/1 11:36:41
- 基于PID控制和重復(fù)控制的復(fù)合控制策略2025/7/29 16:58:24
- 什么是樹(shù)莓派?一文快速了解樹(shù)莓派基礎(chǔ)知識(shí)2025/6/18 16:30:52
- PCB焊盤(pán)與過(guò)孔設(shè)計(jì)核心實(shí)操規(guī)范(含可焊性與可靠性保障)
- 汽車電子常用電子元器件選型指南
- MOSFET驅(qū)動(dòng)與隔離方案設(shè)計(jì)
- 高溫環(huán)境下電源IC選型建議
- 安防監(jiān)控設(shè)備連接器應(yīng)用分析
- 高速PCB信號(hào)完整性(SI)設(shè)計(jì)核心實(shí)操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計(jì)算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對(duì)系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護(hù)設(shè)計(jì)
- 連接器耐腐蝕性能測(cè)試方法









