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

12 次查看(过去 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.

回答(2 个)

Gayatri Menon
Gayatri Menon 2018-6-26
Hi,
Could you try adding data conversion block inside the subsystem and delete the folders that contain the generated code before trying again.
Thanks
Gayatri
  4 个评论
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
Hi!
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.
Regards

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Arduino Hardware 的更多信息

产品


版本

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by