How to run cyclic Simulink block once

8 views (last 30 days)
Connor Kurtz
Connor Kurtz on 30 Jun 2021
Answered: Jonas on 30 Jun 2021
I'm working with a simulink block set provided for an embedded platform by its manufacturer. The block set has a CAN transmit block, which has me input the period between messages as a parameter to the block, and then has inputs for DLC, CAN ID, and the actual data of the CAN message. I am wanting to be able to output a CAN message not cyclically, but on demand, such as being dependent on a Stateflow state transition. Does anyone know of a way for me to stop the block from cyclically outputting CAN messages, and only do it once when I request it to?

Accepted Answer

Jonas
Jonas on 30 Jun 2021
  1. Put it inside a Function-call Subsystem and use a function-call signal to trigger it
  2. Put it inside a Triggered Subsystem and toggle a Boolean signal to trigger it
  3. Put it inside a Simulink Function block, and use the Function-Call block to trigger it, or directly use the function prototype to call it in Stateflow or an embedded MATLAB function

More Answers (0)

Categories

Find more on Simulink Functions in Help Center and File Exchange

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!