主要内容

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

可以导入总线数据顶级输入端口中的数据通过手动指定输入配置参数或使用根尺寸映射器工具。信息导入使用根尺寸总线数据映射器工具,明白了总线数据导入

进口汽车数据需求

可以导入巴士(公共汽车的虚拟、nonvirtual或数组)数据到顶级输入端口定义的总线对象(见金宝appSimulink.Bus)。在顶层轮廓尺寸块,设置数据类型公共汽车并指定一个总线对象的名称。为总线信号,指定数据值使用的结构:

  • MATLAB®timeseries对象

  • MATLAB时间表对象

  • 的组合timeseries时间表对象

公共汽车元素不包含一个字段结构使用地面值。您可以使用一个空矩阵指定使用地面值。

请注意

当你指定时间表数据加载的时间表必须包含的数据只有一个信号。

的结构timeseries时间表(或两者)的对象必须匹配总线元素:

  • 层次结构

  • 结构字段的名称,必须与总线元素名称相匹配。(的名字财产的timeseries对象不需要公共汽车元素名称相匹配。)

  • 数据类型

  • 复杂性

结构域的顺序没有匹配总线元素的顺序。

您可以包括结构的一个元素数据集对象。您可以使用逗号分隔列表结构。您可以指定一个空矩阵以逗号分隔列表。空矩阵使用地面值总线信号。

例如,加载数据输入端口三机一体in3端口,使用地面值in2中,输入以下的输入参数:

in3 in1, []

初始化总线信号

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

为详细信息导入根总线数据的数组轮廓尺寸块,看进口汽车数据的数组

限制进口顶级总线数据输入

信号数据,您可以使用根尺寸Mapper工具导入和映射到一个顶级轮廓尺寸可以包括总线数据块。你不能使用这个工具总线信号映射到一个顶级启用或触发块。

你不能使用输入港口进口汽车外部模式。进口汽车的数据快速加速器模式,使用数据集格式。

总线数据导入到顶级轮廓尺寸

这个模型有两个轮廓尺寸块连接到范围块。的数据类型三机一体块继承(nonbus数据)的数据类型In2块定义的总线对象BusObject。加载的模型有一个回调BusObject及其sub-busBusObject1

BusObject总线对象有两个元素:

  • c

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

    • 一个

    • b

  1. 打开模型

  2. 创建一个MATLABtimeseries对象三机一体,您想要导入nonbus数据。

    例如:

    t1 = (1:10) ';d1 =罪(t1);三机一体= timeseries (d1, t1);
  3. 创建一个输入结构,由MATLABtimeseries对象或MATLAB时间表对象,或结合这些类型的对象。创建一个timeseries时间表为每个叶总线元素对象你不想使用地面值。这个示例使用的值b公共汽车元素,所以它不需要timeseries时间表对象元素。

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

    MATLABtimeseries创建的对象必须匹配相应的汽车元素,中描述进口汽车数据需求

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

    ds = 金宝appSimulink.SimulationData.Dataset;ds = ds.addElement(三机一体,“in1_signal”);ds = ds.addElement (in2,“in2_signal”);
  5. 配置参数>数据导入/导出>输入参数编辑框,输入数据集对象ds

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

得到关于总线对象的信息

确定MATLAB的数量timeseries对象和数据类型、复杂性和所需维度创建一个结构timeseries对象从一辆公共汽车,使用这些方法:

  • 金宝appSimulink.Bus.getNumLeafBusElements

  • 金宝appSimulink.Bus.getLeafBusElements

例如,公共汽车对象BusObject:

num_el = BusObject.getNumLeafBusElements
num_el = 3
el_list = BusObject.getLeafBusElements
el_list = 3 x1 BusElement数组属性:Min马克斯DimensionsMode SampleTime描述单位名称数据类型复杂性维度
el_list (1) .Dimensions
ans = 1

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

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

输入= Simu金宝applink.SimulationData.createStructOfTimeseries (“MyBusObject”,{ts1, ts2, ts3});

的数量timeseries单元阵列中的对象必须匹配总线中的叶子元素对象的数量。数据类型、维度和复杂性timeseries对象必须符合这些叶子节点的对应总线对象的属性。

进口汽车数据的数组

进口(负载)使用根公交数据的数组轮廓尺寸块,使用MATLAB的数组结构timeseries对象。

请注意

你不能用一个启用,触发,从工作空间,或从文件导入数据块数组的公交车。

完整规范的数据

您可以使用记录数据数组的巴士从先前的模拟信号往返输入root尺寸在随后的模拟运行。记录的数据是数据的完整规范轮廓尺寸块。

如果你构建一个数组MATLAB的结构timeseries对象指定完全数据导入:

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

  • 不包含多个字段的结构比在公共汽车上有信号。

    对于叶字段,完全匹配的数据类型,尺寸,和相应的信号总线的复杂性。

部分规格的数据

指定部分数据数组的巴士,用MATLAB创建一系列MATLAB的结构timeseries叶节点对象。

您创建的指定部分数据结构必须符合这些规则:

  • 你可以省略字段,包括叶节点和支行。你也可以省略维度。如果你不指定一个字段,仿真软件金宝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,以反映两个数组的巴士公交车,和输出作为nonvirtual总线启用。

这里有公交车的数组的元素,其中包括MyBus (1)MyBus (2)。颜色突出显示了公交车的节点数组的数据被导入。

这是MATLAB代码定义了数据导入。亮点的颜色代码匹配的颜色数组中对应节点的公交车。查看代码在这个模型中,打开MATLAB代码文件ex_partial_loading_aob_data.m

的代码中定义导入数据:

  • timeseries对象MyBusValue指定的数据突出显示节点。

  • timeseries对象英国电信MyBus (2),因为英国电信是一个叶节点,它必须完全匹配维度、数据类型以及相应的总线元素的复杂性。

  • 指定的数据结构Y (2)。您可以跳过第一个和最后一个嵌套的公交车Y(即,Y (1)Y (3))。

本例中指定的数据Y (2);您可以跳过第一个和最后一个嵌套的公交车Y(即,Y (1)Y (3))。

在你定义MyBusValue变量导入数据,设置配置参数>数据导入/导出>输入参数MyBusValue

另请参阅

相关的话题