为什么我收到一个数据类型不匹配错误当使用仿真软件的模型参考?金宝app

573(30天)
我的模型包含一个模型参考块的引用的模型尺寸数据类型设置为自动。引用的模型使用常数块比较模型的比较恒定的输入和输出数据类型UINT8。当我发送引用模型数据类型的翻倍,我收到以下错误:
数据类型不匹配。test_mod /模型的输入端口1 UINT8期望信号的数据类型。然而,它是由一个数据类型“双”的信号。
我不认为这应该发生的数据类型输入端口设置为自动。

接受的答案

MathWorks支金宝app持团队
这种行为是因为仿真软件中的模型参考块使用引用模型的编译版本,所有样本时间和数据类型是基于块的显式地设置数据类型引用的模金宝app型中。因此,一个数据类型的汽车在参考模型中不能保持汽车模型中引用它。相反,必须显式地指定数据类型。
为了解决这个,打开模型,模型引用,港口和外港双击(或任何其他话块的数据类型设置为自动)。现在点击“信号属性”选项卡,然后在“数据类型”属性,显式地指定数据类型(例如布尔,INT8)属性的信号端口。
5个评论
亚瑟
亚瑟 2023年5月17日在34
我也有同样的问题(我使用相同的单片机代码生成模型,它使用单一和相同的模型仿真软件编译器不能与单一类型建立FMU !)。金宝app我试图使单片机和FMU生成不同的包装,但是由于这个bug参考模型没有自动inheretance坚持单引号或双!这是一个很烦人的缺陷!

登录置评。

答案(1)

拉胡尔Sugathan
拉胡尔Sugathan 2021年12月10日
同样值得检查如果“DataTypeOverride”模型是启用/禁用。
get_param (gcs DataTypeOverride)
如果是,把它关掉
set_param (gcs、“DataTypeOverride”,“关闭”);

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!