Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

以编程方式创建总线对象

您可以通过编程方式从数组、模块、元胞数组、结构体或 C 代码创建 Simulink.Bus 对象及其 Simulink.BusElement 对象。

当您以编程方式创建 Bus 对象时,您可以将它们存储在 MATLAB® 工作区或数据字典中,或将其定义保存在函数中。对于基础工作区中的 Bus 对象,您可以使用 Simulink.Bus.save 函数以编程方式将其定义保存在函数中。

要对使用 Bus 对象的模块进行仿真,Bus 对象必须位于基础工作区或数据字典中。

基于总线元素对象创建总线对象

使用 Simulink.BusElement 对象的数组创建 Simulink.Bus 对象的层次结构。

在基础工作区中创建一个数组,其中包含两个 BusElement 对象,分别名为 ChirpSine

elems(1) = Simulink.BusElement;
elems(1).Name = 'Chirp';

elems(2) = Simulink.BusElement;
elems(2).Name = 'Sine';

数组索引允许您创建和访问数组的元素。圆点表示法允许您访问元素的属性值。

创建一个名为 SinusoidalBus 对象,该对象包含 elems 数组中定义的元素。

Sinusoidal = Simulink.Bus;
Sinusoidal.Elements = elems;

要创建 Bus 对象的层次结构,请创建另一个 Bus 对象来引用名为 SinusoidalBus 对象。

创建一个数组,其中包含两个 BusElement 对象,分别命名为 NestedBusStep。将名为 SinusoidalBus 对象指定为 NestedBus 元素的数据类型。

clear elems

elems(1) = Simulink.BusElement;
elems(1).Name = 'NestedBus';
elems(1).DataType = 'Bus: Sinusoidal';

elems(2) = Simulink.BusElement;
elems(2).Name = 'Step';

创建一个名为 TopBusBus 对象,该对象包含 elems 数组中定义的元素。

TopBus = Simulink.Bus;
TopBus.Elements = elems;

您可以在总线编辑器中查看创建的对象的层次结构。

buseditor

基于模块创建总线对象

要基于模型中的模块以编程方式创建 Bus 对象,请使用 Simulink.Bus.createObject 函数。

如果指定位于总线层次结构最高级的 Bus Creator 模块,该函数将为层次结构中的所有总线创建 Bus 对象,包括嵌套总线。

基于 MATLAB 数据创建总线对象

要从元胞数组创建 Bus 对象,请使用 Simulink.Bus.cellToObject 函数。每个子元胞数组表示一个 Bus 对象

要从 MATLAB 结构体创建 Bus 对象,请使用 Simulink.Bus.createObject 函数。该结构体可以包含 MATLAB timeseries、MATLAB timetablematlab.io.datastore.SimulationDatastore 对象,也可以是数值结构体。

基于外部 C 代码创建总线对象

您可以创建与现有 C 代码定义的结构体类型 (struct) 对应的 Bus 对象。然后,在准备集成现有算法 C 代码进行仿真(例如,通过使用代码继承工具)时,您可以使用 Bus 对象根据结构体类型来打包信号或参数数据。要创建对象,请使用 Simulink.importExternalCTypes 函数。

另请参阅

函数

相关主题