PLC编码器:优化

优化概述

选择代码生成优化设置。

另请参阅

从模型窗口生成结构化文本

默认参数的行为

在生成的代码中,将数值块参数转换为常量内联值。该选项在PLC的代码生成>优化窗格中的。

描述

在生成的代码中,将数值块参数转换为常量内联值。

类别:优化

设置

默认值:可调对于GRT目标|内联对ERT目标

内联

默认参数的行为内联以减少全局RAM的使用并提高生成代码的效率。代码不分配内存来表示数字块参数,例如获得参数的获得块。相反,代码内联了这些块参数的文字数值。

可调

默认参数的行为可调在生成的代码中启用数字块参数的可调性。代码表示使用存储类的数字块参数和变量汽车,包括数值MATLAB®变量,作为全局参数结构的可调字段。

提示

  • 你是否设置默认参数的行为内联可调,创建参数数据对象以保持块参数的可调性。有关更多信息,请参见在生成的代码中创建可调谐校准参数(万博1manbetx仿真软件编码器)。

  • 当你从一个不是基于ert的系统目标文件切换到一个基于ert的系统目标文件时,默认参数的行为内联默认情况下。但是,您可以更改的设置默认参数的行为以后。

  • 当一个顶级模型使用了引用模型,或者一个模型被另一个模型引用时:

    • 所有引用的模型必须设置默认参数的行为内联如果顶级模特有默认参数的行为设置为内联

    • 顶层模型可以指定默认参数的行为作为可调内联

  • 如果您的模型包含环境控制器块,如果您设置,则可以禁止为连接到Sim端口的分支生成代码默认参数的行为内联并且该分支不包含外部信号。

命令行信息

参数:PLC_PLCEnableVarReuse
类型:字符串
值:“上”|“关闭”
默认值:“上”

另请参阅

从模型窗口生成结构化文本

信号存储重用

复用信号的记忆。该选项在PLC的代码生成>优化窗格中的。

设置

默认值:

重用分配给存储块输入和输出信号的内存缓冲区,减少实时程序的内存需求。

为每个块的输出分配一个单独的内存缓冲区。这种分配使得块输出是全局的和唯一的,这在很多情况下显著增加了RAM和ROM的使用。

提示

  • 此选项仅适用于带有存储类的信号汽车

  • 信号存储重用只能发生在具有相同数据类型的信号之间。

  • 清除此选项会大大增加模拟大型模型所需的内存数量。

  • 清除此选项,如果你想:

    • 调试C-MEX的s函数。

    • 使用一个浮动范围或者一个显示块的浮动显示选择用于检查正在调试的模型中的信号的选项。

  • 如果您选择信号存储重用如果试图使用浮动作用域或浮动显示块来显示缓冲区已被重用的信号,则会打开一个错误对话框。

命令行信息

参数:PLC_PLCEnableVarReuse
类型:字符串
值:“上”|“关闭”
默认值:“上”

另请参阅

从模型窗口生成结构化文本

删除包装超出范围值的浮点到整型转换代码

启用代码删除以实现有效的类型转换。该选项在PLC的代码生成>优化窗格中的。

设置

默认值:

删除从浮点到整数转换的代码。

不删除从浮点到整数转换的代码。

提示

使用此参数优化代码生成。

命令行信息

参数:PLC_PLCEnableEfficientCast
类型:字符串
值:“上”|“关闭”
默认值:“上”

另请参阅

从模型窗口生成结构化文本

生成可重用的代码

使用此选项,您可以为可重用的子系统生成更好的可重用代码。例如,如果您的模型包含同一子系统的多个实例,并且某些实例具有常量输入,则默认情况下,生成的代码包含每个实例的独立功能块。如果选择此选项,软件将不考虑对子系统的输入是否为常量,并为多个实例生成一个功能块。

该选项在PLC的代码生成>优化窗格中的。

设置

默认值:

为可重用的子系统生成更好的可重用代码。

恢复到默认行为。与单个可重用功能块不同的是,由于输入的某些差异,软件会为可重用子系统的单个实例生成单独的功能块。

提示

  • 如果您在生成的代码中发现同一子系统的多个实例的多个函数块,请选择此选项。该软件能够更好地识别一个子系统的两个实例是否实际相同,以及是否可以将多个块组合成一个可重用的功能块。

  • 如果子系统的不同实例具有不同的块参数值,则无法生成可重用代码。清除此选项或对所有实例使用相同的块参数。

  • 尽管选择了这个选项,但是如果您没有看到子系统的不同实例的可重用代码,那么您可以确定原因。为了确定两个可重用子系统是否相同,代码生成器在内部使用校验和值。您可以比较一个子系统的两个实例的校验和值,并研究它们不相同的原因。

    要获得您希望相同的两个实例的校验和值,请使用该函数万博1manbetxSimulink.SubSystem.getChecksum.如果校验和值不同,请研究校验和的详细信息,以了解值不相同的原因。

命令行信息

参数:PLC_GenerateReusableCode
类型:字符串
值:“上”|“关闭”
默认值:“关闭”

另请参阅

内联命名常量

使用此选项,可以控制全局命名常量的内联。默认情况下,生成的代码包含namedssMethodType用于内部状态或其他Simulink的常量万博1manbetx®语义。如果选择此选项,软件将用其整数值替换命名常量。

该选项在PLC的代码生成>优化窗格中的。

设置

默认值:

内联命名常量。

恢复到默认行为,并在生成的代码中使用命名常量。

命令行信息

参数:PLC_InlineNamedConstant
类型:字符串
值:“上”|“关闭”
默认值:“关闭”

另请参阅

重用MATLAB功能块的变量

可以使用此选项在生成的代码中重用MATLAB函数块变量。

该选项在PLC的代码生成>优化窗格中的。

设置

默认值:

生成代码,在适当的地方重用MATLAB函数块变量。

恢复到默认行为,并且不会在生成的代码中重用变量。

命令行信息

参数:PLC_ReuseMLFcnVariable
类型:字符串
值:“上”|“关闭”
默认值:“关闭”

另请参阅

循环展开阈值

指定生成for循环的最小信号或参数宽度。该选项在PLC的代码生成>优化窗格中的。

设置

默认值:5

指定代码生成器开始使用的数组大小循环而不是单独的赋值语句来为信号或参数数组的元素赋值。

当循环是完美嵌套的循环时,代码生成器使用如果完美循环嵌套中所有循环的循环数乘积大于或等于该阈值,则执行循环。

命令行信息

参数:PLC_RollThreshold
类型:字符串
值:任何有效的价值
默认值:“5”

另请参阅

从模型窗口生成结构化文本