상담문의

[Amesim] Amesim과 matlab Simulink 사이의 Co-simulation, 기능 소개

2026-04-14

 

1. Matlab Simulink


 아래 그림과 같이 matlab simulink 기능을 이용하여 2자유도 현가장치 모델을 모델링 하였습니다. 이 모델을 FMU 로 변환하여 Amesim 에서 임포트 하는 과정을 소개하겠습니다. 계단 입력을 가했을 때, 현가장치의 sprung mass(차체)와 unsprung mass(타이어)의 수직변위 응답은 아래 커브와 같이 표현됩니다. 

 이것을 FMU 와 같은 서브모델로 변환하여 Amesim 에서 시뮬레이션을 수행할 수 있습니다. Matlab에서 FMU 로 변환하는 과정은 매뉴얼에 잘 설명되어 있으므로, 여기서는 간단하게 설명하겠습니다. 




2. FMU 변환 


 Simulink 모델을 FMU 로 변환하기 위해 input port 와 output port 를 그림과 같이 셋팅해야 합니다. 이 부분이 인터페이스로 정의 되어 Amesim 에서 파일을 불러올 때, input 과 output을 정의하게 됩니다. 

 FMU 로 내보낼 때는 솔버를 고정 스텝으로 변경하고, 자동 솔버를 선택합니다. 샘플 시간은 응답 속도가 빠르지 않을 경우 0.01 로 셋팅합니다. 이렇게 하여 FMU 로 내보내면, 확장자가 fmu 인 파일이 생성이 되며, input 과 output 단자가 노출이 됩니다. 




3. Amesim 에서 FMU 임포트 하기 


 아래 그림과 같이 matlab Simulink 에서 생성한 FMU 파일을 임포트 합니다. 서브모델을 생성할 폴더를 지정하고, 이름을 작성합니다. (FMU 컴파일을 수행하기 위해서 visual studio 2015 이상의 버전이 설치되어 있어야 합니다.) 

 서브모델을 생성하면, submodels 폴더 안에 확장자가 c 인 소스코드가 저장되어 있는 것을 확인 할 수 있습니다. 





4. Amesim Co-Simulation 수행


 FMU 파일을 불러오면, Amesim 에서 FMI 형태의 아이콘이 생성됩니다. FMI(Functional Mock-up Interface)는 서로 다른 시뮬레이션 툴끼리 동적 모델을 교환하거나 (Co-Simulation/ model exchange) 함께 돌리기 위한 개방형 표준 인터페이스 입니다. 

 FMU는 FMI 표준을 따르는 배포 단위(파일)이고, 보통 확장자가 .fmu 인 zip 파일의 패키지 입니다. 내부에는 모델 설명 XML, 바이너리 등이 들어갑니다. 

 Amesim 에서 FMU 가 중요한 이유는, Amesim 의 강점(다물리 및 1D 해석) 을 유지한 채로 모델을 Simulink 와 같은 제어시스템 툴과 표준 방식으로 연결할 수 있기 때문입니다. 

 이 기능을 이용하여 matlab Simulink 과 똑같이 시뮬레이션을 수행하였습니다. 이때 솔버는 standard integrator 를 사용해야 사전에 정의한 fixed step 과 충돌없이 원활하게 시뮬레이션 할 수 있습니다. 




5. 해석 결과 및 결론 


 해석을 수행하면 아래 그림과 같이 Simulink 와 똑 같은 그래프를 얻을 수 있음을 확인 할 수 있습니다. 이것은 matlab 에서 생성한 FMU 파일이 Amesim 에 오류 없이 제대로 임포트 되었음을 의미합니다. 다음 시간에는 거꾸로 Amesim에서 생성한 FMU 파일을 matlab Simulink 에서 임포트 하는 방법을 알아보겠습니다. 





댓글 없음

댓글 쓰기

이런자료는 어때요?
캐디언스 시스템
(주) 캐디언스시스템

서울본사 : 서울시 금천구 가산디지털 1로 212, 코오롱디지털타워애스턴 1006호