Simulink Function
Simulink 블록을 사용하여 함수 정의
라이브러리:
Simulink /
User-Defined Functions
설명
Simulink Function 블록은 Simulink® 블록을 사용하여 함수를 구현할 수 있도록 사전 구성된 Subsystem 블록입니다. Simulink Function 블록을 사용하여 함수를 정의하고 호출하려면 다음을 수행하십시오.
함수 이름, 입력 인수, 출력 인수를 포함하는 함수 프로토타입을 지정합니다(예:
y = f(u)).Simulink 라이브러리의 블록을 사용하여 함수 동작을 구현합니다.
모델 계층 구조의 어느 위치에서나 호출하고 재사용할 수 있도록 Simulink Function 블록을 구성합니다.

함수가 호출되면 호출자는 입력 인수를 통해 데이터를 함수에 보내고 구현된 동작에 따라 함수를 실행한 다음 출력 인수를 통해 함수로부터 데이터를 다시 받습니다.
자세한 내용은 Simulink Functions Overview 항목을 참조하십시오.
함수 프로토타입 지정하기
함수 프로토타입은 함수 구현과는 별개입니다. 함수 프로토타입은 입력 인수와 출력 인수를 지정하고 모델 계층 구조의 다른 블록에서 함수가 호출되어야 하는 방법을 지정합니다. 함수 프로토타입에 지정된 각 입력 인수나 출력 인수는 각각 Argument Inport 블록이나 Argument Outport 블록으로 표현됩니다. 블록에 표시되는 텍스트를 두 번 클릭하여 함수 프로토타입을 편집할 수 있습니다.
함수 동작 구현하기
원하는 함수 동작을 구현하려면 서브시스템 내부에 필요한 Simulink 블록을 추가하십시오. Simulink Function 블록은 Argument Inport 블록과 Argument Outport 블록 외에도 데이터를 입력하고 출력하는 Inport 블록과 Outport 블록을 사용할 수 있습니다.
예제는 Monitor Ink Status on Shared Printer Using Simulink Functions 항목을 참조하십시오.
Simulink Function 블록 구성하기
Simulink Function 블록을 구성하려면 Simulink Function 블록 내부에 있는 Trigger 블록의 블록 파라미터를 여십시오.
함수 이름 – Simulink Function 블록의 함수 이름을 지정합니다.
함수 가시성 – 함수의 범위 가시성을 선택합니다.
함수 가시성이 "포트"(
port)로 설정된 경우 다음 파라미터를 지정할 수도 있습니다.함수 호출을 비동기식으로 실행 – 함수가 동기식으로 실행될지 비동기식으로 실행될지 지정합니다.
포트로 범위 지정 – 내보낼 함수 포트의 이름을 지정합니다.
Simulink Function 호출하기
함수 호출자와 함수 프로토타입을 사용하여 함수를 호출하고 실행할 수 있습니다. Simulink Function 블록에 정의된 함수는 Function Caller 블록, Chart (Stateflow), MATLAB Function 블록, MATLAB System 블록 또는 S-Function 블록에서 호출할 수 있습니다.
자세한 내용은 Call a Simulink Function from a Model 항목을 참조하십시오.
모델 고려 사항
Simulink Function 블록을 사용할 때는 모델에 함수 호출 간 상태 지속성이 필요한지 아니면 연속 샘플 시간이 필요한지 고려하십시오.
함수 호출 간 상태 지속성 – Simulink Function 블록에 상태가 있는 블록(예: Unit Delay 블록 또는 Memory 블록)이 포함된 경우 해당 블록의 상태 값은 함수 호출 간에 지속됩니다. 해당 함수를 여러 번 호출하는 경우 상태 값은 다른 호출자에서 시작된 호출 간에도 지속됩니다.
연속 샘플 시간을 상속할 수 없음 – Simulink Function 블록은 연속 샘플 시간을 상속할 수 없습니다.
Simulink Function 블록을 사용한 코드 생성
Simulink Coder™ 또는 Embedded Coder®가 있는 경우 Simulink 함수를 포함하는 모델에서 코드를 생성할 수 있습니다. 자세한 내용은 Simulink Function Blocks and Code Generation (Embedded Coder) 항목과 Configure Entry-Point Function Interfaces for Simulink Function and Function Caller Blocks (Embedded Coder) 항목을 참조하십시오.
예제
포트
입력
출력
파라미터
블록 특성
확장 기능
버전 내역
R2014b에 개발됨참고 항목
블록
- Argument Inport | Argument Outport | Trigger | Function Caller | MATLAB Function | Chart (Stateflow) | Function-Call Subsystem | Inport | Outport


