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

Risposte (1)

Gojo
Gojo il 18 Ott 2024
Modificato: Gojo il 18 Ott 2024
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 Commenti

Ok I understood my problem, I was not looking for the Stateflow.Datas in the right place of the model
Thanks for yours answer
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

Accedi per commentare.

Categorie

Prodotti

Release

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by