IBM® Rational® Rhapsody®를
사용하여 Simulink 모델에 플러그인할 수 있는 Simulink S-Function을 작성할 수
있습니다.
이 태스크 정보
주: 이 기능은
IBM Rational Rhapsody Developer for C에만
해당합니다.
프로시저
Rational Rhapsody에서
Simulink S-Function을 작성한 다음 이를 Simulink에서 사용하려면 다음 단계를 수행하십시오.
- Rational Rhapsody 프로젝트를 작성하십시오.
- Simulink 프로파일을 프로젝트로 가져오십시오.
- 구성을 작성한 다음 S-FunctionConfig 스테레오타입을 이 구성에 적용하십시오.
- 새로 작성한 구성을 활성 구성으로 설정하십시오.
- 클래스를 작성한 다음 S-FunctionBlock 스테레오타입을 이 클래스에 적용하십시오.
- 수신 데이터를 나타낼 수신 플로우 포트를 클래스에 추가하십시오.
- 발신 데이터를 나타낼 발신 플로우 포트를 클래스에 추가하십시오.
- 추가한 플로우 포트마다 플로우 포트를 나타낼 속성을 클래스에
추가하십시오. 속성은 해당 플로우 포트와 동일한 이름과 유형을 사용해야 합니다.
- 클래스에 대한 상태 차트를 구현하십시오.
- 작성한 구성에 대한 코드를 생성하십시오.
- 다음 항목을 포함할 구성에 대한 출력 디렉토리
- 모델에 대해 생성된 소스 파일
- Rational Rhapsody
프레임워크 파일(Rational Rhapsody IDF
프레임워크에서 가져옴)
- Simulink C 템플리트 파일 RhapsSFunc_(블록에 제공한 이름).c
- Mex 옵션 파일 MexOpts.txt
- S-function 블록을 나타내는 Simulink 모델 RhapSFunc_(블록에 제공한 이름)_Model.mdl
- MATLAB를 열고 Rational Rhapsody
코드가 있는 출력 디렉토리로 이동하십시오.
- mex @MexOpts.txt 명령을 실행하십시오.
결과
작성된 S-function 출력
S-FunctionConfig
구성에 대한 코드를 생성하면 Rational Rhapsody에서
다음과 같은 조치를 수행합니다.
- Simulink에서 제공한 sfuntmpl_basic.c 템플리트를
완성한 다음 S-function 블록에 지정한 이름을 반영하도록 이 템플리트의 이름을 바꿉니다.
- 프로젝트에서 S-function 블록에 대해 입력한 정보를 가져와서
S-function 블록에 지정한 이름으로 해당 Simulink 모델 파일을 작성합니다.
- 필수 컴파일러 스위치 및 사용할 소스 파일 목록이 포함된
mex 옵션 파일을 생성합니다.
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을 나타내는 요소와 함께 클럭 요소도 표시됩니다.