Creazione di oggetti bus Simulink in modo programmatico
È possibile creare un oggetto Simulink.Bus
in modo programmatico e i relativi oggetti Simulink.BusElement
da array, blocchi, array di celle, strutture o codice C.
Quando si creano oggetti bus in modo programmatico, è possibile memorizzarli nel workspace di MATLAB® o in un dizionario di dati, oppure salvare le loro definizioni in una funzione. Le definizioni degli oggetti bus nel workspace di base possono essere salvate in modo programmatico in una funzione utilizzando la funzione Simulink.Bus.save
.
Per simulare un blocco che utilizza un oggetto bus, quest'ultimo deve trovarsi nel workspace di base o in un dizionario dati.
Creazione di oggetti bus da oggetti dell'elemento bus
Creare una gerarchia di oggetti Simulink.Bus
utilizzando array di oggetti Simulink.BusElement
.
Creare un array che contenga due oggetti BusElement
denominati Chirp
e Sine
nel workspace di base.
elems(1) = Simulink.BusElement; elems(1).Name = 'Chirp'; elems(2) = Simulink.BusElement; elems(2).Name = 'Sine';
L'indicizzazione degli array consente di creare e accedere agli elementi dell'array. La notazione a punti consente di accedere ai valori delle proprietà degli elementi.
Creare un oggetto Bus
denominato Sinusoidal
che contenga gli elementi definiti nell'array elems
.
Sinusoidal = Simulink.Bus; Sinusoidal.Elements = elems;
Per creare una gerarchia di oggetti Bus
creare un altro oggetto Bus
che faccia riferimento all'oggetto Bus
denominato Sinusoidal
.
Creare un array che contenga due oggetti BusElement
denominati NestedBus
e Step
. Specificare l'oggetto Bus
denominato Sinusoidal
come tipo di dati dell'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';
Creare un oggetto Bus
denominato TopBus
che contenga gli elementi definiti nell'array elems
.
TopBus = Simulink.Bus; TopBus.Elements = elems;
È possibile visualizzare la gerarchia degli oggetti creati nell'Editor dei tipi.
typeeditor
Creazione di oggetti bus dai blocchi
Per creare un oggetto Simulink.Bus
in modo programmatico sulla base di un blocco in un modello, utilizzare la funzione Simulink.Bus.createObject
.
Se si specifica un blocco Bus Creator che si trova al livello più alto di una gerarchia di bus, la funzione crea oggetti bus per tutti i bus della gerarchia, compresi i bus annidati.
Creazione di oggetti bus dai dati di MATLAB
Per creare un oggetto Simulink.Bus
da un array di celle, utilizzare la funzione Simulink.Bus.cellToObject
. Ciascun array di celle subordinato rappresenta un altro oggetto bus.
Per creare un oggetto bus da una struttura di MATLAB, utilizzare la funzione Simulink.Bus.createObject
. La struttura può contenere oggetti MATLAB timeseries
, MATLAB timetable
e matlab.io.datastore.SimulationDatastore
oppure può essere una struttura numerica.
Creazione di oggetti bus da codice C esterno
È possibile creare un oggetto Simulink.Bus
che corrisponda a un tipo di struttura (struct
), definito dal codice C esistente. Quindi, nella preparazione dell'integrazione del codice C algoritmico esistente per la simulazione (ad esempio, utilizzando lo strumento del codice legacy), è possibile utilizzare l'oggetto bus per impacchettare i dati dei segnali o dei parametri in base al tipo di struttura. Per creare l'oggetto, utilizzare la funzione Simulink.importExternalCTypes
.