What are the differences between Simulink Real-Time (SLRT) and Simulink Desktop Real-Time (SLDRT) and which one should I use?

55 views (last 30 days)
I have a model that I would like to simulate in real-time for real-time testing purposes. I would need to integrate this with external hardware. I see that MathWorks offers multiple products for real-time testing. What are the differences and which one should I use?

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 28 May 2020
MathWorks provides two products for real-time testing and simulation. Those are Simulink Real-Time (SLRT) and Simulink Desktop Real-Time (SLDRT). See the product pages for both below.
Simulink Real-Time (SLRT) utilizes dedicated target computers running a real-time operating system. Simulink Real-Time is designed to work with Speedgoat target computers. See the link below for details:
Simulink Desktop Real-Time (SLDRT) is a one-box solution that allows you to achieve real-time performance of a Simulink model on your Windows or macOS computer. SLDRT utilizes a single computer for both development and real-time operation. It also includes library blocks that connect to a range of I/O devices. See the link below for details:
Which product should I choose?
The biggest factor in choosing between SLRT vs SLDRT is performance. For SLDRT, both Simulink and the real-time kernel share the hardware resources on one computer. As a result, the total processing power available for real-time execution of a model is diminished. Alternatively, with Simulink Real-Time, Simulink runs on a development computer separate from the real-time execution of the model on a target machine.
Consequently, Simulink Real-Time can achieve a faster sampling rate for the same model. Simulink Desktop Real-Time supports real-time performance up to 1 kHz sample rates with Simulink, and up to 20 kHz with Simulink Coder (using External Mode), whereas SLRT can run much faster than this. SLDRT runs as a single process on a single core whereas SLRT can utilize multi-core execution.
There are some other differences such as that SLRT target machines can be run in a standalone mode and thus can be made portable to be deployed with a physical system. An example would be using a SLRT target to mimic a car's electronic control unit (ECU) by placing a target machine directly in a real car for testing. Also there are some less relevant differences such as the fact SLRT supports FPGA integration while SLDRT does not, and that SLRT and SLDRT may not necessarily support the same I/O interfaces.
Also take a look at this blog post by one of our staff members to provide a very good description of what real-time testing is, how it can be used, and how to set it up with our products.
Atakan Botasun
Atakan Botasun on 10 Dec 2021
You cannot use any other hardware than Speedgoat target computers for MATLAB versions R2020b and above. The Simulink RTOS kernel used by Simulink Real-Time is changed to Blackberry QNX which apparently is only licensed to and compatible with Speedgoat machines. You however, can use R2020a and achieve your goals with other target computers. It would be also a good idea to look into setting up DOS systems to run the kernel on for either External or Standalone modes. Do note that any new features you would be able to use in R2020b and up are unavailable in SLRT if you don't use a Speedgoat machine.
See this thread for more details:

Sign in to comment.

More Answers (0)


No tags entered yet.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!