第10章 WinCC的开放性

上传人:壹****1 文档编号:578677284 上传时间:2024-08-24 格式:PPT 页数:58 大小:479.02KB
返回 下载 相关 举报
第10章 WinCC的开放性_第1页
第1页 / 共58页
第10章 WinCC的开放性_第2页
第2页 / 共58页
第10章 WinCC的开放性_第3页
第3页 / 共58页
第10章 WinCC的开放性_第4页
第4页 / 共58页
第10章 WinCC的开放性_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《第10章 WinCC的开放性》由会员分享,可在线阅读,更多相关《第10章 WinCC的开放性(58页珍藏版)》请在金锄头文库上搜索。

1、组态软件组态软件WinCC及其应用及其应用第第10章章 WinCC的开放性的开放性10.1 OLE应用应用10.2 DDE连接连接10.3 API应用应用10.4 使用使用ActiveX控件控件10.5 利用脚本实现开放性数据交换利用脚本实现开放性数据交换10.6 OPC应用应用10.7 WinCC数据库直接访问方法数据库直接访问方法青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用WinCC以以Microsoft技术作为后盾,几乎集成了技术作为后盾,几乎集成了Microsoft所有的开放性技术,包括所有的开放性技术,包括ActiveX,DDE,OPC,VB

2、A,VBS,OLE,API以及以及Microsoft强强大而高效的数据库大而高效的数据库Microsoft SQL Server 2000,通,通过它们可以把自己的应用程序集成到过它们可以把自己的应用程序集成到WinCC中。中。青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用10.1 OLE应用应用 OLE是通过其它程序函数访问是通过其它程序函数访问WinCC,本例介绍,本例介绍Microsoft Office Word和和WinCC通过通过OLE进行连进行连接。接。 青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用新

3、建一个画面,拖动对象选项板新建一个画面,拖动对象选项板“标准标准”选项卡选项卡“智能对象智能对象OLE元素元素”到编辑区,图示对话框到编辑区,图示对话框自动打开,选择自动打开,选择“新建新建”项,对象类型为项,对象类型为“Mirosoft Word图片图片”,单击确定在画面中插,单击确定在画面中插入一个入一个OLE元素元素 青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用双击画面中的双击画面中的OLE元素,启动由元素,启动由Microsoft Word打开的文件,输入希望的内容,如艺术字打开的文件,输入希望的内容,如艺术字“OLE元元素素”测试,关闭测试,

4、关闭Microsoft Word,则画面如图所,则画面如图所示,可以调整该对象的尺寸,双击打开示,可以调整该对象的尺寸,双击打开Microsoft Word编辑软件。编辑软件。 青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用10.2 DDE连接连接 此处以此处以WinCC与与Excel的本地的本地DDE通信为例通信为例 10.2.1 WinCC作为作为DDE的服务器,的服务器,Excel作作为为DDE的客户端的客户端 青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用1. 在在WinCC项目管理器打开项目管理器打开“计

5、算机属性计算机属性”对话对话框,框,“启动启动”选项卡中单击选项卡中单击“浏览浏览”按钮添加按钮添加WinCC安装目录中的应用程序安装目录中的应用程序DdeServ.exe,如,如图图10-4所示,同时添加命令行参数:所示,同时添加命令行参数:/v /n。青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用2. 激活激活WinCC项目后,将弹出图项目后,将弹出图10-5所示的所示的“WinCC DDE-Server”对话框,单击对话框,单击“Tag List”按按钮选择要访问

6、的变量,单击确定将变量的连接信钮选择要访问的变量,单击确定将变量的连接信息复制到息复制到Windows的剪贴板上。的剪贴板上。3. 打开打开Excel,任意双击选中一个单元格,将,任意双击选中一个单元格,将Windows剪贴板上的内容粘贴到该单元格中,然剪贴板上的内容粘贴到该单元格中,然后在第一个字符前添加后在第一个字符前添加“=”号,如以访问变量号,如以访问变量Tag1为例,则单元格中的内容为:为例,则单元格中的内容为:=WinCC|LHBWinCC60_Project_test20090119test20090119.MCP!Tag1完成对单元格的输入。完成对单元格的输入。4. 根据需要添

7、加多个变量。根据需要添加多个变量。青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用需要注意以下两点:需要注意以下两点:(1)WinCC DdeServ.exe要一直保持运行;要一直保持运行;(2)这种连接是单向的,即只能)这种连接是单向的,即只能WinCC中变量中变量改变在改变在Excel中体现,而无法在中体现,而无法在Excel中修改该变中修改该变量的值。量的值。 青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用10.2.2 WinCC作为作为DDE的客户端,的客户端,Excel作作为为DDE的服务器的服务器 1.

8、在在WinCC项目管理器右键单击项目管理器右键单击“变量管理变量管理”选选择择“添加新的驱动程序:添加新的驱动程序:windows dde.chn”建立建立“WINDOWS DDE”通道,建立新的驱动程序连接通道,建立新的驱动程序连接NewConnection,连接属性如图,连接属性如图10-6所示。所示。 青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用其中,其中,“计算机名称计算机名称”为空,为空,“应用程序应用程序”为为“Excel”,“主题主题”为为“Excel文件名文件名工作表工作表名名”,如,如aaa.xlsSheet1中中aaa.xls为为E

9、xcel文文件名,件名,Sheet1为工作表名。为工作表名。 青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用2. 建立新变量,在变量属性对话框中单击建立新变量,在变量属性对话框中单击“选择选择”按钮,在按钮,在“条目名称条目名称”输入:输入:r行数行数c列数,如列数,如r1c1表示第一行第一列的单元格,如图表示第一行第一列的单元格,如图10-7所示。单击所示。单击确定完成一个变量的组态。确定完成一个变量的组态。 青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软

10、件WinCC及其应用及其应用10.3 API应用应用 每个每个WinCC组件如变量管理器,图形编辑器,全组件如变量管理器,图形编辑器,全局脚本,报警记录,变量记录,报表编辑器,用局脚本,报警记录,变量记录,报表编辑器,用户管理,文本库等都有一个户管理,文本库等都有一个API接口用以开放接口用以开放WinCC供其它应用程序使用,当然,也可以通过供其它应用程序使用,当然,也可以通过WinCC使用使用Windows API。 青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用例例1:在:在WinCC项目中调用一个用户指定的帮助。项目中调用一个用户指定的帮助。 #p

11、ragmacode(user32.dll)BOOLWinHelpA(hwnd,lpszHelpFile,fuCommand,dwData);#pragmacode()#defineHELP_CONTENTS0x0003LvoidWinHelpApi()HWNDhwnd;/*需要的帮助窗口句柄*/charHelpFile255;UINTfuCommand;/*帮助类型*/DWORDdwData;/*附加数据*/BOOLbRetVal;LPCTSTRlpszHelp;lpszHelp=HelpFile;strcpy(HelpFile,c:WindowsHelpade.hlp);hwnd=FindW

12、indow(PDLRTisAliveAndWaitsForYou,WinCCRuntime-);fuCommand=HELP_CONTENTS;dwData=0L;bRetVal=WinHelpA(DWORD)hwnd,(DWORD)lpszHelp,fuCommand,dwData);printf(hwnd:%drn,hwnd);printf(HelpFile:%srn,HelpFile);printf(bRetVal:%drn,bRetVal);青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用例例2:通过脚本函数在:通过脚本函数在WinCC中创建一个新

13、目录。中创建一个新目录。 #pragmacode(kernel32.dll);BOOLCreateDirectoryA(LPCTSTR,LPSECURITY_ATTRIBUTES);#pragmacode();CreateDirectoryA(c:test,NULL);青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用例例3:使用:使用API函数函数“Sleep()()”。#pragmacode(Kernel32.dll)voidSleep(intMilliseconds);#pragmacode()Sleep(1000);/以毫秒为单位青岛大学自动化工程学

14、院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用例例4:打开一个应用程序如:打开一个应用程序如Adobe Reader 8.0使其使其在前台且一直保持在前台。在前台且一直保持在前台。 #includeapdefap.hvoidOnClick(char*lpszPictureName,char*lpszObjectName,char*lpszPropertyName)HWNDHandle=NULL;Handle=FindWindow(AcrobatSDIWindow,NULL);if(Handle)ShowWindow(Handle,SW_SHOWNORMAL);elsePro

15、gramExecute(C:/ProgramFiles/Adobe/Reader8.0/Reader/AcroRD32.exe);Handle=FindWindow(NULL,AdobeReader);SetWindowPos(Handle,HWND_TOPMOST,400,200,520,420,0);按钮的按钮的C动作动作青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用编写下面编写下面C函数,在窗口中指明窗口类的名称。函数,在窗口中指明窗口类的名称。 #includeapdefap.hvoidOnClick(char*lpszPictureName,c

16、har*lpszObjectName,char*lpszPropertyName)charwinclass256;HWNDHandle=NULL;Handle=FindWindow(NULL,AdobeReader);if(!Handle)ProgramExecute(C:/ProgramFiles/Adobe/Reader8.0/Reader/AcroRD32.exe);Handle=FindWindow(NULL,AdobeReader);GetClassName(Handle,winclass,sizeof(winclass)-1);printf(WindowClassName:%srn

17、,winclass);青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用例例5:WinCC中通过中通过C脚本实现声音输出。脚本实现声音输出。 #includeapdefap.hvoidOnClick(char*lpszPictureName,char*lpszObjectName,char*lpszPropertyName,UINTnFlags,intx,inty)#pragmacode(Winmm.dll)VOIDWINAPIPlaySoundA(char*pszSound,char*hmode,DWORDdwflag);#pragmacode()Play

18、SoundA(C:WindowsMediading.wav,NULL,1);/正确的路径青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用例例6:在:在 WinCC 运行系统中,想打开一个文件编运行系统中,想打开一个文件编辑,如:辑,如:(1)在运行时打开导出的归档段(变量日志)在运行时打开导出的归档段(变量日志/报报警),以便通过运行系统数据库更正它们,然后警),以便通过运行系统数据库更正它们,然后再断开它们的连接。再断开它们的连接。 (2)选择并打开日志文件。)选择并打开日志文件。 (3)将导出的数据)将导出的数据 (例如,归档段、日志文件)(例如,归档

19、段、日志文件)复制到另一个驱动器。复制到另一个驱动器。本例描述如何利用本例描述如何利用 Windows API 函数函数“GetOpenFileName()”调用调用 Windows 文件打开文件打开对话框、预设需要的值(路径、标题、文件类型)对话框、预设需要的值(路径、标题、文件类型)、在脚本中评估选定的文件并处理它,如下:、在脚本中评估选定的文件并处理它,如下: 青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用脚本见下面备注脚本见下面备注青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用10.4 使用使用Active

20、X控件控件 OCX和和ActiveX对象提供了未被对象提供了未被WinCC的对象默认的对象默认包含的某些功能。包含的某些功能。WinCC使使OCX和和ActiveX对象可对象可以嵌入到画面中,从而实现更多复杂的功能。以嵌入到画面中,从而实现更多复杂的功能。ActiveX是基于是基于COM(Component Object Model)的可视化控件结构的名称,是一种封装技)的可视化控件结构的名称,是一种封装技术,提供封装术,提供封装COM组件并将其置入应用程序的一组件并将其置入应用程序的一种方法。在操作系统中注册的所有种方法。在操作系统中注册的所有ActiveX控件均控件均可用于可用于WinCC

21、。 青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用10.4.1 在在WinCC中直接插入中直接插入ActiveX控件控件 青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用10.4.2 用用VBScript访问访问ActiveX控件控件 画面中已经插入了外部的画面中已经插入了外部的ActiveX控件,可以用控件,可以用VBScript中的中的ScreenItems对象来访问修改对象来访问修改ActiveX控件对象的属性。例如在画面中插入了一控件对象的属性。例如在画面中插入了一个个ActiveX控件,给它命名为控件,给它

22、命名为“Control1”,那么,那么可以通过以下的代码修改它的高度、宽度以及其可以通过以下的代码修改它的高度、宽度以及其它特殊属性等。它特殊属性等。Dim ControlSet Control=ScreenItems(Controll”)Contr01.Height=5注意:注意:VBScript是操作对象的运行状态属性;而是操作对象的运行状态属性;而VBA是操纵对象的组态属性。是操纵对象的组态属性。 青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用10.4.3 用用VBA组态组态ActiveX控件控件 本例用本例用VBA在画面中插入一个在画面中插入一个

23、ActiveX控件的控件的WinCC Gauge控件,并调整控件的属性。控件,并调整控件的属性。Sub AddActiveXControl()Dim objActiveXControl As HMIActiveXControlSet objActiveXControl=ActiveDocument.HMIObjects.AddActiveXControl(”WinCC_Gauge”, ”XGAUGE.XGaugeCtrl.1”)End Sub青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用下面的例子中,在当前打开的画面中插入了下面的例子中,在当前打开的画面

24、中插入了WinCC Gauge控件,并把它命名为控件,并把它命名为“WinCC_Gauge2”,然后修改,然后修改其部分属性。需要注意其部分属性。需要注意AddActiveXControl函数的参数,函数的参数,第一个参数为插入控件的名称;第二个参数为属性第一个参数为插入控件的名称;第二个参数为属性ProgID,其值可从图,其值可从图10-8的的“选择选择OCX控件控件”对话框选中对话框选中WinCC Gauge Control得到。得到。Sub AddActiveXControl()Dim objActiveXControl As HMIActiveXControlSet objActive

25、XControl=ActiveDocument.HMIObjects.AddActiveXControl(”WinCC_Gauge 2”, ”XGAUGE.XGaugeCtrl.1”)objActiveXControl.Top=40objActiveXControl.Left=60objActiveXControl.Properties(”BackColor”).value=RGB(255,0,0)End Sub青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用10.5 利用脚本实现开放性数据交换利用脚本实现开放性数据交换 10.5.1 VBScript实现

26、开放性数据交换实现开放性数据交换 例例1:VBScript实现实现WinCC与与Excel之间的数据交之间的数据交换。本例中输入换。本例中输入/输出域中的值写入到了输出域中的值写入到了Excel表表格中。格中。 青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用DimobjExcelAppSetobjExcelApp=CreateObject(“Excel.Application”)objExcelApp.Visible=TrueExcelExample.xls必须在执行这个过程之前已经创建好用ExcelExample.xls文件的真实路径来替换ObjExc

27、elApp.Workbooks.Open”ExcelExample.xls”objExcelApp.Cells(4,3).Value=Screenltems(”IOFieldl”).OutputValueobjExcelApp.ActiveWorkbook.SaveobjExcelApp.Workbooks.CloseobjExcelApp.QuitSetobjExcelApp=Nothing青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用例例2:从:从MS Access中打开一个报表。中打开一个报表。 DimobjAccessAppSetobjAcces

28、sApp=CreateObject(”Access.Application”)objAccessApp.Visible:TrueDbSamplemdbandRPT_WINCC_DATA必须在执行这段过程之前已经创建好用数据库文件DbSample.mdb的真实路径替代objAccessApp.OpenCurrentDatabase”DbSamplemdb”.FalseobjAccessApp.DoCmd.OpenReport”RPT_WINCC_DATA”,2objAccessApp.closecurrentDatabaseSetobjAccessApp=Nothing青岛大学自动化工程学院青岛

29、大学自动化工程学院组态软件组态软件WinCC及其应用及其应用例例3:用:用VBScript打开打开MS Internet Explorer。 DimobjIESetobjIE=CreateObject(”InternetExplorer.Application”)objIE.Navigate”http:/DoLoopWhileobjIE.BusyobjIE.Resizable=TrueobjIE.Width=500objIE.Height=500objIE.Left=0objIE.Top=0objIE.Visible=True青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinC

30、C及其应用及其应用例例4:用:用VBScript组态数据库连接。组态数据库连接。 本例中本例中WinCC变量值通过变量值通过ODBC driver写到写到Access数据库。数据库。(1)创建)创建Access数据库,在数据库中创建一张数据库,在数据库中创建一张WinCC_DATA数据表。表中有两个字段(数据表。表中有两个字段(ID,TagValue),),ID值是自动产生的值。值是自动产生的值。(2)创建)创建ODBC数据源,名称定义为数据源,名称定义为SampleDSN指向上面的指向上面的Access Database。(3)编写下列程序(见备注)。)编写下列程序(见备注)。 此处使用了此

31、处使用了VB中的数据库访问控件中的数据库访问控件ADO。ADO控件是一种控件是一种OLE DB的控件,也可以用作的控件,也可以用作ODBC方方式访问数据库。式访问数据库。 青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用10.5.2 C-Script实现开放性数据交换实现开放性数据交换 C Script是功能最全的脚本系统,它可以操纵是功能最全的脚本系统,它可以操纵WinCC所有对象的组态和运行属性。通过所有对象的组态和运行属性。通过C Script,也可以进行一些开放性的操作。,也可以进行一些开放性的操作。 例例1:用:用C-Script进行文件操作。进

32、行文件操作。 脚本见下面备注脚本见下面备注青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用例例2:用:用C-Script调用系统时间。调用系统时间。 #include“apdefap.h”char*_main(char*ipszPictureName,char*ipszObjectName,char*ipszProperty)#pragmacode(“kernel32.dll”)VOIDGetLocalTime(LPSYSTEMTIMEipSystemTime);#pragmacode()SYSTEMTIMEsysTime;CharszTime6=”;Ge

33、tLocalTime(&sysTime);Sprintf(szTime,02d:02d”,sysTime.wHour,sysTime.wMinute):ReturnszTime;)青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用10.6 OPC应用应用 OPC是是OLE for Process Control的缩写,即把的缩写,即把OLE技术应用于工业控制领域。技术应用于工业控制领域。OLE原意是原意是“对象对象链接与嵌入链接与嵌入”,随着,随着OLE2.0的发布,其范围已远的发布,其范围已远远超出了这个概念。现在的远超出了这个概念。现在的OLE包容了许多

34、新的特包容了许多新的特征,如统一数据传输、结构化存储和自动化,已经征,如统一数据传输、结构化存储和自动化,已经成为独立于计算机语言、操作系统甚至硬件平台的成为独立于计算机语言、操作系统甚至硬件平台的一种规范,是面向对象程序设计概念的进一步延伸。一种规范,是面向对象程序设计概念的进一步延伸。OPC建立在建立在OLE规范之上,它为工业控制领域提规范之上,它为工业控制领域提供了一种标准的数据访问机制。现在多家自动化领供了一种标准的数据访问机制。现在多家自动化领域的著名厂商都支持域的著名厂商都支持OPC接口,从而使集成各个厂接口,从而使集成各个厂家的设备和应用程序就非常容易。家的设备和应用程序就非常容

35、易。 青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用10.6.2 WinCC中的中的OPC WinCC全面支持全面支持OPC,可以作为,可以作为OPC服务器和服务器和OPC客户机。集成在基本系统中的客户机。集成在基本系统中的OPC DA Server,可以让其它兼容,可以让其它兼容OPC的应用程序访问的应用程序访问WinCC的过程数据,进行进一步的数据处理。另的过程数据,进行进一步的数据处理。另外,可以通过外,可以通过OPC HAD(History Data Access)来访问)来访问WinCC的归档数据。作为的归档数据。作为HDA服务器,其它应用程序

36、可以访问服务器,其它应用程序可以访问WinCC所有的历所有的历史数据。史数据。在一台计算机上安装在一台计算机上安装WinCC时,自动添加下列时,自动添加下列OPC组件:组件:OPC服务器,服务器,OPC通讯驱动程序和通讯驱动程序和OPC条目管理器。条目管理器。青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用当使用当使用WinCC作为作为OPC客户机时,客户机时,“OPC”通道通道必须添加到必须添加到WinCC项目中。项目中。由由WinCC变量实现变量实现OPC服务器和服务器和OPC客户机之客户机之间的数据交换。通过间的数据交换。通过OPC软件界面,软件界面

37、,WinCC OPC服务器允许访问服务器允许访问WinCC变量值。为此,在变量值。为此,在WinCC OPC客户机的客户机的WinCC项目中创建了一个项目中创建了一个连接,它访问连接,它访问WinCC OPC服务器的服务器的WinCC变量。变量。为使组态更容易,提供了为使组态更容易,提供了OPC条目管理器。条目管理器。 青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用10.6.3 OPC规范规范 WinCC支持的支持的OPC支持的支持的OPC服务器遵循以下规服务器遵循以下规范:范:OPC DA:OPC Data Access 1.0a和和2.0;OPC H

38、DA:OPC Historical Data Access 1.1;OPC A&E:OPC Alarm&Events 1.0;OPC XDA:OPC XML Data Access 1.0。青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用1. WinCC OPC DA WinCC既可以用做既可以用做OPC DA Server,也可,也可以用做以用做OPC DA Client。 (1)WinCC作为作为OPC DA Server 青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用(2)WinCC作为作为OPC DA Cli

39、ent 青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用(3)使用多个)使用多个OPC Servers 青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用2. WinCC OPC HDA Server WinCC OPC HDA Server是一个是一个DCOM应用程序。应用程序。OPC HDA Client可以访问可以访问Server上的所有归档数上的所有归档数据。使用据。使用Item Handles来访问数据,数据可以被来访问数据,数据可以被读和分析。读和分析。WinCC OPC HDA Server遵循遵循OPC

40、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及其应用及其应用3. WinCC OPC AE Server WinCC OPC AE Server同样也是

41、一个同样也是一个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的功能,的功能,WinCC Server除除了

42、安装基本系统的授权之外,还需安装了安装基本系统的授权之外,还需安装Connectivity Pack授权。授权。所有遵循所有遵循OPC Alarm&Event 1.0规范的规范的OPC A&E客户机,客户机,都能够访问都能够访问OPC A&E Server。用户开发的。用户开发的OPC A&E客户客户机同样可以。用户开发机同样可以。用户开发OPC客户机是满足特殊需求的最佳客户机是满足特殊需求的最佳方法。方法。OPC A&E客户机可以用来分析以及归档来自于不同客户机可以用来分析以及归档来自于不同OPC A&E Server的消息。的消息。 青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态

43、软件WinCC及其应用及其应用10.6.4 OPC应用举例应用举例 例例1:WinCC连接到连接到WinCC,此两台计算机位于,此两台计算机位于相同网络中。相同网络中。 青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用例例2:WinCC连接到连接到Excel。 青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用例例3:以:以S7-200与与WinCC通过通过OPC进行通讯为例。进行通讯为例。 青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用10.7 WinCC数据库直接访问方法数据库

44、直接访问方法 不同的供应商提供了可用于访问数据库的接口,不同的供应商提供了可用于访问数据库的接口,这些接口也允许直接访问这些接口也允许直接访问WinCC归档数据库。例归档数据库。例如使用直接访问可以读出过程值,以便在电子表如使用直接访问可以读出过程值,以便在电子表格程序中进行处理。可以通过格程序中进行处理。可以通过ADO/OLE-DB,OPC HDA和和ODK API等多种方式访问数据库。等多种方式访问数据库。 青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用10.7.1 使用使用ADO/OLE-DB访问归档数据库访问归档数据库 1. OLE-DBOLE-

45、DB是一种快速访问不同数据的开放性标准,是一种快速访问不同数据的开放性标准,与与ODBC标准不同。标准不同。ODBC是建立在是建立在Windows API函数基础之上的,只能通过它访问关系型数据库。函数基础之上的,只能通过它访问关系型数据库。而而OLE-DB是建立在是建立在COM和和DCOM基础之上的,基础之上的,可以访问关系型数据库或非关系型数据库。可以访问关系型数据库或非关系型数据库。OLE-DB层和数据库的连接是通过一个数据库提供层和数据库的连接是通过一个数据库提供者(者(provider)而建立的。)而建立的。OLE-DB接口和提供者接口和提供者是由不同的制造商提供的。除了是由不同的制

46、造商提供的。除了WinCC OLE-DB接口之外,还可以通过接口之外,还可以通过MicrOsoft OLE-DB和和ODBC来访问来访问WinCC的归档数据。的归档数据。青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用2. WinCC OLE-DB Provider通过通过WinCC OLE-DB Provider,可以直接访问存,可以直接访问存储在储在MS SQL Server数据库中的数据。在数据库中的数据。在WinCC中,采样周期小于或等于某一设定时间周期的数中,采样周期小于或等于某一设定时间周期的数据归档,以一种压缩的方式存放在数据库中。据归档,以

47、一种压缩的方式存放在数据库中。WinCC OLE-DB Provider允许直接访问这些值。允许直接访问这些值。3. Microsoft OLE-DB/ODBC使用使用Microsoft OLE-DB/ODBC,只能访问没有压,只能访问没有压缩的过程值和报警消息。如果远程访问缩的过程值和报警消息。如果远程访问MS SQL Server数据库,则需要一个数据库,则需要一个WinCC客户访问授权客户访问授权(CAL)。)。 青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用10.7.2使用使用WinCC OLE-DB访问访问WinCC数数据库的方案据库的方案 1

48、. 访问本地访问本地WinCC实时运行数据库实时运行数据库 青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用2. 远程访问远程访问WinCC实时运行数据库实时运行数据库 青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用3. 访问本地归档数据库访问本地归档数据库 青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用4. 远程访问远程访问WinCC长期归档数据库长期归档数据库 青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用10.7.3 ADO/Win

49、CC OLE-DB数据库访问举数据库访问举例例 1. 用用WinCC OLE-DB读取过程值归档读取过程值归档 在本例中,变量在本例中,变量Tag1最后最后10 min的值从的值从WinCC运运行数据库中读出,并显示在一个行数据库中读出,并显示在一个List View中,输中,输出值限制在出值限制在1000以内。具体步骤如下:以内。具体步骤如下:(1)创建一个)创建一个WinCC变量变量Tag1。(2)创建一个过程值归档)创建一个过程值归档PVArchivel,把,把Tagl和和归档相连接。归档相连接。(3)创建一个)创建一个VB工程,连接工程,连接MS Windows Common Cont

50、rols 6.0 “ListView Control”,命,命名为名为ListViewl。ListViewl中的列由脚本创建。中的列由脚本创建。青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用(4)创建一个命令按钮,把下面的脚本拷贝到按)创建一个命令按钮,把下面的脚本拷贝到按钮事件中。钮事件中。脚本见下面备注脚本见下面备注注意:在脚本中要把注意:在脚本中要把WinCC Runtime Database的名称的名称CC_OpenArch_03_05_27_14_11_ 46R改改为自己的工程数据库的名称。数据库名称可通过为自己的工程数据库的名称。数据库名称可

51、通过SQL Server Group/WinCCDatabases来查看。来查看。 (5)激活)激活WinCC工程,启动工程,启动VB应用程序,单击应用程序,单击“命令命令”按钮。按钮。 青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用2. 用用ADO/WinCC OLE-DB查看报警信息归档查看报警信息归档 在此例中,从报警消息归档数据中读取在此例中,从报警消息归档数据中读取10 min时时间间隔的数据。数据带有时间标记、消息编号、间间隔的数据。数据带有时间标记、消息编号、状态和消息类型显示在状态和消息类型显示在ListView对象中。具体步对象中。具体

52、步骤如下:骤如下:(1)在报警记录中组态报警,激活报警记录。)在报警记录中组态报警,激活报警记录。(2)创建一个)创建一个VB工程,连接工程,连接MS Windows Common Controls 6.0 “ListView Control”,命,命名为名为ListViewl。ListViewl中的列由脚本创建。中的列由脚本创建。(3)创建一个命令按钮,把下面的脚本添加到按)创建一个命令按钮,把下面的脚本添加到按钮事件中(见备注)。钮事件中(见备注)。 青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用注意:在脚本中把注意:在脚本中把WinCC Runtime Database的的名称名称CC_OpenArch_03_05_27_14_11_46R改为改为自己的工程数据库的名称。数据库名称可在自己的工程数据库的名称。数据库名称可在SQL EnterPrise Manager中通过中通过SQL Server Group/WinCCDatabases查看。查看。(4)激活)激活WinCC工程,启动工程,启动VB应用程序,单击应用程序,单击“命令命令”按钮。按钮。 青岛大学自动化工程学院青岛大学自动化工程学院

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号