This example shows how to:
Configure a Simscape™ plant 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 plant 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).
To prepare for changing parameter values on a real-time target machine, configure the Simscape run-time and code generation parameters for your Simscape model on your development computer.
To open the reference model, at the MATLAB® command prompt, enter:
ssc_resistive_ac_circuit
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 inf
.
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 model configuration parameters. In the model window, open the Modeling tab and click Model Settings. The Configuration Parameters dialog box opens.
To set the System target file, on the Code
Generation pane, click Browse and select
slrealtime.tlc
.
In the System Target File Browser window, click OK.
Open the Code Generation > Report pane.
To display a code generation report, on the Report pane, select Create code generation report and Open report automatically.
Click OK.
Enable signal logging, to be able to view signal data in the Simulation Data Inspector. Select the signal named Current and then, from the context menu, select Enable Data Logging.
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 on the target machine, in the model window, 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 ssc_resistive_ac_circuit_data.cpp
.
Search for the section of the code that contains the parameter variables. In the Find box, enter Block parameters (default storage)
.
Verify that the A_peak_voltage_src and the R_resistor variables are represented in the P_ssc_resistive_ac_circuit_T ssc_resistive_ac_circuit_P data structure.
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:
slrtExplorer
Select the target computer in the Targets Tree panel. To connect to the target computer, click Disconnected, toggling it to Connected.
To load the real-time application built earlier, click Load
Application. In the Application on host computer pane,
click the File Selector button and select the
ssc_resistive_ac_circuit.mldatx
file. Click
Load.
To select the signals for streaming, on the Signals and Parameters > Signals tab, select the signal Current, click the Add selected signals button to add it 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 the Start button.
To view the streaming signals, click the Data Inspector button.
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).
Change the parameter that 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 the Stop button.
Click the Value text box for the
A_peak_voltage_src parameter and enter
50
.
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 the value for the voltage, given that the resistance is 10 Ohms.
slrealtime
(Simulink Real-Time) | slrtExplorer
(Simulink Real-Time)