MATLAB: Simulink communication with a physical CAN device

canethernetphysical devicereal timeSimulink Real-Time

  • Is it possible for simulink to communicate with a physical CAN device over Ethernet in real-time?
  • My setup would look like this: Simulink outputs data through ethernet port (Ethernet cable)–> Ethernet/CAN gateway (CAN cables)–> PCU device takes the data, calculates new values and send them back to Simulink model… the cycle repeats.
  • Let's assume I don't know the PCUs and gateways MAC addresses (if it matteres in any way).
  • I guess I would have to use the Real-Time Toolbox, which includes the Ethernet communication. Has anyone every tried to do a similar communication and can confirm that this should work?

Best Answer

  • You can use Simulink Real-Time and Speedgoat real-time target machine with a CAN I/O module. You will generate a real-time application from your Simulink model, to run on the real-time target machine. You can connect to to your CAN devices without requiring an Ethernet/CAN gateway.
    If the Ethernet gateway is a requirement, Simulink Real-Time includes driver blocks for UDP and TCP communication.