주요 콘텐츠

이 페이지는 기계 번역을 사용하여 번역되었습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

타깃 환경 및 애플리케이션

타깃 환경 소개

코드 생성기는 특정 타깃 환경을 위한 실행 프로그램을 빌드하기 위해 make 파일 또는 프로젝트 파일을 생성합니다. make 파일이나 프로젝트 파일을 생성하는 것은 선택 사항입니다. 원하는 경우 타사 통합 개발 환경(IDE)과 같은 기존 타깃 빌드 환경을 사용하여 생성된 소스 파일에 대응하는 실행 프로그램을 빌드할 수 있습니다. 생성된 코드의 응용 사례로는 내보낸 몇몇 C 또는 C++ 함수를 개발 컴퓨터에서 호출하는 것부터 MATLAB® 및 Simulink®를 실행하는 개발 컴퓨터와는 완전히 분리된 환경에서 사용자 지정 하드웨어에 맞춘 사용자 지정 빌드 프로세스를 사용해 완전한 실행 프로그램을 생성하는 것까지 다양합니다.

코드 생성기는 특정 타깃 환경에 맞춰 코드를 생성, 빌드, 실행하는 내장 시스템 타깃 파일을 제공합니다. 이러한 시스템 타깃 파일은 생성 코드와 상호 작용하여 데이터를 기록하고, 파라미터를 조정하고, 생성 코드에 대한 외부 인터페이스로 Simulink를 사용하거나 사용하지 않고 실험하는 데 필요한 다양한 수준의 지원을 제공합니다.

타깃 환경 유형

시스템 타깃 파일을 선택하기 전에 생성 코드를 실행할 타깃 환경을 식별하십시오. 다음은 일반적인 타깃 환경입니다.

타깃 환경설명
개발 컴퓨터

MATLAB과 Simulink를 실행하는 컴퓨터입니다. 개발 컴퓨터는 PC 또는 UNIX®입니다a Microsoft® Windows® 또는 Linux®와 같은 비실시간 운영 체제를 사용하는 환경b. 비실시간(범용) 운영 체제는 비결정적입니다. 예를 들어, 해당 운영 체제는 운영 체제 서비스를 실행하기 위해 코드 실행을 일시 중단한 다음, 서비스를 제공한 후 애플리케이션 코드 실행을 계속할 수 있습니다. 따라서 생성된 코드의 실행 파일은 모델에 지정한 샘플 속도보다 더 빠르거나 느리게 실행될 수 있습니다.

실시간 시뮬레이터

개발 컴퓨터와는 다른 컴퓨터입니다. 실시간 시뮬레이터는 다음과 같은 실시간 운영 체제(RTOS)를 사용하는 PC 또는 UNIX 환경일 수 있습니다.

  • Simulink Real-Time 시스템

  • 실시간 Linux 시스템

  • 상용 RTOS를 실행하는 PowerPC™ 프로세서가 장착된 VME(Versa Module Eurocard)

생성 코드는 실시간으로 실행됩니다. 시스템 하드웨어 및 RTOS의 동작을 기반으로 실행이 달라집니다.

데이터 기록, 대화형 방식의 파라미터 조정, 몬테카를로 배치(batch) 실행 연구를 위해 실시간 시뮬레이터를 개발 컴퓨터에 연결합니다.

임베디드 마이크로프로세서

나중에 개발 컴퓨터에서 분리되어 전자 제품의 일부에 해당하는 독립형 컴퓨터로 실행할 수 있는 컴퓨터입니다. 임베디드 마이크로프로세서의 범위는 통신 신호를 처리하는 고급 디지털 신호 프로세서(DSP)부터 대량 생산되는 저렴한 8비트 고정소수점 마이크로컨트롤러(예: 수백만 개 단위로 생산되는 전자 부품)까지 다양합니다. 임베디드 마이크로프로세서로 다음을 수행할 수 있습니다.

  • 완전한 기능을 갖춘 RTOS 사용

  • 기본적인 인터럽트로 구동됨

  • 코드 생성에서 제공되는 비율 단조 스케줄링 사용

a UNIX is a registered trademark of The Open Group in the United States and other countries.

b Linux is a registered trademark of Linus Torvalds.

타깃 환경에서 다음을 수행할 수 있습니다.

  • 단일 코어 또는 멀티코어 CPU 보유

  • 독립 실행형 컴퓨터이거나 컴퓨터 네트워크의 일부로서 통신

다양한 타깃 환경에 Simulink 모델의 서로 다른 부분을 배포할 수 있습니다. 예를 들어, 모델의 컴포넌트(알고리즘이나 제어기) 부분을 환경(또는 플랜트)으로부터 분리하는 것이 일반적입니다. Simulink를 사용하여 전체 시스템(플랜트 및 제어기)을 모델링하는 것을 종종 폐루프 시뮬레이션이라고 하며, 이는 컴포넌트의 조기 검증과 같은 많은 이점을 제공할 수 있습니다.

이 그림은 모델로부터 코드를 생성하는 예제 타깃 환경을 보여줍니다.

지원되는 타깃 환경의 애플리케이션

이 표는 다양한 타깃 환경에서 코드 생성 기술을 적용할 수 있는 방법을 나열합니다.

응용 사례설명
개발 컴퓨터
가속화MATLAB 및 Simulink 환경에서 모델 시뮬레이션 실행 속도를 높이는 기술입니다. 가속화된 시뮬레이션은 컴파일 시간과 타깃이 최신 상태인지 확인하는 데 걸리는 시간에 비해 실행 시간이 길 때 특히 유용합니다.
고속 시뮬레이션 개발 컴퓨터에서 비실시간으로 모델을 위해 생성된 코드를 실행하되, MATLAB 및 Simulink 환경의 컨텍스트 외부에서 실행합니다.
공유 오브젝트 라이브러리 (Embedded Coder)컴포넌트를 더 큰 시스템에 통합합니다. 다른 환경에서, 또는 다른 코드가 동적으로 링크할 수 있는 공유 라이브러리에서 시스템을 빌드할 수 있도록 생성된 소스 코드 및 관련 종속성을 제공합니다.
Protect Models to Conceal Contents또 다른 Simulink 시뮬레이션 환경에서 타사 공급업체가 사용할 수 있는 보호 모델을 생성합니다.
실시간 시뮬레이터
실시간 신속 프로토타이핑제어되는 시스템 하드웨어(예: 물리적 설비 또는 차량)에 연결된 실시간 시뮬레이터에서 코드를 생성, 배포 및 조정합니다. 컴포넌트가 물리 시스템을 제어할 수 있는지를 확인하는 데 있어 중요함
공유 오브젝트 라이브러리 (Embedded Coder)생성된 소스 코드와 컴포넌트에 대한 종속성을 다른 환경에 구축된 더 큰 시스템에 통합합니다. 지적 재산 보호를 위해 공유 라이브러리 파일을 사용할 수 있습니다.
HIL(Hardware-in-the-Loop) 시뮬레이션플랜트, 센서, 액추에이터 및 환경을 포함해 실시간 타깃 컴퓨터에서 물리적 컴포넌트를 가상으로 실시간으로 구현하여 제어기와 같은 물리적 하드웨어를 연결하는 시뮬레이션을 실행합니다. HIL 시뮬레이션을 사용하여 물리적 자극에 대한 컴포넌트의 실시간 반응 효과를 포함하여 물리적 하드웨어와 제어기 알고리즘을 테스트하고 검증합니다. 테스트는 HIL 시뮬레이션 결과를 시스템 요구 사항과 비교합니다. 확인(Validation) 과정에서는 HIL 시뮬레이션 결과를 사용자 요구 사항과 비교합니다. HIL 시뮬레이션은 컴포넌트가 물리적 환경 자극에 반응하기 때문에 폐루프 시뮬레이션이라고도 합니다.
임베디드 마이크로프로세서
Code Generation (Embedded Coder)모델에서 속도, 메모리 사용량, 단순성, 업계 표준 및 지침 준수를 위해 최적화된 코드를 생성합니다.
Software-in-the-Loop Simulation (Embedded Coder)생산을 목적으로 생성된 소스 코드나 외부 소스 코드를 컴파일하고, 개발 컴퓨터에서 Simulink 모델의 나머지 부분과는 별도의 프로세스로 해당 코드를 실행합니다. 목표에는 SIL 및 모델 시뮬레이션 결과를 비교하거나 백투백 테스트를 사용하여 SIL 결과를 요구 사항과 비교하는 방식의 초기 소스 코드 테스트 및 검증이 포함됩니다. 주로 외부 코드 통합, 비트 단위로 정확한 고정소수점 수학 연산 및 커버리지 분석에 사용됩니다.
Processor-in-the-Loop Simulation (Embedded Coder)개발 컴퓨터에서 생산 목적으로 생성된 소스 코드나 외부 소스 코드를 크로스 컴파일한 다음, 타깃 프로세서나 이와 동등한 명령어 집합 시뮬레이터에서 오브젝트 코드를 다운로드하여 실행합니다. 목표에는 PIL 시뮬레이션 결과를 모델 또는 SIL 시뮬레이션 결과와 비교하여 검증하고 실행 시간 프로파일링 데이터를 수집하는 것이 포함됩니다. 주로 외부 코드 통합, 비트 단위로 정확한 고정소수점 수학 연산 및 커버리지 분석에 사용됩니다.
HIL(Hardware-in-the-Loop) 시뮬레이션플랜트, 센서, 액추에이터 및 환경을 포함해 실시간 타깃 컴퓨터에서 물리적 컴포넌트를 가상으로 실시간으로 구현하여 제어기와 같은 물리적 하드웨어를 연결하는 시뮬레이션을 실행합니다. HIL 시뮬레이션을 사용하여 물리적 자극에 대한 컴포넌트의 실시간 반응 효과를 포함하여 물리적 하드웨어와 제어기 알고리즘을 테스트하고 검증합니다. 테스트는 HIL 시뮬레이션 결과를 시스템 요구 사항과 비교합니다. 확인(Validation) 과정에서는 HIL 시뮬레이션 결과를 사용자 요구 사항과 비교합니다. HIL 시뮬레이션은 컴포넌트가 물리적 환경 자극에 반응하기 때문에 폐루프 시뮬레이션이라고도 합니다.