주요 콘텐츠

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

스로틀 위치 제어 시스템의 소프트웨어 아키텍처 모델링하기

이 예제에서는 System Composer™에서 스로틀 위치 제어 시스템의 소프트웨어 아키텍처를 작성하고 컴포넌트의 함수 실행 순서를 스케줄링 및 시뮬레이션하고 코드를 생성하는 방법을 보여줍니다.

스로틀 제어 컴포지션

이 예제에서는 스로틀 위치 제어 시스템의 소프트웨어 아키텍처를 System Composer에서 6개의 컴포넌트를 사용하여 모델링합니다. 스로틀 위치 제어 컴포넌트는 스로틀 위치와 페달 위치를 읽고 새로운 스로틀 위치를 출력합니다. 두 개의 스로틀 위치 센서 컴포넌트는 스로틀의 현재 위치를 제공하고, 페달 위치 센서 컴포넌트는 힘이 가해졌을 때의 페달 위치를 제공합니다. 제어기 컴포넌트는 이러한 신호를 사용하여 새 스로틀 위치를 백분율 값으로 지정합니다. 그러면 액추에이터 컴포넌트가 이 백분율 값을 하드웨어에 적합한 값으로 변환합니다.

model = systemcomposer.openModel('ThrottleControlComposition');

아키텍처 수준에서 모델 시뮬레이션하기

소프트웨어 아키텍처 모델을 시뮬레이션합니다.

sim('ThrottleControlComposition');

컴포넌트의 함수 목록을 보고 실행 순서 등의 속성을 편집하려면 함수 편집기를 사용하십시오. 함수 편집기를 열려면 [Modeling] 탭의 [Design] 섹션에서 [Functions Editor]를 클릭하십시오. 함수 편집기에 대한 자세한 내용은 Simulate and Deploy Software Architectures 항목을 참조하십시오.

시스템 수준에서 모델 시뮬레이션하기

스로틀 바디와 함께 스로틀 제어 시스템을 시뮬레이션하려면 Model 블록을 사용하여 시스템 모델의 소프트웨어 아키텍처 모델을 참조합니다. ThrottleControlSystem 모델에는 소프트웨어 아키텍처 함수에 대해 더 복잡한 스케줄링을 모델링하기 위한 Stateflow® Chart 블록도 포함되어 있습니다.

이 기능을 사용하려면 Stateflow 라이선스가 필요합니다.

open_system('ThrottleControlSystem');

플랜트와 Stateflow 스케줄러를 포함하는 시스템 모델을 시뮬레이션하려면 이 명령을 사용합니다.

sim('ThrottleControlSystem');

소프트웨어 아키텍처의 컴포넌트 유형 보기

소프트웨어 아키텍처의 고유한 컴포넌트 유형을 보려면 클래스 다이어그램 뷰를 만들고 모든 컴포넌트를 추가합니다. 클래스 다이어그램 뷰를 만들려면 [Modeling] 탭의 [Views] 섹션에서 [Architecture Views]를 클릭한 다음 [New]를 클릭하여 새 클래스 다이어그램을 만듭니다. [Views Gallery]의 [Diagram] 섹션에서 [Class Diagram]을 선택합니다. 목록에서 [Add Component Filter] > [Select All Components]를 선택하여 소프트웨어 아키텍처의 모든 컴포넌트를 뷰에 추가합니다.

클래스 다이어그램에 메서드를 채우려면 소프트웨어 아키텍처 모델을 컴파일해야 합니다. 모델을 컴파일하려면 [Modeling] > [Update Model]로 이동합니다.

자세한 내용은 Class Diagram View of Software Architectures 항목을 참조하십시오.

코드 생성

타깃 하드웨어에 제어 시스템을 배포하는 코드를 생성할 수 있습니다. 코드 생성 시 Embedded Coder® 라이선스가 필요합니다. ThrottleControlComposition 모델을 열고 slbuild 명령을 실행하거나, Ctrl+B를 눌러 모델을 빌드하고 코드를 생성합니다.

slbuild('ThrottleControlComposition');

생성된 코드에는 소프트웨어 아키텍처 컴포넌트의 각 함수에 대한 진입점 함수가 포함되어 있습니다. Export-Function 모델을 위한 코드 생성에 대한 자세한 내용은 Generate Code for Export-Function Model 항목을 참조하십시오.

Copyright 2020-2021 The MathWorks, Inc.

참고 항목

| | | |

도움말 항목