Main Content

If Action Subsystem

If 블록으로 실행이 활성화되는 서브시스템

  • 라이브러리:
  • Simulink / Ports & Subsystems

  • If Action Subsystem block

설명

If Action Subsystem 블록은 If 블록으로 실행이 제어되는 서브시스템을 만들기 위해 시작점으로 사전 구성된 Subsystem 블록입니다. If 블록은 논리식을 평가한 다음 평가 결과에 따라 동작 신호를 출력합니다. 서브시스템 실행은 서브시스템 내에 배치된 Action Port 블록으로 제어됩니다.

Simulink®If Action Subsystem 블록에 설정된 우선 순위를 무시합니다. 대신, 서브시스템 실행을 초기화하는 If 블록에 우선 순위를 설정하십시오.

If Action Subsystem 블록에서 수신된 신호 병합하기

이 예제에서는 If 블록으로 제어되는 신호를 병합하는 방법을 보여줍니다. If 블록은 서브시스템 집합에서 If Action Subsystem 블록의 실행을 선택합니다. If 블록이 선택한 서브시스템과 관계없이 Merge 블록으로 단일 신호를 만들 수 있습니다. 모델을 열려면 ex_if_block 항목을 참조하십시오.

If Action Subsystem 블록에 있는 모든 블록은 구동 중인 If 블록과 같은 레이트로 실행되어야 합니다. 각 블록의 샘플 시간 파라미터를 상속됨(-1) 또는 If 블록 샘플 시간과 같은 값으로 설정하여 이 요구 사항을 충족할 수 있습니다.

고정소수점 데이터형 지원

If 블록은 고정소수점 데이터형을 직접 지원하지 않습니다. 하지만, Compare To Constant 블록을 사용하여 이 제한 사항을 해결할 수 있습니다.

다음과 같이 고정소수점 데이터형이 없는 부동소수점 모델을 고려해 보십시오. 모델을 열려면 ex_if_block_floating_point 항목을 참조하십시오.

이 모델에서 If Action Subsystem 블록은 블록의 디폴트 구성을 사용합니다. 시뮬레이션 파라미터는 다음 표에 나열된 파라미터를 제외하고 디폴트 값으로 설정됩니다.

구성 파라미터 창

파라미터

설정

솔버

시작 시간

0.0

 

중지 시간

1.0

 

유형

Fixed-step

 

솔버

discrete (no continuous states)

 

고정 스텝 크기

0.1

블록 파라미터는 다음 표에 나열된 파라미터를 제외하고 디폴트 값으로 설정됩니다.

블록

파라미터

설정

Repeating Sequence Stair

출력값으로 구성된 벡터

[-2 -1 1 2].'

Repeating Sequence Stair1

출력값으로 구성된 벡터

[0 0 0 0 1 1 1 1].'

If

입력 개수

2

 

If 표현식

(u1 > 0) | (u2 > 0.5)

 

else 조건 표시

선택됨

상수

상수 값

-4

Constant1

상수 값

4

Scope

좌표축 개수

3

 

시간 범위

1

이 모델의 경우 입력값 u10보다 크거나 입력값 u20.5보다 크면 출력값은 4입니다. 그 외의 경우 출력값은 -4입니다. Scope 블록은 입력값 u1u2를 사용하여 Merge 블록의 출력값을 표시합니다.

고정소수점 데이터형을 사용하여 모델로 이 블록 다이어그램을 구현할 수 있습니다. 모델을 열려면 ex_if_block_fixed_point 항목을 참조하십시오.

Repeating Sequence Stair 블록은 고정소수점 데이터형을 출력합니다.

Compare To Constant 블록은 모델의 부동소수점 버전의 If 블록에서 사용되는 If 표현식의 두 부분 (u1 > 0)(u2 > 0.5)를 구현합니다. OR 연산, 즉 (u1|u2)는 여전히 If 블록 내에 구현할 수 있습니다. 고정소수점 모델의 경우 표현식은 이 모델에서와 같이 If 블록의 외부에 부분적으로 구현되어야 합니다.

고정소수점 모델의 블록과 시뮬레이션 파라미터는 다음 예외 및 추가 사항을 포함하여 부동소수점 모델과 같습니다.

블록

파라미터

설정

Compare To Constant

연산자

>

 

상수 값

0

 

출력 데이터형 모드

Boolean

 

영점교차 검출 활성화

off

Compare To Constant1

연산자

>

 

상수 값

0.5

 

출력 데이터형 모드

Boolean

 

영점교차 검출 활성화

off

If

입력 개수

2

 

If 표현식

u1|u2

포트

입력

모두 확장

Subsystem 블록에 Inport 블록을 배치하면 블록으로의 외부 입력 포트가 추가됩니다. 포트 레이블은 Inport 블록의 이름과 일치합니다.

Inport 블록을 사용하여 로컬 환경에서 신호를 받습니다.

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

Subsystem 블록에 Action Port 블록을 배치하면 블록으로의 외부 입력 포트가 추가되고 블록이 If Action Subsystem으로 변경됩니다.

Switch Case 블록에서 Switch Case Action Subsystem 블록으로의 일점 쇄선은 동작 신호를 나타냅니다. 동작 신호는 Switch Case Action Subsystem 블록의 동작 포트에 연결된 제어 신호입니다. 동작 신호의 메시지는 서브시스템 실행을 시작합니다.

데이터형: action

출력

모두 확장

Subsystem 블록에 Outport 블록을 배치하면 블록으로부터의 출력 포트가 추가됩니다. Subsystem 블록의 포트 레이블은 Outport 블록의 이름과 일치합니다.

Outport 블록을 사용하여 로컬 환경으로 신호를 보냅니다.

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

블록 특성

데이터형

Booleana | busa | doublea | enumerateda | fixed pointa | halfa | integera | singlea | stringa

직접 피드스루

아니요

다차원 신호

a

가변 크기 신호

a

영점교차 검출

아니요

a 지원되는 실제 데이터형이나 기능은 블록 구현에 따라 달라집니다.

확장 기능

버전 내역

R2006a 이전에 개발됨

참고 항목

| |