MATLAB: Is there functionality to have a distributor block in Simulink


I want to have a Simulink block that behaves as a distributor. This block would have one input and several outputs. Based on the simulation time, the input would be distributed to the correct output.

Best Answer

  • The ability to use a distributor block is not available in Simulink.
    To work around this issue, you can write your own S-function that performs this functionality. Specifically, the code would go in the mdlOutputs() function of the S-function.
    The code can use the "ssGetT" macro to receive the simulation time. Depending on the simulation time, it could assign each of the blocks outputs to the correct value.
    Another option is to use Enabled Subsystems to distribute a signal based on simulation time.