Copying constant from stateflow model to simulink

조회 수: 1 (최근 30일)
Gyanaranjan Pattanaik
Gyanaranjan Pattanaik 2012년 9월 24일
Hello,
I have a need to write an automate script, that can copy the constants used in a statemachine's Machine to a simulink model.
I am manage to get the constants from the Statemachine but could not find a method to paste to a simulink.
For e.g. load_system(ModelName); rt = sfroot; m = rt.find('-isa','Simulink.BlockDiagram','-and','Name',%modelName); constants = m.find('-isa', 'Stateflow.Data','scope','constant'); Now, I want paste the constants to a simulink model. Certainly I dont want the model workspace to do this job but diriectly in the model level in explorer.I just found some solution using clipboard,but was not successful.
It will be great if someone help me out with wayout to accomplish this.

답변 (2개)

Kaustubha Govind
Kaustubha Govind 2012년 10월 24일
I wonder if you might need to write MATLAB code such as the following to get the value of the constant, and write it to whatever workspace you like:
>> eval(constants(i).Props.InitialValue)

Siddharth
Siddharth 2012년 10월 30일
I am not sure I understand what you mean by: "Certainly I dont want the model workspace to do this job but diriectly in the model level in explorer.I just found some solution using clipboard,but was not successful.". Please elaborate.
One solution that I can see from my current understanding of your issue is:
rt = sfroot; m = rt.find('-isa','Simulink.BlockDiagram','-and','Name','%modelname'); constants = m.find('-isa', 'Stateflow.Data','scope','constant'); mdlWkspc = get_param('%modelname','modelworkspace') assignin(mdlWkspc,constants.Name, %constantValue)
Please provide details of why this solution does not meet your needs.
best, Siddharth

카테고리

Help CenterFile Exchange에서 Simulink Functions에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by