LabVIEWクラスをアプリケーションで使用する



LabVIEW 2018ヘルプ


発行年月: 2018年3月
製品番号: 371361R-0112
製品情報を参照

ダウンロード (Windowsのみ)


LabVIEW 2016ヘルプ
LabVIEW 2017ヘルプ
LabVIEW 2018ヘルプ
LabVIEW 2019ヘルプ
LabVIEW 2020ヘルプ

LabVIEWクラスは、ユーザ定義データタイプです。LabVIEWクラス開発者はこれらのデータタイプを作成して配布します。LabVIEWクラスユーザは、LabVIEWの作成方法についての知識を必要としませんが、クラスによって定義されるデータタイプをアプリケーションで使用する方法、LabVIEWクラスが使われているコードのデバッグに利用できる情報、LabVIEWクラスの更新によって作成済みのアプリケーションが受ける影響などを把握している必要があります。

クラスのインスタンスを作成する

LabVIEWクラスは、プロジェクト内に配置する必要はありません。LabVIEWクラスをパレットに追加して、クラスを簡単に検索してブロックダイアグラムやフロントパネルにドラッグして配置できるようにすることができます。他の開発者から配布されたLabVIEWクラス、または自ら作成したLabVIEWクラスのインスタンスを作成するには、クラスファイブラリファイル(.lvclass)を制御器または定数としてフロントパネルやブロックダイアグラムに配置します。他のLabVIEWデータタイプに類似したLabVIEWユーザ定義データタイプを使用できます。

クラスブラウザウィンドウを使用して、ブロックダイアグラムにLabVIEWクラスのメンバーVIを配置することができます。

ロックされたLabVIEWクラスで詳細ヘルプとプローブを使用する

LabVIEWクラス開発者は、クラスを配布するときにLabVIEWクラスをロックすることができます。LabVIEWクラス開発者がLabVIEWクラスをロックすると、詳細ヘルプウィンドウにはクラスのデータタイプとクラスの説明(開発者が提供している場合)だけが表示されます。また、ロックされたクラスの一般プローブにもクラスのデータタイプだけが表示されます。LabVIEWクラスに対してメンバーではないカスタムプローブを作成できますが、このカスタムプローブにはクラスのパブリックインタフェースのみが表示されます。またLabVIEWクラス開発者は、クラスにカスタムデフォルトプローブを設定して、デバッグに必要なクラス情報を提示することができます。LabVIEWクラスを使用するために必要な説明やプローブ情報の程度については、LabVIEWクラス開発者と相談して決定します。

ダイナミックディスパッチVI

LabVIEWクラスのメンバーVIには、ダイナミックディスパッチが可能なものがあります。ダイナミックディスパッチメソッドは、多態性VIに類似しています。多態性VIが配線されたデータタイプに応じて呼び出すVIを決定するのに対し、ダイナミックディスパッチメソッドは、実行時に入力に入力されるデータに応じてクラス階層内の呼び出すメンバーVIを決定します。LabVIEWクラスのワイヤは、そのLabVIEWクラスのタイプまたは子のタイプのデータを送るため、実行するクラス階層内のメンバーVIがLabVIEWによって決定されます。ブロックダイアグラムでダイナミックディスパッチメンバーVIをダブルクリックすると、その特定のVIを表示できます。クラス階層内の別のダイナミックディスパッチメンバーVIを表示するには、それぞれのVIをクラス階層で表示する必要があります。

データを変異させる

LabVIEWクラスを利用してアプリケーションを開発するLabVIEWクラスのユーザは、LabVIEWクラスのバージョン番号を追跡記録すると有益な効果を得られます。たとえば、クラスのプライベートデータ制御器で符号なしの32ビット整数を使用するアプリケーションにLabVIEWクラスがあります。LabVIEWクラスの開発者は、プライベートデータ制御器の数値制御器を倍精度浮動小数点数に変換するLabVIEWクラスのバージョンをLabVIEWクラスユーザに送信することができます。LabVIEWではバージョンの変更履歴が記録され、すべてのLabVIEWのデータの平坦化または非平坦化が認識されているため、古いバージョンのLabVIEWクラスは新しいバージョンで置換し、変更なしにプログラムを実行することができます。

メモ  LabVIEWクラスの将来のバージョンからクラスを非平坦化しようとする場合、LabVIEWでエラーが返されます。たとえば、バージョン番号が1.0.0.3のデータがあり、メモリに常駐するLabVIEWクラスのバージョンが1.0.0.2の場合、このエラーが発生する場合があります。


この記事は役に立ちましたか。

役に立たなかった