You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OpenModelica1.17下Modelica IntegerChange模块未按预期工作问题咨询

IntegerChange输出恒定false问题解决方案

根因分析

问题由两个常见的仿真配置问题共同导致:

  • RealToInteger模块默认关闭了事件生成,求解器不会定位整数变化的临界时刻
  • 仿真默认不存储瞬时事件点,脉冲信号无法在结果中被记录

具体解决步骤

步骤1:修改RealToInteger模块参数

打开RealToInteger模块的参数配置界面,勾选generateEvents选项为true。该参数开启后,实数值跨越整数边界时会强制触发仿真事件,求解器会自动定位到变化发生的精确时刻,保证IntegerChange能检测到输入值的前后差异。

步骤2:开启仿真事件存储

打开OpenModelica仿真设置,切换到「结果」标签页,勾选*Store events(存储事件点)*选项。IntegerChange的输出仅在事件发生的极短时间内为true,开启事件存储后这类瞬时值才会被写入结果文件,可视化时可以正常显示脉冲。

效果验证

修改配置后重新运行仿真,即可得到预期的整数跳变时输出脉冲的结果,原错误输出参考下图:
仿真运行结果图

内容的提问来源于stack exchange,提问作者ekj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 12:30:00