主要内容

PLC编码器:优化

优化概述

选择代码生成优化设置。

另请参阅

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

默认参数的行为

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

描述

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

类别:优化

设置

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

内联

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

可调

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

提示

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

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

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

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

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

  • 如果您的模型包含环境控制器块,如果您设置了,您可以禁止为连接到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”

另请参阅

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