대규모 Simulink 모델링을 위한 모범 사례
이러한 모범 사례에서는 효율적이고, 확장 가능하며, 유지관리가 쉬운 Simulink® 모델 개발에 검증된 모델링 패턴, 툴 및 공정에 대해 다룹니다. 다루는 구체적인 주제는 다음과 같습니다.
- 컴포넌트화 및 인터페이스
- MATLAB® 프로젝트를 활용한 협업
- 데이터 관리
- 시뮬레이션 성능 개선
컴포넌트화, 데이터, 인터페이스, 협업, 성능 및 유지 관리가 용이한 워크플로를 비롯한 다양한 기법을 활용해 확장 가능한 Simulink 모델을 구축하는 방법을 살펴볼 수 있습니다.
대규모 모델링에는 일반적으로 플랜트 모델, 제어기, 여러 서브시스템으로 구성된 복잡한 폐루프 시스템을 대상으로 하며, 모델 규모가 수십만 개에서 수백만 개의 블록에 달하는 경우도 있습니다.
흔히 직면하게 되는 문제로는 모델 가독성 저하, 협업의 어려움, 복잡한 데이터 관리, 느린 시뮬레이션, 유지관리 비용 증가 등이 있습니다.
컴포넌트화는 모델을 관리하기 쉬운 단위로 분할하여 가독성, 테스트 용이성, 재사용성, 유지관리성 및 협업 효율성을 향상시킵니다.
모델 기반 설계는 실행 가능한 모델을 활용하여 엔지니어링 라이프사이클 전반에 걸쳐 복잡한 시스템을 설계, 테스트, 검증 및 확인하는 개발 접근 방식입니다.
모델 아키텍처, 컴포넌트 인터페이스, 데이터 관리, 협업 워크플로, 시뮬레이션 성능입니다.
모델 참조, 데이터 딕셔너리, MATLAB 프로젝트, 소스 컨트롤, 명확한 인터페이스 정의를 사용하는 것입니다.
자동차, 항공우주, 로보틱스, 산업 자동화, 에너지 시스템, 의료기기, 자율 시스템 등 다양한 산업 분야에서 활용됩니다.
산업 현장에서 사용되는 대규모 모델은 수십만 개의 블록을 포함하는 경우가 일반적이며, 일부 엔터프라이즈 규모의 모델은 백만 개 이상의 블록을 포함하기도 합니다.
개발 생산성과 시뮬레이션 효율을 높이고, 협업과 모델 재사용을 촉진하며, 유지관리 부담을 줄여줍니다.
단일 모놀리식 모델을 구축하는 대신 컴포넌트화된 아키텍처를 구축하는 것입니다.
모델 참조, 라이브러리 및 서브시스템을 활용해 확장 가능한 Simulink 아키텍처를 구축함으로써 재사용성, 협업, 테스트 및 성능을 향상시킬 수 있습니다.
컴포넌트화는 대규모 모델을 명확한 인터페이스를 갖는 작고 재사용 가능한 컴포넌트로 나누는 방식입니다.
모델 참조를 사용하면 각각 독립적으로 개발되는 모델을 별도의 개발 워크플로를 유지한 채 더 큰 시스템에 통합할 수 있습니다.
컴포넌트를 독립적으로 개발, 시뮬레이션 및 테스트해야 하거나, 재사용성과 시뮬레이션 성능 향상이 필요한 경우 모델 참조를 사용하는 것이 적합합니다.
라이브러리는 주로 재사용 가능한 공통 기능을 제공하는 데 사용되는 반면, 모델 참조는 독립적인 시뮬레이션, 성능 가속 및 증분 빌드를 지원합니다.
서브시스템 참조는 공유 컴포넌트, Simscape 워크플로 및 특정 HDL 개발 시나리오에 유용합니다.
버스는 관련된 신호들을 구조화된 인터페이스로 묶어 대규모 모델의 연결을 단순화합니다.
버스는 가독성을 향상시키고, 다이어그램의 복잡도를 줄이며, 인터페이스를 더욱 쉽게 유지관리할 수 있도록 해줍니다.
버스 요소 포트는 Bus 내부 신호에 대한 접근을 단순화하고, 별도의 Bus Selector 블록 사용 필요성을 줄여줍니다.
여러 엔지니어가 동일한 모델 파일을 지속적으로 수정할 필요 없이 각각의 컴포넌트에서 독립적으로 작업할 수 있습니다.
네. 컴포넌트화된 아키텍처를 사용하면 액셀러레이터 모드, 증분 빌드, 캐시 재사용, 보다 빠른 초기화가 가능합니다.
MATLAB 프로젝트 및 Git을 활용한 협업 Simulink 개발
MATLAB 프로젝트를 활용한 소스 컨트롤, 종속성 분석, 테스트, CI/CD 및 유지관리가 용이한 워크플로를 통해 Simulink 모델을 협업 개발할 수 있습니다.
MATLAB 프로젝트는 환경 관리, 종속성 관리, 소스 컨트롤 통합 및 협업 툴을 제공합니다.
프로젝트를 사용하면 설정 작업을 자동화하고, 환경을 표준화하고, 수작업 구성에 드는 노력을 줄일 수 있습니다.
프로젝트를 열면 경로, 변수, 시작 스크립트, 바로 가기 및 프로젝트 설정이 자동으로 구성됩니다.
네. MATLAB 프로젝트는 Git과 통합되며 커밋, 풀, 푸시, 비교 및 병합 작업을 위한 툴을 제공합니다.
종속성 분석기는 파일, 모델, 테스트, 라이브러리, 데이터 딕셔너리 간의 관계를 식별합니다.
네. 프로젝트는 가려진 파일, 저장되지 않은 변경 사항, 누락된 종속성, 경로 충돌에 대한 경고를 제공합니다.
프로젝트 참조를 사용하면 환경 구성을 유지한 상태에서 한 프로젝트에서 다른 프로젝트를 사용하고 이에 종속되도록 구성할 수 있습니다.
MATLAB은 기능적 및 비기능적 모델 변경 사항을 강조 표시하는 그래픽 기반 비교 툴을 제공합니다.
MATLAB은 Simulink 파일을 위해 특별히 설계된 시각적 병합 툴을 제공합니다.
네. 프로젝트는 Jenkins, GitHub, GitLab, Azure DevOps 및 기타 자동화 플랫폼과 함께 사용할 수 있습니다.
네. 프로젝트 시작 스크립트와 API를 사용하면 테스트, 리포팅 및 코드 생성 워크플로를 자동화할 수 있습니다.
Simulink 데이터 사전: 설계 데이터 관리 모범 사례
데이터 사전, 모델 작업 공간, 인수 및 값 유형을 활용해 Simulink 설계 데이터를 관리하고, 확장 가능하며 일관된 모델 기반 설계 환경을 구축할 수 있습니다.
설계 데이터에는 모델에서 사용하는 파라미터, 신호, 데이터형, 열거형, 버스, 별칭 및 구성 정보가 포함됩니다.
Simulink 데이터 딕셔너리란 모델 파일과는 별도로 설계 데이터를 저장하는 전용 .sldd 파일을 말합니다.
데이터 딕셔너리를 사용하면 구성, 영속성, 변경 사항 추적, 재사용 및 협업을 개선할 수 있습니다.
기본 작업 공간은 전역적이고 세션 기반인 반면, 데이터 딕셔너리는 구조화된 영구 저장소를 제공합니다.
네. 여러 모델이 동일한 데이터 딕셔너리를 참조할 수 있습니다.
네. 데이터 딕셔너리는 계층적 참조를 지원하므로 조직이 공통 정의를 공유할 수 있습니다.
모델 인수를 사용하면 참조된 모델의 각 인스턴스가 서로 다른 파라미터 값을 사용할 수 있습니다.
값 유형은 데이터형, 단위, 범위, 차원과 같은 재사용 가능한 속성을 정의합니다.
점진적으로 전환할 수 있습니다. Simulink는 데이터 딕셔너리를 기존 작업 공간 변수와 함께 사용하는 방식을 지원합니다.
네. 데이터 사전은 변경 사항 추적, 비교 워크플로, 소스 컨트롤 시스템과의 통합을 지원합니다.
공통 정의를 위해 공유된 딕셔너리를 통해 지원되는 컴포넌트 수준 데이터 딕셔너리의 계층 구조가 권장됩니다.
빠른 재시작 및 병렬 연산을 통한 Simulink 속도 향상
프로파일링, 액셀러레이터 모드, 빠른 재시작, 병렬 연산 및 아키텍처 모범 사례를 활용해 Simulink 시뮬레이션 속도를 향상시킬 수 있습니다.
성능 병목 현상은 모델 복잡도, 솔버 설정, 잘못된 아키텍처, 과도한 로깅 또는 비효율적인 워크플로로 인해 발생할 수 있습니다.
Simulink 프로파일러, 솔버 프로파일러, 성능 어드바이저 및 시뮬레이션 메타데이터를 사용할 수 있습니다.
Simulink 프로파일러는 블록과 서브시스템 전반에 걸쳐 실행 시간을 측정하여 성능이 저하되는 구간을 식별합니다.
솔버 프로파일러는 솔버 거동을 분석하고 과도한 영점교차 및 솔버 재설정과 같은 문제를 식별합니다.
성능 어드바이저는 흔히 발생하는 성능 문제를 자동으로 검사하고 개선 사항을 추천합니다.
액셀러레이터 모드는 모델 실행을 위한 컴파일된 코드를 생성하여 시뮬레이션 오버헤드를 줄입니다.
고속 액셀러레이터 모드를 사용하면 독립 실행형 시뮬레이션 타겟을 생성하여 더욱 큰 성능 향상을 제공합니다.
빠른 재시작은 파라미터만 변경된 경우 시뮬레이션 실행 간 재컴파일을 방지할 수 있습니다.
캐시 파일은 여러 시뮬레이션 세션에서 재사용할 수 있도록 컴파일된 아티팩트와 시뮬레이션 타겟을 저장합니다.
네. parsim 워크플로를 사용하면 여러 시뮬레이션을 여러 CPU 코어에서 동시에 실행할 수 있습니다.
컴포넌트화된 모델은 증분 빌드, 선택적 가속, 캐시 재사용, 보다 빠른 초기화를 지원합니다.
먼저 프로파일링 툴을 사용하여 병목 구간을 파악하고, 모델을 컴포넌트화하며, 액셀러레이터 모드를 활용하고, 빠른 재시작을 활성화하며, 여러 시뮬레이션을 병렬로 실행합니다.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)