What are the differences between Simulink Real-Time (SLRT) and Simulink Desktop Real-Time (SLDRT) and which one should I use?
93 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?
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.