Main Content

Bus to Vector

将虚拟总线转换为向量

  • Bus to Vector block

库:
Simulink / Signal Attributes
HDL Coder / Signal Attributes

描述

Bus to Vector 模块将虚拟总线转换为向量。Bus to Vector 模块仅用于将隐式的总线到向量转换替换为显式转换。

不接受总线的模块可能隐式将总线转换为向量。当总线被视为向量时,总线元素变得不可访问。要识别和更正用作向量的总线,请使用模型顾问检查检查被视为向量的总线信号或函数 Simulink.BlockDiagram.addBusToVector

示例

全部展开

为了更容易识别意外转换,请使用 Bus to Vector 模块指定可接受的总线到向量转换。

打开并仿真 ex_bus_to_vector 模型。

model = "ex_bus_to_vector";
load_system(model);
sim(model);
open_system(model);

该模型能够正确仿真,但 Gain 模块的输入是总线,而输出是向量。Gain 模块隐式将总线转换为向量。

要插入 Bus to Vector 模块,其中模块隐式将总线转换为向量,请使用 Simulink.BlockDiagram.addBusToVector 函数并将第三个参量设置为 false

当您使用第三个参量设置为 falseSimulink.BlockDiagram.addBusToVector 函数时,该函数将保存模型。为了创建 ex_bus_to_vector 模型的副本,此示例使用 save_system 函数。

model1 = 'ex_bus_to_vector_blocks';
save_system(model,model1)

[blocks,busToVectors] = ...
    Simulink.BlockDiagram.addBusToVector(model1,true,false)
### Processing block diagram 'ex_bus_to_vector_blocks'
### Number of blocks left that are connected to a bus being used as a vector: 2
### Successfully inserted Bus to Vector Blocks in model. Preparing to save model and/or libraries
### To eliminate modeling errors in the future, please enable strict bus modeling by setting the 'Bus signal treated as vector' diagnostic in the Configuration parameter dialog, Diagnostic/Connectivity tab to 'error'
### Done processing block diagram 'ex_bus_to_vector_blocks'
blocks=1×2 struct array with fields:
    BlockPath
    InputPort
    LibPath

busToVectors = 2x1 cell
    {'ex_bus_to_vector_blocks/Bus to Vector' }
    {'ex_bus_to_vector_blocks/Bus to Vector1'}

Gain 模块不再隐式将总线转换为向量。插入的 Bus to Vector 模块显式执行转换。

端口

输入

全部展开

输入总线必须由具有相同的数据类型、信号类型和采样模式的标量或一维、行或列向量组成。如果输入是非总线信号,则该模块不进行转换。

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

输出

全部展开

输出向量的维数取决于输入总线元素的维数。如果输入总线包含行向量或列向量,此模块将分别输出一个行向量或一个列向量。否则,输出是一维向量。

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

模块特性

数据类型

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

直接馈通

多维信号

可变大小信号

过零检测

提示

  • 要在仿真期间识别被视为向量的总线,请将总线信号视为向量配置参数设置为警告错误总线信号视为向量的默认设置为,当模块隐式将总线转换为向量时,此设置不会生成警告或错误消息。

  • 如果您使用另存为将模型保存到 R2007a 之前的 Simulink® 版本中,则每个 Bus to Vector 模块会被替换为不输出任何内容的空子系统。要在这种情况下使用模型,您必须重新连接,否则就需要纠正每个用来包含 Bus to Vector 模块但现在被空子系统中断的路径。

扩展功能

版本历史记录

在 R2007a 中推出