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)
次の表では、受け入れられない論理式の例を示します。
一次式 | 理由 |
---|---|
| 一次式が多すぎる。 |
| 受け入れられない演算子が一次式に含まれている。 |
| 入力ではない一次式が多すぎる。 |
| 受け入れられない演算子が一次式に含まれている。 |
例外
以下の両方の条件が満たされている場合、論理式には 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 つを超える一次式が論理式に含まれている。 | 次のいずれかを検討してください。
|
論理式に、複数の関係演算子を使用する、2 つを超えるかっこで囲まれた式が含まれている | 次のいずれかを検討してください。
|
かっこで囲まれた式に、ゼロ、< 、> 、>= 、<= 、== 、~= 、| 、& 、~ 以外の関係演算子が含まれている。 | 次のいずれかを検討してください。
|
機能および制限事項
関係演算子
<
、>
、>=
、<=
、==
、~=
、|
、&
、~
の 1 つのみを使用している論理式にはフラグは設定されません。ライブラリ モデルで実行されます。
ライブラリにリンクされたブロックの内容を解析します。既定では、入力パラメーター [リンクに従う] は
[オン]
に設定されます。マスク サブシステムの内容を解析します。既定では、入力パラメーター [マスク内を表示] は
[グラフィカル]
に設定されます。