Code Generation
Generate code and deploy controllers on real-time targets
Once you have validated a model predictive controller in Simulink® or MATLAB®, you can generate code and deploy it for real-time control applications. For more information, see Generate Code and Deploy Controller to Real-Time Targets.
Functions
Blocks
Topics
Code Generation Basics
- Generate Code and Deploy Controller to Real-Time Targets
Model Predictive Control Toolbox™ software provides code generation functionality for controllers designed in Simulink and MATLAB. - QP Solvers for Linear MPC
The model predictive controller QP solvers convert an MPC optimization problem to a general form quadratic programming problem.
Code Generation from Simulink
- Simulation and Code Generation Using Simulink Coder
Simulate your MPC controller in Simulink and generate real-time code that uses either double-precision or single-precision signals. - Simulation and Structured Text Generation Using Simulink PLC Coder
Simulate your MPC controller in Simulink and generate structured text for programmable logic controllers. - Using MPC Controller Block Inside Function-Call and Triggered Subsystems
To ensure that an MPC controller works properly inside a Function-Call or triggered subsystem, configure the MPC Controller block to use inherited sample time and invoke the subsystem periodically with the same sample time defined in the MPC controller object. - Run Field Oriented Control of PMSM Using Model Predictive Control (Motor Control Blockset)
This example uses Model Predictive Control (MPC) to control the speed of a three-phase permanent magnet synchronous motor (PMSM).
Code Generation from MATLAB
- Generate Code to Compute Optimal MPC Moves in MATLAB
Generate C code to compute manipulated variable moves for real-time applications. - Solve Custom MPC Quadratic Programming Problem and Generate Code
You can implement a custom MPC control algorithm that supports C code generation in MATLAB using the built-in QP solver,mpcqpsolver
. - Generate Code to Plan and Execute Collision-Free Trajectories Using KINOVA Gen3 Manipulator
Use nonlinear MPC to plan and execute trajectories for a robot manipulator.
CUDA Code Generation
- Use the GPU to Compute MPC Moves in MATLAB
Simulate your MPC controller in MATLAB using the GPU. - Use the GPU to Simulate an MPC Controller in Simulink
Simulate your MPC controller in Simulink using the GPU.
Using Custom Solvers
- Simulate and Generate Code for MPC Controller with Custom QP Solver
Generate code for a model predictive controller that uses a custom quadratic programming solver. - Implement MPC Controllers Using Embotech FORCESPRO Solvers
Use Embotech FORCESPRO Solvers with the Model Predictive Control Toolbox to solve MPC problems and deploy controllers to real-time targets.
OPC Simulation
- Real-Time MPC Simulation Using OPC Client
Implement an online model predictive controller application using the OPC client supplied with the Industrial Communication Toolbox™.