胡雨龍,杜路路,紀(jì) 攀,何迎飛
(1.中國南方電網(wǎng)有限責(zé)任公司超高壓輸電公司,廣州 510620;2.特變電工新疆新能源股份有限公司,西安 710075)
柔性直流輸電具有輸送容量大、損耗小、送電距離遠(yuǎn)等優(yōu)點(diǎn),是實(shí)現(xiàn)中國能源優(yōu)化的有效途徑。閥控系統(tǒng)是聯(lián)系上層控制保護(hù)系統(tǒng)與底層子模塊的中間樞紐,其可靠性對(duì)柔性直流輸電穩(wěn)定運(yùn)行有重要意義[1-2]?;趥鹘y(tǒng)手寫代碼的開發(fā)流程一方面對(duì)開發(fā)人員代碼編制能力要求較高,另一方面由于人為因素而造成產(chǎn)品的可靠性低,調(diào)試周期長,開發(fā)成本高且不利于后續(xù)產(chǎn)品維護(hù)。基于模型的可視化軟件代碼生成方法,因易仿真驗(yàn)證、高可靠性等優(yōu)點(diǎn),近年來廣泛應(yīng)用在汽車、軍工、軌道交通等行業(yè)的控制系統(tǒng)[3-5]。在電力領(lǐng)域已有學(xué)者在可視化編程直流控制保護(hù)方面進(jìn)行了研究[6-7],但可視化編程在柔性直流輸電閥控裝置中尚無應(yīng)用。文獻(xiàn)[9]和文獻(xiàn)[10]在MATLAB/Simulink 自動(dòng)代碼生成環(huán)境下,采用圖形化編程的方式分別實(shí)現(xiàn)汽車電控單元和電機(jī)控制器設(shè)計(jì),但僅探討了代碼自動(dòng)生成的單個(gè)細(xì)節(jié),未涉及整體控制策略和實(shí)際產(chǎn)品應(yīng)用。
本文以柔性直流輸電閥控裝置為研究對(duì)象,首先研究基于模型設(shè)計(jì)的軟件開發(fā)流程及代碼生成原理,詳細(xì)闡述順控模型及環(huán)流抑制模型的設(shè)計(jì)過程,對(duì)所搭建模型進(jìn)行離線仿真調(diào)試驗(yàn)證,并將調(diào)試成功的模型一鍵生成代碼移植至閥控控制器。最后,通過工程現(xiàn)場試驗(yàn)測試換流閥充電解鎖啟動(dòng)運(yùn)行的工況,驗(yàn)證基于模型設(shè)計(jì)的閥控軟件開發(fā)方法的可行性。
基于模型設(shè)計(jì)的開發(fā)以模型為中心,模型構(gòu)建過程即為設(shè)計(jì)過程,設(shè)計(jì)過程中可以隨時(shí)進(jìn)行仿真以檢查設(shè)計(jì)合理性。設(shè)計(jì)和驗(yàn)證過程中,通過自動(dòng)代碼生成可以將設(shè)計(jì)的算法模型自動(dòng)轉(zhuǎn)換成C,C++,HDL 和PLC 代碼,不需要手工編寫算法代碼,節(jié)省時(shí)間,減少錯(cuò)誤,生成的代碼可針對(duì)芯片進(jìn)行優(yōu)化,直接布置到硬件設(shè)備中。
MATLAB 中Simulink Coder 將模型生成代碼過程分為模型解析、代碼生成兩部分。
1)模型解析。
Simulink Coder 首先對(duì)搭建的控制軟件模型進(jìn)行編譯,生成.rtw 格式的模型描述文件,文件描述了所有模塊、輸入、輸出、參數(shù)、狀態(tài)等模型的全部配置和屬性信息。
2)代碼生成。
TLC(目標(biāo)語言編譯器)讀取.rtw 格式文件,并依據(jù)目標(biāo)文件.tlc 格式文件生成C 代碼。其原理如圖1 所示。
圖1 代碼生成原理
完整的軟件工程包括應(yīng)用層代碼和底層驅(qū)動(dòng)代碼。一般模型生成代碼的部分為應(yīng)用層代碼,底層驅(qū)動(dòng)部分若用Simulink 搭建,既需要熟悉MCU(微控制單位)的內(nèi)部架構(gòu),又需要掌握TLC代碼和目標(biāo)文件語法[10],開發(fā)時(shí)間成本高,因此本閥控裝置軟件開發(fā)底層驅(qū)動(dòng)部分仍采用手寫代碼方式。
將底層硬件驅(qū)動(dòng)程序和自生成應(yīng)用層程序代碼整合,經(jīng)過代碼編譯器生成硬件支持的.out 格式可執(zhí)行文件,并將其下載至控制器中。
柔性直流輸電單端系統(tǒng)如圖2 所示。閥控系統(tǒng)實(shí)現(xiàn)的主要功能有:接收CCP(換流器控制保護(hù)設(shè)備)傳送的命令,控制系統(tǒng)處于停機(jī)態(tài)、充電態(tài)、待解鎖態(tài)或運(yùn)行態(tài);抑制橋臂電流二倍頻環(huán)流功能;故障保護(hù)功能。
圖2 柔性直流輸電單端系統(tǒng)
依據(jù)閥控裝置的功能需求,使用Simulink 工具箱和Stateflow 工具箱搭建設(shè)備的控制軟件模型,包括順序控制、環(huán)流抑制、模塊比對(duì)、故障保護(hù)、子模塊冗余控制、系統(tǒng)冗余切換等。
為實(shí)現(xiàn)閥控裝置的順序控制功能,設(shè)計(jì)順序控制邏輯流程如圖3 所示。正常運(yùn)行模式下順序控制主要有上電初始化、停機(jī)態(tài)、充電態(tài)、待解鎖態(tài)、運(yùn)行態(tài)和故障態(tài)。
圖3 順序控制邏輯
利用Stateflow 搭建順序控制可視化模型如圖4 所示。
圖4 順序控制模型
停機(jī)態(tài):若該狀態(tài)下檢測到跳閘類故障Fw不為0,則轉(zhuǎn)為故障態(tài);若未檢測到跳閘類故障Fw,且CCP 下發(fā)的命令EnergizeMode(運(yùn)行/停運(yùn)狀態(tài))由無效(0x5555)變?yōu)橛行В?xAAAA),則閥控系統(tǒng)進(jìn)入充電態(tài)。
充電態(tài):充電狀態(tài)下若接收到CCP 下發(fā)的停運(yùn)命令(EnergizeMode=0x5555),進(jìn)入停機(jī)態(tài);充電狀態(tài)下若檢測到故障Fw 不為0,則轉(zhuǎn)為故障態(tài);正常充電狀態(tài)下根據(jù)CCP 下發(fā)充電模式命令字,執(zhí)行不同的不控充電、可控充電邏輯;充電完成判斷充電電壓滿足解鎖要求后,進(jìn)入待解鎖態(tài)。
進(jìn)入待解鎖態(tài)充電電壓的滿足條件如圖5 所示:全橋子模塊平均電壓與半橋模塊平均電壓差小于設(shè)定值;全局子模塊平均電壓大于模塊電壓給定值。
圖5 進(jìn)入待解鎖態(tài)充電電壓滿足條件
待解鎖態(tài):待解鎖狀態(tài)下,檢測到跳閘類故障Fw 不為0,閥控系統(tǒng)進(jìn)入故障態(tài);若接收到CCP下發(fā)的停運(yùn)命令(EnergizeMode=0x5555),進(jìn)入停機(jī)態(tài);若此待解鎖態(tài)是由充電態(tài)轉(zhuǎn)入待解鎖態(tài),則接收到CCP 的解鎖命令(DEBLOCK=0xAAAA),進(jìn)入運(yùn)行態(tài)。
運(yùn)行態(tài):運(yùn)行態(tài)下檢測到跳閘類故障Fw 不為0,閥控系統(tǒng)進(jìn)入故障態(tài);若接收到CCP 下發(fā)的停運(yùn)命令(EnergizeMode=0x5555),進(jìn)入停機(jī)態(tài);運(yùn)行狀態(tài)下若接收到CCP 下發(fā)閉鎖命令(DEBLOCK=0x5555),則進(jìn)入待解鎖態(tài);正常運(yùn)行狀態(tài)下,CCP 下發(fā)解鎖命令(DEBLOCK=0xAAAA),閥控系統(tǒng)向模塊下發(fā)解鎖命令(PWM_ON)。
MMC(模塊化多電平換流器)處于四象限運(yùn)行時(shí),橋臂電流含直流分量、工頻交流分量以及二倍頻環(huán)流分量。其中,二倍頻環(huán)流分量為諧波擾動(dòng),在一定程度上增加了功率模塊的運(yùn)行損耗。采用如圖6 所示的dq 軸電流解耦矢量控制方案進(jìn)行環(huán)流抑制,通過abc/dq 坐標(biāo)變換模塊(Tabc/dq)得到橋臂電流二倍頻分量,通過PI(比例-積分)控制及dq 軸解耦控制產(chǎn)生環(huán)流抑制分量,疊加至CCP 下發(fā)的調(diào)制波中,最終實(shí)現(xiàn)環(huán)流抑制。圖6 中,ipj,inj(j=a,b,c)為三相橋臂電流;idiiffj為MMC 三相內(nèi)部電流;i2fd,i2fq分別為內(nèi)部環(huán)流 的d 軸、q軸分量,i2fd_ref,i2fq_ref分別為環(huán)流d軸、q 軸分量的參考值;Mdiffd_ref,Mdiffq_ref分別為環(huán)流抑制參考電壓d 軸、q 軸分量;Mdiffj_ref(j=a,b,c)為三相環(huán)流抑制參考電壓;ω 為基波角頻率;L為連接電感;θcir為交流電壓二倍頻相位角。
圖6 環(huán)流抑制控制框圖
與環(huán)流抑制控制框圖相對(duì)應(yīng)的,環(huán)流抑制可視化模型主要由Tabc/dq(坐標(biāo)變換)模塊、PI 控制模塊、Tdq/abc(坐標(biāo)反變換)模塊三部分組成,如圖7 所示。
圖7 環(huán)流抑制總體模型
1)Tabc/dq 模塊如圖8 所示。該模塊主要功能為通過abc/dq 坐標(biāo)變換獲取橋臂電流二倍頻分量。
圖8 Tabc/dq 模塊模型
2)PI 控制模塊如圖9 所示。該模塊根據(jù)系統(tǒng)實(shí)際情況計(jì)算環(huán)流抑制或環(huán)流注入給定值,給定值以斜坡方式輸入PI 控制器,經(jīng)計(jì)算得到dq 坐標(biāo)系下環(huán)流抑制分量。
圖9 PI 控制模塊模型
3)Tdq/abc 模塊如圖10 所示。該模塊主要功能為通過dq/abc 坐標(biāo)變換得到三相的環(huán)流抑制分量。
圖10 Tdq/abc 模塊模型
將以上搭建的閥控軟件模型與CCP 模型、MMC 模型結(jié)合,對(duì)軟件功能進(jìn)行離線仿真,以驗(yàn)證順序控制、環(huán)流抑制等功能是否與設(shè)計(jì)需求一致。
系統(tǒng)充電及解鎖仿真試驗(yàn)波形如圖11 所示。
圖11 交流充電及解鎖仿真試驗(yàn)波形
1)交流斷路器分閘時(shí),換流閥處于停機(jī)狀態(tài)(seqState=1)。
2)1 s 時(shí)交流斷路器合閘后,CCP 下發(fā)運(yùn)行命令,EnergizeMode 由0x5555 變?yōu)?xAAAA,換流閥進(jìn)入充電狀態(tài)(seqState=3),模塊開始充電。
3)經(jīng)不控充電和可控充電后,模塊電壓不斷上升,當(dāng)模塊電壓滿足解鎖條件(DetlaFlag&VolOkFlag=1),換流閥充電完成進(jìn)入待解鎖態(tài)(seqState=4)。
4)13.5 s 時(shí)CCP 下發(fā)解鎖命令,換流閥進(jìn)入運(yùn)行態(tài)(seqState=5),運(yùn)行時(shí)子模塊電容電壓被穩(wěn)定控制在2 100 V 左右。
啟動(dòng)過程各個(gè)階段狀態(tài)與設(shè)計(jì)的系統(tǒng)順控邏輯一致,符合預(yù)期。
環(huán)流抑制仿真試驗(yàn)波形如圖12 所示。環(huán)流抑制投入過程中,橋臂環(huán)流得到很好抑制,基本為0,環(huán)流抑制退出后,系統(tǒng)有較大的橋臂環(huán)流。仿真結(jié)果驗(yàn)證了順序控制模型邏輯和環(huán)流抑制模型搭建的正確性,與設(shè)計(jì)需求一致。
圖12 環(huán)流抑制仿真試驗(yàn)波形
基于模型開發(fā)的調(diào)試及優(yōu)化過程如圖13 所示。運(yùn)用基于模型的軟件設(shè)計(jì)方法,可以在軟件仿真測試環(huán)節(jié)對(duì)各功能塊邏輯進(jìn)行調(diào)試,將軟件調(diào)試提前至仿真階段,修正大部分軟件問題。另外,模型化設(shè)計(jì)方法可清晰展示閥控系統(tǒng)邏輯關(guān)系、算法結(jié)構(gòu)和中間變量,提高軟件的可讀性和可控性,減少功能設(shè)計(jì)漏洞,有益于快速分析定位出軟件設(shè)計(jì)中存在的問題。經(jīng)過對(duì)模型邏輯進(jìn)行多輪修正及驗(yàn)證,一鍵生成代碼的功能基本與實(shí)際需求一致,大大縮短了開發(fā)周期與試驗(yàn)平臺(tái)調(diào)試周期。
圖13 基于模型開發(fā)的調(diào)試及優(yōu)化過程
主控板DSP(數(shù)字信號(hào)處理器)代碼生成及移植如圖14 所示。經(jīng)仿真驗(yàn)證的模型自動(dòng)生成應(yīng)用層代碼后與主控板DSP 底層驅(qū)動(dòng)代碼結(jié)合,通過CCS(代碼調(diào)試器)編譯器編譯生成可執(zhí)行文件下載至閥控主控板DSP 中。底層驅(qū)動(dòng)代碼主要包括GPIO(通用輸入/輸出口)配置、SRIO(串行高速總線)配置、中斷配置、與主控板FPGA(現(xiàn)場可編程門陣列)之間PCIE(高速串行計(jì)算機(jī)擴(kuò)展總線)通信、E2ROM(帶電可擦可編程只讀存儲(chǔ)器)讀寫操作等。應(yīng)用層程序通過底層PCIE 通信程序讀取主控板FPGA 發(fā)送的命令和數(shù)據(jù),經(jīng)過邏輯處理后通過PCIE 通信發(fā)送反饋的命令和數(shù)據(jù)至主控板FPGA。主控板FPGA 完成與CCP、橋臂控制板等之間通信。主控板FPGA 及閥控其他所有控制板FPGA 代碼均仍采用手寫代碼方式。
圖14 主控板DSP 代碼生成及移植
分別測試閥控在整個(gè)啟動(dòng)過程中自生成代碼與手寫代碼的程序最大執(zhí)行時(shí)間,DSP 中斷周期為50 μs,測試結(jié)果見表1。
表1 自生成代碼與手寫代碼執(zhí)行效率對(duì)比
自生成代碼的最大程序執(zhí)行時(shí)間為17.23 μs,手寫代碼最大執(zhí)行時(shí)間為16.95 μs,DSP 負(fù)載率相差0.57%,測試結(jié)果表明自生成代碼可以保證較高的執(zhí)行效率。
對(duì)烏東德電站送電廣東廣西特高壓多端直流示范工程柳北換流站極1 低端換流閥現(xiàn)場進(jìn)行單端解鎖運(yùn)行及環(huán)流抑制投退,試驗(yàn)波形如圖15、圖16 所示。
圖15 交流充電及解鎖試驗(yàn)波形
圖16 環(huán)流抑制投退試驗(yàn)波形
基于模型設(shè)計(jì)開發(fā)的閥控系統(tǒng)在接受CCP下發(fā)的不同指令后,正確完成順序控制邏輯,分別使換流閥進(jìn)入停機(jī)、不控充電、可控充電、待解鎖、運(yùn)行等階段,模塊電壓不斷上升,逐漸穩(wěn)定在2 100 V。整個(gè)啟動(dòng)過程具有良好的動(dòng)態(tài)及穩(wěn)定性能,驗(yàn)證了順序控制模型及自生成代碼的有效性。
環(huán)流抑制現(xiàn)場波形與仿真結(jié)果一致。環(huán)流抑制投入時(shí),橋臂電流相對(duì)平衡,橋臂環(huán)流諧波量基本為0;環(huán)流抑制退出后,橋臂之間有很大的二倍頻環(huán)流,橋臂電流有較大的諧波擾動(dòng),增加了功率模塊的運(yùn)行損耗?,F(xiàn)場數(shù)據(jù)驗(yàn)證了閥控環(huán)流抑制整體控制策略模型及自生成代碼的有效性。
本文闡述了以模型開發(fā)為核心的可視化編程開發(fā)流程,以柔性直流輸電閥控裝置為研究對(duì)象,設(shè)計(jì)順控模型及環(huán)流抑制控制策略模型,現(xiàn)場測試結(jié)果表明運(yùn)用自生成代碼方法實(shí)現(xiàn)的功能與仿真結(jié)果相同,驗(yàn)證了基于模型設(shè)計(jì)的軟件開發(fā)方法的正確性和有效性。本文研究成果如下:
1)軟件設(shè)計(jì)過程可視化,可調(diào)用MATLAB算法庫,簡化了開發(fā)過程,可操作性強(qiáng)。
2)模型搭建過程中可隨時(shí)對(duì)設(shè)計(jì)邏輯進(jìn)行調(diào)試驗(yàn)證,經(jīng)過對(duì)模型邏輯進(jìn)行多輪修正及驗(yàn)證,一鍵生成代碼的功能基本與實(shí)際需求一致,大大減少在硬件試驗(yàn)平臺(tái)中的調(diào)試時(shí)間,提高了開發(fā)效率。
3)通過維護(hù)MATLAB 模型即可實(shí)現(xiàn)應(yīng)用層代碼的維護(hù),提高了軟件的可維護(hù)性,節(jié)省了人力物力。
4)本文僅針對(duì)閥控DSP 軟件的模型設(shè)計(jì)進(jìn)行研究及應(yīng)用,后續(xù)可擴(kuò)展至FPGA 軟件模型設(shè)計(jì)研究,使閥控系統(tǒng)全面實(shí)現(xiàn)可視化軟件設(shè)計(jì)。