戴筱妍 趙長祿 黃 英 郝東浩
(北京理工大學)
基于UM L的動力傳動系統軟件建模方法研究
戴筱妍 趙長祿 黃 英 郝東浩
(北京理工大學)
為解決動力傳動系統嵌入式軟件復雜、開發困難的問題,針對其功能和特點,運用面向對象方法對動力傳動系統進行了建模。 將動力傳動系統劃分為發動機控制系統、變速器控制系統和轉矩協調系統,針對每一系統進行了靜態和動態建模。通過軟件建模,將軟件開發的層次提升到系統級,對領域針對性更強。所建立的模型具有較好的通用性。
目前,國外汽車領域的模型驅動開發方法有兩種思路,一是當軟件模型建成后,將靜態模型轉換為XML語言并導入Matlab中轉化為組件模型框架,通過在Matlab下對其內部行為進行設計,用于快速原型(Rapid Prototyping)并利用RTW工具自動生成代碼,如Mathworks公司[1];二是借助專用軟件建模工具,對所建立的軟件模型進行仿真驗證,并直接生成代碼,如IBM公司的Rhapsody,已成熟應用于航空航天領域,并在汽車領域的巡航控制中也有應用實例[2]。 此外,Bosch、Vector等公司,都有自己的開發工具鏈[3]。
本文對動力傳動控制系統進行需求分析和建模研究。闡述了模型組成和建模步驟,結合轉矩控制策略,將動力傳動系統分為發動機控制系統、變速器控制系統和轉矩協調系統,然后利用模塊化思想,對每個系統依據建模步驟進行靜態和動態建模。
汽車領域的軟件建模集中于車身控制或巡航控制等,由于系統的復雜性,針對動力傳動系統的軟件建模,國內、外并沒有進行深入的研究工作。
軟件建模是在軟件工程實施過程中采用模型方式而非文字表達方式來進行描述。軟件建模通常采用UML語言,又稱統一建模語言或標準建模語言。
在UML系統開發中有3種主要模型,如圖1所示。
a.功能模型:從用戶角度展示系統功能,包括用例圖。
b.靜態模型:采用對象、屬性、操作等展示系統結構和基礎,包括類圖。
c.動態模型:展示系統的內部行為,包括順序圖、狀態圖等。
用例圖是指由參與者、用例及它們之間關系構成的用于描述系統功能的視圖。用例主要作用有獲取需求、指導測試及在整個過程中對其他視圖起到指導作用。
類圖顯示出類、接口及它們之間的靜態結構和關系。關系包括繼承、關聯和依賴。
狀態圖用于顯示狀態機、使對象達到這些狀態的事件和條件及達到這些狀態時所發生的操作。
順序圖描述對象之間發送消息的時間順序,顯示多個對象之間的動態協作。順序圖中的每條消息對應了一個類操作或狀態機中引起轉換的觸發事件。
UML對動力傳動系統軟件的建模過程可以歸納如下:
a.進行系統需求分析,建立系統用例圖,確定用例、參與者、泛化、包含及擴展等關系。
b.找出系統中的重要對象并抽象為類,將系統功能需求分解到各個類,確定各類的屬性及相互關系,建立系統的靜態模型。針對具體的靜態模型還可逐步細化為詳細的靜態模型。
c.使用狀態圖、順序圖等針對對象的行為進行描述,建立系統動態模型,確定系統各狀態的轉換過程及各對象間的交互順序。
4.1 動力傳動系統轉矩控制結構
動力傳動系統有多種組合方式,本文主要研究單體泵柴油機與電液式自動變速器組合的動力傳動系統。
目前動力傳動系統控制普遍采用基于轉矩的控制策略構架。基于轉矩控制的框架可分為轉矩需求部分、轉矩協調部分和轉矩執行部分等3部分,各部分間以轉矩作為接口變量進行相互協調,使得各子系統之間的耦合性大大減弱。控制過程:首先獲得駕駛員駕駛意圖及整車各子系統的需求轉矩;通過轉矩協調模塊判斷各個轉矩需求優先級,根據當前的車輛行駛工況和發動機運行工況,對各個轉矩需求進行協調管理,確定總的發動機目標輸出轉矩;最終通過轉矩執行將目標轉矩轉換為具體的控制參數,實現對發動機、離合器和變速器等執行機構的整體協調控制。
整個動力傳動控制系統可以分為發動機控制系統、變速器控制系統和轉矩協調系統(PTC)3個部分。其中,發動機控制系統負責發動機內部需求轉矩采集、駕駛員意圖翻譯等相關轉矩需求模塊、轉矩執行模塊和發動機執行器控制;變速器控制系統負責變速器轉矩需求、換擋轉矩需求采集以及離合器、變速器的執行器控制;轉矩協調系統負責整個動力傳統系統轉矩協調工作。動力傳動系統結構如圖2所示[4]。
4.2 動力傳動系統用例建模
用例圖在UML語言中主要是對所建立系統的功能和所要達到的目的進行明確劃分,為以后的建模過程進行指導。根據圖2所示的系統結構可以建立如圖3所示的動力傳動系統用例圖。系統邊界用一個矩形框表示。駕駛員對車輛的駕駛行為即駕駛意圖,反映在駕駛員需求轉矩上,并通過傳感器信號體現。整個系統由傳感器(包含駕駛意圖)、執行器、上位機和外部系統4類組成。上位機負責系統數據標定與監控,外部系統包含與動力傳動系統通信并提供轉矩需求的部件。
由于動力傳動系統要求軟件組件具有良好的可移植性和復用性,而用例設計會指導下一步靜態模型的建立,所以在建立用例圖過程中引入了模塊化思想。動力傳動系統每部分都是獨立的復雜系統,針對每部分展開了詳細用例圖的設計,建立了如圖4所示的發動機電控系統用例圖。其中,狀態獲取、標定和信息交互都是通信用例的子用例。考慮到發動機的控制大量依賴于數據,在用例圖搭建中,將數據庫作為一個核心用例,一方面方便數據流的監控,另一方面方便系統數據的管理。同理,針對變速器和轉矩協調控制系統基本功能,建立了如圖5和圖6所示的變速器、轉矩協調系統用例圖。
4.3 發動機控制系統靜、動態建模
利用面向對象分析方法根據用例圖建立系統的靜態結構模型,該靜態模型對軟件開發過程中后續環節的軟件組件劃分及設計具有指導意義。系統動態行為模型主要由狀態圖、順序圖組成。由狀態圖可以清楚得到系統甚至組件內部狀態流轉,為系統及組件內部行為設計提供了參考。順序圖展現了組件之間的交互消息,清晰界定了組件接口。
4.3.1 發動機控制系統靜態建模
針對發動機控制系統建立了如圖7所示的類圖。數據采集類通過采集傳感器數據,發送給數據庫類。控制類首先查詢狀態類,然后從數據庫中查詢參數變量,通過調用計算類將數據庫中的原始參數計算成所需數值,最后向數據庫類中發送信息。驅動類查詢數據庫中的數據,作為驅動執行器的控制參數,驅動執行器工作。通訊類通過標定類獲得協議等內容,然后查詢數據庫中的數據,并將這些數據發送給其他系統。
部分大的類還可以拆分成更小的類,如發動機控制類包括不同工況下的不同控制策略。每種工況的控制類依賴于數據庫中的數據,通過調用計算類的子類、一維和二維查表函數確定轉矩及對應的油量,如圖8所示。當遇到更高的控制要求或更精確的控制算法且有必要細化工況時,可以通過“并行擴展方式”[6]實現,即原來的靜態模型可以保持不變或少量調整,不會出現整個系統需要重建的情況,減輕了工作量,縮短了開發時間。
4.3.2 發動機控制系統動態建模
發動機系統的運行過程是工況狀態遷移過程,狀態遷移條件是判斷系統狀態轉換和控制策略程序編寫的依據。因此,建立系統狀態圖如圖9所示。針對發動機控制系統的各工況控制策略建立了順序圖,以圖10所示怠速工況為例,首先由冷卻水溫確定怠速轉速目標值,獲得發動機轉速,并根據PID算法獲得基本的指示轉矩。根據冷卻水溫、發動機轉速,確定發動機內部轉矩需求并將其送入PTC系統,同時PTC系統接收外部轉矩需求并進行轉矩協調,最終將協調后轉矩送回發動機控制系統,通過查轉矩油量MAP,確定最終噴油量。
發動機控制系統可在廣度和深度兩個方向進行擴展。廣度指增加系統功能,深度指控制上對工況的區分更細致,控制策略更具有針對性,如增加加減速狀態;針對整車控制,還可以加入轉向狀態等。
4.4 變速器和轉矩協調系統靜、動態建模
4.4.1 變速器和轉矩協調系統靜態建模
針對變速器控制系統建立了如圖11所示的類圖。變速器控制系統需要檢測發動機轉速、變速器輸入軸轉速、變速器輸出軸轉速、加速踏板位置、換擋手柄位置等信息,計算得到當前狀態、離合器所需轉矩;與PTC進行通信,獲得分配后的轉矩;通過控制離合器執行器、變速器執行器等來完成換擋功能。
針對轉矩協調系統建立了如圖12所示的類圖。轉矩協調控制系統是轉矩控制策略的核心。首先要獲取各系統或輔助部件對發動機的需求轉矩。當同時出現多個轉矩需求時,經轉矩優先級判斷出最終需求轉矩。通過對發動機進氣系統、燃油噴射系統、離合器執行機構和變速器執行機構(擋位開關)的精確控制,控制發動機的輸出轉矩。與發動機控制類相同,轉矩優先級判斷又分為換擋和非換擋2個子類,如圖13所示。
4.4.2 變速器和轉矩協調系統動態建模
對變速器狀態進行建模如圖14所示。變速器狀態在1~4擋之間切換,系統上電后,首先進入空擋狀態,接收到自動換擋信號時轉入自動擋狀態。自動換擋狀態時,根據車輛的實時狀態(當前的車速、油門開度、車輛加速度等)計算最佳擋位,完成自動換擋。針對轉矩協調系統的轉矩優先級判斷建立了順序圖,以換擋情況為例展現了轉矩優先級策略,如圖15所示。
利用該方法建立的動力傳動控制系統軟件模型可以轉化為Simulink模型。在與對象模型連接后進行仿真,仿真結果如圖16所示。圖中虛線代表車速,實線代表擋位,該仿真完成了從1擋到4擋連續升擋過程。仿真結果表明,基于UML建立的動力傳動控制系統模型能夠正確反映控制系統的功能。
利用模型驅動開發思想對動力傳動系統進行了軟件建模方法研究,闡述了動力傳動控制系統開發中軟件建模所處的位置及軟件建模流程。
a.針對領域特點,結合基于轉矩的控制理論,將系統分為3部分,并對每部分展開了軟件建模。
b.選用5種類型的UML圖,涵蓋了系統功能、結構和行為。由于動力傳動系統軟件結構復雜,功能眾多,為了達到可移植性和復用性,在用例圖建模階段即采用模塊化設計。
c.考慮到組件功能的復用及優化程度、修改的簡便容易程度等,對3部分系統建立了各自的靜態模型,均以數據庫為核心。建立了系統動態模型,通過狀態圖和順序圖反映了系統中對象的操作行為和功能的具體實現過程,實現了控制策略的建模。
d.模型可以增加更多的控制對象和控制功能,從而分出更多更細致的工況,且針對不同工況設置專門的控制策略。
1 Guido Sandmann,Richard Thompson.Development of AUTOSAR Software Components within Model-Based Design.In-Vehicle Networks and Software,2008.
2 Jin-Shyan Lee,Yuan-Ming Wang.A UML-based approach to automatic cruise control modeling for smart vehicles. Industrial Electronics and Applications(ICIEA),2012.
3 Gwangmin Park,Daehyun Kum,Sungho Jin,et al.Implementation of AUTOSAR I/O Driver Modules for a SSPS System.International Conference on Control,Automation and Systems,2008.
4莊繼德.汽車電子控制系統工程.北京:北京理工大學出版社,1998.
5 Roger S.Pressman.Software Engineering,A Practitioner's Approach(Fourth Edition)McGraw-Hill,1997.
6李鐵軍.柴油機電控技術實用教程.北京:機械工業出版社,2009.
(責任編輯簾青)
修改稿收到日期為2014年3月1日。
Research on the Method of UM L-based Software Modeling for Powertrain
Dai Xiaoyan,Zhao Changlu,Huang Ying,Hao Donghao
(Beijing Institute of Technolog)
The powertrain embedded software is complex and difficult to be developed.In order to solve this problem,the object-oriented approach has been used for powertrain modeling according to the functions and features of powertrain control software.The powertrain is divided into engine control system,transmission control and torque coordination system.The static and dynamic modeling has been established for each system.The development level of software is upgraded to the system level by software modeling,and has more focus on the domain.The model has good versatility.
Powertrain,UM L language,Software modeling
動力傳動系統UML語言 軟件建模
U463.2
A
1000-3703(2014)08-0032-06