주요 콘텐츠

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

런타임 중 조정을 위한 전역 변수로 모델 파라미터 구성

기본적으로 코드 생성 최적화는 진입점 함수 인터페이스에 참여하지 않는 모델 파라미터와 대부분의 신호에 대한 저장소를 제거합니다. 파라미터를 조정 가능하게 하고 관련 신호를 접근 가능하게 하려면 파라미터를 명시적으로 구성하여 식별해야 합니다.

모델 RollAxisAutopilotBasicRollMode 서브시스템에서 PID 제어 파라미터를 구성하여 코드에 전역 변수로 표시하고 값을 조정할 수 있습니다.

  1. BasicRollMode 서브시스템을 엽니다.

  2. 모델 데이터 편집기를 엽니다. 모델링 탭에서 모델 데이터 편집기를 클릭합니다.

  3. 모델 데이터 편집기에서 파라미터 탭을 선택합니다.

  4. 필터 필드에 IntGain을 입력합니다. 모델 데이터 편집기는 이득 파라미터에 해당하는 행과 작업 공간 변수에 해당하는 행을 표시합니다.

  5. 소스 열에서 IntGain를 클릭합니다. 모델 다이어그램에서 해당 Gain 블록이 강조되어 나타납니다.

  6. 열에서 intGain 옆에 있는 작업 버튼(세로 세 점이 있는 버튼)을 클릭하고 탐색을 선택합니다.

  7. 모델 작업 공간 변수를 parameter 객체로 변환합니다. 모델 탐색기에서 intGain을 마우스 오른쪽 버튼으로 클릭하고 parameter 객체로 변환을 선택합니다.

  8. 대화 상자 창의 코드 생성 탭에서 Coder 앱에서 구성을 클릭합니다.

  9. 코드 매핑 편집기의 파라미터 탭에서 intGain에 대한 스토리지 클래스 설정을 Model default로 변경합니다. 이는 parameter 객체가 코드 생성 최적화로 인해 변수의 저장공간이 제거되는 것을 방지함을 나타냅니다. 이 설정을 사용하면 객체는 코드 매핑 편집기에서 지정된 스토리지 클래스를 카테고리 모델 파라미터의 데이터 디폴트 값으로 사용합니다.

  10. 모델을 저장하고 코드를 재생성합니다.

    나중에 이 튜토리얼에서 찾아볼 수 있도록 코드 생성 리포트 창을 최소화하십시오.

  11. 코드 보기에서:

    1. intGain를 검색합니다.

    2. RollAxisAutopilot.c에서 강조된 코드 P.intGainP 위에 커서를 올려놓습니다.

    3. RollAxisAutopilot_data.cintGain에 대한 parameter 객체 정의를 보려면 대화 상자에서 정의 코드를 클릭하십시오.

모델에서 생성하는 코드는 parameter 객체를 메모리에 저장합니다. 코드 매핑 편집기에서 모델 파라미터 범주에 대한 디폴트 스토리지 클래스 설정을 디폴트로 설정해 놓았기 때문에 코드 생성기는 저장 형식(예: 구조체 필드)을 결정합니다.

다음으로, 테스트 하네스 모델과 SIL(Software-in-the-Loop) 시뮬레이션을 사용하여 모델 시뮬레이션 결과와 생성된 코드의 결과를 비교합니다.