C Caller Block with Simulik Real time R2022b

3 views (last 30 days)
Hello,
I have a problem when I try building a model with C caller block in it for Simulink Real Time target (slrealtime.tlc).
The function implemented in the C code is "not declared" even if the same model is built successfully with the old simulink real time slrt.tlc (R2019a). As soon as I remove the C caller Block the exe file is generated for my Hardware in the loop machine.
P.S. I had the same problem with R2021a release but it works when I try builing the model for a generic target (grt.tlc)
Anybody has any idea how to fix it?
Thank you for your help
Regards
Daniel

Answers (1)

Dimitri MANKOV
Dimitri MANKOV on 17 Oct 2022
Hi Daniel,
Have you checked these suggestions when updating to R2020b and later? There's a number of differences in Simulink Real-Time between R2020a & earlier and R2020b & later which need to be taken into account in your code.
I hope this is helpful!
Dimitri
  1 Comment
Daniel Vicca
Daniel Vicca on 17 Oct 2022
Hi Dimitri,
thank you for your answer. Yes you are right, many things changed from the previuos release. I just fixed this problem:
I had to rename the file extension of the file called by the C Caller Block from .c to .cpp and everything works as before ( with the old simulink real time).....It seems like the C++ compiler of the new Simulink Real time doesn't accept the .c extension file....it is weird but that was I have experienced.
I hope this can be helpfull to somebody else
Regards
Daniel

Sign in to comment.

Categories

Find more on Simulink Functions in Help Center and File Exchange

Products


Release

R2022b

Community Treasure Hunt

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

Start Hunting!