第10章 WinCC的開放性_第1頁
第10章 WinCC的開放性_第2頁
第10章 WinCC的開放性_第3頁
第10章 WinCC的開放性_第4頁
第10章 WinCC的開放性_第5頁
已閱讀5頁,還剩53頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、組態軟件組態軟件wincc及其應用及其應用1青島大學自動化工程學院青島大學自動化工程學院第第10章章 wincc的開放性的開放性10.1 ole應用應用10.2 dde連接連接10.3 api應用應用10.4 使用使用activex控件控件10.5 利用腳本實現開放性數據交換利用腳本實現開放性數據交換10.6 opc應用應用10.7 wincc數據庫直接訪問方法數據庫直接訪問方法組態軟件組態軟件wincc及其應用及其應用2青島大學自動化工程學院青島大學自動化工程學院wincc以以microsoft技術作為后盾,幾乎集成了技術作為后盾,幾乎集成了microsoft所有的開放性技術,包括所有的開放

2、性技術,包括activex,dde,opc,vba,vbs,ole,api以及以及microsoft強大強大而高效的數據庫而高效的數據庫microsoft sql server 2000,通過,通過它們可以把自己的應用程序集成到它們可以把自己的應用程序集成到wincc中。中。組態軟件組態軟件wincc及其應用及其應用3青島大學自動化工程學院青島大學自動化工程學院10.1 ole應用應用 ole是通過其它程序函數訪問是通過其它程序函數訪問wincc,本例介紹,本例介紹microsoft office word和和wincc通過通過ole進行連進行連接。接。 組態軟件組態軟件wincc及其應用及其

3、應用4青島大學自動化工程學院青島大學自動化工程學院新建一個畫面,拖動對象選項板新建一個畫面,拖動對象選項板“標準標準”選項卡選項卡“智能對象智能對象ole元素元素”到編輯區,圖示對話框到編輯區,圖示對話框自動打開,選擇自動打開,選擇“新建新建”項,對象類型為項,對象類型為“mirosoft word圖片圖片”,單擊確定在畫面中插,單擊確定在畫面中插入一個入一個ole元素元素 組態軟件組態軟件wincc及其應用及其應用5青島大學自動化工程學院青島大學自動化工程學院雙擊畫面中的雙擊畫面中的ole元素,啟動由元素,啟動由microsoft word打開的文件,輸入希望的內容,如藝術字打開的文件,輸入

4、希望的內容,如藝術字“ole元素元素”測試,關閉測試,關閉microsoft word,則畫面如圖,則畫面如圖所示,可以調整該對象的尺寸,雙擊打開所示,可以調整該對象的尺寸,雙擊打開microsoft word編輯軟件。編輯軟件。 組態軟件組態軟件wincc及其應用及其應用6青島大學自動化工程學院青島大學自動化工程學院10.2 dde連接連接 此處以此處以wincc與與excel的本地的本地dde通信為例通信為例 10.2.1 wincc作為作為dde的服務器,的服務器,excel作作為為dde的客戶端的客戶端 組態軟件組態軟件wincc及其應用及其應用7青島大學自動化工程學院青島大學自動化工

5、程學院1. 在在wincc項目管理器打開項目管理器打開“計算機屬性計算機屬性”對話對話框,框,“啟動啟動”選項卡中單擊選項卡中單擊“瀏覽瀏覽”按鈕添加按鈕添加wincc安裝目錄中的應用程序安裝目錄中的應用程序ddeserv.exe,如,如圖圖10-4所示,同時添加命令行參數:所示,同時添加命令行參數:/v /n。組態軟件組態軟件wincc及其應用及其應用8青島大學自動化工程學院青島大學自動化工程學院組態軟件組態軟件wincc及其應用及其應用9青島大學自動化工程學院青島大學自動化工程學院2. 激活激活wincc項目后,將彈出圖項目后,將彈出圖10-5所示的所示的“wincc dde-server

6、”對話框,單擊對話框,單擊“tag list”按鈕選擇要訪問的變量,單擊確定將變量的連接按鈕選擇要訪問的變量,單擊確定將變量的連接信息復制到信息復制到windows的剪貼板上。的剪貼板上。3. 打開打開excel,任意雙擊選中一個單元格,將,任意雙擊選中一個單元格,將windows剪貼板上的內容粘貼到該單元格中,然剪貼板上的內容粘貼到該單元格中,然后在第一個字符前添加后在第一個字符前添加“=”號,如以訪問變量號,如以訪問變量tag1為例,則單元格中的內容為:為例,則單元格中的內容為:=wincc|lhbwincc60_project_test20090119test20090119.mcp!t

7、ag1完成對單元格的輸入。完成對單元格的輸入。4. 根據需要添加多個變量。根據需要添加多個變量。 組態軟件組態軟件wincc及其應用及其應用10青島大學自動化工程學院青島大學自動化工程學院需要注意以下兩點:需要注意以下兩點:(1)wincc ddeserv.exe要一直保持運行;要一直保持運行;(2)這種連接是單向的,即只能)這種連接是單向的,即只能wincc中變量中變量改變在改變在excel中體現,而無法在中體現,而無法在excel中修改該變中修改該變量的值。量的值。 組態軟件組態軟件wincc及其應用及其應用11青島大學自動化工程學院青島大學自動化工程學院10.2.2 wincc作為作為d

8、de的客戶端,的客戶端,excel作作為為dde的服務器的服務器 1. 在在wincc項目管理器右鍵單擊項目管理器右鍵單擊“變量管理變量管理”選選擇擇“添加新的驅動程序:添加新的驅動程序:windows dde.chn”建立建立“windows dde”通道,建立新的驅動程序連通道,建立新的驅動程序連接接newconnection,連接屬性如圖,連接屬性如圖10-6所示。所示。 組態軟件組態軟件wincc及其應用及其應用12青島大學自動化工程學院青島大學自動化工程學院其中,其中,“計算機名稱計算機名稱”為空,為空,“應用程序應用程序”為為“excel”,“主題主題”為為“excel文件名文件名

9、工作表工作表名名”,如,如aaa.xlssheet1中中aaa.xls為為excel文件文件名,名,sheet1為工作表名。為工作表名。 組態軟件組態軟件wincc及其應用及其應用13青島大學自動化工程學院青島大學自動化工程學院2. 建立新變量,在變量屬性對話框中單擊建立新變量,在變量屬性對話框中單擊“選擇選擇”按鈕,在按鈕,在“條目名稱條目名稱”輸入:輸入:r行數行數c列數,如列數,如r1c1表示第一行第一列的單元格,如圖表示第一行第一列的單元格,如圖10-7所示。單擊所示。單擊確定完成一個變量的組態。確定完成一個變量的組態。 組態軟件組態軟件wincc及其應用及其應用14青島大學自動化工程

10、學院青島大學自動化工程學院組態軟件組態軟件wincc及其應用及其應用15青島大學自動化工程學院青島大學自動化工程學院10.3 api應用應用 每個每個wincc組件如變量管理器,圖形編輯器,全組件如變量管理器,圖形編輯器,全局腳本,報警記錄,變量記錄,報表編輯器,用局腳本,報警記錄,變量記錄,報表編輯器,用戶管理,文本庫等都有一個戶管理,文本庫等都有一個api接口用以開放接口用以開放wincc供其它應用程序使用,當然,也可以通過供其它應用程序使用,當然,也可以通過wincc使用使用windows api。 組態軟件組態軟件wincc及其應用及其應用16青島大學自動化工程學院青島大學自動化工程學

11、院例例1:在:在wincc項目中調用一個用戶指定的幫助。項目中調用一個用戶指定的幫助。 #pragma code(user32.dll)bool winhelpa(hwnd, lpszhelpfile, fucommand, dwdata);#pragma code()#define help_contents 0 x0003lvoid winhelpapi()hwnd hwnd; /*需要的幫助窗口句柄 */char helpfile255;uint fucommand; /* 幫助類型 */dword dwdata; /* 附加數據 */bool bretval;lpctstr lpszh

12、elp;lpszhelp = helpfile;strcpy(helpfile, c:windowshelpade.hlp);hwnd = findwindow(pdlrtisaliveandwaitsforyou,wincc runtime - );fucommand = help_contents;dwdata = 0l;bretval=winhelpa(dword) hwnd,(dword) lpszhelp, fucommand, dwdata);printf(hwnd: %d rn,hwnd);printf(helpfile: %s rn,helpfile);printf(bretv

13、al: %d rn,bretval);組態軟件組態軟件wincc及其應用及其應用17青島大學自動化工程學院青島大學自動化工程學院例例2:通過腳本函數在:通過腳本函數在wincc中創建一個新目錄。中創建一個新目錄。 #pragma code(kernel32.dll);bool createdirectorya( lpctstr ,lpsecurity_attributes ); #pragma code();createdirectorya(c:test,null); 組態軟件組態軟件wincc及其應用及其應用18青島大學自動化工程學院青島大學自動化工程學院例例3:使用:使用api函數函數“s

14、leep()()”。 #pragma code(kernel32.dll)void sleep(int milliseconds);#pragma code() sleep(1000); /以毫秒為單位 組態軟件組態軟件wincc及其應用及其應用19青島大學自動化工程學院青島大學自動化工程學院例例4:打開一個應用程序如:打開一個應用程序如adobe reader 8.0使其使其在前臺且一直保持在前臺。在前臺且一直保持在前臺。 #include apdefap.hvoid onclick(char* lpszpicturename, char* lpszobjectname, char* lps

15、zpropertyname) hwnd handle = null; handle = findwindow(acrobatsdiwindow,null); if (handle) showwindow(handle, sw_shownormal); else programexecute(c:/program files/adobe/reader 8.0/reader/acrord32.exe); handle = findwindow(null, adobe reader); setwindowpos (handle, hwnd_topmost, 400, 200, 520, 420, 0

16、); 按鈕的按鈕的c動作動作組態軟件組態軟件wincc及其應用及其應用20青島大學自動化工程學院青島大學自動化工程學院編寫下面編寫下面c函數,在窗口中指明窗口類的名稱。函數,在窗口中指明窗口類的名稱。 #include apdefap.hvoid onclick(char* lpszpicturename, char* lpszobjectname, char* lpszpropertyname) char winclass256; hwnd handle = null; handle = findwindow(null, adobe reader); if (!handle) program

17、execute(c:/program files/adobe/reader 8.0/reader/acrord32.exe); handle = findwindow(null, adobe reader); getclassname(handle, winclass, sizeof (winclass)-1); printf (window class name: %s rn, winclass);組態軟件組態軟件wincc及其應用及其應用21青島大學自動化工程學院青島大學自動化工程學院例例5:wincc中通過中通過c腳本實現聲音輸出。腳本實現聲音輸出。 #include apdefap.h

18、void onclick(char* lpszpicturename, char* lpszobjectname, char* lpszpropertyname, uint nflags, int x, int y)#pragma code (winmm.dll )void winapi playsounda ( char* pszsound, char* hmode, dword dwflag );#pragma code()playsounda(c:windowsmediading.wav,null,1); /正確的路徑組態軟件組態軟件wincc及其應用及其應用22青島大學自動化工程學院青

19、島大學自動化工程學院例例6:在:在 wincc 運行系統中,想打開一個文件編運行系統中,想打開一個文件編輯,如:輯,如:(1)在運行時打開導出的歸檔段(變量日志)在運行時打開導出的歸檔段(變量日志/報報警),以便通過運行系統數據庫更正它們,然后警),以便通過運行系統數據庫更正它們,然后再斷開它們的連接。再斷開它們的連接。 (2)選擇并打開日志文件。)選擇并打開日志文件。 (3)將導出的數據)將導出的數據 (例如,歸檔段、日志文件)(例如,歸檔段、日志文件)復制到另一個驅動器。復制到另一個驅動器。本例描述如何利用本例描述如何利用 windows api 函數函數“getopenfilename(

20、)”調用調用 windows 文件打開文件打開對話框、預設需要的值(路徑、標題、文件類對話框、預設需要的值(路徑、標題、文件類型)、在腳本中評估選定的文件并處理它,如下:型)、在腳本中評估選定的文件并處理它,如下: 組態軟件組態軟件wincc及其應用及其應用23青島大學自動化工程學院青島大學自動化工程學院腳本見下面備注腳本見下面備注組態軟件組態軟件wincc及其應用及其應用24青島大學自動化工程學院青島大學自動化工程學院10.4 使用使用activex控件控件 ocx和和activex對象提供了未被對象提供了未被wincc的對象默認的對象默認包含的某些功能。包含的某些功能。wincc使使ocx

21、和和activex對象可對象可以嵌入到畫面中,從而實現更多復雜的功能。以嵌入到畫面中,從而實現更多復雜的功能。activex是基于是基于com(component object model)的可視化控件結構的名稱,是一種封裝技術,提供的可視化控件結構的名稱,是一種封裝技術,提供封裝封裝com組件并將其置入應用程序的一種方法。組件并將其置入應用程序的一種方法。在操作系統中注冊的所有在操作系統中注冊的所有activex控件均可用于控件均可用于wincc。 組態軟件組態軟件wincc及其應用及其應用25青島大學自動化工程學院青島大學自動化工程學院10.4.1 在在wincc中直接插入中直接插入act

22、ivex控件控件 組態軟件組態軟件wincc及其應用及其應用26青島大學自動化工程學院青島大學自動化工程學院10.4.2 用用vbscript訪問訪問activex控件控件 畫面中已經插入了外部的畫面中已經插入了外部的activex控件,可以用控件,可以用vbscript中的中的screenitems對象來訪問修改對象來訪問修改activex控件對象的屬性。例如在畫面中插入了一控件對象的屬性。例如在畫面中插入了一個個activex控件,給它命名為控件,給它命名為“control1”,那么,那么可以通過以下的代碼修改它的高度、寬度以及其可以通過以下的代碼修改它的高度、寬度以及其它特殊屬性等。它特

23、殊屬性等。dim controlset control=screenitems(controll”)contr01.height=5注意:注意:vbscript是操作對象的運行狀態屬性;而是操作對象的運行狀態屬性;而vba是操縱對象的組態屬性。是操縱對象的組態屬性。 組態軟件組態軟件wincc及其應用及其應用27青島大學自動化工程學院青島大學自動化工程學院10.4.3 用用vba組態組態activex控件控件 本例用本例用vba在畫面中插入一個在畫面中插入一個activex控件的控件的wincc gauge控件,并調整控件的屬性。控件,并調整控件的屬性。sub addactivexcontro

24、l()dim objactivexcontrol as hmiactivexcontrolset objactivexcontrol=activedocument.hmiobjects.addactivexcontrol(”wincc_gauge”, ”xgauge.xgaugectrl.1”)end sub組態軟件組態軟件wincc及其應用及其應用28青島大學自動化工程學院青島大學自動化工程學院下面的例子中,在當前打開的畫面中插入了下面的例子中,在當前打開的畫面中插入了wincc gauge控件,并把它命名為控件,并把它命名為“wincc_gauge2”,然后修,然后修改其部分屬性。需要注意

25、改其部分屬性。需要注意addactivexcontrol函數的參數,函數的參數,第一個參數為插入控件的名稱;第二個參數為屬性第一個參數為插入控件的名稱;第二個參數為屬性progid,其值可從圖其值可從圖10-8的的“選擇選擇ocx控件控件”對話框選中對話框選中wincc gauge control得到。得到。sub addactivexcontrol()dim objactivexcontrol as hmiactivexcontrolset objactivexcontrol=activedocument.hmiobjects.addactivexcontrol(”wincc_gauge 2

26、”, ”xgauge.xgaugectrl.1”)objactivexcontrol.top=40objactivexcontrol.left=60objactivexcontrol.properties(”backcolor”).value=rgb(255,0,0)end sub組態軟件組態軟件wincc及其應用及其應用29青島大學自動化工程學院青島大學自動化工程學院10.5 利用腳本實現開放性數據交換利用腳本實現開放性數據交換 10.5.1 vbscript實現開放性數據交換實現開放性數據交換 例例1:vbscript實現實現wincc與與excel之間的數據交之間的數據交換。本例中輸入換

27、。本例中輸入/輸出域中的值寫入到了輸出域中的值寫入到了excel表表格中。格中。 組態軟件組態軟件wincc及其應用及其應用30青島大學自動化工程學院青島大學自動化工程學院dim objexcelappset objexcelapp=createobject(“excel.application”)objexcelapp.visible=trueexcelexample.xls必須在執行這個過程之前已經創建好用excelexample.xls文件的真實路徑來替換objexcelapp.workbooks.open”excelexample.xls”objexcelapp.cells(4,3).

28、value=screenltems(”iofieldl”).outputvalueobjexcelapp.activeworkbook.saveobjexcelapp.workbooks.closeobjexcelapp.quitset objexcelapp=nothing組態軟件組態軟件wincc及其應用及其應用31青島大學自動化工程學院青島大學自動化工程學院例例2:從:從ms access中打開一個報表。中打開一個報表。 dim objaccessappset objaccessapp=createobject(”access.application”)objaccessapp.visi

29、ble: truedbsamplemdb and rpt_wincc_data必須在執行這段過程之前已經創建好用數據庫文件dbsample.mdb的真實路徑替代objaccessapp.opencurrentdatabase”dbsamplemdb”.falseobjaccessapp.docmd.openreport”rpt_wincc_data”, 2objaccessapp.closecurrentdatabaseset objaccessapp=nothing組態軟件組態軟件wincc及其應用及其應用32青島大學自動化工程學院青島大學自動化工程學院例例3:用:用vbscript打開打開

30、ms internet explorer。 dim objieset objie=createobject(”internetexplorer.application”)objie.navigate ”http:/doloop while objie.busyobjie.resizable=trueobjie.width=500objie.height=500objie.left=0objie.top=0objie.visible=true組態軟件組態軟件wincc及其應用及其應用33青島大學自動化工程學院青島大學自動化工程學院例例4:用:用vbscript組態數據庫連接。組態數據庫連接。 本

31、例中本例中wincc變量值通過變量值通過odbc driver寫到寫到access數據庫。數據庫。(1)創建)創建access數據庫,在數據庫中創建一張數據庫,在數據庫中創建一張wincc_data數據表。表中有兩個字段(數據表。表中有兩個字段(id,tagvalue),),id值是自動產生的值。值是自動產生的值。(2)創建)創建odbc數據源,名稱定義為數據源,名稱定義為sampledsn指向上面的指向上面的access database。(3)編寫下列程序(見備注)。)編寫下列程序(見備注)。 此處使用了此處使用了vb中的數據庫訪問控件中的數據庫訪問控件ado。ado控件是一種控件是一種o

32、le db的控件,也可以用作的控件,也可以用作odbc方式訪問數據庫。方式訪問數據庫。 組態軟件組態軟件wincc及其應用及其應用34青島大學自動化工程學院青島大學自動化工程學院10.5.2 c-script實現開放性數據交換實現開放性數據交換 c script是功能最全的腳本系統,它可以操縱是功能最全的腳本系統,它可以操縱wincc所有對象的組態和運行屬性。通過所有對象的組態和運行屬性。通過c script,也可以進行一些開放性的操作。,也可以進行一些開放性的操作。 例例1:用:用c-script進行文件操作。進行文件操作。 腳本見下面備注腳本見下面備注組態軟件組態軟件wincc及其應用及其

33、應用35青島大學自動化工程學院青島大學自動化工程學院例例2:用:用c-script調用系統時間。調用系統時間。 #include “apdefap.h” char* _main(char*ipszpicturename, char*ipszobjectname, char*ipszproperty)#pragma code(“kernel32.dll”)void getlocaltime(lpsystemtime ipsystemtime);#pragma code()systemtime systime;char sztime6=”;getlocaltime(&systime);sp

34、rintf(sztime,02d:02d”,systime.whour,systime.wminute):return sztime;)組態軟件組態軟件wincc及其應用及其應用36青島大學自動化工程學院青島大學自動化工程學院10.6 opc應用應用 opc是是ole for process control的縮寫,即把的縮寫,即把ole技術應用于工業控制領域。技術應用于工業控制領域。ole原意是原意是“對對象鏈接與嵌入象鏈接與嵌入”,隨著,隨著ole2.0的發布,其范圍已的發布,其范圍已遠遠超出了這個概念。現在的遠遠超出了這個概念。現在的ole包容了許多新的包容了許多新的特征,如統一數據傳輸、

35、結構化存儲和自動化,已特征,如統一數據傳輸、結構化存儲和自動化,已經成為獨立于計算機語言、操作系統甚至硬件平臺經成為獨立于計算機語言、操作系統甚至硬件平臺的一種規范,是面向對象程序設計概念的進一步延的一種規范,是面向對象程序設計概念的進一步延伸。伸。opc建立在建立在ole規范之上,它為工業控制領規范之上,它為工業控制領域提供了一種標準的數據訪問機制。現在多家自動域提供了一種標準的數據訪問機制。現在多家自動化領域的著名廠商都支持化領域的著名廠商都支持opc接口,從而使集成接口,從而使集成各個廠家的設備和應用程序就非常容易。各個廠家的設備和應用程序就非常容易。 組態軟件組態軟件wincc及其應用

36、及其應用37青島大學自動化工程學院青島大學自動化工程學院10.6.2 wincc中的中的opc wincc全面支持全面支持opc,可以作為,可以作為opc服務器和服務器和opc客戶機。集成在基本系統中的客戶機。集成在基本系統中的opc da server,可以讓其它兼容,可以讓其它兼容opc的應用程序訪問的應用程序訪問wincc的過程數據,進行進一步的數據處理。另的過程數據,進行進一步的數據處理。另外,可以通過外,可以通過opc had(history data access)來訪問來訪問wincc的歸檔數據。作為的歸檔數據。作為hda服務器,其服務器,其它應用程序可以訪問它應用程序可以訪問w

37、incc所有的歷史數據。所有的歷史數據。在一臺計算機上安裝在一臺計算機上安裝wincc時,自動添加下列時,自動添加下列opc組件:組件:opc服務器,服務器,opc通訊驅動程序和通訊驅動程序和opc條目管理器。條目管理器。組態軟件組態軟件wincc及其應用及其應用38青島大學自動化工程學院青島大學自動化工程學院當使用當使用wincc作為作為opc客戶機時,客戶機時,“opc”通道通道必須添加到必須添加到wincc項目中。項目中。由由wincc變量實現變量實現opc服務器和服務器和opc客戶機之客戶機之間的數據交換。通過間的數據交換。通過opc軟件界面,軟件界面,wincc opc服務器允許訪問

38、服務器允許訪問wincc變量值。為此,在變量值。為此,在wincc opc客戶機的客戶機的wincc項目中創建了一個項目中創建了一個連接,它訪問連接,它訪問wincc opc服務器的服務器的wincc變量。變量。為使組態更容易,提供了為使組態更容易,提供了opc條目管理器。條目管理器。 組態軟件組態軟件wincc及其應用及其應用39青島大學自動化工程學院青島大學自動化工程學院10.6.3 opc規范規范 wincc支持的支持的opc支持的支持的opc服務器遵循以下規服務器遵循以下規范:范:opc da:opc data access 1.0a和和2.0;opc hda:opc historic

39、al data access 1.1;opc a&e:opc alarm&events 1.0;opc xda:opc xml data access 1.0。組態軟件組態軟件wincc及其應用及其應用40青島大學自動化工程學院青島大學自動化工程學院1. wincc opc da wincc既可以用做既可以用做opc da server,也可,也可以用做以用做opc da client。 (1)wincc作為作為opc da server 組態軟件組態軟件wincc及其應用及其應用41青島大學自動化工程學院青島大學自動化工程學院(2)wincc作為作為opc da client

40、 組態軟件組態軟件wincc及其應用及其應用42青島大學自動化工程學院青島大學自動化工程學院(3)使用多個)使用多個opc servers 組態軟件組態軟件wincc及其應用及其應用43青島大學自動化工程學院青島大學自動化工程學院2. wincc opc hda server wincc opc hda server是一個是一個dcom應用程序。應用程序。opc hda client可以訪問可以訪問server上的所有歸檔數上的所有歸檔數據。使用據。使用item handles來訪問數據,數據可以被來訪問數據,數據可以被讀和分析。讀和分析。wincc opc hda server遵循遵循opc

41、 historical data access 1.1規范。規范。wincc opc hda server只能在只能在wincc server上來完成。為上來完成。為了使用了使用wincc opc hda server,每個需要作為,每個需要作為wincc opc hda server的的wincc server上必上必須安裝須安裝connectivity pack授權和授權和wincc基本系統基本系統的授權。的授權。 組態軟件組態軟件wincc及其應用及其應用44青島大學自動化工程學院青島大學自動化工程學院3. wincc opc ae server wincc opc ae server同

42、樣也是一個同樣也是一個dcom應用程序。應用程序。opc ae client通過訂閱的方式跟蹤通過訂閱的方式跟蹤wincc信息的狀態信息的狀態變化。變化。opc a&e client在訂閱時可以設置過濾條件,過濾在訂閱時可以設置過濾條件,過濾條件決定了哪個消息的哪個屬性需要顯示。條件決定了哪個消息的哪個屬性需要顯示。wincc opc a&e server支持支持opc alarm&event 1.0規范,規范,wincc opc a&e server同樣只能由同樣只能由wincc server來完來完成。為了具有成。為了具有opc a&e server

43、的功能,的功能,wincc server除除了安裝基本系統的授權之外,還需安裝了安裝基本系統的授權之外,還需安裝connectivity pack授權。授權。所有遵循所有遵循opc alarm&event 1.0規范的規范的opc a&e客戶機,客戶機,都能夠訪問都能夠訪問opc a&e server。用戶開發的。用戶開發的opc a&e客戶客戶機同樣可以。用戶開發機同樣可以。用戶開發opc客戶機是滿足特殊需求的最佳客戶機是滿足特殊需求的最佳方法。方法。opc a&e客戶機可以用來分析以及歸檔來自于不同客戶機可以用來分析以及歸檔來自于不同opc a&am

44、p;e server的消息。的消息。 組態軟件組態軟件wincc及其應用及其應用45青島大學自動化工程學院青島大學自動化工程學院10.6.4 opc應用舉例應用舉例 例例1:wincc連接到連接到wincc,此兩臺計算機位于,此兩臺計算機位于相同網絡中。相同網絡中。 組態軟件組態軟件wincc及其應用及其應用46青島大學自動化工程學院青島大學自動化工程學院例例2:wincc連接到連接到excel。 組態軟件組態軟件wincc及其應用及其應用47青島大學自動化工程學院青島大學自動化工程學院例例3:以:以s7-200與與wincc通過通過opc進行通訊為例。進行通訊為例。 組態軟件組態軟件winc

45、c及其應用及其應用48青島大學自動化工程學院青島大學自動化工程學院10.7 wincc數據庫直接訪問方法數據庫直接訪問方法 不同的供應商提供了可用于訪問數據庫的接口,不同的供應商提供了可用于訪問數據庫的接口,這些接口也允許直接訪問這些接口也允許直接訪問wincc歸檔數據庫。歸檔數據庫。例如使用直接訪問可以讀出過程值,以便在電子例如使用直接訪問可以讀出過程值,以便在電子表格程序中進行處理。可以通過表格程序中進行處理。可以通過ado/ole-db,opc hda和和odk api等多種方式訪問數據庫。等多種方式訪問數據庫。 組態軟件組態軟件wincc及其應用及其應用49青島大學自動化工程學院青島大

46、學自動化工程學院10.7.1 使用使用ado/ole-db訪問歸檔數據庫訪問歸檔數據庫 1. ole-dbole-db是一種快速訪問不同數據的開放性標準,是一種快速訪問不同數據的開放性標準,與與odbc標準不同。標準不同。odbc是建立在是建立在windows api函數基礎之上的,只能通過它訪問關系型數據函數基礎之上的,只能通過它訪問關系型數據庫。而庫。而ole-db是建立在是建立在com和和dcom基礎之上基礎之上的,可以訪問關系型數據庫或非關系型數據庫。的,可以訪問關系型數據庫或非關系型數據庫。ole-db層和數據庫的連接是通過一個數據庫提供層和數據庫的連接是通過一個數據庫提供者(者(p

47、rovider)而建立的。)而建立的。ole-db接口和提供者接口和提供者是由不同的制造商提供的。除了是由不同的制造商提供的。除了wincc ole-db接口之外,還可以通過接口之外,還可以通過microsoft ole-db和和odbc來訪問來訪問wincc的歸檔數據。的歸檔數據。組態軟件組態軟件wincc及其應用及其應用50青島大學自動化工程學院青島大學自動化工程學院2. wincc ole-db provider通過通過wincc ole-db provider,可以直接訪問存,可以直接訪問存儲在儲在ms sql server數據庫中的數據。在數據庫中的數據。在wincc中,采樣周期小于

48、或等于某一設定時間周期的數中,采樣周期小于或等于某一設定時間周期的數據歸檔,以一種壓縮的方式存放在數據庫中。據歸檔,以一種壓縮的方式存放在數據庫中。wincc ole-db provider允許直接訪問這些值。允許直接訪問這些值。3. microsoft ole-db/odbc使用使用microsoft ole-db/odbc,只能訪問沒有壓,只能訪問沒有壓縮的過程值和報警消息。如果遠程訪問縮的過程值和報警消息。如果遠程訪問ms sql server數據庫,則需要一個數據庫,則需要一個wincc客戶訪問授權客戶訪問授權(cal)。)。 組態軟件組態軟件wincc及其應用及其應用51青島大學自動化工程學院青島大學自動化工程學院10.7.2使用使用wincc ole-db訪問訪問wincc數數據庫的方案據庫的方案 1. 訪問本地訪問本地wincc實時運行數據庫實時運行數據庫 組態軟件組態軟件wincc及其應用及其應用52青島大學自動化工程學院青島大學自動化工程學院2. 遠程訪問遠程訪問wincc實時運行數據庫實時運

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論