大家好,
我正在尝试获取某台机器的能耗统计数据(图形表示)。在机器的组件建模中,我定义了空闲、工作和关机功率,并设置了一些以 kW 为单位的数值。此外,我还编写了一个 Python 脚本来计算仿真期间的总能耗。
(附截图)
但是,当我从统计信息中插入图表时,它显示为常数,并未显示仿真过程中动态变化的空闲、工作和关机功率。同时,总能耗值也没有计算出来。
我不知道哪里出错了。恳请分享您的想法来帮助解决这个问题。
谢谢
大家好,
我正在尝试获取某台机器的能耗统计数据(图形表示)。在机器的组件建模中,我定义了空闲、工作和关机功率,并设置了一些以 kW 为单位的数值。此外,我还编写了一个 Python 脚本来计算仿真期间的总能耗。
(附截图)
但是,当我从统计信息中插入图表时,它显示为常数,并未显示仿真过程中动态变化的空闲、工作和关机功率。同时,总能耗值也没有计算出来。
我不知道哪里出错了。恳请分享您的想法来帮助解决这个问题。
谢谢
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(),然后该方法会以不均匀的间隔更频繁地被调用。
附注:我将把这个主题移动到 Python 编程板块。
非常感谢您的回复。
但是,我仍然无法绘制出仿真过程中“总能耗”动态变化的图表。
EnergyConsumed 属性的值是否发生了变化,但该值并未反映在统计信息面板中?请检查“主页”选项卡中的统计信息间隔设置。是不是一个很大的数字,例如 3600 秒?数据点将按照该间隔绘制,而不是更频繁。
在你采纳了我的建议之后,脚本看起来是什么样的?
上网淘巴领天猫淘宝优惠券,一年省好几千。
广告  ×您是本站第854318名访客 今日有0篇新文章/评论