2014-02-07 125 views
3

我們正在嘗試測試Dymola的協同仿真選項並創建了一個fmu文件。我們從www.fmi-standard.org安裝/構建了FMILibrary-2.0b2和FMUChecker-2.0b1。協同仿真dymola fmu文件不能由fmuchecker模擬

我在嘗試運行用Dymola創建的fmu-file的同事的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

任何建議都十分讚賞的相同的錯誤消息。謝謝。

回答

3

似乎dymola沒有在ubuntu中爲許可證文件設置路徑變量。我們已經通過添加以下行手工完成這.bashrc中

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

現在我們可以模擬對方的FMU-文件!

3

導出的FMU是否需要許可證取決於導出FMU的Dymola的副本是否具有「二進制導出」功能。底線是,如果你想從Dymola獲得無障礙的FMU,你必須支付額外的許可功能。

+0

但這並不能解釋爲什麼我的同事可以運行我的fmu文件! – Medi1Saif

+1

從您的描述中可以看出誰擁有Dymola副本(您和/或您的同事)以及這些仿真在哪些機器上運行(以及這些機器是否具有Dymola許可證),這一點並不清楚。所以我很難說。 但是,如果你有Dymola,你有一個運行許可證來運行這些FMU。所以它在你運行它們的時候會有所不同(在具有Dymola的機器上)。這可能是你面臨的問題的一部分,但是我無法從你的描述中看出來。 –

+0

我們有一個副本,我們有第三個電腦沒有任何許可證! – Medi1Saif