主要内容

通过消除本地数据存储块来提高模型的可读性

您可以使用Model Transformer工具通过替换来提高模型的可读性数据存储内存数据存储读取,数据存储写块与直接信号线,a延迟块,或合并块。对于总线信号,该工具还可能添加公共汽车创造者或者总线选择器块作为替换的一部分。替换这些块通过制作数据依赖性显式来提高模型可读性。模型变换器创建具有这些替换的模型。新模型具有与现有模型相同的功能。

模型变压器可以替换这些数据存储:

  • 对于非总线的信号,如果a数据存储读取块在数据存储写块,工具将这些块替换为延迟块。

  • 对于非总线的信号,如果a数据存储写块在数据存储读取块,该工具用直接连接替换这些块。

  • 对于总线信号,如果写入总线元素在读取总线之前执行,则该工具将替换数据存储读取数据存储写块与直接连接和总线创建器块。

  • 对于总线信号,如果写入总线在读取总线元素之前执行,则该工具将替换数据存储读取数据存储写块与直接连接和一个总线选择器块。

  • 对于有条件执行的子系统,该工具将替换数据存储读取数据存储写块与直接连接和一个合并块。对于读/写对跨越如果子系统边界和写入块位于子系统内,该工具也可以添加else子系统块。

Model Transformer工具只消除本地数据存储数据存储内存块定义。该工具不消除全局数据存储。为数据存储内存块,信号的属性选项卡中的块参数对话框中,必须清除数据存储名称必须解析为Simulink信号对象金宝app参数。

示例模型

该模型ex_data_store_elimination包含两个本地数据存储:B一个.对数据存储B,有两个数据存储读取块和一个数据存储写块。对数据存储一个,有一个数据存储写块和一个数据存储读取块。红色的数字表示排序后的执行顺序。

替换数据存储块

识别符合替换条件的数据存储块。然后,创建一个模型,用直接的信号线代替这些块,延迟块,或合并块。

  1. 打开模型ex_data_store_elimination.在MATLAB®命令行输入:

    目录(fullfile (docroot,“工具箱”,“模型”,“示例”金宝app))ex_data_store_elimination

  2. 将模型保存到工作文件夹中。

  3. 应用程序选项卡上,单击模型变压器.或者,在MATLAB命令提示符中,输入以下命令:

    mdltransformer(“ex_data_store_elimination”)

  4. 在里面转换文件夹,选择消除数据存储块检查。

  5. 在里面重构模型的前缀字段,为重构模型指定前缀。

  6. 单击运行这个检查按钮。顶部结果表包含到的超链接数据存储内存块和相应的数据存储读取数据存储写有资格被淘汰的区块。

  7. 单击重构模型按钮。底部结果表包含到新模型的超链接。该工具创建一个m2m_ex_data_store_replacement文件夹中。此文件夹包含gen_ex_data_store_replacement.slx模型。

用于本地数据存储一个gen_ex_bus_struct_in_code.slx的位置包含一个Delay块数据存储写块与信号直接连接的地方数据存储读取块。用于本地数据存储Bgen_ex_bus_struct_in_code.slx的直接信号连接偏见Out2

限制

Model Transformer不替换满足以下条件的数据存储读写块:

  • 它们跨越有条件执行的子系统的界限,例如启用,触发或函数呼叫子系统和州流图表。

  • 它们不完成互斥的If-Action子系统分支。

  • 它们跨越了变体的边界。

  • 它们有多个输入或输出。

  • 它们访问数组的一部分。

  • 它们以不同的速度执行。

  • 它们位于库子系统的不同实例中,具有不同的相对执行顺序。

相关话题