主要内容

将总线数据加载到根级输入端口

属性中手动指定数据,可以将总线数据导入顶级输入端口输入配置参数或使用root Inport Mapper工具。有关使用Root Inport Mapper工具导入总线数据的信息,请参阅导入总线数据

导入总线数据要求

您可以将总线(虚拟、非虚拟或总线数组)数据导入到总线对象定义的顶级输入端口(参见金宝app仿真软件。公共汽车)。在顶级轮廓尺寸块,设置数据类型公共汽车并指定总线对象的名称。要指定总线信号的数据值,请使用以下结构:

  • MATLAB®时间序列对象

  • MATLAB时间表对象

  • 组合时间序列时间表对象

在结构中不包含字段的总线元素使用接地值。您可以使用一个空矩阵来指定使用接地值。

笔记

当您指定时时间表数据加载,时间表必须仅包含一个信号的数据。

的结构时间序列时间表(或两者)对象必须在以下方面匹配总线元素:

  • 层次结构

  • 结构字段的名称,它必须与总线元素名称匹配。(姓名财产的时间序列对象不需要匹配总线元素名称。)

  • 数据类型

  • 方面

  • 复杂

结构字段的顺序不必匹配总线元素的顺序。

可以将该结构作为元素包含在数据集对象。可以在逗号分隔的列表中使用结构。您可以在逗号分隔的列表中指定一个空矩阵。空矩阵使用总线信号的接地值。

例如,为输入端口加载数据三机一体in3,并使用接地值作为端口in2,在输入范围:

In1,[],In3

初始化总线信号

您可以初始化总线信号,包括使用初始化数据的部分说明。有关详细信息,请参见指定总线信号的初始条件

有关将总线数据数组导入根的详细信息轮廓尺寸块,看看导入总线数据数组

将总线数据导入到顶级输入的限制

可以使用根导入映射器工具将其导入并映射到顶层的信号数据轮廓尺寸块可以包括总线数据。不能使用该工具将总线信号映射到顶级的Enable或Trigger块。

您不能使用输入端口在外部模式下导入总线。要以快速加速模式导入总线数据,请使用数据集格式。

将总线数据导入到顶级导入

这个模型有两个轮廓尺寸块连接到范围块。数据类型三机一体块是继承的(非商务数据)和数据类型In2块由总线对象定义busobject..模型有一个加载的回调busobject.及其子巴士BusObject1

busobject.总线对象有两个元素:

  • C

  • S1,这是一个有两个元素的嵌套公共汽车:

    • 一种

    • B.

  1. 打开模型

  2. 创建一个MATLAB时间序列对象三机一体,您要为其导入非信噪比。

    例如:

    t1 = (1:10) ';d1 =罪(t1);三机一体= timeseries (d1, t1);
  3. 创建一个输入结构,它可以由MATLAB组成时间序列对象或MATLAB时间表对象,或这些对象类型的组合。创建一个时间序列时间表每个叶子总线元素的对象,您不想使用地面值。此示例使用地面值B.总线元素,所以它不需要时间序列时间表该元素的对象。

    t2 = (1:5) ';d2 = cos (t2);in2.c = timeseries (d1, t1);in2.s1。一种= timetable(seconds(t2),d2);

    MATLAB时间序列如上所述,您创建的对象必须匹配相应的总线元素导入总线数据要求

  4. 创建一个数据集对象和添加三机一体in2到数据集。

    ds = 金宝appsimulink.simulationdata.dataset;ds = ds.addelement(In1,“in1_signal”);ds = ds.addElement (in2,'in2_signal');
  5. 配置参数>数据导入/导出>输入参数编辑框,输入数据集目的DS.

  6. 模拟模型。连接到In2的Scope块显示了导入的总线数据。

获取有关总线对象的信息

用MATLAB来确定数字时间序列的结构所需的对象和数据类型、复杂性和维数时间序列对象,使用这些方法:

  • 金宝appsimulink.bus.getnumleaflembusements.

  • 金宝appsimulink.bus.getleafbusements.

例如,对于总线对象busobject.

num_el = busobject.getnumleafleafbusements.
num_el = 3
el_list = busobject.getleafbusements.
el_list = 3x1 BusElement数组的属性:Min Max DimensionsMode SampleTime Description Units Name DataType Complexity Dimensions
el_list(1).dimensions
ans = 1

从公共汽车创建TimeSeries对象的结构

如果你有时间序列定义对象,您可以使用它们来创建一个结构时间序列基于总线对象的对象。使用金宝appSimulink.SimulationData.createStructOfTimeseries函数。例如,如果你已经定义时间序列对象壹空间ts2,ts3,你有一个总线对象MyBusObject,可以使用此命令创建的结构时间序列对象:

输入= simu金宝applink.simulationData.createStuceoffimeSeries(......“MyBusObject”, {ts1, ts2, ts3});

的数量时间序列单元格阵列中的对象必须与总线对象中的叶子元素数匹配。每个数据类型,尺寸和复杂性时间序列对象必须匹配相应总线对象叶节点的那些属性。

导入总线数据数组

使用根导入(加载)总线数据数组轮廓尺寸块,使用MATLAB的数组结构时间序列对象。

笔记

你不能使用使能够触发来自工作区, 或者从文件块以导入用于一系列总线的数据。

数据的详细说明

您可以将来自先前模拟的总线信号数组的日志数据用作到后续模拟运行中的根级导入的往返输入。记录的数据是数据的完整规范轮廓尺寸堵塞。

如果你构造一个MATLAB的数组结构时间序列对象以完全指定要导入的数据:

  • 以与总线信号中的信号相同的顺序指定结构字段。

  • 不包括结构中的更多字段,而不是总线中的信号。

    对于叶字段,要精确匹配总线中相应信号的数据类型、维度和复杂性。

数据的部分规范

要指定总线数组的部分数据,请使用MATLAB创建MATLAB结构的结构数组时间序列对象在叶节点上。

用于指定部分数据的结构必须符合以下规则:

  • 您可以省略字段,包括叶节点和子核心。您也可以省略尺寸。如果您未指定字段,Simulink金宝app®使用该字段的接地值。

  • 对于嵌套总线节点,使每个字段的尺寸等于或小于总线数组的相应节点的维度。

这个示例展示了如何使用根目录指定要导入的部分数据轮廓尺寸其数据类型被定义为总线对象的块MyBus.您可以打开模型(ex_partial_loading_aob_model.)和Matlab代码定义要导入的数据(ex_partial_loading_aob_data.m.)。

当你模拟ex_partial_loading_aob_model.,你看:

输入轮廓尺寸块使用MyBus总线对象作为其数据类型。

MyBus一系列公共汽车包括mybus(1)mybus(2).端口维度设置为2,以反映总线数组中的两个总线,以及输出为非虚拟总线已启用。

以下是总线数组的元素,包括mybus(1)mybus(2).颜色高亮显示的是正在为其导入数据的总线阵列的节点。

以下是MATLAB代码,用于定义要导入的数据。突出显示代码的颜色与总线数组中的相应节点的颜色匹配。要查看此模型中使用的代码,请打开MATLAB代码文件ex_partial_loading_aob_data.m.

在定义导入数据的代码中:

  • 时间序列目的mybusvalue.指定突出显示节点的数据。

  • 时间序列目的BT.为了mybus(2), 因为BT.是叶节点,它必须完全匹配相应总线元素的尺寸,数据类型和复杂性。

  • 该结构指定数据Y (2).的第一个和最后一个嵌套总线y(那是,Y (1)Y (3))。

此示例指定数据Y (2);的第一个和最后一个嵌套总线y(那是,Y (1)Y (3))。

定义后mybusvalue.导入数据的变量,设置配置参数>数据导入/导出>输入参数到mybusvalue.

也可以看看

相关例子

更多关于