使用此 Simulink 模型文件作为参考,我试图找出以下两个错误: alt text http://imagebin.ca/img/dSV8YO.png
替代文字 http://imagebin.ca/img/OXDf0v.png
我不知道数据类型一致性/转换问题出了什么问题。您知道错误消息在模型上下文中的确切含义吗?获得对问题的解释以解决它会很棒。提前致谢。
使用此 Simulink 模型文件作为参考,我试图找出以下两个错误: alt text http://imagebin.ca/img/dSV8YO.png
替代文字 http://imagebin.ca/img/OXDf0v.png
我不知道数据类型一致性/转换问题出了什么问题。您知道错误消息在模型上下文中的确切含义吗?获得对问题的解释以解决它会很棒。提前致谢。
块 'Inner Loop/e^(-s)' 是否驱动块 'Inner Loop/Sum'?看起来 'e^(-s)' 块正在尝试将 Sum 块设置为 double,但 Sum 块已设置为其他数据类型。我不确定为什么会这样,但这是 Sum 块文档帮助中的一个片段,
继承:通过内部规则继承
Simulink 选择需要最小内存量的输出缩放和数据类型的组合,以适应计算的输出范围并保持模块的输出精度以及为模型指定的目标硬件实现的字长。如果 Hardware Implementation 配置参数窗格上的 Device type 参数设置为 ASIC/FPGA,Simulink 软件将选择输出数据类型而不考虑硬件约束。否则,Simulink 软件会选择能够满足范围和精度约束的最小可用硬件数据类型。例如,如果模块将 int8 类型的输入乘以 int16 的增益,并且将 ASIC/FPGA 指定为目标硬件类型,则输出数据类型为 sfix24。如果未指定(假设为 32 位通用),即 一个通用的 32 位微处理器,被指定为目标硬件,输出数据类型为 int32。如果目标微处理器提供的字长都不能适应输出范围,Simulink 软件会在 Simulation Diagnostics Viewer 中显示错误消息。
如果这是您真正想要的,您可以尝试强制输出数据类型为双精度,或者您可以尝试将数据类型转换块放在 Sum 块前面。另一件有帮助的事情是尝试从“格式”菜单中打开“端口数据类型”。当错误发生时,它应该向您显示所有传播的数据类型。