Borrar filtros
Borrar filtros

How can i maintain different variable(global) for multiple instances of same block.

4 visualizaciones (últimos 30 días)
I have generated a library.
Integrated external c function using s-function builder.
Different instances of the custom block operates on a single global variable. My requirement needs to maintain separate global variable for multiple instances.
How can i get that to work?
Using R2020b

Respuestas (1)

Rishav
Rishav el 19 de Feb. de 2024
Hi Anamika,
You can use Simulink's S-Function API to manage instance-specific data. Please follow the below mentioned steps to achieve the same:
  1. Define a structure to hold the instance-specific data for each block instance. This structure will include the global variable and any other relevant information.
  2. Use the S-Function's 'mdlInitializeSizes' function to allocate memory for the instance-specific data structure for each block instance.
  3. Use the S-Function's 'mdlOutputs' or 'mdlUpdate' functions to access and manipulate the instance-specific data as needed.
You can also refer to the below mentioned documentations on:
  1. mdlInitializeSizes - https://www.mathworks.com/help/releases/R2020b/simulink/sfg/mdlinitializesizes.html
  2. mdlOutputs - https://www.mathworks.com/help/releases/R2020b/simulink/sfg/mdloutputs.html
  3. mdlTerminate - https://www.mathworks.com/help/releases/R2020b/simulink/sfg/mdlterminate.html

Categorías

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

Community Treasure Hunt

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

Start Hunting!

Translated by