AnyMath 文档
Notebook

包含多个设备的面板

该项目展示了一个示例,说明如何在以慢速运行的Engee模型与包含多个仪表的仪表盘之间组织数据传输。

示例工作原理演示

视频中展示了模型与仪表盘之间的协作:

output.gif

仪表盘可在单独窗口中打开,也可嵌入到交互式脚本中;所有交互元素均可正常运行,使您能够可视化输出数据并实时操作模型。

模型初始运行于“仿真速度控制”模式。

模拟将持续inf ;因此,该模型只能由用户手动停止。

运行示例

要运行该示例,请打开并运行模型multiple_dashboard_model.engee ,执行以下单元格:

In [ ]:
# Launch the server with the dashboard
app = engee.genie.start("$(@__DIR__)/app.jl", log_file="$(@__DIR__)/log.txt");
display("text/html", """<iframe src="$(string(app.url))" width="650" height="320" style="border: none;"></iframe>""";)

# Get a launch link in a separate window
# display("text/html", """<a href="$(string(app.url))" target="_blank" rel="noopener noreferrer">Open in a separate window</a>""")

若需停止服务器以进行调试:

In [ ]:
# engee.genie.stop("$(@__DIR__)/app.jl");

出现问题时

由于通信采用 UDP 协议,且服务通过 localhost 进行通信,因此仪表盘与模型之间的通信应非常可靠且速度极快。

如果您遇到运行缓慢或数据缺失的情况,第一步是关闭模型并重新打开。

结论

本文介绍的项目允许您从模型中提取多个数值,并跟踪这些数值在各项指标中的累积趋势。