Main Content

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.

Vedi anche

Funzioni

Classi

Argomenti complementari