CN104091006A - Simulink中自适应的仿真和代码生成的控制方法 - Google Patents

Simulink中自适应的仿真和代码生成的控制方法 Download PDF

Info

Publication number
CN104091006A
CN104091006A CN201410306518.8A CN201410306518A CN104091006A CN 104091006 A CN104091006 A CN 104091006A CN 201410306518 A CN201410306518 A CN 201410306518A CN 104091006 A CN104091006 A CN 104091006A
Authority
CN
China
Prior art keywords
parameter
function
simulink
data type
type
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.)
Granted
Application number
CN201410306518.8A
Other languages
English (en)
Other versions
CN104091006B (zh
Inventor
褚全红
方成
张维彪
范燕朝
吴飚
胡勇
郭佳旭
杨凤秋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China North Engine Research Institute Tianjin
Original Assignee
China North Engine Research Institute Tianjin
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China North Engine Research Institute Tianjin filed Critical China North Engine Research Institute Tianjin
Priority to CN201410306518.8A priority Critical patent/CN104091006B/zh
Publication of CN104091006A publication Critical patent/CN104091006A/zh
Application granted granted Critical
Publication of CN104091006B publication Critical patent/CN104091006B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及一种Simulink中自适应的仿真和代码生成的控制方法,1)在MATLAB/Simulink中创建Simulink.Parameter类型或类似类型的参数;2)编写S函数;3)在Simulink模型文件中,创建S函数模块,将所述S函数链接至该模块;4)通过GUI工具,在该工具中输入所述参数的名称,该工具自动读取所述S函数所需的各项参数信息并设置S函数模块的参数;5)编写TLC文件,所述TLC文件读取所述S函数的参数信息,以及其他与所述S函数相关的信息,根据数据类型的编号确定参数的数据类型,可以生成不同的指定格式的自定义代码。本发明大大提高建模和生成代码的效率,具有很强的实用性。

Description

Simulink中自适应的仿真和代码生成的控制方法
技术领域
 本发明涉及汽车电子嵌入式系统开发领域,特别涉及基于MATLAB/Simulink的自动代码生成,具体涉及一种Simulink中自定义模块的数据类型自适应的仿真和代码生成的控制方法。
背景技术
在汽车电子领域,嵌入式系统的应用越来越广泛,它们大都使用微处理器作为控制核心。采用基于模型的V 型开发方式可以实现对控制器模型的建模仿真、快速原型、自动代码生成、硬件在环仿真和系统应用。MATLAB/Simulink是当今普遍使用的建模仿真和自动代码生成工具,可以完成整个建模仿真、快速原型和自动代码生成的过程。Simulink提供了大量的内置模块用于建模和代码生成,但是这些模块并不能完全满足建模和代码生成的需要,因此需要创建自定义模块。
对于汽车电子的嵌入式系统,其常量、变量和标定变量的数据类型可以是无符号整型、有符号整型和浮点型。与之相对应,Simulink模型中的参数和信号的数据类型需要支持任意属性的定点类型和浮点类型。但是自定义模块无法通过读取定点类型的参数得到该参数的定点类型属性,这会导致自定义模块使用错误的数据类型输出通过该参数计算的结果,使模块的输出错误的结果。通过为每种不同属性的定点类型参数编写特定的自定义模块虽然可以解决该问题,但是会耗费极大的系统开发时间,并且当参数的定点类型属性发生改变时,需要更换所有与之相关的自定义模块,导致建模过程非常繁琐,不能满足建模和代码生成的需要。
发明内容
本发明的目的是提供一种普遍适用于各种数据类型的Simulink中自适应的仿真和代码生成的控制方法。
本发明采用的技术方案:
一种Simulink中自适应的仿真和代码生成的控制方法,
1)在MATLAB/Simulink中创建Simulink.Parameter类型或类似类型的参数,该参数使用内置数据类型或者自定义的Simulink.NumericType或Simulink.AliasType类型的数据类型;
2)编写S函数,该S函数的参数至少包括所述Simulink.Parameter类型或类似类型的参数、所述参数的数据类型名称、所述参数的数据类型编号,该S函数根据数据类型名称可以确定参数的数据类型,所述S函数在输出仿真结果时根据参数的数据类型读取参数的数值,并计算输出,将输出的数值按照输出的数据类型进行转换,输出正确的数值结果;
3)在Simulink模型文件中,创建S函数模块,将所述S函数链接至该模块;
4)通过GUI工具,在该工具中输入所述参数的名称,该工具自动读取所述S函数所需的各项参数信息并设置S函数模块的参数;
5)编写TLC文件,该TLC文件的名称与所述S函数的名称相同,在生成代码时,所述TLC文件读取所述S函数的参数信息,以及其他与所述S函数相关的信息,根据数据类型的编号确定参数的数据类型,可以生成不同的指定格式的自定义代码。
本发明与现有技术相比其有益效果是:1、自定义模块可以自动识别任意数据类型的参数的数据类型,并输出正确的仿真结果,不需要为每种不同的数据类型创建不同的自定义模块,大大节约系统开发时间;2、参数的数据类型发生改变时,无需更换自定义模块,无需修改模型,提高建模仿真效率;3、自动根据参数的数据类型生成所需的指定格式的自定义代码,无需手动修改代码,提高代码生成效率;4、通过GUI工具提供的优化界面,能够根据用户操作自动读取参数属性信息,并自动设置自定义模块的参数,操作方便,显示直观,效率高;本发明由于使用了数据类型自适应的仿真和代码生成控制方法,可以大大提高建模和生成代码的效率,具有很强的实用性,可以广泛地应用于各种仿真模型和嵌入式系统中。
附图说明
图1为本发明的结构流程图。
具体实施方式
    下面结合附图和实施例对本发明进行详细的描述。
    如图1所示,一种Simulink中自适应的仿真和代码生成的控制方法,
1)在MATLAB/Simulink中创建Simulink.Parameter类型或类似类型的参数,该参数使用内置数据类型或者自定义的Simulink.NumericType或Simulink.AliasType类型的数据类型;
2)编写S函数,该S函数的参数至少包括所述Simulink.Parameter类型或类似类型的参数、所述参数的数据类型名称、所述参数的数据类型编号,该S函数根据数据类型名称可以确定参数的数据类型,所述S函数在输出仿真结果时根据参数的数据类型读取参数的数值,并计算输出,将输出的数值按照输出的数据类型进行转换,输出正确的数值结果;
3)在Simulink模型文件中,创建S函数模块,将所述S函数链接至该模块;
4)通过GUI工具,在该工具中输入所述参数的名称,该工具自动读取所述S函数所需的各项参数信息并设置S函数模块的参数;
5)编写TLC文件,该TLC文件的名称与所述S函数的名称相同,在生成代码时,所述TLC文件读取所述S函数的参数信息,以及其他与所述S函数相关的信息,根据数据类型的编号确定参数的数据类型,可以生成不同的指定格式的自定义代码。
具体内容如下 :一种Simulink模型中数据类型自适应的仿真和代码生成的控制方法,其在MATLAB/Simulink中创建Simulink.Parameter类型或类似类型的参数,该参数的属性至少包括数值、数据类型;所述数据类型使用MATLAB内置的数据类型或者自定义的Simulink.NumericType或Simulink.AliasType类型的数据类型,所述数据类型可以为任意定点类型或浮点类型;编写S函数,该S函数的参数至少包括所述Simulink.Parameter类型或类似类型的参数、所述参数的数据类型的名称、所述参数的数据类型的编号;所述S函数根据所述数据类型的名称,确定所述数据类型的属性,并在Simulink中注册所述数据类型;在Simulink模型文件中,创建S函数模块,将所述S函数链接至该S函数模块,使该S函数模块可以运行所述S函数;通过GUI工具,在该工具中输入所述参数名称,该工具能够自动读取所述参数的各项属性,如参数名称、数据类型名称、数据类型编号,并自动设置S函数模块的各项参数;编写TLC文件,该TLC文件的名称必须与S函数的名称相同;在Simulink模型进行仿真运算的过程中,所述S函数在输出仿真结果时,根据所述参数的数据类型读取参数的数值,并计算输出,根据输出的数据类型,将该输出的数值按照输出的数据类型的进行转换,可以输出正确的数值结果;在生成代码时,所述TLC文件读取所述S函数的参数信息,根据数据类型的编号确定参数的数据类型;所述TLC文件根据参数的数据类型,以及其他与所述S函数相关的信息,如S函数输入的信息、输出的信息,可以生成不同的指定格式的自定义代码。

Claims (1)

1. 一种Simulink中自适应的仿真和代码生成的控制方法,其特征是:
1)在MATLAB/Simulink中创建Simulink.Parameter类型或类似类型的参数,该参数使用内置数据类型或者自定义的Simulink.NumericType或Simulink.AliasType类型的数据类型;
2)编写S函数,该S函数的参数至少包括所述Simulink.Parameter类型或类似类型的参数、所述参数的数据类型名称、所述参数的数据类型编号,该S函数根据数据类型名称可以确定参数的数据类型,所述S函数在输出仿真结果时根据参数的数据类型读取参数的数值,并计算输出,将输出的数值按照输出的数据类型进行转换,输出正确的数值结果;
3)在Simulink模型文件中,创建S函数模块,将所述S函数链接至该模块;
4)通过GUI工具,在该工具中输入所述参数的名称,该工具自动读取所述S函数所需的各项参数信息并设置S函数模块的参数;
5)编写TLC文件,该TLC文件的名称与所述S函数的名称相同,在生成代码时,所述TLC文件读取所述S函数的参数信息,以及其他与所述S函数相关的信息,根据数据类型的编号确定参数的数据类型,可以生成不同的指定格式的自定义代码。
CN201410306518.8A 2014-07-01 2014-07-01 Simulink中自适应的仿真和代码生成的控制方法 Active CN104091006B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410306518.8A CN104091006B (zh) 2014-07-01 2014-07-01 Simulink中自适应的仿真和代码生成的控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410306518.8A CN104091006B (zh) 2014-07-01 2014-07-01 Simulink中自适应的仿真和代码生成的控制方法

Publications (2)

Publication Number Publication Date
CN104091006A true CN104091006A (zh) 2014-10-08
CN104091006B CN104091006B (zh) 2020-05-26

Family

ID=51638722

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410306518.8A Active CN104091006B (zh) 2014-07-01 2014-07-01 Simulink中自适应的仿真和代码生成的控制方法

Country Status (1)

Country Link
CN (1) CN104091006B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461569A (zh) * 2014-12-26 2015-03-25 东南大学 一种基于matlab的c/c++程序生成辅助方法
CN106649077A (zh) * 2015-11-02 2017-05-10 中国船舶工业系统工程研究院 一种自动生成tps的方法
CN106933582A (zh) * 2017-03-03 2017-07-07 浙江仕善汽车科技股份有限公司 一种提高汽车控制器开发软件代码执行效率的方法
CN110298062A (zh) * 2019-05-08 2019-10-01 北京灵思创奇科技有限公司 一种Simulink的自动布局方法
CN111880796A (zh) * 2020-07-30 2020-11-03 西安微电子技术研究所 一种多核模型架构实现方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1610905A (zh) * 2001-12-28 2005-04-27 汤姆森许可贸易公司 针对数据类型依赖处理、自动检测数据类型的方法和装置
US20090070736A1 (en) * 2004-08-17 2009-03-12 Rogers Steven W Configuring Variables
CN102436187A (zh) * 2010-11-26 2012-05-02 北京航空航天大学 一种基于电动静液作动系统的多学科建模方法
CN103135989A (zh) * 2013-03-11 2013-06-05 北京经纬恒润科技有限公司 一种回调函数代码生成方法及装置
US8627272B1 (en) * 2001-10-25 2014-01-07 The Mathworks, Inc. Traceability in a modeling environment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8627272B1 (en) * 2001-10-25 2014-01-07 The Mathworks, Inc. Traceability in a modeling environment
CN1610905A (zh) * 2001-12-28 2005-04-27 汤姆森许可贸易公司 针对数据类型依赖处理、自动检测数据类型的方法和装置
US20090070736A1 (en) * 2004-08-17 2009-03-12 Rogers Steven W Configuring Variables
CN102436187A (zh) * 2010-11-26 2012-05-02 北京航空航天大学 一种基于电动静液作动系统的多学科建模方法
CN103135989A (zh) * 2013-03-11 2013-06-05 北京经纬恒润科技有限公司 一种回调函数代码生成方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
于少伟: "智能车辆控制SIMULINK仿真中自定义模块的创建", 《山东交通科技》 *
刘耀锋 等: "基于RTW的C代码生成及其在汽车ECU开发中的应用", 《机电一体化》 *
宏: "《MATLAB 6.5及其在信号处理中的应用》", 31 October 2004, 清华大学出版社 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461569A (zh) * 2014-12-26 2015-03-25 东南大学 一种基于matlab的c/c++程序生成辅助方法
CN104461569B (zh) * 2014-12-26 2018-02-27 东南大学 一种基于matlab的c/c++程序生成辅助方法
CN106649077A (zh) * 2015-11-02 2017-05-10 中国船舶工业系统工程研究院 一种自动生成tps的方法
CN106933582A (zh) * 2017-03-03 2017-07-07 浙江仕善汽车科技股份有限公司 一种提高汽车控制器开发软件代码执行效率的方法
CN110298062A (zh) * 2019-05-08 2019-10-01 北京灵思创奇科技有限公司 一种Simulink的自动布局方法
CN110298062B (zh) * 2019-05-08 2022-09-20 北京灵思创奇科技有限公司 一种Simulink的自动布局方法
CN111880796A (zh) * 2020-07-30 2020-11-03 西安微电子技术研究所 一种多核模型架构实现方法及系统
CN111880796B (zh) * 2020-07-30 2023-03-14 西安微电子技术研究所 一种多核模型架构实现方法及系统

Also Published As

Publication number Publication date
CN104091006B (zh) 2020-05-26

Similar Documents

Publication Publication Date Title
CN104091006A (zh) Simulink中自适应的仿真和代码生成的控制方法
CN103838672A (zh) 一种通用报表的自动化测试方法及装置
CN104536400B (zh) 核电站dcs仿真建模方法
CN103440357A (zh) 虚拟现实漫游场景生成方法及系统
CN106095376B (zh) 一种快速组态监控画面的实现方法
DE60128895D1 (de) Methode und schema zum anwenden von xml schemata
CN103309659A (zh) 基于富客户端的用户界面动态生成方法及其生成装置
CN103353902A (zh) 一种电力系统二次设备仿真模型构建方法
CN104050333A (zh) 航空电子系统分布式实时综合仿真系统
CN105653255A (zh) 一种在office框架中设置报告模板以自动生成报告文件的方法
CN109558380B (zh) 用于处理工业自动化环境中的工程对象的方法和系统
CN102521551B (zh) 一种实现ic卡个人化发行装置及方法
CN105095568A (zh) 一种用于大型风机的快速建模方法
CN106558346A (zh) 一种基于raim构架的固态硬盘寿命计算的方法及装置
KR100404065B1 (ko) Emi 시뮬레이션용 반도체 집적 회로 전원 모델의 작성 방법 및 장치
CN106776275B (zh) 一种基于分组复用的测试流程自动生成方法
CN105260266A (zh) 一种快照卷写方法及依赖快照系统
CN101609614A (zh) 一种半实物仿真系统的仿真平台及对目标系统进行在线调参的方法
JP2010257459A (ja) プリント回路基板の設計仕様をシミュレーションするシステム及びその方法
CN103970967A (zh) 一种电力系统电磁暂态仿真分析系统
CN207882748U (zh) 一种系统i-o模拟装置
CN104281604A (zh) 生成Targetlink数据字典分层树的方法和系统
CN104750535B (zh) NAND Flash仿真控制器及控制调试方法
CN102800115A (zh) 一种基于模型的动画制作系统及其制作方法
CN105635491A (zh) 震感调节方法、系统及电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant