이 페이지는 기계 번역을 사용하여 번역되었습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
Simulink 모델에서 C 코드 생성
이 예제에서는 Embedded Coder® 제품을 사용하여 롤 축 오토파일럿 알고리즘의 Simulink® 모델에서 C 코드를 생성하는 방법을 보여줍니다.
Embedded Coder 제품을 사용하면 신속 프로토타이핑 보드, 임베디드 프로세서 또는 마이크로프로세서에 배포하기 위한 최적화된 C 또는 C++ 코드를 생성할 수 있습니다. Embedded Coder를 처음 사용하거나 애플리케이션 코드 사용자 지정 요구 사항이 최소인 경우 그래픽 툴과 디폴트 코드 구성 설정을 사용하여 프로덕션 품질의 코드를 빠르게 생성할 수 있습니다. 기존 외부 코드와 통합하기 위해 사용자 지정 코드를 생성해야 하거나 코드 지침 및 표준을 준수해야 하는 경우 인터페이싱, 코드 모양, 패키징 및 최적화에 대한 요구 사항을 충족하기 위해 코드 생성기를 구성하는 툴을 사용할 수 있습니다.
임베디드 시스템에 배포할 코드를 생성하고 검토하는 작업은 빠른 시작 툴을 사용하여 코드 생성을 위한 모델을 준비하는 것만큼이나 간단합니다. 그런 다음 Simulink 편집기에서 접근 가능한 코드 툴을 사용하여 코드 인터페이스를 구성하고, 코드 생성을 시작하고, 생성된 코드를 검토할 수 있습니다.
예제 모델
이 튜토리얼에서는 RollAxisAutopilot
과 RollAxisAutopilotHarness
라는 예제 모델을 사용합니다. 모델 RollAxisAutopilot
은 데이터 코드 인터페이스를 사용하도록 구성되어 있습니다. 데이터와 서비스 코드 인터페이스 간의 비교와 데이터 인터페이스에 대한 자세한 정보에 대한 링크는 Choose Code Interface for Code Generation 항목을 참조하십시오.
해당 모델은 시뮬레이션에 대해 검증되었습니다.
모델 RollAxisAutopilot
를 엽니다.
open_system('RollAxisAutopilot.slx')
이 모델은 항공기의 도움날개 위치를 제어하는 기본적인 롤 축 오토파일럿 알고리즘을 구현합니다.
이 모델은 더 큰 규모의 항공기 제어 시스템의 일부가 되는 하나의 컴포넌트를 나타냅니다. HDG_Mode
신호를 통해 제어 시스템은 모델을 롤 자세 유지 또는 방향 유지의 두 가지 작동 모드 중 하나로 전환합니다. RollAngleReference
및 HeadingMode
서브시스템은 작동 모드 중 하나를 지원하는 롤 자세 설정점을 계산합니다.
open_system('RollAxisAutopilot/RollAngleReference')
open_system('RollAxisAutopilot/HeadingMode')
그런 다음 PID 컨트롤러인 BasicRollMode
서브시스템은 설정점과 측정된 롤 자세 및 변화율을 나타내는 피드백을 기반으로 도움날개 위치 명령을 계산합니다. 이 모델은 40Hz에서 작동하도록 설계되었습니다.
open_system('RollAxisAutopilot/BasicRollMode')
이 튜토리얼에서는 RollAxisAutopilotHarness
모델을 사용하여 RollAxisAutopilot
을 테스트합니다.
다음을 수행하는 방법을 알아봅니다.
Embedded Coder 빠른 시작 툴을 사용하여 코드를 생성합니다.
데이터 인터페이스를 구성합니다.
런타임 동안의 조정을 위해 모델 파라미터를 전역 변수로 구성합니다.
수치적 동등성을 위해 모델 시뮬레이션과 생성된 코드 결과를 비교합니다.
생성 코드를 배포합니다.
튜토리얼을 시작하려면 Embedded Coder 빠른 시작을 사용하여 코드 생성 항목을 참조하십시오.