對ECU及其軟件體系發(fā)展開發(fā)測試常在須要多個不業(yè)余用具協(xié)同,搭建一種高效的測試環(huán)境,產(chǎn)業(yè)內(nèi)多數(shù)用具盡管具備優(yōu)質(zhì)的功效與特性,但常常功效單一且因接口特殊,較難與其它用具交互。 這一難題節(jié)制了用具功效的可發(fā)揮性,為了滿足多用具集成測試體系的要求,須要提升接口的擴展性和多樣性。此外在HPC、地域操控器或云端軟件體系開發(fā)中,也須要用具對軟件體系發(fā)展測試,面對如何在軟件體系測試層次和ECU測試復(fù)用一套用具鏈,將是延續(xù)開發(fā)測試面對的另一種挑戰(zhàn)。 維克多公布的總線與HIL測試用具CANoe(CAN Open Environment),著力于第一大水平地釋放測試用具潛力,以開放兼容的多接口、多言語適配效勞,實現(xiàn)多樣性的用具組合,為使用者提供豐富的解決方案,近年來進一步開發(fā)功效建立軟件體系測試,讓得CANoe滿足SIL利用。 據(jù)維克多官網(wǎng),2022年發(fā)表的CANoe 16.0版本新加AUTOSAR規(guī)范的LIN總線E2E功效平安利用、vTESTstudio新加Python設(shè)置測試腳本;在網(wǎng)聯(lián)化方面新加HTTP封裝、軟件化方面運轉(zhuǎn)在效勞器中的CANoe4SW已支撐CI/CT自動化等諸多新功效。 SDV論壇上,維克多車子技藝(上海)局限企業(yè)商業(yè)開發(fā)經(jīng)理范科發(fā)要點推薦了軟件定義車子的軟件須要測試的SIL和DevOps測試平臺,如何實現(xiàn)軟件虛擬化和虛擬交付,以及部署效勞器版本CANoe:CANoe4SW Server Edition實現(xiàn)SIL利用中的CI/CT/CD和并發(fā)測試。 CANoe4SW Server Edition扶持部署在Windows Server、Linux Server和云端環(huán)境。同一時間,針對SOA體系開發(fā)和測試須要對相干數(shù)據(jù)發(fā)展剖析,在無arxml數(shù)據(jù)庫概況下,CANoe自帶SOA當(dāng)中件數(shù)據(jù)庫編輯功效:vCDL格式的SOA數(shù)據(jù)庫可扶持SOME/IP、MQTT,并將要扶持DDS。 相片來自:維克多 敏捷開發(fā)、持續(xù)集成與測試、DevOps將替換慣例開發(fā)“V模子” 正如范科發(fā)所感觸到的:“越來越多的慣例車子工程師將變成以軟件為主的IT類工程師,多數(shù)的工程師須要和代碼打交道,測試工程師除了熟悉CANoe,還須要熟悉AUTOSAR、Linux、Python…”。 慣例車子電子開發(fā)依照“V模子”發(fā)展:從要求編譯、單元測試(MISRA靜態(tài)準(zhǔn)則測試;動態(tài)集成測試;功效測試;邊界測試)、軟件集成測試、硬件在環(huán)測試、終歸映入實車測試。 “V模子”下每次改動都可能導(dǎo)致全局重來,可謂牽一發(fā)而動全身。 相較而言,軟件開發(fā)的過程平常如是:設(shè)置階段(Design):對軟件開發(fā)的要求發(fā)展剖析設(shè)置;開發(fā)階段(Develop):達成開發(fā)所需的工程代碼,運轉(zhuǎn)單元測試和其它小型測試;測試階段(Test):達成軟件大型和專項測試,如界面測試,API測試、功能和體系測試等;發(fā)表階段(Release):產(chǎn)物發(fā)表與交付消費者。 相片來自:Gitchat徐超《OpenStack迅速進階教程》 這一進程須要持續(xù)集成/CI、持續(xù)測試/CT、持續(xù)交付/CD、持續(xù)部署/CD。CI是敏捷開發(fā)(Agile Development)的要害,請求每日頻繁地將代碼集成到主干分支中,在集成前必需經(jīng)過自動化認證測試,要點在于集成的迅速性,如專注敏捷開發(fā)的產(chǎn)業(yè)大牛Martin Fowler所言:“持續(xù)集成其實不能消除Bug,卻是讓他們十分簡單被發(fā)覺和改正”。 CI與CT平常緊密聯(lián)合在一同,小型的單元測試會與CI同步發(fā)展,以便開發(fā)人士以盡量短的時間間隔發(fā)覺Bug所在并發(fā)展修正,從而確保軟件名目品質(zhì)的持續(xù)改良。 全體而言,CI/CT的意義在于保證軟件的每次改動都盡快部署到模擬產(chǎn)物環(huán)境中運用嚴刻的自動化測試,保證軟件的利用和效勞能夠適合預(yù)期。 范科發(fā)提議,CI/CT所運用的用具必需全自動化發(fā)展部署和利用,要做到“全部事宜都以代碼實現(xiàn)/Everything as Code”,而自動化可行解放DevOps形式的全部生機,所謂DevOps,顧名思義,是Dev(開發(fā)人士)+Ops(運維人士):開發(fā)運維一體化。 代碼層次的敏捷開發(fā)解決了協(xié)同開發(fā)和多機器部署開發(fā)難題,但沒有辦法解決大體量企業(yè)人士交接的矛盾,DevOps既是一個概括協(xié)調(diào)資源的理念,也落地為平臺用具:涉及名目治理、代碼治理、CI/CT、CD、體系監(jiān)控等一系列過程,對“人、過程、平臺”三者發(fā)展全過程、端到端的部署與調(diào)配。 DevOps形式 相片來自:維克多 范科發(fā)推薦,在DevOps中須要用具具有“營業(yè)流”的自動化集成,但面對最難題的點是如何實現(xiàn)軟件虛擬化,以便實現(xiàn)虛擬測試、虛擬標(biāo)定、虛擬診斷和虛擬交付。 軟件虛擬化:運轉(zhuǎn)環(huán)境、物理環(huán)境、云端軟件體系虛擬化 現(xiàn)現(xiàn)在,域控器、地域操控器和中央計算中心的大批軟件將由多方獨立并行開發(fā)集成,因而,在開發(fā)階段簡單由于沒有硬件、或許耦合軟件由第三方開發(fā)而沒有辦法實現(xiàn)測試事業(yè)。假如將體系認證同一放到車子軟硬件集成以后,敏捷開發(fā)中CI/CT所須要的自動化測試設(shè)施和時間本錢會極端高昂。 虛擬化測試的顯露正是為理解決這一難題。 起首理解一下車子開發(fā)測試的最重要的步驟:軟件在環(huán)測試(SiL)與硬件在環(huán)測試(HiL)。此中,“狹義”的SIL須要認證模子自動生成的代碼,以及用于代碼生成的模子舉止能否絕對的等效性測試,沒有辦法利用于未采納MBD(鑒于模子發(fā)展定義)開發(fā)的軟件體系。 范科發(fā)推薦道,Vector提供CANoe、CANoe4SW和CANoe4SW Server Edition提供“廣義”的SIL,偏重點在于軟件體系,提供不依賴于硬件和算法模子環(huán)境的認證,測試進程中,被測ECU的軟件運轉(zhuǎn)及測試全在單純的PC或IT環(huán)境中,即不帶有全部真正硬件ECU和其事業(yè)所需真正組件,實現(xiàn)了全虛擬化環(huán)境測試。 相片來自:維克多 范科發(fā)重申,在軟硬解耦、軟件定義車子的趨向下,車子產(chǎn)業(yè)中將涌現(xiàn)越來越多的純軟件供給商,虛擬測試環(huán)境的建立會是必經(jīng)之路,軟件虛擬化將包括三個方面:運轉(zhuǎn)環(huán)境虛擬化、物理環(huán)境虛擬化、與被測軟件交互的軟件體系虛擬化。 從以上三個部分具體剖析軟件虛擬化的意義: 起首,運轉(zhuǎn)環(huán)境的虛擬化可行滿足更高的擴展性請求,體系性測試可行更早發(fā)展以節(jié)省本錢,實現(xiàn)十足的軟硬解耦,滿足極其情景測試。 物理環(huán)境的虛擬化詳細指傳感器和執(zhí)行器的接口仿真,實現(xiàn)了接口復(fù)用,幸免幸免測試執(zhí)行中的錯誤和沒有意義測試,扶持CI/CT的自動化測試。 最終,建立仿真的與被測軟件交互的軟件體系,扶持測試云端通信與云端失效的各式概況,并行測試沒有需格外接口,每個test instance可獨立訪問后臺數(shù)據(jù)。 相片來自:維克多 鑒于SIL與DevOps測試平臺效勞器版本CANoe:CANoe4SW Server Edition 鑒于SIL測試,維克多公布開發(fā)、測試和剖析網(wǎng)站物理體系軟件的測試執(zhí)行CANoe4SW Server Edition,測試對象可能是單一的軟件構(gòu)成部分、子體系、全個分布式體系,應(yīng)允在鑒于Windows或Linux的效勞器環(huán)境中十足自動執(zhí)行CANoe的測試工程,效勞器環(huán)境其實不有限于準(zhǔn)則操作體系,同樣適配于虛擬機體系以及Docker上,滿足自動化CI/CT利用。 相片來自:維克多 范科發(fā)重申,針對AUTOSAR軟件的虛擬化提供鑒于vVIRTUALtarget的方案,關(guān)于非AUTOSAR軟件虛擬化提供CANoe4SW的方案。 非AUTOSAR軟件經(jīng)過軟件接口適配實現(xiàn)與CANoe4SW的接連,維克多提供無償?shù)腎DE的CANoe/CANoe4SW的插件讓得Visual Studio和VS Code作為無償?shù)恼{(diào)試用具,扶持IDE與CANoe4SW的耦合;Watch變量可行轉(zhuǎn)換至CANoe4SW中發(fā)展深入剖析。 另外,運用命令行用具sil-adapter-builder可行讓得C、C++、Python適配效勞代碼可在持續(xù)集成中觸發(fā)自動編譯生成。 相片來自:維克多 除了上述的虛擬化集成外,CANoe也提供更多可抉擇的虛擬集成方案:應(yīng)用WSL共享網(wǎng)站實現(xiàn)與CANoe集成、構(gòu)建具備相同通信功效的里面/外部IP隧道(Tunneling)、應(yīng)用CANoe內(nèi)嵌的MATLAB接口,運用FMI/FMU交互接口、鑒于CANoe私有的FDX實現(xiàn)交互等。 相片來自:維克多 在新發(fā)表的16.0版本中,CANoe4SW借助AI Visualizer在可見化上取得了進展:可行將AI組件和 CANoe之中交換的圖像可見化,并經(jīng)過突出輸入圖像中的要緊特征來解釋AI輸出。 如何在CANoe中發(fā)展SOA仿真、剖析和測試?效勞與通信數(shù)據(jù)庫vCDL是要害 在車載以太網(wǎng)和SOME/IP(鑒于IP、可擴展、面向效勞的當(dāng)中件)興盛此前,要在CANoe中仿真CAN/LIN總線:起首會在CANoe測試環(huán)境中加載數(shù)據(jù)庫實現(xiàn)總線和節(jié)點,以此添加各式體系變量,達成全部配置后,可在CAPL言語環(huán)境中訪問各樣對象與實現(xiàn)各項功效。 從鑒于信號的總線式傳輸調(diào)轉(zhuǎn)方向鑒于效勞的SOA架構(gòu)以后,鑒于效勞的數(shù)據(jù)庫將是第一大挑戰(zhàn),須要扶持SOME/IP、DDS和MQTT等多個當(dāng)中件的數(shù)據(jù)庫定義或修改。CANoe提供的vCDL(面向效勞的通信數(shù)據(jù)庫),這是一個對SOA通信發(fā)展描畫的言語,經(jīng)過vCDL可行編寫后綴為.vCDL的Data Source來代替ARXML用在CANoe仿真中。 解決了數(shù)據(jù)庫這一首要難題,要在CANoe中實現(xiàn)鑒于效勞的SOA通信合同仿真,就能干脆經(jīng)過vCDL發(fā)展節(jié)點的設(shè)置、引入與修改,繼續(xù)發(fā)展仿真配置和程序設(shè)置,最終發(fā)展仿真結(jié)果剖析,針對vCDL中定義的數(shù)據(jù)可運用CAPL、C#和Python干脆編程料理。 CANoe產(chǎn)物如其名,“Open Environment”表達CANoe軟件扶持不同利用程序選擇和接口、可與各式編程言語匹配運用,以開放性,兼容性,協(xié)同性著稱,經(jīng)過“組合與合作”這兩個要害詞成為一款強盛的體系性測試解決用具。同一時間匹配Vector提供的自動化腳本平臺vTESTstudio,可滿足各樣黑盒測試。 推此及彼,這和開源靈活的編程精神相仿,編程上手的要害不在于硬敲代碼,凡事都要親歷親為,而在于靈活運行于各庫,集萬家經(jīng)典于一體,正如范科發(fā)所言:“Everything as Code”,在這種消息爆炸、技藝爆炸的時期,在量才適用、各盡其才以后,敢于將不熟悉的技藝范疇交給生態(tài)也很要緊。 相片來自:維克多 (以上內(nèi)容依據(jù)維克多車子技藝(上海)局限企業(yè)商業(yè)開發(fā)經(jīng)理范科發(fā)于2022年8月3日由蓋世車子、AUTOSAR組織結(jié)合主持的2022第三屆軟件定義車子論壇暨AUTOSAR華夏日發(fā)表的《供給商能否為OEM軟件體系虛擬交樣做好準(zhǔn)備?》專題演講發(fā)展了解和梳理。) 更多橡膠報價關(guān)心咱們。 |
2月5日,位于兩江新區(qū)的長安汽車數(shù)智工廠,工
據(jù)廈門海關(guān)統(tǒng)計,2024年,我省共出口各類汽車
導(dǎo)報記者昨日從廈門海關(guān)獲悉,去年全年,福建
一月初,一汽紅旗公布最新銷量數(shù)據(jù)顯示,2024
1月20日,滬深兩融數(shù)據(jù)顯示,長城汽車上周累