问题标签 [pyfmi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 使用pyinstaller打包时出现pyfmi ModuleNotFoundError
我有一系列脚本,其中包括一些使用 pyfmi 模块的计算。当我在我的 python 环境(Spyder)中运行 main 函数时,我没有任何错误 - pyfmi 计算运行完美。但是,当我使用 pyInstaller 打包整个东西以制作可执行文件时,pyfmi 模块会导致问题。
我可以使用 exe 文件运行我的 GUI。但是,每当我单击调用 pyfmi 库的按钮时,我都会在控制台上收到一条错误消息,提示“没有名为 pyfmi.common.core 的模块”。我尝试了不同的导入选项,例如import pyfmi
,等,但并没有解决问题。from pyfmi import *
from pyfmi import fmu_util
modelica - PyFMI:根据其他参数初始化参数
我在 OpenModelica 中创建了一个模型,并想从中创建一个 FMU。
在 OpenModelica 中,我可以初始化以下参数:
这没有任何问题,在模拟过程中,所有参数都具有它们应该具有的值
当我创建 FMU 时,终端中出现以下错误:
有没有办法设置相互依赖的参数,但不会在 FMU 生成过程中出错?
openmodelica - 无法在 pyfmi 库中运行 fmu.get_fmu_state()
我试图了解 get_fmu_state 方法如何在联合仿真模式示例中的简单fmu上工作,例如使用 PyFMI(2.7.3)预先提供的 fmu 的弹跳球。我已经通过 miniconda 在 ubuntu-docker 上安装了它,并在收到错误时尝试执行以下命令。我知道这个 fmu 可能不支持该命令,但还有其他可能支持它的例子吗?
其余命令如 fmu_model.simulate()、fmu_model.initialize()、fmu_model.simualte() 可以正常工作,但 fmu_model.get_fmu_state() 没有。如果我在 ModelExchage 模式下使用 fmu,也会出现同样的错误。
python - FMUException:加载二进制文件时出错。无法加载 FMU 二进制文件
我该如何解决这个问题?
操作系统环境如下。
- 蟒蛇 3.7.1
- 康达 4.5.12
python - 如何与 Python 函数共同模拟 fmu?
使用 FMPy 之类的 Python 库,我可以模拟fmpy.simulate_fmu
给定的 fmus(使用 ) start_time
和stop_time
. 在这种情况下,函数simulate_fmu 完成模拟并返回时间序列结果。
但是,我想在 fmu 和 Python 函数之间创建一个闭环(即在 Python 脚本中初始化 fmu,每 0.1 秒后从 fmu 获取结果,并在此基础上将输入值更新为下一个时间步的 fmu) . 有没有办法使用现有的库(如 fmpy 或 pyfmi)来实现这一点?
python - FMU - 将新值重新分配给变量时出现问题
主要目标
使用定义的 start_values 启动 FMU,并在“ModelExachange”的过程中对其进行更改。
方法
- 以已经从 FMI 标准网络创建的 FMU 为例。
- 使用 FMPY 启动它。
- 使用 my_callback 函数的模拟 fmu 中的 step_finished 参数更改每一步的值。
第一步
FMU 已完美加载,相同的代码在“CoSimulation”中完美运行,但目标是“ModelExchange”。
问题
我试图修改 my_callback 函数的值,但这给了我下一个错误:
我曾尝试在分配或初始化模式之前运行事件模式,但没有任何效果。
在这一行中,我们修改值,设置 XML 第一个参数的引用,以及第二个参数的值:
此时正是我得到暴露错误的地方。
蟒蛇代码:
我的问题:
知道我该如何解决这个问题吗?可以为 ModelExchange 做我尝试的事情吗?
谢谢。
python - 在 pyfmi 中运行 FMU 时倒置 z 轴
我正在尝试使用在 maplesim 中创建的 FMU 在 pyfmi 中模拟机器人手臂。模拟是实时的,输入和输出在每个周期都会改变。
因此,我从 pyfmi 包附带的 fmi 示例 bouncing_ball_native 中获得了很多灵感。
我使用的是 FMI 2.0 版 ME。
但是,当我在 pyfmi 中使用 FMU 模型时,z 轴是倒置的,它不遵循右手定则。当机器人手臂末端执行器沿 z 轴正方向移动时,模型表示末端执行器沿 z 轴负方向移动,镜像。
这个模型基于一个真实的机器人,所以我已经能够很好地比较它对位置控制的反应。在 maplesim 内部测试的模型的反应几乎与真实机器人完全相同,模拟机器人和真实机器人的 TCP(收费中心点)相同。maplesim 模型中没有倒置 z 轴的迹象。如前所述,真实和模拟机器人手臂的末端执行器坐标在 maplesim 内部是相同的。
然而,在 pyfmi 中使用时,会发生一些事情,并且 z 轴是倒置的。我不知道问题是什么,因为在使用 pyfmi 时没有使用对 z 方向的位置有任何影响的代码或参数。
你们中是否有经验丰富且知识渊博的人曾经经历过这样的事情并且知道出了什么问题?
非常感谢埃里克
更新!经过测试,我发现反向器 z 方向是由关节 2 和 5 上的方向变化引起的。因此,pyfmi 没有无缘无故地改变我的 z 轴,而是改变了我的两个关节的方向。
我仍然很困惑,但也许它会对你有所帮助。
python - 如何解决 PyFMI 中的字符编码错误?
我在 Ubuntu 20.04 上尝试使用 PyFMI 加载和运行从 OpenModelica 导出的 FMU。当我运行代码时:
产生以下错误:
无论我使用通过 pip 或 conda 提供的 PyFMI 版本,结果都是相同的。
我花了几个小时试图找到解决方案,但无济于事。在 pip 上,他返回的包信息pyfmi.check_packages()
是:
在 conda 上是
注意:我尝试通过 conda 安装 PyFMI 2.8.5 版本,但无论我尝试什么,我似乎总是以 2.5 结束。
有没有人有什么建议?非常感谢您的帮助!
python - cswrapper 代码的用途,FMPy 中的日晷求解器
关于 FMPy,它是一个用于 FMU 模拟的 python 包。我需要澄清一下:cswrapper 代码、日晷求解器或函数的目的是什么?是否只需要 ModelExchange 类型的 FMU 仿真而不是 Co-simulation 类型的 FMU 仿真? https://github.com/CATIA-Systems/FMPy
compilation - Jmodelica 界面在模拟模型时自动关闭
我使用 Jmodelica 成功编译了我的模型 fmu,并尝试在 Jmodelica 中模拟模型。但是,在加载并模拟fmu后,我得到一个指令“按任意键继续......”,如果我在这里输入任意键,Jmodelica界面会自动关闭。这可能是什么原因?
我期望的结果如下所示,这是我在 Jmodelica 中运行另一个模型时的结果