您可以使用在汽车元素块加载外部输入数据总线。使用在汽车元素块允许灵活的外部接口总线的设计和实现。您可以使用一个公共汽车元素加载数据块元素的公共汽车或加载整个总线的数据。你也可以使用多个总线元素块选择同一总线。
这个例子展示了如何使用总线元素块为总线负载输入数据元素。加载整个总线使用的总线数据元素,您必须指定在总线的数据类型元素块使用金宝appSimulink.Bus
对象。
打开ex_load_inbuselement
模型。
open_system (“ex_load_inbuselement.slx”)
一个或多个总线元素块模型中可以定义一个端口。的ex_load_inbuselement
模型有一个港口,InBus
总线元素中,由三个街区。总线的标签为每个元素块显示块选择公共汽车元素。的InBus
包含嵌套总线端口对应一个总线,一个
,信号x
和y
一个单独的信号,b
。
使用输入的参数数据导入/导出面板中指定工作区数据加载模拟输入端口的模型。的输入参数的ex_load_inbuselement
模型加载变量struct1
,根据映射到港口端口号在公共汽车元素中定义的块对话框。
端口总线数据加载接受个体组成的结构timeseries
,时间表
,matlab.io.datastore.SimulationDatastore
对象。结构的层次结构必须匹配总线的层次结构。端口使用总线元素块选择总线允许部分规范和overspecification数据元素。
这个示例创建了使用三种结构timeseries
对应于一个正弦波信号,一条线,和一个常数。
时间= linspace (0、10、11);sineData =罪(时间);constData = 3 * 1(11日1);lineData = linspace (0、10、11);tsSine = timeseries (sineData、时间);tsConst = timeseries (constData、时间);tsLine = timeseries (lineData、时间);
构建结构,struct1
提供输入数据端口的模式。字段名称必须匹配总线结构元素名称。
struct1.a。x= tsConst; struct1.a.y = tsLine; struct1.b = tsSine;
在前一节中创建的数据完全指定的数据选择的信号在总线模型中的元素块。仪表盘上的模拟模型和观察的信号范围。
当你使用在汽车元素块选择公共汽车元素,使用结构,部分可以指定数据不包括一个或多个选中的元素。中定义的元素没有数据结构使用地面模拟信号值。
例如,编辑在总线的标签元素块选择元素InBus.a.y
所以选择在公共汽车元素的块InBus.a.z
。映射到的结构InBus
港口不包含一个字段z
在嵌套结构,一个
。当你模拟模型,无需修改结构,仪表板显示为范围InBus.a.z
。
改变在总线端口块选择元素InBus.a.z
重新选择InBus.a.y
。
当你使用在汽车元素块选择公共汽车元素,您可以overspecify数据端口。Overspecified输入数据包含信号不被任何总线模型中的元素块。
例如,改变总线的标签元素选择的块InBus.a.y
选择InBus.b
。现在,没有一个选择在公共汽车元素块InBus.a.y
,同时还包含该元素的数据结构。
仪表盘上的模拟模型和观察的信号范围。