本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

Inport

为子系统或外部输入创建输入端口

  • 库:
  • Simulink / Commonly Used Blocks

    Simulink / Ports & Subsystems

    Simulink / Sources

    HDL Coder / Commonly Used Blocks

    HDL Coder / Ports & Subsystems

    HDL Coder / Sources

说明

Inport 模块将信号从系统外部链接到系统内。

Simulink® 软件根据以下规则分配 Inport 模块端口号:

  • 按顺序自动为顶级系统或子系统内的 Inport 模块编号,从 1 开始。

  • 如果添加 Inport 模块,标签将是下一个可用的编号。

  • 如果删除 Inport 模块,其他端口号将会自动重新编号,以确保 Inport 模块按顺序排列并且没有跳过任何编号。

  • 如果将 Inport 模块复制到系统中,其端口号不会重新编号,除非当前编号与系统中已存在的 Inport 发生冲突。如果复制的 Inport 模块端口号不符合顺序,则会对该模块重新进行编号。否则,当运行仿真或更新模块图时,将出现一条错误消息。

顶级系统中的 Inport 模块

您可以在顶层系统中使用 Inport 模块,以进行以下操作:

  • 使用以下方法之一提供来自工作区的外部输入。如果不提供任何外部输出,则默认输出为接地值。

  • 通过 linmodtrim 分析函数提供模型扰动的方式。

  • 要使用根级 Inport 模块加载记录的信号数据,请使用 createInputDataset 函数创建一个 Dataset 对象,在其中包含根级 Inport 模块对应的元素。

子系统中的 Inport 模块

子系统中的 Inport 模块表示子系统的输入。到达 Subsystem 模块上的输入端口的信号从该子系统中的关联 Inport 模块流出。与 Subsystem 模块上的输入端口关联的 Inport 模块是其 Port number 参数与 Subsystem 模块上输入端口的相对位置匹配的模块。例如,Port number 参数为 1Inport 模块从连接到 Subsystem 模块上最顶层端口的模块获取其信号。

如果对 Inport 模块的 Port number 重新编号,则该模块将连接到其他输入端口。该模块继续从子系统外的同一模块接收其信号。

子系统内的 Inport 模块支持信号标签传播,但根级 Inport 模块不支持。

提示

对于包含总线信号的模型,如果总线信号中包含很多总线元素,则可以考虑使用 In Bus ElementOut Bus Element 模块。这些模块可以:

  • 减少模块图中信号线的复杂度和杂乱无章。

  • 使增量更改接口更容易。

  • 允许访问更靠近使用点的总线元素,避免使用 Bus SelectorGoto 模块配置。

In Bus Element 模块属于 Inport 模块类型,Out Bus Element 模块属于 Outport 模块类型。

创建重复 Inport

您可以创建任意数量的 Inport 模块副本。副本是原型的图形表示,旨在通过去除不必要的线条来简化模块图。副本与原型具有相同的端口号、属性和输出。

要创建 Inport 模块的副本,请执行以下操作:

  1. 在模块图中,选择要复制的未连接的 Inport 模块。

  2. 按住 Ctrl 键并拖动模块。

  3. 松开鼠标,然后从上下文菜单中选择 Duplicate

将总线连接到根级 Inport

如果您希望模型的根级 Inport 生成总线信号,请将 Data type 参数设置为总线对象的名称(该总线对象定义 Inport 生成的总线)。有关详细信息,请参阅 使用总线对象指定总线属性

端口

输出

全部展开

通过输入端口流入系统的输入信号。

您可以使用 Inport 子系统提供结构体或任何其他格式的定点数据。

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

参数

全部展开

Main

指定与模块对应的端口在父级 SubsystemModel 模块上的显示顺序。

  • 如果新添加的模块创建了一个新端口,则其端口号是下一个可用编号。

  • 删除与某端口相关联的所有模块后,该端口也会被删除。其他端口会重新编号,使之依序排列且不跳过任何数字。

  • 如果指定的端口号超过端口数量,则会为该编号和中间跳过的每个序号创建端口。

编程用法

模块参数Port
类型:字符向量
值:实整数
默认值:'1'

指定在模块图标上显示的信息。

编程用法

模块参数:IconDisplay
类型:字符向量
'Signal name' | 'Port number' | 'Port number and signal name'
默认值:'Port number'

选择此项以指定模块输出上一个时间步的输入信号值。

选中此复选框将使 Simulink 能够解析属于某个循环的触发子系统之间的数据依存关系。

Inport 模块通过显示 <Lo> 来指示已选择此选项。

依存关系

在触发子系统中启用。

编程用法

模块参数 LatchByDelaying OutsideSignal
类型:字符向量
值:'on' | 'off'
默认值:'off'

选择此选项可指定模块锁存此子系统的输入值,以防止此值在子系统执行期间发生更改。对于分支出来调用多个函数调用子系统的单次函数调用,使用此选项会中断由其中一个函数调用子系统反馈到另一个函数调用子系统的信号所形成的循环。此选项可防止在该子系统执行期间调用的函数调用子系统的反馈信号值发生任何更改。

Inport 模块通过显示 <Li> 来指示已选择此选项。

依存关系

Inport 模块位于函数调用子系统中时启用。

编程用法

模块参数LatchInputFor FeedbackSignals
类型:字符向量
值:'on' | 'off'
默认值:'off'

从将数据从工作区加载到根级别 Inport 模块时,指定模块在没有对应数据的时间步处是否对输出进行线性内插和外插。

要从工作区加载离散信号数据,请在 Inport 模块对话框中执行以下操作:

  1. Sample time 参数设置为离散值,例如 2。

  2. 清除 Interpolate data 参数。

指定离散采样时间会使仿真在采样离散数据时具有准确的时间点。您指定数据值,而不是时间值。

关闭插值可避免在其他仿真时间点由于双精度算术处理而产生意外数据值。有关详细信息,请参阅Load Data to Test a Discrete Algorithm

Simulink 使用以下内插和外插:

  • 对于第一个指定数据点与最后一个指定数据点之间的时间步 - 零阶保持

  • 对于第一个指定数据点之前和最后一个指定数据点之后的时间步 - 接地值

  • 对于第一个指定数据点之前的时间步的大小可变信号 - 如果是单精度或双精度数据类型,则记录 NaN,如果是其他数据类型,则记录接地值。对于最后一个指定数据点之后的时间步,使用接地值。

编程用法

模块参数:Interpolate
类型:字符向量
值:'on' | 'off'
默认值:'on'

要将信号和总线数据导入、可视化并映射到根级 Inport,请点击此按钮。系统随即显示 Root Inport Mapper 工具。

依存关系

仅当此模块是根 Inport 模块时,该按钮才会显示。

Signal Attributes

点击 Show data type assistant 按钮 以显示 Data Type Assistant,帮助您设置数据类型参数。有关详细信息,请参阅使用 Data Type Assistant 指定数据类型

指定输入信号输出一个函数调用触发信号。

对于当前模型来说,如果在顶级模型中引用时需要它接受函数调用触发信号,则请选择此选项。

依存关系

在异步函数调用中启用。

Simulink 检查的输出范围的下限值。

此数字必须为有限实数双精度标量值。

注意

如果您指定总线对象作为此模块的数据类型,请不要为模块上的总线数据设置最小值。Simulink 会忽略此设置。但请为指定作为数据类型的总线对象的总线元素设置最小值。有关总线元素的 Minimum 属性的信息,请参阅 Simulink.BusElement

Simulink 软件使用此值执行:

编程用法

模块参数OutMin
类型:字符向量
'[ ]'| 标量
默认值'[ ]'

Simulink 检查的输出范围的上限值。

此数字必须为有限实数双精度标量值。

注意

如果您指定总线对象作为此模块的数据类型,请不要为模块的总线数据设置最大值。Simulink 会忽略此设置。但请为指定作为数据类型的总线对象的总线元素设置最大值。有关总线元素的 Maximum 属性的信息,请参阅 Simulink.BusElement

Simulink 软件使用此值执行:

编程用法

模块参数OutMax
类型:字符向量
'[ ]'| 标量
默认值'[ ]'

指定外部输入的输出数据类型。该类型可以继承、直接指定或表示为数据类型对象,如 Simulink.NumericType。不要将总线对象指定为表达式。

选中此选项将锁定此模块的输出数据类型设置,从而防止通过 Fixed-Point Tool 和 Fixed-Point Advisor 进行更改。有关详细信息,请参阅Use Lock Output Data Type Setting (Fixed-Point Designer)。

编程用法

模块参数LockScale
类型:字符向量
'off' | 'on'
默认值'off'

指定用于加载总线数据的顶层 Inport 模块的输出是虚拟的还是非虚拟的。

  • 选择此参数可指定非虚拟总线输出。

  • 清除此参数可指定虚拟总线输出。

提示

  • 非虚拟总线中的所有信号都必须具有相同的采样时间,即使关联的总线对象为某些元素指定了继承采样时间也是如此。任何可能导致包含不同采样率信号的非虚拟总线的操作都会生成错误。您不能为非虚拟总线加载多速率数据。有关如何将具有不同采样率的信号作为非虚拟总线传递给引用模型的详细信息,请参阅引用模型的多速率总线输入

    要为总线加载多速率数据,请清除 Output as nonvirtual bus 参数,并将 Sample time 参数设置为继承 (-1)。

  • 对于模型引用层次结构的顶层模型,代码生成将创建一个 C 结构体来表示非虚拟总线输出。

  • 对于引用的模型,选择此选项将在生成的代码中创建一个 C 结构体。否则,代码生成过程将为总线的每个叶元素创建一个参数。

依存关系

此参数仅适用于为 Data type 参数选择了 “Bus: <object name>” 的顶层 Inport 模块。

编程用法

模块参数 BusOutputAsStruct
类型:字符向量
'off' | 'on'
默认值'off'

指定模块的输入信号的物理单位。要指定单位,请在文本框中键入需要的值。随着您的键入,参数将显示可能匹配的单位。有关支持的单位列表,请参阅允许使用的单位制

要约束单位制,请点击参数右侧的链接:

  • 如果组件中存在 Unit System Configuration 模块,将打开其对话框。使用该对话框为组件指定允许和不允许使用的单位制。

  • 如果组件中不存在 Unit System Configuration 模块,将显示模型的 Configuration Parameters 对话框。使用该对话框为模型指定允许和不允许使用的单位制。

编程用法

模块参数Unit
类型:字符向量
'inherit' | '<Enter unit>'
默认值'inherit'

指定此 Inport 模块的输出信号的维度。

-1

端口可以为具有任何维度的信号加载数据。端口从连接的信号继承维度。

N

端口可以为大小是 N 的向量信号加载数据。

[R C]

端口可以为 RC 列矩阵信号加载数据。

编程用法

模块参数 PortDimensions
类型:字符向量
'-1' | 整数 | [整数 整数]
默认值'-1'

指定允许通过此端口输出的信号类型。要同时允许可变大小和固定大小的信号,请选择 “Inherit”。要仅允许可变大小信号,请选择 “Yes”。要仅允许固定大小的信号,请选择 “No”。

依存关系

当此端口的信号为可变大小的信号时,Port dimensions 参数将指定信号的最大维度。

命令行信息

参数: VarSizeSig
类型:字符向量
值:'Inherit'| 'No' | 'Yes'
默认值:'Inherit'

指定采样时间点之间的离散间隔,或指定其他适当的采样时间,如连续或继承。

默认情况下,模块根据模型中的模块上下文继承其采样时间。要设置不同的采样时间,请根据采样时间的类型中的表输入有效采样时间。

编程用法

模块参数:SampleTime
类型:字符向量
值:标量
默认值:'-1'

指定信号输出的数值类型。要选择连接到其输入的信号的数值类型,请选择 “auto”。否则,请选择实信号或复信号类型。

编程用法

模块参数:SignalType
类型:字符向量
'auto' | 'real' | 'complex'
默认值:'auto'

模块特性

数据类型

Boolean | bus | double | enumerated | fixed point | integer | single | string

直接馈通

多维信号

可变大小信号

过零检测

扩展功能

C/C++ 代码生成
使用 Simulink® Coder™ 生成 C 代码和 C++ 代码。

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

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

在 R2006a 之前推出