主要内容

PLC编码器:优化

优化概述

选择代码生成优化设置。

另见

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

默认参数行为

将数字块参数转换为生成代码中的常量内联值。此选项在上提供PLC代码生成>优化“配置参数”对话框中的窗格。

描述

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

类别:优化

设置

违约:可调对于GRT目标|内联对于ERT目标

内联

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

可调

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

提示

  • 无论你设定默认参数行为内联可调,创建参数数据对象以保留块参数的可调性。有关详细信息,请参阅在生成的代码中创建可调校准参数(金宝appSimulink编码器).

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

  • 当顶部模型使用参照模型时,或者如果一个模型被另一个模型参照时:

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

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

  • 如果您的模型包含环境控制员块中,如果设置默认参数行为内联分支不包含外部信号。

命令行信息

参数:可编程逻辑控制器
类型:一串
价值:“开”|“关”
违约:“开”

另见

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

信号存储复用

重用信号存储器。此选项在上提供PLC代码生成>优化“配置参数”对话框中的窗格。

设置

违约:在…上

在…上

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

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

提示

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

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

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

  • 如果要执行以下操作,请清除此选项:

    • 调试C-MEX S函数。

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

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

命令行信息

参数:可编程逻辑控制器
类型:一串
价值:“开”|“关”
违约:“开”

另见

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

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

启用代码删除以实现高效强制转换。此选项可在PLC代码生成>优化“配置参数”对话框中的窗格。

设置

违约:在…上

在…上

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

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

提示

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

命令行信息

参数:可编程逻辑控制器可编程效率成本
类型:一串
价值:“开”|“关”
违约:“开”

另见

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

生成可重用代码

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

此选项在上提供PLC代码生成>优化“配置参数”对话框中的窗格。

设置

违约:

在…上

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

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

提示

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

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

  • 尽管选择了此选项,但如果未看到子系统不同实例的可重用代码,则可以确定原因。要确定两个可重用子系统是否相同,代码生成器在内部使用校验和值。您可以比较子系统两个实例的校验和值,并调查它们不相同的原因卡尔。

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

命令行信息

参数:PLC_生成器可使用代码
类型:一串
价值:“开”|“关”
违约:“关”

另见

内联命名常量

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

此选项在上提供PLC代码生成>优化“配置参数”对话框中的窗格。

设置

违约:

在…上

名为常量的内联线。

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

命令行信息

参数:可编程逻辑控制器(PLC)
类型:一串
价值:“开”|“关”
违约:“关”

另见

重新使用MATLAB功能块变量

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

此选项在上提供PLC代码生成>优化“配置参数”对话框中的窗格。

设置

违约:

在…上

在适当的情况下生成重用MATLAB函数块变量的代码。

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

命令行信息

参数:PLC_ReuseMLFcnVariable
类型:一串
价值:“开”|“关”
违约:“关”

另见

循环展开阈值

指定为其生成for循环的最小信号或参数宽度。此选项在上提供PLC代码生成>优化“配置参数”对话框中的窗格。

设置

违约:5.

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

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

命令行信息

参数:可编程逻辑控制器
类型:一串
价值:任何有效值
违约:'5'

另见

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