VBS讀取WINCC變量歸檔-歸檔數(shù)據(jù)庫(kù)連接
今天介紹一下WINCC歸檔數(shù)據(jù)庫(kù)方面的內(nèi)容:
博途W(wǎng)INCC微信群:15961872327
博途W(wǎng)INCC微信群:15961872327
3、連接變量歸檔數(shù)據(jù)庫(kù)
3.1???? ADO Connection?對(duì)象
????3.1.1簡(jiǎn)介
????ADO Connection 對(duì)象用于創(chuàng)建一個(gè)到達(dá)某個(gè)數(shù)據(jù)源的開(kāi)放連接。通過(guò)此連接,您可以對(duì)一個(gè)數(shù)據(jù)庫(kù)進(jìn)行訪問(wèn)和操作。
如果需要多次訪問(wèn)某個(gè)數(shù)據(jù)庫(kù),您應(yīng)當(dāng)使用 Connection 對(duì)象來(lái)建立一個(gè)連接。您也可以經(jīng)由一個(gè) Command 或 Recordset 對(duì)象傳遞一個(gè)連接字符串來(lái)創(chuàng)建某個(gè)連接。不過(guò),此類(lèi)連接僅僅適合一次具體的簡(jiǎn)單的查詢(xún)。
以下屬性、方法、事件、集合資料來(lái)自http://www.w3school.com.cn,由于W3School里面的資料好像主要針對(duì)網(wǎng)頁(yè)開(kāi)發(fā)的,可能部分屬性(方法等)不適合VBS,能測(cè)試的,我盡量測(cè)試一下,不能測(cè)試,可能我也不會(huì)的就不再測(cè)試,請(qǐng)見(jiàn)諒。
3.1.2屬性
屬性
描述
Attributes
設(shè)置或返回 Connection 對(duì)象的屬性。
CommandTimeout
指示在終止嘗試和產(chǎn)生錯(cuò)誤之前執(zhí)行命令期間需等待的時(shí)間。
ConnectionString
設(shè)置或返回用于建立連接數(shù)據(jù)源的細(xì)節(jié)信息。
ConnectionTimeout
指示在終止嘗試和產(chǎn)生錯(cuò)誤前建立連接期間所等待的時(shí)間。
CursorLocation
設(shè)置或返回游標(biāo)服務(wù)的位置。
DefaultDatabase
指示 Connection 對(duì)象的默認(rèn)數(shù)據(jù)庫(kù)。
IsolationLevel
指示 Connection 對(duì)象的隔離級(jí)別。
Mode
設(shè)置或返回 provider 的訪問(wèn)權(quán)限。
Provider
設(shè)置或返回 Connection 對(duì)象提供者的名稱(chēng)。
State
返回一個(gè)描述連接是打開(kāi)還是關(guān)閉的值。
Version
返回 ADO 的版本號(hào)。
表格1
使用State屬性可以查看數(shù)據(jù)源連接的狀態(tài)。返回值如下:
常數(shù)
值
描述
adStateClosed
0
對(duì)象已關(guān)閉。
adStateOpen
1
對(duì)象已打開(kāi)。
adStateConnecting
2
對(duì)象正在連接。
adStateExecuting
4
對(duì)象正在執(zhí)行命令。
adStateFetching
8
正在檢索對(duì)象的行。
表格2
唉悲劇了,從網(wǎng)上看到使用State屬性可以看到數(shù)據(jù)庫(kù)連接是不是已經(jīng)打開(kāi),可是我不管怎么測(cè)試,只要用了open方法,該屬性就等于1,應(yīng)該是使用WinCCOLEDBProvider的原因,等待以后再測(cè)試連接SQL的吧….

圖5
圖中看出只設(shè)置了Provider屬性,其他的都是空,State屬性值竟然也等于1,跳過(guò)…..
ADO Connection測(cè)試如下:

圖6
測(cè)試圖可以看出State屬性目前等于1,就是連接已經(jīng)打開(kāi)
?
3.1.3方法
方法
描述
BeginTrans
開(kāi)始一個(gè)新事務(wù)。
Cancel
取消一次執(zhí)行。
Close
關(guān)閉一個(gè)連接。
CommitTrans
保存任何更改并結(jié)束當(dāng)前事務(wù)。
Execute
執(zhí)行查詢(xún)、SQL 語(yǔ)句、存儲(chǔ)過(guò)程或 ?provider 具體文本。
Open
打開(kāi)一個(gè)連接。
OpenSchema
從 provider 返回有關(guān)數(shù)據(jù)源的 schema 信息。
RollbackTrans
取消當(dāng)前事務(wù)中所作的任何更改并結(jié)束事務(wù)。
表格3
一般用到的方法OpenClose Execute這三個(gè),其他的的具體作用我也不是很了解了。
?
3.1.4事件
這個(gè)功能臨時(shí)也用不到,只做參考
事件
描述
BeginTransComplete
在 ?BeginTrans 操作之后被觸發(fā)。
CommitTransComplete
在 ?CommitTrans 操作之后被觸發(fā)。
ConnectComplete
在一個(gè)連接開(kāi)始后被觸發(fā)。
Disconnect
在一個(gè)連接結(jié)束之后被觸發(fā)。
ExecuteComplete
在一條命令執(zhí)行完畢后被觸發(fā)。
InfoMessage
假如在一個(gè) ?ConnectionEvent 操作過(guò)程中警告發(fā)生,則觸發(fā)該事件。
RollbackTransComplete
在 ?RollbackTrans 操作之后被觸發(fā)。
WillConnect
在一個(gè)連接開(kāi)始之前被觸發(fā)。
WillExecute
在一條命令被執(zhí)行之前被觸發(fā)
表格4
3.1.5集合
集合
描述
Errors
包含 Connection 對(duì)象的所有 Error 對(duì)象。
Properties
包含 Connection 對(duì)象的所有 Property 對(duì)象
表格5
該集合的使用方法暫時(shí)不會(huì)…
3.2?數(shù)據(jù)庫(kù)連接方法
3.2.1創(chuàng)建對(duì)象
Dim conn
Set conn =CreateObject("ADODB.Connection")
3.2.2 設(shè)置ConnectionString屬性
ConnectionString 屬性可設(shè)置或返回用于建立到數(shù)據(jù)源的連接的信息。
ConnectionString 屬性w3school和手冊(cè)上的不太一樣,以手冊(cè)為準(zhǔn),其實(shí)通過(guò)圖6也能看出來(lái)他完整的參數(shù):
參數(shù)
描述
Provider
用于連接的提供者的名稱(chēng)。
Catalog
WinCC 數(shù)據(jù)庫(kù)的名稱(chēng)
如果使用 WinCC ?RT 數(shù)據(jù)庫(kù),則將采用以“R”為結(jié)尾的數(shù)據(jù)庫(kù)名稱(chēng) ?<Datenbankname_R>。也可使用數(shù)據(jù)庫(kù)“CC_ExternalBrowsing”。如果已經(jīng)通過(guò) WinCC 歸檔連接器將換出的 WinCC 歸檔連接到 SQL Server,請(qǐng)使用它們的符號(hào)名稱(chēng)。
注釋
對(duì)于透明訪問(wèn),為“Catalog”輸入 WinCC 項(xiàng)目名稱(chēng);例如:“Catalog=WinCC_Project_Name”。
注釋
如果通過(guò)“CC_ExternalBrowsing”訪問(wèn)消息歸檔或換出的歸檔,則該訪問(wèn)可能需要數(shù)分鐘的時(shí)間。
可以通過(guò)腳本直接讀取@DatasourceNameRT變量的值來(lái)設(shè)置該屬性
Data Source
服務(wù)器名稱(chēng)
本地:“.\WinCC”或者“<計(jì)算機(jī)名稱(chēng)>\WinCC”
遠(yuǎn)程:“<計(jì)算機(jī)名稱(chēng)>\WinCC”
注釋
為中央歸檔服務(wù)器輸入透明訪問(wèn),如果是冗余服務(wù)器,則通過(guò) OLE DB 提供程序?yàn)椤癉ata Source”輸入以下內(nèi)容:<符號(hào)計(jì)算機(jī)名稱(chēng)>::\WinCC。
注釋
使用歸檔變量名稱(chēng)可在中央歸檔服務(wù)器 CAS 上直接訪問(wèn)歸檔變量。 中央歸檔服務(wù)器 CAS 將 CAS-ID 而不是歸檔變量 ID 作為 ID 返回: <符號(hào)計(jì)算機(jī)名稱(chēng)>\\<Achive_Var_Name>
在腳本里面可以直接讀取變量@Servename
表格6
注釋?zhuān)耗荒芡瑫r(shí)使用 Provider 和 File Name 參數(shù)。
在WinCCV7.4:使用 WinCC?系統(tǒng)手冊(cè) 49頁(yè)也有相關(guān)介紹
3.2?連接歸檔數(shù)據(jù)庫(kù)
腳本參考手冊(cè)里面的腳本,完整腳本如下:

圖7
這一步連接數(shù)據(jù)庫(kù)的腳本還是比較簡(jiǎn)單的,而且上方的腳本可以直接拿來(lái)就用