共同模拟dymola fmu文件不能被fmuchecker模拟

时间:2014-02-07 10:31:11

标签: dymola fmi

我们正在尝试测试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许可证,因此我无法看到此模拟失败的原因。 这种奇怪行为可能是什么原因?

部分地,这是与此问题相同的错误消息 Initialization of a Dymola FMU in Simulink

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

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:4)

似乎dymola没有将路径变量设置为ubuntu中的license-file。我们通过将以下行添加到.bashrc

手动完成此操作
# Dymola runtime license, path
DYMOLA_RUNTIME_LICENSE=$HOME/.dynasim/dymola.lic
export DYMOLA_RUNTIME_LICENSE

现在我们可以模拟对方fmu文件了!