Matlab Simulink:类型一致性错误

Matlab Simulink:类型一致性错误,matlab,simulink,Matlab,Simulink,作为参考,我试图找出以下两个错误: 我不知道数据类型一致性/转换问题出了什么问题。您知道错误消息在模型上下文中的确切含义吗?如果能找到问题的解释来解决它,那就太好了。提前感谢。是块“内环/e^(-s)”驱动块“内环/Sum”吗?看起来“e^(-s)”块正在尝试将Sum块设置为double,但Sum块已设置为其他数据类型。我不知道为什么会发生这种情况,但这里有一个来自Sum块帮助的片段 继承:通过内部规则继承 Simulink选择输出缩放和数据类型的组合,该组合需要最小的内存量,以适应计算的输

作为参考,我试图找出以下两个错误:


我不知道数据类型一致性/转换问题出了什么问题。您知道错误消息在模型上下文中的确切含义吗?如果能找到问题的解释来解决它,那就太好了。提前感谢。

是块“内环/e^(-s)”驱动块“内环/Sum”吗?看起来“e^(-s)”块正在尝试将Sum块设置为double,但Sum块已设置为其他数据类型。我不知道为什么会发生这种情况,但这里有一个来自Sum块帮助的片段

继承:通过内部规则继承

Simulink选择输出缩放和数据类型的组合,该组合需要最小的内存量,以适应计算的输出范围并保持块的输出精度,以及为模型指定的目标硬件实现的字大小。如果硬件实现配置参数窗格上的设备类型参数设置为ASIC/FPGA,Simulink软件将选择输出数据类型,而不考虑硬件约束。否则,Simulink软件将选择能够满足范围和精度约束的最小可用硬件数据类型。例如,如果块将int8类型的输入乘以int16的增益,并且ASIC/FPGA被指定为目标硬件类型,则输出数据类型为sfix24。如果未指定(假定为32位通用),即通用32位微处理器被指定为目标硬件,则输出数据类型为int32。如果目标微处理器提供的字长都不能适应输出范围,Simulink软件将在Simulation Diagnostics Viewer中显示错误消息


您可以尝试强制输出数据类型为double,如果这是您真正想要的,或者您可以尝试在Sum块前面放置一个数据类型转换块。另一个有帮助的方法是尝试从“格式”菜单打开端口数据类型。当错误发生时,它应该向您显示所有传播的数据类型。

是块“内环/e^(-s)”驱动块“内环/Sum”吗?看起来“e^(-s)”块正在尝试将Sum块设置为double,但Sum块已设置为其他数据类型。我不知道为什么会发生这种情况,但这里有一个来自Sum块帮助的片段

继承:通过内部规则继承

Simulink选择输出缩放和数据类型的组合,该组合需要最小的内存量,以适应计算的输出范围并保持块的输出精度,以及为模型指定的目标硬件实现的字大小。如果硬件实现配置参数窗格上的设备类型参数设置为ASIC/FPGA,Simulink软件将选择输出数据类型,而不考虑硬件约束。否则,Simulink软件将选择能够满足范围和精度约束的最小可用硬件数据类型。例如,如果块将int8类型的输入乘以int16的增益,并且ASIC/FPGA被指定为目标硬件类型,则输出数据类型为sfix24。如果未指定(假定为32位通用),即通用32位微处理器被指定为目标硬件,则输出数据类型为int32。如果目标微处理器提供的字长都不能适应输出范围,Simulink软件将在Simulation Diagnostics Viewer中显示错误消息

您可以尝试强制输出数据类型为double,如果这是您真正想要的,或者您可以尝试在Sum块前面放置一个数据类型转换块。另一个有帮助的方法是尝试从“格式”菜单打开端口数据类型。当错误发生时,它应该向您显示所有传播的数据类型