一种通用的电磁兼容试验测控软件设计

2020-04-07 10:15
计算机测量与控制 2020年3期
关键词:中间件测控仪器

(北京宇航系统工程研究所,北京 100076)

0 引言

目前,自动化的测控软件已成熟应用于电磁兼容试验中,通过软件控制硬件设备,按照标准要求的流程和方法进行测试,经计算机采集和处理数据,最终生成测试报告。国外成熟的产品有R&S公司的EMC32和TESEQ公司的Compliance 5,国内也有部分电磁兼容试验单位研发了自己的测控软件。综合来看,目前业内主流的电磁兼容测控软件仍有一些不足[1-4]:

1)国外软件的封闭性太强。国外软件一般只适应于特定硬件公司的产品,设备驱动接口不开放或开放功能受限,给二次开发和软件控制带了很大的困难;

2)国产软件的专用性太强。国产软件研制的出发点多为满足自身试验室的测试需求,测控软件与硬件紧耦合,不具有通用性;

3)可扩展性差。目前市面上无论是国外软件还是国产软件,基本是已满足电磁兼容试验测试为唯一目标,较少考虑与试验室其他基础设施的联动功能,不利于智慧电磁兼容试验室的建设;

4)试验数据管理效率低。部分软件电磁兼容试验数据格式封闭,无法与其他试验数据库进行数据无缝对接,导致无法高效对试验数据进行分析和挖掘;

5)试验报告自动生成能力不足。目前部分软件虽然有自动生成报告等功能,但不满足不同实验室的报告模板需求,导致该功能无法发挥作用。

针对上述情况,本文设计了一种通用的电磁兼容试验测控软件,该软件可对电磁兼容试验设备和试验室基础设施进行综合的控制和管理,通过图形化的流程编辑与执行、试验报告的自动生成和试验数据的有效管理,大幅提高试验的效率,通过采用网络化中间件封装技术,降低软硬件的耦合程度,大幅提高软件的通用性。

1 系统架构设计

1.1 硬件架构

电磁兼容试验系统硬件如图1所示,主要包含:信号源、接收机、功放、功率计、场监、开关、天线和探头等,其工作原理是在屏蔽暗室内布置天线或探头,通过主控计算机控制测试设备,遵循标准中要求进行测试参数的设置,同时按照测试流程有序进行协同工作,回采测试数据进行判读,存储在数据服务器。

图1 系统硬件架构

软件服务部署在主控计算机中,主控计算机与测试设备通过GPIB或以太网连接,主控计算机与数据库服务器通过以太网连接。

1.2 软件架构

测控软件的架构如图2所示。分为四层:表现层、应用层、服务层、数据层。表现层通过终端适配以及权限控制,呈现出不同角色的对应功能界面;应用层同样根据权限的不同提供对应的应用功能;服务层负责设备间接口通讯以及程序调度,逻辑判断与数据解析等工作;数据层负责把配置数据,过程数据,异常数据进行相应的存储[5]。

图2 软件架构

软件采用B/S架构,软件界面采用HTML5+CSS3提供丰富的效果,服务程序采用java开发,跨平台并且支持国产操作系统中标麒麟,仪器驱动二次封装采用C语言开发,所有软件均部署在主控计算机中。软件通过浏览器界面进行操作,通过对仪器驱动二次网络化封装与其他测试设备进行交互,意义在于对平台软件来说接口只有网络协议,减少了软件平台与硬件测试设备的耦合,便于日后扩展新的测试设备。

1.3 技术架构

从软件的技术架构而言,表现层利用Java的filter框架进行权限的限制,未经登陆授权的用户无法访问软件功能,html5的bootstrap-ace框架是负责界面呈现的主框架,js的jQuery负责数据有效性校验等工作,highcharts负责绘制各类图表,CSS3负责界面特效样式的控制。业务层,ThreadPoolExecutor负责Java线程的管理,接口技术主要采用restful、UDP、WebSocket。数据解析判断采用expression框架,文档管理采用POI框架,接口数据格式采用fastjson解析,数据库连接池采用proxool。数据层,数据首先调用Kafka接口,然后再分别存储到mysql数据库以及具备与Hadoop大数据平台对接的能力。

软件采用MyEclipse8.5作为开发环境,利用面向对象的开发方式,用Java实现用户界面显示和人机交互功能,可以兼容大量同时在线的人员。操作系统平台可选用windows或中标麒麟操作系统。

2 关键软件功能设计

电磁兼容试验测控软件功能丰富,既包含对众多电磁兼容试验仪器设备的控制、试验室各类装置的控制、试验流程的编辑与执行,还包含试验资源管理、数据管理等功能。下文仅对影响测控软件通用性、可扩展性和试验自动化程度等一些关键技术和功能模块的设计进行介绍。

2.1 网络化中间件封装设计

电磁兼容试验设备仪器种类繁多,部分仪器尤其是早期的一些仪器设备不支持以太网通讯。网络化中间件封装设计负责把GPIB、RS232、RS485等总线通讯接口转换成支持以太网通讯的接口,与测控软件平台进行交互。网络化中间件封装原理如图3所示。

图3 网络化中间件封装原理

对于GPIB、RS232、RS485等总线接口设备,对驱动进行网络化封装;对于具备以太网通讯能力的设备,也对协议进行二次封装。驱动网络接口中间件目的是为了把原本接口方式不同,协议格式不同的设备,做一个规范化的设计,通过这种方式,把设备与测控软件间的耦合度降低,只通过协议文件进行软件的关联,便于日后扩展新设备,测控软件部分可以不用二次开发。

驱动层仪器设备的控制方法是将仪器的驱动网络化,成为计算机可控制的程序。在驱动层通过对仪器驱动的封装,应用层通过向驱动层发送指定的指令,实现对仪器开环的控制或者闭环数据的反馈[6]。仪器可以完成GJB151B-2013《军用设备和分系统 电磁发射和敏感度要求与测量》等标准规定的项目,包括CE101、CE102、CS101、CS114、RE102、RS101、RS103等项目。

仪器驱动使用CVI软件编写,使用XML协议通过UDP通讯方式与上位机进行通讯。XML协议总共3级,包括:根节点、子节点1和子节点2。子节点1为仪器节点,子节点2为仪器的功能节点。

通讯方式为上位机为主,驱动为从。驱动不会主动发数据给上位机,一切通讯都是上位机发起。针对子节点2,上位机无论是发数据(命令)或读数据,驱动针对子节点2的每一项返回相应的应答。

仪器驱动软件结构如图4所示。

图4 驱动逻辑流程图

传统仪器设备提供IEEE488.2(GPIB)接口,驱动层的物理组成可以是一套PC或IPC。市场上提供了专用的GPIB模块,支持USB、PCI等局部总线集成到驱动层的物理设备当中。为更好地实现集成效果,采取PCI总线的GPIB模块;仪器与驱动层的物理设备通过GPIB线缆连接,可以实现驱动层与测试仪器的程控交互工作。

应用层方面会与驱动层达成一种内部协议,旨在应用层可以通过以太网的方式,向下发送指定指令给驱动层物理设备,驱动层会做出相应的驱动调用控制测试设备。协议的传输格式使用XML(可扩展标记语言)。

2.2 测试序列配置设计

测试序列设计主要是为用户提供对测试设备的函数进行封装后的图元,用户通过实际的测试需求,拖拽图元组成测试序列,通过运行测试序列程控硬件从而达到完成测试任务的目的[7],测试序列配置如图5。

图5 测试序列配置流程图

图元是测试设备的函数封装结果,在创建测试序列时,用户需要根据当前图元所代表的函数,进行函数参数的设置,系统会将用户设置的所有函数参数的值进行入库存储。当测试序列运行时,系统会自动运行该测试序列的每一个图元;执行的过程是系统会自动将每一个图元的参数取值,根据该设备的驱动程序通讯协议进行通信内容的拼装;并将拼装好的通讯内容发送给驱动中间件,驱动中间件会根据接收到的内容进行解析,并程控硬件执行相应的功能和动作。当驱动中间件接收到系统发送的通讯包之后进行程控硬件,会返回给软件一个程控的状态。

测试序列搭建如图6所示,页面左侧为系统封装好的仪器以及仪器相应的函数图元,页面右侧为测试序列的搭建界面;用户通过拖拽左侧的仪器函数图元到右侧的搭建测试序列的画布上,并且通过有向箭头连接表示流程执行的顺序;用户可通过双击仪器函数图元配置其相关属性参数;在图元属性参数配置完成操作之后,输入测试序列的名称点击保存即可。至此整个测试序列创建完毕,在测试序列的执行界面即刻便可看到此测试序列,进行测试序列的执行操作。

图6 测试序列搭建界面图

软件的测试序列配置菜单是有权限控制的,只有具有此权限的用户在登录系统时才可看到测试序列配置菜单,才可进行相应的操作;而不具备此权限的用户登录之后只可看到其具备权限的菜单。

图形化测试序列主要用于提供友好的人机界面,建立和维护控制指令、采集数据映射关系库,图形化建立和维护测试流程,根据人工输入的测试流程图生成调度软件能够识别的测试流程描述文件,并能够输出经过编辑的测试报告模板。

2.3 测试任务执行设计

测试任务执行功能,是电磁兼容试验测控软件的核心功能模块;用户在测试序列配置功能中创建相应的测试序列,创建测试序列之后系统会将创建的测试序列保存到数据库做持久化保存;根据用户的实际需求,在执行测试序列之前用户需要进行一系列的操作,包括试验信息录入、测试仪器选择、参数设置等操作。

在所有可设置的参数设置完成之后,系统会根据用户选择的执行方式进行测试序列的执行,系统执行测试序列时会与已经封装好的网络中间件进行通讯。通讯的格式就是与网络中间件协商好的协议,系统会自动将用户设置的参数按照协商好的通讯协议进行拼装;同时系统会将拼装好的协议传输到网络中间件,中间件根据接收到的协议对其进行解析;并根据解析到的函数以及参数内容进行对硬件设备的程控;在程控硬件设备成功时设备会返回给其一个控制状态值,网络中间件会将此控制状态的值返回给测试软件平台[8]。

软件接收到控制状态以及其他返回值时系统会在执行结果界面进行展示告知用户程控结果以及执行指令状态。具体流程如图7所示。

图7 测试任务执行流程图

趋势控制是本系统具备的一项重要能力,测试序列执行之前用户需设置多项参数值;其中也包括某项参数的目标值或者趋向步进值的设置,系统会将用户设置的所有参数与相应的测试序列进行关联;当测试序列运行时,系统会对用户已设置的需要实时监测的参数进行监控、记录数值。

当测试任务运行时,系统会实时采集相应的设备产生的数据,根据采集的数据系统会根据用户设置的参数值判断是否达标或是否在安全区间之内。当系统监测到设备未达到目标值的时候,系统会自动将用户已设置的目标值发送给网络中间件,由网络中间件对硬件仪器进行调控使其达到目标值;若用户设置了步进值,系统会依据目标值、仪器当前实际参数值、步进值进行相应的计算,在通过与网络中间件通信以此来达到调节硬件仪器到指定目标值。

2.4 报告管理与生成设计

电磁兼容试验报告的编写在整个电磁兼容试验流程中占有较大的工作量,受制于当前国内外同类软件在报告模板管理和自动报告生成上的局限性,还有不少电磁兼容试验室采用的是试验数据导出,人工编写。

为了进一步提高电磁兼容试验的效率和报告自动生成的灵活性,测控软件的报告管理功能支持用户按照产品名称和编号等信息自定义试验报告模板,能够直接利用Office进行报告模板的编辑,并具备报告模板库管理功能,可以实现报告模板管理及版本管理。软件也具备提供试验报告辅助生成功能,可以直接从模板库中选择相关的报告模板,并自动进行数据替换,生成最终的报告。具备报告的在线预览、在线打印、在线编辑、报告导出等应用功能。

测控软件的报告模板管理弹性大,多元化。用户可根据自行需求进模板编辑,模板编辑系统为用户提供两种方式可进行模板编辑、保存入库:

1)用户根据实际需求自行用Word/Excel等Office文档整理成模板,然后由软件提供的导入功能导入到软件数据库中。软件提供导入功能采用的是Apache POI技术,此工具库是现有主流的对Microsoft Office读取和写入的技术,Apache POI,Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能;此技术我们多个项目中使用比较成熟,功能比较丰富。

2)经由软件提供的在线Office编辑工具进行模板编辑,编辑完毕之后将模板的各项数据与数据源进行绑定,最后保存入模板库做持久化保存。

软件提供的在线Office编辑器是主流在线编辑插件,采用基于Web方式的Microsoft Office网络文档中间件管理方案。该插件能够在浏览器窗口中直接编辑Word、Excel等文档并保存到Web服务器上,实现文档、电子表格和数据库的统一管理,采用标准HTTP协议,支持任意后台Web服务器。

3 软件实现结果分析

该电磁兼容测控软件能够按照GJB151B-2013《军用设备和分系统电磁发射和敏感度要求与测量》等电磁兼容标准要求,制定相应的图元序列,并根据用户需求执行测试流程,完成某电磁兼容项目的测试,同时生成报告,具有一定的电磁兼容测试开放性、通用性与高效性。与常用商业电磁兼容测控软件对比情况如表1所示。

表1 电磁兼容测控软件对比

4 结论

为了提高电磁兼容试验测控软件的通用性和可扩展性,测控软件在设计时采用跨平台技术开发,支持国产中标麒麟系统。该软件通过仪器驱动网络化中间件封装设计,大幅降低系统软硬件的耦合度,对仪器设备与试验设施具有良好的兼容性和可扩展性;通过图形化快速构建测试序列、报告自动生成等手段提高试验效率;通过与私有云大数据平台的接口,有利于试验数据的分析挖掘、智慧电磁实验室的建设。

猜你喜欢
中间件测控仪器
扬州英迈克测控技术有限公司
《现代仪器与医疗》约稿函
《现代仪器与医疗》2022年征订回执
《现代仪器与医疗》约稿函
《现代仪器与医疗》2022年征订回执
星载测控终端型谱化研究
我国自主可控中间件发展研究
以实力证明 用事实说话
中移动集采:东方通中间件脱颖而出
金蝶 引领中间件2.0新时代