Clear Filters
Clear Filters

How do I configure my Simulink Real-Time model for Speedgoat hardware in R2024a and later?

57 views (last 30 days)
I upgraded to MATLAB R2024a and tried to build and run my existing model that I created with a previous release on Speedgoat hardware.
When I have my Speedgoat target connected, I encounter the following error:
Error running 'myModel' on target computer: The selected target 'TargetPC1' is configured for 'speedgoat.tlc' and does not support 'slrealtime.tlc'. To build the model 'myModel' change the target or choose a different system target file.
When I have no Speedgoat target connected, I encounter the following error:
Error using slrealtime.internal.build.BuildHooksImpl.setup     To build model, configure Simulink Real-Time model for target computer platform.     Open Target Platform Selector and select a target computer platform.

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 12 Sep 2024 at 0:00
Edited: MathWorks Support Team on 12 Sep 2024 at 12:10
In R2024a, a new 'speedgoat.tlc' system target file was introduced that ships as part of Speedgoat I/O Blockset. This means your existing real-time models must be configured to use 'speedgoat.tlc' instead of the previous 'slrealtime.tlc' system target file, and that building real-time application MLDATX files is no longer possible without a Speedgoat I/O Blockset installation.
Use one of the following 4 options to configure your Simulink Real-Time model for Speedgoat in R2024a and later:
 

Option 1: Use 'configureModelForTargetPlatform'

If you have a Speedgoat target connected to your development computer which is configured for R2024a+ with the Speedgoat I/O Blockset, you can use the 'configureModelForTargetPlatform' command:
model = 'myModel';
tg = slrealtime;
tg.configureModelForTargetPlatform(model);
And then save the model. This command ensures the model settings match the current target. See:
.

Option 2: Use 'getSTFName'

If you have a Speedgoat target connected to your development computer which is configured for R2024a+ with the Speedgoat I/O Blockset, you can alternatively use the 'getSTFName' command to have more control over the applied changes:
model = 'myModel';
tg = slrealtime;
modelSTF = getSTFName(tg);
set_param(model,'SystemTargetFile',modelSTF)
set_param(model,'SolverType','Fixed-step');
And then save the model. See the following link for more information:
.

Option 3: Apply model settings manually

Apply the settings manually in the Model Settings:
  • Under Solver > Solver selection, set 'Type' to 'Fixed-step'
  • Under Code Generation > Target selection, set 'System target file' to 'speedgoat.tlc'.
The programmatic equivalent to this would be:
model = 'myModel';
set_param(model,'SystemTargetFile','speedgoat.tlc')
set_param(model,'SolverType','Fixed-step');
.

Option 4: Use the Speedgoat Target Platform Selector tool

You can also launch the Speedgoat Target Platform Selector tool from the REAL-TIME tab in your model as shown in the screenshot below:
Currently, the changes to the model settings are identical, no matter which Speedgoat real-time target machine (Baseline, Performance, etc) is selected. This may change in the future.
For any further questions regarding the Target Platform Selector tool, refer to the knowledge article below, or reach out to the Speedgoat support team:

More Answers (0)

Community Treasure Hunt

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

Start Hunting!