MATLAB 은 일종의 소프트웨어 플랫폼이라고 볼 수가 있어서 매트랩 툴박스들은 MATLAB 위에서만 실행됩니다. 따라서 시뮬링크를 사용한다라고 해도 매트랩을 잘 다루어야 시뮬링크를 조금 더 효율적으로 사용할 수 있습니다.

요즘 저는 많은 차량용 로직들을 Simulink Stateflow 로 설계하고 Embedded Coder 를 사용하여 C 코드를 생성해서 개발 보드에 탑재하는 업무를 하고 있습니다. Simulink 를 사용하기 위해서는 샘플레이트를 비롯하여 다양한 configuration 을 하게 되고~ Embedded Coder 를 사용할 때 역시도 마찬가지로 설정 할 것들이 많이 있습니다.

이런 설정들은 그때그때 달라지기도 하지만 사용하는 MCU 가 동일하다면 그리 크게 달라지지는 않습니다. 따라서 한번만 설정하고 해당 설정을 저장해 놓고 사용하는 것이 효율적일 것입니다.

오늘은 MATLAB 스크립트를 사용하여 Simulink configuration 을 하는 방법을 소개하려 합니다. Simulink configuration은 Simulink 모델창에서 Simulation -> Model Configuration Parameters 를 선택하거나 Ctrl + E 를 누르면 실행 됩니다.

그 중에서 아래와 같이 All Parameters 탭에서 메뉴들을 검색 할 수 있는데~ 아래 그림과 같이 해당 메뉴에 대한 Command-Line Name 을 확인 할 수 있습니다. Simulink configuration 내용을 스크립트로 자동화 하고 싶은 경우에 Command-Line Name을 사용하면 됩니다.

Simulink 모델의 기본적인 설정값들은 아래 주소의 메뉴얼을 확인해 보시기 바랍니다.

https://kr.mathworks.com/help/simulink/slref/model-parameters.html

Embedded Coder 를 사용하여 코드 생성을 하기 위해서는 Simulink Solver 셋팅을 Fixed-step discrete (no continuous states) 로 설정하게 되는데~

해당 설정을 하기 위해서는 아래와 같이 명령어를 써주면 됩니다.

set_param(gcs, 'Solver', 'FixedStepDiscrete')

Code Generation 시 Embedded Coder 를 사용하기 위해서는 System target file 설정을 ert.tlc 로 하게 되는데~

이러한 과정을 MATLAB code 로 어떻게 설정하는지를 확인하기 위해서는 아래와 같이

“All Parameters” 에서 “target file” 등으로 검색을 해서 “Command-Line Name” 을 알아 낸 후에 설정해 주면 됩니다.

예로 든 Embedded Coder 를 사용하기 위한 설정은 아래와 같습니다.

set_param(gcs, 'SystemTargetFile', 'ert.tlc')

해당 MATLAB 명령어 설정을 해 본 후에 Simulink configuration 창을 확인 해보면 해당 설정들이 바뀐 것을 확인 할 수 있습니다.



요즘 자동차 분야에서 제어기를 설계할때 MATLAB 의 Simulink 제품을 많이들 사용합니다. 제어기 사양서는 state machine 으로 구성되기 때문에 주로 Stateflow 를 사용하여 설계되고 Embedded Coder 등을 사용하면 시뮬레이션 후에 코드 생성까지 되기 때문에 기존에 시뮬레이션 후 C 코드를 다시 작성하고 하는 번거로움을 줄일 수 있습니다.

저도 회사에서 과제를 하면서 MATLAB 으로 알고리즘 시뮬레이션을 하고 Embedded Coder 를 사용하여 C 코드를 생성해서 사용한 경험이 있고~ 나름 신뢰할만한 코드가 나와서 편리하다는 생각을 많이 합니다.

그래서 일단 오늘은 Simulink 를 시작하는 방법에 대해 소개하려 합니다.

1. Simulink 실행

Simulink 를 사용하기 위해서는 당연히 MATLAB 과 Simulink가 설치되어 있어야 겠고 MATLAB 명령창에서 simulink 라고 명령하면 Simulink Start Page 가 나오게 됩니다. MATLAB 은 대소문자를 구별하므로 소문자로 명령어를 입력하시기 바랍니다. 물론 요즘은 툴이 좋아져서 정정 제안도 해주기 때문에 실수를 해도 별 문제가 없습니다.

위 소개처럼 명령어를 사용하는 방법 말고도 UI 를 클릭해서 실행하는 방법이 있는데 아래 그림과 같이 Simulink 버튼을 클릭해 주면 마찮가지로 Simulink Start Page 가 나오게 됩니다.

2. 어떤 어플을 설계 하느냐에 따라 다양한 방식으로 새 프로젝트를 시작할 수 있는데 저는 그냥 예전 스타일로 보통 Blank Model 로 시작하는 편입니다.

이렇게 Blank Model 을 만들었으면 이제 Simulink Library Browser 를 열어서 각 구성 요소들을 가져다 사용하면 됩니다. Simulink Library Browser 를 열기 위해서는 아래 그림과 같이 View -> Library Browser 를 클릭하거나 Ctrl+Shift+L 단축키를 눌러주거나 또는 MATLAB 명령창에 slLibraryBrowser 라는 명령어를 타이핑 해도 됩니다.

3. Simulink Library Browser 에서 사용하고자 하는 Block 들을 찾아서 배치해야 되는데~ 목록을 하나 하나 클릭하면서 어떤 Block 이 있는지를 확인하고 배치 할 수도 있고 블록의 대략적인 이름을 아는 경우에는 아래와 같이 검색을 통해 블록을 선택할 수도 있습니다.

위와 같이 Simulink Library Browser 에서 검색을 통해 모델을 일일이 찾아서 Drag & Drop 해서 붙이는 경우 노력이 많이 들기 때문에 Simulink 모델링에 익숙하신 분들은~

아래와 같이 model 창에서 블록을 놓고 싶은 위치를 클릭한 후에 블록명을 타이핑 하면 해당 이름의 블록 목록이 나오고

클릭하면 바로 모델창에 해당 블록이 입력 됩니다.

지금까지 수동으로 Simulink 시작하는 방법에 대해 소개를 했는데 ~ MATLAB 제품들은 굉장히 많은 부분들을 자동화 할 수 있는 방법들을 제공해 줍니다. 아래 포스팅에서 소개한 바와 같이 MATLAB 코드를 사용하여 Simulink 모델링을 자동화 할 수 있습니다.

http://iamaman.tistory.com/1482

Simulink 를 조금더 편리하게 사용하기 위해서는 이러한 자동화 방법에 대해 공부를 해 보시는 것도 좋을 것 같네요.



20대 후반에 ‘남성의 MATLAB LOG’ 블로그를 만들었습니까~ 벌써 제 블로그도 8년 이상이 되었습니다.  뭐 특별한 목적이 있었다기보다는 그 당시에 제가 매우 좋아했던 MATLAB 이라는 프로그램의 사용 방법에 대해서  기록하기 위한 용도로 만들었습니다. 그래서 그런지 저는 회사에서도 MATLAB 을 사용한 개발을 많이 해 왔던 것 같습니다.   가장 최근에 다녔던 회사는 자동차 부품 개발 관련 회사 였고 MBD(Model Based Design) 일을 했었습니다. Simulink Stateflow 제품을 많이 사용하였었고  타겟 보드에 올리기 위해서 Embedded Coder 를 사용하여 C 코드 생성을 했었습니다.


언제인지 잘은 모르겠지만 블로그를 운영하면서  수익을 낼 수 있다라는 것을 알게 되었습니다. 좋아하는 것도 기록하고  수익도 낼 수 있으면 좋으니까 저도 애드센스 광고를 달게 되었습니다.


수익을 목적으로 블로그를 운영하는 경우도 많이 있는 것 같은데~ 예전에 제 블로그에도 어떤 분이 블로그를 사겠다고  댓글을 달았던 적이 있습니다. 다른 사람들에게는 어떻게 보일지 모르겠지만 저에게는 무척이나 애착이 가는 블로그라서  당연히 팔지 않았습니다. 블로그가 수익과 연관이 되다 보니 블로그 분석하는 사이트들이 많이 생겨나고 있는 것 같습니다.


오늘 하고 싶은 얘기는 제가 뭐를 하는 사람이냐에 대한 얘기가 아니라 제가 들어가 봤던 블로그 관련사이트들에 대해서  소개하려합니다.


아래 사이트에서는 블로그 운영과 관련하여 많은 고수들의 이야기들을 볼 수가 있습니다. 운영 방법에 대해서 유료 강의도 하는 것 같더군요.

http://www.blogermoney.com/


정말  고수이신분들은 수익 공개도 하시는데 정말 후덜덜한 수익을 내는 분들이  많이 계시더군요. 아래 주소에서 수익공개 하시는 분들을 보면 50대 이상의 어르신분들도 계신 것 같더군요. 블로그 운영 열심히 해봐야 되겠다는 자극이 되는 것 같습니다.


http://www.blogermoney.com/community/community_list.asp?code=BD10

어쨌든 블로거머니에서는 블로그와 관련된 질문도  할 수 있고 자신의 블로그를 소개 할 수도 있고  수익 인증도 할 수 있습니다.


다음으로  아래의 블로그차트라는 홈페이지에서는  블로그 지수를 확인할 수가 있습니다. 어떤 기준으로 블로그 지수가 매겨지는지는 모르겠지만 방문자가 많은 블로거들은 어떻게 생겼는지 확인을 해 볼 수가 있습니다.  고수의 블로그들을 들어가면서 해당 블로그를 벤치마킹 해 보는 것도 블로그 운영하는데 도움이 될 거라고 생각됩니다.


http://www.blogchart.co.kr

블로그차트 홈페이지에 가입을 하고 블로그 인증을 한 후에, ‘내블로그 분석’  탭에 들어가 보면 자신의 블로그 순위를 확인할 수 있습니다. 제 블로그는 97548 위 네요. ㅋㅋㅋㅋㅋ 그냥 까마득하네요.


역시나 개발 관련된 글들을 주로 쓰다 보니 유효키워드가 거의 없네요. 유효 키워드가 뭔지는 정확하게 모르겠지만 그냥 돈이 되는 키워드가 아닐까요?


아무튼 블로그를 운영하면서  위와 같은 사이트에서 다른 사람들은 어떻게 블로그 운영을 하는지 구경하는 것도 재미있는 거 같습니다.



+ Recent posts