第十二章 外部接口.docx
- 文档编号:25704029
- 上传时间:2023-06-11
- 格式:DOCX
- 页数:27
- 大小:1.50MB
第十二章 外部接口.docx
《第十二章 外部接口.docx》由会员分享,可在线阅读,更多相关《第十二章 外部接口.docx(27页珍藏版)》请在冰豆网上搜索。
第十二章外部接口
第十二章外部接口
12.1概述
监控软件在工厂综合自动化系统中处于重要的位置,因为它能连接生产过程,能采集现场的信号数据并对它们进行控制。
工厂的其它系统,如安全监控系统、生产管理系统、销售系统、ERP系统等经常需要获取来自生产过程的一些重要数据,以便提高管理业务的准确性和效率,对一些自动化水平要求较高的工厂也可能需要直接从管理系统发布一些数据自动干预生产过程。
然而这些系统都不具备直接和生产过程交换数据的能力,需要借助监控系统进行。
易控提供多种手段能和其它在监控层和管理层的软件系统进行数据交互。
一种常见的方法就是通过数据库进行交互,比如易控直接将工程中的实时数据写入到其它软件或者中间数据库中,这样对方就可以获取易控中的过程数据,反之亦然。
易控中提供了读写各种类型的商业数据库的方法。
另外一种方法就是易控和其它软件系统都按照相同的通信协议,进行数据通信交互。
在工业自动化中应用程序之间常见的通信方式有DDE、NetDDE、OPC等。
DDE和NetDDE技术较老、速度较慢已经很少被使用。
OPC是过程控制领域的一个国际标准,是两个计算机软件之间进行通信的一种协议。
通信的双方分别称为OPC客户和OPC服务器,提供数据的一方是OPC服务器,访问数据的一方是OPC客户。
易控既可以作为OPC客户端使用,也可以作为OPC服务器使用,也就是说易控可以读写本机或局域网内其它计算机上任何符合OPC服务器协议的软件的数据,也可以通过OPC服务器的方式提供数据给任何其它支持OPC客户端的软件。
另外易控软件还可以通过和其它软件约定的方式进行交互,比如通过中间数据文件或者专有通信协议直接通信。
易控软件的用户程序、插件和控件都可以实现对外的数据交互功能。
本章简单介绍易控的OPC支持,重点介绍易控和数据库之间的数据交互功能—数据库访问。
12.2OPC
12.2.1OPC客户
易控可以作为OPC客户端,表明它可以和任何专门负责和下位设备进行通信的OPC服务器程序通信,从而能间接读写任何下位设备。
有关易控作为OPC客户端通过和其它的OPC服务器通信实现和下位设备的通信的内容,请参见“数据采集和控制”一章。
这里只介绍如何让易控作为OPC服务器,使用户的其它软件系统可以访问易控中的实时数据。
12.2.2OPC服务器
任何支持OPC客户端的用户软件,都可以通过易控的OPC服务器功能读写工程中的数据变量。
用户的客户端软件可以和易控运行于同一台计算机,也可以运行于同一网络的其它计算机上。
比如运行于网络上两台计算机上的易控工程之间可以通过OPC进行数据交换,其中一个易控作为OPC服务器,另外一个作为OPC客户端。
使用OPC服务器功能,需要了解OPC的一些基础知识。
有关OPC服务器的详情请参考相关资料和OPC的官方网站(www.opcfoundation.org)。
这里只作一些简单介绍。
⏹OPC服务器软件是为OPC客户软件按照OPC协议提供数据的一种计算机软件。
OPC服务器软件和OPC客户端软件可以运行在同一计算机上,也可以运行在同一网络的不同计算机上。
⏹OPC服务器软件都有一个唯一的服务器名称,供OPC客户端软件连接
⏹OPC服务器软件的数据按照“组(Group)”进行组织,每个“组(Group)”包含若干“数据项(Item)”。
图12.1OPC服务器的数据组织
⏹当OPC服务器程序和OPC客户程序不在同一计算机上运行时,需要配置Windows的分布式COM,即DCOM,DCOM作为Windows系统的一个服务组件,在控制面板下的管理工具下的“组件服务”中进行管理,详情请参考其在线帮助的相关章节。
在本教程下面的一小节中对DCOM在服务器和客户端的配置分别做必要的说明。
⏹服务器端DCOM的配置
1.从Windows的控制面板下的管理工具中启动“组件服务”程序,也可以直接从Windows的“开始”系统菜单中的“运行”项中输入“dcomcnfg”,确定启动Windows的“组建服务”管理程序。
2.在打开的“组件服务”配置程序中的“组件服务”分支,直到“DCOM配置”节点下在服务器上所使用的OPC服务器软件名称,易控的OPC服务器名称为“ControlEaseOPCServer”。
3.选中所使用的OPC服务器,如“ControlEaseOPCServer”,选中其右键菜单中的“属性”。
在打开的属性配置对话框中的“常规”页中的“身份验证级别”,选为“连接”。
将“标识”页中“选择运行此应用程序的用户帐户”设置为“交互式用户”。
将“安全”页中的“启动和激活权限”、“访问权限”和“配置权限”分别设为“自定义”,添加“Everyone”用户,应允许其启动激活、访问和完全控制OPC服务器
4.在“DCOM配置”节点下选中“OpcEnum”,将其属性对话框的“常规”页中的“身份验证级别”选择为“连接”
⏹客户端DCOM的配置
5.和服务期端一样,启动“组件服务”程序
6.展开“组件服务”配置程序中的“组件服务”分支,直到“MyComputer”节点,在其右键菜单中选择“属性”。
在属性对话框的“默认属性”页中选中“在此计算机上启用分布式DCOM”,将“默认身份验证级别”选择为“连接”,“默认模拟级别”选为“标识”。
在“COM安全”页中分别编辑安全限制和默认值,把“本地启动”“远程启动”“本地激活”“远程激活”权限给当前用户或所有用户。
在COM或DCOM配置好后,OPC客户端软件就可以通过读写OPC服务器中的“数据项(Item)”间接获取现场数据,并可对之进行操控。
支持OPC客户端(即实现OPC的客户端协议)的软件可以通过OPC读写易控工程中的变量。
具体的配置过程和该软件或上述的DCOM(跨计算机的话)有关。
易控的OPC服务器功能不需要做特别配置,当客户端应用软件启动时,易控的OPC服务器程序如果没有启动则会自动运行起来,此时运行易控OPC服务器程序的计算机的右下侧状态栏中会出现一个“
”图标,它表示易控的OPC服务器程序正在运行,客户端软件就可以读写易控工程中的数据。
图12.2易控OPC服务器在运行
12.3数据库
通过标准的商业数据库交换信息,即不同的应用软件通过同一个标准的数据库进行数据交换,也是常见的信息交互方法,特别是对ERP等管理信息系统而言,因其本身就是用标准的数据库。
易控专门提供了被称为“数据库访问”的功能,用于和各种商业数据库进行数据交换并简化这种交互过程。
12.3.1数据库访问
一般组态软件对数据库的访问都是通过脚本程序来进行的,易控软件也提供类似的操作模式,这种模式需要用户掌握一定程度的数据库和编程知识,对用户要求较高。
为了方便用户,易控同时还提供了更为简便的数据库交互模式。
在易控的工程树中有一个“数据库访问”节点,在这个节点下可以建立不同的“数据库访问”配置。
每一个“数据库访问”配置对应了一个数据库中的“表”。
有了对应数据库表的这个“数据库访问”配置,在易控工程中就可以随意操作这个表中的数据。
将易控工程中的变量值写入表即完成了将易控中的过程数据传递给利用该数据库的其它应用软件,如工厂的ERP系统。
反之,将表中的数值读入工程变量即完成了接收从其它系统接收数据的过程。
图13.3所示的工程中,“数据库访问”节点下配置了三个数据库访问配置,分别被命名为“生产统计表”、“销售数据表”和“原料表”。
这三个数据库访问配置实际对应的是数据库中的三个表,根据这三个配置的不同,它们可以是同一个数据库中的三个表,也可以是不同的数据库中的三个表。
从字面上看,这个工程具有和工厂的生产、销售和供应系统的互连和信息交互。
图12.3工程树中的“数据库访问”节点
使用“数据库访问”需要了解易控工程变量和数据库的一些基础知识。
这里做一简单介绍。
⏹数据库由“表”构成
⏹“表”是二维的,由“行”和“列”构成
⏹“行”又称为“记录”,“列”又称为“字段”
⏹表有一个当前记录,或当前行指针,它可以在表的头尾之间移动
⏹对表的操作即对当前行的操作
下面列出了通用数据库概念和易控工程中概念的对应关系。
数据库
易控
对应关系说明
表
数据库访问
“数据库访问”对应数据库的“表”。
字段
变量
“变量”对应数据库的表的“字段”。
记录
变量的值
“记录”中各字段的值对应易控中变量的不同取值
在建立数据库访问配置后,打开该配置(双击或右键菜单“打开”),对应的数据库表的结构会在工作区中显示出来。
图13.4显示了生产统计表的结构。
除表的结构外,在最右侧增加了一列,用于连接该数据字段所对应的工程变量。
通过配置此连接关系就将工程中的变量数值与数据库表中对应列的当前行的数值对应起来了。
图12.4“数据库访问”对应的数据库表结构
12.3.2数据库访问的配置过程
配置一个数据库访问的过程,就是建立不同的“数据库访问”配置,让它和外部数据库的“表”对应起来,将“表”中的“字段”与易控的“变量”对应起来的过程。
数据库访问的配置过程如下:
1.
选中工程树的“数据库访问”节点的右键菜单“新建”
图12.5新建一个“数据库访问”配置
2.易控在“数据库访问”节点下,建立一个数据库访问配置节点,并自动命名,选中该节点,在属性窗中或该节点的右键菜单“重命名”修改新建的数据库访问配置的名称,一般可以定义为欲对应的数据库表的名称
3.易控在工作区中自动打开该数据库访问配置,显示对应数据库表的结构以及和工程变量的对应关系。
由于是新建的配置,还没有连接数据库表,因此工作区中为空
图12.6新建的“数据库访问”配置
4.点击打开的数据库访问配置工作页底部的“配置数据库连接…”按钮,可以开始配置该数据库访问所对应的数据库表。
弹出图13.7的对话框。
图12.7配置数据库连接对话框
5.点击连接对话框上的“配置连接”按钮,开始连接到一个数据库。
根据数据库的不同,连接方法可能略有不同。
关于数据库的连接方法在下面“连接数据库”一小节里介绍。
6.数据库连接成功后,连接对话框中会列出数据库中的表。
选中某一“表”,确定即完成了一个数据库访问的配置。
12.3.3连接数据库
易控除了可以连接任何支持ODBC的商业数据库,如ACCESS、SQLServer、MSDE、SQLServerExpress、Oracle、Sybase、dBase、甚至Excel表文件、CSV文本文件等等外,对于常用的微软ACCESS和SQLServer数据库,易控提供了单独的连接方式,虽然也可以使用ODBC连接它们。
建议使用易控提供的连接方式连接这两类数据库,而不是ODBC。
此连接方式操作简单、容易连接而且性能更好。
使用ODBC需要ODBC名称,当工程拷贝到其它电脑上时必须重新配置ODBC连接,有一定不便。
图12.8数据库连接对话框
根据数据库的不同,连接方法略有不同,本节重点讲述几种常见的数据库连接方法。
连接ACCESS数据库
ACCESS数据库是小型的单机桌面应用数据库,是最为常见的小型数据库之一。
ACCESS数据库是一个MDB文件,这个文件中包含了所有数据库的信息。
要连接ACCESS数据库,找到这个MDB文件即可。
具体步骤为:
⏹更改数据源为“MicrosoftAccess数据库文件”
图12.9更改数据源
⏹数据库连接对话框自动变为图13.10所示。
使用“浏览”按钮找到数据库的MDB文件。
如果该数据库有密码,输入用户名和密码,在测试连接正确后,确定即可。
图12.10添加连接
⏹数据库连接过程结束。
连接的数据库中的表显示于数据库连接配置对话框中,选择所需要的表,确定则完成了对ACCESS数据库访问的配置。
图12.11数据源配置
连接SQLServer数据库
SQLServer数据库是微软面向大型应用的高性能数据库。
它还有一个桌面应用版本:
SQLServerExpress,其数据容量也受到了限制。
其使用方法是一样的。
连接SQLServer数据库的方法是:
⏹更改数据源为“MicrosoftSQLServer数据库”,这是易控默认的,如果已经是则不需要更改
图12.12更改数据源为SQLServer
⏹数据库连接对话框自动变为下面的图13.13所示。
易控自动枚举局域网上所有的安装有SQLServer或者SQLServerExpress的机器,将它们的名称列于“服务器名”下拉框内。
根据数据库的设置选择哪一种身份验证,选择SQLServer服务器中的数据库名,或者通过“附加一个数据库文件”找到对应的数据库。
是“使用Windows身份登录”还是“使用SQLServer身份登录”,是SQLServer数据库创建时指定的,和易控无关。
“选择或输入一个数据库名”是在SQLServer服务器中选择一个具体的数据库(SQLServer服务器管理多个数据库)。
“附件一个数据库文件”是指不通过SQLServer服务器,而是直接连接数据库文件。
不通过服务器直接连接数据库文件不需要设置服务器,主要是访问本地数据库时使用,和通过服务器相比,其连接速度较慢,建议尽量使用服务器连接数据库文件的方式。
如果你不确信SQLServer数据库的配置和使用,请咨询你的数据库管理员DBA。
图12.13添加连接
⏹“测试连接”按钮确认连接成功,“确定”后数据库连接过程结束。
连接的数据中的表显示于数据库连接配置对话框中,选择所需要的表,确定则完成了对SQLServer数据库访问的配置。
图12.14数据源配置
通过ODBC连接数据库、Excel表
ODBC(OpenDatabaseConnectivity,开放数据库互连)是微软提供的一种开放的标准数据库访问编程接口。
通过使用ODBC,应用软件可以连接任何支持ODBC的数据库,甚至可以连接EXCEL文件。
下面以易控连接EXCEL为例,介绍ODBC的配置方法。
⏹配置ODBC
1.在控制面板的“管理工具”中双击“数据源(ODBC)”打开Windows的ODBC数据源管理程序
2.在“用户DSN”页添加EXCEL的驱动器
3.在弹出的对话框中,输入“数据源名”,选择对应的EXCEL文件
⏹更改数据源为“MicrosoftODBC数据源”
图12.15更改数据源为ODBC数据源
⏹数据库连接对话框自动变为下面的图13.16所示。
在指定数据源项下,可通过两种途径选择数据库或Excel表。
其一使用用户名或系统数据源名称,在下拉框内选择数据源名称。
其二使用连接字符串,先选择要连接的数据库类型,再点击浏览按钮,选择要连接的excel表。
图12.16使用ODBC连接外部数据源
⏹点击“测试连接”按钮确认连接成功,“确定”后EXCEL文件的表将显示于数据库连接配置对话框中,选择所需要的表,点击确定,配置完成。
12.3.4数据库表的浏览和操作
建立了“数据库访问”配置之后,在易控中就可以读写对应数据库表中的信息。
易控有两种方法实现这个目的。
1.通过用户程序读写数据库表
2.通过放置在画面之上的一个高级功能组件—“数据库访问浏览器”直接显示、查看和修改数据库表中的内容。
有关“数据库访问浏览器”的功能介绍,参见“易控的高级功能组件”一章。
通过用户程序读写数据库表
易控提供了控制工程中配置好的数据库访问配置的用户程序指令,因为一个数据库访问配置对应一个数据库表,因此这些指令实际上就是对数据库表的操作。
易控提供了常见的数据库表操作指令,如当前指针的移动,读写当前记录,增加或删除行,获得表的行数等等。
在用户程序编辑器的指令窗口中,有一“数据库访问”节点。
节点下提供了对数据库表的各种指令。
如图13.17所示。
图12.17数据库表的操作指令
各种指令的含义如下表所示:
指令
含义
DbAccess.MoveFirstAndToTag()
将对应某一数据库访问的数据库表的指针移动到首行,并将各列或字段的数值写入对应的工程变量
DbAccess.MoveLastAndToTag()
将对应某一数据库访问的数据库表的指针移动到末行,并将各列或字段的数值写入对应的工程变量
DbAccess.MoveNextAndToTag()
将对应某一数据库访问的数据库表的指针移动到下一行,并将各列或字段的数值写入对应的工程变量
DbAccess.MoveToAndToTag()
将对应某一数据库访问的数据库表的指针移动到指定行,并将各列或字段的数值写入对应的工程变量
DbAccess.MovePreviousAndToTag()
将对应某一数据库访问的数据库表的指针移动到前一行,并将各列或字段的数值写入对应的工程变量
DbAccess.MoveFirst()
将对应某一数据库访问的数据库表的指针移动到首行
DbAccess.MoveLast()
将对应某一数据库访问的数据库表的指针移动到末行
DbAccess.MoveNext()
将对应某一数据库访问的数据库表的指针移动到下一行
DbAccess.MovePrevious()
将对应某一数据库访问的数据库表的指针移动到前一行
DbAccess.MoveTo()
将对应某一数据库访问的数据库表的指针移动到指定行
DbAccess.ExcuteSqlCommand()
执行用户指定的SQL指令
DbAccess.Select()
在对应某一数据库访问的数据库表中进行SQL的SELECT操作
DbAccess.NewRow()
在对应某一数据库访问的数据库表中建立一个新行
DbAccess.DeleteCurrent()
将对应某一数据库访问的数据库表中的当前行删除
DbAccess.CurrentRowToTag()
将对应某一数据库访问的数据库表中的当前行的各列写入工程变量
DbAccess.TagToCurrentRow()
将对应某一数据库访问的数据库表中的各列的工程变量的数值写入数据库表的当前行
DbAccess.Update()
更新对应某一数据库访问的数据库表
DbAccess.GetCount()
获得对应某一数据库访问的数据库表的行数
有关用户程序的内容,请参考“脚本编程”一章。
通过“数据库访问浏览器”
易控提供的“数据库访问浏览器”高级功能组件,可以绘制在画面上,直接显示和操作一个“数据库访问”配置所对应的数据库“表”。
数据库访问浏览器的使用十分简单。
从画面图形工具箱的“其它”分类中选择“数据库访问浏览器”绘制在一个画面上,设置其属性。
其中最重要的一个属性就是“数据”属性分类下的“数据库表”。
该属性对应一个“数据库访问”配置,即一个数据库表。
这样在运行期间,在该数据库访问浏览器中就可以显示对应的数据库表的内容。
通过该浏览器的工具条能完成对该数据库表的直接操作,不需要编写任何程序指令。
浏览器的工具条可配置是否显示、显示哪些操作按钮、以及密码保护、样式等设置。
数据库访问浏览器具有以下功能:
⏹显示所关联的数据库表的内容
⏹可将数据库表当前行的数据写入工程变量中
⏹可以将工程变量的值写入数据库表的当前行中
⏹建新行,并将工程变量值写入新建行中
⏹删除数据库表的一行(记录)
⏹更新数据显示
⏹将修改写回到数据库中
⏹状态栏显示操作信息,当前连接信息等
⏹查询和过滤功能,查询并显示当前文档对应的表中满足条件的记录
值得注意的是,数据库访问除了能访问和操作象SQLServer等真正的数据库外,还能对Excel文件、CSV等数据源进行浏览。
但无法对数据源进行更新。
(对无主键信息的数据库表,不能修改其内容)。
图12.18数据库访问浏览器工具
12.3.5数据库的浏览和操作
由上可见,易控提供的“数据库访问浏览器”是浏览和操作一个在工程开发期间即已经配置好的数据库的表的过程。
通过将“表”的各列与不同的工程变量连接到一起实现易控和数据库的互操作。
在有些情况下,用户可能需要不止对数据库的一个表进行显示和操作,还需要能动态改换到其它表,甚至其它数据库,也并不需要和易控的变量建立关联关系。
易控为此同样提供了一个功能组件—“数据库浏览器”。
数据库浏览器实际上是一个可以嵌入到易控画面上的通用的数据库客户端软件模块。
能从画面上直接对任何商业数据库进行直接操作。
包括ACCESS、SQLServer、MSDE、SQLServerExpress、Oracle、Sybase、dBase、甚至Excel表文件、CSV文本文件。
这就使易控对外部数据库的操作更加简便强大。
数据库浏览器具有以下功能:
⏹连接SQLServer数据库、Access数据库文件、ODBC数据源,可枚举包含的数据库及每个数据库中的表
⏹选择数据库和表浏览表中内容
⏹可以添加、修改、删除行
⏹将修改后的内容更新回数据库中
⏹强制刷新数据显示,即与数据源数据同步
⏹状态栏显示操作提示和数据库信息
⏹工具栏操作
⏹查询和过滤满足条件的数据记录
“数据库浏览器”的使用和“数据库访问浏览器”的实用非常相似,只是在其工具条中多出了选择数据库、选择数据库表等的操作。
在这里不再赘述。
12.3.6数据库示例
假如在一个小型工厂中,生产线的监控系统包含有生产的产品数量等实时数据,用户想把这些生产过程中的数据直接写入到一个ACCESS数据库的表中,这样用户的生产管理系统就可以直接从这个数据库中读取这些数据。
实现这个系统的大致步骤如下:
首先需要建立ACCESS数据库和其中的表格,其中“ProdData”表是用于接受监控系统数据的表格。
在监控工程的“数据库访问”下建立一个数据库访问配置。
配置其数据源为“MicrosoftAccess数据库文件”,添加连接,选择Access数据库文件,然后选择该数据库中的“ProdData”表为该数据库访问所对应的表。
打开该数据库访问配置,配置在数据库各字段所对应的工程变量
在工程运行时,易控工程中的变量就和ACCESS数据库的“ProdData”表中当前记录的各字段的数值对应起来了。
这样就实现了工程变量和数据库表中各字段数值的交互。
本例的详细配置过程不再赘述。
12.4WebService
当前,WebService是一个热门话题。
但是,WebService究竟是什么?
什么情况下应该用WebService?
什么情况下不应该用WebService?
是需要我们正确认识的。
因此易控软件对于WebService功能都是在工程中需要特殊要求的时候才会提供。
12.4.1WebServices的概念
WebServices是由企业发布的完成其特定商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项在线服务,它是一种构建应用程序的普遍模型,可以在任何支持网络通信的操作系统中实施运行;它是一种新的web应用程序分支,是自包含、自描述、模块化的应用,可以发布、定位、通过web调用。
WebService是一个应用组件,它逻辑性的为其他应用程序提供数据与服务.各应用程序通过网络协议和规定的一些标准数据格式(Http,XML,Soap)来访问WebService,通过WebService内部执行得到所需结果。
WebService可以执行从简单的请求到复杂商务处理的任何功能。
一旦部署以后
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第十二章 外部接口 第十二 外部 接口