张 军,冯 运,简子倪,钱晓豪,鄢 阳,王先培
(1.中国电力科学研究院有限公司,湖北武汉 430000;2.国网四川省电力公司电力科学研究院,四川成都 610041;3.武汉大学电子信息学院,湖北武汉 430072;4.国网电力科学研究院武汉南瑞有限责任公司,湖北武汉 430074)
在传统的电力设备专用测试装置校准工作中,计量标准器具主要存放于固定实验室中,采取自下而上的周期送检或者自上而下的上门校准方式,使得这种校准方式校准周期长、操作难度大、费用高、效率低[1]。同时现有的校准设备往往采用一对一的校准方式[2],开发的计量校准装置大部分参数单一、专用性强,并且各个装置间的通信接口往往不统一[3]。在此基础上构建的校准系统,在数据共享性与业务拓展性方面没有较好的效果,导致校准效率低、平台搭建繁琐、数据采集困难等问题[4]。
随着互联网技术的不断发展,充分利用遍布全球的互联网进行远程校准的概念逐渐地受到人们的重视[5],自动测试平台的网络化也逐渐成为了一个热门的研究方向。网络化测控具有显著的优点,首先,把测试装置当成网络中的节点接入到网络中进行数据传输时,不仅能够实现仪器资源的共享,同时试验员也能够在网络上协同工作,共同完成测试任务,使得测试任务的完成可以跨越空间和时间的界限[6]。其次通过互联网进行数据通信和数据采集可以使得试验员随时随地获得测试数据[7]。网络化测试平台的引入减少了试验员的操作难度,提高了校准任务的效率,节省了大量的人力物力。针对上述问题,提出了基于互联网+的开放式校准平台架构,采用远程校准技术和以太网总线技术,实现电力设备专用测试装置的网络化校准。
互联网+校准平台不同于传统的校准装置和计量标准的“一对一”的校准方式,而是将多种标准计量模块作为一个整体,通过远程校准技术实现对多种电力设备专用测试装置进行校准。互联网+校准平台采用网络化测控思路,将多种标准计量模块和操作人员都连接到网络上,实现数据共享和远程操作。校准平台的总体结构如图1所示。
图1 校准平台的总体结构
校准平台主要分为4个部分:试验员校准实验室、数据库、监护系统以及中心实验室。通过互联网将4个部分连接成一个整体,实现相互之间的通信。结构描述如下:
(1)试验员校准实验室,是试验员完成校准任务的操作实验室。该实验室的校准软件能够实现的功能如图2所示。
图2 试验员校准软件功能图
(2)数据库,用于存储和查询数据。本文分析了现阶段各类电力设备专用测试装置的校准业务,进而抽象出校准业务的信息结构,校准平台数据库的E-R模型如图3所示。
图3 校准平台数据库的E-R模型
6个实体由“校准”行为联系在一起,校准行为主要包括证书编号、时间、地点、温度、湿度、计量标准编号、测试装置编号、实验员ID等属性。
(3)监护系统,主要实现对校准平台的实时监护。该系统上运行有监护系统软件,该软件是唯一可以直接与中心实验室进行通信的软件。试验员输入校准中所需的所有参数后,传给监护系统,然后监护系统再将参数按组按照次数依次传递给中心实验室设备。功能图如图4所示。
图4 监护系统功能图
(4)中心实验室,包含了多个标准计量模块,主要功能是接收参数并执行指令。中心实验室接收上位机发送的参数,然后等待上位发送启动指令。接收到启动指令后,确定模拟电路是否接好,然后接通电源,执行校准,将所得数据返回给试验员校准软件。中心实验室的每个计量模块都带有嵌入式软件,可自动实现参数的测量,无需试验员再做配置。
普通的校准设备往往只能对相应的校准业务进行校准,如果想要校准其他待测试品,需要更换另一种校准设备进行校准,这样校准成本就会显著提高[8]。所以本文将校准装置拆分为多个标准计量模块,将多个标准计量模块接入到同一以太局域网内,不但能对特定的对象进行校准,而且在尽量减少成本的情况下还能对校准对象进行扩展。
将现有校准装置分为3个部分:信号发生模块、电源模块和校准专用模块。根据校准装置的测量参数、准确度等级进行归纳分类,将信号发生模块分为信号发生器和精密信号发生器。在上述模块划分中,信号发生模块和电源模块可以由多个校准任务共同使用,实现了模块的复用,提高了模块的使用率同时降低了校准成本。
目前中心实验室的标准计量模块主要采用RS232、GPIB和USB通讯方式进行上位机和下位机之间的通信,不具备远程控制和数据传输能力[9]。因此要实现互联网+概念首要目标就是对标准计量模块进行网络化。本文设计了计量标准模块的网络接口适配器,实现了计量标准综合系统的网络化应用,使中心实验室各个模块间的通信通过网络进行传输。
本文设计了基于AVR系列单片机ATmega64为主控器的网络接口适配器,网络接口适配器上电后单片机先对网卡进行初始化,如果收到RS-232或USB设备的数据,就通过串口或USB接口将数据接收并按照TCP/IP格式进行打包送入以太网控制器中,再由以太网控制器将数据输出到网络中。
本文校准平台的中心实验室依靠交换机实现全双工的星形网络通信结构,通过交换机实现数据的双向通信。本文采用环-树冗余结构,在保证通信可靠的同时,提高网络的通信速率。中心实验室的物理网络拓扑如图5所示。
图5 中心实验室物理网络拓扑图
中心实验室可能存在多个网络接口适配器,每个网络接口适配器上连有多个计量标准模块。将每个网络接口适配器采用环形的方式进行连接,保证了链路的可靠性,中心实验室中的每个节点间需要遵照统一的通信协议。
校准平台主要分为试验员校准实验室、数据库、监护系统以及中心实验室4个模块。通过互联网将4个模块连接成一个整体,实现相互之间的通信。对于这4个地理位置隔开的区域,每个部分在校准过程中分别承担着不同的责任。本文将校准平台软件分为了多个可以独立运行的功能,每个模块的软件功能如图6所示。
图6 校准平台数据流向图
图6中表明了在整个校准过程中,数据的总体流向。试验员操作软件可以和监护系统和数据库实现双向通信,但不能和中心实验室进行直接通信。监护系统作为唯一可以与中心实验室通信的部分,所有需要对中心实验室进行操作的数据报文都需要经过监护系统进行转发,监护系统可以实现对中心实验室的保护作用。
试验员通过网络登录试验员校准软件,在该软件界面上进行远程操作。试验员发出远程校准请求,信息通过网络传输,远方监护系统接收到请求后将其解析为远方试验员,经与远方校准人员完成信息交互、中心实验室准备完成后,启动校准流程,并将校准结果呈现给试验员,供试验员查看校准结果和相关校准信息。系统通信如图7所示。
图7 系统通信图
监护系统作用是对校准平台进行实时的监护,为保证中心实验室的安全,将监护系统作为与中心实验室唯一的通信接口。对于试验员而言,对校准平台进行的操作(查询数据库除外)都需要将报文发送给监护系统,监护系统完成相应的操作,任何外部设备或软件都不能与校准平台的中心实验室进行通信。鉴于此,使用观察者模式设计监护系统的结构和功能。
观察者模式定义了对象间的一种一对多的依赖关系。观察者模式一个主题可以有多个观察者,不同的主题拥有不同的观察者。采用观察者模式可以方便地实现动态联动。将不同的功能模块划分为主题,每个主题均包含一个观察者集合,并提供观察者注册、删除和更新方法。例如,校准平台正常运行时,只有校准机构和送校方拥有校准数据,保证了数据安全;标准计量模块出现故障时,标准装置制造厂家可以申请注册装置运行权限,从而在不必到达现场的情况下,在网络远程终端分析故障原因,监护系统的主题包括多任务校准、可靠运行维护、应急处理、数据知识库。
(1)多任务校准,校准平台的硬件资源是有限并且由所有任务共享的,当多个校准任务同时进行,需要设计合理的资源调度算法;其次在采用多线程技术解决多任务同时校准问题上,需要解决因为共享资源带来的访问冲突、竞争、死锁等一系列问题,保证并行执行不会对原有校准任务产生影响。
(2)可靠运行维护,监护平台会自动推送中心实验室的标准计量模块自检的时间和内容。自检包括自动检测模块的通信链路是否正常、检测模块是否处于工作状态以及查询模块的具体参数信息。
(3)应急处理,监护系统会对偏离正常校准流程的环节报警,触发不同级别的警报,由报警级别自动进行相应的应急处理。例如,当某个试验员出现断网后会使得校准结果无法正常传递,校准平台此时会进入断网保护模式:如果试验员短暂时间掉线,回来后可以继续工作;若长时间掉线,则该校准任务分配的资源会自动回收,结束该校准任务。
(4)数据知识库,数据知识库采用区别对待观察者场景方式推送数据,主要为不同的主题提供不同的校准平台数据。
基于观察者模式,对监护系统进行设计,实现了多类型操作人员关注不同主题的功能。本文校准平台的主题一观察者模式如图8所示。
图8 主题一观察者模式示意图
对于软件开发人员而言,常使用脚本语言编写配置文件来降低因为软件功能经常需要改动而对软件造成的影响[10]。本文的校准平台配置文件是由XML语言进行编写,软件通过读取配置文件来自动更改软件的功能。配置文件包括两个部分,校准任务所需模块配置文件、校准任务流程配置文件。配置文件作为整个校准过程的逻辑部分,不仅需要随时根据校准依据文件做相应的调整,并且随着校准平台业务和模块的扩展,其文件内容也必须随时调整。基于XML描述的配置文件可以被计算机所理解,这也使自动校准成为了可能。配置文件的解析流程图如图9所示。
图9 配置文件的解析流程图
通过语法分析判断是否符合该标签节点类型的语法格式,再分别存储。若是标识符类型,则通过二分查询算法与参数存储结构中的参数关键字比较;若是数值类型,则通过语法分析判断是否符合数值类型语法规则,若有单位,进入数值型数据单位处理模块。当解析过程出现错误时,将错误信息字符串指针指向错误信息存储结构,报告错误信息功能函数模块。
校准平台如果同一时间段内只能校准一个待测试品,这就导致校准平台的标准计量模块的平均空闲时间显著增加,造成了校准平台的硬件资源的浪费[11]。本文为了提高校准平台效率,需要设计一套多任务并发执行的测控机制[12],使得校准平台能够同时执行多个试验员的校准任务或单个试验员的多个校准任务。监护系统软件采用的多线程技术实现并行处理策略。在软件中可以实现同时执行多个校准任务,软件线程功能分配框图如图10所示。
图10 线程功能分配框图
监护系统软件的主线程为显示线程,显示线程会实时读取各个线程内的参数并显示在界面上。该软件接收到试验员发来的校准任务请求时会将校准任务保存在待测试品的队列中,在某个正在执行的校准任务结束后,校准任务调度线程会根据空闲的标准计量模块从待测试品队列中选择合适的校准任务,执行校准操作。
针对多校准任务并行时多线程间发生的竞争、死锁、争夺共享资源等问题设计了相应的解决办法。为了保证线程对于参数数据区更大程度的并发,本文不采用常用的互斥锁[13],改用读写锁实现互斥。同时为了解决标准计量模块的资源竞争问题[14],程序中为每个标准计量模块创建了相对应的锁变量,以“编号_lock”命名锁变量。同时为了解决死锁,本文采用静态资源分配的方式破坏死锁发生的请求和保持的条件,即当校准任务所需要的全部标准计量模块都空闲时再启动校准线程,否则就处于等待状态。
随着智能仪器技术和互联网通信技术不断发展,搭建基于互联网的网络化校准平台变得更加安全可靠。本文设计的基于“互联网+”的电力设备专用测试装置校准平台将用于校准多种参数的标准计量模块抽象成节点连接到互联网络上,进行数据相互发送,实现资源共享和协作,多个计量模块协作共同完成校准任务,使校准跨越了空间和时间的界限,不仅能有效降低组建校准平台的费用,还能实现校准平台间校准信息的共享。