船用快速直流开关控制软件开发与验证
2023-01-03王旭东
鲁 玲,王旭东,陈 瑶
应用研究
船用快速直流开关控制软件开发与验证
鲁 玲,王旭东,陈 瑶
(武汉船用电力推进装置研究所,武汉 430064)
本文介绍了船用快速直流开关控制软件的设计开发过程,实现了断路器分断和闭合控制、过载长延时保护、短路电流保护、事件记录等基本功能,并通过软件测试验证了该软件的功能,为该类软件的开发和设计提供了参考,对于提高舰船电力系统的安全性具有实际意义。
快速直流开关 软件开发软件测试
0 引言
随着船舶电气设备自动化程度的不断提高,对于嵌入在设备中的软件的要求也越来越高。快速直流开关系统是船用电力系统中重要的保护装置,用来分配电能,保护线路免受过载、短路故障的危害,其控制软件的正常有效运行对于整个舰船的安全、正常运行有着关键性作用。本文将围绕船用快速直流开关系统的基本功能,开发具备状态监测、保护等功能的控制软件,并开展验证工作。
1 快速直流开关控制软件开发任务
1.1 系统介绍
快速直流开关系统的主要功能是实现断路器的分闸、合闸,当系统中发生故障时及时断开断路器,达到保护系统的目的。本文开发的控制软件具备对快速直流开关上电的状态自检功能,具备快速直流开关状态监测及控制功能,通过监测电流状态实现对快速直流开关的过载长延时保护、短路瞬时保护,同时具备与上位机通信功能。上电自检状态是过渡状态,执行完此操作后自动跳转至下一个状态。当自检成功跳转到正常运行状态,具备测量功能、保护功能、控制功能、通讯功能;当自检不成功跳转到故障运行状态,具备测量功能、复位功能、通讯功能。系统运行方案如图1所示。
1.2 软件功能介绍
快速直流开关控制软件主要包含以下功能。
1)断路器启动电容自检功能:接通控制电源后,断路器进入“启动”过程,软件对相关电容的充电过程进行监测。等待一定时间后如电容充满,表明自检成功;如电容未充满,自检失败,输出报警信号。
图1 系统运行方案状态图
2)断路器闭合控制功能:软件接收到合闸命令后,发出断路器合闸信号。每次发出开关动作信号后等待一定时间,判断开关状态是否正确,如正确则继续执行后续动作,如不正确则发出报警信号。
3)断路器分断控制功能:软件接收到本地分闸命令后,发出分闸信号,如分断不成功则发出报警信号。
4)过载长延时保护功能:当测量到主回路电流在过载长延时电流整定范围内,且持续时间大于过载长延时时间整定值时,保护输出给断路器,如保护不成功则发出报警信号。
5)短路电流保护功能:当测量到主回路电流大于短路电流整定值时,保护输出给断路器,如保护不成功则发出报警信号。根据电流方向,短路电流保护功能分为正向保护和负向保护。
6)事件记录功能:在快速直流开关接通控制电源后,软件可记录启动电容自检、断路器分合闸、故障保护等事件,能记录事件发生时间、保护动作类型及其他事件信息。
2 快速直流开关控制软件设计与实现
本控制软件属于嵌入式ARM软件,软件的设计主要采用结构化的方法:一是将全局变量进行适当分组,形成结构体变量;二是将实现各功能的语句封装成函数,根据需求进行调用。软件运行以“无限循环”结合“中断触发”的方式进行,在初始化完成后进入无限循环,由各类中断触发进行各类操作。本软件的执行方案如图2所示。
2.1 软件功能介绍
按照功能及作用,将软件代码结构划分为初始化程序、主循环程序、中断服务程序及公用函数库。初始化程序包含所有初始化函数、上电自检函数、上电读EEPROM函数,仅在程序开始运行时执行一次;主循环程序包含所有实现程序功能的函数,可根据功能的复杂程度进行进一步划分;中断服务程序包含所有程序调用的中断函数,例如定时器中断、AD采样中断、RS485中断、CAN中断;公用函数库包含所有程序中调用的基本功能函数,例如保护通用函数、事件记录函数、滤波函数等。
根据软件层次及结构划分,进一步设计软件单元结构。将软件各部件按照输入来源分为接口层和和控制层,接口层包含了初始化模块、主循环模块以及模拟量采样中断、CAN中断和RS485中断,控制层则包含定时器中断和外部中断,如图3所示。
图2 快速直流开关控制软件执行方案
图3 软件单元结构图
2.2 软件实现
根据软件设计方案,采用C语言在MDK集成开发环境中完成软件开发、编译和调试,并由独立的单元测试人员完成单元测试。通过Testbed软件开展静态分析和代码审查,人工完成代码走查,发现程序bug12个,均已修正,语句覆盖率达到100%。
3 快速直流开关控制软件验证
完成软件编码并通过单元测试后,即可开展快速直流开关控制软件的功能与性能验证工作。包括配置项测试和系统测试,均采用黑盒测试方式。其中配置项测试在模拟环境中进行,系统测试在快速直流开关系统的真实工作环境中开展。
3.1 测试计划与用例设计
在开始测试工作前,首先对整个测试工作进行合理的计划,主要包括测试依据、测试环境、计划执行的测试、测试结束准则等。
测试依据:包含标准的指导程序《软件测试规范》,以及快速直流开关控制软件的研制任务书、技术要求、软件的最终使用目的等。
测试环境:即开展相应的测试工作所必需的软硬件环境。根据尽早介入原则,测试环境也需要提前计划,方便根据实际情况及时准备测试环境,以免影响测试进度。
计划执行的测试:根据GJB102A《软件安全性设计准则》,快速直流开关控制软件安全性等级为B级,结合本软件特点,配置项测试和系统测试分别要执行的测试类型见表1。然后再结合需求规格说明和研制任务书中明确提出的需求,识别并标识所有需开展的测试项。
表1 测试类型表
测试结束准则:1)测试用例全部通过;2)未执行及未通过的测试用例均获得批准;3)测试被取消。
测试计划完成并通过评审后,需要针对每一个已标识的测试项设计可执行的测试用例。根据快速直流开关控制软件的功能特点,设计测试用例主要采用的方法有等价类划分法、边界值分析法和经验判断法等。设计测试用例时,需明确预期的测试结果和测试结果判定准则。
3.2 测试执行
根据尽早介入原则,测试工作应在需求开发阶段就开始,并在设计与实现阶段持续。通过对文档审查,及时与开发人员沟通,尽早发现需求和设计文档中的错误与不合理,将纠正错误的工作量和损失降到最低,增强软件的可测试性。
开始快速直流开关控制软件功性能验证前,开发人员搭建测试的软件环境和测试环境,测试人员确认后,即依照测试计划和测试用例开始测试工作。测试过程中,测试人员对每个测试用例的执行结果如实记录,并记录测试遇到的问题,将软件缺陷提交到专门的缺陷管理系统中,跟踪闭环。
本软件在配置项测试中发现缺陷32个,在系统测试中发现缺陷6个,均为一般缺陷,所有缺陷均已通过回归测试。最后,测试人员形成相应的软件测试报告。
3.3 测试结果
测试工作结束后,组织相关人员和领域专家对测试报告进行评审,评审时重点关注快速直流开关控制软件的保护功能实现情况。从测试结果来看,过载长延时保护、正向短路电流保护和负向短路电流保护均能正常动作,未出现拒不动作的偶然情况,且保护精度满足性能要求。当出现故障时,软件能正确记录故障事件信息,具有一定的参考意义。此外,其他测试用例的测试结果也与预期一致。
4 结束语
针对船用快速直流开关系统的主要功能,本文开发了快速直流开关控制软件,提供了软件设计的思路和方法,并开展了完整的验证工作。结果表明本软件实现了快速直流开关系统启动电容自检、断路器分断和闭合控制、过载长延时保护、短路电流保护、事件记录等功能。通过开展本项研究工作,为该类软件的开发和设计提供了思路和参考,对于提高舰船电力系统的安全性具有实际意义。
[1] 王福生, 陈峥, 胡博, 等. 双通信电源系统自动母联开关的设计与实现[J]. 电力系统保护与控制, 2019, 47(2): 161-166.
[2] 时启国. 模块化嵌入式软件的开发与应用[J]. 机械设计, 2021, 38(11): 147.
[3] 邹智荣, 唐鹏辉, 罗源. 嵌入式软件开发模式与软件架构研究[J]. 电子技术与软件工程, 2021(15): 29-30.
[4] 周平平, 张俊, 罗海鹰, 等. 军用嵌入式软件测试技术研究[J]. 教练机, 2021(2): 27-31.
[5] 黄清清, 许宏斌. 软件测试计划与测试用例在嵌入系统中的应用[J]. 舰船电子工程, 2005(1): 59-63.
Development and Verification of Control Software for Marine fast DC switch
Lu Ling, Wang Xudong, Chen Yao
(Wuhan Institute of Marine Electric Propulsion, Wuhan 430064, China)
TM591
A
1003-4862(2022)12-0058-03
2022-02-24
鲁玲(1993-),女,助理工程师。研究方向:嵌入式软件测试。E-mail:1344884162@qq.com