주요 콘텐츠

S-Function Builder

C 또는 C++ 코드를 통합하여 S-Function 생성

  • S-Function Builder block

라이브러리:
Simulink / User-Defined Functions

설명

S-function Builder 블록은 새로운 C 또는 C++ 코드나 기존의 C 또는 C++ 코드를 통합하고 사용자가 제공한 사양에서 C MEX S-Function(시스템 함수)을 만듭니다. C MEX S-Function은 C 또는 C++로 작성된 Simulink® 블록에 대한 컴퓨터 언어 설명입니다. S-Function은 Simulink 엔진과 상호 작용할 수 있도록 하는 S-Function API라고 하는 특수 호출 구문을 사용합니다. 이 상호 작용은 엔진과 내장 Simulink 블록 사이에서 발생하는 상호 작용과 매우 비슷합니다. C MEX S-Function에 대해 자세히 알아보려면 S-Function이란? 항목을 참조하십시오. S-function Builder 블록을 사용한 C MEX S-Function의 빌드에 대해 자세히 알아보려면 Build S-Functions Automatically Using S-Function Builder 항목을 참조하십시오. 단계별 절차가 제공되는 예제는 Use a Bus with S-Function Builder to Create an S-Function 항목을 참조하십시오.

S-Function Builder 블록의 인스턴스는 Simulink 모델에 생성된 S-Function에 대한 래퍼 역할도 합니다. S-Function Builder 블록의 인스턴스를 포함하는 모델을 시뮬레이션할 때, Simulink는 mdlStart, mdlOutputs, mdlDerivatives, mdlUpdate, mdlTerminate 메서드의 인스턴스에서 사용자의 C 또는 C++ 코드를 호출하기 위하여 이렇게 생성된 C MEX S-function을 호출합니다. Simulink 엔진이 S-Function과 상호 작용하는 방법을 알아보려면 Simulink Engine Interaction with C S-Functions 항목을 참조하십시오.

참고

S-Function Builder 블록은 마스크 처리를 지원하지 않습니다. 그러나 S-Function Builder 블록을 포함하는 Subsystem 블록은 마스크 처리할 수 있습니다. 자세한 내용은 Create Library Blocks Using Self-Modifiable Masks and Variant Blocks 항목을 참조하십시오.

예제

포트

입력

모두 확장

S-Function Builder는 실수 및 복소 신호 또는 1차원 신호, 2차원 신호와 비가상 버스를 받을 수 있습니다. 이러한 각각의 경우에 대해 신호는 Simulink가 지원하는 데이터형을 가져야 합니다.

자세한 내용은 Simulink 문서의 Simulink에서 지원되는 데이터형 항목을 참조하십시오.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | bus

출력

모두 확장

S-Function Builder는 실수 및 복소 신호 또는 1차원 신호, 2차원 신호와 비가상 버스를 생성할 수 있습니다. 이러한 각각의 경우에 대해 신호는 Simulink가 지원하는 데이터형을 가져야 합니다.

자세한 내용은 Simulink 문서의 Simulink에서 지원되는 데이터형 항목을 참조하십시오.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | bus

파라미터

모두 확장

S-Function Builder 편집기를 사용하여 사용자 정의 파라미터를 생성합니다. 편집기에서 사용자 정의 파라미터 생성에 대한 자세한 내용은 Specify Ports and Parameters for the S-Function 항목을 참조하십시오.

참고

이 블록에 대해 나열된 다음과 같은 Simulink 블록 파라미터는 블록 대화 상자를 사용하여 설정할 필요는 없습니다. Simulink 블록 파라미터는 S-Function Builder 편집기의 정보를 사용하여 설정됩니다.

이 파라미터를 사용하여 S-Function의 이름을 지정합니다.

프로그래밍 방식의 사용법

프로그래밍 방식으로 블록 파라미터 값을 설정하려면 set_param 함수를 사용하십시오.

파라미터: FunctionName
값: 'system' (디폴트 값) | S-function name in quotes

S-Function 파라미터를 추가로 지정합니다.

함수 파라미터는 MATLAB 표현식 또는 쉼표로 구분된 변수로 지정될 수 있습니다. 예를 들면 다음과 같습니다.

A, B, C, D, [eye(2,2);zeros(2,2)]

개별 파라미터는 괄호로 묶을 수 있지만, 파라미터 목록은 괄호로 묶으면 안 됩니다.

프로그래밍 방식의 사용법

파라미터: Parameters
값: '' (디폴트 값) | S-function parameters in quotes

이 파라미터는 이 블록이 C MEX S-Function을 나타내고 Simulink Coder™를 사용하여 이 블록을 포함하는 모델에서 코드를 생성할 때만 적용됩니다. 이 파라미터를 사용하면 코드를 생성할 준비가 되었을 때 코더가 Control Regeneration of Top Model Code (Simulink Coder) 항목에 설명된 대로 최상위 모델을 재빌드하도록 해야 합니다.

이 파라미터 사용에 관한 자세한 내용은 Specify Additional Source Files for an S-Function (Simulink Coder) 항목을 참조하십시오.

프로그래밍 방식의 사용법

파라미터: SFunctionModules
값: '' (디폴트 값) | filenames in quotes

블록 특성

데이터형

Boolean | double | fixed point | integer | single

직접 피드스루

아니요

다차원 신호

가변 크기 신호

아니요

영점교차 검출

아니요

사용자가 S-Function Builder 블록을 사용하여 S-Function을 빌드하고 나면 get_param 함수는 다음 파라미터에 대한 정보를 반환합니다.

  • Parameters — 추가 S-Function 파라미터

  • SFunctionModules — 블록이 C MEX S-Function을 나타내는 경우 코드 생성을 위한 추가 파일

확장 기능

모두 확장

고정소수점 변환
Fixed-Point Designer™를 사용하여 고정소수점 시스템을 설계하고 시뮬레이션할 수 있습니다.

버전 내역

R2006a 이전에 개발됨