999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

自動代碼生成在列車空調電源軟件中的應用

2021-06-22 11:12:04侯運昌楊東軍甄遠偉趙許強申磊沈壯壯
電氣傳動 2021年12期
關鍵詞:模型

侯運昌,楊東軍,甄遠偉,趙許強,申磊,沈壯壯

(中車青島四方車輛研究所有限公司,山東 青島 266000)

自動代碼生成作為一種圖形化的軟件編寫方法,因易編寫、易仿真驗證等優(yōu)點,近年來廣泛應用在汽車、軌道交通、電力等行業(yè)的電控系統(tǒng)[1-8],為電控軟件的編寫帶來極大便利。Matlab Embedded Coder是一款實現(xiàn)自動代碼生成的主流軟件工具,可生成產品級的具有可讀性、執(zhí)行速度快的嵌入式代碼,支持多種行業(yè)軟件標準,包括 ASAP2,AUTOSAR,DO—178,IEC 61508,ISO 26262,以及MISRA—C等[9]。

文獻[1]在Simulink自動代碼生成環(huán)境下,采用圖形化編程的方式建立主機控制單元與氣缸控制單元的控制策略模型,并執(zhí)行代碼的自動生成過程,進而實現(xiàn)汽車電控單元(electronic control unit,ECU)的集成;文獻[2]研究了 Matlab/Simulink的代碼生成原理,分層設計了驅動和模塊,通過電機控制器開發(fā)的示例,驗證了自動代碼生成工具和標定系統(tǒng)這2項關鍵工具的工作效果;文獻[3]提出了一種基于由驅動電機和測功機構成的平臺上模擬道路工況進行電動汽車測試的方案,并搭建了硬件在環(huán)(hardware-in-the-loop,HIL)仿真平臺進行了相關試驗,驗證新系統(tǒng)的實際效果;文獻[4]將多旋翼飛行器控制器模型和硬件接口模型集成,使用定制的自動生成代碼環(huán)境,生成了軟件源代碼并編譯鏈接成可執(zhí)行文件,在目標飛控計算機上成功運行;文獻[5]用Matlab搭建永磁同步電機矢量控制算法模型,用HIL仿真平臺搭建主電路模型,對算法設計進行驗證;文獻[6]通過快速控制原型仿真實現(xiàn)了控制算法參數(shù)的在線優(yōu)化配置,利用自動代碼生成技術將控制算法下載至真實的控制器中;文獻[7]利用基于Matlab的FPGA代碼生成工具SG,搭建了三相電網(wǎng)電壓鎖相環(huán)模型,并在實驗室中對鎖相的性能做了驗證;文獻[8]用Matlab搭建空間矢量脈寬調制(space vector pulse width modulation,SVPWM)模型,與TI C2000 DSP驅動模塊結合,一鍵生成軟件工程。以往的文獻一般針對代碼自動生成的單個細節(jié)做探討,較少涉及在實際產品和整體電控軟件中的應用流程,本文借助160 km/h標準動車組空調電源項目的軟件開發(fā),對自動代碼生成在電控軟件中的運用方法和過程做詳細介紹。

本文首先簡要介紹自動代碼生成的原理和工作流程;然后搭建160 km/h標準動車組空調逆變電源控制軟件的Simulink模型,著重介紹了使用Stateflow工具箱、Simulink工具箱建立啟停工作時序模型和SVPWM調制模型;經過軟件在環(huán)仿真驗證后,將Simulink模型自動生成代碼,與控制器TMS320F28335驅動代碼結合,并下載至控制器運行;通過上機試驗,驗證了自動代碼生成在該電源產品上的有效性。

1 自動代碼生成的原理和流程

1.1 原理

Embedded Coder是一款借助Matlab軟件實現(xiàn)自動代碼生成的主流軟件工具,在自動代碼生成的過程中,Embedded Coder首先對搭建的控制軟件模型進行編譯,生成.rtw格式的模型描述文件(model description file),然后目標語言編譯器(target language compiler)讀取.rtw文件,并依據(jù)目標文件(target files)生成C代碼。其原理如圖1所示。

圖1 自動代碼生成原理Fig.1 Principles of automatic code generation

1.2 工作流程

在運用自動代碼生成時,首先根據(jù)控制軟件設計需求,搭建軟件Simulink模型,并將模型自動生成代碼。自動生成的代碼往往只是軟件的應用部分,需要將自動生成的代碼與控制器底層驅動程序結合,才能下載至目標控制器使用。如圖2所示,底層驅動程序對微控制器(micro controller unit,MCU)進行配置,通過數(shù)據(jù)接口將控制器采集數(shù)據(jù)傳遞給應用程序,并執(zhí)行應用程序發(fā)出的指令。底層驅動程序可以在IDE集成開發(fā)環(huán)境中手動編寫,也可以通過搭建Simulink硬件驅動模塊來實現(xiàn)。將Simulink硬件驅動模塊添加至Simulink應用軟件模型,可以實現(xiàn)一鍵自動生成完整軟件工程。開發(fā)一款MCU的硬件驅動模塊既需要熟悉MCU的內部架構,又需要對TLC和目標文件語法有具體研究[10],開發(fā)時間成本高,但使用效果并不明顯高于手寫驅動,因而本文采用手寫驅動的方法。

圖2 軟件工程組成Fig.2 The composition of the software engineering

1.3 特點

在電控控制軟件的設計中,自動代碼生成的高效主要體現(xiàn)在其軟件編寫圖形化和軟件可仿真兩方面。軟件編寫圖形化使得開發(fā)者能夠把控較復雜的控制邏輯設計;而通過仿真,設計漏洞在軟件部署前即可被發(fā)現(xiàn)和解決,大幅縮短了后期軟件上機調試時間,也大幅降低了調試成本。

2 搭建空調電源控制軟件模型

160 km/h標準動車組空調逆變電源為該型號列車的三相設備供電,包括空調、廚房電器等。空調逆變電源的電氣參數(shù)如下:輸入電壓為DC 500~660 V,輸出電壓為AC 380(1±5%)V,輸出頻率為(50±1)Hz,容量為35 kV·A,THD<10%。其主電路包括三相逆變橋、預充電電路、中間支撐電路和輸出濾波電路等,如圖3所示。

圖3 空調逆變電源主電路Fig.3 Main circuit of air conditioning inverter

依據(jù)設備的控制需求,使用Simulink工具箱和Stateflow工具箱搭建設備的控制軟件模型,包括工作時序、故障保護、故障冗余邏輯和閉環(huán)逆變控制等。

2.1 啟停機時序

根據(jù)客車電源技術條件[11],使用Matlab Stateflow工具箱,搭建了逆變電源啟停時序的狀態(tài)機如圖4所示。初始化時,電源進入待機狀態(tài)“wait”,在該狀態(tài)內輸入輸出接觸器均斷開,逆變模塊不工作;當檢測到輸入電壓在正常范圍內(Uin_ok==1),系統(tǒng)跳轉進入預充電狀態(tài)“precharge”,閉合預充電接觸器K1(cmd_K1=1),開始預充電;當檢測到中間電壓達到設定值后(flag_prechrg==1),進入狀態(tài)“prechrg_finish”,閉合主輸入接觸器K2(cmd_K2=1),結束預充電;等待0.5 s,進入軟啟動狀態(tài)“softstart”,開始軟啟動,開啟PWM信號(pwm_en=1),同時閉合輸出接觸器K3(cmd_K3=1);當檢測到電源發(fā)生故障時,跳轉進入“Fault”狀態(tài),斷開接觸器K1,K2和K3,關閉PWM信號。

圖4 工作時序狀態(tài)機Fig.4 State machine of working sequence

2.2 SVPWM調制

常見的逆變方法有正弦PWM(SPWM)調制、SVPWM調制等,因SVPWM方法具有較高的母線電壓利用率,故采用七段式SVPWM調制方法。SVPWM原理是利用逆變器各橋臂開關控制信號的不同組合,使逆變器的輸出電壓空間矢量的運行軌跡盡可能接近圓形,如圖5所示。下文使用Simulink工具箱搭建SVPWM軟件模型。

圖5 SVPWM原理示意圖Fig 5 Schematic diagram of SVPWM

SVPWM模型如圖6所示,模型輸入為交流電壓在靜止兩相坐標系下的給定值Uα和Uβ,輸出為三相橋臂的PWM占空比,模型分3個子模塊。

圖6 SVPWM模型Fig.6 Model of SVPWM

1)扇區(qū)判斷(Sector_judge)。該模塊由Uα和Uβ計算空間矢量所在的扇區(qū),參見圖7。

圖7 扇區(qū)判斷Fig.7 Sector judgment

2)相鄰矢量作用時間(Vector_time)。該模塊根據(jù)交流電壓給定值Uα,Uβ和扇區(qū)編號,計算相鄰矢量的作用時間,如圖8所示。

圖8 相鄰矢量作用時間Fig 8 Action time of adjacent vectors

3)三相橋臂占空比計算(UVW_Time)。該模塊根據(jù)扇區(qū)編號和相鄰矢量作用時間,進一步計算三相橋臂的調制波,如圖9所示。

圖9 占空比計算Fig.9 Duty cycle calculation

2.3 冗余邏輯

160 km/h標準動車組每個車廂內安裝2臺空調逆變電源(逆變電源A,B),冗余電路如圖10所示,每臺逆變電源為各自負載供電。在輸出端通過冗余接觸器相連,當其中1臺電源故障停機時,閉合冗余接觸器K4,實現(xiàn)冗余供電。

圖10 冗余電路Fig.10 Redundant circuit

利用Stateflow工具箱,搭建互備邏輯狀態(tài)機。冗余邏輯如圖11所示。逆變電源在故障停機后,發(fā)出供電請求信號(cmd_request=1),另一臺電源接收到該請求信號(flag_supply_request==1)后,狀態(tài)機通過觸發(fā)事件“restart”觸發(fā)系統(tǒng)重新啟動,并閉合冗余接觸器K4(cmd_K4=1)。

圖11 冗余邏輯Fig.11 Redundant logic

3 仿真和部署

3.1 仿真驗證

將以上搭建的控制軟件模型與主電路模型結合,對軟件功能進行仿真,以驗證工作時序、閉環(huán)控制、冗余等邏輯是否與設計需求一致。仿真模型如圖12所示,仿真模型為了確保由模型自動生成代碼時不出現(xiàn)錯誤,依照Embedded Coder工具箱提供的軟件在環(huán)(SIL)仿真流程,將軟件Simulink模型自動生成代碼,對代碼反向編譯,重新得到Simulink模型,進行仿真,即SIL仿真。

圖12 整體仿真模型Fig.12 Overall simulation model

仿真逆變電源啟停時序波形如圖13所示,Uuv為故障模塊輸出U,V兩相的線電壓。在施加輸入電壓后,逆變電源經過預充電和軟啟動過程,輸出電壓波形達到穩(wěn)定;在輸入電壓降為0時,逆變電源封鎖;輸入電壓恢復后,逆變電源可正常重啟。該仿真驗證了軟件中啟停相關邏輯與設計預期一致。

圖13 工作時序仿真波形Fig.13 Simulation waveforms of working sequence

仿真逆變電源冗余供電邏輯如圖14所示,當一臺逆變電源故障停機后,發(fā)出供電請求指令,冗余接觸器閉合,另一臺逆變電源重新啟動,為故障電源對應的負載供電。

圖14 冗余邏輯仿真波形Fig.14 Simulation waveforms of redundant logic

3.2 部署

經仿真驗證后,將自動生成的代碼與手動編寫的TMS320F28335驅動代碼集成,得到完整的CCS軟件工程,軟件編譯下載至控制器。工作流程如圖15所示。

圖15 軟件部署流程Fig.15 Software deployment process

軟件工程中,包括自動生成的應用代碼和驅動代碼兩部分。驅動代碼實現(xiàn)與控制器硬件的交互,包括配置CPU時鐘、配置各外設參數(shù)等,將外設模塊(AD,GPIO等)采集的數(shù)據(jù)傳遞給應用代碼,同時執(zhí)行應用代碼產生的指令(數(shù)字量輸出、PWM占空比等)。

4 上機測試

為驗證軟件的功能,在空調逆變電源樣機上進行測試。試驗工裝如圖16所示。

圖16 樣機試驗工裝Fig.16 Test prototype

與第3節(jié)仿真驗證相對應,圖17、圖18分別為逆變電源輸入斷電重新啟動和冗余供電邏輯的測試結果,可以看出實際工作的時序與仿真一致。

圖17 啟停時序Fig 17 Start stop sequence

圖18 冗余邏輯Fig.18 Redundant logic

運用自動代碼生成方法,可以在軟件仿真環(huán)節(jié)對軟件功能進行調試,修正大多數(shù)軟件問題,大大縮短樣機調試的時間。另外,圖形化編程提高了軟件功能實現(xiàn)的操作性和可控性,在更好地減少功能設計漏洞的同時,大幅度縮減了軟件編寫時間。對一般的含工作時序、故障診斷、閉環(huán)調制、通信、數(shù)據(jù)存儲等功能的電控軟件,從依據(jù)設計需求搭建軟件至軟件部署后開始樣機測試,一般需要1~2周的時間,較手寫軟件效率明顯提高。

5 結論

本文闡述了使用Matlab實現(xiàn)自動代碼生成的基本原理,以160 km/h標準動車組空調電源產品為例,介紹了電源控制軟件模型的搭建、模型的仿真和軟件的部署,展示了自動代碼生成在電源控制軟件開發(fā)中的運用過程。經過樣機測試,運用自動代碼生成實現(xiàn)的控制軟件功能與仿真結果相同,可以大大縮短軟件開發(fā)的時間,提高開發(fā)質量。使用Matlab實現(xiàn)自動代碼生成在電源控制軟件和其他電控系統(tǒng)開發(fā)中有很大的應用價值。

猜你喜歡
模型
一半模型
一種去中心化的域名服務本地化模型
適用于BDS-3 PPP的隨機模型
提煉模型 突破難點
函數(shù)模型及應用
p150Glued在帕金森病模型中的表達及分布
函數(shù)模型及應用
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
3D打印中的模型分割與打包
主站蜘蛛池模板: 午夜高清国产拍精品| 波多野结衣中文字幕一区二区| 国产无码高清视频不卡| 精品国产三级在线观看| 国产精品太粉嫩高中在线观看| 91精品国产综合久久香蕉922| 午夜不卡视频| 欧美精品不卡| 亚洲AV色香蕉一区二区| 精品在线免费播放| 国产99精品视频| 五月天福利视频| 国产精品任我爽爆在线播放6080| 国产一区二区三区在线观看免费| 综1合AV在线播放| AV不卡国产在线观看| 五月丁香在线视频| 欧美日韩国产在线人成app| www.亚洲色图.com| 国产免费a级片| 青青久在线视频免费观看| 国产aⅴ无码专区亚洲av综合网| 国产精品亚欧美一区二区| 免费高清a毛片| 香蕉久人久人青草青草| 国产夜色视频| 久久久久青草大香线综合精品| 18禁高潮出水呻吟娇喘蜜芽| 综合色在线| 成年女人a毛片免费视频| 91香蕉视频下载网站| 伊人成人在线视频| av手机版在线播放| 国产美女精品人人做人人爽| 国产成人一区在线播放| 亚洲无码电影| 97精品伊人久久大香线蕉| 欧美精品一区二区三区中文字幕| 国产综合欧美| 午夜小视频在线| 亚洲福利网址| 丰满人妻中出白浆| 视频在线观看一区二区| 欧美精品1区2区| 欧美日本不卡| 久久精品最新免费国产成人| 亚洲欧美人成电影在线观看| 日韩第八页| 免费在线色| 国产剧情国内精品原创| 国产永久无码观看在线| 国产精品福利导航| 九九九国产| 色综合中文综合网| 成人综合网址| 亚洲三级影院| 日韩人妻精品一区| www.精品视频| 成人免费一级片| a毛片在线播放| 性网站在线观看| 亚洲Va中文字幕久久一区 | 一级毛片在线播放免费观看 | 国产手机在线小视频免费观看 | 日本三级欧美三级| 老司国产精品视频91| 本亚洲精品网站| 色成人综合| 婷婷亚洲最大| 亚洲无码37.| 久夜色精品国产噜噜| 欧美日韩另类国产| 免费久久一级欧美特大黄| 试看120秒男女啪啪免费| 亚洲成人播放| 日本免费精品| 88av在线| 午夜福利视频一区| 色九九视频| 91在线精品麻豆欧美在线| 亚洲欧洲日产国码无码av喷潮| 国产欧美又粗又猛又爽老|