Real-Time Controller

This example shows how to build a simple closed-loop real-time controller by using Simulink Desktop Real-Time™. The output of the controlled plant is connected to the analog input of your data acquisition board. This signal is subtracted from the set point value generated by the signal generator and processed by a PID controller. The output of the controller drives the input of the plant by using the analog output of your data acquisition board.

This model is a simplified version of the controller used for the http://www.humusoft.cz/produkty/models/ce152 CE152 Magnetic Levitation Model.

Note: To run this model, you must have a data acquisition board connected to your computer.

Run Model in Normal Mode

  1. Open the Analog Input and Analog Output blocks and select your data acquisition board. If there is no board installed, install it by clicking the Install new board button.

  2. To switch to normal mode if needed, double-click the orange button in the model.

  3. To start the real-time execution, on the Simulation tab, click Run.

Run Model in External Mode

  1. Open the Analog Input and Analog Output blocks and select your data acquisition board. If there is no board installed, install it by clicking the Install new board button.

  2. To switch to external mode if needed, double-click the orange button in the model.

  3. To start the real-time execution, on the Desktop Real-Time tab, click Run in Real Time. The model builds, connects to Simulink in external mode, and starts.

Open the Model

open_system(fullfile(matlabroot,'toolbox','sldrt','sldrtexamples','sldrtex_controller'));

Close Open Scopes

close_system(find_system(gcs ,'BlockType', 'Scope'));

Clean Up Model

clear
close all
bdclose all

See Also