"/>
變頻器: | 西門子代理商 |
觸摸屏: | 西門子一級代理 |
伺服電機: | 西門子一級總代理 |
單價: | 面議 |
發貨期限: | 自買家付款之日起 天內發貨 |
所在地: | 廣東 惠州 |
有效期至: | 長期有效 |
發布時間: | 2023-12-14 12:45 |
最后更新: | 2023-12-14 12:45 |
瀏覽次數: | 153 |
采購咨詢: |
請賣家聯系我
|
在實際應用中,客戶對于wincc變量記錄的顯示需求各式各樣,比如在excel或者word中顯示變量記錄,以特定的表格顯示歷史數據等等。當wincc集成的在線表格控件不能滿足客戶需要時,就需要通過自定義的方式來顯示變量歸檔。主要分為兩部分:
(1)從wincc中讀取歸檔數據
(2)將歸檔數據以特定的格式顯示出來
本文檔介紹從wincc讀取歸檔數據的通用方法,并以listview為例,介紹如何顯示歸檔數據。對于其它控件,客戶也可以參考本文檔的腳本和編程思路。
表 01
關于wincc連通性軟件包的使用,請參考下面的幫助文檔:37436159
2.實現方式總體思路介紹
本文檔通過調用wincc ole db數據庫接口驅動(需要wincc連通性軟件包的授權)來訪問wincc的變量歸檔,并在微軟的listview控件中顯示歸檔數據。程序結構如下所示:
圖1
具體代碼見附件。
3.具體實現方法和代碼
3.1 創建到歸檔數據庫的連接
由于wincc的變量歸檔為壓縮數據,必須通過wincc ole db來讀取歸檔數據。對于已經安裝wincc的計算機,不需要安裝wincc連通性軟件包。對于未安裝wincc的客戶端,必須安裝wincc連通性軟件包。該軟件包含在wincc v7.0的安裝光盤中。
數據庫連接的腳本如下所示:
'定義數據庫連接變量
dim conn
set conn = createobject("")
'定義數據庫查詢腳本(可以根據需要自定義修改)
dim ssql
ssql="tag:r,'processvaluearchive\tag1',':01:00.000',':00:00.000'"
'通過調用自定義的數據庫連接函數,建立與數據庫的連接
dim ors
set ors= winccdatasourceaccess(conn,ssql)
其中,自定義的數據庫連接函數winccdatasourceaccess(connobj,psql),參數connobj為連接對象(),參數psql為要執行的sql查詢語句,具體代碼如下所示:
function winccdatasourceaccess(connobj,psql)
'建立到數據庫的連接
on error resume next
'讀取本地的wincc運行數據庫名稱
dim datasourcenamert,dataconnectionname
set datasourcenamert = hmiruntime.tags("@datasourcenamert")
datasourcenamert.read
'定義數據庫連接字符串
dim spro, sdsn,sser
spro = "provider=winccoledbprovider.1;"
sdsn = "catalog=" & datasourcenamert.value & ";"
sser = "data source=.\wincc"
dataconnectionname = spro + sdsn + sser
' 定義查詢語句字符串
dim ssql
ssql=psql
'建立連接
dim ors,ocom,conn
set conn = createobject("")
set conn=connobj
= dataconnectionname
conn.cursorlocation = 3
conn.open
' 創建查詢的命令文本
set ors = createobject("adodb.recordset")
set ocom = createobject("")
= 1
set ocom.activeconnection = conn
'執行查詢
set ors = ocom.execute
'返回結果
set winccdatasourceaccess=ors
if err.number 0 then
msgbox "error code" & err.number & "source:" & & "error deion" & err.deion
err.clear
end if
on error go to 0
end function
自定義函數的創建過程為:在wincc項目管理器中右鍵點擊全局腳本?打開vbs全局腳本編輯器?項目函數?新建函數。具體如下圖所示: