주요 콘텐츠

실시간 코드 생성 및 배포 프로세스

모델이 실시간 시뮬레이션을 수행할 준비가 됐다고 판단하면 실시간 시뮬레이션 프로세스를 사용하여 모델을 실시간으로 시뮬레이션합니다. 플로우 차트는 실시간 시뮬레이션 프로세스의 예를 보여줍니다. 고정 비용 솔버를 사용하여 모델을 시뮬레이션하고 그 결과와 실행 시간이 적절한지 확인합니다. 모델 준비 프로세스와 마찬가지로, 고정 비용 프로세스도 스텝 크기와 반복 횟수를 여러 번 조정해야 할 수 있으며, 허용 가능한 결과를 얻지 못할 경우 모델 준비 프로세스로 되돌아가야 할 수도 있습니다.

If you are performing HIL simulation to test your controller:

  • Configure your controller.

  • Connect your controller to the real-time computer.

HIL(Hardware-in-the-Loop) 시뮬레이션 수행하기

코드 생성, 다운로드, 실행

Simulink® Real-Time™을 사용하여 다음을 수행합니다.

  • 개발 컴퓨터에서 코드를 생성하고 컴파일합니다.

  • 실시간 애플리케이션을 타깃 컴퓨터로 다운로드합니다.

  • 개발 컴퓨터에서 원격으로 실시간 애플리케이션을 실행합니다.

자세한 내용은 코드 생성, 다운로드, 실행 항목을 참조하십시오.

정확도 평가하기

타깃 컴퓨터의 시뮬레이션 결과를 기준 결과와 비교합니다. 기준 결과와 수정된 모델의 결과가 같습니까? 같지 않은 경우, 경험적 데이터 또는 이론적 데이터가 수정된 모델의 시뮬레이션 결과도 뒷받침할 정도로 유사합니까? 수정된 모델이 측정하고자 하는 현상을 나타냅니까? 수정된 모델이 그 현상들을 올바르게 나타냅니까? 모델을 사용하여 제어기 설계를 테스트할 계획인 경우, 신뢰할 수 있는 시스템 가설 검정(Qualification) 결과를 얻을 수 있을 정도로 모델이 정확합니까? 이러한 질문에 대한 답변을 통해 실시간 결과가 충분히 정확한지를 판단할 수 있습니다.

속도 평가하기

시뮬레이션에서 오버런이 발생하는지 확인하려면 Simulink Real-Time에서 시뮬레이션에 대해 생성하는 태스크 실행 시간(TET) 보고서를 검토합니다.

실시간 모델 준비 워크플로로 돌아가기

실시간 타깃 머신의 시뮬레이션에서 오버런이 발생하거나 기준 결과와 충분히 일치하지 않는 결과가 도출되는 경우 모델은 실시간 처리를 할 수 없는 것입니다. 모델 충실도를 조정하여 모델이 실시간 처리를 지원하도록 하려면 실시간 모델 준비 또는 실시간 시뮬레이션 워크플로로 돌아가십시오.

모델의 충실도 또는 스코프를 조정한 다음 실시간 모델 준비 워크플로의 나머지 과정과 결정을 순차적으로 실행합니다. 모델이 실시간 시뮬레이션 워크플로를 수행할 수 있을 정도로 빠르고 정확해질 때까지 모델의 조정, 시뮬레이션, 분석 작업을 반복합니다. 실시간 시뮬레이션 워크플로를 수행한 다음 HIL(Hardware-in-the-Loop) 시뮬레이션 워크플로를 다시 시도합니다. 자세한 내용은 Model Preparation ProcessFixed-Cost Simulation Process 항목을 참조하십시오.

실시간 시뮬레이션 워크플로로 돌아가기

실시간 타깃 머신의 시뮬레이션에서 오버런이 발생하거나 기준 결과와 충분히 일치하지 않는 결과가 도출되는 경우 모델은 실시간 처리를 할 수 없는 것입니다. 시뮬레이션 솔버 설정을 조정하여 모델이 실시간 처리를 지원하도록 하려면 실시간 시뮬레이션 워크플로로 돌아가십시오.

실시간 시뮬레이션 워크플로를 수행한 다음 HIL(Hardware-in-the-Loop) 시뮬레이션 워크플로를 다시 시도합니다. 자세한 내용은 Fixed-Cost Simulation Process 항목을 참조하십시오.

HIL(Hardware-in-the-Loop) 시뮬레이션을 위한 계산 성능 부족

실시간 타깃 머신에 모델을 실시간으로 실행하기 위한 계산 성능이 부족할 수 있습니다. 모델이 실시간으로 실행되지 않거나 실시간 워크플로를 여러 번 반복한 후에도 타깃 머신에서 신뢰할 수 없는 결과가 도출되는 경우 시스템 일부를 병렬로 시뮬레이션하는 것을 고려하십시오. 자세한 내용은 Simulating Parts of the System in Parallel 항목을 참조하십시오.

모델 Variant 관리하기

Variant 블록을 사용하면 여러 Variant 요구 사항을 충족하는 단일 모델을 만들 수 있습니다. 이러한 모델은 고정 공통 구조와 유한한 개수의 가변 컴포넌트로 구성됩니다. 가변 컴포넌트는 선택한 Variant 선택지에 따라 활성화됩니다. 따라서 결과로 생성된 활성 모델은 고정 구조와 Variant 선택지에 따른 가변 컴포넌트들의 조합입니다. 모델 내에서 Variant 블록을 사용하면 Variant 선택지라는 다양한 조건식에 대해 모델을 재사용할 수 있습니다. 자세한 내용과 예제는 Variant Subsystem을 사용하여 개별 계층 구조에 변형 구현 항목을 참조하십시오.

하지만 디폴트 Variant 선택지를 지정하지 않는 코드로는 실시간 타깃 하드웨어에서 시뮬레이션할 수 없습니다. 실시간 시뮬레이션을 위한 코드를 생성하기 전에 Variant 관리자를 사용하여 모델 내 Variant 블록을 식별하고, 해당 블록을 사용하여 모델링된 Variant 점을 관리하십시오. Variant 관리자를 사용하는 방법을 알아보려면 Variant Manager for Simulink 항목을 참조하십시오.

제한 사항

Simscape™는 모델 Variant의 조건부 컴파일을 지원하지 않습니다.

문제 해결

실시간 애플리케이션에서 오버런이 발생하는 경우, 애플리케이션 실행 시간을 개선하려면 다음을 수행합니다.

  • Model Preparation Process, Fixed-Cost Simulation Process, 실시간 코드 생성 및 배포 프로세스 항목에서 설명하는 프로세스를 사용합니다.

  • Simulink Real-Time 성능 어드바이저 검사를 실행합니다. 성능 어드바이저에서 물리 모델에 특화된 검사가 포함된 실시간 애플리케이션 실행 활동 모드를 사용합니다. 이 모드를 통해 Simscape 모델을 실시간 실행에 최적화할 수 있습니다. 검사는 폴더별로 정리되어 있습니다. Simscape 검사 폴더의 검사는 모든 물리 모델에 적용할 수 있습니다. 하위 폴더는 Simscape Electrical™Simscape Driveline™과 같은 애드온 제품의 블록을 대상으로 하는 검사를 포함합니다.

    검사에 액세스하는 방법:

    1. 성능 어드바이저를 엽니다. 디버그 탭에서 성능 버튼을 클릭합니다.

    2. 성능 어드바이저 창의 활동에서 실시간 애플리케이션 실행을 선택합니다.

    3. 왼쪽 창에서 실시간 폴더를 확장한 다음 Simscape 검사 폴더를 확장합니다.

    4. 최상위 수준 Simscape 검사를 실행합니다. 모델이 애드온 제품의 블록을 포함하는 경우, 해당 제품에 대응하는 하위 폴더에서도 검사를 실행합니다.

    자세한 내용은 Troubleshoot Unsatisfactory Real-Time Performance (Simulink Real-Time) 항목을 참조하십시오.

Simulink Real-Time 시뮬레이션은 개발 및 타깃 컴퓨터 문제, 기본 시스템 소프트웨어의 변경, I/O 모듈 문제, 절차 오류 등으로 인해 실패할 수도 있습니다. 이러한 문제를 해결하려면 Troubleshooting Basics (Simulink Real-Time) 항목에 나와 있는 워크플로를 따르십시오. 자세한 내용은 Troubleshooting in Simulink Real-Time (Simulink Real-Time) 항목을 참조하십시오.

참고 항목

도움말 항목