CAN Bus Timeout C2000

6 views (last 30 days)
Kyriakos Sampatakakis
Kyriakos Sampatakakis on 9 Nov 2017
Commented: Marek Laszlo on 26 Mar 2018
Hi all,
I am trying to add a "Timeout" on the receive side of the CAN bus, so that when a specific amount of time is pass and there is no reception of a new CAN message, a default value will be present in the transmission side. Is that possible? Bellow there is a link with the Simulink Model: https://www.dropbox.com/s/rk1ipb45e6pc2aj/test_can_TO.slx?dl=0
Any answer will be appreciated!

Answers (1)

Venkatesh Chilapur
Venkatesh Chilapur on 9 Nov 2017
Hi,
You can create a counter and reset it when you get a CAN message (from the function call of the CAN block or an interrupt). If the counter reaches the timeout value before a CAN message is received, than we can trigger a specific subsystem. Regards,
Venkatesh Chilapur
  2 Comments
Kyriakos Sampatakakis
Kyriakos Sampatakakis on 13 Nov 2017
Hi,
Thank you for responding so quickly. I have tried many things using the Counter block(DSP Toolbox), but I can't figure it out how to reset it. The function-call "signal", can't reset or set any of these kind of blocks. Additionaly, I tried to use a Stateflow chart to achieve that, but nothing solid came out. Is there a direct way to convert this function call event into something that can reset a counter?
Best regards
Kyriakos Sampatakakis
Marek Laszlo
Marek Laszlo on 26 Mar 2018
Hello, have you solved this timeout?
Best Regards, Marek Laszlo

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!