主要内容

多端口切换

选择基于控制信号的输出信号

  • 库:
  • 金宝app模型/信号路由

    高密度脂蛋白编码器/信号路由

  • 多端口转换部件

描述

多端口切换块确定哪些输入块传递到输出。块基地这一决定在第一个输入的值。第一个输入是控制输入和剩下的输入数据输入。控制输入的值决定了哪些数据输入传递到输出。

表总结了如何解释控制输入,并确定数据块输入传递到输出。

控制输入 截断 设置数据端口的顺序 块行为在模拟
索引选择数据输入 超出范围的情况

整型值

没有一个

从零开始的连续的

从零开始的索引

控制输入小于0或大于数据输入的数量- 1。

从连续的

从索引

控制输入小于1或大于数据输入的数量。

指定索引

指标你指定

控制输入不符合任何指定的数据端口索引。

不是一个整数值

块截断四舍五入到整数的价值为零。

从零开始的连续的

从零开始的索引

截断控制输入小于0或大于数据输入的数量- 1。

从连续的

从索引

截断控制输入小于1或大于数据输入的数量。

指定索引

指标你指定

截断控制输入不符合任何指定的数据端口索引。

信息块如何处理超出范围条件下,明白了块如何处理一个超出范围控制输入

多端口的交换机配置为一个索引向量

一个索引向量是一个特殊配置的多端口切换你指定一个数据块输入和控制输入是从零开始的。块的输出是输入向量的元素的索引匹配的控制输入。例如,如果输入向量(18 15 17 10)和控制输入33的元素相匹配的索引(从零开始的)是10,这成为输出值。

配置一个多端口切换块作为一个工作索引向量块,设置数量的数据端口1数据端口的顺序从零开始的连续的

块如何处理一个超出范围控制输入

输入一个整数值小于intmax (“int32”)时,输入范围值不匹配任何数据端口指数。控制输入的不是一个整数值,输入时的范围截断值不匹配任何数据端口指数。在这两种情况下,块的行为取决于您的设置数据端口默认情况下诊断为默认情况下

请注意

如果控制输入大于intmax (“int32”)块包装了输入值,一个整数。

行为模拟

以下行为只适用于仿真模型。

数据端口默认情况下 诊断为默认情况下
没有一个 警告 错误

最后一个数据端口

使用最后一个数据端口,不报告任何警告或错误。

使用最后一个数据端口和报告一个警告。

报告错误并停止模拟。

额外的数据端口

使用额外的数据端口*标签和不报告任何警告或错误。

使用额外的数据端口*一个警告标签和报告。

报告错误并停止模拟。

行为的代码生成

以下行为应用于模型的代码生成。

数据端口默认情况下 诊断为默认情况下
没有一个 警告 错误

最后一个数据端口

使用最后一个数据端口。

使用最后一个数据端口。

使用最后一个数据端口。

额外的数据端口

使用额外的数据端口*标签。

使用额外的数据端口*标签。

使用额外的数据端口*标签。

使用具有不同维度的数据输入

如果两个信号有不同数量的尺寸或不同维度的长度,你可以使用数据输入的信号多端口切换块。在块对话框中,选择参数允许不同的数据输入大小。在这种情况下,块的输出是一个适应信号。如果你不选择这个参数,块生成一个错误。

关于参数的更多信息,请参阅允许不同的数据输入大小(导致适应输出信号)。关于适应信号的更多信息,请参阅适应信号基础知识

规则,确定块的行为

您指定数量的数据输入数量的数据端口

  • 如果你设置数量的数据端口1块的行为作为一个指数选择器索引向量而不是一个多端口的开关。更多细节,请参阅多端口的交换机配置为一个索引向量

  • 如果你设置数量的数据端口一个比1大的整数,块的行为作为一个多端口的开关。输出是输入的数据块对应于控制输入的值。如果至少一个数据输入是一个矢量,块的输出是一个矢量。在这种情况下,阻止任何标量扩展输入向量。

  • 如果所有的标量数据输入,输出是一个标量。

指南设置枚举参数控制端口

当控制端口上多端口切换枚举类型的块,遵循这些指导方针:

场景 要做什么 基本原理

枚举类型包含的值是无效的,超出范围,或未初始化值。

  • 数据端口的顺序指定索引

  • 数据端口指数使用这个值在过去的数据端口。

  • 数据端口默认情况下最后一个数据端口

这个块配置处理无效值的枚举类型显式地表示。

枚举类型只包含有效的枚举值。然而,数据输入端口可以无效值的枚举类型。

  • 数据端口默认情况下额外的数据端口

这个块配置处理无效值的枚举类型不明确表示。

枚举类型只包含有效的枚举值。数据输入端口不能得到无效值的枚举类型。

  • 数据端口默认情况下最后一个数据端口

  • 诊断为默认情况下没有一个

这个块配置避免不必要的诊断作用。

没有一个数据块的输入端口为每一个枚举类型的值。

  • 数据端口默认情况下额外的数据端口

这个块配置处理枚举值,没有数据输入端口,以及无效值。

限制

  • 如果输入的数据多端口切换块是公交车,公交车的元素名称必须相同。使用相同的元素名确保输出总线具有相同的元素名称无论输入总线块选择。为了确保您的模型满足这个需求,使用总线对象来定义公共汽车和设置元素名称不匹配诊断为错误。看到模型配置参数:连接诊断为更多的信息。

  • 数组的公交车,数量的数据端口必须设置的值2或更高版本。

港口

输入

全部展开

控制信号可以是任何数据类型,仿真软件金宝app®金宝app支持,包括定点和枚举类型。当控制输入不是一个整数值,块截断四舍五入到整数的价值为零。

枚举类型的控制信号的更多信息,请参阅指南设置枚举参数控制端口

信息块如何处理超出范围条件下,明白了块如何处理一个超出范围控制输入

限制

  • 如果数字控制信号,控制信号不能复杂。

  • 如果控制信号是一个枚举信号,块使用底层的整数的值来选择一个数据端口。

  • 如果底层的整数不对应一个数据端口,出现一个错误。

数据类型:||一半|int8|int16|int32|int64|uint8|uint16|uint32|uint64|布尔|不动点|枚举|图像

第一个数据输入,指定为一个标量、向量,矩阵,或一天数组。所有输入数据信号可以是任何数据类型,仿真软件支持。金宝app金宝app

  • 如果所有的标量数据输入,输出是标量

  • 如果至少一个数据输入是一个矢量,块的输出是一个矢量。在这种情况下,阻止任何标量扩展输入向量。

  • 如果任何两个nonscalar信号有不同数量的尺寸或不同尺寸长度,选择允许不同的数据输入大小复选框。有关更多信息,请参见使用具有不同维度的数据输入

  • 如果任何数据信号的枚举类型,所有其他人都必须相同的枚举类型。

数据类型:||一半|int8|int16|int32|int64|uint8|uint16|uint32|uint64|布尔|不动点|枚举|字符串|图像

第二个数据输入,指定为一个标量、向量,矩阵,或一天数组。所有输入数据信号可以是任何数据类型,仿真软件支持。金宝app金宝app

  • 如果所有的标量数据输入,输出是标量

  • 如果至少一个数据输入是一个矢量,块的输出是一个矢量。在这种情况下,阻止任何标量扩展输入向量。

  • 如果任何两个nonscalar信号有不同数量的尺寸或不同尺寸长度,选择允许不同的数据输入大小复选框。有关更多信息,请参见使用具有不同维度的数据输入

  • 如果任何数据信号的枚举类型,所有其他人都必须相同的枚举类型。

依赖关系

要启用这个端口,设置数量的数据端口一个比1大的整数。

数据类型:||一半|int8|int16|int32|int64|uint8|uint16|uint32|uint64|布尔|不动点|枚举|字符串|图像

n数据输入,指定为一个标量、向量,矩阵,或一天数组。所有输入数据信号可以是任何数据类型,仿真软件支持。金宝app金宝app

  • 如果所有的标量数据输入,输出是标量

  • 如果至少一个数据输入是一个矢量,块的输出是一个矢量。在这种情况下,阻止任何标量扩展输入向量。

  • 如果任何两个nonscalar信号有不同数量的尺寸或不同尺寸长度,选择允许不同的数据输入大小复选框。有关更多信息,请参见使用具有不同维度的数据输入

  • 如果任何数据信号的枚举类型,所有其他人都必须相同的枚举类型。

依赖关系

要启用N输入端口,设置数量的数据端口一个整数的值大于或等于N

数据类型:||一半|int8|int16|int32|int64|uint8|uint16|uint32|uint64|布尔|不动点|枚举|字符串|图像

输入数据超出范围的控制信号输入端口,指定为一个标量、向量,矩阵,或一天数组。所有输入数据信号可以是任何数据类型,仿真软件支持。金宝app金宝app如果任何数据信号的枚举类型,所有其他人都必须相同的枚举类型。如果任何两个信号有不同数量的尺寸或不同尺寸长度,选择允许不同的数据输入大小复选框。有关更多信息,请参见使用具有不同维度的数据输入

依赖关系

创建一个额外的数据超出范围的控制信号输入端口,设置数据端口默认情况下额外的数据端口。当您设置数据端口默认情况下最后一个数据端口,使用最后一个数据块端口输出当控制信号值不匹配任何数据端口指数。

数据类型:||一半|int8|int16|int32|int64|uint8|uint16|uint32|uint64|布尔|不动点|枚举|公共汽车|图像

输出

全部展开

输出的一个数据块的输入,根据控制信号选择的价值。输出相同的维数为相应的数据输入。当您选择允许不同的数据输入大小复选框,块大小可变的输出信号。

数据类型:||一半|int8|int16|int32|int64|uint8|uint16|uint32|uint64|不动点|枚举|字符串|图像

参数

全部展开

主要

指定排序的类型为你的数据输入端口。

  • 从零开始的连续的——使用从零开始的索引顺序连续的数据块港口。这是默认值索引向量块。

  • 从连续的——使用从索引顺序连续的数据块港口。这是默认值多端口切换

  • 指定索引——使用非连续索引排序数据块港口。

提示

  • 控制端口是枚举类型时,选择指定索引

  • 如果您选择从零开始的连续的从连续的,验证枚举类型的控制端口没有。不建议使用这个配置并产生一个错误。您可以运行升级顾问你的模型来代替多端口切换这个配置块的块显式地指定数据端口指数。看到模型的升级

  • 避免块包含未使用的数据端口的情况下模拟或代码生成。当控制端口是定点或内置数据类型,验证所有数据端口指数表示的类型。否则,以下行为发生。

    如果有未使用的数据端口和数据块端口顺序是: 块产生:
    从零开始的连续的从连续的 一个警告
    指定索引 一个错误

依赖关系

选择从零开始的连续的从连续的使数量的数据端口参数。

选择指定索引使数据端口指数参数。

编程使用

块参数:DataPortOrder
类型:特征向量
价值观:“从零开始的连续的“|”集中连续的”|“指定指标”
默认值:从连续的(多端口切换)“从零开始的连续的”(索引向量)

指定数据输入端口的数量。的总数输入端口指定数量,加上一个控制信号输入端口,加上一个如果你设置数据端口默认情况下额外的数据端口

依赖关系

要启用该参数,设置数据端口的顺序从零开始的连续的从连续的

编程使用

块参数:输入
类型:特征向量
价值观:1和65536之间的整数
默认值:“3”(多端口切换)' 1 '(索引向量)

为您的数据端口指定数组的索引。块图标更改您所指定的数据端口指数相匹配。

提示

  • 指定的数组索引,所有枚举类型的值,对应输入类型的名称。

    例如,MyColors是一个有效的条目如果MyColors是一个枚举类型的名称。

  • 进入特定的值的枚举类型,使用type_name.enumerated_name格式。不进入底层的整数值。

    例如,{MyColors。红色,MyColors。绿色,MyColors.Blue}是一个有效的条目。

  • 表明一个以上的值映射到一个数据端口,使用括号。

    例如,下面的条目都是有效的:

    • {MyColors。红色,MyColors。绿色(MyColors。蓝色,MyColors.Yellow]}

    • {(3、5),0,18岁}

  • 如果控制端口是定点或内置的数据类型,的值数据端口指数必须能上演的类型。否则,一个错误出现在编译时提醒您未使用的数据端口。

  • 如果枚举数据类型的控制端口的值数据端口指数必须是该类型的枚举值。

  • 如果数据端口指数包含枚举类型的值,控制端口必须的数据类型。

依赖关系

要启用该参数,设置数据端口的顺序指定索引

编程使用

块参数:DataPortIndices
类型:特征向量
价值观:数组的索引
默认值:“{1,2,3}”

指定是否使用最后一个数据端口输入超出范围,或使用一个额外的端口。端口名称旁边的星号(*)表示端口块使用时控制端口的值不匹配任何数据端口指数。

  • 最后一个数据端口——使用最后一个数据块端口输出,当控制端口值不匹配任何数据端口指数。

  • 额外的数据端口——使用一个额外的数据块端口输出,当控制端口值不匹配任何数据端口指数。

提示

如果你将这个参数设置为额外的数据端口数量的数据端口3,输入端口的数量是5块。第一个输入控制端口,接下来的三个输入数据端口,和第五输入超出范围的默认端口输入。

编程使用

块参数:DataPortForDefault
类型:特征向量
价值观:“最后一个数据端口”|“额外的数据端口的
默认值:最后一个数据端口的

指定的诊断操作控制端口值不匹配任何数据端口指数。

  • 没有一个——无响应。

  • 警告——显示一个警告并继续仿真。

  • 错误——终止模拟和显示一个错误。在这种情况下,数据端口默认情况下仅用于代码生成和仿真。

有关更多信息,请参见块如何处理一个超出范围控制输入

编程使用

块参数:DiagnosticForDefault
类型:特征向量
价值观:“没有”|“警告”|“错误”
默认值:“错误”

指定样本以外的价值1。有关更多信息,请参见指定样品时间

依赖关系

这个参数是不可见的,除非它是显式地设置以外的一个值1。欲了解更多,请看不推荐块样品时间

编程使用

块参数:SampleTime
类型:字符串标量或特征向量
默认值:“1”

信号的属性

选中此复选框后,要求所有数据输入端口有相同的数据类型。当你清除此复选框,允许数据块端口输入有不同的数据类型。

编程使用

块参数:InputSameDT
类型:特征向量
价值观:”从“|”“
默认值:“关闭”

低价值的输出范围模型检查。金宝app

金宝app仿真软件使用最低执行:

请注意

输出最小不饱和或剪辑实际的输出信号。使用饱和块来代替。

编程使用

块参数:OutMin
类型:特征向量
:“[]”|标量
默认的:“[]”

上层模型的输出范围检查的价值。金宝app

金宝app仿真软件使用最大值来执行:

请注意

输出最大不饱和或剪辑实际的输出信号。使用饱和块来代替。

编程使用

块参数:OutMax
类型:特征向量
:“[]”|标量
默认的:“[]”

选择输出的数据类型。直接指定的类型可以被继承,或者表示为一个数据类型对象等金宝appSimulink.NumericType

当您选择一个继承的选择,块表现如下:

  • 继承:继承通过内部规则模金宝app型选择一个数据类型来平衡数值精度,性能,和生成的代码大小,同时考虑到嵌入式目标硬件的特性。如果你改变嵌入式目标设置,选择的数据类型的内部规则可能会改变。这并不总是可能的软件来优化代码效率,同时数值精度。如果内部规则不符合您的具体需求为数值准确性或性能,使用下列选项之一:

    • 显式地指定输出数据类型。

    • 显式地指定一个默认数据类型等fixdt(1, 32岁,16)然后使用定点工具提出模型的数据类型。有关更多信息,请参见fxptdlg(定点设计师)

    • 指定自己的继承规则,使用通过反向传播继承:继承然后使用一个数据类型传播块。的例子如何使用这个块中可用的信号属性库数据类型传播的例子块。

  • 通过反向传播继承:继承——使用的数据类型驱动块。

  • 继承:作为第一个数据输入相同——使用第一数据输入端口的数据类型。

编程使用

块参数:OutDataTypeStr
类型:特征向量
:通过内部的继承:继承规则|通过反向传播继承:继承的|继承:与第一次输入的|“双”|“单一”|“一半”|“int8”|“uint8”|“int16”|“uint16”|“int32”|“uint32”|“int64”|“uint64”|“fixdt (16)”|“fixdt(0) 1, 16日”|“fixdt(1, 16日2 ^ 0,0)”|“字符串”|金宝appSimulink.ImageType (480640 3)|<数据类型表达式>的
默认的:“继承:继承通过内部规则”

选择锁块的输出数据类型设置与更改定点工具和定点顾问。有关更多信息,请参见使用锁输出数据类型设置(定点设计师)

编程使用

块参数:LockScale
类型:特征向量
:“关闭”|“上”
默认的:“关闭”

选择其中一个舍入模式。

天花板

轮正面和负面数据到正无穷。相当于MATLAB®装天花板函数。

收敛

轮数到最近的可表示的值。如果发生领带,甚至流传到最近的整数。相当于定点设计师™收敛函数。

地板上

轮正面和负面数据向负无穷。相当于MATLAB地板上函数。

最近的

轮数到最近的可表示的值。如果发生领带,轮正无穷。相当于定点设计师最近的函数。

轮数到最近的可表示的值。如果发生领带,轮正数负数对正无穷和轮向负无穷。相当于定点设计师函数。

简单的

轮对地板和轮对之间自动选择零产生舍入的代码尽可能的高效。

轮对数量为零。相当于MATLAB修复函数。

编程使用

块参数:RndMeth
类型:特征向量
:“天花板”|“收敛”|“地板”|“最近的”|“圆”|“简单”|“零”
默认的:“地板”

另请参阅

有关更多信息,请参见舍入(定点设计师)

指定是否溢出饱和或包装。

  • ——溢出包装到适当的数据类型可以表示的值。

    例如,130号不适合在-126年签署了8位整数和包装。

  • ——溢出的最小值或最大值,数据类型可以表示。

    例如,一个溢出与一个签署了8位整数可以浸透到-128或127年。

提示

  • 考虑选择这个复选框当你的模型有一个可能的溢出和你想要显式饱和保护在生成的代码中。

  • 考虑清除此复选框当你想优化生成的代码的效率。

    清除此复选框也能帮助你避免overspecifying一块如何处理超出范围的信号。有关更多信息,请参见解决信号范围错误

  • 选中此复选框时,饱和适用于每个内部操作,不仅输出或结果。

  • 在一般情况下,代码生成过程可以发现当溢出是不可能的。在这种情况下,代码生成器不能产生饱和代码。

编程使用

块参数:SaturateOnIntegerOverflow
类型:特征向量
价值观:”从“|”“
默认值:“关闭”

选中此复选框后,允许输入信号有不同的大小。

  • 允许具有不同大小的输入信号,输入信号大小传播到输出信号。在这种模式下,块产生适应可变的输出信号。

  • ——要求所有nonscalar数据输入信号是相同的大小。

编程使用

参数:AllowDiffInputSizes
类型:特征向量
值:“上”|“关闭”
默认值:“关闭”

块特征

数据类型

布尔|公共汽车||枚举|不动点|一半|整数||字符串

直接引线

是的

多维信号

是的

适应信号

是的

讨论二阶导数过零检测

没有

扩展功能

C / c++代码生成
使用仿真软件生成C和c++代码®编码器™。金宝app

PLC的代码生成
使用仿真软件生成结构化文本代码®PLC编码器™。金宝app

定点转换
设计和模拟使用定点定点系统设计师™。

版本历史

之前介绍过的R2006a