Change Parameter Values on Target Hardware
This example shows how to:
Configure a Simscape™ model to generate code that supports signal visualization and changes to Simscape run-time parameters.
Use Simulink® Real-Time™ and Simulink Coder™ to deploy an executable version of the model to a real-time target machine.
Use Simulink Real-Time Explorer on your development computer to change the value of a Simscape run-time parameter on the target machine and to see the effects of the parameter change.
This example requires an active connection between your development computer and a real-time target machine. For information on configuring and connecting your development computer to target hardware, see Get Started with Simulink Real-Time (Simulink Real-Time).
Configure the Simscape Model for Deployment
To enable your development computer to change parameter values on a real-time target machine, configure the Simscape run-time and code generation parameters for your Simscape model.
To open the reference model, at the MATLAB® command prompt, enter:
The model opens and the PreLoadFcn loads parameters for the model to the MATLAB workspace. The peak voltage,
A_peak_voltage_src, is 3 V, the resistance,
R_resistor, is 10 Ohms, and the step size is 1e-5.
To allot enough time to see the effects of parameter-tuning on the target machine, configure the application to run until you stop the simulation by setting the simulation stop time to
Adjust the step size for real-time simulation. At the MATLAB command prompt, enter:
ts = 8e-5;
Configure the model for code generation using Simulink Coder and Simulink Real-Time.
Open the Configuration Parameters window. In the Simulink Editor, open the Modeling tab and click Model Settings. The Configuration Parameters window opens.
In the Code Generation pane, to the right of System target file, click Browse and select
In the System Target File Browser window, click OK.
Open the Code Generation > Report pane.
To display a code generation report select Create code generation report and Open report automatically.
Enable signal logging on the signal that you want to view in the Simulation Data Inspector. Click the signal named Current and, from the action menu, select Enable Data Logging.
Deploy the Model to the Real-Time Target Machine
Build an executable application to be deployed on the target machine.
Check that you are connected to the real-time target machine:
tg = slrealtime
To build the code to be deployed, in the Simulink Editor, open the Real-Time tab and click Run on Target > Build Application.
The code report opens after the code download.
Verify that the generated code represents the Simscape run-time variables in a data structure.
In the Code Generation Report, in the left pane, in the Data files node, open
Search for the section of the code that contains the parameter variables. In the Find box, enter
Block parameters (default storage).
Verify that the
R_resistorvariables are represented in the
P_ssc_resistive_ac_circuit_T ssc_resistive_ac_circuit_Pdata structure.
Change Parameters and See Results Using Simulink Real-Time Explorer
Use Simulink Real-Time Explorer to change Simscape run-time parameters between runs of your real-time application on target hardware. Visualize the simulation results on a scope in the Explorer window.
To open Simulink Real-Time Explorer, on your development computer, at the MATLAB command prompt, enter:
Select the target computer in the Targets Tree panel. To connect to the target computer, click Disconnected, to toggle it to Connected.
To load the real-time application built earlier, click Load Application. In the Application on host computer pane, click File Selector and select the
ssc_resistive_ac_circuit.mldatxfile. Click Load.
To select the signals for streaming, on the Signals tab, select the signal Current, click the Add selected signals button to add the signal to the list in the right pane, and then click the Start Streaming button.
To view the Simscape run-time parameters in Simulink Real-Time Explorer, open the Signals and Parameters Parameters tab and click the Show contents of current system and below button .
To run the application with the original peak amplitude value, click Start.
To view the streaming signals, click Data Inspector.
The streamed data shows that the current is approximately 0.3 A. The defining equation for the circuit in the model is I = V/R. The results are correct for the given voltage (10 V) and resistance (3 Ohms).
A_peak_voltage_srcparameter, which represents the peak amplitude for the Voltage Source block. Because Simscape run-time parameters are run-time configurable, you cannot change the parameter value during simulation. Instead, you stop the simulation, change the value of the parameter, and apply the parameter change. Then, you restart the simulation to see how changing the parameter affects the results.
To stop execution, in the Simulink Real-Time Explorer window, click Stop.
Click Value box for the A_peak_voltage_src parameter and enter
Click the Start button to simulate with the modified peak amplitude value.
The streamed data shows that the current is approximately 5 A when the peak amplitude is 50 V. The results reflect the change in value for the voltage, given that the resistance is 10 Ohms.
- Generate, Download, and Execute Code
- Set Up and Configure Simulink Real-Time (Simulink Real-Time)
- Configure and Control Real-Time Application by Using Simulink Real-Time Explorer (Simulink Real-Time)
- External Mode Simulation with TCP/IP or Serial Communication (Simulink Coder)
- Manage Simscape Run-Time Parameters
- Tunable Block Parameters and Tunable Global Parameters (Simulink Real-Time)
- Signal Monitoring Basics (Simulink Real-Time)
- Target and Application Objects (Simulink Real-Time)
- Model Callbacks