4

我们正在尝试测试 Dymola 的协同仿真选项并创建了一个 fmu 文件。我们从 www.fmi-standard.org 安装/构建了 FMILibrary-2.0b2 和 FMUChecker-2.0b1。

我在尝试运行我的同事使用 Dymola 创建的 fmu 文件的 FMUChecker (fmuCheck.linux32) 时遇到问题。Wenn 我用我的 Dymola 许可证从同一个 Dymola 模型创建了一个 fmu 文件,这个问题是不可重现的。因为 fmuCheck.linux32 运行良好,没有任何错误消息。我的同事可以毫无问题地运行这两个文件!

由于我们的目标是使用此选项进行联合仿真,因此我尝试在没有 Dymola 的 PC 上运行 fmu 文件,但我的 fmu-copy 和我的同事创建的文件再次出现相同的错误。

这是错误消息

    fmuCheck.linux32 PemFcSysLib_Projects_Modl_SimCoolCirc.fmu 
[INFO][FMUCHK] Will process FMU PemFcSysLib_Projects_Modl_SimCoolCirc.fmu
[INFO][FMILIB] XML specifies FMI standard version 1.0
[INFO][FMI1XML] Processing implementation element (co-simulation FMU detected)
[INFO][FMUCHK] Model name: PemFcSysLib.Projects.Modl.SimCoolCirc
[INFO][FMUCHK] Model identifier: PemFcSysLib_Projects_Modl_SimCoolCirc
[INFO][FMUCHK] Model GUID: {6eba096a-a778-4cf1-a7c2-3bd6121a1a52}
[INFO][FMUCHK] Model version: 
[INFO][FMUCHK] FMU kind: CoSimulation_StandAlone
[INFO][FMUCHK] The FMU contains:
18 constants
1762 parameters
26 discrete variables
281 continuous variables
0 inputs
0 outputs
2087 internal variables
0 variables with causality 'none'
2053 real variables
0 integer variables
0 enumeration variables
34 boolean variables
0 string variables

[INFO][FMUCHK] Printing output file header
time
[INFO][FMILIB] Loading 'linux32' binary with 'standard32' platform types
[INFO][FMUCHK] Version returned from FMU:   1.0
    [FMU][FMU status:OK] 
    ...
    [FMU][FMU status:OK] 
    [FMU][FMU status:Error] fmiInitialize: dsblock_ failed, QiErr = 1
    [FMU][FMU status:Error] Unless otherwise indicated by error messages, possible errors are (non-exhaustive):
1. The license file was not found. Use the environment variable "DYMOLA_RUNTIME_LICENSE" t
[FATAL][FMUCHK] Failed to initialize FMU for simulation (FMU status: Error)
[FATAL][FMUCHK] Simulation loop terminated  at time 0 since FMU returned status: Error
FMU check summary:
FMU reported:
    2 warning(s) and error(s)
Checker reported:
    0 Warning(s)
    0 Error(s)
    Fatal error occured during processing

我认为 fmu 文件不需要模拟 Dymola 许可证,因此我看不出此模拟失败的原因。这种奇怪行为的原因可能是什么?

部分是此问题的相同错误消息 在 Simulink 中初始化 Dymola FMU

任何建议都非常感谢。谢谢你。

4

2 回答 2

5

似乎 dymola 没有将路径变量设置为 ubuntu 中的许可证文件。我们通过将以下行添加到 .bashrc 来手动完成此操作

# Dymola runtime license, path
DYMOLA_RUNTIME_LICENSE=$HOME/.dynasim/dymola.lic
export DYMOLA_RUNTIME_LICENSE

现在我们可以互相模拟 fmu 文件了!

于 2014-02-13T08:47:59.280 回答
4

导出的 FMU 是否需要许可证取决于导出 FMU 的 Dymola 副本是否具有“二进制导出”功能。底线是,如果您想从 Dymola 获得不受阻碍的 FMU,您必须为额外的许可功能付费。

于 2014-02-08T01:18:42.513 回答