Giter Club home page Giter Club logo

simulink_model_tools's Introduction

toto 工具箱

toto pro 工具在本项目 toto_pro 分支上 ,该工具为商业版

版本 内容 修改时间 修改人
0.1 创建文档 2017/9/12 姜世博
0.2 适配toto 0.2,增加自动修改stateflow中,变量数据类型功能 2017/9/18 姜世博
0.3 适配toto 0.3,修改模型配置,ERT和AutoSAR配置脚本升级为v0.9 2017/9/23 姜世博
0.4 适配toto 0.4,增加 修改端口属性 和 恢复端口属性两个功能 2017/9/25 姜世博
0.5 ERT和AutoSAR配置脚本升级为v0.9.3 2017/10/10 姜世博
0.6 适配ERT和AutoSAR配置脚本 v0.9.4,更改修改端口属性恢复端口属性两个按钮的策略,具体查看2.15 修改端口属性 2017/10/16 姜世博
0.7 适配ERT和AutoSAR配置脚本 v0.9.5; 修复修改端口属性功能bug,在检测到模型配置中采样模式设为连续时,将端口采样时间时间设为默认的-1; 增加信号线重命名功能,此功能会将端口的名字命名到连接端口的信号线上,具体查看2.17 信号线重命名 2017/10/25 姜世博
0.8 适配ERT和AutoSAR配置脚本 v0.9.6; 修复修改端口属性功能bug,当模型设为非连续采样,但采样时间设为auto时,此功能将端口采样时间设为默认的-1 2017/11/2 姜世博
0.9 增加变量列表,和修改变量两个功能,可以对模型关联的数据字典和 信号线、端口、Constant模块、查表模块进行批量式名称修改;还可以将当前模型关联的数据字典,相关变量数值和数据类型列到excel中进行管理和修改,当前版本仅支持普通一维变量和 最高2维的查表数据变量。具体功能描述查看本文相应章节 2017/11/21 姜世博
0.9.1 修改变量列表修改变量两个功能,适用于一个模型挂载多个数据字典的情况;增加SF变量类型自动功能,该功能将stateflow中的变量,数据类型设为[Inherit: Same as Simulink],即可以使用数据字典中的定义控制state flow中的变量 2017/11/24 姜世博
0.9.2 适配ERT和AutoSAR配置脚本 v0.9.7; 修改SF变量类型定义,修改为将所有state flow 中变量进行数据类型自动定义,原策略为不包括输入输出变量;修改变量列表修改变量两个功能,增加MyPkg类变量识别和修改,增加State flow 中变量识别和修改 2017/11/28 姜世博
0.9.3 适配AutoSAR配置 v0.9.7.1脚本 2017/12/1 姜世博
0.9.4 适配ERT和AutoSAR配置脚本 v0.9.8; 修改变量列表功能一些情况下出现的bug 2017/12/8 姜世博
0.9.5 适配ERT和AutoSAR配置脚本 v0.9.9 2017/12/19 姜世博
0.9.6 增加 修改变量信号线重命名端口重命名,三个功能 对Goto 和From模块的支持 2017/12/20 姜世博
0.9.7 适配ERT和AutoSAR配置脚本 V1.3 2018/11/3 姜世博

1. 安装说明

  1. 按照下图指示进行安装

输入图片说明

  1. 安装完成后出现如下图标,点开即可使用

输入图片说明

2. 使用说明

toto工具需要在打开模型时才能作为辅助工具进行使用,下图为工具界面概览

输入图片说明

2.1 ERT

将所打开的模型配置设为适合生成ERT(Embedded Coder)。

2.2 AutoSAR

将所打开的模型配置设为适合生成AutoSAR。

2.3 隐藏模块名称

隐藏如下模块的名称: MinMax,UnitDelay,Sqrt,Merge,Product,Logic,RelationalOperator,Switch,MultiPortSwitch,Goto,From,Terminator,ModelReference

2.4 隐藏端口名称

隐藏inport和outport输入输出模块的名称。

2.5 显示模块名称

显示可隐藏名称的模块的名字。

2.6 显示端口名称

显示inport和outport输入输出模块的名称。

2.7 SF变量类型定义

查找stateflow中所有定义的变量,如果为input/output,数据类型就设置为与simulink保持一致;如果为其它形式的变量,则会读取变量名字的末尾,并根据末尾定义成相应的数据类型,如果没有按照命名规范,则会定义成uint8的数据类型。

2.8 添加信号线变量

会根据信号线上的名字,在matlab workspace中添加相应数据类型的信号变量,自动添加的变量储存类型为Auto,如下为示例,需要注意信号线命名需要符合命名规范,末尾为数据类型简写才能实现此功能。

  1. 原模型

输入图片说明

  1. 点击添加信号线变量后

输入图片说明

命名规范表格:

后缀 数据类型
_u8 uint8
_u16 uint16
_u32 uint32
_f32 single
_f64 double
_s8 int8
_s16 int16
_s32 int32
_bl boolean

2.9 勾选resolve

在有名字的信号线上勾选Signal name must resolve to Simulink signal object选项。

2.10 勾选信号广播

勾选信号线Show propagated signals选项。

2.11 端口重命名

对于inport和outport模块,如果连接的信号线上定义了名字,则将这个端口模块重命名成信号线上定义的名字。

2.12 清除resolve

信号线上清除Signal name must resolve to Simulink signal object选项的勾选。

2.13 清除信号广播

清除信号线Show propagated signals选项的勾选。

2.14 p文件生成

将当前工作目录下(不包括子目录),所有.m的脚本文件生成一份.p文件的副本。

2.15 修改端口属性

根据端口所连接的信号线上,定义的信号名称,读取该名称末尾数据类型的定义,并根据所读到的数据类型,将inport 和outport端口的 数据维度,数据类型,数据范围,采样时间属性进行修改。仅更改模型root层的输入和输出端口属性,不对子系统进行修改,在遇到线上没有数据类型端口,不进行数据类型改写,当线上没有数据类型时,检测端口是否已经定义数据类型,如定义则根据所 定义的数据类型自动补全数据范围等其它属性

2.16 恢复端口属性

将inport和outport端口的数据维度,数据类型,数据范围,采样时间属性设置为默认选项。

2.17 信号线重命名

将连接输入输出端口的信号线,重命名成端口的名称,忽略掉已经勾选了信号广播的信号线。

2.18 变量列表

把数据字典和模型一些信息转成Excel表格,创建[model name]_list.xlsx的表格

  • 将当前模型所关联的数据字典中,所有变量名称 和 所关联的数据字典名称,写入名为dict的工作表中。
  • 将当前模型信号线上定义的名字,且该名字没有在数据字典中进行定义,写入only_line工作表中。
  • 将当前模型所有普通一维变量的名称,源数据字典,数据类型,数值,放入simu_parameter工作表中。
  • 将当前模型所有查表变量(最高2维)的名称,源数据字典,数据类型,表格维度,数值,放入simu_table工作表中。
  • 将当前模型所有state flow 变量 名称,范围,数据类型,放入sf_parameter工作表中。

自动生成的Excel如下图所示: 2_18_001.jpg

注意,如果使用WPS,则需要开启wps表格的宏定义,并将matlab中的Excel link添加到宏定义中,相关教程如下:

2.19 修改变量

根据Excel表格中的信息对模型和数据字典进行修改

  • 读取当前工作目录下[model name]_list.xlsx文件
  • 并读取其中dict、only_line、simu_parameter、simu_table、sf_parameter 五个工作表,并根据表中的命名情况和数据赋值情况 进行对模型中相应的名称进行修改。
  • 需注意,修改支持 重命名 和 新添加变量,为了进行保护,不支持删除原数据字典中的变量,如若删除需要到数据字典界面进行操作。
  • 模型中可进行修改的模块包括:数据字典,信号线,输入输出端口,Constant模块,查表模块。
  • 注意,如果当前工作目录下没有[model name]_list.xlsx这个文件,或格式不正确,则运行此条命令会报错,此时需要使用变量列表按钮生成一份标准的变量列表后,才能使用此按键。

2.20 SF变量类型自动

读取当前模型state flow中变量,并将这些变量数据类型设为 [Inherit: Same as Simulink]


simulink_model_tools's People

Contributors

shibojiang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

simulink_model_tools's Issues

有没有可能增加mil测试工具

在excel里编写测试用例,测试用例里面有对应的时间,各输入变量值,期望的输出值,可以一次运行完所有模型的测试用例,并给出报告。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.