How can I programmatically add a Stateflow.Data ?

I used a Mathworks tutorial (in the link under) to copy a stateflow, but data (in the sybols Pane) aren't flollowing.
How I can Copy or add Stateflow.Data ?
Thanks

Respuestas (1)

Gojo
Gojo el 18 de Oct. de 2024
Editada: Gojo el 18 de Oct. de 2024

0 votos

As far as I understand, copying graphical objects also copies the Stateflow.Data objects contained by graphical objects. When you copy multiple graphical objects, the value of their Subviewer property must be the same. Also note that the array must contain only graphical objects or only nongraphical objects.
If the above conditions are satisfied, the Stateflow.Data should get copied.
For more information please check the documentation of objArray (the objects to copy) using the copy function: https://www.mathworks.com/help/stateflow/api/stateflow.clipboard.copy.html#mw_af87b90f-8fbe-430e-a5f0-03b56fe3978e
If you have further queries, please share the example you are using in order to reproduce the issue.
Happy coding!

3 comentarios

Ok I understood my problem, I was not looking for the Stateflow.Datas in the right place of the model
Thanks for yours answer
Gojo
Gojo el 21 de Oct. de 2024
Happy to know that the issue has been resolved!
sorry wrong handling I made a mistake
So I have 2 files .slx with chart:
file_1.slx :
file_2.slx :
My code :
open_system('File_1.slx')
open_system('File_2.slx')
ch = find(sfroot,'-isa','Stateflow.Chart');
sA = find(ch,'-isa','Stateflow.State','Name','Etat2Copie');
sB = find(ch,'-isa','Stateflow.State','Name','Etat_parent');
sB.IsSubchart = true;
% sB.IsGrouped = true;
objArrayS = find(sA,'-isa','Stateflow.State');
objArrayS = setdiff(objArrayS,sA);
objArrayT = find(sA,'-isa','Stateflow.Transition');
objArray = [objArrayS; objArrayT];
cb = sfclipboard;
copy(cb,objArray);
pasteTo(cb,sB);
sB.IsSubchart = false;
sB.IsGrouped = false;
Résults:
The problème is :
Symbols = find(sfroot,'-isa','Stateflow.Data')
Symbols =
0×1 empty handle
I expected the following result :
ans =
Path: 'ModeleTest/Chart1'
Id: 30
Machine: [1×1 Stateflow.Machine]
SSIdNumber: 15
Name: 'x'
Description: ''
SaveToWorkspace: 0
DataType: 'Inherit: Same as Simulink'
Props: [1×1 Stateflow.DataProps]
ParsedInfo: [1×1 Stateflow.DataParsedInfo]
CompiledSize: ''
CompiledType: 'unknown'
Tag: []
Document: ''
Port: 1
Scope: 'Output'
TestPoint: 0
OutputState: []
Debug: [1×1 Stateflow.DataDebug]
InitializeMethod: 'Expression'
UpdateMethod: 'Discrete'
LoggingInfo: [1×1 Stateflow.SigLoggingInfo]
Tunable: 1

Iniciar sesión para comentar.

Categorías

Más información sobre MAB Modeling Guidelines en Centro de ayuda y File Exchange.

Productos

Versión

R2020b

Etiquetas

Preguntada:

el 18 de Oct. de 2024

Comentada:

el 21 de Oct. de 2024

Community Treasure Hunt

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

Start Hunting!

Translated by