数据交换方式(opc及dde)

数据交换方式(opc及dde)
数据交换方式(opc及dde)

一、概念介绍:

1 .OLE及DDE

操作系统流行以来,“剪贴板”(Clipboard)首先解决了不同程序间的通信问题(由剪贴板作为数据交换中心,进行复制、粘贴的操作),但是剪贴板传递的都是“死”数据,应用程序开发者得自行编写、解析数据格式的代码,于是动态数据交换(Dynamic Data Exchange,DDE)的通信协定应运而生,它可以让应用程序之间自动获取彼此的最新数据,但是,解决彼此之间的“数据格式”转换仍然是程序员沉重的负担。对象的链接与嵌入(Object Linking and Embedded,OLE)的诞生把原来应用程序的数据交换提高到“对象交换”,这样程序间不但获得数据也同样获得彼此的应用程序对象,并且可以直接使用彼此的数据内容,其实OLE是Microsoft的复合文档技术,它的最初版本只是瞄准复合文档,但在后续版本OLE2中,导入了COM。

2 .OPC

OPC(OLE for Process Control)是一个软件标准,它可以使自动化应用程序方便地读取工业企业的工厂级数据。OPC是基于Microsoft的组件对象建模(COM)技术定义一个标准接口,允许自动化和控制应用程序、控制设备、以及商业和办公应用软件之间相互操作。

3 .ODBC

开放式数据库连接 (ODBC) 技术为访问不同种类的 SQL 数据库提供了通用接口。ODBC 是基于结构查询语言 (SQL) 的,以此作为访问数据的标准。此接口提供了最大的互操作性:一个应用程序可以通过一组公用代码访问不同的 SQL 数据库管理系统 (DBMS)。

4 .SCADA

数据采集与监控系统(SCADA)是一种软件应用程序,它用于远程实时遥控数据采集过程,以实现对设备和条件的控制。SCADA可用于电场、石油和天然气精炼、通信、运输以及水和废物控制。

二、OPC及DDE的工作机制和差别

1.DDE技术的工作机制

dde是为在同一台计算机或不同计算机上运行的程序提供动态数据交换,最早由microsoft 公司提出的。动态数据交换(dde)技术由于其具有实时性好、网络通信连接实现方便等特点,在控制软件与信息网络集成中得到了广泛应用。

动态数据交换基于windows消息机制,各应用程序间通过传递消息进行对话交换信息。windows dde消息传递采用client/server模式,客户(client)是数据的请求和接受者,而服务器(server)是数据的提供者,两者之间通过请求、应答、传输三个步骤来完成数据的传送。dde协议使用服务(service)、主题(topic)和数据项(item)三级命名来标识dde所传递的数据单元。一般情况下,服务(service)就是应用程序的文件名,主题是对服务器有意义的信息单元。每次dde客户与服务程序之间的对话都是先由客户启动的,所以在每次客户启动之前,dde服务器应当首先投入运行。

当客户程序需要向服务器程序请求数据时,客户程序发送一条wm-dde-initiate消息给当前运行的所有windows应用程序,这条消息不但包含了它所需要的服务器名(service)和主题名(topic),而且指明了它所希望的数据类型,收到wm-dde-initiate消息的应用程序通过判别服务器名和会话主题决定是否应答,一旦dde服务器响应了这条被传播的消息,dde会话就开始了。

dde的工作方式有冷连接(cool link)、温连接(warm link)和热连接(hot link)等3种。在冷连接方式下,当server中的数据发生变化后不主动通知client,但client 可以随时从server读写数据;在温连接方式下,当server中的数据发生变化后马上通知client,client得到通知后将数据取回;在热连接方式下,当server中的数据发生变化后马上通知client,同时将变化的数据直接送给client。

dde的网络形式称为netdde,它包含了dde的全部特征,是动态数据交换(dde)的扩充,可以在跨越网络的计算机之间使用。采用netdde后,两个或更多网络上的应用能够通过dde共享来建立网络上不同工作站之间的连接,从而实现站站之间的动态信息共享。

2.opc技术的工作机制

在opc技术出现以前,dde技术是绝大多数控制系统都支持和采用的数据交换方式。但是,由于dde是基于windows信息传递而建立的技术,因此,当通信量较大时,就会出现数据刷新速度慢、安全性管理机制差、可靠性能低等现象,从而就有可能致使dde客户程序在较长时间内得不到回应。和dde 技术相比,基于com和dcom技术的opc技术具有数传送性能高、安全性管理性能好、开发成本低等特点。

最初阶段的opc规范是由opc基金会的先fisher-rosemount、rockwell、opto 22、intellution、intuitive technology公司于1996年8月发布的,目前opc基金会成员在

全球已超过300多个,其中包括世界上几乎所有主要的控制系统、仪器仪表、过程控制系统生产厂家。

opc以ole/com/dcom技术为基础,是ole(object linking and embedding)for process control的缩写,是微软公司的对象链接和嵌入技术在过程控制方面的应用。与dde一样,opc也采用client/server模式。opc服务器是数据源的提供者,数据源可以是plc、dcs、条形码读取器等控制设备,随控制系统的构成不同,作为数据源的opc服务器既可以是和opc应用程序在同一台计算机上运行的本地opc服务器,也可以是在另外计算机上运行的远程opc服务器。opc客户是数据的使用者,它按照opc接口规范从opc服务器获取所需要的数据。

opc服务器主要包括三部分:服务器(server)、组(group)和数据项(item)。服务器对象保存服务器和服务器作为opc组对象容器的所有信息。opc组对象包括公共组和局部组(私有组)两种,公共组由多个客户共享,局部组只隶属于一个opc客户。一个组可能代表一个特殊设备的数据项,opc 客户可以通过组对象来读写数据,并可以设定opc服务器应该提供给opc client数据的更新速率。opc 数据项是读写数据的最小逻辑单位(在实际应用中,可能是物理设备的寄存器或寄存器的某一位),其数据值以variant形式表示,每个数据项包括值(value)、品质(quality)和时间戳(time stamp)3个变量。在一个组对象中,opc 客户可以加入多个opc数据项。

opc客户与opc服务器的接口有自定义接口(custom interface)和自动化接口(automation interface)两种形式。自定义接口是一组com接口,主要用于采用c++语言的应用程序开发;自动化接口是自动化的ole接口,主要用于采用vb,delphi等基于脚本编程语言的应用程序开发。对于客户端应用程序的开发,采用自定义接口的方式运行效率高,但开发难度较大;采用自动化接口的方式运行效率低,但开发简单。这两种接口与opc服务器的通信方式可用1图所示。

图1自定义接口和自动化接口与opc服务器通信方式示意图

对于分布式计算机上的opc客户程序的开发,opc标准采用dcom技术实现服务器和客户程序的通讯。opc的数据访问主要有同步数据访问和异步数据访问两种方式。同步数据访问时,opc服务器在将按照opc应用程序要求的数据返回之前,opc应用程序一直处于等待状态,也就是说,同步方式的数据访问在要求的动作没有完成前不能执行任何opc应用程序侧的处理。与之相比,异步方式的数据访问在对opc服务器提出数据访问要求后,立即返回到opc应用程序侧的主处理程序中,opc服务器完成数据访问时通知opc应用程序,opc

应用程序从而得到数据访问结果。当opc应用程序采用自动化接口访问opc服务器时,同步和异步数据操作分别由syncread、syncwrite和asyncread、asyncwrite四个opc组对象的方法函数来实现。

3.opc和dde的差别

DDE动态数据交换机制是需要两个Windows应用程序,其中一个作为服务器处理信息,另外一个作为客户机从服务器获得信息。客户机应用程序向当前所激活的服务器应用程序发送一条消息请求信息,服务器应用程序根据该信息作出应答,从而实现两个程序之间的数据交换。

OPC(bject Linking and Embeding for Process Control)是以OLE/COM机制作为应用程序的通讯标准。OPC是一种基于开放标准的开放式连结,允许在自动化/控制应用、现场设备和商业/办公室应用之间进行简明的、标准化的数据交换。OPC标准以微软公司的OLE技术为基础,它的制定是通过提供一套标准的OLE/COM接口完成的,在OPC技术中使用的是OLE2技术,OLE标准允许多台微机之间交换文档、图形等对象。OPC规范了接口函数,不管现场设备以何种形式存在,客户都以统一的方式去访问,从而保证软件对客户的透明性,使得用户完全从低层的开发中脱离出来。

OPC取代DDE的原因:DDE使客户应用能够独立于数据源的供应方,开发商不必再象以往那样定义专用的接口。于是DDE成为许多类型的自动化设备的标准接口。DDE的出现使人们以为数据访问的问题得到了有效解决,但在使用过程中,用户才发现采用DDE来在设备和控制系统之间传递实时信息并非理想的办法,因为它在传输性能和可靠性等方面都存在许多限制。为此开发商不得不对DDE标准进行扩展,他们开发出各种专用的信息格式,以提高客户应用程序的性能和通信吞吐量。于是出现了DDE的多种演化版本。多种版本的DDE违背DDE最初的宗旨,因为不同的DDE格式使得客户在选择时又不得不受开发商所用格式的限制,也最终

使得DDE不能够再称为统一的标准。另外DDE不适用于大量数据的高速数据采集,并且DDE 从来没有为不同计算机之间的数据交换提供可靠的机制。上述这些原因促使工业界不得不重新制订更为高效、可靠的数据访问标准,这就是OPC。OPC比DDE更好,所提供的功能也更为强大。此外,OPC提供的是一个标准的通信协议,而不象DDE那样存在不同的DDE格式。OPC时代的到来使数据的交换与通信变得开放、高效、安全、可靠,同时也为信息的集成提供了更为合理和简便的方法。与DDE相比,OPC最主要的优势体现在数据传输速率上。由于OPC服务器每秒能管理成百上千个事务,而且与DDE不同的是它的每个事务能包含多个数据项,因此采用OPC传输数据要比DDE快得多。

三、DDE与OPC技术在自动化领域中的应用

当前,dde、opc技术在许多世界著名的自动化厂家的i/o通讯服务器、scada等自动化软件中都得到了体现。例如wonderware公司的daserver和intouch、siemens公司的simatic net和wincc、rockwell-ab公司的rslinx和rsview32等。其中daserver和rslinx既可作为opc server,又可作为dde server;wincc和rsview32则既可以作为opc client,又可作为dde client。同时,由于各家的软件接口都合乎dde、opc接口规范标准,所以,不同厂家的i/o通讯、scada等软件产品也可以很方便的实现互连。

以太网数据访问的服务器软件,支持dde、opc、suitlink、fastdde等通讯方式。当客户程序通讯接口与dassidirect的连接采用dde方式时,dassidirect的数据访问采用了节点名(node name)、应用程序名(application name,此处为dassidirect)、主题名(topic name)和项目名(item name)的层次结构。而当通讯接口以opc方式与dassidirect连接时,dassidirect的数据访问则采用了节点名(node name)、服务器名(program name,此处为archestra.dassidirect.1)、组名(group name)、设备组名(device group)、连接名(link name)和项目名(item name)的层次结构。各层次项可在dassidirect软件界面中配置实现。

工程应用时,需要在dassidirect管理界面smc archestra.dassidirect.1目录下根据需要依次添加接口类型(tcp/ip)、接口处理器类型(s7 plc),并进行必要的参数设置,然后还要为device groups添加不同的topic以方便对不同变量的归类管理。intouch标签变量对dassidirect的访问是通过“访问名”的设置来实现的,所以intouch中“访问名”的设置必须和dassidirect软件中的设置一一对应,例如,“访问名”中“应用程序名”应设置为dassidirect,“访问名”中“主题名”的设置应和dassidirect中所添加的topic名称完全一致。此外,intouch标签变量“项目名”的填写也必须遵从dassidirect中item name的定义形式,例如对s7 plc数据块地址word的

访问形如db11.w80,对数据块地址dword的访问形如db11.d80,对输入/输出位的访问形式分别为i5.2/q7.5等。

和wonderware公司的dassid-irect一样,rslinx也支持opc/dde两种通讯方式。当intouch 和rslinx以dde方式进行通讯时,首先需要在rslinx“dde/opc topic configuration ”对话框中添加新的topic,并建立该topic与要连接rslogixplccpu之间的对应关系,然后再对intouch中“访问名”做相应的配置。不过,此时“访问名”中“应用程序名”应设置为rslinx,“访问名”中的“主题名”则应和在rslinx中所添加的topic名称完全一致。而intouch标签变量“项目名”的填写也应遵从rslinx中item name的定义形式,例如对rslogixplccpu中全局变量controller tags地址的访问即为plc变量地址的tag name,而对cpu中程序变量program tags地址的访问则为program:.的形式。

当采用siemens公司的wincc作为opc client与opc服务器进行opc方式连接时,首先需要在wincc资源管理器中添加opc通讯驱动程序opc.chn,然后在出现的opc通道单元的“连接属性”和所建变量的“变量地址属性”对话框中分别填写“opc服务器名称”和“变量地址名称”,这样便可建立该变量到opc服务器的连接。需要说明的是,

dde、opc技术的出现与发展已经在包括工业自动控制在内的诸多领域得到了广泛的应用。dde作为一种较成熟的数据交换方式已拥有最全面的支持,而opc技术也越来越受众多自动化软硬件企业的支持与青睐,所以,在将来很长的一段时间里,dde与opc将继续在各自的应用领域发挥重要作用,dde、opc技术的出现和发展为我们提供了一个方便的数据访问接口,从而使控制系统进一步走向开放,用户系统因此受益。

OPCUA技术总结

OPC UA (OPC Unified Architecture,OPC统一体系架构) 1. OPC UA 简介 OPC UA(Unified Architecture)标准是OPC基金会2006年推出的一个新的工业软件应用接口规范,是企业软件架构的一个全新方向。OPC UA的主要目标是建立更丰富的数据模型与平台的独立性,以及提高工厂底层和企业系统之间的集成支持。 2. OPC UA 产生 现有OPC 规范的不足: 1) 缺少跨平台通用性。由于COM/DCOM对Microsoft平台的依赖性,使得OPC-COM 接口很难被应用到其它平台上。 2) 较难与Intemet应用程序集成。由于网络防火墙会过滤掉大多数基于COM传输的数 据,因此OPC-COM不能与Intemet应用程序进行交互。DCOM 不适用于Internet 环境,它不支持通过Internet访问对象; 3) COM 产生的传输报文复杂,并且由于防火墙的存在,在Internet 上发送COM 报文 非常困难。 4) 较难与企业应用程序连接。企业应用程序需要实时的工业现场数据,这些数据通常 来自具有OPC-COM接口的服务器。但是这些上层应用程序大多没有与OPC-C0M服务器交互的OPC-COM接口,因而不能进行连接。 促使OPC UA 出现的主要因素: 1)工业应用软件正转向https://www.360docs.net/doc/f99690809.html,; 2)客户端软件需要一个集成的API 集成现有OPC规范及各自独立的API; 3)客户端软件需要对数据语义进行识别; 4)客户对服务器安全性、可靠性等性能方面更高的要求。 针对上述因素和现有OPC 的不足,新规范OPC UA 主要通过以下方法来解决: 1) OPC UA 的消息采用WSDL 定义,实现了规范的平台无关性; 2) OPC UA 定义了一套集成的服务,解决了现有OPC 规范在应用时服务重叠的问题; 3) OPC UA 采用了集成的地址空间,增加对象语义识别功能,并实现了对信息模型的 支持; 4) 另外,OPC UA 采用冗余技术、安全模型等一系列机制,提高了安全性、可靠性等 方面的性能。 虽然我们可以用OPC XML-Data Access 规范,并结合SOAP、WSDL 等Web Services 技术,能弥补上述缺陷,但是由于规范本身的问题,其在可互操作性、安全性、可靠性等方面仍不能满足用户的需求。为此,OPC 基金会推出新一代OPC 规范——OPC UA。 3. OPC UA 服务器体系结构 OPC UA 服务器体系结构中主要包括真实对象、OPC UA 服务器应用程序、OPC UA 地址空间、公布/ 预定实体、OPC UA 服务器服务API、OPC UA通信栈,其中真实对象包括物理对象和软件对象。

海事数据交换平台解决方案

海事数据交换平台解决方案 中创软件推出基于Infor系列中间件的“海事数据交换平台解决方案”,该方案的设计思想是将海事局辖区水域管理所用业务应用软件和其他应用软件的核心业务数据库和其它系统中不同的软硬件平台连接整合起来,建立中心数据库,向各软件系统提供海事业务数据的服务接口,实现关联系统间的信息共享,使得整个管辖水域任何一个应用系统的业务数据,能快速的集成到海事局数据中心。该方案主要实现: 实现分布异构系统之间互联互通,建立中心数据库,完成数据的抽取、集中、加载、展现,构造统一的数据处理和交换平台; 实现可动态配置或基于标准进行拓展的外部接口服务,方便系统扩展; 基于多层面的支持二次开发的接口设计,既保证已投入使用软件系统数据的独立性及安全性,又保证为以后新上项目预留接入接口。 业务功能模型 本方案设计目标如图 1所示,在海事局专网上建立以各类信息交换为核心的数据交换平台,通过建立底层结构来联系横贯整个海事局内外的异构系统、应用软件、数据库资源等,支持不同处理业务、不同软硬平台对不同结构数据交互的要求,满足办公自动化、电子政务系统、电子海图系统平台、内外门户网站,以及其应用系统之间无缝地共享和交换数据的需要,将不同系统各自独立的数据源连接整合起来,实现数据的交换和共享。

图 1 数据交换平台设计功能框架 通过图 1可以看到,目前海事局存在种类繁多的系统,本方案针对不同的系统数据进行分析,根据不同的数据分类,设计其适用的数据交换方式。系统数据的分类,如表 1所示: 表 1 系统数据分类

根据不同的数据分类,设计其适用的数据交换方式,如表2所示: 表2 数据交换方式 技术体系架构 为实现孤立信息系统之间的数据交换,消除“信息孤岛”,中创软件提供了分布式对象中间件InforBus、符合CORBA标准的、基于“软总线+软构件” 模式的数据交换平台系统方案。如图2所示,数据交换平台就象一根智能消息传输总线,连接了分布的异构系统中的各个构件。

OPC简介与开发总结

背景简介 OPC(OLE for Process Control,用于过程控制的OLE)是为过程控制专门设计的OLE 技术,由一些世界上技术占领先地位的自动化系统和硬件、软件公司与微软公司(Microsoft)合作而建立的,并且成立了专门的OPC 基金会来管理,OPC 基金会负责OPC 规范的制定和发布。 OPC 提出了一套统一的标准,采用典型的C/S 模式。厂商可以开发一个高度优化的、可重用的OPC Server 访问底层的硬件,并将数据以OPC 接口方式提供给任何支持OPC规范的客户端软件,客户就可以按照统一的数据访问标准访问不同厂商的硬件产品。(IEC61850/MODBUS/DNP) 。 OPC 技术本质是采用了Microsoft 的COM/DCOM(组件对象模型/分布式组件对象模型)技术,COM 主要是为了实现软件复用和互操作,并且为基于WINDOWS的程序提供了统一的、可扩充的、面向对象的通讯协议,DCOM 是COM技术在分布式计算领域的扩展,使COM 可以支持在局域网、广域网甚至Internet 上不同计算机上的对象之间的通讯。 OPC规范简介 OPC 规范作为一个工业标准,是开发OPC 服务器与OPC 客户软件之间数据传输的规范,并已形成一个体系。根据开发软件功能的不同,OPC 制定了以下领域单独规范: 数据访问规范:定义了OPC 服务器中一组COM 对象及其接口,并规定了客户对服务器程序进行数据存取时需要遵循的标准。借助Microsoft 的DCOM 技术,OPC 实现了高性能的远程数据访问能力。 报警和事件处理规范:该规范提供了一种通知机制,在指定事件或报警条件发生时,OPC 服务器能够主动通知客户程序。 历史数据访问规范:该规范提供一种通用历史数据引擎,可以向感兴趣的用户和客户程序提供数据汇总和数据分析等额外的信息。 安全性规范:该规范提供了一种专门的机制来保护OPC 服务器中的现场数据,防止未授权的操作误修改这些参数。 批量过程规范:该规范基于OPC 数据存取规范和ISA88 系列批量控制标准,提供了一种存取实时批量数据和设备信息的方法。 XML规范 OPCDA205 规范(OPC Data Access Custom Interface Specification 2.05)是2002 年5 月OPC 基金会发布的OPCDA 自定义接口规范。该规范制定了OPC 服务器和OPC 客户程序的COM 接口标准,通过制定标准的接口来实现多个厂家的OPC 服务器和OPC 客户程序开发。 OPC 客户程序和OPC 服务器 一个OPC 客户可以连接一个或多个OPC 服务器,而多个OPC 客户也可以同时连接同一个

数据交换共享整合系统平台建设方案

数据交换共享整合协同平台设计

整合协同平台的主要功能是从其它子系统中提取共享数据,并对多来源渠道的、相互不一致的数据进行数据融合处理;基于数据字典对实时数据和历史数据进行组织,以保证数据间关系的正确性、可理解性并避免数据冗余;以各种形式提供数据服务,采用分层次的方法对各类用户设置权限,使不同用户既能获得各自所需要的数据,又能确保数据传输过程的安全性及共享数据的互操作性和互用性;维护基础信息、动态业务数据以及系统管理配置参数;支撑系统的网络构架、信息安全、网络管理、流程管理、数据库维护和备份等运维能力。整合协同平台根据功能可分为两个部分: 第一部分,基础数据和共享数据的交换服务和路由流程管理,该部分是交换平台的基础,包括:静态交换数据、动态交换数据、图形数据及表格、统计资料等属性数据。 第二部分,各子系统之间的接口实现,根据事先制订好的规范、标准,实现各子系统之间的数据共享和传输操作。在接入中心平台时,应按系统集成要求设计系统结构,各类数据接口遵循系统集成规范。

第一章中心平台设计 1.1 平台功能结构 整合协同平台服务器是公共基础平台的核心部分,XMA整合协同平台提供一整套规范的、高效的、安全的数据交换机制。XMA整合协同平台由部署在数据中心和各业务部门的数据交换服务器、数据接口系统共同组成,解决数据采集、更新、汇总、分发、一致性等数据交换问题,解决按需查询、公共数据存取控制等问题。 各业务子系统都要统一使用XMA整合协同平台进行数据交换。数据中心统一管理和制定数据交换标准。各业务部门通过数据级整合或者应用级整合通过XMA 整合协同平台向数据中心提供数据,也通过XMA整合协同平台访问共享数据。 XMA整合协同平台的基本功能如下: 共享数据库的数据采集、更新、维护。 业务资料库、公共服务数据库的数据采集。 提供安全可靠的共享数据服务。 业务部门之间的业务数据交换。 结合工作流的协调数据服务。

数据交换过程详解

数据交换过程详解 前言: 本文主要介绍数据交换过程中常用的数据交换方法和方式以及数据交换在新技术下所面对的“挑战”,方便大家深入理解数据交换过程。普元实施数据交换项目已有多年成功经验,本文也将分享大数据时代数据交换所遇到的问题和应对策略。 目录: 1、为什么要进行数据交换 2、数据交换存在的问题 3、数据交换面临的挑战 4、数据交换破解“数据孤岛” 5、总结 1.为什么要进行数据交换 企业大量的IT投资建立了众多的信息系统,但是随着信息系统的增加,各自孤立工作的信息系统将会造成大量的冗余数据和业务人员的重复劳动。企业急需通过建立底层数据集成平台来联系横贯整个企业的异构系统、应用、数据源等,完成在企业内部的ERP、CRM、SCM、数据库、数据仓库,以及其它重要的内部系统之间无缝的共享和交换数据。 数据是在流通、应用中创造价值的,这就涉及“数据共享”和“数据交换”。在实施数据交换的过程中,不同的数据内容、数据格式和数据质量千差万别,有时甚至会遇到数据格式不能转换或数据转换格式后丢失信息等棘手问题,严重阻碍了数据在各部门和各应用系统中的流动与共享。因此,对企业内各系统异构底层数据进行有效的整合已成为增强企业商业

竞争力的必然选择。 2.数据交换存在的问题 企业对数据服务的需求日趋迫切,如何有效的管理数据、高效的提供数据服务是目前企业对所面临的关键挑战。目前集团层面客户信息分散,各子公司之间的客户信息无共享。内部系统获取客户数据来源系统分散,方式多样难以管理,且获取客户数据时效性较低,供数标准不统一,缺乏统一的客户数据服务平台。 1.数据平台中数据内容繁多,难以全面掌控。 通过多年的信息化建设和运营,企业已经建立了完善的业务应用系统,有效的支撑了核心业务的创新和发展,但随着应用系统的增多,数据量和数据应用环境增大,在对这些数据进行使用的过程中逐渐存在不合理、不统一的问题。 2.数据平台中数据的流转和逻辑过程复杂,难以追溯数据来源。 许多企业目前没有统一的数据资产标准,各业务系统中数据质量参差不齐,存在信息孤岛现象,不同部门同一名称数据可能有不同的含义,同一个数据可能又有不同的命名,数据有效交互和共享存在问题。存在部分系统数据更新不及时的问题,核心业务数据无法朔源,数据的准确性和及时性较低,现有报表在建模时几乎每个报表都要重复建模,人为参与工作过多且层次复杂,无法高效的对流程及指标进行精确监控及分析,数据的利用效率和模型重复使用率较低。 3.业务部门对数据结构和质量无法管控 目前数据管控的发展方向和需求是由业务部门提出,但业务人员对公司复杂的系统无法进行全面深入掌握,特别是技术层面。为了使业务部门从数据结构到数据质量上更好的管控,梳理业务系统与数据库结构关系,成为目前急需解决的问题之一。

基于DDE机理的组态王与MATLAB通信技术及应用

山西电子技术2010年第4期 软件技术  收稿日期:2010-06-01 作者简介:樊剑峰(19762),男,河南安阳人,工程师,本科,主要从事冶金及相关行业的控制系统研究和应用工作。 文章编号:167424578(2010)0420052202 基于DDE 机理的组态王与MAT LAB 通信技术及应用 樊剑峰,王新彦 (安阳钢铁集团有限责任公司,河南安阳455004) 摘 要:为了充分发挥组态王6.0的可视化界面功能与MAT LAB 强大的数值分析和图形绘制功能的各自优 势,利用DDE 技术,实现了组态王6.0与MAT LAB 的通信,开发了一种过程控制实验装置的实时监控系统。该监控系统具有实时监测、控制系统分析、控制系统设计等功能。应用表明:该实时监控系统运行可靠,操作方便,而且使得实时监控功能更加强大、灵活。 关键词:组态王6.0;MAT LAB;实时监控;DDE 技术中图分类号:TP222 文献标识码:A 0 引言 近年来,随着计算机技术及应用的飞速发展,PC 机作为 上位机在工业控制领域占据了主导地位,W indows 系统下的组态软件,如组态王(KI N G V I E W ),应用也越来越广泛。组态软件提供了强大的人机界面和通讯功能,而且开发周期短,但其计算能力不强,难以实现复杂的控制算法。MAT 2LAB (M atrix Laborat ory )应用软件拥有丰富的多学科工具箱、强大的工程计算和图像图形处理功能[1]。因此,在监控系统软件的开发中应协同应用组态软件和MAT LAB 。以组态软件作为系统主控,进行动态工艺图显示、P LC 参数设置、实时数据采集等操作;以MAT LAB 作为后台应用程序实现控制系统分析、控制系统设计、曲线绘制等功能[2]。这样,有利于发挥组态软件和MAT LAB 的各自优势,使得编程更加高效灵活,功能更加强大。 1 过程控制实验装置的实时监控系统 过程控制实验装置由上位机、P LC 、电动调节阀、交流变频器、交流电机、三相水泵、液位传感器、流量变送器、温度变送器、压力变送器、加热器、双容贮水罐及若干数字显示仪表组成。其实时监控系统是基于组态王6.0和MAT LAB 开发的,结构见图1 。 图1 基于DDE 机理的通信结构 上位机利用组态王6.0与P LC 的串口通讯,实现对下位 机P LC 的实时数据采集和监控器参数设置。MAT LAB 通过与组态王6.0的通信,实现了对过程控制装置的控制系统分析、控制系统设计功能。因此,该实时监控系统有以下几方面功能:工艺流程的动态显示;P LC 的参数设置和显示;实时数据的采集和存储,以及实时曲线的显示;历史数据的显示查询,以及历史曲线的显示;报警事件的产生、处理、保存及查询;控制系统的分析;控制系统的设计。 2 组态王6.0与MAT LAB 的通讯 组态王6.0与MAT LAB 均支持动态数据交换(DDE )技术,使得二者能够通过数据交换实现互相通讯。在通讯过程 中,发起方的应用程序称为客户端(client ),响应方的程序称为服务器(server ),Matlab 和组态王6.0都是既作客户端又作服务器程序。当客户端应用程序发起DDE 时,他必须确认三个DDE 参数[3]。这三个参数由服务器提供,分别是服务器应用程序的名称(Server )、交换的主题(T op ics )和DDE 过程中传递的数据(Ite m s ),例如组态王6.0的这三个参数分别为:vie w 、tabna me 和链接设备寄存器。当服务器端应用程序接受到一个主题的交换请求时,它将回应请求并建立一个DDE 。 当Matlab 作为客户端应用程序时,为完成与组态王6.0的通信,M atlab 提供了以下函数[4]: 初始化函数channel =ddeinit (service,t op ic ),连接建立函数 rc =ddeinit (channel,ite m,callbak,upm tx,for mat,ti m e 2out ),数据请求函数 data =ddereq (channel,ite m,f or mat,ti m eout ),数据发送函数 rc =ddepoke (channel,ite m,data,f or mat,ti m eout ),链接释放函数 rc =ddeunadv (channel,ite m,for mat,ti m eout ),通信终止函数rc =ddeter m (channel )。 3 工程简化实例及过程参数辨识 3.1 过程描述 控制对象由两个串联的液体储罐组成(见图2),图中 LT 、LC 分别表示液位变送器和液位控制器,Q 1、Q 0、R 分别表示输入流量、输出流量和液位二的设定值。在该控制系统 中,液位二的信号由LT 传送给LC,LC 根据液位信号和设定值的偏差操纵电机,从而通过调整电机转速来调节Q 1,最终实现对液位二的控制。 该过程为自衡非震荡,具有相互影响的双容过程,其数学模型可以用如下传递函数描述: G (s )= K p T p s +1 e -τ . 其中:K p 、T p 、 τ分别指过程的增益、时间常数和时间滞后。

西门子PLC的以太网通讯及OPC通讯介绍

西門子PLC的以太網通訊及OPC通訊介紹 1.以太網通訊 CAL有很多地方用到以太網通訊,L2,焊機與PLC間通訊等,表檢的成像原理為:在金屬板帶表面沒有缺陷時,反射的光在明視場下很強,而在暗視場的散射光很弱;如有缺陷,則明視場的光強減弱,而暗視場的光強增加。根據這個原理,通過檢測攝像頭裡光強的變化,可檢測出材料表面上的一些物理缺陷。CAL 僅僅用到了它的檢測破孔這一個功能。 下面再來看西門子的以太網通訊,使用以太網通訊處理器可能的連接方式: 我們可以看到不同的通訊方式在PLC裏面需要調用不同的功能塊。 像S7-Connection方式連接的,需要調用SFB12/FB12等來讀取發送數據息,而TCP等連接的,需要FC5等來讀取發送數據。 下面簡單介紹下每種連接特點: Send/receive: iso 連接:ISO傳輸服務通過組態連接提供SEND/REVEICE interface服務在以太網上傳輸數據,此時服務使用的是ISO協議。此通訊速度較快,可是不能實現網絡路由,只能用於局域網通訊。 Send/receive: iso-On-TCP 連接:突破了局域網的限制,可以路由到公網上去;數據重發功能和基於第2層的CRC校驗保證了數據傳輸的完整性和可靠性。 Send/receive: TCP 連接:TCP/IP提供面向連接的數據通訊,數據並不會被打包因而並沒有數據包確認位,在這TCP服務提供了統一的sccket接口到每一個終

端,因而數據塊可以整體發送,這裡區別於iso-On-TCP 連接。 Send/receive: UDP連接:UDP提供簡單數據傳輸,無需確認,與TCP同屬第4層協議。與TCP相比,UDP屬於無連接的協議,數據報文無需確認。 S7通信:S7協議是西門子S7家族的標準通信協議,使用S7應用接口的通信不依賴特定的總線系統(Ethernet,PROFIBUS,MPI)。接口位於ISO-OSI參考模型的第7層,下面圖模型各層的通信方式。 那麼根據表檢的通訊協議規定: Transmission mode:TCP protocol (not S7), PLC will always be the client , Gauge will always be the server. Byte order: use PLC Byte Order ( not x86 byte order ). 我們建立通訊就需選擇send/receive中的TCP連接。 因此,在PLC中做如下配置: 1.打開硬件配置->點擊網絡組態:

数据交换技术.

数据交换技术 教学目标: (1)了解三种数据交换技术及用途; (2)能比较三种数据交换技术的优缺点; (3)理解IP电话的工作原理; (4)培养学生分析、比较问题的能力。 教学重点:三种数据交换技术 教学难点:比较三种数据交换技术的优缺点 教学用时:1课时 教学过程设计: 一、创设情境,引入问题。 (数据交换技术是一个比较抽象的内容,学生不易理解,以学生相对较熟悉的生活例子作为铺垫,通过情境设计,先培养学生分析问题的思维方法,通过知识的类比、迁移,使学生对所学知识能有更深刻的认识。) 1、问题提出 问题:假设有一火箭需通过铁路从制造厂运到发射场,现有三种方案:专列专线、专列非专线、非专列非专线,现要求大家一起讨论这三种方案的优劣。 前提条件:假设使用每一线路所需费用 均相等。 2、问题分析 (在讲这部分时,应该引导学生对速度、 对火车头的依赖、铁路利用率(即费用)进 行比较,培养学生分析问题的能力,为后面 的实践题打下基础。) 甲线:专门使用一列火车来运输火箭, 并使用专线,其他车次不得占用。 乙线:专门使用一列火车来运输火箭,但不使用专线,该火车按照正常的火车时刻表,服从铁路部门的调度。如:现按照正常的车次进入第一个站点停靠,听候调度,有合适的火车头和线路才能继续往下一站点,如此循环,直至将火箭运到目的地。 与甲线相比,使用乙线的优点、缺点有哪些?大家一起来分析(速度:比甲线慢;费用:由于与其他火车共用一条线,可降低费用;对火车头的依赖:火箭整体总量较大,需要较大功率的火车头才能推动,所以对火车头的依赖较大。) 丙线:不使用专门的火车来运输,而是将火箭进行拆分,拆分之后火箭与普通货物一样进行运输。可见这是在乙线运输方案的基础上进行的改进,由于火箭拆分之后可看成与普通货物同等对待,对火车头的依赖较小,可挂靠在任一火车头上。一来可以有效地提高运输速度,二来可以提高铁路的利用率,与其他货物均担费用,降低了运输火箭的费用。由此可见,相对于乙线,丙线的方式更加灵活。但相比之下它也有个缺点:运输前后需要对火箭进行拆分和组装。 下面我们通过表格来比较这三种运输方式的优劣。

VC++与Matlab混合编程之引擎操作详解.pdf

用VB与MATLAB混合编程方式实现图像处理 任少斌1,李元宗2 1太原理工大学理学院计算机基础教学部,太原 (030024) 2太原理工大学机器人研究所,太原 (030024) Email: rsb_long@https://www.360docs.net/doc/f99690809.html, 摘 要:阐述了如何使用MATLAB与VB编程工具相结合的手段开发图像处理研究软件的方法。以直方图计算的分析为例,用VB与MATLAB 编写程序,实现对直方图特性变化的分析,并给出可视化的结果。通过一个具体的程序证明VB与MATLAB混合编程可以有效的提高了程序的设计效率。 关键词:VB;MATLAB;DDE;混合编程;图像处理 1 引言 VB(Visual Basic)由Microsoft公司推出并广泛应用的可视化面向对象编程工具,它功能丰富,简单易学,既是一种编程语言,也是一个强大的集成开发环境。利用VB能够迅速编制各种风格而且界面良好的软件,它是目前Windows平台上主力编程语言之一。VB的主要缺点是运算速度慢,不适合进行大型的数值计算和图形处理。 MATLAB是由美国MathWorks公司开发的软件工具,它具有强大的数值运算能力,适用于大量科学与工程计算,具有先进的视觉化功能。在控制系统、图像处理、信号处理、神经网络等方面有应用广泛。但MATLAB的是一个命令式交互系统,功能模块比较分散,要求使用者具有较高的计算机应用素质,并且熟悉MATLAB的环境[1]。 2 混合编程概念引入 C++是一种传统的被公认为可以用于图像处理的程序设计语言,但面对C++编程过于繁琐和抽象的特点,使很多人对使用它进行程序设计敬而远之。而MATLAB利用单独函数功能处理图像处理的优势,VB在交互界面设计中的方便灵活的特点,使人们开始尝试将这两种语言相互结合用于图像处理,即混合编程的概念。MATLAB与VB都是基于Windows环境中的编程平台,其中MABLAB有十分强大的图像处理工具箱,它支持丰富的图像文件格式。它提供的15 类图像处理函数,涵盖了几乎所有的常见图像处理方法[1]。利用这些图像处理工具箱,再结合MA TLAB6.5自身的强大数据处理功能,可以不必关心图像文件的格式、读写、显示等细节,而把精力集中在算法研究上,使得工作效率大大提高。在测试这些算法时既可方便地得到统计数据,同时又可得到直观图示[2],如图3 所示。 VB与MATLAB混合编程的主要思想来自客户机/服务器应用程序开发模式。随着应用程序开发模块化以及互联网的广泛应用,很多软件系统都提供了这种技术支持。MATLAB 和VB同时具备这项功能。实现方式主要有四种。ActiveX方式、使用MatrixVB、调用DLL 动态链接库和DDE方式。四种方法各有特点,在很多文献中都有阐述[3]。其中使用Matrix VB

关于动态数据交换

关于动态数据交换 Windows 为应用程序间的数据交换提供了多种方式,动态数据交换协议就是其中一种使用项。动态数据交换协议是一整套信息和指引方针,在需要分享数据和使用共享存储来交换数据的应用程序间发送信息。应用程序可使用该协议作为一次性数据传输或者应用间发送更新使其成为新的可用数据的持续交换。 Windows还支持动态数据交换管理库(DDEML)。DDEML是应用程序可用于共享数据的动态链接库(DLL)。DDEML 提供的功能和消息简化了向应用程序添加DDE功能的任务。应用程序不是直接发送,发布和处理DDE消息,而是使用DDEML函数来管理DDE对话。(DDE对话是客户端和服务器应用程序之间的交互。) DDEML还提供了一个管理DDE应用程序共享的字符串和数据的工具。DDE应用程序不是使用原子和共享内存对象的指针,而是创建和交换标识字符串的字符串句柄和标识内存对象的数据句柄来标识存储对象。DDEML还使服务器应用程序能够注册它所支持的服务名称。这些名称被广播给系统中的其他应用程序,这些应用程序可以使用名称连接到服务器。 此外,DDEML通过强制DDE协议以一致的方式实现DDE协议来确保DDE应用程序之间的兼容性。 使用基于消息的DDE协议的现有应用程序与使用DDEML的应用程序完全兼容。也就是说,使用基于消息的DDE的应用程序可以与使用DDEML的应用程序建立对话并执行事务。由于DDEML的许多优点,新应用程序应该使用它而不是DDE消息。要使用DDEML的API元素,必须在源文件中包含DDEML头文件,与DDEML库链接,并确保DDEML动态链接库位于系统的搜索路径中。 本节讨论以下主题。 动态数据交换协议 由于Windows具有基于消息的体系结构,传递消息是在应用程序之间自动传输信息的最合适的方法。但是,消息只包含用于传递数据的两个参数(wParam和lParam)。因此,当应用程序之间传递的信息超过几个字时,这些参数必须间接引用其他数据。DDE协议确切定义了应用程序应该如何使用wParam和lParam参数通过全局原子和共享内存句柄来传递更大的数据。DDE协议具有分配和删除全局原子和共享内存对象的特定规则。 全局原子是对字符串的引用。在DDE协议中,原子标识交换数据的应用程序,交换数据的性质以及数据项本身。有关原子的更多信息,请参阅关于About Atoms。 用于WINDOWS动态数据交换 DDE最适合于不需要持续用户交互的数据交换。通常,应用程序为用户提供了一种方法来建立交换数据的应用程序之间的链接。一旦建立了链接,应用程序就可以在没有用户参与的情况下交换数据。 DDE可用于实现广泛的应用程序功能- 例如: 链接到实时数据,如股市更新,科学仪器或过程控制。 创建复合文档,如包含由图形应用程序生成的图表的文字处理文档。使用DDE时,图表将在源数据更改时更改,而文档的其余部分保持不变。 在应用程序之间执行数据查询,例如电子表格查询数据库以查找过期的帐户。 从使用者的角度看动态数据交换 ?下面的例子从用户的角度说明了两个DDE应用程序如何协作。电子表格用户希望使用Microsoft Excel来跟踪纽约证券交易所特定股票的价格。用户有一个称为Quote的应用程序,可以访问纽约证券交易所数据。Excel和报价之间的DDE对话发生如下: ?用户通过提供将提供数据和感兴趣的特定主题(NYSE)的应用程序名称(报价)来启动对话。由此产生的DDE 对话用于请求特定股票的报价。

OPC通讯简介

OPC通讯简介 OPC 概念 在OPC之前,需要花费很多时间使用软件应用程序控制不同供应商的硬件。存在多种不同的系统和协议;用户必须为每一家供应商和每一种协议订购特殊的软件,才能存取具体的接口和驱动程序。因此,用户程序取决于供应商、协议或系统。而OPC 具有统一和非专有的软件接口,在自动化工程中具有强大的数据交换功能。 OPC (OLE for Process Control)是嵌入式过程控制标准,规范以OLE/DCOM为技术基础,是用于服务器/客户机连接的统一而开放的接口标准和技术规范。OLE是微软为Windows系统、应用程序间的数据交换而开发的技术,是Object Linking and Embedding的缩写。 OPC从数据来源提供数据并以标准方式将数据传输至任何客户机应用程序的机制。供应商现在能够开发一种可重新使用、高度优化的服务器,与数据来源通信,并保持从数据来源/设备有效地存取数据的机制。为服务器提供OPC接口允许任何客户机存取设备。 OPC将数据来源提供的数据以标准方式传输至任何客户机应用程序。OPC(用于进程控制的OLE)是一种开放式系统接口标准,可允许在自动化/PLC应用、现场设备和基于PC的应用程序(例如HMI或办公室应用程序)之间进行简单的标准化数据交换。定义工业环境中各种不同应用程序的信息交换,它工作于应用程序的下方。您可以在PC机上监控、调用和处理可编程控制器的数据和事件。 服务器与客户机的概念 OPC数据项是OPC服务器与数据来源的连接,所有与OPC数据项的读写存取均通过包含OPC项目的OPC群组目标进行。同一个OPC项目可包含在几个群组中。当某个变量被查询时,对应的数值会从最新进程数据中获取并被返回,这些数值可以是传感器、控制参数、状态信息或网络连接状态的数值。OPC的结构由3类对象组成:服务器、组和数据项。 OPC服务器:提供数据的OPC元件被称为OPC服务器。OPC服务器向下对设备数据进行采集,向上与OPC客户应用程序通信完成数据交换。 OPC客户端:使用OPC服务器作为数据源的OPC元件称为OPC客户端。 OPC 数据访问 OPC服务器支持两种类型的数据读取:同步读写(Synchronous read/write)和异步读写(Asynchronous read/write)。 同步读写:OPC的客户端向服务器发出一个读/写请求,然后不再继续执行,一直等待直到收到服务器发给客户机的返回值,OPC 客户端才会继续执行下去。 异步读写:OPC的客户端向服务器发出一个读/写请求,在等待返回值的过程中,可以继续执行下面的程序,直到服务器数据准备好后,向客户机发出一个返回值,在回调函数中客户端处理返回数值,然后结束此次读/写过程。 同步读/写数据存取速度快,编程简单,无需回调,但需要等待返回结果。异步读写不需等待返回值,可以同时处理多个请求。

intouch数据交换

INTOUCH工业控制组态软件动态数据交换 王明春 东南大学动力工程系南京210096 The Data Exchange Between Industrial Control Configuration Software INTOUCH Wang Mingchun ( Department of Power Engineering, Southeast University, Nanjing 210096 ) ABSTRACT This paper presents INTOUCH's configuration software application in the simulation system, two kinds of interface ways and implementation methods in which Intouch configuration software data exchange. Utilize VC ++'s integrated development environment, develop the application program and Access data base to join, or by DDE data exchange, realize the data exchange between application program and Intouch. Simulation system utilizes these interfaces to succeed in data exchange. Keyword: Intouch Configuration software, simulation, DDE, EDA, ODBC, SQL 摘要:本文介绍了Intouch组态软件在仿真系统中的应用及Intouch工业组态软件数据交换的2种接口方式及实现方法,利用VC++集成开发环境,开发应用程序与Access数据库进行连接,或利用DDE数据交换实现了应用程序到Intouch监控程序之间的数据交换,仿真系统利用这些接口成功实现了数据交换。 关键词::组态软件,仿真, DDE,ODBC,SQL 0 引言 随着工业控制系统对用户操作界面越来越高的要求,要求采用性能更强的图形界面组态软件。世界上一些大型控制系统如集散控制系统,已开始使用通用性更强的组态软件作为其操作站标准软件。如日本山武株式会社在Harmonas协调自动化控制系统的操作站上使用了Intouch组态软件作为其过程开发软件,美国Honeywell公司在其R150集散控制系统的上位机中采用了FIX组态软件,当然他们必须定制适合于本系统的I/O部件驱动程序。Intouch是工业过程控制中广泛使用的组态软件,它是美国WONDERWARE公司的产品,曾连续多年被国际过程控制协会评为最佳软件。与Intellution 公司公司的FIX组态软件,NI公司的LabVIEW 虚拟仪表平台是当前三大流行工控软件。这些软件都支持世界知名厂家的控制设备,INTOUCH提供了许多类型I/O设备驱动程序,并以适合于过程控制而著名。 Intouch作为工业控制组态软件,提供了组态环境和运行环境。在组态环境下定制系统,进行数据库组态,画面组态,定义系统的数据采集和控制任务。在运行环境中实施这些任务,并将数据实时传输给本站的其它任务和网上其它工作站。Intouch组态软件适合标准化的大型控制系统。之所以如此,是因为当我们在用Intouch软件的时候,往往没有适合于我们自己硬件设备的I/O驱动程序。然而Intouch组态软件提供了用户数据接口,使用这些接口,我们可以与Intouch交换信息,在用户程序中完成特殊任务,如通信和与硬件打交道。本文以某电站仿真系统为例,谈谈这些数据接口的使用。 1.火电站仿真系统介绍 1.1 系统组成结构 电站机组仿真环境的建立是至关重要的。建立一个良好、实用、可靠、并且易为人们接受的仿

数据交换技术

假设:我们要到上海海洋馆参观,那我们就要借助一些交通工具,比如先做长途汽车到达中兴路汽车站,然后在火车站座地铁,到达海洋馆附近的地铁站点,最后步行到达海洋馆,其间我们要通过若干个中转点才能到达目的地。计算机世界中也是如此,发送方和接收方通信也是如此,必须经过若干个中间节点的转接,这就是今天我们要学的数据交换技术。 一、数据交换技术 数据交换技术主要有三种类型:电路交换、报文交换和分组交换 1、电路交换技术 【实例】:打电话 2、报文交换技术 【实例】:发电报 3、分组交换技术 【实例】:IP电话 二、几种交换技术的比较 (1)电路交换。 在数据传送开始之前必须先设置一条专用的通路。在线路释放之前,该通路由一对用户完全占用。 (2)报文交换。 报文从源点传送到目的地采用"存储一转发"的方式,在传送报文时,一个时刻仅占用一段通道。在交换节点中需要缓冲存储,报文需要排队,故报文交换不能满足实时通信的要求。 (3)分组交换。

交换方式和报文交换方式类似,但报文被分成分组传送,在数据报分组交换中,目的地需要重新组装报文,分组交换技术是计算机网络中使用最广泛的一种交换技术。 假设:我们要到上海海洋馆参观,那我们就要借助一些交通工具,比如先做长途汽车到达中兴路汽车站,然后在火车站座地铁,到达海洋馆附近的地铁站点,最后步行到达海洋馆,其间我们要通过若干个中转点才能到达目的地。计算机世界中也是如此,发送方和接收方通信也是如此,必须经过若干个中间节点的转接,这就是今天我们要学的数据交换技术。 一、数据交换技术 数据交换技术主要有三种类型:电路交换、报文交换和分组交换 1、电路交换技术 【实例】:打电话 2、报文交换技术 【实例】:发电报

基于OPC的组态王和MATLAB的数据交换接口设计

第19卷 第10期长 春 大 学 学 报 V o.l 19 N o .10 2009年10月 J OU RNAL OF CHANGCHUN UN I VER SI TY O ct .2009 收稿日期:2009 05 12 基金项目:吉林省教育厅教研项目(SJ YB08-03) 作者简介:李学军(1968 ),女,山东临沂人,副教授,博士,主要从事控制理论与控制应用方面研究。 基于OPC 的组态王和MATLAB 的数据交换接口设计 李学军,张化勋,张玲霞 (长春大学 电子信息工程学院,吉林 长春 130022) 摘 要:采用OPC 技术设计MAT LAB 和组态王的数据交换接口程序,解决组态王数据处理能力弱,以及MAT LAB 未能应用于实际控制系统的问题。充分利用M ATLA B 实现复杂的控制算法,结合工控组态软件达到较好的控制效果。 关键词:OPC 技术;组态王;M ATLAB ;数据交换中图分类号:TP274+2 文献标志码:A 文章编号:1009-3907(2009)10-0033-03 由于 自动控制原理 、 控制技术与系统 等控制类课程涉及复杂的控制理论和数学推导,控制机理比较抽象难懂,学生对控制系统的动态和稳态特性的理解不深刻。因此,利用计算机仿真技术,将抽象化为形象,将复杂的数学公式化为曲线、图表,生动直观地显示控制决策的生成、各种控制变量的作用以及控制系统的运行状态,这有助于学生对控制理论的理解。而且也可通过调整控制器参数或改变控制策略,来增强学生的分析问题的能力,为使理论知识和工程应用相结合奠定基础。 图形组态软件 [1] 可提供友好的人机交互界面, 强大的通信功能,已广泛应用于控制系统的实时监控中。但是它实现复杂控制算法的能力较弱,复杂工业对象、高水平的自动控制算法及高精度的控制要求无法直接在通用的组态软件中实现。而MATLAB 语言提供了强大的科学运算能力,运用它的各种工具箱可进行复杂算法的实现。但MATLAB 自身的人机界面设计 [2] 不方便、没有提供与计算机硬件的接口、 无法获取现场的实时数据,不能实现实时监控。 随着OPC 技术的广泛应用[3] ,国内流行的监控组态软件全面支持OPC 技术;另一方,MATLAB 在其推出的7.0版本中提供OPC 工具箱 [4] ,支持 OPC 基金会数据访问标准的设备中读取、写入和记录OPC 数据,该工具箱允许将对象数据采集到MATLAB 环境中用于分析、仿真和快速算法开发。因此本文以图形组态作为OPC 服务器采集数据,通过OPC 接口传给作为OPC 客户端的MATLAB 应用程序。采集到的数据通过MATLAB 算法程序处 理后(即控制决策量)再通过OPC 接口写入MCGS , 从而实现对现场的控制。这种将MATLAB 和组态软件相结合,利用OPC 作为二者的数据交换载体来搭建的虚拟实验平台(如图1所示),完成数据的实时采集和处理,实现人机对话和以动画的方式显示控制设备的运行状态等监控功能。采用MATLAB 语言作为后台程序扩充组态王的编程功能,实现系统的控制算法。 图1基于OPC 数据交换框图 1 OPC 技术 OPC 是OLE for Process Control 的缩写,即把OLE 应用于工业控制领域。它采用客户/服务器体系,其标准是在客户和服务器之间建立一种通信和数据交换的工业标准机制。其实质是在硬件供应商和软件开发商之间建立了一套完整的!规则?,只要准守规则,数据交换对两者而言是透明的。OPC 由OPC 服务器与OPC 客户组成,OPC 服务器是数据的供应方,负责为OPC 客户提供所需的数据;OPC 客户是数据的使用方,处理OPC 服务器提供的数据。OPC 服务器一般并不知道它的客户来源。由OPC 客户根据需要,接通或断开与OPC 服务器的连接。OPC 数据访问接口(OPC DA,OPC Data A ccess I n terface)是OPC 3类接口中的一种,它用于客户端与服务器之间的数据存取。OPC 数据存取服务器主

OPC通讯协议简介

OPC通讯协议简介 OPC(OLE for Process Control, 用于过程控制的OLE)是一个工业标准,管理这个标准国际组织是OPC基金会,OPC基金会现有会员已超过220家。遍布全球,包括世界上所有主要的自动化控制系统、仪器仪表及过程控制系统的公司。 基于微软的OLE(现在的Active X)、COM (部件对象模型)和DCOM (分布式部件对象模型)技术。OPC包括一整套接口、属性和方法的标准集,用于过程控制和制造业自动化系统。 OPC全称是OLE for Process Control,它的出现为基于Windows的应用程序和现场过程控制应用建立了桥梁。在过去,为了存取现场设备的数据信息,每一个应用软件开发商都需要编写专用的接口函数。由于现场设备的种类繁多,且产品的不断升级,往往给用户和软件开发商带来了巨大的工作负担。通常这样也不能满足工作的实际需要,系统集成商和开发商急切需要一种具有高效性、可靠性、开放性、可互操作性的即插即用的设备驱动程序。在这种情况下,OPC标准应运而生。OPC标准以微软公司的OLE技术为基础,它的制定是通过提供一套标准的OLE/COM接口完成的,在OPC技术中使用的是OLE 2技术,OLE标准允许多台微机之间交换文档、图形等对象。 COM是Component Object Model的缩写,是所有OLE机制的基础。COM 是一种为了实现与编程语言无关的对象而制定的标准,该标准将Windows下的对象定义为独立单元,可不受程序限制地访问这些单元。这种标准可以使两个应用程序通过对象化接口通讯,而不需要知道对方是如何创建的。例如,用户可以使用C++语言创建一个Windows对象,它支持一个接口,通过该接口,用户可以访问该对象提供的各种功能,用户可以使用Visual Basic,C,Pascal,Smalltalk 或其它语言编写对象访问程序。在Windows NT4.0操作系统下,COM规范扩展到可访问本机以外的其它对象,一个应用程序所使用的对象可分布在网络上,COM 的这个扩展被称为DCOM(Distributed COM)。 通过DCOM技术和OPC标准,完全可以创建一个开放的、可互操作的控制系统软件。OPC采用客户/服务器模式,把开发访问接口的任务放在硬件生产

相关文档
最新文档