본문 바로가기

Stateflow9

MATLAB Simulink configuration 스크립트 사용방법 MATLAB 은 일종의 소프트웨어 플랫폼이라고 볼 수가 있어서 매트랩 툴박스들은 MATLAB 위에서만 실행됩니다. 따라서 시뮬링크를 사용한다라고 해도 매트랩을 잘 다루어야 시뮬링크를 조금 더 효율적으로 사용할 수 있습니다. 요즘 저는 많은 차량용 로직들을 Simulink Stateflow 로 설계하고 Embedded Coder 를 사용하여 C 코드를 생성해서 개발 보드에 탑재하는 업무를 하고 있습니다. Simulink 를 사용하기 위해서는 샘플레이트를 비롯하여 다양한 configuration 을 하게 되고~ Embedded Coder 를 사용할 때 역시도 마찬가지로 설정 할 것들이 많이 있습니다. 이런 설정들은 그때그때 달라지기도 하지만 사용하는 MCU 가 동일하다면 그리 크게 달라지지는 않습니다. 따라.. 2018. 12. 22.
MATLAB Simulink 시작하기 요즘 자동차 분야에서 제어기를 설계할때 MATLAB 의 Simulink 제품을 많이들 사용합니다. 제어기 사양서는 state machine 으로 구성되기 때문에 주로 Stateflow 를 사용하여 설계되고 Embedded Coder 등을 사용하면 시뮬레이션 후에 코드 생성까지 되기 때문에 기존에 시뮬레이션 후 C 코드를 다시 작성하고 하는 번거로움을 줄일 수 있습니다. 저도 회사에서 과제를 하면서 MATLAB 으로 알고리즘 시뮬레이션을 하고 Embedded Coder 를 사용하여 C 코드를 생성해서 사용한 경험이 있고~ 나름 신뢰할만한 코드가 나와서 편리하다는 생각을 많이 합니다. 그래서 일단 오늘은 Simulink 를 시작하는 방법에 대해 소개하려 합니다. 1. Simulink 실행 Simulink 를.. 2018. 11. 16.
MATLAB 공부 자료 많은 공학도 분들이 MATLAB 의 사용법에 대해서 공부하실 거라고 생각합니다. MATLAB 은 아시는 바와 같이 매우 비싼 툴이고 업데이트를 위한 라이센스 유지비용 역시도 1년에 20~30 % 정도를 내는 걸로 알고 있습니다. 저는 학교에서 MATLAB 수업 과목의 조교를 했었고~ 이런 경험을 바탕으로 MATLAB 사용 방법을 소개하기 위해서 본 블로그를 만들었습니다. 개인적으로도 회사에서 MATLAB 을 사용한 업무를 하지만, 일반적으로 학생들이 학교에서 배우는 MATLAB 을 사용한 알고리즘 개발까지는 사실 MATLAB을 사용할 필요가 없다고 생각합니다. 제 블로그에서 소개했었던 Python, Scilab, Octave 를 비롯해서 매틀랩을 대신하여 알고리즘을 개발해 볼 수 있는 오픈소스 또는 프리.. 2018. 7. 18.
블로그 운영 관련 도움되는 사이트들 20대 후반에 ‘남성의 MATLAB LOG’ 블로그를 만들었습니까~ 벌써 제 블로그도 8년 이상이 되었습니다. 뭐 특별한 목적이 있었다기보다는 그 당시에 제가 매우 좋아했던 MATLAB 이라는 프로그램의 사용 방법에 대해서 기록하기 위한 용도로 만들었습니다. 그래서 그런지 저는 회사에서도 MATLAB 을 사용한 개발을 많이 해 왔던 것 같습니다. 가장 최근에 다녔던 회사는 자동차 부품 개발 관련 회사 였고 MBD(Model Based Design) 일을 했었습니다. Simulink Stateflow 제품을 많이 사용하였었고 타겟 보드에 올리기 위해서 Embedded Coder 를 사용하여 C 코드 생성을 했었습니다. 언제인지 잘은 모르겠지만 블로그를 운영하면서 수익을 낼 수 있다라는 것을 알게 되었습니다.. 2018. 3. 15.
Python 에서 matplotlib 사용하여 그래프 그리기 요즘은 굉장히 다양한 오픈소스 프로그램들이 있습니다. 수치 분석에 주로 MATLAB 을 사용하곤 했지만 요즘은 MATLAB 을 꼭 써야 하는 것들이 아니라면 Python 을 주로 사용하고 있습니다. 회사에서는 차량용 MBD(Model Based Development) 개발을 위해 Simulink 환경에서 Stateflow 툴박스를 주로 활용하는데 모델링의 일부는 Stateflow API 를 사용하여 MATLAB 스크립트를 통해 자동으로 모델을 구성하는 작업을 하곤 합니다. 모델링 구성후에는 당연히 simulation 을 수행하고 simulation 을 마치면 Embedded Coder 를 사용하여 MATLAB 알고리즘/Simulink 모델에 대해 C 코드 생성후 타겟 보드에서 테스트를 진행 합니다. 위와.. 2018. 1. 18.
Simulink slx 파일을 텍스트 에디터에서 열어보기 아래 포스팅에서도 소개한적이 있지만 요즘 Simulink 에서는 MDL 확장자 대신에 SLX 를 주로 사용합니다. http://iamaman.tistory.com/1822 MDL 파일의 경우 에디터에서 열어서 확인 해 볼 수가 있었는데 SLX 파일의 경우 에디터에서 열어 볼 수가 없더군요. 그래서 오늘은 SLX 파일을 텍스트 에디터에서 확인 하는 방법에 대해 소개해 보려 합니다. SLX 파일은 JAR 와 같이 아카이브 파일 형태라고 합니다. test.slx 파일이 잇다면 파일의 확장자를 test.zip 으로 변경합니다. 다음과 같은 메시지가 나오는데 예를 클릭합니다. test.zip 파일을 압축 프로그램을 사용하여 압축 해제 합니다. 저는 반디집을 사용했습니다. 압축을 해제 하고 폴더에 들어가 보면 아래.. 2017. 2. 25.
Python Degree to Clock 변환 오늘은 파이썬을 활용하여 각도를 clock 값으로 변환하는 예제에 대해 알아보려 합니다. MATLAB Stateflow 에서 junction 을 연결 할 때 junction 의 연결 지점을 clock 값으로 설정 합니다. 이러한 경우 각도에 대한 clock 값을 알 필요가 있습니다. 아래는 각도를 clock 값으로 변환해 주는 코드입니다. Anaconda 를 설치해서 사용 중이라 numpy 나 matplotlib 은 설치가 되어 있는 상태입니다. import matplotlib.pyplot as plt import numpy as np def degreeToClock(degV): return str((-(degV / 360.0 * 12.0) + 3) % 12) if __name__ == '__main__.. 2015. 9. 13.
MATLAB stateflow 현재 차트의 data 다 찾기 MATLAB 의 Stateflow 는 Stateflow API 를 활용하여 m 파일 명령어로 구성 및 조정이 가능 합니다. 때에 따라서는 일일이 사람이 Stateflow 를 그리는것 보다는 Stateflow API 를 활용하는것이 효율 적인 경우가 많이 있습니다. Stateflow API 를 활용하면 Python 과 같은 스크립트 언어등을 활용하여 Stateflow 를 그리는 Code generation 등도 가능 합니다. 오늘은 Stateflow 에서 사용중인 Data 를 다 찾는 방법에 대해 알아보려 합니다. Stateflow 에서 Data 를 다루기 위해서는 Stateflow.Data Object 를 다 찾으면 됩니다. Stateflow 에서 data 를 다 찾는 스크립트는 다음과 같습니다. 위 코.. 2015. 7. 16.
MATLAB 테트리스(Tetris) 게임 아래 포스팅에서 MATLAB Game Stellaria 에 대해 소개해 드린 적이 있는데요~ 2014/01/12 - [programming language/MATLAB] - MATLAB Game Stellaria 오늘은 MATLAB Tetris 에 대해 소개해 드리려 합니다. 먼저 아래 주소의 포스팅을 보니 MATLAB 자체적으로도 Tetris 가 있더군요. http://lstudio.egloos.com/viewer/2262652 위 포스팅의 설명대로 sim('sf_tetris2') 라는 명령을 Command Window 에 치면 아래 그림과 같이 Tetris가 실행 됩니다. sim 명령을 사용하는 것을 보면 아시겠지만, MATLAB Tetris는 시뮬링크로 구성되어 있으며, 아래 명령을 통해 모델을 열.. 2014. 1. 15.