Main Content

모델 컴포넌트 만들기

시스템 요구 사항을 수집하면 모델 컴포넌트를 식별할 수 있습니다. 사양이 불완전하더라도 컴포넌트 인터페이스가 있는 위치를 알 수 있습니다.

모델 컴포넌트를 정의할 때 시뮬레이션 결과에 영향을 주지 않고 변경될 수 있는 인터페이스를 지정하지 않으려면, 서브시스템을 만들고 모델을 시각적으로 구성하면 됩니다.

디지털 제어기 같은 일부 컴포넌트는 모델 내에서 단일 단위로 실행되어야 합니다. 알려진 경계를 갖는 이러한 독립 실행형 컴포넌트에는 Atomic Subsystem을 사용할 수 있습니다. 아토믹 컴포넌트를 미리 정의하면 독립 실행형 코드를 생성하고자 할 때 리팩터링에 많은 비용을 들이는 일을 피할 수 있습니다.

모델 ex_modeling_components에는 4개의 일반 모델 컴포넌트가 들어 있습니다.

  • 기계 시스템 — 스프링과 댐퍼에 의해 표면에서 분리된 질량

  • 제어기 — 기계 시스템의 움직임을 제어하는 알고리즘

  • 운영자 — 제어기에 보낼 명령을 정의하는 논리

  • 환경 — 기계 시스템에 영향을 주는 외부 외란

Controller 블록에서 좀 더 두꺼운 선 두께는 제어기가 Atomic Subsystem임을 나타냅니다.

각 Subsystem 블록에 있는 포트는 서브시스템 내에 있는 입력 블록과 출력 블록에 해당합니다. 블록 레이블에는 해당 포트의 이름이 표시됩니다. 예를 들어 disturbance라는 Inport 블록은 Mechanical System 블록의 disturbance 포트에 해당합니다.

질량의 위치는 4개의 모델 컴포넌트가 상호 작용하여 확인합니다.

제어기는 기계 시스템을 목표 위치로 옮기는 데 필요한 힘을 계산합니다.

운영자가 질량의 목표 위치를 확인하고, Stateflow® 차트를 사용하여 관련 절차적 논리를 구현합니다.

환경이 기계 시스템에 영향을 주는 외란 힘을 생성합니다.

시뮬레이션 중에 운영자는 2초간 기다린 후 질량을 2m 위로 옮기도록 제어기에 지시합니다. 질량이 목표 위치보다 더 많이 가면 운영자는 질량을 원래 위치에서 1m 위에 있도록 제어기에 지시합니다. 5초 후에 환경 외란으로 인해 물리 시스템에 일정한 힘이 가해지고, 목표 위치에서 질량을 안정되게 유지하도록 제어기가 반응합니다.

관련 항목