Rational Rhapsody를 사용하여 Simulink S-Function 작성

IBM® Rational® Rhapsody®를 사용하여 Simulink 모델에 플러그인할 수 있는 Simulink S-Function을 작성할 수 있습니다.

이 태스크 정보

이 기능은 IBM Rational Rhapsody Developer for C에만 해당합니다.

프로시저

  1. Rational Rhapsody 프로젝트를 작성하십시오.
  2. Simulink 프로파일을 프로젝트로 가져오십시오.
  3. 구성을 작성한 다음 S-FunctionConfig 스테레오타입을 이 구성에 적용하십시오.
  4. 새로 작성한 구성을 활성 구성으로 설정하십시오.
  5. 클래스를 작성한 다음 S-FunctionBlock 스테레오타입을 이 클래스에 적용하십시오.
  6. 수신 데이터를 나타낼 수신 플로우 포트를 클래스에 추가하십시오.
  7. 발신 데이터를 나타낼 발신 플로우 포트를 클래스에 추가하십시오.
  8. 추가한 플로우 포트마다 플로우 포트를 나타낼 속성을 클래스에 추가하십시오. 속성은 해당 플로우 포트와 동일한 이름과 유형을 사용해야 합니다.
  9. 클래스에 대한 상태 차트를 구현하십시오.
  10. 작성한 구성에 대한 코드를 생성하십시오.
  11. 다음 항목을 포함할 구성에 대한 출력 디렉토리
    • 모델에 대해 생성된 소스 파일
    • Rational Rhapsody 프레임워크 파일(Rational Rhapsody IDF 프레임워크에서 가져옴)
    • Simulink C 템플리트 파일 RhapsSFunc_the_name_you_gave_to_the_block.c(예: RhapsSFunc_BlockSFA.c)
    • Mex 옵션 파일 MexOpts.txt
    • S-function 블록을 나타내는 Simulink 모델 파일 RhapSFunc_the_name_you_gave_to_the_block_Model.mdl (예: RhapsSFunc_BlockSFA_Model.mdl)
  12. MATLAB를 열고 Rational Rhapsody 코드가 있는 출력 디렉토리로 이동하십시오.
  13. mex @MexOpts.txt 명령을 실행하십시오.

결과

작성된 S-function 출력

S-FunctionConfig 구성에 대한 코드를 생성하면 Rational Rhapsody에서 다음과 같은 조치를 수행합니다.

Rational Rhapsody에서 생성한 mex 옵션 파일을 사용하여 mex 명령을 실행하면 MATLAB MEX 컴파일러에서 Simulink에 사용할 수 있는 2진 파일을 작성합니다.

타이밍 및 S-function

Rational Rhapsody는 시간 관련 이벤트에 대해 대상 운영 체제의 타이밍 메커니즘을 사용합니다. Simulink에는 자체 타이밍 메커니즘이 있으므로 Rational Rhapsody에서는 S-function 코드를 생성할 때 이 메커니즘을 고려합니다. Simulink 클럭은 S-function에 대한 입력으로 추가됩니다. 이 클럭은 Rational Rhapsody에서 사용자에게 표시되지는 않지만, 결과 파일을 Simulink로 가져올 때 정의된 S-function을 나타내는 요소와 함께 클럭 요소도 표시됩니다.


피드백