戴筱妍 赵长禄 黄 英 郝东浩
(北京理工大学)
基于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