본 글은 working model 2d ver.9.0.3 806 을 기준으로 작성되었다.

working model은 matlab과 연동을 위해 DDE(Dynamic Data Exchange)를 사용한다.

하지만, Matlab v2006 이후에 COM(Component Object Modeling) 으로 바뀌면서 이를 해결하기 위한 방법을 아래와 같이 제시한다.

해당 내용은 프로그램 설치 후 파일로 첨부된 메뉴얼 중

MatLabProxy.pdf 파일과 WMTutorialGuide.pdf 두 파일을 참고 하였다.

 

예제로 Tutorials 중 Exercise7_Matlab 를 수행 해보고 그 과정을 기록한다...

 

먼저 아래 주의 사항을 반드시 check 한다. 

 1. 해당 예제 실행시, 제공된 M-file 의 이름과 확장자가 대문자로 되어 있는데 상위버전의 matlab은 파일이름과 확장자 모두 대소문자를 구분하므로 파일 이름을 function name과 일치시키고 확장자(.m)은 반드시 소문자를 사용한다.

 

 2. matlab 실행파일과 working model 의 파일중 아래 글에서 설명될 MATLABProxy.exe , WM.exe 파일을 속성에서 관리자 권한으로 실행에 체크해둔다. (windows7 이상의 OS 사용시..)

 

 3. matlab 에서 setpath 로 들어가 시뮬레이션시 사용할 m-file의 경로를 추가해준다.

 

 4. 해당 m-file 이 잘 동작 하는지 확인하려면 (tutorial : Exercise7_Matlab 의 경우)

global e1
e1 = 1
krctrl2(1,1)

의 결과가 'ans = 10.8080' 이 되는지 확인한다.

 

 5. matlab에서 모든 변수를 clear 하고 시뮬레이션 실행 전에 아래와 같이 초기화 한다.  (tutorial : Exercise7_Matlab 의 경우)

global e1
e1 = 1

 

Working Model 2D와 Matlab의 Link 수행

 1. working model과 matlab 을 모두 종료한 상태에서

 

 2. matlab을 실행한다.

 

 3. matlab command 창에서

enableservice('AutomationServer', true)

를 enter 한다.

 

 4. working model 이 설치된 폴더에서

\Working Model 2D\Program\

MATLABProxy.exe 파일을 실행하면 아래와 같은 창이 뜨는데

 

절대 종료 시키지말고 최소화 해둔다.

(만약에 이 단계에서 에러가 생기면 아래의 '오류 발생시' 글을 참고 한다.)

 

 5. working model 을 실행하고 파일을 연다. 그리고 아래와 같이 외부 파일 연결 아이콘에서 속성으로 들어가

 application 에 MATLABProxy  라고 넣고,

Dovument 에 Engine 이라 넣는다.

 6. working model 에서 시뮬레이션을 실행한다.

 

위(Working Model 2D와 Matlab의 Link 수행) 4 단계에서 오류 발생시 

 1. matlab 종료

 

 2. command prompt (DOS window) 에서 matlab 실행 파일이 있는 폴더로 가서 아래와 같이 실행한다.

Matlab /regserver

 

 3. matlab command window 가 뜨는데, 해당 창은 종료하고 위의 step2 부터 다시 시작한다.

+ Recent posts