Crear objetos de bus de Simulink de forma programática
Puede crear un objeto Simulink.Bus
de forma programática y sus objetos Simulink.BusElement
a partir de arreglos, bloques, arreglos de celdas, estructuras o código C.
A medida que crea objetos de bus de forma programática, puede almacenarlos en el área de trabajo de MATLAB® o en un diccionario de datos, o guardar sus definiciones en una función. En el caso de los objetos de bus del área de trabajo base, puede guardar de forma programática sus definiciones en una función mediante la función Simulink.Bus.save
.
Para simular un bloque que usa un objeto de bus, ese objeto de bus debe estar en el área de trabajo base o en un diccionario de datos.
Crear objetos de bus a partir de objetos de elemento de bus
Cree una jerarquía de objetos Simulink.Bus
mediante arreglos de objetos Simulink.BusElement
.
Cree un arreglo que contenga dos objetos BusElement
en el área de trabajo base y denomínelos Chirp
y Sine
.
elems(1) = Simulink.BusElement; elems(1).Name = 'Chirp'; elems(2) = Simulink.BusElement; elems(2).Name = 'Sine';
La indexación del arreglo permite crear y acceder a los elementos del arreglo. La notación de puntos permite acceder a los valores de propiedad de los elementos.
Cree un objeto Bus
, denominado Sinusoidal
, que contenga los elementos definidos en el arreglo elems
.
Sinusoidal = Simulink.Bus; Sinusoidal.Elements = elems;
Para crear una jerarquía de objetos Bus
, cree otro objeto Bus
para referenciar el objeto Bus
denominado Sinusoidal
.
Cree un arreglo que contenga dos objetos BusElement
y denomínelos NestedBus
y Step
. Especifique el objeto Bus
denominado Sinusoidal
como el tipo de datos del elemento NestedBus
.
clear elems elems(1) = Simulink.BusElement; elems(1).Name = 'NestedBus'; elems(1).DataType = 'Bus: Sinusoidal'; elems(2) = Simulink.BusElement; elems(2).Name = 'Step';
Cree un objeto Bus
, denominado TopBus
, que contenga los elementos definidos en el arreglo elems
.
TopBus = Simulink.Bus; TopBus.Elements = elems;
Puede ver la jerarquía de los objetos creados en el editor de tipos.
typeeditor
Crear objetos de bus a partir de bloques
Para crear de forma programática un objeto Simulink.Bus
basado en un bloque en un modelo, use la función Simulink.Bus.createObject
.
Si especifica un bloque Bus Creator que está en el nivel más alto de una jerarquía de buses, la función crea objetos de bus para todos los buses de la jerarquía, incluidos los buses anidados.
Crear objetos de bus a partir de datos de MATLAB
Para crear un objeto Simulink.Bus
a partir de un arreglo de celdas, use la función Simulink.Bus.cellToObject
. Cada arreglo de celdas subordinado representa otro objeto de bus.
Para crear un objeto de bus a partir de una estructura de MATLAB, use la función Simulink.Bus.createObject
. La estructura puede contener timeseries
de MATLAB, timetable
de MATLAB y objetos matlab.io.datastore.SimulationDatastore
o puede ser una estructura numérica.
Crear objetos de bus a partir de código C externo
Puede crear un objeto Simulink.Bus
que se corresponda con un tipo de estructura (struct
) que defina el código C existente. Luego, como preparación para integrar el código C algorítmico existente en la simulación (por ejemplo, usando Legacy Code Tool), puede usar el objeto de bus para empaquetar datos de señales o de parámetros de acuerdo con el tipo de estructura. Para crear el objeto, use la función Simulink.importExternalCTypes
.