Simulink Real-Time and non-Speedgoat Machine

62 views (last 30 days)
Hello dear MATLAB community
I would like to know if it is possible to use Simulink Real-Time with conventional PC as a target machine - e.g. without Speedgoat HW? I know that previous product - XPC Target was supporting this, but now I don't see any evidence, how to setup own target machine for Real-Time. Speedgoat Machine in standard case is also nothing else than single-board PC.
I know there is Desktop Real-time Toolbox exists, but would be interested in Simulink Real-Time, as latter supports fieldbusses, like EtherCAT, allowing easy I/O extension - and this is all I need from target PC connectivity.
Can somebody explain if it's possible or not?

Accepted Answer

Rodrigo Botelho
Rodrigo Botelho on 1 Aug 2019
Hi Artyom,
As far as I could find in the release notes, Simulink Real-Time removed the support for non Speedgoat targets on R2018a.
If working with older version is not an issue, the last time I saw something about custom target was on r2017b. Not sure about the blocks supported, though.

More Answers (3)

Ivo Houtzager
Ivo Houtzager on 23 Aug 2020
Edited: Ivo Houtzager on 15 Dec 2020
Answer for Simulink Real-Time version up to 2020a. The target PC must be able to run DOS. Thus motherboards with UEFI only firmware will not work. You need BIOS firmware or UEFI firmware with BIOS legacy support (to be enabled in boot settings screen). The target PC must also have a supported ethernet device, see the device list in Simulink Real-Time Explorer discussed in Step 5.
  1. Download FreeDOS Lite USB image from https://www.freedos.org/download/
  2. Create bootable USB with FreeDOS Lite image using the Rufus tool from https://rufus.ie
  3. In Matlab, open Simulink Real-Time Explorer using the matlab command "slrtexplr"
  4. In the target window, select properties of the Target PC session
  5. Setup ethernet device and network settings in "Host-to-Target communication" dropdown list
  6. Select "DOS loader" in "Boot configuration" dropdown list
  7. Click the create boot disk icon, and select a folder on the bootable USB stick. The folder should contain the files "autoexec.bat", "rttboot.com", and "xpckrnl.rtb".
  8. Boot the target PC with the bootable USB
  9. Install FreeDOS using instructions http://wiki.freedos.org/install/
  10. Keep the USB plugged in target PC and select from BIOS to boot the target computer in DOS mode (and not from USB flash drive)
  11. At the DOS prompt, save a copy of the target computer C:\autoexec.bat and C:\config.sys file to a backup file, such as C:\autoexec_prv.old and C:\config_prv.old
  12. Copy the files "autoexec.bat", "rttboot.com", and "xpckrnl.rtb" from the folder on the USB flash drive to the root folder of the target computer
  13. Delete the C:\config.sys file
  14. Unplug the USB flash drive, and restart target computer in DOS mode. Real-Time Simulink Target should automatically be started.
  15. Connect host PC to target PC ethernet device port with ethernet cable. The ethernet device of the PC must be configured with static IP adress in the same network as configured for the target PC. Thus if IP adress of target PC is configured to 192.168.6.6 in Step 5, then host PC can be set for example to static IP adress of 192.168.6.5.
  16. Click connect to TargetPC in Targets window of the Simulink Real-Time Explorer
  17. When connected you can build and upload models from Simulink
  4 Comments
Kim Sang
Kim Sang on 8 Nov 2022
Did I miss something? In step 7, you may already have an USB stick to boot an xpc target PC. What's the point to have a dos os inside it?
Yavuzhan
Yavuzhan on 9 Jan 2023
Hello,
Can we run xpc target on just Freedos ? Can we work with other dos system (for example PTS DOS DR DOS) ?

Sign in to comment.


haiping guo
haiping guo on 15 Dec 2020
I purchased the simulink realtime library and found that I also had to buy speedGoat to use it!

liang song
liang song on 19 Sep 2019
You absolutely can use a normal computer such as a dell computer as the target machine with Matlab 2018b at least. But heard of that, it would not work if you want to connect the target to some other peripheral using IO like RS232, etc.
  1 Comment
Artyom
Artyom on 24 Oct 2019
Well, Speedgoat is a standard PC, but how to get specific MATLAB kernel, running on it?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!