Simulink

주요 특징

  • 계층적 블록 다이어그램 작성 및 관리를 위한 그래픽 편집기
  • 연속 시간 및 이산 시간 시스템 모델링을 위한 사전 정의된 블록 라이브러리
  • Fixed-step 및 variable-step ODE solver를 포함한 시뮬레이션 엔진
  • 시뮬레이션 결과 보기를 위한 스코프 및 데이터 디스플레이
  • 모델 파일 및 데이터 관리를 위한 프로젝트 및 데이터 관리 도구
  • 모델 아키텍처 개선과 시뮬레이션 속도 향상을 위한 모델 분석 도구
  • MATLAB 알고리즘을 모델로 가져오기 위한 MATLAB Function 블록
  • C 및 C++ 코드를 모델로 가져오기 위한 Legacy Code Tool

모델 작성

Simulink®가 제공하는 사전 정의된 블록 집합을 결합하여 시스템에 대한 상세한 블록 다이어그램을 만들 수 있습니다. 계측적 모델링, 데이터 관리 및 서브시스템 사용자 정의를 위한 도구는 가장 복잡한 시스템도 명료하고 정확하게 표현할 수 있도록 도와줍니다.

블록 선택

Simulink 라이브러리 브라우저에는 시스템 모델링에 자주 사용되는 블록 라이브러리가 있습니다.  여기에는 다음이 포함됩니다.

  • 통합(Integration) 및 단위 지연(Unit Delay)과 같은 연속형 및 이산형 동적 블록
  • Sum, Product 및 Lookup Table 등의 알고리즘 블록
  • Mux, Switch 및Bus Selector 등의 구조화 블록

이러한 블록을 사용하거나 수동 작성한 MATLAB®, C, Fortran 또는 Ada 코드를 모델로 통합함으로써 사용자 정의 함수를 만들 수 있습니다.

사용자 정의 블록은 Simulink Library Browser 내 자체 라이브러리에 저장할 수 있습니다.

Simulink 추가(Add-On) 기능 제품을 사용하면 항공, 통신, PID 제어, 제어 논리, 신호 처리, 비디오 및 이미지 처리 등의 응용 분야를 위한 특수 구성요소를 통합할 수 있습니다. 또한 추가(Add-On) 기능 제품은 기계, 전기, 유압 구성요소들을 사용하여 물리적 시스템을 모델링할 수도 있습니다.

Simulink 라이브러리 브라우저
크게보기 Simulink 라이브러리 브라우저

MATLAB 알고리즘을 Simulink 모델에 통합 2:04
MATLAB® 코드를 Simulink® 모델에 통합하기 위하여 MATLAB Function 블록을 사용하십시오.

모델 작성 및 수정

Simulink 라이브러리 브라우저에서 Simulink Editor로 블록을 끌어다 모델을 작성합니다. 그 다음 블록을 신호 라인과 연결하여 시스템 구성요소 간 수학적 관계를 설정합니다. Smart Guide나 Smart Signal Routing 같은 그래픽 형식 지정 툴은 모델을 작성하면서 외관을 제어할 수 있도록 도와줍니다. 블록과 신호 그룹을 단일 블록 내의 서브시스템으로 묶어 계층을 추가할 수 있습니다.

Simulink Editor는 모델에서 보고 사용할 수 있는 모든 것에 대한 완전한 제어 능력을 제공합니다. 예를 들어 명령과 하위 메뉴를 편집기 및 상황별 메뉴에 추가할 수 있습니다. 서브시스템의 컨텐츠를 숨기고 그 서브시스템에 독자적 아이콘과 매개변수 대화 상자를 부여하여 서브시스템이나 모델에 사용자 정의 인터페이스를 추가할 수도 있습니다.

Simulink로 시작하기 3:20
모델을 구성하고 시뮬레이션합니다.

서브시스템 생성 및 마스킹 3:09
서브시스템을 사용하여 계층을 생성하고 시스템 동작을 모듈화합니다.

모델 계층 탐색

Simulink의 탐색바과 Model Browser는 모델 탐색을 도와줍니다. 탐색 도구 모음은 현재 보고 있는 계층 수준을 표시하고 계층을 상하로 이동할 수 있게 합니다. Model Browser는 탐색 도구 모음과 같이 모델에 대한 완전한 계층적 트리 구조 보기를 제공하고 계층 수준을 이동하는 데 사용될 수 있습니다.

계층 모형 탐색하기 1:46
탐색 바, 탭 윈도우, 모델 브라우저를 이용한 계층 모델 탐색을 확인해 보십시오.

신호 및 매개변수 관리

Simulink 모델은 신호와 매개변수를 모두 포함합니다. 신호는 블록을 잇는 선에 의해 결정되는 시간에 따라 변화하는 데이터입니다. 매개변수는 시스템 역학 및 동작을 정의하는 계수입니다.

Simulink는 다음의 신호 및 매개변수 특성을 정의하도록 돕습니다.

  • 데이터 유형—single, double, signed 또는 unsigned 8, 16 또는 32비트 정수, Boolean, 열거 또는 고정 소수점
  • 차원—scalar, vector, matrix, N-D 또는 variable-sized array
  • 복잡성실수값 또는 복소수값
  • 최소 및 최대 범위, 초기값 및 공학 단위

사용자가 데이터 특성을 지정하지 않으면 Simulink가 전파 알고리즘을 통해 자동으로 이를 결정하고 일관성 검사를 통해 데이터 무결성을 보장합니다.

이러한 신호 및 매개변수 특성은 모델 내에서 또는 별도의 데이터 딕셔너리에서 지정될 수 있습니다. 그런 다음 Model Explorer를 사용하여 전체 모델 탐색 없이 데이터를 조직, 보기, 수정 및 추가할 수 있습니다.

신호 특성 탭을 표시하는 블록 대화 상자
크게보기 신호 특성 탭을 표시하는 블록 대화 상자
Simulink Model Explorer
크게보기 Simulink Model Explorer

모델 시뮬레이션

시스템의 동적 동작을 시뮬레이션하고 시뮬레이션 실행과 동시에 결과를 확인할 수 있습니다. Simulink는 시뮬레이션 속도와 정확성을 보장하기 위해 fixed-step 및 variable-step ODE solver, 그래픽 디버거 및 모델 프로파일러를 제공합니다.

Solver 선택

Solver는 모델에 포함된 정보를 사용하여 시간의 경과에 따른 시스템의 역학을 계산해 주는 수치 통합 알고리즘입니다. Simulink는 모든 크기의 연속 시간(아날로그), 이산 시간(디지털), 하이브리드(혼합 신호) 및 멀티레이트 시스템을 포함한 광범위한 시스템의 시뮬레이션을 지원하기 위한 Solver를 제공합니다.

이러한 solver는stiff 시스템 및 불연속성이 있는 시스템을 시뮬레이션할 수 있습니다. 사용자는 Solver의 유형 및 속성, 시뮬레이션 시작 및 종료 시간,그리고 시뮬레이션 데이터를 로드할 것인지 저장할 것인지 등의 시뮬레이션 옵션을 지정할 수 있습니다. 또한 시뮬레이션의 최적화 및 진단을 위한 정보를 설정할 수 있습니다. 또한 상이한 조합의 옵션을 모델과 함께 저장할 수 있습니다.

Solver 창을 표시하는 Configuration Parameters 대화 상자
크게보기 Solver 창을 표시하는 Configuration Parameters 대화 상자

시뮬레이션 실행

Simulink Editor에서 대화식으로 시뮬레이션을 실행하거나 MATLAB 명령 라인으로 체계적으로 실행할 수 있습니다. 다음 시뮬레이션 모드를 사용할 수 있습니다.

  • 정상(기본): 해석적으로 모델을 시뮬레이션함
  • Accelerator: 컴파일된 타겟 코드를 생성하고 실행하여 시뮬레이션 성능을 높이되 시뮬레이션 중 모델을 변경할 수 있는 유연성은 유지함
  • Rapid Accelerator: Simulink 외부의 두 번째 코어에서 실행 가능한 실행 파일을 생성하여 Accelerator 모드보다 모델을 더욱 빨리 시뮬레이션할 수 있음

여러 시뮬레이션 실행에 필요한 시간을 줄이려면 멀티코어 컴퓨터나 컴퓨터 클러스터에서 시뮬레이션을 병렬로 실행할 수 있습니다.

병렬로 여러 Simulink 시뮬레이션 실행하기에 관한 소개 2:29
parfor를 사용하여 여러 시뮬레이션 실행을 가속합니다.

시뮬레이션 결과 분석

시뮬레이션을 실행한 후 MATLAB 및 Simulink에서 시뮬레이션 결과를 분석할 수 있습니다. Simulink는 시뮬레이션 동작 이해를 돕는 디버깅 툴을 포함합니다.

시뮬레이션 결과 보기

사용자는 Simulink 소프트웨어가 제공하는 화면과 스코프를 통해 신호를 보고 시스템 동작을 시각적으로 파악할 수 있습니다. 또한 서로 다른 시뮬레이션 실행으로부터 여러 신호를 비교할 수 있는 Simulation Data Inspector 내에서 시뮬레이션 데이터를 볼 수 있습니다.

또는 MATLAB을 사용하여 사용자 정의 HMI 디스플레이를 만들거나 MATLAB workspace로 신호를 기록한 후 MATLAB 알고리즘과 시각화 툴로 데이터를 보고 분석할 수 있습니다.

Simulink 결과 시각화 2:51
스코프와 뷰어를 사용하여 시뮬레이션 결과를 시각화합니다.

시뮬레이션 디버깅

Simulink는 스코프의 데이터를 보거나 시스템 상태 변경 시기와 양상을 검사하며 시뮬레이션을 단계별로 실행할 수 있는 Simulation Stepper를 통해 디버깅을 지원합니다.

Simulink debugger를 사용하면 한 번에 한 메소드씩 시뮬레이션을 실행하고 해당 메소드 실행 결과를 조사할 수 있습니다. 모델을 시뮬레이션하면서 블록 상태 정보, 블록 입력 및 출력, 블록 메소드 실행에 대한 정보를 Simulink Editor 내에 표시할 수 있습니다.

시뮬레이션 되돌리기 1:29
시뮬레이션 단계를 전후로 이동하여 시스템 동작을 분석합니다.

프로젝트 관리

Simulink는 프로젝트 관련 파일, 구성요소 및 대량의 데이터 관리를 돕는 툴을 제공합니다.

프로젝트 관련 파일 관리

Simulink Projects는 프로젝트 파일 관리와 소스 컨트롤 소프트웨어 연결을 위한 대화식 툴입니다. Simulink Projects 툴은 다음을 통해 팀 간 협업을 증진합니다.

  • 모든 프로젝트 관련 파일 찾기
  • 공통 작업 액세스, 프로젝트 초기화 및 종료를 위한 바로가기 생성
  • 동료 검토를 위한수정된 파일 레이블
  • 외부 소스 컨트롤 툴인 Apache SVN(Subversion®)을 통해 프로젝트 공유

Simulink Projects는 소스 컨트롤, 버전 컨트롤, 소프트웨어 구성 관리(SCM), 제품 수명 주기 관리(PLM), 애플리케이션 수명 주기 관리(ALM)용 도구에 대한 연결성을 제공합니다. Simulink Projects Source Control SDK를 사용하여 그 외 타사 소스 컨트롤 툴을 위한 사용자 정의 어댑터를 만들 수 있습니다.

Simulink Projects를 활용한 팀 협업 1:14
Simulink Projects를 활용한 팀 협업 살펴보기

설계 구성요소 작성

Simulink는 구성요소 기반 모델링과 모듈 설계를 촉진합니다. 또한 모델을 설계 구성요소로 분할한 후, 각 구성요소를 독립적으로 모델링, 시뮬레이션, 검증할 수 있습니다. 구성요소를 라이브러리에 서브시스템으로 저장하거나 모델 참조를 사용하여 별개의 모델로 저장할 수 있습니다. 그런 다음 팀원들이 이런 구성요소에 대해 병렬로 작업할 수 있습니다.

Model Variants 및 Variant Subsystems를 사용하여 동일 모델에서 설계 변형을 관리할 수 있습니다. 이러한 능력은 하나의 모델이 하나의 설계 집단에 대응되도록 해 주므로 구성요소를 공유하는 설계의 생성 및 관리가 간결해집니다.

모델 참조 기능을 활용한 모듈 설계 2:49
컴포넌트 기반 모델링을 위한 모델 참조 기능의 가치를 알아봅니다.

Variant Subsystems 사용 3:38
Variant Subsystems를 사용하여 설계들을전환합니다.

대규모 데이터 관리

Simulink는 모델에서 대규모 신호 데이터 집합을 관리하기 위한 버스 신호를 제공합니다. 버스 신호를 통해 여러 신호를 하나의 객체로 통합함으로써 그러한 신호를 쉽게 다른 블록으로 연결할 수 있습니다. 또한 하나의 패키지 내에서 버스 객체 그룹을 관리할 수 있도록 버스 배열을 정의할 수도 있습니다.

Model Explorer는 Simulink 모델에서 데이터를 조직, 조회, 수정 및 추가하도록 돕는 그래픽 데이터 딕셔너리 도구입니다. Model Explorer를 통해 다음을 수행할 수 있습니다.

  • 보고 싶은 데이터 및 속성만 표시하도록 인터페이스 사용자 정의 
  • 각 데이터에 엑세스하는 구성 요소들을 한정하여 보기 위한 데이터의 범위 조절

하드웨어에 연결

신속한 프로토타입화, HIL(hardware-in-the-loop) 시뮬레이션과 임베디드 시스템으로의 배포를 위해 Simulink 모델을 하드웨어에 연결할 수 있습니다.

하드웨어에서 시뮬레이션 실행

Simulink는 Arduino®, LEGO® MINDSTORMS® NXT, PandaBoard 및 BeagleBoard를 포함한 저비용 타겟 하드웨어에서의 프로토타이핑, 테스트, 모델 실행을 위한 지원 기능을 내장하고 있습니다. 제어 시스템, 로보틱스, 오디오 처리 및 컴퓨터 비젼 응용 프로그램을 위하여 Simulink에서 알고리즘을 설계하고 실시간으로 해당 응용 프로그램이 수행되는 모습을 볼 수 있습니다.

Real-Time Windows Target을 통해 Simulink 모델을 Microsoft® Windows® PC에서 실시간으로 실행하고 다양한 I/O 기판에 연결하고 실시간 시스템을 제어할 수 있습니다.  타겟 컴퓨터에서 모델을 실시간으로 실행하기 위해 HIL 시뮬레이션, 래피트 컨트롤 프로토타이핑 및 기타 실시간 테스팅 응용 분야를 위한 xPC Target을 사용할 수 있습니다.  사용 가능한 타겟 컴퓨터 하드웨어는 xPC Target Turnkey를 참조하십시오. 

타겟 하드웨어를 위한 Simulink 지원 소개 1:55
Simulink는 Arduino, LEGO MINDSTORMS NXT, Raspberry Pi와 같은 저렴한 타겟 하드웨어에서의 프로토타이핑, 테스트, 모델 실행을 위한 지원 기능을 내장하고 있습니다.

Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

코드 생성

코드 생성을 위해 Simulink 모델을 구성하고 준비할 수 있습니다. Simulink를 추가(Add-On) 기능 코드 생성 제품과 함께 사용하면 C 및 C++, HDL 또는 PLC 코드를 모델로부터 직접 생성할 수 있습니다.

Simulink 전문가에게 문의

Simulink 커뮤니티 최신 소식