17
Siemens SUKUNZHE simatic hmi 开放性

simatic hmi - gongkongftp.gongkong.com/UploadFile/datum/2009-4/2009041319551700001.pdf · Your Success is Our Goal VBScript组态数据库连接 例2.用VBScript组态数据库连接

  • Upload
    others

  • View
    36

  • Download
    0

Embed Size (px)

Citation preview

Page 1: simatic hmi - gongkongftp.gongkong.com/UploadFile/datum/2009-4/2009041319551700001.pdf · Your Success is Our Goal VBScript组态数据库连接 例2.用VBScript组态数据库连接

Siemens

SUKUNZHE

simatic hmi开放性

Page 2: simatic hmi - gongkongftp.gongkong.com/UploadFile/datum/2009-4/2009041319551700001.pdf · Your Success is Our Goal VBScript组态数据库连接 例2.用VBScript组态数据库连接

Your Success is Our Goal

WinCC 始终代表着 高水准的开放性

开放的操作系统

灵活的脚本

ActiveX控件

OPC

高性能的数据库

Page 3: simatic hmi - gongkongftp.gongkong.com/UploadFile/datum/2009-4/2009041319551700001.pdf · Your Success is Our Goal VBScript组态数据库连接 例2.用VBScript组态数据库连接

Your Success is Our Goal

Windows 2000/XP-开放的操作系统

Windows 2000 (advanced)server 和Windows XP专业版是WinCC server,client和单站系统开放性的平台.

开放的操作系统

灵活的脚本

ActiveX控件

OPC

高性能的数据库

Page 4: simatic hmi - gongkongftp.gongkong.com/UploadFile/datum/2009-4/2009041319551700001.pdf · Your Success is Our Goal VBScript组态数据库连接 例2.用VBScript组态数据库连接

Your Success is Our Goal

VBScript 和C script-编写脚本的明智选择

脚本可以控制图形对象的动态行为,与其他制造商的对象模型建立连接.

C脚本实现开放性数据交换

VBScript实现开放性数据交换

开放的操作系统

灵活的脚本

例1:用VBScript实现WinCC与EXCEL之间的数据交换。本例中,输入/输出域中的值写入到了EXCEL表格中。Dim objExcelAppSet objExcelApp = CreateObject("Excel. Application")objExcelApp. Visible = True''ExcelExample.xls必须在执行这个过程之前已经创建好。'用ExcelExample.xls 文件的真实路径来替换 <path> .ObjExcelApp.Workbooks.Open "<path>\ExcelExample.xls"objExcelApp. Cells(4, 3).Value = ScreenItems("IOField1").OutputValueobjExcelApp.ActiveWorkbook.SaveobjExcelApp.Workbooks.CloseobjExcelApp.QuitSet objExcelApp = Nothing

ActiveX控件

OPC

高性能的数据库

Page 5: simatic hmi - gongkongftp.gongkong.com/UploadFile/datum/2009-4/2009041319551700001.pdf · Your Success is Our Goal VBScript组态数据库连接 例2.用VBScript组态数据库连接

Your Success is Our Goal

VBScript组态数据库连接例2.用VBScript组态数据库连接在本例中,WinCC变量值通过ODBC driver写到ACCESS数据库。基本过程是1. 创建ACCESS数据库,在数据库中创建一张WINCC_DATA数据表,表中有两个字段(ID,TagValue)

,ID值是自动产生的值。2. 创建ODBC数据源,名称定义为“SampleDSN”指向上面的Access database。3. 编写下列程序。Dim objConnectionDim strConnectionStringDim lngValueDim strSQLDim objCommandstrConnectionString = "Provider=MSDASQL;DSN=SampleDSN;UID=;PWD=;" lngValue = HMIRuntime.Tags("Tag1").ReadstrSQL = "INSERT INTO WINCC_DATA (TagValue) VALUES (" & lngValue & ");" Set objConnection = CreateObject("ADODB.Connection")objConnection.ConnectionString = strConnectionStringobjConnection.OpenSet objCommand = CreateObject("ADODB.Command")With objCommand

.ActiveConnection = objConnection

.CommandText = strSQLEnd WithobjCommand.ExecuteSet objCommand = NothingobjConnection.CloseSet objConnection = Nothing

开放的操作系统

灵活的脚本

ActiveX控件

OPC

高性能的数据库

Page 6: simatic hmi - gongkongftp.gongkong.com/UploadFile/datum/2009-4/2009041319551700001.pdf · Your Success is Our Goal VBScript组态数据库连接 例2.用VBScript组态数据库连接

Your Success is Our Goal

ActiveX控件-应用程序模块的开放接口

开放的操作系统 ActiveX 是基于 Component Object

Model (COM) 的可视化控件结构的商标名称。它是一种封装技术,提供封装COM 组件并将其置入应用程序(如(但不限于)Web 浏览器)的一种方法。ActiveX 控件是 VBX 的后继产品。您也可认为曾称做 OLE Custom Control(或 OCX)的组件是 ActiveX 控件。在操作系统中注册的所有ActiveX控件均可用于WinCC。

灵活的脚本

ActiveX控件

OPC

高性能的数据库

Page 7: simatic hmi - gongkongftp.gongkong.com/UploadFile/datum/2009-4/2009041319551700001.pdf · Your Success is Our Goal VBScript组态数据库连接 例2.用VBScript组态数据库连接

Your Success is Our Goal

在WinCC中直接插入ActiveX控件

开放的操作系统 打开“选择OCX控

件”对话框

添加ActiveX控件到对象选项板

未注册的控件可通过“注册OCX”按钮来注册

灵活的脚本

ActiveX控件

OPC

高性能的数据库

Page 8: simatic hmi - gongkongftp.gongkong.com/UploadFile/datum/2009-4/2009041319551700001.pdf · Your Success is Our Goal VBScript组态数据库连接 例2.用VBScript组态数据库连接

Your Success is Our Goal

脚本访问ActiveX控件的属性

用VBScript访问ActiveX控件

Dim ControlSet Control=ScreenItems("Control1")Control.Height=5

开放的操作系统

用VBA组态ActiveX控件Sub AddActiveXControl()Dim objActiveXControl As HMIActiveXControlSet objActiveXControl = ActiveDocument.HMIObjects.AddActiveXControl("WinCC_Gauge2", "XGAUGE.XGaugeCtrl.1")''move ActiveX-control:objActiveXControl.Top = 40objActiveXControl.Left = 60''Change individual property:objActiveXControl.Properties("BackColor").value= RGB(255, 0, 0)End Sub

左面的例子中,我们在当前打开的画面中插入了WinCC gauge 控件,并把他命名为WinCC_Gauge2,然后修改了

一些属性。其中AddActiveXControl函数的参

数需要注意,第一个参数为插入控件的名称,第二个属性为ProgID,他的值可以从控

件选择对话框的左下角得到,

灵活的脚本

ActiveX控件

OPC

高性能的数据库

Page 9: simatic hmi - gongkongftp.gongkong.com/UploadFile/datum/2009-4/2009041319551700001.pdf · Your Success is Our Goal VBScript组态数据库连接 例2.用VBScript组态数据库连接

Your Success is Our Goal

开放的操作系统 OPC(OLE for Process Control)是基于微软COM(组件

对象模型)技术的。COM对象可以在网络上透明的分布,所以OPC Client可以通过DCOM(分布式COM)的方式访问OPC服务器。现在300多家自动化领域的著名厂商都支持OPC 接口,其中包括SIEMENS公司。

灵活的脚本

ActiveX控件

SIMATIC WinCC全面支持OPC,也就是说WinCC 中的OPC 符合OPC基金会的OPC规范。集成在基本系统中的OPC DA server 可以让其他兼容OPC 的应用程序访问WinCC的过程数据,进行进一步的数据处理。

OPC

高性能的数据库

Page 10: simatic hmi - gongkongftp.gongkong.com/UploadFile/datum/2009-4/2009041319551700001.pdf · Your Success is Our Goal VBScript组态数据库连接 例2.用VBScript组态数据库连接

Your Success is Our Goal

WinCC OPC DAWinCC 作为OPC DA Server

开放的操作系统

灵活的脚本

ActiveX控件

OPC因为有了OPC DA Server, 外部应用程序可以访问WinCC 项目中的所有数据。这些应用程序可以和WinCC运行在同一台

计算机上,也可以运行在网络中的另外一台计算机上。如下图所示,通过OPC DA ,WinCC tag 可被导出到Excel中。

高性能的数据库

Page 11: simatic hmi - gongkongftp.gongkong.com/UploadFile/datum/2009-4/2009041319551700001.pdf · Your Success is Our Goal VBScript组态数据库连接 例2.用VBScript组态数据库连接

Your Success is Our Goal

WinCC OPC DA

WinCC 作为OPC DA Client开放的操作系统

在WINCC管理

器中加入“OPC”通讯通道后,WinCC就可以作为WinCC client 使用

灵活的脚本

ActiveX控件

OPC

高性能的数据库

Page 12: simatic hmi - gongkongftp.gongkong.com/UploadFile/datum/2009-4/2009041319551700001.pdf · Your Success is Our Goal VBScript组态数据库连接 例2.用VBScript组态数据库连接

Your Success is Our Goal

WinCC OPC DA

使用多个OPC Servers开放的操作系统

多个OPC DA Server可以安装在同一台计算机上,并且可以同时并行运行。这样,WinCC OPC DA server 和其他(第三方)OPC DA Server可以同时在一台计算机上相互独立运行。WinCC OPC DA client 可以通过第三方供应商提供的OPC DA Server来访问自

动化设备上的过程数据

灵活的脚本

ActiveX控件

OPC

高性能的数据库

Page 13: simatic hmi - gongkongftp.gongkong.com/UploadFile/datum/2009-4/2009041319551700001.pdf · Your Success is Our Goal VBScript组态数据库连接 例2.用VBScript组态数据库连接

Your Success is Our Goal

WinCC OPC HDA Server

开放的操作系统 WinCC OPC HDA Server 是一个DCOM 应用

程序。OPC HAD client 可以访问server上的所有归档数据。使用Item Handles来访问数据。数据可以被读和分析。WINCC OPC HDA SERVER 遵循OPC Historical Data Access 1.1规范。WinCC OPC HDA Server只能在WinCC server上来完成。

为了使用WinCC OPC HDA Server,每个需要作为WinCC OPC HDA Server的WinCC server上必须安装 Connectivity Pack 授权和WinCC 基本系统的授权。

灵活的脚本

ActiveX控件

OPC

高性能的数据库

Page 14: simatic hmi - gongkongftp.gongkong.com/UploadFile/datum/2009-4/2009041319551700001.pdf · Your Success is Our Goal VBScript组态数据库连接 例2.用VBScript组态数据库连接

Your Success is Our Goal

WinCC OPC A&E Server

开放的操作系统 WinCC OPC A&E SERVER同样也是一个

DCOM应用程序。OPC A&E 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 除了安装基本系统的授权之外,还需安装Connectivity Pack.

灵活的脚本

ActiveX控件

OPC

高性能的数据库

Page 15: simatic hmi - gongkongftp.gongkong.com/UploadFile/datum/2009-4/2009041319551700001.pdf · Your Success is Our Goal VBScript组态数据库连接 例2.用VBScript组态数据库连接

Your Success is Our Goal

WinCC OPC XML

在分布式系统中,WinCC客户机可以观看多个服务器上的数据.OPC XML 客户机可以以WEB SERVICE的方式访问OPC XML 服务器上的OPC 过程数据.可以在internet上通过HTTP访问WEB SERVICE.OPC XML不只限于局域网,所以OPC XML 客户机可以在任何平台上通过internet或intranet访问WinCC的运行数据.

WinCC 支持OPC XML Data Access 1.0标准

示例

开放的操作系统

灵活的脚本

ActiveX控件

OPC

高性能的数据库

Page 16: simatic hmi - gongkongftp.gongkong.com/UploadFile/datum/2009-4/2009041319551700001.pdf · Your Success is Our Goal VBScript组态数据库连接 例2.用VBScript组态数据库连接

Your Success is Our Goal

变量归档

开放的操作系统

灵活的脚本

ActiveX控件

OPC

高性能的数据库

Page 17: simatic hmi - gongkongftp.gongkong.com/UploadFile/datum/2009-4/2009041319551700001.pdf · Your Success is Our Goal VBScript组态数据库连接 例2.用VBScript组态数据库连接

Your Success is Our Goal

报警归档

开放的操作系统 报警归档分为长期归档和短期归档。长期归档和

变量归档一样,把数据分成多个数据片断。短期归档存储在内存中,同时也把数据备份在硬盘上。一旦电源断电后,当电源重新恢复后,备份数据将被加载在内存中。

灵活的脚本

ActiveX控件

OPC

高性能的数据库