自动化装置维护软件中的通信构件的开发方法
2015-04-16王军伟
王军伟
(中博信息技术研究院有限公司 江苏 南京)
自动化装置维护软件中的通信构件的开发方法
王军伟
(中博信息技术研究院有限公司江苏南京)
自动化设备装置之间的通讯信息通过通信构件传递,考虑现场磁场对设备通信的影响,采用了类套接字这种通讯技术。本文介绍通信构件在自动化设备维护软件中的开发方式,阐述了类套接字通信技术的通信基本原理。并且分析软件中相关构件间的结构组成关系以及在整个软件中通信构件起到的重大作用。
类套接字;通信构件;自动化装置
电网的稳定运行有赖于继电保护装置的支持。继电保护设备维护工作显得尤为重要。在我国,继电保护装置的开发刚刚起步,维护工作也很薄弱。所以开发性能卓越的继电保护支持软件是非常迫切的工作任务。目前继电保护工作人员在电力系统维护中使用仿真软件工作,但这些软件具有很大的局限性,在特定场合无法完成继电保护自动化设备的开发维护相关工作。此外,在工程中还需要对参数进行设定、数据提取分析和定值整定。
1 类套接字通信原理
在现代信息通信传递过程中通常使用Windows Socket套接字技术。这种通信方式中服务器守护进程优先创建启动监听,当有客户端发送链接请求时,监听收到响应,再进行通信套接字,应答客户端,进行会话。这是客户端创建对应套接字,实现通信任务。上述的传统消息通道处理程序,他的特点是通信的安全可靠,并且效率高。为了提高电力通信的可靠性,通信构件吸纳Windows Socket套接字通信技术中的通信思想,摒弃绑定地址的结构,形成类套接字通信技术。
通信构件一般采用互斥机制线程来确保装置与维护软体结构间的通信数据安全、连贯和稳定。在信息传递过程中,支撑机器作为客户端,伪服务器有保护装置充当。在维护通信数据分析时,伪服务器从保护状态变换成人机对话模式,并且启动通讯子模块。串行模块在启动后创建通讯接口进程,并建立逻辑控制监视类套接字连接请求。如果发现请求连接,立刻建立逻辑数据库类套接字的接收。
2 类套接字实现过程
维护支撑软体分为五个子支撑通信部件,为了实现五个部分数据共享,软体系统所有通信功能共同封装在一个通信构件中,通过动态链接库实现数据共享。每个软体支撑经过共同的动态链接数据库获得通信条件功能。动态库中的开源社区引擎函数通过预设参数对串口文件处理,当需要接口装置发送数据时,通过对动态数据库中的send函数调用,启动线程发送指令,发送数据信息。当接口装置反馈信息时,通过串口监视函数listen的调用,启动接收任务。这种类套接字通信将发送、接收、处理和报文检验融为一体。
2.1报文校验
在报文数据传输过程中,受附近磁场干扰严重时,必须采取有效防护措施。否则可能造成数据丢失或接收错误。所以在报文数据接收后必须进行报文校验。通常采用的校验方式有两种,分别是帧序号检测和校验循环的冗余码,以此来确保数据完整正确。
帧序号检测法:
帧序号的校验方式需要在每个帧数据中加入一个字节进行标号,通过两种手段对数据完整性进行校验。
(1)通过验证预设帧序号的连贯性,确定数据中是否丢失片段。在接收到数据信息后,如果预设的帧序号不连续,中间出现一个或多个帧序号缺失,则可判断数据片段丢失情况,可向发送端请求重发数据丢失序列部分。
(2)通过对每段数据结束帧设置标记,来检验数据是否完全接受。在接收端对结束标志进行判断,确保该帧报文数据正常结束,则表明数据完整。该方法需要确定报文结束分段标志设置、分段长短,在每帧荷载有效数据一定下,报文的长短决定了设置结束帧数量的多少,并且决定了帧序号的多少。通常报文数据分为命令和保护两类。命令报文短小,保护报文冗长。为了确保数据完成性,以最长的录波报文进行代表性分析。录波报文通常包含故障曲线数据、保护动作类型和状态的信息。而其中录波曲线又包含五个部分,分别是启动部分,跳闸动作,重合闸动作,加速启动和加速跳闸。根据大量数据研究显示,实际最大总长度一般不超过15000个字节。为了系统升级后能传输更长的数据报文,报告长度预加3000字节,这样总长度最大值设定为18000字节。每帧报文按照荷载250字节计算,传输总字节需要72帧,所以帧序号最多可用7位的二进制数组成。并且把帧序号最高位字节留作帧的结束标志。在接收数据是,如果是最后一帧,则将其标记为0,拖过不是则该位设置为1,这样就可以正确判断接收的所有帧是否完整了。
循环冗余码校验:
在差错控制理论中,有一种生成多项式方式,循环冗余码验证求取其中的线性分组码,有效的验证发送和接收的数据内容是都一致。该方式的验证流程为:发送端使用需要发送的数据信息码除以生成多项式,从而得到数据校验码,并且把信息码和检验码一同发送给接收端。而接收端在接受数据信息后,将校验码与自己通过信息码计算的校验码进行比对,一次判断数据接收正确性。在不同的通信方式中,对于循环冗余校验的实施方式也不相同。以太网数据通信中一般是以太网控制器进行实施的,而串口通信则分为四种方式。四种方式分别为字节查表法、比特软件模拟法、代数计算法和硬件电路生成法。结合电力通信系统的特点,综合比对各种算法,通信构件最终采用字节查表法进行。
2.2信息发送
客户端支撑机总是优先向接口装置发送数据信息,接口装置在接收数据信息后,组织数据信息,并将数据反馈传输给支撑机。数据信息发送根据数据性质的不同分为命令报文还有数据报文两类。数据报文大多数需要将数据分多帧进行发送,而命令报文通常采用的是单帧发送。
(1)命令发送
命令帧数据结构缓冲区mBuffer必须根据通讯协议填写,内容包含1个字节帧数据长度、2字节循环冗余校验码和1个字节功能码。调用OpenCOM必须根据配置的参数进行调用。发送命令前首先实例化m_serial,这是因为全部通信功能都在通信类CCommunicate中封装。
启动SendThread线程首先要调用m_serial中的send程序。由SendThread发送线程将4字节的数据命令报文写入串口,进而发送数据到接口装置。最后启动RecvThread接收线程监视串口,准备接收命令报文。
(2)数据发送
数据报文与命令报文具有相同的发送方式,但数据报文需要创建的缓冲区与命令报文存在差异。整个数据报文的发送过程为:计算发送数据的每帧字节数量,根据实际情况确定计算发送帧数量,填写并发送数据帧,在发送出最后一帧数据后,调用Listen函数,并且以此启动RecvThread接收线程,做好接收准备。
2.3信息接收处理
支撑软件中的通信构件在接收到报文后立刻使用消息映射机制将数据消息通过函数进行处理。信息接收处理主要分为命令报文和数据报文的接收处理反应。两者根据形势差异而有所不同。
3 类套接字验证结果
在自动化装置维护软件体系中,通信构件模式工作量大,为了提高工程效率,开发了NDT65综合自动化系统软件支撑构架。该系统包括五个相对独立的分析软件,相互之间共享数据库,通过通信构件调度传递处理数据。而数据主要来源是保护继电装置。由此可见,通信构件是系统功能中的重要组成部分。为了降低现场工程中磁场对通信过程的影响,构件采用类套接字通信技术用以开发。类套接字通信技术的开发应用,提高了通信构件在系统中的稳定性、安全性和高效性。自动化装置的维护工作因为开发的通信构件软体的重要作用而变得更加有效。
4 总结
NDT65综合自动化系统软件支撑构架已经初步研发完成,并且由国家电力公司审核鉴定通过验证,达到了同类产品先进标准。在自动化装备研制过程中,通过串口读写接口装置测控保护数据。把故障波形数据下装到接口保护装置,分析动作特性。在磁性较强的现场,安装调试人员根据实际情况调试设备。
[1]张福生,吴秋瑞,张建成.电力系统微机保护的Matlab仿真插值算法[J].微计算机信息,2006,2(1):272~274.
[2]施文济.如何实现Matlab与SPICE仿真分析之间的转换[J].微计算机信息,2006,2(1):269~270.
TP311
A
1673-0038(2015)28-0230-02
2015-5-28