CN110471308A - 基于TrueTime的航空发动机分布式控制系统仿真模型建模方法 - Google Patents
基于TrueTime的航空发动机分布式控制系统仿真模型建模方法 Download PDFInfo
- Publication number
- CN110471308A CN110471308A CN201910644365.0A CN201910644365A CN110471308A CN 110471308 A CN110471308 A CN 110471308A CN 201910644365 A CN201910644365 A CN 201910644365A CN 110471308 A CN110471308 A CN 110471308A
- Authority
- CN
- China
- Prior art keywords
- module
- controller
- network
- intelligence sensor
- kernel module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B17/00—Systems involving the use of models or simulators of said systems
- G05B17/02—Systems involving the use of models or simulators of said systems electric
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Control By Computers (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于TrueTime的航空发动机分布式控制系统仿真模型建模方法,包括以下步骤:步骤1)、建立航空发动机仿真模型;步骤2)、建立航空发动机智能传感器;步骤3)、建立智能执行机构模型;步骤4)、建立分布式控制器模型;步骤5)基于发动机、智能传感器、智能执行机构和控制器的TureTime模型建立发动机分布式控制系统仿真模型。本发明在航空发动机分布式控制构架前提下,通过建立基于Simulink的发动机模型、基于TureTime2.0的智能传感器、控制器和智能执行机构的模型,采用时间触发型总线协议,构建发动机分布式控制系统,对未来智能发动机、多电发动机等先进航空发动机的分布式控制系统研究有着积极促进的作用。
Description
技术领域
本发明属于航空发动机控制技术领域,具体涉及一种基于TrueTime2.0的航空发动机分布式控制系统仿真模型建模方法。
背景技术
随着航空发动机在气动热力学和机械方面不断发展,其性能和效率达到了一个前所未有的水平,与之对应航空发动机控制也在不断发展。为减少发动机总质量,提高发动机性能、降低成本,现代发动机采用分布式控制系统取代传统集中式控制系统。相较于传统的集中式控制系统,航空发动机分布式控制系统能显著减少控制系统重量,提高系统可靠性和可维护性。然而在对分布式控制系统研究时,现有的基于集中式控制的建模方法已不适用,尤其是分布式控制系统带来的网络时延,这对控制系统的效果起着重要的作用,为了更好的研究航空发动机分布式控制系统,需要对其进行建模方法研究。TrueTime工具箱是Lund大学基于Simulink开发的工具箱,用来仿真分布式的实时控制系统和网络控制系统,利用这种工具箱可以构建分布式实时控制系统的动态过程、控制任务执行以及和网络交互的联合仿真环境,在该仿真环境中,可以研究各种调度策略和网络协议多控制系统性能的仿真,从而使得网络控制系统的研究更加容易。
发明内容
针对上述技术问题,本发明提出一种基于TrueTime2.0的航空发动机分布式控制系统仿真模型建模方法。考虑航空发动机分布式控制系统,利用TrueTime2.0建立多智能传感器和多智能执行机构的模型,并通过通信协议与控制器相连接,控制器设置多个接受模块以接受相应的智能传感器数据。其中智能传感器和智能执行机构与航空发动机模型相连接,智能传感器检测发动机的状态并将数据发送给控制器,控制器在接收到智能传感器数据后计算出相应的控制量,然后将数据发送给智能执行机构,智能执行机构将所获得的数据返回至发动机模型。
一种基于TrueTime2.0的航空发动机分布式控制系统仿真模型建模方法,包括以下步骤:
步骤1)建立航空发动机仿真模型;
步骤2)建立航空发动机智能传感器仿真模型;
步骤3)建立航空发动机控制器仿真模型;
步骤4)建立航空发动机智能执行机构仿真模型;
步骤5)基于TrueTime2.0构建航空发动机分布式控制系统仿真模型;
进一步的,所述步骤1)中的具体步骤如下:
步骤1.1),通过Matlab中Simulink工具箱,使用Matlab Function模块;
步骤1.2),通过Function模块调用已有动态链接库,建立航空发动机仿真模型;
进一步的,所述步骤2)中的具体步骤如下:
步骤2.1),使用TrueTime2.0中的Kernel模块,为每一个智能传感器建立一个智能传感器数据接收模块;
步骤2.2),使用TrueTime2.0中的Kernel模块,为每一个智能传感器建立一个智能传感器数据寄存模块;
步骤2.3),在智能传感器接收Kernel模块的“Block parameters:TuretimeKernel”对话框中,设置智能传感器接收Kernel模块参数。包括在“Name of init function(MEX or MATLAB)”栏中设置智能传感器接收Kernel模块的初始化文件并命名为“Sensor_init.m”;在“Number of analog inputs and outputs”栏中设置[1 0],表示智能传感器模拟量输入信号个数为1,模拟量输出信号个数为0;在“(Network and)Node number(s)”栏中设置本智能传感器的网络编号;
步骤2.4),初始化智能传感器接收Kernel模块。在智能传感器接收Kernel模块的初始化文件Sensor_init.m中,设置智能传感器接收Kernel模块的调度方式为“deadline-monotonic scheduling”,定义智能传感器开始工作时间为ts1,智能传感器向网络发送数据的周期为Ts1,定义智能传感器信号处理文件名“Sensor_code.m”。根据这些参数,使用“ttCreatPeriodicTask()”函数创建智能传感器周期性任务;
步骤2.5),建立“Sensor_code.m”文件。在该文件中,编写智能传感器A/D接口数据读取代码,编写将数据发送至相应的智能传感器数据寄存模块的代码。
步骤2.6),在智能传感器寄存Kernel模块的“Block parameters:TuretimeKernel”对话框中,设置智能传感器寄存Kernel模块参数。包括在“Name of init function(MEX or MATLAB)”栏中设置智能传感器寄存Kernel模块的初始化文件并命名为“Buff_init.m”;在“Number of analog inputs and outputs”栏中设置[0 1],表示智能传感器模拟量输入信号个数为0,模拟量输出信号个数为1;在“(Network and)Node number(s)”栏中设置本智能传感器寄存模块的网络编号;
步骤2.7),初始化智能传感器寄存Kernel模块。在智能传感器寄存Kernel模块的初始化文件“Buff_init.m”中,设置智能传感器寄存Kernel模块调度方式为“deadline-monotonic scheduling”,定义智能传感器数据寄存文件名“Buff_code.m”,使用ttCreateTask()函数创建非周期性任务,使得智能传感器寄存模块负责接收智能传感器发送的数据,无需周期性工作。
步骤2.8),建立“Buff_code.m”文件。在该文件中,利用“ttGetMsg”函数编写从网络读取数据的代码;在判断数据非空后,将其从智能传感器寄存Kernel模块的D/A接口中输出。
进一步的,所述步骤3)中的具体步骤如下:
步骤3.1),使用TrueTime2.0中的Kernel模块,建立控制器Kernel模块;
步骤3.2),在控制器Kernel模块的“Block parameters:Turetime Kernel”对话框中,设置控制器Kernel模块参数。包括在“Name of init function(MEX or MATLAB)”栏中设置控制器Kernel模块的初始化文件并命名为“Controller_init.m”;在“Number ofanalog inputs and outputs”栏中设置[ncin ncout],表示控制器模拟量输入信号个数为ncin,模拟量输出信号个数为ncout;在“(Network and)Node number(s)”栏中设置控制器的网络编号;
步骤3.3),初始化控制器接收Kernel模块。在控制器接收Kernel模块的初始化文件Controller_init.m中,设置控制器接收Kernel模块的调度方式为“deadline-monotonicscheduling”,定义控制器开始工作时间为ts2,控制器向网络发送数据的周期为Ts2,定义控制器代码文件名“Controller_code.m”。根据这些参数,使用“ttCreatPeriodicTask()”函数创建控制器周期性任务.特别的,在函数中需设置一数据结构“data”保存控制器代码所需的参数,该数据结构代表该任务的本地内存,控制器代码中所需的数据均使用该数据结构名为前缀。
步骤3.4),建立“Controller_code.m”文件。在该文件中,编写控制器A/D接口数据读取代码,并使用步骤3.3)中设置的参数和PID控制方法计算出控制量,将其发送至智能执行机构。
进一步的,所述步骤4)中的具体步骤如下:
步骤4.1),使用TrueTime2.0中的Kernel模块,为每一个智能执行机构建立一个智能执行机构网络节点模型;
步骤4.2)在智能执行机构Kernel模块的“Block parameters:Turetime Kernel”对话框中,设置智能执行机构Kernel模块参数。包括在“Name of init function(MEX orMATLAB)”栏中设置智能执行机构Kernel模块的初始化文件并命名为“Actuator_init.m;在“Number of analog inputs and outputs”栏中设置[0 1],表示智能执行机构模拟量输入信号个数为0,模拟量输出信号个数为1;在“(Network and)Node number(s)”栏中设置本智能执行机构模块的网络编号;
步骤4.3),初始化智能执行机构Kernel模块。在智能执行机构Kernel模块的初始化文件“Actuator_init.m”中,设置智能执行机构Kernel模块调度方式为“deadline-monotonic scheduling”,定义智能执行机构代码文件名“Actuator_code.m”,使用ttCreateTask()函数创建非周期性任务,使得智能执行机构模块负责接收控制器发送的数据,无需周期性工作。
步骤4.4),建立“Actuator_code.m”文件。在该文件中,利用“ttGetMsg”函数编写从网络读取数据的代码;在判断数据非空后,将其从智能执行机构Kernel模块的D/A接口中输出。
进一步的,所述步骤5)中的具体步骤如下:
步骤5.1),采用TrueTime2.0工具箱中的Network模块建立发动机分布式控制系统网络特性模型;
步骤5.2),将发动机仿真模型EngineFcn模块的输出端与智能传感器接收Kernel模块相连接,智能传感器寄存Kernel模块的输出与多路复用模块相连接,参考指令输入模块(Simulink阶跃模块等)与多路复用模块(mux)相连接,智能执行机构Kernel模块输出与发动机模型Simulink模块的输入相连;
步骤5.3),根据所发动机分布式控制系统中网络节点总个数n,在“BlockParameters:TrueTime Network”中,将“Number of nodes”栏设置为n,表示发动机分布式控制网络中网络节点数目为n;
步骤5.4),在“Block Parameters:TrueTime Network”中,将“Static schedule”栏设置为:[智能传感器接收Kernel编号控制器Kernel编号],表示发动机分布式控制系统的网络调度策略;
步骤5.5)在“Block Parameters:TrueTime Network”中,设置FrameSize和DateRate栏中参数,分别表示网络数据传输的帧大小和传输速度。
有益效果:本发明设计的一种基于TrueTime2.0的航空发动机分布式控制建模方法,在通信协议TTP/C下,能够很好模拟航空发动机分布式控制下智能传感器、控制器和智能执行机构间的通信,并实现采集发动机信号、使用PID控制算法对发动机进行有效的控制。
附图说明
图1为TrueTime2.0工具箱示意图;
图2为Kernel设置界面示意图;
图3为Network设置界面示意图;
图4为本发明分布式控制系统模型结构示意图。
具体实施方式
本发明为一种基于TrueTime2.0的航空发动机分布式控制系统仿真模型建模方法,包括以下步骤:
步骤1)建立航空发动机仿真模型:
步骤1.1),通过Matlab中Simulink工具箱,使用Matlab Function模块;
步骤1.2),通过Function模块调用已有动态链接库,建立航空发动机仿真模型;
步骤2)建立航空发动机智能传感器仿真模型:
步骤2.1),使用TrueTime2.0中的Kernel模块,为每一个智能传感器建立一个智能传感器数据接收模块;
步骤2.2),使用TrueTime2.0中的Kernel模块,为每一个智能传感器建立一个智能传感器数据寄存模块;
步骤2.3),在智能传感器接收Kernel模块的“Block parameters:TuretimeKernel”对话框中,设置智能传感器接收Kernel模块参数。包括在“Name of init function(MEX or MATLAB)”栏中设置智能传感器接收Kernel模块的初始化文件并命名为“Sensor_init.m”;在“Number of analog inputs and outputs”栏中设置[1 0],表示智能传感器模拟量输入信号个数为1,模拟量输出信号个数为0;在“(Network and)Node number(s)”栏中设置本智能传感器的网络编号;
步骤2.4),初始化智能传感器接收Kernel模块。在智能传感器接收Kernel模块的初始化文件Sensor_init.m中,设置智能传感器接收Kernel模块的调度方式为“deadline-monotonic scheduling”,定义智能传感器开始工作时间为ts1,智能传感器向网络发送数据的周期为Ts1,定义智能传感器信号处理文件名“Sensor_code.m”。根据这些参数,使用“ttCreatPeriodicTask()”函数创建智能传感器周期性任务;
步骤2.5),建立“Sensor_code.m”文件。在该文件中,编写智能传感器A/D接口数据读取代码,编写将数据发送至相应的智能传感器数据寄存模块的代码。
步骤2.6),在智能传感器寄存Kernel模块的“Block parameters:TuretimeKernel”对话框中,设置智能传感器寄存Kernel模块参数。包括在“Name of init function(MEX or MATLAB)”栏中设置智能传感器寄存Kernel模块的初始化文件并命名为“Buff_init.m”;在“Number of analog inputs and outputs”栏中设置[0 1],表示智能传感器模拟量输入信号个数为0,模拟量输出信号个数为1;在“(Network and)Node number(s)”栏中设置本智能传感器寄存模块的网络编号;
步骤2.7),初始化智能传感器寄存Kernel模块。在智能传感器寄存Kernel模块的初始化文件“Buff_init.m”中,设置智能传感器寄存Kernel模块调度方式为“deadline-monotonic scheduling”,定义智能传感器数据寄存文件名“Buff_code.m”,使用ttCreateTask()函数创建非周期性任务,使得智能传感器寄存模块负责接收智能传感器发送的数据,无需周期性工作。
步骤2.8),建立“Buff_code.m”文件。在该文件中,利用“ttGetMsg”函数编写从网络读取数据的代码;在判断数据非空后,将其从智能传感器寄存Kernel模块的D/A接口中输出。
步骤3)建立航空发动机控制器仿真模型:
步骤3.1),使用TrueTime2.0中的Kernel模块,建立控制器Kernel模块;
步骤3.2),在控制器Kernel模块的“Block parameters:Turetime Kernel”对话框中,设置控制器Kernel模块参数。包括在“Name of init function(MEX or MATLAB)”栏中设置控制器Kernel模块的初始化文件并命名为“Controller_init.m”;在“Number ofanalog inputs and outputs”栏中设置[ncin ncout],表示控制器模拟量输入信号个数为ncin,模拟量输出信号个数为ncout;在“(Network and)Node number(s)”栏中设置控制器的网络编号;
步骤3.3),初始化控制器接收Kernel模块。在控制器接收Kernel模块的初始化文件Controller_init.m中,设置控制器接收Kernel模块的调度方式为“deadline-monotonicscheduling”,定义控制器开始工作时间为ts2,控制器向网络发送数据的周期为Ts2,定义控制器代码文件名“Controller_code.m”。根据这些参数,使用“ttCreatPeriodicTask()”函数创建控制器周期性任务.特别的,在函数中需设置一数据结构“data”保存控制器代码所需的参数,该数据结构代表该任务的本地内存,控制器代码中所需的数据均使用该数据结构名为前缀。
步骤3.4),建立“Controller_code.m”文件。在该文件中,编写控制器A/D接口数据读取代码,并使用步骤3.3)中设置的参数和PID控制方法计算出控制量,将其发送至智能执行机构。
步骤4)建立航空发动机智能执行机构仿真模型:
步骤4.1),使用TrueTime2.0中的Kernel模块,为每一个智能执行机构建立一个智能执行机构网络节点模型;
步骤4.2)在智能执行机构Kernel模块的“Block parameters:Turetime Kernel”对话框中,设置智能执行机构Kernel模块参数。包括在“Name of init function(MEX orMATLAB)”栏中设置智能执行机构Kernel模块的初始化文件并命名为“Actuator_init.m;在“Number of analog inputs and outputs”栏中设置[0 1],表示智能执行机构模拟量输入信号个数为0,模拟量输出信号个数为1;在“(Network and)Node number(s)”栏中设置本智能执行机构模块的网络编号;
步骤4.3),初始化智能执行机构Kernel模块。在智能执行机构Kernel模块的初始化文件“Actuator_init.m”中,设置智能执行机构Kernel模块调度方式为“deadline-monotonic scheduling”,定义智能执行机构代码文件名“Actuator_code.m”,使用ttCreateTask()函数创建非周期性任务,使得智能执行机构模块负责接收控制器发送的数据,无需周期性工作。
步骤4.4),建立“Actuator_code.m”文件。在该文件中,利用“ttGetMsg”函数编写从网络读取数据的代码;在判断数据非空后,将其从智能执行机构Kernel模块的D/A接口中输出。
步骤5)基于TrueTime2.0构建航空发动机分布式控制系统仿真模型:
步骤5.1),采用TrueTime2.0工具箱中的Network模块建立发动机分布式控制系统网络特性模型;
步骤5.2),将发动机仿真模型EngineFcn模块的输出端与智能传感器接收Kernel模块相连接,智能传感器寄存Kernel模块的输出与多路复用模块相连接,参考指令输入模块(Simulink阶跃模块等)与多路复用模块(mux)相连接,智能执行机构Kernel模块输出与发动机模型Simulink模块的输入相连;
步骤5.3),根据所发动机分布式控制系统中网络节点总个数n,在“BlockParameters:TrueTime Network”中,将“Number of nodes”栏设置为n,表示发动机分布式控制网络中网络节点数目为n;
步骤5.4),在“Block Parameters:TrueTime Network”中,将“Static schedule”栏设置为:[智能传感器接收Kernel编号控制器Kernel编号],表示发动机分布式控制系统的网络调度策略;
步骤5.5)在“Block Parameters:TrueTime Network”中,设置FrameSize和DateRate栏中参数,分别表示网络数据传输的帧大小和传输速度。
实施例
下面结合附图和实施例对本发明作进一步说明。
航空发动机分布式控制系统是航空发动机控制的重要发展方向,它能有效减轻控制系统的重量,提高系统可靠性和可维护性。分布式控制系统的特点是在分布式控制系统中,智能传感器将模拟信号转变为数字信号,提供转速、压比等输出量给控制器,智能执行机构接受由控制器发出的信号并做出相应的动作以完成相应控制任务,各智能传感器和智能执行机构通过数据总线和控制器相连接。
TrueTime2.0工具箱是Lund大学基于Simulink开发的工具箱,用来仿真分布式的实时控制系统和网络控制系统,利用这种工具箱可以构建分布式实时控制系统的动态过程、控制任务执行以及和网络交互的联合仿真环境。TrueTime2.0工具箱如图1所示,本例中主要使用Kernel与Network两个模块,其中Kernel模块用于模拟智能传感器、智能执行机构和控制器,Network用于设置网络参数。Kernel的设置如图2所示,第一行为该模块所调用的初始化文件名;第三行为模拟输入和输出信号个数,用向量表示;第五行为该模块所属的网络及在网络中的编号,用向量表示,若只存在一个网络可只填写在网络中的编号。图3为Network的设置,第一行为网络类型,可选择CAN、TDMA和FlexRay等通信协议;第二行为网络的编号;第三行为该网络中节点的个数,根据使用的Kernel模块个数可确定;对于TDMA(TTP/C),Network在最后一行增加了静态调度表。
如步骤1所述,利用Simulink的Matlab Function模块,在Function模块中调用已有动态链接库,将发动机高压转子转速nH和压比EPR作为发动机输出量,燃油Wf和发喷口面积A8作为发动机的输入量,建立航空发动机仿真模型。
如步骤2所述,将智能传感器接收模块1和2在图2所示的“Block parameters:TureTime Kernel”中“(Network and)Node number(s)”设置节点编号这一栏分别编号1、2,在“Number of analog inputs and outputs”栏中设置模拟输入和输出量为[1 0]。编写智能传感器初始化文件与代码以智能传感器接收模块1为例,使用Matlab m语言,初始化文件名设为‘Sensor1_init’,并在智能传感器1的设置中更改使初始化文件名一致。初始化文件代码如附录1所示,初始化文件中,首先使用‘ttInitKernel(‘prioDM’)’语句完成Kernel调度方式设计,在其余Kernel初始化中也需先完成这一设置。智能传感器周期性检测发动机信号,需要创建周期性任务,所以在智能传感器初始化文件中使用ttCreatePeriodicTask创建周期性任务,根据需求设置任务的启动时间为0s、周期为0.02s,代表该任务在0s时启动,每0.02s为一个周期,同时在语句中调用智能传感器代码‘Sensor1_code’。智能传感器文件代码如附录2所示,编写智能传感器代码时,代码文件名需与上述设置的代码名一致,智能传感器代码中使用‘x=ttAnalogIn(1)’语句读取智能传感器A/D接口中的数据,x为读取数据设置的变量。随后使用‘ttSendMsg(3,x,80)’语句将数据发送至寄存模块1,其中3代表数据发送目的地即寄存模块1的节点编号,x为上述中的变量,80代表发送数据时每次发送的数据大小为80bits。智能传感器2的初始化文件、代码与智能传感器1相似,需修改文件名、代码名和数据发送的目的地,在此不再过多阐述。
寄存模块1和2节点编号分别设置为3、4,模拟输入和输出量为[0 1],寄存模块的初始化文件与代码以寄存模块1为例,初始化文件如附录3所示,使用Matlab语言,初始化文件名设为‘Buff1_init’,并在寄存模块1的设置中更改使初始化文件名一致。寄存模块负责接收智能传感器发送的数据,为非周期性任务,因此使用ttCreateTask和ttAttachNetworkHandler创建非周期性任务,两次创建的任务名应一致,任务在智能传感器消息通过网络到达接收模块时启动,创建任务时设置任务的相对截止时间为0.02s,同时在ttCreateTask中设置寄存模块1所用代码‘Buff1_code’。编写寄存模块1所使用代码时,代码名应与上述设置一致。寄存模块代码如附录4所示,在寄存1的代码中,使用‘y=ttGetMsg’语句以读取智能传感器接收模块通过网络发送的数据,其中y为读取数据设置的变量,然后使用‘ttAnalogOut(1,y)’语句将所得的数据从D/A接口中送出,其中y为上述中的变量,1位D/A接口的通道编号,由于在寄存模块中D/A接口未传输多个数据,通道编号设置为1。寄存模块2的初始化文件和代码与接收模块1相似,需修改初始化文件名与代码名,在此不过多阐述。
如步骤3所述,将控制器在图2所示的“Block parameters:TureTime Kernel”中“(Network and)Node number(s)”设置节点编号这一栏编号5,在“Number of analoginputs and outputs”栏中设置模拟输入和输出量为[5 0]。编写控制器模块时,与智能传感器类似,使用TTCreatePeriodicTask创建周期性任务,根据实际需求在0s时启动任务并以0.02s为周期,初始化文件如附录5所示。特别的,在控制器代码中使用了PID控制算法,因此在创建周期性任务时需特别加入数据结构,在此例中数据结构名为‘data’因此控制器代码中算法所需的比例、积分和微分参数需添加‘data’前缀如比例参数‘data.K1’。在初始化文件中也需完成算法相关量的初始化,同样应对相关量添加前缀,这样添加前缀的数据可传递至代码并进行存储。创建控制器任务时设置控制器代码文件名‘PIDControl,编写控制器代码时,文件名与此一致,控制器代码如附录6所示,代码中,使用ttAnalogIn()读取智能传感器A/D接口数据,括号中使用数字1~5表示A/D接口由上至下接入数据的顺序,使用数字1和5以读取智能传感器数,使用2和4读取指令信号,3位时钟信号,为控制器代码提供时间,为控制器代码提供时间。控制器采用PID算法,在读取智能传感器数据和指令信息后,经计算得出相应Wf和A8,随后使用ttSendMsg将算得的数据发送至相应的智能执行机构。
如步骤4所述,将智能执行机构在图2所示的“Block parameters:TureTimeKernel”中“(Network and)Node number(s)”设置节点编号这一栏分别编号6、7,在“Numberof analog inputs and outputs”栏中设置模拟输入和输出量为[0 1]。智能执行机构负责从网络中读取控制器发送的数据,作用与智能传感器寄存模块类似,因此智能执行机构初始化文件和代码也与接收模块类似,修改任务名称、代码名称和文件名称即可智能执行机构初始化文件和代码以燃油执行机构为例,如附录7和附录8所示。至此分布式控制系统中智能传感器、控制器和智能执行机构模型均以建立和设置完成。
如步骤5所述,使用TrueTime的Network模块,将发动机模型输出端与智能传感器接收模块相连接,输入端与智能执行机构相连接,控制器与智能传感器寄存模块连接,此例中,共使用7个Kernel,通信网络为TDMA,帧大小设置为80bits,数据传输速度为80000bits/s,静态调度表为[1 5;2 5],并在Network模块中更改上述设置。至此分布式控制系统中智能传感器、控制器和智能执行机构模型均以建立和设置完成,最终基于True Time的航空发动机分布式控制模型如图4所示。
附录
附录1传感器初始化代码
function sensor1_init
ttInitKernel('prioDM');
starttime=0.0;
period=0.020;
ttCreatePeriodicTask('sensor_task1',starttime,period,'sensor_code1');
附录2传感器代码
附录3寄存器初始化代码
function Buff1_init
ttInitKernel('prioDM')
deadline=0.02;
ttCreateTask(Buff1_task',deadline,'Buff1_code');
ttAttachNetworkHandler('Buff1_task')
附录4寄存器代码
附录5控制器初始化代码
function controller_init
ttInitKernel('prioDM')
data.Ts=0.02;
data.K11=0.8;
data.K22=1.8;
data.Ti1=0.08;
data.Ti2=0.25;
data.en1=0;
data.epi1=0;
data.un1=0;
data.upi1=0;
data.un=0;
data.upi=0;
data.duk1=0;
data.duk2=0;
data.en2=0;
data.epi2=0;
starttime=0.0;
period=0.02;
ttCreatePeriodicTask('controller_task',starttime,period,'controller_code',data);
附录6控制器代码
附录7执行机构初始化代码
function actuator1_init
ttInitKernel('prioDM');
deadline=10.0;
ttCreateTask('actuator1_task',deadline,'actuator1_code');
ttAttachNetworkHandler('actuator1_task')
附录8执行机构代码
以上所述仅是本发明的具体实施方式,但本发明的保护范围并不局限于此,应当指出:本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的润饰和改进,都应涵盖在本发明的保护范围内。
Claims (7)
1.一种基于TrueTime的航空发动机分布式控制系统仿真模型建模方法,其特征在于:包括以下步骤:
步骤1)建立航空发动机仿真模型;
步骤2)建立航空发动机智能传感器仿真模型;
步骤3)建立航空发动机控制器仿真模型;
步骤4)建立航空发动机智能执行机构仿真模型;
步骤5)基于TrueTime2.0构建航空发动机分布式控制系统仿真模型。
2.根据权利要求1所述的基于TrueTime的航空发动机分布式控制系统仿真模型建模方法,其特征在于:所述步骤1)中的具体步骤如下:
步骤1.1),通过Matlab中Simulink工具箱中的Function模块,建立EngineFcn模块;
步骤1.2),在EngineFcn模块中调用航空发动机部件级模型动态链接库,建立航空发动机仿真模型。
3.根据权利要求1所述的基于TrueTime的航空发动机分布式控制系统仿真模型建模方法,其特征在于:所述步骤2)中的具体步骤如下:
步骤2.1),使用TrueTime2.0中的Kernel模块,为每一个智能传感器建立一个智能传感器数据接收Kernel模块;
步骤2.2),使用TrueTime2.0中的Kernel模块,为每一个智能传感器建立一个智能传感器数据寄存模块;
步骤2.3),在智能传感器接收Kernel模块的“Block parameters:Turetime Kernel”对话框中,设置智能传感器接收Kernel模块参数,包括:在“Name ofinit function(MEX orMATLAB)”栏中设置智能传感器接收Kernel模块的初始化文件并命名为“Sensor_init.m”,在“Number of analog inputs and outputs”栏中设置[1 0]表示智能传感器模拟量输入信号个数为1、模拟量输出信号个数为0;在“(Network and)Node number(s)”栏中设置本智能传感器的网络编号;
步骤2.4),初始化智能传感器接收Kernel模块:在智能传感器接收Kernel模块的初始化文件Sensor_init.m中,设置智能传感器接收Kernel模块的调度方式为“deadline-monotonic scheduling”,定义智能传感器开始工作时间为ts1,智能传感器向网络发送数据的周期为Ts1,定义智能传感器信号处理文件名“Sensor_code.m”;根据这些参数,使用“ttCreatPeriodicTask()”函数创建智能传感器周期性任务;
步骤2.5),建立“Sensor_code.m”文件,在该文件中,编写智能传感器A/D接口数据读取代码,编写将数据发送至相应的智能传感器数据寄存模块的代码;
步骤2.6),在智能传感器寄存Kernel模块的“Block parameters:Turetime Kernel”对话框中,设置智能传感器寄存Kernel模块参数,包括:在“Name ofinit function(MEX orMATLAB)”栏中设置智能传感器寄存Kernel模块的初始化文件并命名为“Buff_init.m”,在“Number of analog inputs and outputs”栏中设置[0 1]表示智能传感器模拟量输入信号个数为0、模拟量输出信号个数为1,在“(Network and)Node number(s)”栏中设置本智能传感器寄存模块的网络编号;
步骤2.7),初始化智能传感器寄存Kernel模块:在智能传感器寄存Kernel模块的初始化文件“Buff_init.m”中,设置智能传感器寄存Kernel模块调度方式为“deadline-monotonic scheduling”,定义智能传感器数据寄存文件名“Buff_code.m”,使用ttCreateTask()函数创建非周期性任务,使得智能传感器寄存模块负责接收智能传感器发送的数据;
步骤2.8),建立“Buff_code.m”文件,在该文件中,利用“ttGetMsg”函数编写从网络读取数据的代码;在判断数据非空后,将其从智能传感器寄存Kernel模块的D/A接口中输出。
4.根据权利要求1所述的基于TrueTime的航空发动机分布式控制系统仿真模型建模方法,其特征在于:所述步骤3)中的具体步骤如下:
步骤3.1),使用TrueTime2.0中的Kernel模块,建立控制器Kernel模块;
步骤3.2),在控制器Kernel模块的“Block parameters:Turetime Kernel”对话框中,设置控制器Kernel模块参数,包括:在“Name ofinit function(MEX or MATLAB)”栏中设置控制器Kernel模块的初始化文件并命名为“Controller_init.m”,在“Number of analoginputs and outputs”栏中设置[ncin ncout]表示控制器模拟量输入信号个数为ncin、模拟量输出信号个数为ncout,在“(Network and)Node number(s)”栏中设置控制器的网络编号;
步骤3.3),初始化控制器接收Kernel模块:在控制器接收Kernel模块的初始化文件Controller_init.m中,设置控制器接收Kernel模块的调度方式为“deadline-monotonicscheduling”,定义控制器开始工作时间为ts2,控制器向网络发送数据的周期为Ts2,定义控制器代码文件名“Controller_code.m”;根据这些参数,使用“ttCreatPeriodicTask()”函数创建控制器周期性任务;
步骤3.4),建立“Controller_code.m”文件,在该文件中,编写控制器A/D接口数据读取代码,并使用步骤3.3)中设置的参数和PID控制方法计算出控制量,将其发送至智能执行机构。
5.根据权利要求1所述的基于TrueTime的航空发动机分布式控制系统仿真模型建模方法,其特征在于:所述步骤3.3)中,使用“ttCreatPeriodicTask()”函数创建控制器周期性任务,在该函数中设置一数据结构“data”保存控制器代码所需的参数,该数据结构代表该任务的本地内存,控制器代码中所需的数据均使用该数据结构名为前缀。
6.根据权利要求1所述的基于TrueTime的航空发动机分布式控制系统仿真模型建模方法,其特征在于:所述步骤4)中的具体步骤如下:
步骤4.1),使用TrueTime2.0中的Kernel模块,为每一个智能执行机构建立一个智能执行机构网络节点模型;
步骤4.2)在智能执行机构Kernel模块的“Block parameters:Turetime Kernel”对话框中,设置智能执行机构Kernel模块参数,包括:在“Name of init function(MEX orMATLAB)”栏中设置智能执行机构Kernel模块的初始化文件并命名为“Actuator_init.m,在“Number of analog inputs and outputs”栏中设置[0 1]表示智能执行机构模拟量输入信号个数为0、模拟量输出信号个数为1,在“(Network and)Node number(s)”栏中设置本智能执行机构模块的网络编号;
步骤4.3),初始化智能执行机构Kernel模块:在智能执行机构Kernel模块的初始化文件“Actuator_init.m”中,设置智能执行机构Kernel模块调度方式为“deadline-monotonicscheduling”,定义智能执行机构代码文件名“Actuator_code.m”,使用ttCreateTask()函数创建非周期性任务,使得智能执行机构模块负责接收控制器发送的数据;
步骤4.4),建立“Actuator_code.m”文件,在该文件中,利用“ttGetMsg”函数编写从网络读取数据的代码;在判断数据非空后,将其从智能执行机构Kernel模块的D/A接口中输出。
7.根据权利要求1所述的基于TrueTime的航空发动机分布式控制系统仿真模型建模方法,其特征在于:所述步骤5)中的具体步骤如下:
步骤5.1),采用TrueTime2.0工具箱中的Network模块建立发动机分布式控制系统网络特性模型;
步骤5.2),将发动机仿真模型EngineFcn模块的输出端与智能传感器接收Kernel模块相连接,智能传感器寄存Kernel模块的输出与多路复用模块相连接,参考指令输入模块与多路复用模块相连接,智能执行机构Kernel模块输出与发动机模型Simulink模块的输入相连;
步骤5.3),根据所发动机分布式控制系统中网络节点总个数n,在“Block Parameters:TrueTime Network”中,将“Number of nodes”栏设置为n,表示发动机分布式控制网络中网络节点数目为n;
步骤5.4),在“Block Parameters:TrueTime Network”中,将“Static schedule”栏设置为:[智能传感器接收Kernel编号控制器Kernel编号],表示发动机分布式控制系统的网络调度策略;
步骤5.5)在“Block Parameters:TrueTime Network”中,设置FrameSize和DateRate栏中参数,分别表示网络数据传输的帧大小和传输速度。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910644365.0A CN110471308A (zh) | 2019-07-17 | 2019-07-17 | 基于TrueTime的航空发动机分布式控制系统仿真模型建模方法 |
PCT/CN2020/081010 WO2021008163A1 (zh) | 2019-07-17 | 2020-03-25 | 基于TrueTime的航空发动机分布式控制系统仿真模型建模方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910644365.0A CN110471308A (zh) | 2019-07-17 | 2019-07-17 | 基于TrueTime的航空发动机分布式控制系统仿真模型建模方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110471308A true CN110471308A (zh) | 2019-11-19 |
Family
ID=68509039
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910644365.0A Pending CN110471308A (zh) | 2019-07-17 | 2019-07-17 | 基于TrueTime的航空发动机分布式控制系统仿真模型建模方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110471308A (zh) |
WO (1) | WO2021008163A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111783927A (zh) * | 2020-06-29 | 2020-10-16 | 江苏商贸职业学院 | 一种混沌蝙蝠算法uav网络控制系统及故障诊断方法 |
WO2021008163A1 (zh) * | 2019-07-17 | 2021-01-21 | 南京航空航天大学 | 基于TrueTime的航空发动机分布式控制系统仿真模型建模方法 |
CN113934153A (zh) * | 2020-06-29 | 2022-01-14 | 中国航发商用航空发动机有限责任公司 | 航空发动机控制系统的多通道仿真方法和系统 |
CN114706324A (zh) * | 2022-04-14 | 2022-07-05 | 南京航空航天大学 | 一种基于时间触发的分布式控制器快速原型及仿真验证方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8812283B1 (en) * | 2004-09-20 | 2014-08-19 | The Mathworks, Inc. | Graphical modeling blocks that execute in more than one domain |
US9479232B1 (en) * | 2015-08-13 | 2016-10-25 | Sandia Corporation | Method of achieving ultra-wideband true-time-delay beam steering for active electronically scanned arrays |
CN106372370A (zh) * | 2016-10-11 | 2017-02-01 | 中国人民解放军国防科学技术大学 | 一种飞行控制分布式实时仿真系统 |
CN107024871A (zh) * | 2017-04-25 | 2017-08-08 | 哈尔滨理工大学 | 基于TrueTime的网络控制系统设计 |
CN107367935A (zh) * | 2017-07-25 | 2017-11-21 | 哈尔滨理工大学 | 一种基于TrueTime的网络控制系统补偿策略的方法 |
CN207487977U (zh) * | 2017-12-08 | 2018-06-12 | 联合汽车电子(重庆)有限公司 | 一种发动机控制器功能测试系统 |
CN108427430A (zh) * | 2018-03-30 | 2018-08-21 | 南京航空航天大学 | 基于网络控制的四旋翼飞行器控制方法 |
US10128878B1 (en) * | 2008-05-02 | 2018-11-13 | Hypres, Inc. | System and method for digital interference cancellation |
CN109624965A (zh) * | 2018-12-12 | 2019-04-16 | 湖北文理学院 | 一种插电式混合动力汽车can网络控制系统及其方法 |
CN109765881A (zh) * | 2019-01-18 | 2019-05-17 | 南京航空航天大学 | 一种航空发动机控制系统及控制算法的验证系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7778806B2 (en) * | 2006-03-29 | 2010-08-17 | Hitachi, Ltd | Method and apparatus for simulating microcomputer-based systems |
CN110471308A (zh) * | 2019-07-17 | 2019-11-19 | 南京航空航天大学 | 基于TrueTime的航空发动机分布式控制系统仿真模型建模方法 |
-
2019
- 2019-07-17 CN CN201910644365.0A patent/CN110471308A/zh active Pending
-
2020
- 2020-03-25 WO PCT/CN2020/081010 patent/WO2021008163A1/zh active Application Filing
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8812283B1 (en) * | 2004-09-20 | 2014-08-19 | The Mathworks, Inc. | Graphical modeling blocks that execute in more than one domain |
US10128878B1 (en) * | 2008-05-02 | 2018-11-13 | Hypres, Inc. | System and method for digital interference cancellation |
US9479232B1 (en) * | 2015-08-13 | 2016-10-25 | Sandia Corporation | Method of achieving ultra-wideband true-time-delay beam steering for active electronically scanned arrays |
CN106372370A (zh) * | 2016-10-11 | 2017-02-01 | 中国人民解放军国防科学技术大学 | 一种飞行控制分布式实时仿真系统 |
CN107024871A (zh) * | 2017-04-25 | 2017-08-08 | 哈尔滨理工大学 | 基于TrueTime的网络控制系统设计 |
CN107367935A (zh) * | 2017-07-25 | 2017-11-21 | 哈尔滨理工大学 | 一种基于TrueTime的网络控制系统补偿策略的方法 |
CN207487977U (zh) * | 2017-12-08 | 2018-06-12 | 联合汽车电子(重庆)有限公司 | 一种发动机控制器功能测试系统 |
CN108427430A (zh) * | 2018-03-30 | 2018-08-21 | 南京航空航天大学 | 基于网络控制的四旋翼飞行器控制方法 |
CN109624965A (zh) * | 2018-12-12 | 2019-04-16 | 湖北文理学院 | 一种插电式混合动力汽车can网络控制系统及其方法 |
CN109765881A (zh) * | 2019-01-18 | 2019-05-17 | 南京航空航天大学 | 一种航空发动机控制系统及控制算法的验证系统 |
Non-Patent Citations (7)
Title |
---|
互联网: "TrueTime工具箱模块内部结构及功能解析", 《HTTP://WWW.ELECFANS.COM/BANDAOTI/EDA/20190430927574.HTML》 * |
吴雅莉等: "《汽车发动机电控技术》", 30 May 2015, 吉林大学出版社 * |
周旭等: "《汽车总线技术》", 30 September 2014, 北京理工大学出版社 * |
田飞龙等: "某涡扇发动机分布式控制系统设计与总线性能", 《航空动力学报》 * |
蒋蓉蓉等: "基于TrueTime的网络控制系统设计与仿真", 《重庆理工大学学报》 * |
谢振伟等: "变循环发动机完全分布式控制", 《航空学报》 * |
陈亮等: "基于TrueTime的涡扇发动机分布式控制系统及其数字仿真平台设计", 《科学技术与工程》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021008163A1 (zh) * | 2019-07-17 | 2021-01-21 | 南京航空航天大学 | 基于TrueTime的航空发动机分布式控制系统仿真模型建模方法 |
CN111783927A (zh) * | 2020-06-29 | 2020-10-16 | 江苏商贸职业学院 | 一种混沌蝙蝠算法uav网络控制系统及故障诊断方法 |
CN113934153A (zh) * | 2020-06-29 | 2022-01-14 | 中国航发商用航空发动机有限责任公司 | 航空发动机控制系统的多通道仿真方法和系统 |
CN114706324A (zh) * | 2022-04-14 | 2022-07-05 | 南京航空航天大学 | 一种基于时间触发的分布式控制器快速原型及仿真验证方法 |
CN114706324B (zh) * | 2022-04-14 | 2023-11-28 | 南京航空航天大学 | 一种基于时间触发的分布式控制器快速原型及仿真验证方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2021008163A1 (zh) | 2021-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110471308A (zh) | 基于TrueTime的航空发动机分布式控制系统仿真模型建模方法 | |
CN107103113B (zh) | 面向神经网络处理器的自动化设计方法、装置及优化方法 | |
CN107016175A (zh) | 适用神经网络处理器的自动化设计方法、装置及优化方法 | |
US20100049486A1 (en) | Systems and Methods for Simulating Plant Operations | |
CN104573287B (zh) | 基于界面绑定统一模型的数字仿真框架设计方法 | |
CN102385762B (zh) | 集成Modelica的三维视景仿真系统 | |
CN106383969B (zh) | 一种运载火箭多体仿真数据交互方法 | |
CN102207904B (zh) | 用于对可重构处理器进行仿真的设备和方法 | |
CN112214902B (zh) | 一种卫星姿轨控和单机通信的实时仿真系统 | |
CN109857459A (zh) | 一种e级超算海洋模式自动移植优化方法及系统 | |
CN102495552A (zh) | 面向星载电子系统的实时仿真系统 | |
CN111083128A (zh) | 船舶数据的处理方法、装置及设备 | |
CN110045654A (zh) | 一种基于rt操作系统和fpga的转台状态空间控制系统及方法 | |
CN103914378A (zh) | 数字化星载姿控软件测试平台 | |
CN106708764A (zh) | 一种机载航电系统通用io处理系统 | |
CN111967128B (zh) | 一种提高Modelica仿真模型求解效率的方法 | |
CN116796548A (zh) | 卫星平台单机综合管理单元电接口的数字化建模方法 | |
CN110442338A (zh) | 一种结构分析与设计语言aadl模型的仿真方法 | |
CN103473389B (zh) | 一种应用于hla分布式仿真技术的通用模型 | |
CN206133556U (zh) | 用于教学实验的计算机中央处理器 | |
LU501679B1 (en) | Truetime2.0-based simulation modeling method for aero-engine distributed control system | |
Buschhoff et al. | A unified approach for online and offline estimation of sensor platform energy consumption | |
CN106647542A (zh) | 基于dds的多路时序控制装置 | |
CN113706094B (zh) | 一种基于消息总线的综合能源实时协同仿真系统及方法 | |
Karner et al. | Heterogeneous co-simulation platform for the efficient analysis of FlexRay-based automotive distributed embedded systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191119 |
|
RJ01 | Rejection of invention patent application after publication |