1. C caller란?
C Caller block을 사용해 C/C++코드를 simulink모델에 통합해 사용할 수 있다.
C Caller 블록은 소스 C 코드를 확인하고 Simulink 모델에서 활용할 함수를 추출한다.
2. 사용방법 예시
*두 입력을 받아 덧셈을 해주는 함수 만드는 예제*
(1) 소스파일 만들기
visual studio를 사용해 c언어 함수를 생성해준다.
(파일명을 .c로 변경해야 c++에서 c로 변경됨)
#include "Test.h""
double add(double u1, double u2)
{
return u1 + u2;
}
함수를 시뮬링크에서 C caller 함수가 인식하도록 하려면 헤더파일에서 extern으로 설정 해줘야 한다.
(2) 헤더파일 만들기
#ifndef _TEST_H_
#define _TEST_H_
extern double add(double u1, double u2);
#endif
(3) Simulink 생성
C Caller함수를 가져오고 block을 눌러서 설정 (톱니바퀴 모양) 창을 들어간다.
구성 파라미터에서 언어는 C언어, include 헤더와 소스파일을 추가한다.
만든 block에 새로고침을 하면 함수 add가 뜨면 사용할 수 있다.
**주의** 소스파일과 헤더파일이 matlab simulink의 파일과 같은 위치에 있어야 인식하여 들어간다.
시뮬레이션을 실행시키면 다음과 같이 값이 display에 뜬다.
'Project > #5 ILCFF' 카테고리의 다른 글
#3 ILCFF와 PID제어기 C언어로 구현한 모델(세미나 내용 추가) (0) | 2023.12.19 |
---|---|
#2.5 [세미나] (0) | 2023.11.20 |
#2 ILCFF와 PID제어기 비교 (0) | 2023.11.08 |
#1 ILCFF를 이용한 속도제어기 연구방향 (0) | 2023.11.07 |