APP下载

变电站智能辅助控制系统协议测试软件的实现

2016-11-03沈显庆朱彦磊常政威徐天昊

黑龙江科技大学学报 2016年4期
关键词:测试软件报文变电站

沈显庆, 朱彦磊, 常政威, 徐天昊

(1.黑龙江科技大学 电气与控制工程学院, 哈尔滨 150022; 2.国网四川省电力公司科学研究院, 成都 610000;3.电子科技大学 能源科学与工程学院, 成都 611731)



变电站智能辅助控制系统协议测试软件的实现

沈显庆1,朱彦磊1,常政威2,徐天昊3

(1.黑龙江科技大学 电气与控制工程学院, 哈尔滨 150022; 2.国网四川省电力公司科学研究院, 成都 610000;3.电子科技大学 能源科学与工程学院, 成都 611731)

针对现有的Modbus协议测试软件多以报文形式进行测试,测试不够直观方便且缺乏针对性的现状,在此基础上增加了可灵活配置的模型文件,设计了一款实用的变电站智能辅助控制系统Modbus RTU协议测试软件。该软件通过建立对象信息模型,将Modbus协议测试和变电站智能辅助系统特定功能加以关联,对智能辅助系统的功能进行测试,实验结果表明:该测试软件简单易操作,能满足测试需求,能够使测试更具有针对性和直观性。

Modbus RTU; 协议测试; 智能辅助系统

0 引 言

目前,在变电站智能辅助控制系统中,现有的Modbus协议测试软件多以报文形式出现,缺乏专有软件来测试设备间通信,测试结果不直观,且缺乏针对性。笔者在标准Modbus RTU报文测试基础上,设计了一套针对变电站智能辅助控制系统进行测试的模型配置文件,通过将模型配置文件和Modbus协议测试进行关联,从而可以弥补现有软件的不足。

文中所述是变电站智能辅助控制系统测试技术研究的一部分,辅助控制系统检测平台主要由综合应用服务器、智能管理主机和子设备模拟器组成。笔者主要开展智能管理主机和子系统设备间基于Modbus协议的功能测试方法的研究,旨在设计出一款实用的变电站智能辅助控制系统Modbus协议测试软件,为变电站智能辅助系统的检测、建设与验收提供标准和检测平台。

1 Modbus协议

目前,在变电站智能管理主机和子设备之间,多采用基于RS-485总线的Modbus协议。该协议是由modicon公司推出的一种在工业领域应用广泛的通信标准之一。Modbus是一种应用层报文传输协议,与底层的物理接口及电气规范无关,它支持传统的RS22/422/485 设备和最新发展出来的以太网设备等[1-2]。

Modbus协议采用主从方式,包括一个主节点和多个从节点,在串行网络中,只有被指定为主节点的节点可以启动一个命令。每个从节点设备都有一个唯一的地址,该地址编码范围为l~247,地址0是广播地址。广播方式时,所有收到指令的设备都会执行,但不回应指令。

1.1Modbus RTU与 ASCII码的比较

在串行链路上,Modbus协议有两种传输模式,即Modbus RTU与Modbus ASCII模式。两种方式的信息单元都以帧的方式传输,每个Modbus 帧都包括地址域、功能域、数据域、错误检测域[3]。相对于ASCⅡ模式 ,RTU模式表达相同的信息需要较少的位数,且在相同通讯速率下具有更大的数据流量[4-7]。因此,工业现场一般都是采用Modbus RTU协议。

1.2Modbus RTU 信息帧

在 RTU 模式下,帧间字符间隔时间不能超过1.5个字符传输时间。帧与帧间时间间隔不能超过3.5 个字符传输时间。如果一帧之内有超过 1.5个字符时间的停顿,接收设备将刷新不完整的消息并假设下一个字节是一个新消息的地址域[8]。

Modbus的协议数据单元(PDU)与基础通信层无关,特定总线或网络上的Modbus协议映射能够在应用数据单元(ADU)上引入一些附加域[9]。通用Modbus帧结构如图1所示。

图1 通用Modbus帧

2 软件设计总体结构

变电站智能辅助控制系统Modbus协议测试软件内置于智能管理主机,通过智能管理主机向下与采用Modbus协议的子系统设备通信,完成对子系统设备的状态检测和控制。智能管理主机向子系统设备发送请求,子系统设备连接成功后正确响应,并向智能管理主机发送对应的所需信息。通过上述过程,完成智能管理主机对子系统设备的信息交换、数据采集和控制输出功能。测试软件总体设计结构见图2。Modbas RTU测试流程如图3所示。

图2 总体设计结构

图3 ModBus RTU测试流程

该测试软件主要包括配置文件解析、通信、协议分析、显示、提示五个模块。智能管理主机通过通信模块与被测子系统设备进行连接通信,接收和发送协议消息,接收到消息后交给协议分析模块进行协议验证和分析,并得出分析结果,由显示模块和提示模块显示分析结果[10]。配置文件解析模块对智能管理主机模拟器读入的配置文件进行解析,以方便测试的形式显示出来。

3 测试软件的实现

在Qt软件开发环境中,为简化程序,提高开发效率,设计采用第三方开发的协议栈Libmodbus来进行Modbus RTU协议测试软件的开发,用Qt+Libmodbus 开发的软件可在不同平台上运行,具有很好的移植性。Libmodbus协议栈包含针对不同功能码的API操作函数。从模型文件或参数输入部分获取API操作函数的输入参数,程序处理后调用相应操作函数,进而实现通信测试。利用Libmodbus开发RTU的流程如图4所示。

图4 ModBus RTU开发流程

3.1模型配置

将智能辅助控制系统中采用Modbus RTU信息量的子设备,按“四遥”类型和设备类型相结合的方式分类。这样,可以有针对性地为设备建立对象信息模型,从而方便地将Modbus报文测试和模型文件进行关联,以直观的方式显示功能测试内容。另外,该模型文件可按照被测厂家自己对通信寄存器地址功能的规定进行配置,具有灵活性的优势。XML文件具有简单、互操作性、规范统、与平台无关和可扩展的特点,设计采用XML格式配置模型文件。模型配置流程如图5所示。

图5 模型配置流程

软件启动后,在文件菜单里先加载本地已建立的XML文件模型,在模型配置页面中会对模型文件进行解析与展示。展示内容包括遥信、遥控、遥测、遥信中的设备名称和设备数量。

3.2通信连接

该部分是为了在智能管理主机和子系统设备间建立通信链路,以便进行报文传输。在进行通信连接前,需设定通信超时时间,超时时间主要用来设置对应答报文的等待时间,等待时间的长短与波特率和应答帧的长度有关。在libmodbus协议栈中有专门设置超时时间的变量struct timeval,其内部成员long tv_sec以秒为单位设置,long tv_usec以微秒为单位设置,软件默认超时时间为1 000 000 μs。设置完超时时间后,需要完成对Modbus RTU的基础串口参数的设置,完成Modbus RTU主机与子设备的通信连接,主要包括串口号选择,波特率选择,数据位选择,检验位选择,停止位选择等。先利用API函数*modbus_t *modbus_new_rtu (const char *’device’,int ‘baud’, char ’ parity’, int ’data_bit’, int ’stop_bit’)来设置RTU连接参数,再利用API函数*int modbus_connect(modbus_t *’ctx’)建立通信连接,当连接建立成功时函数将返回0,否则返回-1。

3.3状态检测与控制

该部分依据Modbus协议标准规定格式进行报文格式封装,功能码功能与标准功能码功能相同,这样可对Modbus报文进行规范化、标准化方面的测试。

此部分是测试软件的主体部分,主要是报文的传输,用于控制子设备动作或查询子设备状态。在libmodbus协议栈中,针对不同功能码设置了不同的API函数,用于读写操作的API函数主要有

*int modbus_read_bits(),

*int modbus_read_input_bits(),

*int modbus_write_bits(),

*int modbus_write_registers()等函数,前面在模型文件中将子系统设备及其需要测试的功能进行了分类,这里可根据这些功能的特点直接调用响应的API函数。在进行读写操作前,要先利用*int

modbus_set_slave(modbus_t *’ctx’,int ‘slave’)设置从机地址。

4 通信测试

通过虚拟串口,利用Modbus Slave软件模拟Modubs从站,对Modbus客户端软件进行测试,Modbus Slave的数值是以十进制显示,Modbus客户端测试软件除当前值和设置值两列用十进制表示外,其余数值全部采用十六进制数表示。在进行测试时,须要注意数值变换。

4.1读功能测试

以遥信量为测试对象,将Slave中的设备ID设为01,功能码设为02,修改通信寄存器地址0000H~0004H中的值为1、0、1、1、1。模型通信参数设备9600、8、N、1(表1)。然后通过虚拟串口建立连接,在上位机软件中勾选需要测试的功能,点击更新按钮,可以发现,从机模拟器中对应的值被正确读出。测试结果如表2所示。

表1 Modbus Slave设置数据

表2 测试结果显示

4.2写功能测试

以遥调量为测试对象,以设置温湿度传感器的温度和湿度的告警限值为例,从上位机设置温湿度(表3)对应的值,看slave从机模拟器是否有变化,如果显示数据和上位机一致,则写入成功,表4为测试结果。

表3 上位机设置数据

表4 设置界面显示

5 结束语

智能辅助控制系统Modbus协议测试软件可以满足测试需求,其模型实现简单,开发成本低。该软件通过建立对象信息模型,将Modbus协议测试和变电站智能辅助系统特定功能进行关联,可以方便地对智能辅助控制系统的功能进行测试,其配置的对象信息模型,可按照被测试厂家自己的规定灵活配置,使软件具有更强的针对性。另外,软件依据标准开发,可起到规范、标准化作用。用于辅助系统测试可以严把系统设备建设、入网关,对保证变电站建设质量和电网安全运行具有重要意义。

致谢:该论文得到四川电力科学研究院——电子科技大学“变电站智能辅助控制系统测试系统开发”项目(2015510007000443)的支持。

[1]戎立斌. 棉花回潮率在线检测数据通信模块设计与实现[J].中国棉花加工, 2011, 12(5): 22-24.

[2]贾泽莘, 李玉贵, 欧莲惠.浅谈Modbus协议在电力系统监控中的应用[J].视听, 2013(4): 7-8.

[3]于强.水质远程监测数据采集系统设计[D].大连: 大连理工大学, 2007.

[4]余杰, 李铁辉.基于MODBUS协议的串口控件的实现[J].微计算机信息, 2008, 12(2): 79-81.

[5]白焰, 钟艳辉, 秦宇飞.基于VC的Modbus协议通信测试软件的实现-Modbus串口通信与Modbus/TCP通信 [J].现代电力, 2008, 25(6): 76-80.

[6]韩丽娜, 陶安利,李绍刚,等.基于Modbus协议的智能压力传感器研发[J].可编程控制器与工厂自动化, 2010, 17(8): 61-64.

[7]刘忠凯, 段富海, 王宁.一种支持远程界面发布的智能温湿度控制系统[J].现代电子技术, 2013, 36(2): 102-106.

[8]金海琴, 陈兴, 翟林鹏.基于Modbus协议的串行通信的应用[J].电子设计工程, 2013, 21(8): 157-160.

[9]刘广敏, 刘建翔, 侯恩广.Modbus协议在红紫外火焰探测器的应用[J].消防科学与技术, 2012(5): 502-504.

[10]韩小军.基于事件仿真的变电站辅助监控系统联动测试研究与实现[D]. 成都: 电子科技大学, 2014.

(编辑徐岩)

Research on implementation of substation intelligent auxiliary control system protocol testing software

SHENXianqing1,ZHUYanlei1,CHANGZhengwei2,XUTianhao3

(1.School of Electrical & Control Engineering, Heilongjiang University of Science & Technology, Harbin 150022, China;2.State Grid Sichuan Electric Power Research Institute, Chengdu 610072, China;3.School of Energy Science & Engineering, University of Electronic Science & Technology of China,Chengdu 611731,China)

This paper proposes a practical Modbus RTU protocol testing software designed for substation intelligent auxiliary control system as an alternative to the existing modbus protocol testing software mostly in the form of message which fails to perform in an intuitive, convenient and specific way. The novel software based on the model of flexible configuration file works by testing the function of the intelligent auxiliary systemby developing object information model and associating Modbus protocol testing with the specific functions of substation intelligent auxiliary system. Experimental results show that the test software capable of simple and easy operation is adequate for the test requirements and provides an intuitive and specific performance.

Modbus RTU; protocol testing; intelligent auxiliary control system

2016-04-25

沈显庆(1969-),男,吉林省通化人,教授,博士,研究方向:变电站智能辅助系统,E-mail:shenxianqing2001@163.com。

10.3969/j.issn.2095-7262.2016.04.020

TM63;TM76

2095-7262(2016)04-0454-04

A

猜你喜欢

测试软件报文变电站
基于J1939 协议多包报文的时序研究及应用
CTCS-2级报文数据管理需求分析和实现
网络自适应测试软件运行方法设计
浅析反驳类报文要点
关于变电站五防闭锁装置的探讨
自动化检测EPU10A板卡系统设计与实现
超高压变电站运行管理模式探讨
ATS与列车通信报文分析
220kV户外变电站接地网的实用设计
远程开放教育学生自主学习能力评价的研究