タイプ定義と指定タイプ定義の違い

更新しました Aug 23, 2023

使用製品

ソフトウェア

  • LabVIEW Full
  • LabVIEW Professional

問題

  • LabVIEWではタイプ定義と指定タイプ定義がありますがどのような違いがあり、どのように使い分ければよいですか?
  • デフォルトの値を変更したタイプ定義または指定タイプ定義がありますが、この変更が作成した制御器の各インスタンスに反映されないのはなぜですか?

解決策

概要

LabVIEWでタイプ定義と指定タイプ定義は、いずれのVIにも配置できるカスタム制御器(* .ctlファイル)です。*.ctlファイルが変更されると、その制御器を使用するすべてのVIも変更されるため、各VIを自分で変更する必要はありません。タイプ定義制御器を使用すると、LabVIEWは制御器が使用されている場所でデータタイプが同じであることを確認します。指定タイプ定義はより制限的であり、LabVIEWは制御器に関するほぼすべてが同じであることを保証します。



 

タイプ定義

データタイプが制御器のマスターコピーと一致する限り、タイプ定義は異なる名前、説明、デフォルト値、サイズ、色、または制御器のスタイル(スライドの代わりにノブなど)を持つことができます。タイプ定義は、カスタム制御器の各インスタンスに対して正しい「タイプ」を識別するだけです。「タイプ」には、数値制御器のデータ範囲やリング制御器内のアイテム名などは含まれません。たとえば、タイプ定義制御器の一部であるリング制御器の数値制御器またはアイテム名のデータ範囲を変更すると、制御器の全インスタンスにおけるこれらのプロパティは変更されません。ただし、列挙タイプ(enum)のタイプ定義で項目名を変更すると、項目名が列挙体における「タイプ」の一部であるため、すべてのインスタンスも変更されます。


 
 

指定タイプ定義

指定タイプ定義制御器は、サイズ、色、外観など、制御器のほぼすべてを同一にします。厳密な型定義はより限定的であり、型定義とは異なり、数字コントロールの範囲チェックやリング制御器の項目名などのプロパティ値を定義します。指定タイプ定義に対する唯一の柔軟性は、名前、説明、およびデフォルト値です。これは、制御器のインスタンスごとに異なる場合があります。指定タイプ定義制御器で使用できる唯一のプロパティは、表示、無効、キーフォーカス、点滅、位置、および境界など、制御器の外観に影響するプロパティです。たとえば、さまざまな制御器のクラスタで構成された指定タイプ定義がある場合、個々の制御器のプロパティは使用できません。クラスタ全体の外観プロパティのみが使用可能です。

追加情報

ほとんどのプログラマは、タイプ定義と指定タイプ定義を使用して、多くの制御器のクラスタであるカスタム制御器を作成します。追加のアイテムは、カスタム制御器内のクラスタに追加して、アプリケーション全体に対して簡単に変更することができます。これは、サブVIごとに手動でクラスタを更新しないため、クラスタと対話する必要があるサブVIがある場合に特に便利です。