Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

Switch

여러 신호를 단일 신호로 결합

  • 라이브러리:
  • Simulink / Commonly Used Blocks

    Simulink / Signal Routing

    HDL Coder / Commonly Used Blocks

    HDL Coder / Signal Routing

  • Switch block

설명

Switch 블록은 두 번째 입력의 값에 따라 첫 번째 입력 신호 또는 세 번째 입력 신호를 통과합니다. 첫 번째 입력과 세 번째 입력은 데이터 입력입니다. 두 번째 입력은 제어 입력입니다. 첫 번째 입력 전달 조건 파라미터와 임계값 파라미터를 사용하여 블록이 첫 번째 입력을 전달할 조건을 지정합니다.

버스 지원

Switch 블록은 버스 지원 블록입니다. 데이터 입력은 다음 제한 사항에 따라 가상 또는 비가상 버스 신호일 수 있습니다.

  • 모든 버스는 동일해야 합니다(동일한 계층 구조에 모든 요소의 이름과 특성이 동일함).

  • Switch 블록에 대한 비가상 버스 입력의 모든 신호는 동일한 샘플 시간을 가져야 합니다. 연결된 bus 객체의 요소가 상속된 샘플 시간을 지정한 경우에도 이 요구 사항이 유지됩니다.

Rate Transition 블록을 사용하여 개별 신호의 샘플 시간 또는 버스의 모든 신호의 샘플 시간을 변경할 수 있습니다. 자세한 내용은 비가상 버스의 샘플 시간 수정하기 항목과 Bus-Capable Blocks 항목을 참조하십시오.

버스로 구성된 배열을 Switch 블록에 대한 입력 신호로 사용할 수 있습니다. 버스로 구성된 배열의 정의와 사용에 대한 자세한 내용은 Group Nonvirtual Buses in Arrays of Buses 항목을 참조하십시오. 버스로 구성된 배열을 사용할 경우 임계값 파라미터를 스칼라 값으로 설정하십시오.

제한 사항

  • Switch 블록에 대한 데이터 입력이 버스라면 두 버스의 요소 이름은 동일해야 합니다. 동일한 요소 이름을 사용하면 블록이 어느 입력 버스를 선택하더라도 출력 버스가 동일한 요소 이름을 갖게 됩니다. 모델이 이 요구 사항을 충족하도록 하려면 bus 객체를 사용하여 버스를 정의하고 요소 이름 불일치 진단을 오류로 설정하십시오. 자세한 내용은 Model Configuration Parameters: Connectivity Diagnostics 항목을 참조하십시오.

포트

입력

모두 확장

두 개의 데이터 입력 중 첫 번째 데이터 입력입니다. 블록은 첫 번째 또는 두 번째 데이터 입력을 출력에 전파합니다. 블록은 제어 입력을 기반으로 어느 입력을 전달할지 선택합니다. 첫 번째 입력 전달 조건 파라미터와 임계값 파라미터를 사용하여 제어 입력이 첫 번째 입력을 전달하기 위한 조건을 지정합니다.

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

블록이 첫 번째 데이터 입력을 출력에 전달할지 아니면 두 번째 데이터 입력을 출력에 전달할지 결정하는 데 사용하는 제어 신호입니다. 제어 입력이 첫 번째 입력 전달 조건 파라미터에 설정된 조건을 충족하면 블록은 첫 번째 데이터 입력을 전달합니다. 그렇지 않으면 블록은 두 번째 데이터 입력을 전달합니다.

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

두 개의 데이터 입력 중 두 번째 데이터 입력입니다. 블록은 첫 번째 또는 두 번째 데이터 입력을 출력에 전파합니다. 블록은 제어 입력을 기반으로 어느 입력을 전달할지 선택합니다. 첫 번째 입력 전달 조건 파라미터와 임계값 파라미터를 사용하여 제어 입력이 첫 번째 또는 두 번째 입력을 전달하기 위한 조건을 지정합니다.

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

출력

모두 확장

제어 신호 값을 기반으로 첫 번째 입력 신호나 두 번째 입력 신호로부터 전파된 출력 신호입니다.

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

파라미터

모두 확장

기본

블록이 첫 번째 데이터 입력을 전달할 조건을 선택합니다. 제어 입력이 첫 번째 입력 전달 조건 파라미터에 설정된 조건을 충족하면 블록은 첫 번째 입력을 전달합니다. 그렇지 않으면 블록은 입력 Port_3으로부터 두 번째 데이터 입력 신호를 전달합니다.

u2 >= 임계값

제어 입력이 임계값보다 크거나 같은지 확인합니다.

u2 > 임계값

제어 입력이 임계값보다 큰지 확인합니다.

u2 ~=0

제어 입력이 0이 아닌지 확인합니다.

참고

Switch 블록은 열거형 데이터형에는 u2 ~=0 모드를 지원하지 않습니다.

제어 입력이 부울 신호인 경우 조건과 임계값의 다음 조합 중 하나를 사용하십시오.

  • u2 >= 임계값(여기서 임계값은 1)

  • u2 > 임계값(여기서 임계값은 0)

  • u2 ~=0

그렇지 않으면 Switch 블록은 임계값을 무시하고 신호 라우팅에 부울 값을 사용합니다. 값이 1이면 블록은 첫 번째 입력을 전달하고, 값이 0이면 블록은 세 번째 입력을 전달합니다. 또한 이 동작을 설명하는 경고 메시지가 MATLAB® 명령 창에 표시됩니다.

프로그래밍 방식의 사용법

블록 파라미터: Criteria
유형: 문자형 벡터
값: 'u2 >= Threshold' | 'u2 > Threshold' | 'u2 ~=0'
디폴트 값: 'u2 >= Threshold'

블록이 출력에 전달할 입력을 결정하는 첫 번째 입력 전달 조건에 사용되는 임계값을 할당합니다. 임계값출력 최솟값보다 크고 출력 최댓값보다 작아야 합니다.

비 스칼라 임계값을 지정하려면 대괄호를 사용하십시오. 예를 들어, 다음은 유효한 항목입니다.

  • [1 4 8 12]

  • [MyColors.Red, MyColors.Blue]

종속성

첫 번째 입력 전달 조건u2 ~=0으로 설정하면 이 파라미터는 비활성화됩니다.

프로그래밍 방식의 사용법

블록 파라미터: Threshold
유형: 문자형 벡터
값: 'off' | 'on'
디폴트 값: 'off'

영점교차 검출을 활성화하도록 선택합니다. 자세한 내용은 의 Zero-Crossing Detection 항목을 참조하십시오.

프로그래밍 방식의 사용법

블록 파라미터: ZeroCross
유형: 문자형 벡터, string형
: 'off' | 'on'
디폴트 값: 'on'

Signal Attributes

데이터형 특성 설정을 도와주는 데이터형 도우미를 표시하려면 데이터형 도우미를 표시합니다. 버튼 을 클릭하십시오. 자세한 내용은 Specify Data Types Using Data Type Assistant 항목을 참조하십시오.

모든 데이터 입력은 동일한 데이터형을 사용해야 합니다.

프로그래밍 방식의 사용법

블록 파라미터: InputSameDT
유형: 문자형 벡터
값:
디폴트 값: '0'

Simulink®에서 검사하는 출력 범위의 하한 값입니다.

Simulink는 이 최솟값을 사용하여 다음 작업을 수행합니다.

참고

출력 최솟값은 실제 출력 신호를 포화시키거나 자르지 않습니다. 대신 Saturation 블록을 사용하십시오.

프로그래밍 방식의 사용법

블록 파라미터: OutMin
유형: 문자형 벡터
: '[ ]'| 스칼라
디폴트 값: '[ ]'

Simulink에서 검사하는 출력 범위의 상한 값입니다.

Simulink는 이 최댓값을 사용하여 다음 작업을 수행합니다.

참고

출력 최댓값은 실제 출력 신호를 포화시키거나 자르지 않습니다. 대신 Saturation 블록을 사용하십시오.

프로그래밍 방식의 사용법

블록 파라미터: OutMax
유형: 문자형 벡터
: '[ ]'| 스칼라
디폴트 값: '[ ]'

출력 데이터형을 지정합니다.

상속: 내부 규칙을 통해 상속

다음 규칙을 사용하여 출력 데이터형을 결정합니다.

첫 번째 입력 포트의 데이터형출력 데이터형
세 번째 입력 포트보다 더 큰 양수 범위를 가짐첫 번째 입력 포트에서 상속됨
세 번째 입력 포트와 동일한 양수 범위를 가짐세 번째 입력 포트에서 상속됨
세 번째 입력 포트보다 더 작은 양수 범위를 가짐
부울 값이고 세 번째 입력 포트는 uint8형임
uint8형이고 세 번째 입력 포트는 부울 값임
부울 값이고 다른 입력 포트는 int8형임부울 값으로 설정됨
uint8형이고 다른 입력 포트는 부울 값임
두 입력 포트의 데이터형출력 데이터형
입력 유형 중 하나는 부울 값이고 다른 하나는 uint8형임세 번째 데이터 포트의 데이터형으로 설정됨
입력 유형 중 하나는 부울 값이고 다른 하나는 int8형임부울 값으로 설정됨
상속: 역전파를 통해 상속

구동 블록의 데이터형을 사용합니다.

상속: 첫 번째 입력과 동일하게 상속

첫 번째 데이터 입력 포트의 데이터형을 사용합니다.

double

출력 데이터형을 double형으로 지정합니다.

single

출력 데이터형을 single형으로 지정합니다.

half

출력 데이터형을 half형으로 지정합니다.

int8

출력 데이터형을 int8형으로 지정합니다.

uint8

출력 데이터형을 uint8형으로 지정합니다.

int16

출력 데이터형을 int16형으로 지정합니다.

uint16

출력 데이터형을 uint16형으로 지정합니다.

int32

출력 데이터형을 int32형으로 지정합니다.

uint32

출력 데이터형을 uint32형으로 지정합니다.

int64

출력 데이터형을 int64형으로 지정합니다.

uint64

출력 데이터형을 uint64형으로 지정합니다.

fixdt(1,16,0)

출력 데이터형을 고정소수점 fixdt(1,16,0)으로 지정합니다.

fixdt(1,16,2^0,0)

출력 데이터형을 고정소수점 fixdt(1,16,2^0,0)으로 지정합니다.

Enum: <class name>

열거형 데이터형을 사용합니다(예: Enum: BasicColors).

Simulink.ImageType(480,640,3)

Computer Vision Toolbox™가 있을 경우 Simulink.ImageType (Computer Vision Toolbox) 객체를 사용합니다.

string

출력 데이터형을 string형으로 지정합니다.

<데이터형 표현식>

데이터형 객체를 사용합니다(예: Simulink.NumericType).

출력이 열거형인 경우 두 데이터 입력 모두 출력과 동일한 열거형을 사용해야 합니다.

프로그래밍 방식의 사용법

블록 파라미터: OutDataTypeStr
유형: 문자형 벡터
: 'Inherit: Inherit via internal rule | 'Inherit: Inherit via back propagation' | 'Inherit: Same as first input' | 'double' | 'single' | 'half' | 'int8' | 'uint8' | 'int16' | 'uint16', 'int32' | 'uint32' | 'int64' | 'uint64' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | Enum: <class name> | Simulink.ImageType(480,640,3) | 'string' | '<data type expression>'
디폴트 값: 'Inherit: Inherit via internal rule'

블록에 지정한 데이터형이 Fixed-Point Tool에 의해 재정의되지 않도록 방지하려면 이 파라미터를 선택합니다. 자세한 내용은 Lock the Output Data Type Setting (Fixed-Point Designer) 항목을 참조하십시오.

프로그래밍 방식의 사용법

블록 파라미터: LockScale
유형: 문자형 벡터
값: 'off' | 'on'
디폴트 값: 'off'

다음 반올림 모드 중 하나를 선택합니다.

올림(Ceiling)

양수와 음수를 모두 양의 무한대 방향으로 올림합니다. MATLAB ceil 함수와 동일합니다.

가장 가까운 짝수로(Convergent)

숫자를 표현 가능한 가장 가까운 값으로 올림 또는 내림합니다. 동률 숫자가 있는 경우 가장 가까운 짝수로 올림 또는 내림합니다. Fixed-Point Designer™ convergent 함수와 동일합니다.

내림(Floor)

양수와 음수를 모두 음의 무한대 방향으로 내림합니다. MATLAB floor 함수와 동일합니다.

양의 방향 정수로(Nearest)

숫자를 표현 가능한 가장 가까운 값으로 올림 또는 내림합니다. 동률 숫자가 있는 경우 양의 무한대 방향으로 올림합니다. Fixed-Point Designer nearest 함수와 동일합니다.

반올림(Round)

숫자를 표현 가능한 가장 가까운 값으로 올림 또는 내림합니다. 동률 숫자가 있는 경우 양수는 양의 무한대 방향으로 올림하고 음수는 음의 무한대 방향으로 내림합니다. Fixed-Point Designer round 함수와 동일합니다.

최대단순(Simplest)

가능한 한 가장 효율적인 반올림 코드를 생성하기 위해 내림과 0 방향으로의 올림/내림 중에서 자동으로 선택합니다.

0 방향의 가장 가까운 정수로(Zero)

숫자를 0 방향으로 올림 또는 내림합니다. MATLAB fix 함수와 동일합니다.

프로그래밍 방식의 사용법

블록 파라미터: RndMeth
유형: 문자형 벡터
: 'Ceiling' | 'Convergent' | 'Floor' | 'Nearest' | 'Round' | 'Simplest' | 'Zero'
디폴트 값: 'Floor'

참고 항목

자세한 내용은 Rounding (Fixed-Point Designer) 항목을 참조하십시오.

오버플로 시 포화시킬지 아니면 래핑할지를 지정합니다.

  • off — 오버플로 시 데이터형이 표현할 수 있는 적절한 값으로 래핑됩니다.

    예를 들어, 숫자 130은 부호 있는 8비트 정수에 맞지 않으므로 -126으로 래핑됩니다.

  • on — 오버플로 시 데이터형이 표현할 수 있는 최솟값 또는 최댓값으로 포화됩니다.

    예를 들어, 부호 있는 8비트 정수와 연관된 오버플로가 발생할 경우 -128 또는 127로 포화될 수 있습니다.

  • 모델에 오버플로가 발생할 가능성이 있고 생성된 코드에서 포화 보호를 명시적으로 지정하려는 경우 이 체크박스를 선택해 보십시오.

  • 생성된 코드의 효율성을 최적화하려면 이 체크박스를 선택 해제하는 것이 좋습니다.

    이 체크박스를 선택 해제하면 블록이 범위를 벗어난 신호를 처리하는 방법을 과도하게 지정하는 일이 방지됩니다. 자세한 내용은 Troubleshoot Signal Range Errors 항목을 참조하십시오.

  • 이 체크박스를 선택하는 경우 출력이나 결과뿐만 아니라 블록의 모든 내부 연산에 포화가 적용됩니다.

  • 일반적으로 코드 생성 프로세스는 오버플로가 발생할 가능성이 없는 경우를 감지할 수 있습니다. 이 경우, 코드 생성기는 포화 코드를 생성하지 않습니다.

프로그래밍 방식의 사용법

블록 파라미터: SaturateOnIntegerOverflow
유형: 문자형 벡터
값: 'off' | 'on'
디폴트 값: 'off'

서로 다른 크기의 입력 신호를 허용하려면 이 체크박스를 선택하십시오. 블록은 입력 신호 크기를 출력 신호에 전파합니다. 두 데이터 입력이 가변 크기 신호인 경우 신호의 최대 크기는 같거나 다를 수 있습니다.

프로그래밍 방식의 사용법

블록 파라미터: AllowDiffInputSizes
유형: 문자형 벡터
값: 'on' | 'off'
디폴트 값: 'off'

블록 특성

데이터형

Boolean | bus | double | enumerated | fixed point | half | integer | single | string

직접 피드스루

yes

다차원 신호

yes

가변 크기 신호

yes

영점교차 검출

yes

확장 기능

PLC 코드 생성
Simulink® PLC Coder™를 사용하여 Structured Text 코드를 생성할 수 있습니다.

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

버전 내역

R2006a 이전에 개발됨