주요 콘텐츠

Simulink 모델에서 If-Else 논리 구현하기

R2026b

이 예제에서는 Simulink® 모델에서 if-else 논리를 구현하는 방법을 보여줍니다. if-else 논리를 구현하려면 If 블록과 If Action Subsystem 블록을 함께 사용하십시오. If 블록이 논리 조건을 평가하고, 그에 대응되는 If Action Subsystem이 평가 결과를 바탕으로 실행됩니다. 모델 sldemo_ifsub에서 일련의 산술 연산이 사인파에 대해 수행됩니다. 펄스파를 사용하여 정의된 논리 조건에 따라, 임의 시점에 실행되는 특정 연산이 결정됩니다.

모델을 엽니다.

If-Else 조건

If 블록은 if-else 조건을 구현합니다. 이러한 조건은 펄스파 신호 값을 0과 비교하고, 동작 신호를 If Action Subsystem 블록으로 보냅니다. Pulse Generator 블록이 펄스 신호를 생성합니다.

산술 연산

펄스 신호가 if 조건에 지정된 대로 양수인 경우 이름이 Abs인 If Action Subsystem이 활성화되어, 사인파 입력 신호의 절댓값을 출력합니다.

펄스 신호 값이 else 조건에 지정된 대로 0인 경우 이름이 Saturation인 If Action Subsystem이 활성화됩니다. 이 서브시스템은 사인파를 그대로 전달하거나, 사인파 값이 Saturation 블록에 지정된 포화 한도를 초과하면 해당 값을 자릅니다.

두 서브시스템의 출력은 동시에 활성화되지 않으며 Merge 블록을 사용하여 하나의 신호로 병합됩니다. 그런 다음 출력 신호에 +2의 편향이 적용됩니다.

시뮬레이션 및 결과

스코프는 입력 사인파 신호, 펄스 신호 및 출력 신호를 보여줍니다. 펄스가 켜져 있으면(1 값으로 표시됨) 출력은 사인파의 절댓값입니다. 펄스가 꺼져 있으면(값 0), 서브시스템은 사인파를 그대로 전달하거나 사인파 값이 Saturation 블록에 지정된 한도를 초과하면 해당 값을 자릅니다. 각각의 경우 출력에 +2의 편향이 적용됩니다.

참고 항목

| | | |

도움말 항목