How to run cyclic Simulink block once

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

Products

Release

R2020a

Asked:

on 30 Jun 2021

Answered:

on 30 Jun 2021

Community Treasure Hunt

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

Start Hunting!