本文摘要:1章节 随着工业生产的大大发展以及自动化系统集成度的大大提升,工业自动化系统软件获得了突飞猛进的发展与变革。
1章节 随着工业生产的大大发展以及自动化系统集成度的大大提升,工业自动化系统软件获得了突飞猛进的发展与变革。然而,工业系统中设备数量的大大减少和现场信息交互分享能力拒绝的大大提升,传统的智能设备之间及智能设备与控制系统之间使用专门驱动程序构建信息分享的通讯方式已无法符合工业控制系统的发展必须。因此,为了需要解决问题工业系统硬件设备的升级转变为软件系统带给的不便,更佳的构建有所不同设备厂家硬件产品的构建点对点,强化系统的稳定性与可靠性,工业自动化软件模块的标准化、统一化沦为工业掌控领域必需面对的一个问题。
为了需要使得自动化软件的研发具备统一的接口标准,dde(动态数据交换:dynamicdataexchan-ge)、opc(基于过程控制的链接与映射:oleforprocesscontrol)技术的经常出现和应用于为有所不同的自动化程序系统之间需要构建非常简单交互、无缝点对点作出了极大的贡献。2dde与opc技术的工作机制 2.1dde技术的工作机制 dde是为在同一台计算机或有所不同计算机上运营的程序获取动态数据交换,最先由microsoft公司明确提出的。
动态数据交换(dde)技术由于其具备实时性好、网络通信相连构建便利等特点,在控制软件与信息网络构建中获得了广泛应用。 动态数据交换基于windows消息机制,各应用程序间通过传送消息展开对话互相交换信息。windowsdde消息传递使用client/server模式,客户(client)是数据的催促和接受者,而服务器(server)是数据的提供者,两者之间通过催促、接收者、传输三个步骤来已完成数据的传输。
dde协议用于服务(service)、主题(topic)和数据项(item)三级命名来标识dde所传送的数据单元。一般情况下,服务(service)就是应用程序的文件名,主题是对服务器有意义的信息单元。每次dde客户与服务程序之间的对话都是再行由客户启动的,所以在每次客户启动之前,dde服务器应该首先投放运营。 当客户程序必须向服务器程序催促数据时,客户程序发送到一条wm-dde-initiate消息给当前运营的所有windows应用程序,这条消息不但包括了它所必须的服务器名(service)和主题名(topic),而且说明了它所期望的数据类型,接到wm-dde-initiate消息的应用程序通过判断服务器名和不会话主题要求否接收者,一旦dde服务器号召了这条被传播的消息,dde不会话就开始了。
dde的工作方式有冻相连(coollink)、温相连(warmlink)和热相连(hotlink)等3种。在冻相连方式下,当server中的数据发生变化后不主动通报client,但client可以随时从server读取数据;在温相连方式下,当server中的数据发生变化后立刻通报client,client获得通报后将数据拿回;在热相连方式下,当server中的数据发生变化后立刻通报client,同时将变化的数据必要赠送给client。 dde的网络形式称作netdde,它包括了dde的全部特征,是动态数据交换(dde)的扩展,可以在横跨网络的计算机之间用于。使用netdde后,两个或更加多网络上的应用于需要通过dde分享来创建网络上有所不同工作站之间的相连,从而构建车站车站之间的动态信息分享。
2.2opc技术的工作机制 在opc技术经常出现以前,dde技术是绝大多数控制系统都反对和使用的数据交换方式。但是,由于dde是基于windows信息传送而创建的技术,因此,当通信量较小时,就不会经常出现数据创下速度慢、安全性管理机制劣、可靠性能低等现象,从而就有可能导致dde客户程序在较长时间内得到对此。和dde技术比起,基于com和dcom技术的opc技术具备数据传输性能低、安全性管理性能好、开发成本低等特点。 最初阶段的opc规范是由opc基金会的先驱fisher-rosemount、rockwell、opto22、intellution、intuitivetechnology公司于1996年8月公布的,目前opc基金会成员在全球已多达300多个,其中还包括世界上完全所有主要的控制系统、仪器仪表、过程控制系统生产厂家。
opc以ole/com/dcom技术为基础,是ole(objectlinkingandembedding)forprocesscontrol的简写,是微软公司的对象链接和映射技术在过程控制方面的应用于。与dde一样,opc也使用client/server模式。opc服务器是数据源的提供者,数据源可以是plc、dcs、条形码读取器等掌控设备,随控制系统的包含有所不同,作为数据源的opc服务器既可以是和opc应用程序在同一台计算机上运营的本地opc服务器,也可以是在另外计算机上运营的远程opc服务器。opc客户是数据的使用者,它按照opc模块规范从opc服务器提供所必须的数据。
opc服务器主要还包括三部分:服务器(server)、组(group)和数据项(item)。服务器对象留存服务器和服务器作为opc两组对象容器的所有信息。opc两组对象还包括公共组和局部组(私有组)两种,公共组由多个客户分享,局部组只隶属于一个opc客户。
一个组有可能代表一个类似设备的数据项,opc客户可以通过组对象来读取数据,并可以原作opc服务器应当获取给opcclient数据的改版速率。opc数据项是读取数据的大于逻辑单位(在实际应用于中,有可能是物理设备的寄存器或寄存器的某一位),其数据值以variant形式回应,每个数据项还包括值(value)、品质(quality)和时间砍(time stamp)3个变量。
在一个组对象中,opc客户可以重新加入多个opc数据项。 opc客户与opc服务器的模块有自定义模块(custominterface)和自动化模块(automationinterface)两种形式。自定义模块是一组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两组对象的方法函数来构建。 据上所述,dde、opc的通讯机制较为能用如下表格回应:3dde与opc技术应用于 当前,dde、opc技术在许多世界知名的自动化厂家的i/o通讯服务器、scada等自动化软件中都获得了反映。
例如wonderware公司的daserver和intouch、siemens公司的simaticnet和wincc、rockwell-ab公司的rslinx和rsview32等。其中daserver和rslinx既可作为opcserver,又可作为ddeserver;wincc和rsview32则既可以作为opcclient,又可作为ddeclient。
同时,由于各家的软件模块都符合dde、opc模块规范标准,所以,有所不同厂家的i/o通讯、scada等软件产品也可以很便利的构建点对点。 下面分别以wonderware公司的intouch与daserver(dassidirect)、intouch与rockwell-ab公司的rslinx展开dde通讯,siemens公司的wincc与simaticnet、wincc与rslinx展开opc通讯的方法为事例解释dde、opc技术在工业自动化软件的应用于情况。 dassidirect是wonderware公司研发用作对siemenss7200/300/400系列plc展开以太网数据采访的服务器软件,反对dde、opc、suitlink、fastdde等通讯方式。
当客户程序通讯模块与dassidirect的相连使用dde方式时,dassidirect的数据采访使用了节点名(nodename)、应用程序名(applicationname,此处为dassidirect)、主题名(topicname)和项目名(itemname)的层次结构。而当通讯模块以opc方式与dassidirect相连时,dassidirect的数据采访则使用了节点名(nodename)、服务器名(programname,此处为archestra.dassidirect.1)、组名(groupname)、设备组名(devicegroup)、相连名(linkname)和项目名(itemname)的层次结构。各层次项可在dassidirect软件界面中配备构建。
工程应用于时,必须在dassidirect管理界面smcarchestra.dassidirect.1目录下根据必须依序加到接口类型(tcp/ip)、模块处理器类型(s7plc),并展开适当的参数设置,然后还要为devicegroups加到有所不同的topic以便利对有所不同变量的归类管理。intouch标签变量对dassidirect的采访是通过采访名的设置来构建的,所以intouch中采访名的设置必需和dassidirect软件中的设置一一对应,例如,采访名中应用程序名应设置为dassidirect,采访名中主题名的设置不应和dassidirect中所加到的topic名称完全一致。此外,intouch标签变量项目名的填上也必需遵守dassidirect中itemname的定义形式,例如对s7plc数据块地址word的采访形似db11.w80,对数据块地址dword的采访形似db11.d80,对输出/输入位的采访形式分别为i5.2/q7.5等。
和wonderware公司的dassid-irect一样,rslinx也反对opc/dde两种通讯方式。当intouch和rslinx以dde方式展开通讯时,首先必须在rslinxdde/opctopicconfiguration对话框中加到新的topic,并创建该topic与要相连rslogixplccpu之间的对应关系,然后再对intouch中采访名做到适当的配备。不过,此时采访名中应用程序名应设置为rslinx,采访名中的主题名则不应和在rslinx中所加到的topic名称完全一致。
而intouch标签变量项目名的填上也不应遵守rslinx中itemname的定义形式,例如对rslogixplccpu中全局变量controllertags地址的采访即为plc变量地址的tagname,而对cpu中程序变量programtags地址的采访则为program:program_name.tag_name的形式。 当使用siemens公司的wincc作为opcclient与opc服务器进行opc方式相连时,首先必须在wincc资源管理器中加到opc通讯驱动程序opc.chn,然后在经常出现的opc地下通道单元的相连属性和建于变量的变量地址属性对话框中分别填上opc服务器名称和变量地址名称,这样之后可创建该变量到opc服务器的相连。必须解释的是,有所不同的opc服务器,其opc服务器名称和地址格式是不尽相同的,例如siemenssimaticnetopc服务器的名称和地址采访格式(以按s7协议对s7系列plc数据采访为事例)分别是opc.simaticnet和s7:[相连名称]plc变量地址,而rockwellrslinxopc服务器的名称和对rslogix系列plc数据采访的地址格式分别是rsllinxopcserver和[opcgroup名称]plc变量名。
某种程度,其它scada软件与涉及dde、opc服务器软件通讯的构建方法与此类似于,仍然赘述。 此外,由于dde、opc都是标准规范,所以也可以根据必须来构建dde、opc之间的模块切换来符合实际市场需求,例如wonderware公司的opclink乃是构建opc、dde模块切换的专用软件。
本文来源:必威·BETWAY体育-www.pincre.com