Simulink throws error when using multi-rate blocks for concurrent execution

16 ビュー (過去 30 日間)
I am trying to increase the performance of my model by using the multi-threading capabilities.
My model has a Signal Generation block which generates different types of signals like QPSK, Sine, FM for testing purpose. And this block is converted to a referenced model. When trying to execute the model with "Allow tasks to execute concurrently on target" = ON, Simulink throws the below error,
The block 'Cluster1_SigSources/Subsystem/Enabled Subsystem/SIG0001/Upsample' of type 'S-Function' is a multi-rate block. Currently Simulink supports only single-rate blocks of this type when the model is configured for concurrent execution.
I have attached the reference model. How do I overcome this issue? Any suggestions would help?
Matlab Version: 2017b

採用された回答

Mark McBroom
Mark McBroom 2018 年 5 月 12 日
The signal feeding the Upsample block is running at a slower rate that the output of the Upsample block. When you set "Allow tasks to execute concurrently on target" = ON, Simulink attempts to put the code to compute input to Upsample block on another core which means it would run asynchronously to the code processing the output of the Upsample block. THis would require additional semaphore/buffering logic to ensure correct processing on the 2 cores. You will have to rework your algorithm to remove the Upsample block
  2 件のコメント
Bhavanithya Thiraviaraja
Bhavanithya Thiraviaraja 2018 年 5 月 14 日
That makes sense. Thank you!
Niels Suzler
Niels Suzler 2019 年 4 月 9 日
Is reworking ones algorithm really the only way to do it? I understand that rate transitions between blocks that operate on different threads is not possible, but what about if I want to do buffering with a rate transitions on the same thread? Could I configure my model in a way to make that work?

サインインしてコメントする。

その他の回答 (1 件)

Mark McBroom
Mark McBroom 2018 年 5 月 4 日
Model will not update. What values are you using for the various parameters in the model?
  4 件のコメント
johnnynoc4sh
johnnynoc4sh 2021 年 4 月 4 日
編集済み: johnnynoc4sh 2021 年 4 月 5 日
I have the same issue as the thread author. In my case the checkbox is disabled (see figure attached). Can you help me out? What is the reason for this behaviour?
Mark McBroom
Mark McBroom 2021 年 4 月 6 日
You are using Simulink Real-Time. This option is always on for Simulink Real-Time. What version of MATLAB are you using? Which block is causing the issue?

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeDeployment, Integration, and Supported Hardware についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by