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 창을 확인 해보면 해당 설정들이 바뀐 것을 확인 할 수 있습니다.



+ Recent posts