Main Content

Switch Case

switch 문과 유사한 논리를 사용하여 서브시스템 실행 선택

  • Switch Case block

라이브러리:
Simulink / Ports & Subsystems
HDL Coder / Ports & Subsystems

설명

Switch Case 블록은 Action Port 블록을 포함하는 Switch Case Action Subsystem 블록과 함께 switch 논리를 구현하여 서브시스템 실행을 제어합니다. Switch Case 블록을 사용하는 예제는 Select Subsystem Execution 항목을 참조하십시오.

Model ex_switch_case_block

Switch Case 블록은 단일 입력을 갖습니다. case를 선택하려면 case 조건 파라미터를 사용하여 입력값을 정의하십시오. case는 첫 번째 case를 시작으로 위부터 아래 순서로 평가됩니다.

각 case는 출력 포트와 연결되는데 이 출력 포트가 Switch Case Action Subsystem 블록에 연결됩니다. case가 선택되면 연결된 출력 포트가 서브시스템을 실행하도록 동작 신호를 보냅니다.

그 외 모든 case 조건이 false로 평가되면 default case가 선택됩니다. 나머지 case 조건이 가능한 모든 입력값을 커버하지 않더라도, default case를 제공하는 것은 선택 사항입니다.

Switch Case 블록의 case에는 Switch Case Action Subsystem 블록이 실행된 후 적용되는 암묵적인 break가 포함되어 있습니다. 따라서 표준 C switch 문처럼 다음 case로 넘어가는(fall-through) 동작이 Simulink® Switch Case 블록에는 없습니다.

제한 사항

Switch Case 블록은 조정 가능형 파라미터를 지원하지 않습니다. Case conditions의 값은 표준 또는 액셀러레이터 모드에서 시뮬레이션 중이거나 생성된 코드를 실행하는 중에 조정될 수 없습니다.

포트

입력

모두 확장

Switch Case 블록의 u1 포트에 대한 입력은 다음이 될 수 있습니다.

  • Simulink가 지원하는 내장 데이터형을 갖는 스칼라 값. 하지만 Switch Case 블록은 부울 또는 고정소수점 데이터형을 지원하지 않으며, 숫자형 입력을 부호 있는 32비트 정수로 자릅니다.

  • 모든 열거형 데이터형 스칼라 값.

데이터형: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | enumerated

출력

모두 확장

casedefault 포트의 출력은 Switch Case Action Subsystem 블록에 연결된 동작 신호입니다.

파라미터

모두 확장

MATLAB® 셀 표기법을 사용하여 case 값을 지정합니다.

{1}

입력 포트 값이 1이면 case[1] 출력 포트에서 동작 신호를 출력하도록 지정합니다.

case가 할당된 포트 목록

MATLAB 셀 표기법을 사용하여 여러 개의 case와 포트를 지정합니다. 예를 들어, {1,[7,9,4]}를 입력하면 입력값이 1인 경우 출력 포트 case[1]이 실행되고 입력값이 7, 9 또는 4인 경우 출력 포트 case [7 9 4]가 실행되도록 지정됩니다.

정수 case 조건 범위를 지정하려면 콜론 표기법을 사용하면 됩니다. 예를 들어, {[1:5]}를 입력하면 입력값이 1, 2, 3, 4 또는 5인 경우 출력 포트 case[1 2 3 4 5]가 실행되도록 지정됩니다.

블록 크기에 따라, 긴 case 조건 목록의 case는 끝 줄임표(...)를 사용해 Switch Case 블록에 축약된 형태로 표시됩니다.

열거형의 각 값에 대한 case를 포함하는 case 조건을 지정하기 위해 열거형 이름을 사용할 수도 있습니다.

프로그래밍 방식의 사용법

블록 파라미터: CaseConditions
유형: 문자형 벡터
: '{1}' | '<list of cases>'
디폴트 값: '{1}'

default 출력 포트의 표시를 제어합니다.

켜기

default 출력 포트를 Switch Case 블록의 마지막 case로 표시합니다. 이렇게 하면 입력값이 나머지 case 값 중 어느 것과도 일치하지 않을 때 실행되는 default case가 지정됩니다.

끄기

default 출력 포트를 숨깁니다.

프로그래밍 방식의 사용법

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

영점교차 검출을 제어합니다.

켜기

영점교차를 검출합니다.

끄기

영점교차를 검출하지 않습니다.

프로그래밍 방식의 사용법

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

블록 특성

데이터형

double | enumerated | integer | single

직접 피드스루

다차원 신호

아니요

가변 크기 신호

아니요

영점교차 검출

확장 기능

C/C++ 코드 생성
Simulink® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.

버전 내역

R2006a 이전에 개발됨