Bus elements with multiple dimensions

8 Ansichten (letzte 30 Tage)
Al
Al am 11 Apr. 2021
Beantwortet: Pramil am 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)?

Akzeptierte Antwort

Pramil
Pramil am 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.

Weitere Antworten (0)

Kategorien

Mehr zu Composite Interfaces finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by