Tune and Monitor Model Running on Hardware

You can use External mode to tune parameters and monitor a Simulink® model running on your target hardware.

External mode enables you to tune model parameters and evaluate the effects of different parameter values on model results in real-time. When you change parameter values in a model, the modified parameter values are communicated to the target hardware immediately. You can monitor the effects of different parameter values by viewing the output signals on Sink (Simulink) blocks or in Simulation Data Inspector (SDI) (Simulink). Doing so helps you find the optimal values for performance. This process is called parameter tuning.

External mode accelerates parameter tuning. You do not have to rerun the model each time you change parameters. You can also use External mode to develop and validate your model using the actual data and hardware for which it is designed. This software-hardware interaction is not available solely by simulating a model.

The support package supports External mode simulation over these communication interfaces:

Communication InterfaceDescription
TCP/IPIn External mode simulation over TCP/IP, use the Sources (Simulink) blocks to change parameter values and the Sink (Simulink) blocks to monitor the effects of parameter tuning.
XCP on TCP/IPIn Universal Measurement and Calibration Protocol (XCP)-based External mode simulation over TCP/IP, you can use:
  • Dashboard (Simulink) blocks: In addition to Sources (Simulink) and Sink (Simulink) blocks, you can use Dashboard (Simulink) blocks to change parameter values and to monitor the effects of parameter tuning. The Dashboard library contains set of blocks using which you can interactively control and visualize the model.

  • Simulation Data Inspector (SDI) (Simulink): You can inspect and compare data from multiple simulations to validate model designs using Simulation Data Inspector.

Prepare a Simulink Model for External Mode

This section explains how to prepare a Simulink model to run in External mode.

  1. Configure the hardware network as described in Hardware Setup.

  2. Create or open a Simulink model.

  3. On the Simulink model toolbar, set Simulation mode to External.

  4. Set the Simulation stop time parameter, located to the left of Simulation mode.

    The default value is 10.0 seconds. To run the model for an indefinite period, enter Inf.

  5. Configure the Model Configuration Parameters for the hardware as described in Model Configuration Simulink Support Package for Raspberry Pi Hardware . In External mode, set the Communication interface parameter based on the type of External mode simulation to run on the model.

  6. When you set the Communication interface to an XCP-based External mode, the Logging buffer size (in bytes) parameter becomes available. For this parameter, specify the number of bytes to preallocate for the buffer in the hardware during simulation. For more information, see Logging buffer size (in bytes).

Run the Simulink Model in External Mode

This section explains how to run:

External Mode Simulation over Serial, TCP/IP, or Wi-Fi Connection

Note

This section applies only when you set the communication interface to Serial, TCP/IP, or Wi-Fi®.

Before you begin, complete the Prepare a Simulink Model for External Mode section and ensure that you have placed Sink (Simulink) blocks in the model to monitor the simulation output.

  1. To start the simulation, in the Simulink toolbar, click the Run button .

    If the model does not contain a Sink block, the MATLAB® Command Window displays a warning message. For example:

    Warning: No data has been selected for uploading. 
    > In C:\Program Files (x86)\MATLAB\R2013a Student1\toolbox\
    realtime\realtime\+realtime\extModeAutoConnect.p>
    extModeAutoConnect at 17
    In C:\Program Files (x86)\MATLAB\R2013a Student1\toolbox\
    realtime\realtime\sl_customization.p>myRunCallback at 149

    You can disregard this warning or add a sink block to the model. For example, use a Display or Scope block to visualize data, or use a To File block to log signal data.

    After several minutes, Simulink starts running the model on the hardware.

  2. Change the parameter values in the model. Observe the corresponding changes in the simulation output.

  3. Find the optimal parameter values by making adjustments and observing the results in the Sink blocks.

  4. After you are satisfied with the results, disable External mode, and save the model.

Note

External mode increases the processing burden of the model running on the board. If the software reports an overrun, disable External mode.

XCP-Based External Mode Simulation over Serial, TCP/IP, or Wi-Fi Connection

Note

This section applies only when you set the communication interface to XCP on Serial, XCP on TCP/IP, or XCP on Wi-Fi.

Before you begin, complete the Prepare a Simulink Model for External Mode section.

  1. In the Simulink model, identify the signals to be logged for monitoring during simulation. Select the identified signal, open its context menu, and click the icon corresponding to Enable Data Logging.

    For instructions on logging the signal using other methods, refer to Mark a Signal for Logging (Simulink). Simulink displays a logged signal indicator for each logged signal.

  2. (Optional) Place one or more Sink (Simulink) blocks in the model, and then mark the signals connected to them also for logging. For example, connect Display or Scope blocks and mark the signals connected to them for logging.

  3. To start the simulation, in the Simulink toolbar, click the Run button .

    If none of the signals in the model is marked for logging, the MATLAB Command Window displays a warning message. For example:

    Warning: No data has been selected for uploading. 
    > In C:\Program Files (x86)\MATLAB\R2013a Student1\toolbox\
    realtime\realtime\+realtime\extModeAutoConnect.p>
    extModeAutoConnect at 17
    In C:\Program Files (x86)\MATLAB\R2013a Student1\toolbox\
    realtime\realtime\sl_customization.p>myRunCallback at 149

    You can disregard this warning or mark signals for logging. For instructions on logging the signal, see Mark a Signal for Logging (Simulink).

    After several minutes, Simulink starts running the model on the hardware.

    During simulation, when new simulation data becomes available in SDI, the Simulation Data Inspector button appears highlighted.

  4. View the simulation output in Sink blocks or in SDI.

    • Sink blocks – To view the simulation output, double-click the Sink blocks in the model.

    • SDI – To view the new simulation data, perform these steps:

      1. Click the Simulation Data Inspector button.

      2. A new simulation run appears in the Inspect pane. The Inspect pane lists all logged signals in rows, organized by simulation run. You can expand or collapse any of the runs to view the signals in a run. For more information on signal grouping, see Organize Your Simulation Data Inspector Workspace (Simulink).

      We recommend you use SDI rather than using Sink blocks for the following reasons:

      • Streaming data to SDI does not store data in memory, making more efficient use of the memory available on the hardware. Sink blocks such as Scope stores data in buffers before sending the data to the host.

      • Using SDI, you can stream signals from top models and reference models simultaneously. Scope blocks can only log signals from a top-level model.

  5. Change the parameter values in the model. Observe the corresponding changes in the simulation output.

  6. Find the optimal parameter values by making adjustments and observing the results in the Sink blocks.

  7. After you are satisfied with the results, disable External mode, and save the model.

Note

External mode increases the processing burden of the model running on the board. If the software reports an overrun, disable External mode.

Stop External Mode

To stop the model that is running in external mode, click the Stop button on the model toolbar.

If the Simulation stop time parameter is set to a specific number of seconds, External mode stops when that time elapses.

When you finish using External mode, set Simulation mode back to Normal.

Related Topics