Main Content

이 페이지는 기계 번역을 사용하여 번역되었습니다. 영어 원문을 보려면 여기를 클릭하십시오.

If 블록의 논리식 확인

검사 ID: mathworks.maab.na_0003

지침: na_0003: If 블록의 사용법

설명

논리 표현식에서 기본 표현식의 부적절한 구성이 있는지 If 블록을 확인하세요.

기본 표현식이 복잡한 If 블록의 인스턴스를 식별합니다.

기본 표현식은 다음과 같이 정의됩니다.

  • 입력

  • 상수

  • 상수 매개변수

  • 0 또는 <, >, >=, <=, ==, ~=, |, &, 및 ~ 이외의 연산자가 포함되지 않은 괄호 표현식

기본 표현의 예는 다음과 같습니다.

  • u1

  • 5

  • K

  • (u1 > 0)

  • (u1 <= G)

  • (u1 > U2)

  • (~u1)

허용되는 논리식 예외의 예는 다음과 같습니다.

  • u1 | u2

  • ((u1 > 0) & (u1 < 20)

  • (u1 > 0) & (u2 < u3)

  • (u1 > 0) & (~u2)

이 표에는 허용되지 않는 논리식의 예가 나와 있습니다.

기본 표현추리

u1 & u2 | u3

기본 표현이 너무 많습니다.

u1 & (u2 | u3)

기본 표현식 내에서 허용되지 않는 연산자입니다.

(u1 > 0) & (u1 < 20) & (u2 > 5)

입력이 아닌 기본 표현식이 너무 많습니다.

(u1 > 0) & ((2* u2) > 6)

기본 표현식 내에서 허용되지 않는 연산자입니다.

"예외"

다음 조건이 모두 충족되면 논리 표현식에 두 개 이상의 기본 표현식이 포함될 수 있습니다.

  • 기본 표현식은 모두 입력입니다.

  • 한 가지 유형의 논리 연산자만 존재합니다.

허용되는 예외의 예는 다음과 같습니다.

  • u1 | u2 | u3 | u4 | u5

  • u1 & u2 & u3 & u4

간단한 "If" 표현

지침 na_0003의 문자 그대로 해석에서 u1 < u2 표현은 위반입니다. 그러나 표현식은 일반적으로 사용되는 "If" 표현식 템플릿(<기본 표현식><연산자><기본 표현식>)을 따릅니다. 따라서 논리 연산자를 사용하지 않고 관계 연산자가 하나만 있는 경우 해당 표현식은 지침 na_0003을 충족하며 u1 < u2는 위반이 아닙니다.

이 검사에는 Simulink® Check™ 라이센스가 필요합니다.

매개변수화 확인

MAB 모델링 지침은 하나의 하위 ID만 제공하므로 이 검사에는 하위 검사가 포함되지 않습니다.

참고로 NA-MAAB 및 JMAAB 모델링 표준 기관에서 사용하도록 권장하는 MAB 지침 하위 ID는 다음과 같습니다.

  • NA-MAAB — 권장 사항 없음

  • JMAAB - a

결과 및 권장 조치

상태권장 조치
논리 표현식에는 상수, 상수 매개변수 및 입력으로 구성된 기본 표현식이 2개 이상 포함되어 있습니다.

다음 중 하나를 고려하십시오.

  • 기본 표현식을 입력으로 만들고 다음 중 하나를 수행합니다.

    • 하나의 관계 연산자 유형에 괄호로 묶인 표현식 사용

    • <Primary Expression><Logical Operator><Primary Expression> 템플릿을 사용하여 간단한 "If" 표현을 구성합니다.

  • 기본 표현식 수를 2개 이하로 줄이세요.

  • If 블록 이외의 논리 블록을 사용하여 논리식을 구성합니다.

논리식에 여러 관계 연산자를 사용하는 괄호 안에 2개 이상의 식이 포함되어 있습니다.

다음 중 하나를 고려하십시오.

  • 한 가지 유형의 관계 연산자만 사용하십시오. 허용되는 논리 연산자에는 <, >, >=, <=, ==, ~=, |, &~ 이 포함됩니다. 기본 표현식은 입력으로만 구성되어야 합니다.

  • 괄호 안의 표현식 수를 2개 이하로 줄이세요.

  • If 블록 이외의 논리 블록을 사용하여 논리식을 구성합니다.

괄호 안에 있는 표현식에 0 또는 <, >, >=, <=, ==, ~=, |, & 또는 ~ 이외의 관계 연산자가 포함되어 있습니다.

다음 중 하나를 고려하십시오.

  • 관계 연산자 <, >, >=, <=, ==, ~=, |, & 사용 , 또는 괄호 안에 ~를 입력하세요.

  • If 블록 이외의 논리 블록을 사용하여 논리식을 구성합니다.

기능 및 제한 사항

  • 이러한 상대 연산자 <, >, >=, <=, ==, ~=, |, &~ 중 하나만 사용하는 논리식에 플래그를 지정하지 않습니다.

  • 라이브러리 모델에서 실행됩니다.

  • 라이브러리에 연결된 블록의 내용을 분석합니다. 기본적으로 입력 매개변수 Follow links켜기로 설정됩니다.

  • 마스크된 하위 시스템의 콘텐츠를 분석합니다. 기본적으로 입력 매개변수 Look under masks그래픽로 설정됩니다.