2012-06-22 2 views
1

저는 Dymola로 개발 된 모델을 가지고 있으며 자바 모델과 인터페이스해야합니다. 보다 정확하게는 각 시간 단계에서 두 모델 모두 다른 모델에 입력을 제공합니다.modelica 모델과 Java 모델의 인터페이스

지금까지 발견 한 내용은 다음과 같습니다. - Dymola는 C 코드를 생성/내보낼 수 있습니다. 그들은 이해할 수없는 (지금까지) 인터페이스를 제공하지만 주요 포인트는 수출이 Visual C++ 전용이고 크로스 플랫폼이되어야한다는 것입니다. - OpenModelica (OMC)는 C 코드를 생성 할 수 있지만 라이브러리로 사용할 수 있는지 찾지 못했습니다. 당신이 modelica 및 자바 모델을 인터페이스하는 방법에 대한 조언이있는 경우

, 공유하시기 바랍니다) 문제에 대한 여러 가지 접근 방법이있다

답변

1

. 내 머리 꼭대기에서 몇 가지 대안을 제공하려면

  • 공동 시뮬레이션. Dymola/OpenModelica는 모델을 FMU로 내보낼 수 있으므로 Java 코드를 FMU로 내보내거나 Java에서 마스터 알고리즘을 작성할 수 있다면 함께 시뮬레이트 할 수 있습니다. 내가 아는 바로는 어느 툴로도 생성 된 시뮬레이션 코드를 라이브러리로 사용하는 유일한 방법입니다. 나는 디몰 라에 대해 잘못 될 수 있습니다.
  • 시간 이벤트. 샘플 (...) ... communicate(). 이것은 두 모델이 서로 다른 시간 단계 및 가변 스텝 크기 솔버를 사용할 수 있다는 장점이 있습니다. 소켓을 기반으로 각 이벤트
  • 동기화 + 통신에서 일부 자바 함수를 호출 외부 C + JNI (Java 원시 인터페이스)를 사용하여
0

그것은이 있는지 여부 귀하의 설명에서 명확하지 않다 Java 코드는 수학적인 측면이 있거나 값을 계산하는 함수로 사용하거나 시뮬레이션 중에 특정 간격으로 호출하기를 원합니다. 당신이 정교 할 수 있다면, 그것은 여기서 정말로 의미가있는 것을 알아내는 데 도움이 될 수 있습니다.

관련 문제