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)?
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:
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.