主要内容

PLC编码器:优化

优化概述

选择代码生成优化设置。

另请参阅

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

默认参数行为

在生成的代码中将数值块参数转换为常量内联值。上可用此选项PLC代码生成>优化窗格中的配置参数。

描述

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

类别:优化

设置

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

内联

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

可调

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

提示

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

  • 当您从非基于ert的系统目标文件切换到基于ert的系统目标文件时,默认参数行为内联默认情况下。的设置默认参数行为以后。

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

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

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

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

命令行信息

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

另请参阅

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

信号存储复用

复用信号存储器。上可用此选项PLC代码生成>优化窗格中的配置参数。

设置

默认值:

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

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

提示

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

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

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

  • 清除此选项如果您想:

    • 调试C-MEX s函数。

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

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

命令行信息

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

另请参阅

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

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

为有效的类型转换启用代码删除。上可用此选项PLC代码生成>优化窗格中的配置参数。

设置

默认值:

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

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

提示

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

命令行信息

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

另请参阅

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

生成可重用代码

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

上可用此选项PLC代码生成>优化窗格中的配置参数。

设置

默认值:

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

恢复到默认行为。软件不是单个可重用的功能块,而是为可重用子系统的单个实例生成单独的功能块,因为它们的输入存在某些差异。

提示

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

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

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

    要获得您希望相同的两个实例的校验和值,请使用该函数金宝appSimulink.SubSystem.getChecksum.如果校验和值不同,请研究校验和详细信息,以查看值不相同的原因。

命令行信息

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

另请参阅

内联命名常量

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

上可用此选项PLC代码生成>优化窗格中的配置参数。

设置

默认值:

内联命名常量。

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

命令行信息

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

另请参阅

重用MATLAB函数块变量

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

上可用此选项PLC代码生成>优化窗格中的配置参数。

设置

默认值:

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

返回其默认行为,并且不重用生成的代码中的变量。

命令行信息

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

另请参阅

环路展开阈值

指定生成for循环的最小信号或参数宽度。上可用此选项PLC代码生成>优化窗格中的配置参数。

设置

默认值:5

类型开始使用的数组大小循环,而不是单独的赋值语句,为信号或参数数组的元素赋值。

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

命令行信息

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

另请参阅

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