Processor-in-the-loop Arduino simulation with double data type

조회 수: 19(최근 30일)
I want to perform processor in the loop simulations of a subsystem (controller) in my model on an Arduino Uno board. I successfully generate a PIL block, however I run into the following error message when I start the simulation:
Data type "double" is not supported for SIL or PIL execution with the current target configuration. This is because the host size (8 bytes) and target size (4 bytes) do not match. To avoid this error, do not use this data type at the component interface.
I've tried using the single precision conversion tool with no effect and also tried surrounding the subsystem with the respective conversion blocks.


Gayatri Menon
Gayatri Menon 2018년 6월 26일
Could you try adding data conversion block inside the subsystem and delete the folders that contain the generated code before trying again.
  댓글 수: 3
Yuan Qi
Yuan Qi 2018년 6월 27일
I solved it by changing the default parameter behavior to Inlined and the parameter structure to NonHierarchical.

댓글을 달려면 로그인하십시오.

Piyush Kadkol
Piyush Kadkol 2018년 10월 13일
Hi Yuan, I tried changing the Default Parameter Behaviour to Inlined and Parameter Structure to NonHierarchical, but am still getting the error. Could you suggest anymore changes that are needed to be done to overcome this problem? Thanks!
  댓글 수: 1
Jose GL
Jose GL 2019년 3월 30일
I've the same problem with TI MCU.
The block that you will converter in PIL block has double data type, you need to changue all data type from double to single.

댓글을 달려면 로그인하십시오.


Find more on Simulink Support Package for Arduino Hardware in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by