メインコンテンツ

jc_0644: 型の設定方法

該当ガイドライン

Control Algorithm Modeling Guidelines - Using MATLAB®, Simulink®, and Stateflow®

サブ ID 推奨事項

  • NA-MAAB — 推奨事項なし

  • JMAAB — a

MATLAB バージョン

すべて

ルール

サブ ID a

データ型がデータ オブジェクトで設定されている場合、ブロックまたは Stateflow データを使用してデータ型を設定しません。

例外

  • 再利用可能な関数内

  • Data Type Conversion ブロック

  • fixdt を使用して設定されたデータ型

  • Boolean 型または double

カスタム パラメーター

該当なし

例 — 正

型はデータ オブジェクトで設定されています。

根拠

サブ ID a:

  • ブロック内でデータ型が設定され、それがデータ オブジェクトの型の設定と異なる場合は、どちらが正しい設定かを判断するのが難しくなる場合があります。これにより、可読性が損われる可能性があります。

  • ブロック内で型が設定されている場合は、信号線の型が変更されたときに保守性が影響を受けます。

例外

  • ブロック構造が同じ場合、入力/出力データ型間の違いによって、C ソース コードが異なり、再利用できなくなります。再利用可能な関数の場合、入力/出力ブロックのデータ型をサブシステム レベルで指定しなければなりません。

  • Data Type Conversion ブロックは、データ型を明示的に設定するために使用されます。

  • データ型が fixdt (固定小数点) の場合、ブロックごとにデータ点が異なる可能性があるため、データ型を個別に設定しなければなりません。このシナリオでは、データ オブジェクトのみを使用してデータ型を設定することはできません。

  • 特定の型が既定で設定されているブロック。

    たとえば、[出力データ型] は既定で boolean に設定されています。一般に、論理演算の結果は boolean であると想定されるため、継承設定を調整する必要はありません。既定で設定されているブロックで必要な型がこのように事前構成されている場合、可読性と保守性は損なわれません。

例 — 正

型はデータ オブジェクトで設定されていますが、ブロックでは設定されていません。

例 — 誤

型はデータ オブジェクトとブロックの両方で設定されています。

検証

モデル アドバイザー チェック: Check type setting by data objects (Simulink Check)

最終更新

R2024b

バージョン履歴

R2020a で導入