EPA互操作测试软件的研究与实现★

2011-06-20 05:35:06刘娟关学进梁孟芹
电子测试 2011年2期
关键词:测试软件功能块静态

刘娟,关学进,梁孟芹

(重庆邮电大学 重庆市网络控制技术与智能仪器仪表重点实验室,重庆 400065)

0 引言

“用于工业测量与控制系统的EPA(Ethernet for Plant Automation)通信标准[1]”是我国拥有自主知识产权并被国际电工委员会(IEC)认可的第一个工业自动化领域国际标准,并作为实时以太网国际标准IEC 61748-2与现场总线国际标准IEC 61158(修订版)进行制定。该标准规定了设备间通信操作、为用户应用程序提供服务接口以及相关管理方面的规范。

现场总线(Fieldbus)是应用于生产现场,在测量控制设备之间实现双向、串行、多点通信的数字通信系统,其特点之一就是设备间应具有互操作性[2]。互操作性指实现互连设备间、系统间的信息传送与沟通,它决定了某一通信技术能否被广大自动化设备制造商和用户接受,并进行大面积推广应用的关键。由于众多的厂家主要根据EPA系统结构与通信规范及EPA功能块规范来开发不同种类、不同功能的现场设备,为保证这些设备间的互操作能力,开发EPA互操作测试软件是必需的。

1 EPA互操作测试平台

EPA互操作测试平台主要由测试主机、若干被测试设备及系统连接部件构成,其主要组成部分是测试主机上的EPA互操作测试软件,测试过程分为静态测试和动态测试两类。

EPA互操作测试软件主要由以下几个子模块构成:互操作测试器模块、静态测试案例集模块、动态测试案例集模块、测试跟踪报告管理模块、测试报告管理模块,各模块之间的关系如图1所示。

2 互操作测试软件的设计

2.1 软件工作流程

EPA互操作测试软件工作流程如下:软件启动后,持续监听网络上被测设备的声明报文,若有被测设备发送声明报文,界面上显示被测设备的信息,用户则根据需求选择测试案例;测试案例包括EPA通信协议规范信息、EPA用户层规范信息和测试数据信息,案例选择完成后将全部有效信息传给EPA互操作测试器,EPA互操作测试器会将测试信息封装并发送到EPA网络上,被测设备收到测试服务报文并对其处理后返回响应信息,测试跟踪报告模块监视整个测试过程,将过程中的错误信息、测试时间、结果等信息显示到软件上,最后将详细信息交付给测试报告管理模块存储,供用户查看。

2.2 互操作测试软件模块实现

2.2.1 互操作测试器模块

互操作测试器基于静态和动态测试案例集,对被测实体进行测试,通过检测被测实体的外部行为和内部行为,生成测试跟踪报告和测试报告。

在VC中定义一个用于实现互操作测试器模块的CEPATEST类,首先把测试信息封装,通过套接字发送到EPA网络上,并接收被测设备返回的响应信息,再由CDATAWITH类处理响应信息,通过DoWith()函数处理测试案例。

2.2.2 静态测试案例模块

静态测试主要测试通信协议栈管理系统中与功能块操作有关的内容、功能块本身的参数读/写功能、设备描述文件的完备性。

该模块由CStaticExample类完成,该类主要存放各个静态测试案例所需要的测试信息,并从中提取测试信息交付给互操作测试器模块,互操作测试器模块会根据不同的服务类型调用静态测试案例模块中不同的服务处理函数,如FBReadTest()函数处理功能块的读服务(根据不同功能块调用不同读处理函数), 模块的类关系如图2所示。

2.2.3 动态测试案例模块

动态测试是对功能块的模态切换进行测试,主要测试功能块组态后的执行能力及对不同外部操作的反应能力。

该模块由CDynamicExample类完成,该类主要用来存放各个动态测试案例所需要的测试信息,其测试信息的获取是读取各个自定义的ini动态测试案例脚本;获取之后将信息传送给互操作测试器模块,互操作测试器模块根据不同的动态测试服务调用动态测试案例模块中相应的处理函数,如AIModeTest()测试AI功能块的模态切换等;然后将测试信息封装传送给被测设备;最后被测设备将测试结果返回给互操作测试器模块处理,模块的类关系如图3所示。

2.2.4 测试报告跟踪模块

测试报告跟踪模块由CMessageTrack类完成,该类通过互操作测试器模块持续监测整个过程,并记录所有测试结果、测试信息及错误信息;然后调用界面类CDlg中函数将所有信息显示到软件界面上,同时交付给报告管理模块存储管理。

2.2.5 测试报告管理模块

由CMessageManage类完成测试报告管理模块,该类用于存储详细的测试信息,放入自动生成的记事文本中,以便用户查看。

2.3 详细设计

软件整体程序设计流程如图4所示,使用到的类:CTestApp类,CTestDlg类,CDoWith类等。各个测试案例通过不同的处理函数进行处理:如设备上线通过CTestApp::OnDeviceChange()函数处理等。

图4 程序设计流程图

3 互操作测试服务

互操作测试服务分为两大类:静态测试案例和动态测试案例。根据测试需要,选择不同的测试案例对现场设备进行测试。

3.1 静态测试案例

静态测试案例集成于测试软件,且在互操作测试过程中不可修改。测试内容包括:

1) 设备上线

该测试案例用来检测被测设备是否按照EPA

协议规范中定义的时间间隔向网络上发出一次设备声明。如果被测设备在测试过程中按照规范中定义的时间发出一次设备声明,则通过该测试,否则视为不能通过。

2 ) 查找并解析设备描述文件

设备描述文件是基于可扩展标记语言(eXtensible Markup Language,XML),描述了EPA现场设备的EPA网络可视对象的具体信息[4-5]。

查找并解析设备描述文件测试案例用来解析设备描述文件中信息,检测是否符合EPA设备描述体系结构;然后解析功能块结构体信息,检测信息中功能块个数和类型是否与设备上的相匹配,若两者均符合则通过,否则测试失败。

3) 读功能块参数测试

该测试案例调用EPA应用层变量读服务读取被测设备中功能块的参数,并将读取的结果与设备描述中的长度信息进行匹配。如果被测设备返回正响应并且读取的参数字节长度与设备描述中的长度信息一致,则通过该测试,否则视为不通过。

4) 写功能块参数测试

该测试案例调用EPA应用层变量写服务写入被测设备中功能块的参数,通过正负响应是否与设备描述文件中的读/写/只读参数类型相匹配。如果匹配则测试通过,否则视为不通过。

3.2 动态测试案例

动态测试案例以ini的文本格式提供给互操作测试软件,在测试过程中可以根据被测设备所支持的功能块进行修改,完成不同的测试内容。动态测试案例包括:链接对象、通信调度管理对象、不同的功能块模态转换(AI、AO、DI、DO、MAI、MAO、MDI、MDO、PID)、信息分发服务测试。

4 互操作测试实例

4.1 测试系统

本例采用的被测设备是基于EPA系统结构与通信规范及EPA功能块规范开发的阀门电动执行器设备,测试主机运行EPA互操作测试软件,操作人员选择设备描述文件并根据需要选择测试案例,对被测试设备进行测试。测试系统的结构如图5所示。

图5 测试系统结构图

4.2 测试结果

被测设备包含了AO功能块和PID功能块,主要采用了静态测试,测试案例包括设备上线、解析设备描述文件、资源块读写服务、设置设备属性、清除设备属性、AO功能块读写服务、PID功能块读写服务、链接对象等。由记录文本记载的详细测试信息可了解整个测试过程及结果,测试结果如图6。

图6 测试结果图

如果被测设备上不包含要测试的功能块,例如对阀门电动执行器设备测试AI功能块读服务案例,则测试软件会检测被测设备是否实例化了该功能块,如果没有则提示用户该设备上面没有此功能块,如图7所示。

成功通过互操作测试软件测试的现场设备可称为EPA设备,能够连接到同一网络并进行组态,根据需求搭建控制系统。

[1]国家质量技术监督局.用于工业测量与控制系统的EPA系统结构与通信规范[S],2006.

[2]阳宪惠. 现场总线技术及其应用[M]. 北京: 清华大学出版社, 1999.

[3]IEC Technical Committee TC65/WG6. FUNCTION BLOCKS FOR INDUSTRIAL-PROCESS MEASUREMENT AND CONTROL SYSTEMS Part 1 –Architecture [S]. IEC Draft.2003.1.

[4]IEC SC65C/WG7.FUNCTION BLOCKS (FB) FOR PROCESS CONTROL. Part 2 –Specification of function block concept and electronic device description language (EDDL) [S]. IEC PAS.2002.3.

[5]谌震文, 王平, 马万里.基于XML的EPA可扩展设备描述语言设计及应用[J]. 计算机集成制造系统,2005,11(7):959-962.

[6]赵奎,庞彦斌.基于XML的现场总线设备互操作性研究[J].自动化仪表,2005,26(4):10-13.

[7]余淑军,王平,付迎利,等. EPA功能块的研究与实现[J].计算机应用与软件,2008,25(1): 38-40.

[8]David J.Kruglinski, Scot Wingo, George Sheperd. Visual C++6.0技术内幕[M].5版.北京:希望电子出版社, 1999.

猜你喜欢
测试软件功能块静态
静态随机存储器在轨自检算法
网络自适应测试软件运行方法设计
自动化检测EPU10A板卡系统设计与实现
Ovation系统FIRSTOUT和FIFO跳闸首出比较
自定义功能块类型在电解槽联锁中的应用
中国氯碱(2015年9期)2015-11-02 01:03:41
机床静态及动态分析
机电信息(2015年9期)2015-02-27 15:55:56
具7μA静态电流的2A、70V SEPIC/升压型DC/DC转换器
基于MACSV6.5.2的锅炉燃尽风开关量调节门控制功能块设计
远程开放教育学生自主学习能力评价的研究
一款重型包装抗压系统控制软件的设计与开发
软件工程(2014年7期)2014-09-24 20:03:26