PLC编码器:优化
优化概述
选择代码生成优化设置。
另请参阅
默认参数行为
在生成的代码中将数值块参数转换为常量内联值。上可用此选项PLC代码生成>优化窗格中的配置参数。
描述
在生成的代码中将数值块参数转换为常量内联值。
类别:优化
设置
默认值:可调
对于GRT目标|内联
ERT目标
-
内联
-
集默认参数行为来
内联
以减少全局RAM使用,并提高生成代码的效率。代码不分配内存来表示数值块参数,例如获得a的参数获得块。相反,代码内联这些块参数的文字数值。 -
可调
-
集默认参数行为来
可调
在生成的代码中启用数值块参数的可调性。代码表示使用存储类的数字块参数和变量汽车
,包括数值MATLAB®变量,作为全局参数结构的可调字段。
提示
你是否设置默认参数行为来
内联
或可调
,创建参数数据对象以保留块参数的可调性。有关更多信息,请参见在生成的代码中创建可调校准参数(万博1manbetx仿真软件编码器).当您从非基于ert的系统目标文件切换到基于ert的系统目标文件时,默认参数行为集
内联
默认情况下。的设置默认参数行为以后。当一个顶级模型使用了被引用的模型,或者一个模型被另一个模型引用:
必须设置所有引用的模型默认参数行为来
内联
如果顶级模特有默认参数行为设置为内联
.顶层模型可以指定默认参数行为作为
可调
或内联
.
如果您的模型包含环境控制器块,你可以抑制代码生成的分支连接到Sim端口,如果你设置默认参数行为来
内联
并且分支不包含外部信号。
命令行信息
参数:PLC_PLCEnableVarReuse |
类型:字符串 |
值:“上” |“关闭” |
默认值:“上” |
另请参阅
信号存储复用
复用信号存储器。上可用此选项PLC代码生成>优化窗格中的配置参数。
设置
默认值:在
- 在
-
重用分配来存储块输入和输出信号的内存缓冲区,减少实时程序的内存需求。
- 从
-
为每个块的输出分配一个单独的内存缓冲区。这种分配使得块输出具有全局性和唯一性,这在许多情况下显著增加了RAM和ROM的使用。
提示
命令行信息
参数:PLC_PLCEnableVarReuse |
类型:字符串 |
值:“上” |“关闭” |
默认值:“上” |
另请参阅
从浮点到整数转换中删除包装超出范围值的代码
为有效的类型转换启用代码删除。上可用此选项PLC代码生成>优化窗格中的配置参数。
设置
默认值:在
- 在
-
删除从浮点到整数转换的代码。
- 从
-
不删除从浮点到整数转换的代码。
提示
使用此参数优化代码生成。
命令行信息
参数:PLC_PLCEnableEfficientCast |
类型:字符串 |
值:“上” |“关闭” |
默认值:“上” |
另请参阅
生成可重用代码
使用这个选项,您可以为可重用子系统生成更好的可重用代码。例如,如果您的模型包含同一个子系统的多个实例,并且一些实例具有常量输入,默认情况下,生成的代码为每个实例包含单独的功能块。如果选择此选项,软件不考虑子系统的输入是否为常数,为多个实例生成一个功能块。
上可用此选项PLC代码生成>优化窗格中的配置参数。
设置
默认值:从
- 在
-
为可重用子系统生成更好的可重用代码。
- 从
-
恢复到默认行为。软件不是单个可重用的功能块,而是为可重用子系统的单个实例生成单独的功能块,因为它们的输入存在某些差异。
提示
如果您在为同一个子系统的多个实例生成的代码中发现多个功能块,请选择此选项。该软件可以更好地识别一个子系统的两个实例是否实际上相同,以及它是否可以将多个块组合成一个可重用的功能块。
如果子系统的不同实例具有不同的块参数值,则无法生成可重用代码。清除此选项或对所有实例使用相同的块参数。
尽管选择了这个选项,如果您没有看到子系统的不同实例的可重用代码,您可以确定原因。为了确定两个可重用子系统是否相同,代码生成器在内部使用校验和值。您可以比较一个子系统的两个实例的校验和值,并研究它们不相同的原因。
要获得您希望相同的两个实例的校验和值,请使用该函数
万博1manbetxSimulink.SubSystem.getChecksum
.如果校验和值不同,请研究校验和详细信息,以查看值不相同的原因。
命令行信息
参数:PLC_GenerateReusableCode |
类型:字符串 |
值:“上” |“关闭” |
默认值:“关闭” |
另请参阅
内联命名常量
使用此选项,可以控制全局命名常量的内联。默认情况下,生成的代码包含namedssMethodType
常数的内部状态或其他Simulink万博1manbetx®语义。如果选择此选项,软件将用其整数值替换已命名的常量。
上可用此选项PLC代码生成>优化窗格中的配置参数。
设置
默认值:从
- 在
-
内联命名常量。
- 从
-
恢复其默认行为,并在生成的代码中使用命名常量。
命令行信息
参数:PLC_InlineNamedConstant |
类型:字符串 |
值:“上” |“关闭” |
默认值:“关闭” |
另请参阅
重用MATLAB函数块变量
可以使用此选项在生成的代码中重用MATLAB函数块变量。
上可用此选项PLC代码生成>优化窗格中的配置参数。
设置
默认值:从
- 在
-
在适当的地方生成重用MATLAB函数块变量的代码。
- 从
-
返回其默认行为,并且不重用生成的代码中的变量。
命令行信息
参数:PLC_ReuseMLFcnVariable |
类型:字符串 |
值:“上” |“关闭” |
默认值:“关闭” |
另请参阅
使用函数块实例输出变量折叠临时变量
使用它来优化从可重用的Simulink子系统Stateflow生成的功能块的输出变量的代码万博1manbetx®通过删除不需要的临时变量赋值,来实现图表或MATLAB函数块。上可用此选项PLC代码生成>优化窗格中的配置参数。
设置
默认值:从
- 在
-
通过将临时变量折叠到单个表达式中,为函数块的输出变量生成优化代码。
- 从
-
生成的函数块实例输出变量代码使用临时变量赋值。
命令行信息
参数:PLC_FoldFBCallOutputVar |
类型:字符串 |
值:“上” |“关闭” |
默认值:“关闭” |
环路展开阈值
指定生成for循环的最小信号或参数宽度。上可用此选项PLC代码生成>优化窗格中的配置参数。
设置
默认值:5
类型开始使用的数组大小为
循环,而不是单独的赋值语句,为信号或参数数组的元素赋值。
当循环是完全嵌套的循环时,代码生成器使用为
如果完美循环巢中所有循环的乘积大于或等于此阈值,则为循环。
命令行信息
参数:PLC_RollThreshold |
类型:字符串 |
值:任何有效值 |
默认值:“5” |