Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

Inport

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

  • 库:
  • Simulink / Commonly Used Blocks

    Simulink / Ports & Subsystems

    Simulink / Sources

    HDL Coder / Commonly Used Blocks

    HDL Coder / Ports & Subsystems

    HDL Coder / Sources

  • Inport block

描述

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

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

  • 从 1 开始按顺序为顶层系统或子系统中的 Inport 模块进行编号。

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

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

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

顶级系统中的 Inport 模块

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

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

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

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

子系统中的 Inport 模块

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

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

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

您可以直接编辑 Subsystem 模块上的端口标签。有关详细信息,请参阅 编辑子系统模块上的端口标签

提示

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

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

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

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

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

创建重复 Inport 模块

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

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

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

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

  3. 松开鼠标,然后从上下文菜单中选择生成副本

您可以选择具有副本的 Inport 模块来突出显示副本模块。要在打开的图或新选项卡中显示相关模块,请使用光标在选择后出现的省略号上暂停。然后,从操作栏中选择相关模块 Related Blocks button。当多个模块对应于所选模块时,将打开一个相关模块列表。您可以通过在文本框中输入搜索词来筛选相关模块列表。从列表中选择相关模块后,窗口焦点转至显示该相关模块的打开的图或新选项卡。

将总线连接到根级 Inport 模块

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

端口

输出

全部展开

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

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

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

参数

全部展开

常设

指定与模块对应的端口在父级 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. 采样时间参数设置为离散值,例如 2。

  2. 清除数据插值参数。

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

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

Simulink 使用以下内插和外插:

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

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

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

编程用法

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

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

依存关系

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

信号属性

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

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

依存关系

在异步函数调用中启用。

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

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

注意

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

Simulink 软件使用此值执行:

编程用法

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

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

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

注意

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

Simulink 软件使用此值执行:

编程用法

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

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

点击显示数据类型助手按钮 以显示数据类型助手,帮助您设置数据类型属性。有关详细信息,请参阅使用数据类型助手指定数据类型

您可以指定以下任一选项:

  • 继承的数据类型

  • 内置 Simulink 数据类型 - 例如,指定 “single” 或 “uint8”。请参阅 Simulink 支持的数据类型

  • 定点数据类型 - 使用 fixdt 函数。例如,指定 “fixdt(1,16,0)”。

  • 枚举数据类型 - 使用以 Enum: 开头的类型名称。例如,指定 “Enum: myEnumType”。

  • 总线数据类型 - 使用以 Bus: 开头的 Simulink.Bus 对象的名称。例如,指定 “Bus: myBusObject”。

  • Simulink 图像数据类型 - 如果您有 Computer Vision Toolbox™,请使用 Simulink.ImageType (Computer Vision Toolbox) 对象的构造函数,并指定描述图像的属性。默认情况下,数据类型使用 Simulink.ImageType(480,640,3) 表达式,分别表示图像的行、列和通道。

  • 值类型 - 使用以 ValueType: 开头的 Simulink.ValueType 对象的名称。例如,指定 “ValueType: windVelocity”。

  • 自定义数据类型 - 使用指定类型的 MATLAB® 表达式。例如,您可以指定一个 Simulink.NumericType 对象,其 DataTypeMode 属性设置为 'Fixed-point: unspecified scaling' 以外的值。

当您指定 Simulink.ValueTypeSimulink.Bus 对象时,该对象不仅仅定义数据类型。该对象还定义诸如最小值最大值单位等属性。ValueType 对象指定的属性值会覆盖模块指定的对应属性值。例如,假设一个模块将单位设置为 ft/s。当该模块的数据类型指定以 m/s 为单位的 ValueType 对象时,该模块会使用 m/s 而不是 ft/s 作为单位。

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

编程用法

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

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

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

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

提示

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

    要为总线加载多速率数据,请清除以非虚拟总线输出参数,并将采样时间参数设置为继承 (-1)。

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

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

依存关系

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

编程用法

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

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

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

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

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

编程用法

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

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

-1

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

N

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

[R C]

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

编程用法

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

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

依存关系

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

命令行信息

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

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

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

编程用法

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

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

编程用法

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

模块特性

数据类型

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

直接馈通

多维信号

可变大小信号

过零检测

扩展功能

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

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

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

版本历史记录

在 R2006a 之前推出