2012-06-22 44 views
1

我有一個使用Dymola開發的模型,我必須將它與Java中的模型進行接口。 更準確地說,在每個時間步,兩個模型都提供了另​​一個輸入。我發現: - Dymola能夠生成/導出C代碼。它們提供了一個難以理解的(到目前爲止)接口,但主要的一點是,導出僅適用於Visual C++,我需要跨平臺。 OpenModelica(OMC)可以生成C代碼,但是我沒有發現它是否可用作庫。連接modelica模型和Java連接

如果你有如何對接的Modelica語言和Java模型上的任何建議,請與大家共享;)

回答

1

有幾種方法,您的問題。爲了給我幾個選擇,我的頭頂上:

  • 聯合模擬。 Dymola/OpenModelica可以將模型導出爲FMU,因此如果您可以將Java代碼導出爲FMU或使用Java編寫主算法,則可以將它們一起模擬。據我所知,這是將任一工具生成的模擬代碼用作庫的唯一方法。雖然我可能對Dymola錯了。
  • 時間事件。當樣本(...)...溝通時()。這具有兩個模型可以使用不同的時間步長和可變步長解算器的優點。
    • 使用外部C + JNI(Java本地接口)基於套接字每個事件
    • 同步+通訊調用一些Java功能
0

它是不是從你的描述,這是否清楚Java代碼對它有一些數學方面,或者你只是想將它用作計算值的函數(或者在模擬過程中以特定間隔調用它)。如果你能詳細說明,這可能有助於弄清楚這裏真正有意義的東西。