魯 玲,王旭東,陳 瑤
應用研究
船用快速直流開關控制軟件開發(fā)與驗證
魯 玲,王旭東,陳 瑤
(武漢船用電力推進裝置研究所,武漢 430064)
本文介紹了船用快速直流開關控制軟件的設計開發(fā)過程,實現了斷路器分斷和閉合控制、過載長延時保護、短路電流保護、事件記錄等基本功能,并通過軟件測試驗證了該軟件的功能,為該類軟件的開發(fā)和設計提供了參考,對于提高艦船電力系統(tǒng)的安全性具有實際意義。
快速直流開關 軟件開發(fā)軟件測試
隨著船舶電氣設備自動化程度的不斷提高,對于嵌入在設備中的軟件的要求也越來越高。快速直流開關系統(tǒng)是船用電力系統(tǒng)中重要的保護裝置,用來分配電能,保護線路免受過載、短路故障的危害,其控制軟件的正常有效運行對于整個艦船的安全、正常運行有著關鍵性作用。本文將圍繞船用快速直流開關系統(tǒng)的基本功能,開發(fā)具備狀態(tài)監(jiān)測、保護等功能的控制軟件,并開展驗證工作。
快速直流開關系統(tǒng)的主要功能是實現斷路器的分閘、合閘,當系統(tǒng)中發(fā)生故障時及時斷開斷路器,達到保護系統(tǒng)的目的。本文開發(fā)的控制軟件具備對快速直流開關上電的狀態(tài)自檢功能,具備快速直流開關狀態(tài)監(jiān)測及控制功能,通過監(jiān)測電流狀態(tài)實現對快速直流開關的過載長延時保護、短路瞬時保護,同時具備與上位機通信功能。上電自檢狀態(tài)是過渡狀態(tài),執(zhí)行完此操作后自動跳轉至下一個狀態(tài)。當自檢成功跳轉到正常運行狀態(tài),具備測量功能、保護功能、控制功能、通訊功能;當自檢不成功跳轉到故障運行狀態(tài),具備測量功能、復位功能、通訊功能。系統(tǒng)運行方案如圖1所示。
快速直流開關控制軟件主要包含以下功能。
1)斷路器啟動電容自檢功能:接通控制電源后,斷路器進入“啟動”過程,軟件對相關電容的充電過程進行監(jiān)測。等待一定時間后如電容充滿,表明自檢成功;如電容未充滿,自檢失敗,輸出報警信號。
圖1 系統(tǒng)運行方案狀態(tài)圖
2)斷路器閉合控制功能:軟件接收到合閘命令后,發(fā)出斷路器合閘信號。每次發(fā)出開關動作信號后等待一定時間,判斷開關狀態(tài)是否正確,如正確則繼續(xù)執(zhí)行后續(xù)動作,如不正確則發(fā)出報警信號。
3)斷路器分斷控制功能:軟件接收到本地分閘命令后,發(fā)出分閘信號,如分斷不成功則發(fā)出報警信號。
4)過載長延時保護功能:當測量到主回路電流在過載長延時電流整定范圍內,且持續(xù)時間大于過載長延時時間整定值時,保護輸出給斷路器,如保護不成功則發(fā)出報警信號。
5)短路電流保護功能:當測量到主回路電流大于短路電流整定值時,保護輸出給斷路器,如保護不成功則發(fā)出報警信號。根據電流方向,短路電流保護功能分為正向保護和負向保護。
6)事件記錄功能:在快速直流開關接通控制電源后,軟件可記錄啟動電容自檢、斷路器分合閘、故障保護等事件,能記錄事件發(fā)生時間、保護動作類型及其他事件信息。
本控制軟件屬于嵌入式ARM軟件,軟件的設計主要采用結構化的方法:一是將全局變量進行適當分組,形成結構體變量;二是將實現各功能的語句封裝成函數,根據需求進行調用。軟件運行以“無限循環(huán)”結合“中斷觸發(fā)”的方式進行,在初始化完成后進入無限循環(huán),由各類中斷觸發(fā)進行各類操作。本軟件的執(zhí)行方案如圖2所示。
按照功能及作用,將軟件代碼結構劃分為初始化程序、主循環(huán)程序、中斷服務程序及公用函數庫。初始化程序包含所有初始化函數、上電自檢函數、上電讀EEPROM函數,僅在程序開始運行時執(zhí)行一次;主循環(huán)程序包含所有實現程序功能的函數,可根據功能的復雜程度進行進一步劃分;中斷服務程序包含所有程序調用的中斷函數,例如定時器中斷、AD采樣中斷、RS485中斷、CAN中斷;公用函數庫包含所有程序中調用的基本功能函數,例如保護通用函數、事件記錄函數、濾波函數等。
根據軟件層次及結構劃分,進一步設計軟件單元結構。將軟件各部件按照輸入來源分為接口層和和控制層,接口層包含了初始化模塊、主循環(huán)模塊以及模擬量采樣中斷、CAN中斷和RS485中斷,控制層則包含定時器中斷和外部中斷,如圖3所示。
圖2 快速直流開關控制軟件執(zhí)行方案
圖3 軟件單元結構圖
根據軟件設計方案,采用C語言在MDK集成開發(fā)環(huán)境中完成軟件開發(fā)、編譯和調試,并由獨立的單元測試人員完成單元測試。通過Testbed軟件開展靜態(tài)分析和代碼審查,人工完成代碼走查,發(fā)現程序bug12個,均已修正,語句覆蓋率達到100%。
完成軟件編碼并通過單元測試后,即可開展快速直流開關控制軟件的功能與性能驗證工作。包括配置項測試和系統(tǒng)測試,均采用黑盒測試方式。其中配置項測試在模擬環(huán)境中進行,系統(tǒng)測試在快速直流開關系統(tǒng)的真實工作環(huán)境中開展。
在開始測試工作前,首先對整個測試工作進行合理的計劃,主要包括測試依據、測試環(huán)境、計劃執(zhí)行的測試、測試結束準則等。
測試依據:包含標準的指導程序《軟件測試規(guī)范》,以及快速直流開關控制軟件的研制任務書、技術要求、軟件的最終使用目的等。
測試環(huán)境:即開展相應的測試工作所必需的軟硬件環(huán)境。根據盡早介入原則,測試環(huán)境也需要提前計劃,方便根據實際情況及時準備測試環(huán)境,以免影響測試進度。
計劃執(zhí)行的測試:根據GJB102A《軟件安全性設計準則》,快速直流開關控制軟件安全性等級為B級,結合本軟件特點,配置項測試和系統(tǒng)測試分別要執(zhí)行的測試類型見表1。然后再結合需求規(guī)格說明和研制任務書中明確提出的需求,識別并標識所有需開展的測試項。
表1 測試類型表
測試結束準則:1)測試用例全部通過;2)未執(zhí)行及未通過的測試用例均獲得批準;3)測試被取消。
測試計劃完成并通過評審后,需要針對每一個已標識的測試項設計可執(zhí)行的測試用例。根據快速直流開關控制軟件的功能特點,設計測試用例主要采用的方法有等價類劃分法、邊界值分析法和經驗判斷法等。設計測試用例時,需明確預期的測試結果和測試結果判定準則。
根據盡早介入原則,測試工作應在需求開發(fā)階段就開始,并在設計與實現階段持續(xù)。通過對文檔審查,及時與開發(fā)人員溝通,盡早發(fā)現需求和設計文檔中的錯誤與不合理,將糾正錯誤的工作量和損失降到最低,增強軟件的可測試性。
開始快速直流開關控制軟件功性能驗證前,開發(fā)人員搭建測試的軟件環(huán)境和測試環(huán)境,測試人員確認后,即依照測試計劃和測試用例開始測試工作。測試過程中,測試人員對每個測試用例的執(zhí)行結果如實記錄,并記錄測試遇到的問題,將軟件缺陷提交到專門的缺陷管理系統(tǒng)中,跟蹤閉環(huán)。
本軟件在配置項測試中發(fā)現缺陷32個,在系統(tǒng)測試中發(fā)現缺陷6個,均為一般缺陷,所有缺陷均已通過回歸測試。最后,測試人員形成相應的軟件測試報告。
測試工作結束后,組織相關人員和領域專家對測試報告進行評審,評審時重點關注快速直流開關控制軟件的保護功能實現情況。從測試結果來看,過載長延時保護、正向短路電流保護和負向短路電流保護均能正常動作,未出現拒不動作的偶然情況,且保護精度滿足性能要求。當出現故障時,軟件能正確記錄故障事件信息,具有一定的參考意義。此外,其他測試用例的測試結果也與預期一致。
針對船用快速直流開關系統(tǒng)的主要功能,本文開發(fā)了快速直流開關控制軟件,提供了軟件設計的思路和方法,并開展了完整的驗證工作。結果表明本軟件實現了快速直流開關系統(tǒng)啟動電容自檢、斷路器分斷和閉合控制、過載長延時保護、短路電流保護、事件記錄等功能。通過開展本項研究工作,為該類軟件的開發(fā)和設計提供了思路和參考,對于提高艦船電力系統(tǒng)的安全性具有實際意義。
[1] 王福生, 陳崢, 胡博, 等. 雙通信電源系統(tǒng)自動母聯開關的設計與實現[J]. 電力系統(tǒng)保護與控制, 2019, 47(2): 161-166.
[2] 時啟國. 模塊化嵌入式軟件的開發(fā)與應用[J]. 機械設計, 2021, 38(11): 147.
[3] 鄒智榮, 唐鵬輝, 羅源. 嵌入式軟件開發(fā)模式與軟件架構研究[J]. 電子技術與軟件工程, 2021(15): 29-30.
[4] 周平平, 張俊, 羅海鷹, 等. 軍用嵌入式軟件測試技術研究[J]. 教練機, 2021(2): 27-31.
[5] 黃清清, 許宏斌. 軟件測試計劃與測試用例在嵌入系統(tǒng)中的應用[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