Simulink C-caller with persistent fcn
조회 수: 4 (최근 30일)
이전 댓글 표시
I'd like to have a short fcn in Simulink called by C-caller
if (state>0)
{
state = -1;
y = 0.1;
} else if (state < 0)
{
state = 1;
y = -0.1;
} else
y=0;
I need to have "state" variable as peristent, can I have a persistent variable within C-caller?
Thank you.
댓글 수: 0
답변 (2개)
Shantanu Dixit
2024년 11월 1일
Hi Jack,
You can make the 'state' variable persistent within a C-caller block in Simulink by declaring it as 'static' in your C function. This ensures that the 'state' retains its value between calls to the function, effectively making it persistent across simulation time steps.
Hope this helps!
댓글 수: 0
David Balbuena
2024년 11월 6일
You could use the C Function block instead. The C Function block lets you put that code directly in the block mask, and it also lets you define "state" to be a persistent symbol. This example shows how to do that: https://www.mathworks.com/help/simulink/ug/modify-states-of-a-c-function-block-using-persistent-scope.html
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Interactive Model Editing에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!