# toto **Repository Path**: skyzl/toto ## Basic Information - **Project Name**: toto - **Description**: 用于 MBD 开发 AutoSAR , simulink 辅助工具 toto 为开源免费 toto pro 为商业版,增加单元测试,文档导出等功能 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 25 - **Created**: 2021-07-01 - **Last Updated**: 2021-07-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # toto 工具箱 > toto pro 工具在本项目 [toto_pro](https://gitee.com/qq353838430/toto/tree/toto_pro/) 分支上 ,该工具为商业版 - [toto 工具箱](#toto-工具箱) - [1. 安装说明](#1-安装说明) - [2. 使用说明](#2-使用说明) - [2.1 ERT](#21-ert) - [2.2 AutoSAR](#22-autosar) - [2.3 隐藏模块名称](#23-隐藏模块名称) - [2.4 隐藏端口名称](#24-隐藏端口名称) - [2.5 显示模块名称](#25-显示模块名称) - [2.6 显示端口名称](#26-显示端口名称) - [2.7 SF变量类型定义](#27-sf变量类型定义) - [2.8 添加信号线变量](#28-添加信号线变量) - [2.9 勾选resolve](#29-勾选resolve) - [2.10 勾选信号广播](#210-勾选信号广播) - [2.11 端口重命名](#211-端口重命名) - [2.12 清除resolve](#212-清除resolve) - [2.13 清除信号广播](#213-清除信号广播) - [2.14 p文件生成](#214-p文件生成) - [2.15 修改端口属性](#215-修改端口属性) - [2.16 恢复端口属性](#216-恢复端口属性) - [2.17 信号线重命名](#217-信号线重命名) - [2.18 变量列表](#218-变量列表) - [2.19 修改变量](#219-修改变量) - [2.20 SF变量类型自动](#220-sf变量类型自动) 版本| 内容| 修改时间| 修改人 ----|---|--------|-------- 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. 按照下图指示进行安装 ![输入图片说明](https://gitee.com/uploads/images/2017/1124/222801_02612f42_1424277.png "深度截图_选择区域_20171124222641.png") 2. 安装完成后出现如下图标,点开即可使用 ![输入图片说明](https://gitee.com/uploads/images/2017/1124/222828_3c7d4b6a_1424277.png "深度截图_选择区域_20171124222737.png") ## 2. 使用说明 toto工具需要在**打开模型**时才能作为辅助工具进行使用,下图为工具界面概览 ![输入图片说明](https://gitee.com/uploads/images/2017/1124/222919_c6a6648e_1424277.png "深度截图_选择区域_20171124222856.png") ### 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. 原模型 ![输入图片说明](https://gitee.com/uploads/images/2017/1124/223331_0d412512_1424277.png "深度截图_选择区域_20171124223313.png") 2. 点击添加信号线变量后 ![输入图片说明](https://gitee.com/uploads/images/2017/1124/223442_14c69f68_1424277.png "深度截图_选择区域_20171124223426.png") 命名规范表格: 后缀| 数据类型 ----|------------- _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](http://p6ij1j575.bkt.clouddn.com/%E6%95%B0%E6%8D%AE%E5%AD%97%E5%85%B8%E8%BD%ACExcel.PNG) 注意,如果使用WPS,则需要开启wps表格的宏定义,并将matlab中的Excel link添加到宏定义中,相关教程如下: - [Excel 安装 Excel link][ExcelLink] - [Wps 安装 Excel link][WpsLink] ### 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]`。 -------------------------------------- [ExcelLink]:https://blog.csdn.net/zhangkaihang/article/details/7519783 [WpsLink]:https://blog.csdn.net/u011511601/article/details/64921268