Why aren't global variables being recognized in Simulink model explorer?

5 visualizaciones (últimos 30 días)
When running the dsm_demo.mdl referenced by this Mathworks documentation, global variable A is visible within the Model Explorer as a Data Store Memory object:
When I replicate the MATLAB function used in this model using a global variable B, it is not recognized in the Model Explorer:
Similarly, the Ports and Data Manager for "MATLAB Function" (the provided function) shows A as a data object, while the Ports and Data Manager for "MATLAB Function1" (replicated function) does not show B as a data object.
The MATLAB function used in the model, compared to the one I created are the exact same:
Provided MATLAB function (denoted by "MATLAB Function"):
function y = fcn
%#codegen
global A;
A = A+1;
y = A;
Replicated MATLAB function (denoted by "MATLAB Function1"):
function y = fcn
%#codegen
global B;
B = B+1;
y = B;
I've specifed the Data Type and the Signal Type as the same as with the model's global variable A (data type is double, signal type is real).
When running this model the error messages received are as shown:
Has anyone else seen this issue? Any help would be appreciated!

Respuesta aceptada

Fangjun Jiang
Fangjun Jiang el 14 de Oct. de 2022
Double click "MATLAB Function1" to open the Editor, click "Edit Data" button, add data "B" as a "Data Store Memory".
  3 comentarios
Fangjun Jiang
Fangjun Jiang el 14 de Oct. de 2022
Editada: Fangjun Jiang el 14 de Oct. de 2022
Not sure. It seems that if you change the function arguments fcn(x,y,z), x,y and z are automatically reflected in the Ports and Data Manager. But since global variable does not appear in the function arguments, you have to manage it directly in the Ports and Data Manager.
Agni Sarode
Agni Sarode el 14 de Oct. de 2022
Understood. Seems like the demo model may have already initialized the global variable A in the Ports and Data Manager. But this page fails to mention to do the same when the user is creating their own.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Simulink Functions en Help Center y File Exchange.

Productos


Versión

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by