To create a bus object and its bus elements programmatically from scratch or based on a block, data, or C code.
Create Simulink.Bus and Simulink.BusElement Objects Directly
— Construct a
Simulink.Bus object and define its
Simulink.BusElement objects for the
elements of the bus.
Create Bus Objects from Blocks — Create a bus object and its bus element objects based on a block in a model.
Create Bus Objects from MATLAB Data — Create a bus object and its bus elements based on a MATLAB® structure or cell array.
Create Bus Objects from External C Code — Create a bus
object and its bus elements based on your external C code
struct). Use the
As you create bus objects programmatically, you can store them in either the MATLAB workspace or in a MATLAB file. After you create a bus object, you can use MATLAB commands to save the bus objects to a MAT-file (see Save and Load Workspace Variables (MATLAB)). To simulate a block that uses a bus object, that bus object must be in the base workspace or in a data dictionary.
You can specify the bus object to be the data type of a block either before or after defining the bus object. However, before you simulate the model, the bus object and the corresponding bus signal must have the same number of bus elements, in the same order. Also, each bus element in the bus object and in the corresponding bus element signal must have the same data type and dimensions.
During model development, you can modify bus signals to match bus objects or modify bus objects to match buses.
You can create a
Simulink.Bus object and its
programmatically. The bus objects are stored in the base workspace. For each bus
element object, specify the name, dimensions, and data type. The other bus element
object properties are optional. For the bus object, specify the bus elements. The
other bus object properties are optional. For example, this code creates two bus
element objects that are then used as the elements of the
clear elems; elems(1) = Simulink.BusElement; elems(1).Name = 'VALVE1'; elems(1).Dimensions = 1; elems(1).DimensionsMode = 'Fixed'; elems(1).DataType = 'double'; elems(1).SampleTime = -1; elems(1).Complexity = 'real'; elems(2) = Simulink.BusElement; elems(2).Name = 'VALVE2'; elems(2).Dimensions = 1; elems(2).DimensionsMode = 'Fixed'; elems(2).DataType = 'double'; elems(2).SampleTime = -1; elems(2).Complexity = 'real'; CONTROL = Simulink.Bus; CONTROL.Elements = elems;
This script is similar to the file you get if you save a bus object to a
MATLAB file and choose the
Object format. For
information about saving bus objects, see Save Bus Objects.
You can create a bus object and its bus elements programmatically based on a block
in a model. Use the
function and specify the model and blocks for which to create bus objects for.
Before you use the function, the model must be compilable. For example, if you
specify a Bus Creator block that is at the highest level of a nested
bus hierarchy, the function creates bus objects for all of the buses in the
hierarchy. You can specify to have the bus objects created in the base workspace or
to save them in a MATLAB file.
You can create a bus object from cell arrays of bus information in MATLAB, using the
function. Each cell subordinate cell array represents a bus object and includes the
following data, reflecting
Elements field is a cell array defining these properties
You can create a bus object from a MATLAB structure of
function. Alternatively, you can specify a numeric MATLAB structure. You can specify to have the bus objects created in the base
workspace or to save them in a MATLAB file.
You can create a bus object that corresponds to a structure type
struct) that your existing C code defines. Then, in
preparation for integrating existing algorithmic C code for simulation (for example,
by using the Legacy Code Tool), you can use the bus object to package signal or
parameter data according to the structure type. To create the object, use the