EPA功能块及互操作性测试软件的开发_第1页
EPA功能块及互操作性测试软件的开发_第2页
EPA功能块及互操作性测试软件的开发_第3页
EPA功能块及互操作性测试软件的开发_第4页
EPA功能块及互操作性测试软件的开发_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

EPA功能块及互操作性测试软件的开发EPA系统结构图1EPA系统结构图EPA功能块定义功能块是一个软件功能单元,由输入、输出、内含参数以及对这些参数进行操作的算法组成,用一个功能块位号或者一个序号来唯一标识。序号是给功能块分配的编号,其目的是优化功能块的访问过程。功能块的参数定义了输入、输出和运行时所使用的数据。这些参数在整个网络上是可观察的、可访问的。其基本模型如图2所示。图2基本功能块模型EPA功能块开发

功能块共分为:资源块、报警块、基本功能块、技术块。下面我们以PID标准功能块的开发实例来介绍EPA功能块在协议栈上的开发。其他类型的开发论文上已经介绍过就不详细介绍了。这里我们采用模块化程序设计,将功能块功能化分为几个功能函数实现。PID功能块模块开发

PID在自动控制系统中应用广泛,能够实现比较关键的控制功能。PID算法是目前一般控制领域中经常使用的自动控制算法,它依据给定的设定值,反馈值,以及比例系数,积分和微分时间,计算出一定的控制量,使被控对象能保持在设定的工作范围,并且可以自动的消除外部扰动。一旦在控制回路中检测到误差,通过PID进行调节,可以对误差进行修正。所以PID功能块也是功能块库中的最重要的功能块,PID功能块示意图如图3所示。图3PID功能块示意图1)PID功能块参数

PID功能块包括14个必备参数和34个可选参数,用户还可以根据自己需要自定义参数,其参数的索引依据所使用的实际参数个数依次进行分配。其主要参数包括:BLOCK、BLOCK_MODE、PV、SP、OUT、PV_SCALE、OUT_SCALE、IN、CAS_IN、GAIN、RESET、RATE、BKCAL_IN、BKCAL_OUT等。参数的详细信息大家可以看论文的P30。2)PID功能快模态

PID功能块运行状态。PID支持的模态有O/S、Man、Auto、IMan。

以下是PID功能块的模态转换描述:目标模态为O/S时,实际模态切换到O/S。目标模态为Man时,如果BKCAL_IN的状态为GOOD实际模态切换到Man,否则实际模态为IMan。目标模态为Auto时,如果IN的状态为GOOD并且BKCAL_IN的状态也为GOOD实际模态切换到Auto,否则实际模态为IMan。3)PID功能快程序设计A)头文件设计头文件设计根据表3.3在PID功能块头文件内定义一结构体来实现PID功能块实体,如下所示。typedef

struct{EPA_BLOCKBLOCK;EPA_MODEBLOCK_MODE;EPA_FLOATPOINTPV;EPA_FLOATPOINTSP;EPA_FLOATPOINTOUT;EPA_SCALINGPV_SCALE;EPA_SCALINGOUT_SCALE;EPA_FLOATPOINTIN;EPA_FLOATPOINTCAS_IN;floatGAIN;floatRESET;floatRATE;EPA_FLOATPOINTBKCAL_IN;EPA_FLOATPOINTBKCAL_OUT;#ifdefPIDFB_APPEND//附加参数{EPA_FLOATPOINTRCAS_IN;

。。。。。。。}#endif

}EPA_PID_FUNCTION_BLOCK;//*******PID功能块应用信息对象实例化*******#if(0==PIDFBNUM)EPAPID_EXTEPA_PID_FUNCTION_BLOCKPTR_TYPELocalPIDFB[1];#elseEPAPID_EXTEPA_PID_FUNCTION_BLOCKPTR_TYPELocalPIDFB[PIDFBNUM];#endif然后声明几个功能块辅助函数如:Init_PID()、Read_PID()、Write_PID()、PID_MODESTATETRN()和PID_Process()。B)源程序设计

PID控制算法:根据PID参数的设置,及输入的值来决定输出。它有三个重要参数,比例、积分、微分,比例控制一直存在于PID算法中,积分由偏差触动并可消除静态误差,微分可以加快PID的响应速度。在单回路中,PID工作在AUTO模态,用户可通过修改SP的值来给出设定值,由于微分作用的存在,当给定值和测量值有较大的误差时,PID的输出也不会有较大的跳跃,不会引起大的超调。其主要实现作者定义了一个函数PID_Progress(),该函数运行PID的控制算法,该算法是根据PID典型公式Eu(K)=P*e(K)+I*(e(k)+e(k-1)+e(k-2)+e(k-3)+….+e(k-n))+D*(e(k)-e(k-1))变换得。只要受控量与PID的设定值SP之间误差存在PID的积分作用就会累计误差,经比例放大后由输出去控制对象以减小误差,直到消除静态误差。PID_MODESTATETRN()函数用来切换PID功能块的运行状态。其实现可以看论文P32。

PID功能块中还定义了一些其他的功能块辅助函数,如Iint_PID()用来初始化PID功能块参数,Read_PID()、Write_PID()函数用来实现对PID功能块参数的读写功能,要想了解详细实现可以看EPA协议栈源代码。4)PID功能快运行流程

PID功能块的算法流程如图4所示。首先是初始化PID功能块参数。然后判断资源块是否可用,如果可用就进入功能块模态切换阶段,如果模态为OS失效状态,PID功能块不运行保持原状。如果实际模态为IMAN模态,其输出用来初始化回算输入。如果为MAN模态,PID功能块根据内部算法由程序员手动设定功能块输出。如果模态为AUTO,PID会接收其它输入功能块(如AI,MAI)的输出数据作为自己的输入,然后运行PID内部控制算法求出输出。PID的附加参数中有报警参数,当得到的输出不在有效范围内时,则通过事件触发报警块报警,以保证PID功能块正常运行。图4PID功能块的算法流程图互操作测试软件的开发

互操作性是指实现互连设备间、系统间的信息传送与沟通。互操作性是同一网络上不同厂家的设备之间进行通信与互用、性能类似的设备实现互换的基础,互操作性是决定某一通信技术能否被广大自动化设备制造商和用户接受,并进行大面积推广应用的关键。互操作测试是检查基于同种协议的不同版本或不同实体间的互通和互操作能力。一般将一个或多个待测的网络设备连接起来,在实际的网络环境中对设备进行测试。因为很难保证每个厂家所生产的设备对协议的理解是一致的,所以在将不同厂家的设备引入到同一个网络系统之前,必须对不同的厂家的网络设备进行大量的互操作测试,以保证整个控制系统内网络设备的应用规范一致性。互操作性测试是EPA设备现场应用的基础。在介绍互操作性之前,先来介绍下基于EPA设备的设备描述,它是为实现设备的互操作而设计,为互操作测试软件提供接口信息。设备描述文件体系结构基于XML的EPA设备描述文件结构如图5所示。其中功能块的定义在BlockDescription子节点下描述。

图5EPA设备描述结构图

图6是利用XMLSpy软件编写的EPA设备描述文件,该文件按照设备描述体系结构定义了设备相关信息如设备描述文件信息,设备信息,功能块信息等。图6EPA设备描述结构文件结构图设备描述文件的应用模型利用XDDL描述有关EPA设备的功能块接口信息,以设备描述文件(XML文件)的形式提供给测试软件使用。测试软件利用基于DOM的解释器解析EPA设备描述文件,获得功能块接口的相关信息后,存放到测试软件功能块信息模块中,以供测试软件使用。以下是设备描述文件在EPA现场中的应用结构,如图7所示。图7设备描述文件应用结构图设备描述文件的验证和解析设备描述文件的验证包括两个方面:1是XML语法验证;2是模式文件匹配验证;如果都通过的设备描述文件则是有效的。设备描述文件的解析我们的软件是利用DOM的接口解析的。它将设备描述文件转换为一棵DOM树存放到内存当中。DOM是一种面向对象的模型,它是一组对象的集合,通过操纵这些对象,就能操纵XML数据。DOM中最基本的对象就是节点,我们可以通过对这些节点操作,获取相应的信息。设备描述文件的验证使用模式语言验证设备描述文件有效性的步骤如下:1)用模式语言编写好模式文件。(这里作者已经写好了EPA.xsd)2)将模式文件和被测设备描述文件放在同一目录下。3)用XMLSpy打开待测设备的描述文件,在根元素标记中加入相关属性,引入定义好的模式文件,其代码如下。<XDDLDeviceDesc

xmlns:xsi="/2001/XMLSchema-instance"xsi:noNamespaceSchemaLocation="E:\学习资料\XML\XDDLxsd\EPA.xsd">4)使用功能键F7,验证设备描述文件是否满足XML语法规则。如果不符合,XMLSpy软件将会指出错误所在位置,并给出提示信息。5)当语法规则验证完成后,使用功能键F8验证设备描述文件是否匹配模式文件中的定义规则,如果不匹配,则会给出错误信息(类型不匹配)。6)如果设备描述全部正确,XMLSpy则会显示如下。设备描述文件的解析DOM中最基本的对象就是节点,从NODE节点派生出几个比较重要的节点类型如Document,Element,Attribute。Document是DOM树的根,它代表一个完整的XML文档。它会有一些自己的子节点,至少应该有一个文档元素的子节点,这节点类型为Element,是XML文件最外层的根元素,此外它还有可能有DocumentType、ProcessingInstruction、Comment这几种作为子节点。除了Node,DOM里还有两个比较重要的对象:NodeList它实现一个节点的序列,用于表示有顺序关系的一组节点。NamedNodeMap表示一组节点和其唯一的名字对应关系,这个对象用在属性节点上。在结构化文档中,信息是按层次化的树型结构组织的。所以结构化文档的模型的组织也必然是树型的。Node简单的说,就是树型结构中的节点,但对XML来说还包括其它XML语法相关的节点,包括XML声明、文件类型声明、处理指令等等。Node提供一些基本属性和操作,各类型的Node则继承Node的属性和操作,同时有各自特殊的属性和操作,比如ElementNode。下面的代码表明了EPA设备描述文件转化为DOM树的具体过程。<?xmlversion="1.0"?><XDDLDeviceDesc> <XDDLDocumentInfo> <XDDLDocCreateDate>2005-08-23</XDDLDocCreateDate> <XDDLDocRevision>1.0</XDDLDocRevision> </XDDLDocumentInfo>……</XDDLDeviceDesc>以上设备描述文件对应的DOM树结构如下。Document(DOMDocument) XMLDeclaration(XMLDOMProcessingInstruction)

XDDLDeviceDesc(XMLDOMElement)

XDDLDocumentInfo(XMLDOMElement)

XDDLDocCreateDate(XMLDOMElement) 2005-08-23(XMLDOMText)XDDLDocRevision(XMLDOMElement) 1.0(XMLDOMText)互操作性测试软件流程图8互操作测试软件运行流程图

EPA互操作性测试工作流程如图8所示。首先打开软件,软件会不断监听网络上被测设备的声明报文,如果有被测设备发送声明报文,软件会显示被测设备信息在界面上,这时用户可以根据需求在软件上选择测试案例;测试案例包含了EPA通信协议规范信息、EPA用户层规范信息和测试数据信息,案例选择完以后将所有有效信息传给EPA互操作测试器,EPA互操作测试器会将测试信息打包发送到EPA网络上,被测设备在网络上收到测试服务报文并对其进行处理返回响应信息,测试跟踪报告模块会在测试过程中监视测试过程,将测试中的错误信息,测试时间,测试结果等信息显示到软件上,然后将详细信息交给测试报告管理模块存放起来,以供给用户查看。互操作性测试软件平台

EPA互操作测试平台的主要组成部分为运行于测试主机上的EPA互操作测试软件。EPA互操作测试软件其主要子模块有以下5个:EPA互操作测试器模块、静态测试案例集模块、动态测试案例集模块、测试跟踪报告管理模块、测试报告管理模块。模块之间关系如图9所示。图9互操作性测试软件模块关系图测试系统

EPA互操作测试系统由测试主机、若干被测设备及系统连接部件(交换机)构成。测试主机通过执行测试案例的方式完成对被测试设备的互操作测试;被测设备是基于EPA系统结构与通信规范及EPA功能块规范而开发的EPA现场设备。EPA互操作测试系统的结构如图10所示。测试主机运行EPA互操作测试软件,操作人员通过互操作测试软件的运行界面选择测试案例,执行对被测试设备的测试。互操作测试软件同时完成测试过程的跟踪、测试报告和测试结果文件的自动生成等功能。

图10测试系统结构图基于EPA功能块的电机控制系统

该系统的控制结构如图11所示。通过工程师站和EPA集线器把现场AO设备和MDI设备连接到现场总线上,然后将AO设备的模拟输出接到变频器上,变频器又连接电机,然后通过电机上的编码器连接到带有光耦隔离板的MDI设备上,MDI设备通过集线器连接AO设备,形成一个完整的回路控制系统。工程师站通过组态软件将AO设备和MDI设备进行组态,AO设备上AO功能块会调用其内部

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论