이 페이지는 기계 번역을 사용하여 번역되었습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
C 코드 시뮬레이션 및 검증
튜토리얼의 이 단계에서는 코드를 실행했을 때 해당 코드가 Simulink®에서 모델링된 알고리즘과 수치적으로 동일한지 확인합니다. 테스트 하네스 모델을 사용하여 표준 모드와 SIL 모드에서 RollAxisAutopilot를 시뮬레이션한 다음, 시뮬레이션 데이터 인스펙터를 사용하여 시뮬레이션을 비교합니다.
생성 코드를 테스트하기 위해 SIL(Software-in-the-Loop) 및 PIL(Processor-in-the-Loop) 시뮬레이션을 실행할 수 있습니다. SIL 시뮬레이션은 개발 컴퓨터에서 생성 코드를 컴파일하고 실행합니다. PIL 시뮬레이션은 개발 컴퓨터에서 소스 코드를 크로스 컴파일합니다. 그런 다음 PIL 시뮬레이션은 타깃 프로세서나 이와 동등한 명령어 세트 시뮬레이터에서 오브젝트 코드를 다운로드하여 실행합니다. SIL 및 PIL 시뮬레이션을 사용하여 다음을 수행할 수 있습니다.
코드의 수치적 동작을 검증합니다.
코드 커버리지 메트릭과 실행 시간 메트릭을 수집합니다.
IEC 61508, IEC 62304, ISO 26262, EN 50128 또는 DO-178 인증 목표를 달성합니다.
이 튜토리얼에서는 테스트 하네스 RollAxisAutopilotHarness를 사용하여 컴포넌트 모델 RollAxisAutopilot에 대한 시뮬레이션과 코드 실행 결과가 동일한지 확인하는 방법을 보여줍니다. 하지만 Simulink Test™ 라이선스가 있는 경우 Test Manager를 사용하여 컴포넌트 모델에서 테스트 하네스를 만들 수 있습니다. Create or Import Test Harnesses and Select Properties (Simulink Test) 항목을 참조하십시오.
테스트 하네스 모델 검사 및 구성
모델 RollAxisAutopilotHarness는 Model 블록을 통해 테스트 중인 모델 RollAxisAutopilot를 참조합니다. 하네스 모델이 참조된 모델에 대한 테스트 입력을 생성합니다. Model 블록을 표준, SIL 또는 PIL 시뮬레이션 모드 간에 쉽게 전환할 수 있습니다.

현재 작업 폴더에
RollAxisAutopilot및RollAxisAutopilotHarness모델의 사본을 저장합니다.RollAxisAutopilotHarness모델을 엽니다.openExample('RollAxisAutopilotHarness');RollAxisAutopilot모델을 엽니다.openExample('RollAxisAutopilot')RollAxisAutopilotHarness모델에서 Model 블록을 마우스 오른쪽 버튼으로 클릭하고 서브시스템 및 모델 참조 > 선택한 Model 블록 새로 고침을 선택합니다.두 모델 모두 다음 모델 구성 파라미터 설정을 조정하십시오.
코드 생성 창에서 코드만 생성를 선택 해제합니다.
하드웨어 구현 창에서 장치 세부 정보를 확장합니다. long long 데이터형 지원을 선택합니다.
확인을 클릭합니다. 그런 다음, 모델을 저장합니다.
표준 모드에서 모델 시뮬레이션
표준 모드에서 하네스 모델을 실행하고 시뮬레이션 데이터 인스펙터에서 결과를 캡처합니다.
RollAxisAutopilotHarness모델에서 모델 데이터 편집기를 엽니다. 모델링 탭에서 모델 데이터 편집기를 클릭합니다.모델 데이터 편집기에서 신호 탭을 선택합니다.
보기를 변경합니다 목록을
계측으로 설정합니다.데이터 테이블에서 모든 행을 선택합니다.
시뮬레이션 데이터 인스펙터에 시뮬레이션 데이터를 기록하도록 신호를 구성하려면 데이터 기록 열에서 선택 해제되어 있는 체크박스를 선택합니다. 작업이 끝나면 해당 열의 모든 체크박스가 선택되었는지 확인하십시오.
Model 블록,
Roll Axis Autopilot블록을 마우스 오른쪽 버튼으로 클릭합니다. 상황별 메뉴에서 블록 파라미터를 선택합니다.블록 파라미터 대화 상자에서 시뮬레이션 모드에 대해
표준옵션이 선택되어 있는지 확인합니다. 확인을 클릭합니다.RollAxisAutopilotHarness를 시뮬레이션합니다.시뮬레이션이 완료되면 시뮬레이션 데이터 인스펙터에서 시뮬레이션 결과를 확인합니다. 시뮬레이션 데이터 인스펙터가 아직 열려 있지 않으면 시뮬레이션 탭에서 데이터 인스펙터를 클릭하십시오.
가장 최근(현재) 실행의 경우 실행 이름 필드를 더블 클릭하고 실행 이름을
roll_harness: Normal mode로 변경합니다.신호를 플로팅하도록
Ail_Cmd를 선택하십시오.

SIL 모드에서 모델 시뮬레이션
SIL 시뮬레이션은 개발 컴퓨터에서 코드를 생성하고 컴파일하고 실행합니다. 시뮬레이션 데이터 인스펙터가 결과를 기록합니다.
RollAxisAutopilotHarness모델 창에서Roll Axis Autopilot모델 블록을 마우스 오른쪽 버튼으로 클릭하고 블록 파라미터를 선택합니다.블록 파라미터 대화 상자에서 시뮬레이션 모드를
Software-in-the-loop (SIL)로 설정하고 코드 인터페이스를Top model로 지정합니다. 확인을 클릭합니다.빌드 프로세스에서 외부 코드 파일을 제외합니다. 모델
RollAxisAutopilot의 구성 파라미터 대화 상자에서 코드 생성 > 사용자 지정 코드 > 코드 정보 > 소스 파일을 디폴트 값인 비어 있음으로 설정합니다. 모델을 저장합니다.RollAxisAutopilotHarness모델을 시뮬레이션합니다.나중에 이 튜토리얼에서 찾아볼 수 있도록 코드 생성 리포트 창을 최소화하십시오.
시뮬레이션 데이터 인스펙터에서 실행 이름 필드를 더블 클릭하고 새 실행의 이름을
roll_harness: SIL mode로 변경합니다.신호를 플로팅하도록
Ail_Cmd를 선택하십시오.모델
RollAxisAutopilot의 빌드 프로세스를 재구성하여 외부 소스 파일roll_input_data.c및roll_heading_mode.c를 포함합니다. 모델 구성 파라미터 대화 상자에서 코드 생성 > 사용자 지정 코드 > 코드 정보 > 소스 파일을roll_input_data.c roll_heading_mode.c로 설정합니다. 적용를 클릭하고 대화 상자를 닫은 다음 모델을 저장합니다.
시뮬레이션 결과 비교
시뮬레이션 데이터 인스펙터에서 다음을 수행할 수 있습니다.
비교 탭을 클릭합니다.
기준 필드에서
roll_harness: Normal mode를 선택합니다.비교 대상 필드에서
roll_harness: SIL mode를 선택합니다.비교를 클릭합니다.

시뮬레이션 데이터 인스펙터는 표준 모드 결과와 SIL 모드 결과가 일치함을 보여 줍니다. 표준 모드 시뮬레이션 결과를 SIL 및 PIL 시뮬레이션과 비교하면 생성된 애플리케이션이 예상대로 수행되는지 확인하는 데 도움이 됩니다.
또는 SIL/PIL 관리자 앱을 사용하여 모델에서 생성된 코드를 검증하는 간소화된 워크플로를 사용할 수 있습니다.
다음으로, 생성 코드를 배포할 수 있는 방법을 살펴봅니다.