Main Content

If ブロック内の論理式をチェック

チェック ID: mathworks.maab.na_0003

ガイドライン: na_0003:If ブロックの使用方法

説明

論理式内に一次式の不適切な構成がないか、If ブロックをチェックします。

一次式が複雑な If ブロックのインスタンスを特定します。

一次式は以下のように定義されます。

  • 入力

  • 定数

  • 定数パラメーター

  • ゼロ、<>>=<===~=|&、および ~ 以外の演算子が含まれていない、かっこで囲まれた式

一次式の例を以下に示します。

  • 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)

受け入れられない演算子が一次式に含まれている。

例外

以下の両方の条件が満たされている場合、論理式には 2 つを超える一次式を含めることができます。

  • 一次式がすべて入力である。

  • 1 つのタイプの論理演算子のみが存在している。

受け入れられる例外の例を以下に示します。

  • u1 | u2 | u3 | u4 | u5

  • u1 & u2 & u3 & u4

シンプルな "If" 式

ガイドライン na_0003 のリテラルの解釈では、式 u1 < u2 は違反になります。ただし、この式は、一般的に使用される "If" 式テンプレート (<一次式><演算子><一次式>) に従っています。そのため、論理演算子が使用されておらず、関係演算子が 1 つだけ存在している場合は、式はガイドライン na_0003 を満たし、u1 < u2 は違反にはなりません。

このチェックには Simulink® Check™ ライセンスが必要です。

チェックのパラメーター化

MAB モデリング ガイドラインはサブ ID を 1 つのみ提供するため、このチェックにはサブチェックは含まれません。

参考として、NA-MAAB および JMAAB モデリング標準組織で使用が推奨されている MAB ガイドライン サブ ID は以下のとおりです。

  • NA-MAAB — 推奨なし

  • JMAAB — a

結果と推奨アクション

条件推奨アクション
定数、定数パラメーター、および入力で構成されている 2 つを超える一次式が論理式に含まれている。

次のいずれかを検討してください。

  • 一次式を入力にし、以下のいずれかを行います。

    • 1 つの関係演算子タイプをもつ、かっこで囲まれた式を使用する

    • 以下のテンプレートを使用してシンプルな "If" 式を構成する
      <一次式><論理演算子><一次式>

  • 一次式の数を 2 以下に減らします。

  • If ブロック以外の論理ブロックを使用して論理式を構成します。

論理式に、複数の関係演算子を使用する、2 つを超えるかっこで囲まれた式が含まれている

次のいずれかを検討してください。

  • 1 つのタイプの関係演算子のみを使用します。受け入れられる論理演算子には、<>>=<===~=|&~ があります。一次式は入力のみで構成する必要があります。

  • かっこで囲まれた式の数を 2 以下に減らします。

  • If ブロック以外の論理ブロックを使用して論理式を構成します。

かっこで囲まれた式に、ゼロ、<>>=<===~=|&~ 以外の関係演算子が含まれている。

次のいずれかを検討してください。

  • かっこで囲まれた式内で、関係演算子 <>>=<===~=|&、または ~ を使用します。

  • If ブロック以外の論理ブロックを使用して論理式を構成します。

機能および制限事項

  • 関係演算子 <>>=<===~=|&~ の 1 つのみを使用している論理式にはフラグは設定されません。

  • ライブラリ モデルで実行されます。

  • ライブラリにリンクされたブロックの内容を解析します。既定では、入力パラメーター [リンクに従う][オン] に設定されます。

  • マスク サブシステムの内容を解析します。既定では、入力パラメーター [マスク内を表示][グラフィカル] に設定されます。