LabVIEWクラスのメンバーVIを作成する



LabVIEW 2018ヘルプ


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

ダウンロード (Windowsのみ)


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

メンバーVIを作成して、LabVIEWクラスのプライベートデータにアクセスして、そのプライベートデータに対して操作を実行します。メンバーVIは、複数の方法で作成することができます。

ブランクVIからメンバーVIを作成する

以下の手順に従って、ブランクVIからメンバーVIを作成します。

  1. ファイル→開くを選択して、開きたいクラスを検索して、新規LabVIEWクラスを作成するか、既存のクラスを開きます。
    メモ  ファイル→開くを選択してクラスを開いた場合、プロジェクトエクスプローラウィンドウの代わりにクラスウィンドウが開きます。プロジェクトエクスプローラウィンドウの場合と同様にクラスウィンドウでクラスを作成します。
  2. クラスのプライベートデータを定義する
  3. プロジェクトエクスプローラウィンドウで、メンバーVIを作成したいクラスのアイコンを右クリックして、新規→VIをショートカットメニューから選択します。

    新規メンバーVIプロジェクトエクスプローラウィンドウに表示され、VIが開きます。
  4. これにより、クラスのプライベートデータにアクセスして操作するメンバーVIを作成できるようになります。

プロパティ定義フォルダでメンバーVIを作成する

プロパティ定義フォルダでメンバーVIを作成すると、LabVIEWクラスのプライベートデータがプロパティノードを使用してアクセスできるクラスのプロパティとなります。

メモ  プロパティ定義フォルダに指定する名前は、プロパティノードに表示されるプロパティ名になります。プロパティ名を変更するには、対応するプロパティ定義フォルダの名前を変更する必要があります。プライベートデータの名前を変更しても、プロパティノードに表示されるプロパティ名は変更されません。

プロパティ定義フォルダでメンバーVIを作成するには、以下の手順に従ってください。

  1. ファイル→開くを選択して、開きたいクラスを検索して、新規LabVIEWクラスを作成するか、既存のクラスを開きます。
    メモ  ファイル→開くを選択してクラスを開いた場合、プロジェクトエクスプローラウィンドウの代わりにクラスウィンドウが開きます。プロジェクトエクスプローラウィンドウの場合と同様にクラスウィンドウでクラスを作成します。
  2. クラスのプライベートデータを定義する
  3. プロジェクトエクスプローラウィンドウで、メンバーVIを作成したいクラスのアイコンを右クリックして、新規→プロパティ定義フォルダをショートカットメニューから選択します。

    新しいプロパティ定義フォルダが、プロジェクトエクスプローラウィンドウに表示されます。
  4. プロパティ定義フォルダを右クリックして、ショートカットメニューから新規→VIを選択します。新規VIは、ダイナミックディスパッチテンプレートまたはスタティックディスパッチテンプレートからも作成できます。

    新規メンバーVIプロジェクトエクスプローラウィンドウに表示され、VIが開きます。
    メモメモ  プロパティ定義フォルダを右クリックしてショートカットメニューから追加→ファイルを選択して、既存のメンバーVIをプロパティ定義フォルダに追加することもできます。
  5. これにより、クラスのプライベートデータにアクセスして操作するメンバーVIを作成できるようになります。各プロパティ定義フォルダには、クラスのプライベートデータを読み取るVIを1つ、書き込むVIを1つ追加することができます。
    メモ メモ  プロパティノードを使用してLabVIEWクラスにアクセスする場合、クラスプロパティを右クリックしてショートカットメニューからアクセサを開くVIを選択することでLabVIEWクラスプロパティの実装を表示することができます。このオプションは、LabVIEWクラスまたはLabVIEWクラスを指すデータ値リファレンスをプロパティノードの リファレンス入力に配線し、アクセサVIのブロックダイアグラムが使用できる場合にのみ表示されます。プロパティが1つ以上の実装で動的な場合、このオプションを選択すると実装を選択ダイアログボックスが表示されます。このダイアログボックスを使用してプロパティまたはダイナミックディスパッチメンバーVIのすべての実装を表示し、ひとつ以上の実装を開きます

プロパティノードを使用してプライベートの読み書きを可能にするメンバーVIでは、4×2×2×4のコネクタペーンパターンを使用する必要があります。プライベートデータを読み取るメンバーVIの端子には、以下のコネクタペーン端子がなければなりません。

1 クラス入力3 クラス出力5 エラー出力
2 エラー入力4 値出力

プライベートデータを書き込むメンバーVIの端子には、以下のコネクタペーン端子がなければなりません。

1 クラス入力3 エラー入力5 エラー出力
2 値入力4 クラス出力
メモメモ  メンバーVIのクラス入力クラス出力は同じLabVIEWクラスでなければなりません。プロパティ定義フォルダに読み取りメンバーVIと書き込みメンバーVIの両方が含まれる場合、読み取りVIの値出力と書き込みVIの値入力は同じデータタイプでなければなりません。

ダイナミックディスパッチテンプレートからメンバーVIを作成する

任意のVIテンプレートを使用して、新規ダイアログボックスで新規メンバーVIを作成できますが、LabVIEWは多くのダイナミックメソッドで必要とされる複数の機能を含むダイナミックディスパッチメンバーVIを作成するための素早く簡単な方法を提供します。LabVIEWは、エラー処理、入力LabVIEWクラス、出力LabVIEWクラス用にエラー入力エラー出力クラスタ、およびケースストラクチャを使用して、新規メンバーVIを満たします。入力と出力端子の両方がVIのコネクタペーンでダイナミックとして設定されます。以下の手順に従って、ダイナミックディスパッチテンプレートからメンバーVIを作成します。

  1. ファイル→開くを選択して、開きたいクラスを検索して、新規LabVIEWクラスを作成するか、既存のクラスを開きます。
    メモ  ファイル→開くを選択してクラスを開いた場合、プロジェクトエクスプローラウィンドウの代わりにクラスウィンドウが開きます。プロジェクトエクスプローラウィンドウの場合と同様にクラスウィンドウでクラスを作成します。
  2. クラスのプライベートデータを定義する
  3. プロジェクトエクスプローラウィンドウで、メンバーVIを作成したいクラスのアイコンを右クリックし、 新規→ダイナミックディスパッチテンプレートからのVIを選択します。

    新規メンバーVIがプロジェクトエクスプローラウィンドウに表示され、VIが自動的に開きます。VIのフロントパネルに、LabVIEWクラス表示器、LabVIEWクラス制御器、エラー入力エラー出力クラスタが表示されます。
  4. <Ctrl-E>キーを押して、ブロックダイアグラムを表示します。(macOS) <Option–E>キーを押します。(Linux)<Alt-E>キーを押します。ブロックダイアグラムに、2つのLabVIEWクラス端子、エラー入力エラー出力クラスタ、エラー処理用のケースストラクチャが表示されます。
  5. これにより、クラスのプライベートデータにアクセスして操作するメンバーVIを作成できるようになります。

スタティックディスパッチテンプレートからメンバーVIを作成する

LabVIEWでは、スタティックディスパッチメンバーVIを作成するショートカットも可能です。LabVIEWは、エラー処理、入力LabVIEWクラス、出力LabVIEWクラス用にエラー入力エラー出力クラスタ、およびケースストラクチャを使用して、新規メンバーVIを満たします。スタティックディスパッチVIのコネクタペーンでは、ダイナミックディスパッチVIの場合とは異なり、入出力端子がダイナミックとして設定されません。以下の手順に従って、スタティックディスパッチテンプレートからメンバーVIを作成します。

  1. ファイル→開くを選択して、開きたいクラスを検索して、新規LabVIEWクラスを作成するか、既存のクラスを開きます。
    メモ  ファイル→開くを選択してクラスを開いた場合、プロジェクトエクスプローラウィンドウの代わりにクラスウィンドウが開きます。プロジェクトエクスプローラウィンドウの場合と同様にクラスウィンドウでクラスを作成します。
  2. クラスのプライベートデータを定義する
  3. プロジェクトエクスプローラウィンドウで、メンバーVIを作成したいクラスのアイコンを右クリックし、 新規→スタティックディスパッチテンプレートからのVIを選択します。

    新規メンバーVIがプロジェクトエクスプローラウィンドウに表示され、VIが自動的に開きます。VIのフロントパネルに、LabVIEWクラス表示器、LabVIEWクラス制御器、エラー入力エラー出力クラスタが表示されます。
  4. <Ctrl-E>キーを押して、ブロックダイアグラムを表示します。(macOS) <Option–E>キーを押します。(Linux)<Alt-E>キーを押します。ブロックダイアグラムに、2つのLabVIEWクラス端子、エラー入力エラー出力クラスタ、エラー処理用のケースストラクチャが表示されます。
  5. これにより、クラスのプライベートデータにアクセスして操作するメンバーVIを作成できるようになります。

データメンバーにアクセスするためにメンバーVIを作成する

LabVIEWのメンバーの読み取りまたは書き込みのアクセサVIを素早く作成することができます。読み取りのアクセサVIは、発呼者VIのデータにアクセスできるようにLabVIEWクラスデータをバンドル解除します。書き込みアクセサVIは、発呼者VIから渡すクラスデータの新規値をバンドル解除します。LabVIEWクラスのメンバーでないVIのクラスデータの読み取りまたは書き込みにアクセサVIを使用する場合があります。以下の手順に従って、クラスのデータにアクセスするVIを作成します。

  1. ファイル→開くを選択して、開きたいクラスを検索して、新規LabVIEWクラスを作成するか、既存のクラスを開きます。
    メモ  ファイル→開くを選択してクラスを開いた場合、プロジェクトエクスプローラウィンドウの代わりにクラスウィンドウが開きます。プロジェクトエクスプローラウィンドウの場合と同様にクラスウィンドウでクラスを作成します。
  2. クラスのプライベートデータを定義する
  3. プロジェクトエクスプローラウィンドウで、メンバーVIを作成するクラスのアイコンを右クリックして、ショートカットメニューから新規→データメンバーアクセスのためのVIを選択してアクセサを作成ダイアログボックスを開きます。または、LabVIEWクラスのプライベートデータ制御器のデータメンバーを右クリックし、ショートカットメニューからアクセサを作成を選択することもできます。
    メモ このオプションを使用する前にLabVIEWクラスを保存する必要があります。新しいクラスが保存されていないと、データメンバーアクセスのためのVIオプションとアクセサを作成オプションは無効になります。
  4. アクセスするデータメンバー、アクセスタイプ、新しいVIの種類(ダイナミックまたはスタティック)、データメンバーにプロパティノードを使用してアクセスできるかどうかを指定します。データメンバーにプロパティノードを使用してアクセスできるよう指定すると、そのメンバーVIがプロパティ定義フォルダに追加されます。
    メモメモ  プロパティノードを使用してLabVIEWクラスにアクセスして、選択したデータメンバがプロパティノードからアクセスできるよう指定すると、LabVIEWクラスプロパティの実相を簡単に表示できます。クラスプロパティを右クリックして、ショートカットメニューからアクセサを開くVIを選択します。このオプションは、LabVIEWクラスまたはLabVIEWクラスを指すデータ値リファレンスをプロパティノードの リファレンス入力に配線し、アクセサVIのブロックダイアグラムが使用できる場合にのみ表示されます。プロパティが1つ以上の実装で動的な場合、このオプションを選択すると実装を選択ダイアログボックスが表示されます。このダイアログボックスを使用してプロパティまたはダイナミックディスパッチメンバーVIのすべての実装を表示し、ひとつ以上の実装を開きます
    <Ctrl>キーを押して、複数のデータメンバーを選択する場合、LabVIEWは各データメンバーに対してアクセサVIを作成します。(macOS) <Option>キーを押します。(Linux)<Alt>キーを押します。ダイアログボックスの読み取りと書き込みを選択する場合、LabVIEWは読み取りアクセスを提供するアクセサVIと書き込みアクセスを提供する別のアクセサVIを作成します。
  5. 作成ボタンをクリックして1つまたは複数のアクセサVIを作成します。

    プロジェクトエクスプローラウィンドウに、選択した各データメンバおよび各タイプのアクセスに対する新規VIが表示され、VIが自動的に開きます。VIの名前は、Read Numeric.viなど、選択したアクセスタイプとデータメンバーの名前で構成されます。VIのフロントパネルに、LabVIEWクラス表示器、LabVIEWクラス制御器、選択したデータメンバー、エラー入力エラー出力クラスタが表示されます。
  6. <Ctrl-E>キーを押して、ブロックダイアグラムを表示します。(macOS) <Option–E>キーを押します。(Linux)<Alt-E>キーを押します。ブロックダイアグラムに2つのLabVIEWクラス端子、選択したデータメンバー、エラー入力エラー出力クラスタ端子、エラー処理用のケースストラクチャが表示されます。
  7. これで、発呼者VIからのクラスデータを操作できるようになります。

先祖メンバーVIをオーバーライドするためにメンバーVIを作成する

ダイナミックディスパッチ先祖メンバーVIの機能をオーバーライドまたは拡張するダイナミックディスパッチメンバーVIを作成できます。以下の設定がメンバーVIと先祖クラスのメンバーVIの両方で同じである場合のみ、メンバーVIは先祖クラスからのメンバーVIをオーバーライドすることが可能です。

ショートカットメニューから新規→オーバーライドのためのVIを選択した場合、LabVIEWは正当なオーバーライドの要件のすべてを満たすオーバーライドのためのメンバーVIを作成します。以下の手順に従って、新規→オーバーライドのためのVIを使用してオーバーライドのためのメンバーVIを作成します。

  1. ファイル→開くを選択して、開きたいクラスを検索して、新規LabVIEWクラスを作成するか、既存のクラスを開きます。新規クラスを作成している場合、そのクラスにオーバーライドのためのVIを作成する前にクラスを保存する必要があります。
    メモ  ファイル→開くを選択してクラスを開いた場合、プロジェクトエクスプローラウィンドウの代わりにクラスウィンドウが開きます。プロジェクトエクスプローラウィンドウの場合と同様にクラスウィンドウでクラスを作成します。
  2. プロジェクトエクスプローラウィンドウで、メンバーVIを作成したいクラスのアイコンを右クリックして、ショートカットメニューから新規→オーバーライドのためのVIを選択します。
    メモ  選択するクラスがオーバーライド可能なメンバーVIを継承しない場合、オーバーライドのためのVIオプションが淡色表示になります。先祖クラスのVIは、オーバーライドできるようにダイナミックディスパッチメンバーVIである必要があります。
  3. 新規オーバーライドダイアログボックスが表示されます。ダイアログボックスに先祖クラスが定義するダイナミックメソッドが表示されます。オーバーライドのためのVIを選択します。
  4. OKボタンをクリックします。
  5. 新規メンバーVIがプロジェクトエクスプローラウィンドウに表示され、VIが自動的に開きます。先祖VIアイコンを使用し、新規VIのアイコンを作成する子クラスのアイコンマスクをオーバーレイします。さらに、VIのフロントパネルにアクセサVI、LabVIEWクラス表示器、エラー入力エラー出力クラスタからコピーされた制御器と表示器が表示されます。
  6. <Ctrl-E>キーを押して、ブロックダイアグラムを表示します。(macOS) <Option–E>キーを押します。(Linux)<Alt-E>キーを押します。ブロックダイアグラムに先祖メンバーVIからコピーされた端子が表示されます。また、端子が親メソッド呼び出しノードに自動的に配線されます。

これにより、必要に応じて、オーバーライドのためのVIのブロックダイアグラムでコードを変更できるようになります。

メモ 新しく作成されたオーバーライドのためのVIは、最初はメンバーVIの先祖の実装と同様に動作します。オーバーライドのためのVIを使用して、メンバーVIの親の実装から機能を追加または削除することができます。

派生クラスでオーバーライドVIが必要なメンバーVIを作成する

派生クラスでメンバーVIの機能のオーバーライドまたは拡張が必要なダイナミックディスパッチVIを作成することができます。派生クラスが先祖メンバーVIをオーバーライドする必要がある場合、このVIの実装は派生クラスに対してメンバーVIから提供される必要はありません。派生クラスがメンバーVIをオーバーライドする要件を設定するには、以下の手順に従ってください。

  1. ファイル→開くを選択して、開きたいクラスを検索して、新規LabVIEWクラスを作成するか、既存のクラスを開きます。
    メモメモ  ファイル→開くを選択してクラスを開いた場合、プロジェクトエクスプローラウィンドウの代わりにクラスウィンドウが開きます。プロジェクトエクスプローラウィンドウの場合と同様にクラスウィンドウでクラスを作成します。
  2. プロジェクトエクスプローラウィンドウで、メンバーVIを作成したいクラスのアイコンを右クリックし、 新規→ダイナミックディスパッチテンプレートからのVIを選択します。

    新規メンバーVIがプロジェクトエクスプローラウィンドウに表示され、VIが自動的に開きます。VIのフロントパネルに、LabVIEWクラス表示器、LabVIEWクラス制御器、エラー入力エラー出力クラスタが表示されます。
  3. プロジェクトエクスプローラウィンドウでメンバーVIを作成したクラスのアイコンを右クリックし、プロパティを選択してクラスプロパティダイアログボックスを表示します。
  4. 項目設定を選択して項目設定ページを表示し、派生クラスがオーバーライドするダイナミックディスパッチVIを選択します。
  5. 派生クラスでこのダイナミックディスパッチVIをオーバーライドしますチェックボックスをオンにします。子クラスは各自の実装でこのVIをオーバーライドする必要があるため、このVIの実装は提供する必要はありません。


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

役に立たなかった