2013-05-13 3 views
1

내 프로젝트의 시뮬 링크에서 제어 시스템을 설계했습니다. 이제이 디자인을 C 코드로 변환해야합니다. 그러나 현재 코드가 존재할 특정 하드웨어 프로세서는 결정되지 않았습니다. 그래서 내 MATLAB 내 코드를 실행해야합니다. 저는이 업계에 처음 왔기 때문에 시뮬 링크에서 임베디드 C로 컨트롤 디자인을 변경하는 단계를 알지 못합니다.제어 설계를 시뮬 링크에서 C로 변환하는 방법

따라야 할 워크 플로우에 대한 실무 경험이 없으므로 제 요구 사항을 달성하기 위해 수행해야하는 일반적인 규범에 대한 지침을 얻으십시오.

답변

2

워크 플로 권장 사항 :

디자인이 시뮬레이션으로 충분히 테스트되었는지 확인하십시오. 실제 하드웨어를 제어 할 때 간단한 오류를 감지하고 싶지는 않습니다.

대상 요구 사항을 조사/결정합니다. 리소스 (메모리/속도)가 제한되어 있으며 임베디드 코더를 사용해야하는 대상 인터페이스에 맞게 생성 된 코드를 사용자 지정해야합니다. 그렇지 않으면 Simulink 코더로 충분할 수 있습니다 (임베디드 코더를 사용하는 경우).

모델 인터페이스가 데이터 유형, 크기, 기록 된 데이터 및 상태를 고려하여 예상 한 것과 일치하는지 확인하십시오. 코드 인터페이스 방법에 대한 특별한 요구 사항이있는 경우 신호 및 기타 데이터에 대한 저장소 클래스를 설정해야합니다. 기본 코드 인터페이스로 살 수 있다면 인생은 훨씬 쉬워 질 것입니다.

구성 매개 변수/코드 생성/시스템 대상 파일에서 적절한 대상을 설정하십시오. 빠른 프로토 타이핑 코드는 grt.tlc, 임베디드 코드는 ert.tlc. 그런 다음 최적화 및 코드 생성 속성을 살펴보고 원하는대로 설정할 수 있습니다. 타겟에 특정 데이터 유형이있는 경우 타겟의 데이터 유형과 일치하도록 임베디드 하드웨어 구현을 변경해야합니다.

코드 생성 (ctrl-b).

대상 프로젝트에 코드를 통합하십시오. 먼저 _initialize를 호출 한 다음 시간 기반 루프에서 입력을 설정하고 _step을 호출하고 출력을 읽습니다.

사용자 정의 대상을 만들어 코드 인터페이스를 사용자 정의하고 대상으로 컴파일 및 다운로드하는 것을 포함하여 원하는 출력을 직접 제공 할 수도 있습니다. 이것은 주로 신속한 프로토 타이핑을위한 것이므로 수동으로 처음 몇 번하고 나서 자동화 할 가치가 있는지를 결정할 것을 권장합니다.

1

Simulink CoderEmbedded Coder의 예 또는 동영상 중 일부를 살펴볼 수 있습니다. Simulink Coder는 C/C++ 코드를 생성하기위한 것으로 임베디드 프로세서에서 실행되도록 최적화되어 있지는 않습니다 (Rapid Prototyping 또는 Hardware-in-the-Loop 용도 일 수 있음). Embedded Coder는 임베디드 하드웨어에서 실행되도록 생성 된 코드를 최적화하기위한 Simulink Coder의 애드온입니다.

또한 해당 주제에 대한 일부 웹 세미나를 등록하거나 녹음 된 내용을 볼 수도 있습니다 (선택할 수있는 항목이 많음).