Initialize Global Variable in Simulink

Getting the following error in Simulink: "Global declaration not resolved to a Data Store Memory block registered via the Ports and Data Manager."
Background: I am trying to run simple code inside a Matlab function block and require a variable GEAR initialized to 1 only at the beginning of the simulation so the Function Block code can increment/decrement GEAR. I have tried declaring the variable as "global GEAR" and then "GEAR = 1" in Callbacks - InitFcn, as well as placing in a .mat file but but get the error above when the variable GEAR is used within the Matlab Function Block.
I have not been successful (even with Matlap documentation) to use the Data Store. And more to the point think there must be an easier way to do such a basic thing as initialize a global variable than start creating data stores. And what/where is the "Ports and Data Manager" - it doesn't even come up in the help file seach.
Any help appreciated.

 Accepted Answer

In your MATLAB Function block editor, click "Edit Data" icon on the tool strip, add "Gear" as a data.
In the Simulink model, add a "Data Store Memory" block and name the "data store name" as "Gear". Resolve any error by setting property values.
see this link

4 Comments

Ok, I feel silly but I do not see "Edit Data" on the tool strip. Do you mean "Model Data Editor"? (I have 2021b). And if so, I do not see the ability to add anything.
It is called " Ports & Data Manager". See the steps in the link. It is for R2021b.
Just for anyone else stumbling across this thread needing help... The Ports & Data Manager in the tool strip appears while editing the Matlab Function Block - at least in 2021b. You can then add a data as previous answer guided, but be sure to changed Scope in the table to Data Store Memory because it defaults to another Input. Then continue as previous answer guided by adding a Data Store, changing name and resolving the errors given.
Thank you sir.
Where does the Ports & Data Manager appear ? Can you please share me a screenshot. I am unable to find it.

Sign in to comment.

More Answers (0)

Categories

Products

Release

R2021b

Asked:

MB
on 29 Mar 2022

Commented:

on 27 Oct 2023

Community Treasure Hunt

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

Start Hunting!