能耗仿真:Python 脚本动态计算总能耗及统计图表不更新的解决方法- Python Programming - visual compents 疑难解答

subsun 5个月前 (04-03) visual Component 196 0

Raj

大家好,

我正在尝试获取某台机器的能耗统计数据(图形表示)。在机器的组件建模中,我定义了空闲、工作和关机功率,并设置了一些以 kW 为单位的数值。此外,我还编写了一个 Python 脚本来计算仿真期间的总能耗。
(附截图)
但是,当我从统计信息中插入图表时,它显示为常数,并未显示仿真过程中动态变化的空闲、工作和关机功率。同时,总能耗值也没有计算出来。

我不知道哪里出错了。恳请分享您的想法来帮助解决这个问题。
谢谢:slight_smile:





OnRun 中没有循环,因此它只在仿真开始时计算并设置一次属性值。

如果目标是按固定间隔运行一个循环,通常 OnRun 的使用方式如下:

def OnRun():
  dt = 1.0 # 1 秒
  while True:
    # 在此处编写逻辑
    delay(dt)

现在你的脚本正在读取属性的当前值,并且已经有变量 lastTime 来计算自上次调用以来的时间差,你可以使用 OnSimulationUpdate 来实现该逻辑:

def OnSimulationUpdate(simtime):
  global lastTime
  dt = simtime - lastTime
  lastTime = simtime
  # 在此处编写逻辑

每当场景更新时都会调用此方法。在 1 倍仿真速度和空布局下,每 40 毫秒调用一次。某些组件可能会调用 getSimulation().update(),然后该方法会以不均匀的间隔更频繁地被调用。
image

附注:我将把这个主题移动到 Python 编程板块。

非常感谢您的回复。
但是,我仍然无法绘制出仿真过程中“总能耗”动态变化的图表。

EnergyConsumed 属性的值是否发生了变化,但该值并未反映在统计信息面板中?请检查“主页”选项卡中的统计信息间隔设置。是不是一个很大的数字,例如 3600 秒?数据点将按照该间隔绘制,而不是更频繁。

在你采纳了我的建议之后,脚本看起来是什么样的?

免责申明
部分文章来自各大搜索引擎,如有侵权,请与我联系删除。
打赏

网友评论

  • (*)

最新评论

用户管理

您好,欢迎到访网站!
    用户注册

您是本站第1656638名访客 今日有0篇新文章/评论