Bus elements with multiple dimensions

8 vues (au cours des 30 derniers jours)
Al
Al le 11 Avr 2021
Réponse apportée : Pramil le 22 Mai 2024
I have a structure S with three time series fields a, b and a.
S.a = timeseries
S.b = timeseries
S.c = timeseries
I'd like to create a bus object (B) with above bus element. But instead of creating 3 bus elements (a, b and c) I'd like to create one bus element (S) with dimension of 3. I created the bus B like this:
S = Simulink.BusElement;
S.Name = 'S';
S.Dimensions = 3;
B = Simulink.Bus;
B.Elements = S;
How can I assing (sub)bus elements (a, b and c) to S (and B)?

Réponse acceptée

Pramil
Pramil le 22 Mai 2024
Hi Alborz,
To create a Bus Object B that contains a single Bus Element S which itself represents a structure with three timeseries fields “a”, “b” and “c”, you will need to create a nested bus structure. This involves creating Bus Objects for both the outer structure B and the inner structure S, and then defining a, b, and c as elements within a bus that S represents. Here is how you can do it on MATLAB R2020a:
  • Define Bus Objects for “a”, “b”, and “c”.
elemA = Simulink.BusElement;
elemA.Name = 'a';
elemB = Simulink.BusElement;
elemB.Name = 'b';
elemC = Simulink.BusElement;
elemC.Name = 'c';
  • Create a Bus Object for the inner structure “S”.
S = Simulink.Bus;
S.Elements = [elemA elemB elemC];
  • Create the outer Bus Object “B” and add “S” as a datatype.
elemS = Simulink.BusElement;
elemS.Name = 'S';
elemS.Dimensions = 1;
elemS.DataType = 'Bus: S';
B = Simulink.Bus;
B.Elements = elemS;
To know more about Simulink.BusElement and Simulink.Bus you can refer the following links:
Hope it helps.

Plus de réponses (0)

Catégories

En savoir plus sur Composite Interfaces dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by