MATLAB: Are certain messages not transmitted when I use multiple CAN Transmit blocks in multiple Enabled Subsystems with PEAK-System hardware

vehicle network toolbox

I am using a PEAK-System device with multiple CAN Transmit blocks in multiple Enabled subsystems. At certain timesteps, the blocks do not transmit a message, even though the correct subsystem is enabled. Why aren't all messages transmitted?

Best Answer

This is a limitation of using PEAK-System devices with Vehicle Network Toolbox CAN Transmit blocks in multiple Enabled subsystems.
Depending on your application, you might be able to use one of the following workarounds:
  1. Replace the Enabled subsystems with a different type of conditional subsystem, such as an if-action, switch-case-action, or triggered subsystem.
  2. If you must use an Enabled subsystem, redesign your model so that all the Transmit blocks are contained within a single Enabled subsystem.
  3. If none of the above are possible, you can use CAN hardware from another vendor to achieve the correct behavior.