由 If 模块使能执行的子系统。

您所在的位置:网站首页 simulink怎么连线是虚线 由 If 模块使能执行的子系统。

由 If 模块使能执行的子系统。

2024-06-06 15:00| 来源: 网络整理| 查看: 265

If Action Subsystem

由 If 模块使能执行的子系统。

全页展开

库: Simulink / Ports & Subsystems

描述

If Action Subsystem 模块是经过预先配置的 Subsystem 模块,可以作为一个起点,用来创建由 If 模块控制执行的子系统。If 模块计算逻辑表达式,然后根据计算结果输出动作信号。子系统的执行由放置在子系统内部的 Action Port 模块控制。

Simulink® 会忽略对 If Action Subsystem 模块设置的优先级。在这种情况下,请对启动子系统执行的 If 模块设置优先级。

合并来自 If Action Subsystem 模块的信号

此示例说明如何合并由 If 模块控制的信号。有关详细信息,请参阅Select Subsystem Execution。

If 模块从一组子系统中选择 If Action Subsystem 模块的执行。无论 If 模块选择哪个子系统,您都可以用 Merge 模块创建一个输出信号。

If Action Subsystem 模块中的所有模块必须以与驱动 If 模块相同的速率执行。为满足此要求,请将每个模块的采样时间参数设置为继承 (-1) 或与 If 模块采样时间相同的值。

对定点数据类型的支持

If 模块不直接支持定点数据类型。但是,可以使用 Compare To Constant 模块解决此限制。有关详细信息,请参阅Fixed-Point Data Type Support for If Block。

示例Simulink 子系统语义

这组示例说明不同类型的 Simulink® 子系统,以及对这些子系统进行仿真时使用的语义。每个示例都提供了对模型的说明以及控制模型执行方式的诀窍。

打开模型If-Then-Else 模块

此示例说明将正弦波馈入 If Action Subsystem 模块的效果。它旨在说明 If Action Subsystem 模块和 Enabled Subsystem 模块之间的相似性。

打开模型Modeling Clutch Lock-Up Using If Blocks

Use If/Else subsystems to build a clutch model. An 'If' subsystem models the clutch dynamics in the locked position while an 'Else' subsystem models the unlocked position. One or the other is enabled using the 'If' block. The dot-dashed lines from the 'If' block denote control signals, which are used to enable If/Else (or other conditional) subsystems. Checking any of the boxes on the GUI produces a plot of any of the selected variables (versus time).

打开模型端口输入

全部展开

In — 子系统模块的信号输入 标量 | 向量 | 矩阵

在子系统模块中放置一个 Inport 模块会向该模块添加一个外部输入端口。端口标签与 Inport 模块的名称相匹配。

使用 Inport 模块可以从局部环境中获取信号。

数据类型: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus

Action — 控制子系统模块的信号输入 标量 | 向量 | 矩阵

子系统模块中的 Action Port 模块会向该模块添加一个外部输入端口并将该模块更改为 If Action Subsystem 模块。

注意

Action Port 模块在 Simulink 库浏览器中不可用。使用 If Action Subsystem 模块时,您只能从 If Action Subsystem 模块中访问 Action Port 模块。

从 If 模块到 If Action Subsystem 模块的点划线表示动作信号。动作信号是连接到 If Action Subsystem 模块的 Action 端口的控制信号。动作信号上的消息启动子系统的执行。

数据类型: action

输出

全部展开

Out — 子系统的信号输出 标量 | 向量 | 矩阵

在子系统模块中放置一个 Outport 模块会添加该模块的输出端口。子系统模块上的端口标签是 Outport 模块的名称。

使用 Outport 模块可以向局部环境发送信号。

数据类型: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus

参数

全部展开

要以交互方式编辑模块参数,请使用属性检查器。在 Simulink 工具条中,在仿真选项卡的准备库中,选择属性检查器。

常设显示端口标签 — 端口标签的显示选项 FromPortIcon (默认) | FromPortBlockName | SignalName

选择如何在 Subsystem 模块图标上显示端口标签。

无 - 不显示端口标签。

FromPortIcon - 如果对应的端口图标显示了信号名称,则在 Subsystem 模块上显示信号名称。否则,如果模块名称是默认名称,则显示端口模块名称或端口号。

FromPortBlockName - 在 Subsystem 模块上显示对应端口模块的名称。

SignalName - 如果连接到端口的信号已命名,则会在 Subsystem 模块上显示信号的名称。否则,显示相应端口模块的名称。

有关 Subsystem 模块上的端口标签编辑,请参阅Edit Port Labels on Subsystem Blocks。

编程用法

要以编程方式设置模块参数值,请使用 set_param 函数。

参数: ShowPortLabels值: 'FromPortIcon' (默认) | 'FromPortBlockName' | 'SignalName'读取/写入权限 — 子系统内容的访问级别 ReadWrite (默认) | ReadOnly | NoReadOrWrite

控制用户对子系统内容的访问。

ReadWrite - 允许打开和修改子系统内容。

ReadOnly - 允许打开但不允许修改子系统。如果子系统在模块库中,您可以创建和打开该子系统的链接,创建和修改子系统的本地副本,但不能更改权限或修改原始模块库实例的内容。

NoReadOrWrite - 禁止打开或修改子系统。如果子系统在模块库中,您可以在模型中创建该子系统的链接,但不能打开、修改、更改权限或创建子系统的本地副本。

如果您尝试查看其读取/写入权限参数设置为 NoReadOrWrite 的子系统的内容,将不会收到响应。例如,当您双击此类子系统时,软件不会打开该子系统,并且不显示任何消息。

编程用法

要以编程方式设置模块参数值,请使用 set_param 函数。

参数: Permissions值: 'ReadWrite' (默认) | 'ReadOnly' | 'NoReadOrWrite'错误回调函数的名称 — 发生错误时要调用的函数的名称 无默认值

输入软件执行子系统时,如果发生错误要调用的函数的名称。

该软件向函数传递两个参量:子系统的句柄以及指定错误类型的字符向量。如果未指定任何函数,当执行子系统导致错误时,软件将显示常规错误消息。

编程用法

要以编程方式设置模块参数值,请使用 set_param 函数。

参数: ErrorFcn值: '' (默认) | function name in quotes数据类型: char | string 允许层次解析 — 工作区变量名称解析 全部 (默认) | ExplicitOnly | 无

选择是否解析此子系统引用的工作区变量的名称。

有关详细信息,请参阅符号解析和符号解析过程。

全部 - 解析此子系统使用的所有工作区变量的名称,包括用来指定模块参数值和 Simulink 数据对象(例如,Simulink.Signal 对象)的工作区变量的名称。

ExplicitOnly - 只解析用来指定模块参数值、数据存储内存(不存在模块)、信号以及标有“must resolve”状态的工作区变量的名称。

无 - 不解析任何工作区变量名称。

编程用法

要以编程方式设置模块参数值,请使用 set_param 函数。

参数: PermitHierarchicalResolution值: 'All' (默认) | 'ExplicitOnly' | 'None'显示子系统重新初始化端口 — 显示重新初始化事件端口的选项 off (默认) | on

选中此参数可显示重新初始化事件端口。清除此参数可删除这些端口。

依存关系

要启用此参数,请选择视为原子单元。

编程用法

要以编程方式设置模块参数值,请使用 set_param 函数。

参数: ShowSubsystemReinitializePorts值: 'off' (默认) | 'on'代码生成

设置“代码生成”选项卡上的参数需要具有 Simulink Coder™ 或 Embedded Coder® 许可证。

函数打包 — 代码格式 自动 (默认) | 内联 | 不可重用函数 | 可重用函数

选择要为原子(非虚拟)子系统生成的代码格式。

自动 - 软件将根据模型中存在的子系统的类型和实例数为您选择最佳格式。

内联 - 软件无条件内联子系统。

不可重用函数 - 如果将文件名选项设置为自动,则软件会将单独函数打包到模型文件中。如果使用不同的文件名将文件名选项设置为使用子系统名称、使用函数名称或用户指定,则软件将单独函数分别打包到独立的文件中。

采用此设置的子系统生成的函数可能有参量,具体取决于 函数接口 参数设置。您可以使用参数 函数名称 和 文件名(无扩展名) 分别为生成的函数和文件命名。这些函数不可重入。

可重用函数 - 当模型中包含子系统的多个实例时,软件可以生成带参量的函数,该函数将允许重用子系统的代码。

此选项还可生成带参量的函数,允许在为模型引用层次结构(其中引用的模型包含子系统的多个实例)生成的代码中重用子系统代码。在这种情况下,子系统必须是模块库中的子系统。

有关详细信息,请参阅:

Generate Code and Executables for Individual Subsystems (Simulink Coder)

Generate Inlined Subsystem Code (Simulink Coder)

Generate Subsystem Code as Separate Function and Files (Simulink Coder)

Generate Reusable Code from Library Subsystems Shared Across Models (Simulink Coder)

提示

如果您希望子系统的多个实例表示为一个可重用函数,可以为每个子系统指定自动或可重用函数。最好是使用其中一个,因为使用两个将生成两个可重用函数,每个指定一个函数。仅当可以重用时,这些选项的结果才会有区别。选择自动则不允许控制子系统代码的函数或文件名。

可重用函数和自动选项都尝试确定是否存在子系统的多个实例,以及是否可以重用代码。者两个选项的行为区别体现在不能重用时:

自动生成内联代码,或者在禁止内联的情况下为每个子系统实例生成一个单独的函数。

可重用函数为模型中的每个子系统实例生成一个单独的参量函数。

如果您在生成的代码处于源代码管理状态下时选择了可重用函数,请将文件名选项设置为使用子系统名称、使用函数名称或用户指定。否则,只要您修改模型,代码文件的名称就会改变,从而无法对文件进行源代码管理。

如果您选择除自动或内联以外的选项,并且使用模型配置参数状态,则代码生成器会生成单独的输出和更新方法。代码生成器不考虑为代码生成和仿真合并输出和更新方法设定。

依存关系

此参数需要 Simulink Coder 许可证才能生成代码。

要启用此参数,请选择视为原子单元。

编程用法

要以编程方式设置模块参数值,请使用 set_param 函数。

参数: RTWSystemCode值: 'Auto' (默认) | 'Inline' | 'Nonreusable function' | 'Reusable function' 函数名称选项 — 如何命名生成的函数 自动 (默认) | 使用子系统名称 | 用户指定

选择软件如何命名它为子系统生成的函数。

如果您拥有 Embedded Coder 许可证,则可以使用“配置参数”对话框的代码生成 > 标识符窗格上的选项来控制函数名称。

自动 - 使用默认的命名约定 model_subsystem() 指定唯一的函数名称,其中 model 是模型的名称,subsystem 是子系统的名称,或者,在重用代码时,也可以是相同子系统的名称。

如果您为函数打包参数选择了可重用函数,而模型引用层次结构中存在可重用子系统的多个实例,则要为子系统生成可重用代码,必须将函数名称选项设置为自动。

使用子系统名称 - 使用子系统名称作为函数名称。默认情况下,函数名称使用命名约定 model_subsystem。

当子系统在模块库模块中而子系统参数 函数打包 设置为可重用函数时,如果您设置使用子系统名称选项,代码生成器将使用模块库模块的名称作为子系统函数名和文件名。

用户指定 - 启用函数名称字段。输入任何合法的 C 或 C++ 函数名,此名称必须唯一。

有关详细信息,请参阅Generate Subsystem Code as Separate Function and Files (Simulink Coder)。

依存关系

此参数要求具有 Simulink Coder 许可证。

要启用此参数,请将函数打包设置为不可重用函数或可重用函数。

编程用法

要以编程方式设置模块参数值,请使用 set_param 函数。

参数: RTWFcnNameOpts值: 'Auto' (默认) | 'Use subsystem name' | 'User specified' 函数名称 — 子系统代码的函数名称 无默认值

为子系统代码指定唯一的有效 C 或 C++ 函数名称。

如果您想为函数指定特定的名称,而不是让 Simulink Coder 代码生成器分配其自己自动生成的名称或者使用子系统名称,请使用此参数。有关详细信息,请参阅Generate Subsystem Code as Separate Function and Files (Simulink Coder)。

依存关系

此参数要求具有 Simulink Coder 许可证。

要启用此参数,请将函数名称选项设置为用户指定。

编程用法

要以编程方式设置模块参数值,请使用 set_param 函数。

参数: RTWFcnName值: '' (默认) | function name in quotes数据类型: char | string 文件名选项 — 如何命名生成的文件 自动 (默认) | 使用子系统名称 | 使用函数名称 | 用户指定

选择软件如何命名它为子系统生成的函数的单独文件。

自动 - 根据子系统的配置以及子系统在模型中的实例数,自动将生成不同的结果。

如果代码生成器不为子系统生成单独的文件,将在从子系统的父级系统生成的代码模块内生成子系统代码。如果子系统的父级就是模型本身,将在 model.c 或 model.cpp 内生成子系统代码。

如果您为函数打包参数选择了可重用函数,而您生成的代码处于源代码管理状态下,请不要将文件名选项值指定为自动。这样可以防止由于不相关的模型修改而更改生成的文件名,而在使用源代码管理来管理配置时,文件名的改变会产生问题。

如果您为函数打包参数选择了可重用函数,而模型引用层次结构中存在可重用子系统的多个实例,则要为子系统生成可重用代码,必须将文件名选项设置为自动。

使用子系统名称 - 代码生成器将生成一个单独的文件,并使用子系统(或模块库模块)名称作为文件名。

当文件名选项设置为使用子系统名称时,如果模型中包含 Model 模块,或者正在为模型生成模型引用目标,则子系统文件名将被破坏。在这些情况下,子系统的文件名由子系统名称加上模型名称前缀构成。

使用函数名称 - 代码生成器使用函数名称选项指定的函数名称作为文件名。

用户指定 - 此选项将启用文件名(无扩展名) 文本输入字段。代码生成器将使用您输入的名称作为文件名。可以输入任何文件名,但不要带 .c 或 .cpp(或任何其他)扩展名。此文件名不必是唯一的。

虽然子系统源文件名不需要唯一,但必须避免使用不唯一名称,否则会导致循环依存关系。例如,sys_a.h 包括 sys_b.h,sys_b.h 包括 sys_c.h,而 sys_c.h 包括 sys_a.h。

依存关系

此参数要求具有 Simulink Coder 许可证。

要启用此参数,请将函数打包设置为不可重用函数或可重用函数。

编程用法

要以编程方式设置模块参数值,请使用 set_param 函数。

参数: RTWFileNameOpts值: 'Auto' (默认) | 'Use subsystem name' | 'Use function name' | 'User specified' 文件名(无扩展名) — 所生成文件的名称 无默认值

您指定的文件名不必是唯一的。但是,避免使用非唯一名称,否则会导致循环依存关系。例如,sys_a.h 包括 sys_b.h,sys_b.h 包括 sys_c.h,而 sys_c.h 包括 sys_a.h。

有关详细信息,请参阅Generate Subsystem Code as Separate Function and Files (Simulink Coder)。

依存关系

此参数要求具有 Simulink Coder 许可证。

要启用此参数,请将文件名选项设置为用户指定。

编程用法

要以编程方式设置模块参数值,请使用 set_param 函数。

参数: RTWFileName值: '' (默认) | filename in quotes数据类型: char | string 函数接口 — 如何将参量与生成的函数结合使用 void_void (默认) | 允许参量(优化) | 允许参量(匹配图形接口)

选择如何在生成的函数中使用参量。

void_void - 生成不带参量的函数,并将数据作为全局变量进行传递。例如:

void subsystem_function(void)

允许参量(优化) - 生成带参量的函数,而不是将数据作为全局变量进行传递。此规范可以减少全局 RAM。此选项可以减小代码大小、提高执行速度,并支持代码生成器应用更多的优化。例如:

void subsystem_function(real_T rtu_In1, real_T rtu_In2, real_T *rty_Out1)

在某些情况下,当生成优化代码时,代码生成器可能不会生成具有参量的函数。

允许参量(匹配图形接口) - 生成一个函数接口,该接口与 Subsystem 图形模块接口匹配的参量。生成的函数接口是可预知的,并且不会更改。可预知的接口对于调试和测试代码以及与外部应用程序集成非常有用。例如,如果模型有两个 Inport 模块和两个 Outport 模块,则生成的函数接口是:

void subsystem_function(real_T rtu_In1, real_T rtu_In2, real_T *rty_Out1, real_T *rty_Out2)

有关详细信息,请参阅:

Reduce Global Variables in Nonreusable Subsystem Functions (Embedded Coder)

Generate Predictable Function Interface to Match Graphical Block Interface (Embedded Coder)

为非虚拟子系统生成模块化函数代码 (Embedded Coder)

依存关系

此参数需要 Embedded Coder 许可证和一个基于 ERT 的系统目标文件。

要启用此参数,请将函数打包设置为不可重用函数。

编程用法

要以编程方式设置模块参数值,请使用 set_param 函数。

参数: FunctionInterfaceSpec值: 'void_void' (默认) | 'Allow arguments (Optimized)' | 'Allow arguments (Match graphical interface)' 具有独立数据的函数 — 控制子系统的代码生成 off (默认) | on

生成其中原子子系统的内部数据与其父级模型分离且归子系统所有的子系统函数代码。

off - 不生成其中原子子系统的内部数据与其父级模型分离且归子系统所有的子系统函数代码。

on - 生成其中原子子系统的内部数据与其父级模型分离且归子系统所有的子系统函数代码。子系统数据结构的声明独立于父模型数据结构。带单独数据的子系统具有其自己的模块 I/O 和 DWork 数据结构。因此,为子系统生成的代码更容易跟踪和检验。数据分离还可以减小整个模型的全局数据结构的最大大小,因为它们被拆分成多个数据结构。

有关如何为原子子系统生成模块化函数代码的详细信息,请参阅为非虚拟子系统生成模块化函数代码 (Embedded Coder)。

有关如何对原子子系统应用内存段的详细信息,请参阅Override Default Memory Placement for Subsystem Functions and Data (Embedded Coder)。

依存关系

此参数需要 Embedded Coder 许可证和一个基于 ERT 的系统目标文件。

要启用此参数,请将函数打包设置为不可重用函数。

编程用法

要以编程方式设置模块参数值,请使用 set_param 函数。

参数: FunctionWithSeparateData值: 'off' (默认) | 'on' 用于初始化/终止函数的内存段 — 如何应用内存段 从模型继承 (默认) | 默认 | 感兴趣的内存段

选择软件如何将内存段应用于子系统初始化和终止函数。

从模型继承 - 将根模型内存段应用于子系统函数代码。

默认 - 不将内存段应用于子系统的系统代码,覆盖任何模型级的设置。

感兴趣的内存段 - 将其中一个模型内存段应用于子系统。

提示

可能的值根据您为模型配置设置的内存段数据包(如果有)而不同。请参阅Control Data and Function Placement in Memory by Inserting Pragmas (Embedded Coder)和模型配置参数:代码生成 (Simulink Coder)。

如果您没有为模型配置数据包,将只显示从模型继承。否则,列表中将包括默认以及模型包中的所有内存段。

这些选项对于为给定子系统覆盖模型内存段设置很有用。有关如何对原子子系统应用内存段的详细信息,请参阅Override Default Memory Placement for Subsystem Functions and Data (Embedded Coder)。

依存关系

此参数需要 Embedded Coder 许可证和一个基于 ERT 的系统目标文件。

要启用此参数,请将函数打包设置为不可重用函数或可重用函数。

编程用法

要以编程方式设置模块参数值,请使用 set_param 函数。

参数: RTWMemSecFuncInitTerm值: 'Inherit from model' (默认) | 'Default' | 'The memory section of interest' 用于执行函数的内存段 — 如何应用内存段 从模型继承 (默认) | 默认 | 感兴趣的内存段

选择 Embedded Coder 如何将内存段应用于子系统执行函数。

从模型继承 - 将根模型内存段应用于子系统函数代码。

默认 - 不将内存段应用于子系统的系统代码,覆盖任何模型级的设置。

感兴趣的内存段 - 将其中一个模型内存段应用于子系统。

提示

可能的值根据您为模型配置设置的内存段数据包(如果有)而不同。请参阅Control Data and Function Placement in Memory by Inserting Pragmas (Embedded Coder)和模型配置参数:代码生成 (Simulink Coder)。

如果您没有为模型配置数据包,将只显示从模型继承。否则,列表中将包括默认以及模型包中的所有内存段。

这些选项对于为给定子系统覆盖模型内存段设置很有用。有关如何对原子子系统应用内存段的详细信息,请参阅Override Default Memory Placement for Subsystem Functions and Data (Embedded Coder)。

依存关系

此参数需要 Embedded Coder 许可证和一个基于 ERT 的系统目标文件。

要启用此参数,请将函数打包设置为不可重用函数或可重用函数。

编程用法

要以编程方式设置模块参数值,请使用 set_param 函数。

参数: RTWMemSecFuncExecute值: 'Inherit from model' (默认) | 'Default' | 'The memory section of interest' 用于常量的内存段 — 如何应用内存段 从模型继承 (默认) | 默认 | 感兴趣的内存段

选择软件如何将内存段应用于子系统常量。

从模型继承 - 将根模型内存段应用于子系统数据。

默认 - 不要将内存段应用于子系统数据,将覆盖任何模型级的设置。

感兴趣的内存段 - 将其中一个模型内存段应用于子系统。

提示

您指定的内存段将应用于生成的代码中对应的全局数据结构。有关为原子子系统生成的全局数据结构的基本信息,请参阅Standard Data Structures (Simulink Coder)。

可能的值根据您为模型配置设置的内存段数据包(如果有)而不同。请参阅Control Data and Function Placement in Memory by Inserting Pragmas (Embedded Coder)。

如果您没有为模型配置数据包,将只显示从模型继承。否则,列表中将包括默认以及模型包中的所有内存段。

这些选项对于为给定子系统覆盖模型内存段设置很有用。有关如何对原子子系统应用内存段的详细信息,请参阅Override Default Memory Placement for Subsystem Functions and Data (Embedded Coder)。

依存关系

此参数需要 Embedded Coder 许可证和一个基于 ERT 的系统目标文件。

要启用此参数,请将函数打包设置为不可重用函数,然后选择具有独立数据的函数参数。

编程用法

要以编程方式设置模块参数值,请使用 set_param 函数。

参数: RTWMemSecDataConstants值: 'Inherit from model' (默认) | 'Default' | 'The memory section of interest' 用于内部数据的内存段 — 如何应用内存段 从模型继承 (默认) | 默认 | 感兴趣的内存段

选择软件如何将内存段应用于子系统内部数据。

从模型继承 - 将根模型内存段应用于子系统数据。

默认 - 不要将内存段应用于子系统数据,将覆盖任何模型级的设置。

感兴趣的内存段 - 将其中一个模型内存段应用于子系统。

提示

您指定的内存段将应用于生成的代码中对应的全局数据结构。有关为原子子系统生成的全局数据结构的基本信息,请参阅Standard Data Structures (Simulink Coder)。

可能的值根据您为模型配置设置的内存段数据包(如果有)而不同。请参阅Control Data and Function Placement in Memory by Inserting Pragmas (Embedded Coder)。

如果您没有为模型配置数据包,将只显示从模型继承。否则,列表中将包括默认以及模型包中的所有内存段。

这些选项对于为给定子系统覆盖模型内存段设置很有用。有关如何对原子子系统应用内存段的详细信息,请参阅Override Default Memory Placement for Subsystem Functions and Data (Embedded Coder)。

依存关系

此参数需要 Embedded Coder 许可证和一个基于 ERT 的系统目标文件。

要启用此参数,请将函数打包设置为不可重用函数,然后选择具有独立数据的函数参数。

编程用法

要以编程方式设置模块参数值,请使用 set_param 函数。

参数: RTWMemSecDataInternal值: 'Inherit from model' (默认) | 'Default' | 'The memory section of interest' 用于参数的内存段 — 如何应用内存段 从模型继承 (默认) | 默认 | 感兴趣的内存段

选择软件如何将内存段应用于子系统参数。

从模型继承 - 将根模型内存段应用于子系统函数代码。

默认 - 不将内存段应用于子系统的系统代码,覆盖任何模型级的设置。

感兴趣的内存段 - 将其中一个模型内存段应用于子系统。

提示

您指定的内存段将应用于生成的代码中对应的全局数据结构。有关为原子子系统生成的全局数据结构的基本信息,请参阅Standard Data Structures (Simulink Coder)。

可能的值根据您为模型配置设置的内存段数据包(如果有)而不同。请参阅Control Data and Function Placement in Memory by Inserting Pragmas (Embedded Coder)。

如果您没有为模型配置数据包,将只显示从模型继承。否则,列表中将包括默认以及模型包中的所有内存段。

这些选项对于为给定子系统覆盖模型内存段设置很有用。有关如何对原子子系统应用内存段的详细信息,请参阅Override Default Memory Placement for Subsystem Functions and Data (Embedded Coder)。

依存关系

此参数需要 Embedded Coder 许可证和一个基于 ERT 的系统目标文件。

要启用此参数,请将函数打包设置为不可重用函数,然后选择具有独立数据的函数参数。

编程用法

要以编程方式设置模块参数值,请使用 set_param 函数。

参数: RTWMemSecDataParameters值: 'Inherit from model' (默认) | 'Default' | 'The memory section of interest' 模块特性

数据类型

Booleana | busa | doublea | enumerateda | fixed pointa | halfa | imagea | integera | singlea | stringa

直接馈通

多维信号

是a

可变大小信号

是a

过零检测

a 实际支持的数据类型或功能取决于模块实施。

扩展功能C/C++ 代码生成 使用 Simulink® Coder™ 生成 C 代码和 C++ 代码。

实际代码生成支持取决于模块实现。

HDL 代码生成 使用 HDL Coder™ 为 FPGA 和 ASIC 设计生成 VHDL、Verilog 和 SystemVerilog 代码。

HDL Coder™ 提供影响 HDL 实现和综合逻辑的额外配置选项。

最佳做法

在针对 HDL 代码生成的模型中使用 If 执行子系统时,需要考虑以下几点:

为 If 执行子系统中的输出端口指定初始输出值。您可以使用以下方法之一初始化 Outport 模块的输出值:

为 Outport 模块的初始输出模块参数指定数值。

从连接到 Outport 模块的输入信号继承初始输出值。有关详细信息,请参阅条件子系统初始输出值。

对于 HDL 代码生成,Outport 模块用于设置初始输出值的有效输入信号包括:

来自另一个条件执行子系统的输出端口

Constant 模块

HDL 架构架构描述模块(默认值)为子系统和子系统内的模块生成代码。BlackBox

生成黑盒接口。生成的 HDL 代码仅包括子系统的输入/输出端口定义。因此,您可以在模型中使用子系统来生成与手动编写的现有 HDL 代码的接口。

子系统的黑盒接口生成类似于没有时钟信号的 Model 模块接口生成。

无 HDL

从生成的代码中删除子系统。您可以在仿真中使用子系统,但在 HDL 代码中将其视为“无操作”。

HDL 模块属性通用AdaptivePipelining

基于综合工具、目标频率和乘法器字长的自动流水线插入。默认值为 inherit。另请参阅AdaptivePipelining (HDL Coder)。

BalanceDelays

检测沿一条路径引入的新延迟,并在其他路径上插入匹配的延迟。默认值为 inherit。另请参阅BalanceDelays (HDL Coder)。

ClockRatePipelining

以较快的时钟频率而不是较慢的数据速率插入流水线寄存器。默认值为 inherit。另请参阅ClockRatePipelining (HDL Coder)。

ConstrainedOutputPipeline

通过移动设计中现有延迟的方式来放置在输出端的寄存器的数量。分布式流水线不会重新分发这些寄存器。默认值为 0。有关详细信息,请参阅ConstrainedOutputPipeline (HDL Coder)。

DistributedPipelining

流水线寄存器分配或寄存器重定时。默认值为 inherit。另请参阅DistributedPipelining (HDL Coder)。

DSPStyle

乘法器映射的综合属性。默认值为无。另请参阅DSPStyle (HDL Coder)。

FlattenHierarchy

从生成的 HDL 代码中删除子系统层次结构。默认值为 inherit。另请参阅FlattenHierarchy (HDL Coder)。

InputPipeline

要在生成的代码中插入的输入流水线阶段数。分布式流水线和受限输出流水线可以移动这些寄存器。默认值为 0。有关详细信息,请参阅InputPipeline (HDL Coder)。

OutputPipeline

要在生成的代码中插入的输出流水线阶段数。分布式流水线和受限输出流水线可以移动这些寄存器。默认值为 0。有关详细信息,请参阅OutputPipeline (HDL Coder)。

SharingFactor

要映射到单个共享资源的功能等效的资源的数量。默认值为 0。另请参阅Resource Sharing (HDL Coder)。

StreamingFactor

并行数据路径或向量的数量,这些路径或向量通过时间多路复用的方式变换为串行标量数据路径。默认值为 0,表示实现完全并行的数据路径。另请参阅Streaming (HDL Coder)。

目标设定

此模块不能为 DUT,因此目标设定选项卡中的模块属性设置将被忽略。

限制

如果子系统的输出是总线,则输出端口的初始输出必须为 0。

PLC 代码生成 使用 Simulink® PLC Coder™ 生成结构化文本代码。

当在 For Each Subsystem 模块中使用此模块时,不支持代码生成。

定点转换 使用 Fixed-Point Designer™ 设计和仿真定点系统。

实际数据类型支持取决于模块实现。

版本历史记录

在 R2006a 之前推出

另请参阅

Action Port | If | Subsystem

主题选择子系统执行


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3