LabVIEW NXG Training Course
Session2 - LabVIEW NXG データタイプ
Yusuke Tochigi
NXG 5.0 Version
LabVIEW NXG Training Course 2
データタイプ
LabVIEW NXG では様々なデータタイプを取り扱うことができます。
個々に端子の色や、設定できるプロパティが異なります。このセッションではこれらを説明
します。
LabVIEW NXG Training Course 3
データタイプ
数値
ボタン
テキスト
グラフおよびチャート
配列
セレクタ
クラスタ
レイアウト
装飾体とリファレンス等
LabVIEW NXG Training Course 4
ボタン ( ブール )
●
TRUE/FALSE の 2 値を取ります
●
ワイヤの色は緑です
●
LED などの色はプロパティから変更できます
●
テストの Pass/Fail 情報やループの停止などに使われます
LabVIEW NXG Training Course 5
ボタンの機械的動作
ボタン制御器には 5 つの動作があり、それぞれボタンを押したときの動作が異なります。
以下の「イベント」とは、押されたら / 放されたら / 放されるまで の各動作を指します。
●
スイッチ
イベント発生後に値が変わります。再度イベントが発生するまで状態は保持されます。
( 例 電源スイッチ )
●
ラッチ
イベント発生後に値が変わります。プログラムで値を読み取った後、自動的に FALSE
(OFF) 状態へ戻ります。 ( 例 マウスクリック、キーボード )
LabVIEW NXG Training Course 6
数値
●
ワイヤの色はオレンジ / 青 / 紫で、表記法によって異なります
●
制御器を右クリックし表記法または構成ペーンから、表記法を変更できます
●
構成ペーンの表示形式で、表示フォーマットを変更できます
LabVIEW NXG Training Course 7
異なる表記法同士の処理
異なる表記法同士で演算を行うことは出来るだけ避けます。
このような演算では、赤い強制ドットが表示されます。 LabVIEW NXG は入力された 2
つの表記法を比較し、精度が高い表記法へ精度の低い表記法を強制変換します。
下記の例では、 DBL と I32 では DBL の方が精度が高いため、入力 1 は DBL に強
制変換されて演算が行われます。
強制変換はメモリ使用量や VI のパフォーマンスに良くない影響を与える可能性があるた
め、表記法を統一するか、それが難しい場合は変換ノードを使用します。
LabVIEW NXG Training Course 8
数値のプロパティ
数値制御器では、パネル上の構成ペーンにおいて、入力可能な範囲を設定することが
できます。
整数データタイプの場合、表示形式を変更することで 16 進数入力等可能です。
LabVIEW NXG Training Course 9
テキスト
●
ワイヤの色はピンクです
●
エスケープシーケンスを表示を有効にすると、エスケープシーケンスが表示されます
●
Enter キーを押した際の動作は 2 種類あります。
●
マスクされた入力制御器を使用してパスワード入力が可能です
LabVIEW NXG Training Course 10
定数のドック
定数は、ノードにドックするを選択することで関数にドックできます。定数と関数をドッキ
ングすることで、関連するワイヤを削除し、ダイアグラムを整理できます。
ドックされた定数にマウスカーソルを合わせることで、定数の値を確認できます。
LabVIEW NXG Training Course 11
配列
●
配列は同じデータタイプのデータを 1 つのデータ構造にまとめます
●
異なるデータタイプを配列にまとめることはできません
●
同じタイプのデータの集合を処理したり演算する場合は、配列を使用します
●
Windows 上では配列は可変サイズであり、 Malloc や Free は不要です
●
配列の順序は「指標」で管理されており、指標は 0 始まりです
この例では、
指標 3 = 26.5 ( 先頭から数えて 4 番目 )
指標 8 = 18.3 ( 先頭から数えて 9 番目 ) です。
指標 0 1 2 3 4 5 6 7 8 9
値 20.1 12.3 21.3 26.5 24.3 22.1 20.5 19.2 18.3 11.0
配列サイズ = 10
LabVIEW NXG Training Course 12
配列の作成
パレットにはあらかじめ準備された配列制御器 / 表示器があります。
他のデータタイプの配列を作成する場合は、以下の手順で配列を作成します。
1. 未構成の配列をパネル上に配置します
2. 作成したいデータタイプの制御器 / 表示器をパレットから探します
3. 制御器 / 表示器を選択し、配列の右側の四角に入れます
LabVIEW NXG Training Course 13
配列の初期化
新規に作成した配列をよく見ると、要素がグレーアウトしています。
グレーアウトしている要素以降は、値が存在しません。値が存在しない場合、演算に使
用できません。
以下の例では、「要素数 0 」の配列はすべてグレーアウトしており、配列サイズはゼロで
す。「要素数 5 」の配列は 1 つだけグレーアウトしているため、要素数は 5 です。
手動で配列を初期化する場合は、値を入力して確定させますが、一般的な開発にお
いては、配列は必要なだけあらかじめ初期化しておきます。
LabVIEW NXG Training Course 14
配列の要素数が多い場合、パネル上にすべてのデータを表示できません。
この場合、指標表示を用いて、 N 番目の配列要素を表示します。
指標表示は構成ペーンで表示 / 非表示を切り替えられます。
この例では、 800 番目の指標「 1 」が先頭に表示されています。 801 番目の指標は
「 2 」で、この配列は全部で 802 個のデータを保持していることがわかります。
配列は次元数が増えるに伴い、ダイアグラムでのワイヤ幅が太くなります。
配列の外観
LabVIEW NXG Training Course 15
配列制御器の操作
配列制御器 / 表示器のマウス操作がより分かりやすくなっています。
●
配列の表示要素数を増やす場合
配列にマウスカーソルを合わせ、下部に表示されるポイントをドラッグ
●
指標表示器の表示数を増やす (= 配列の次元数を増やす )
指標表示器下部にマウスカーソルを合わせ、表示されるポイントをドラッグ
LabVIEW NXG Training Course 16
配列の次元
まず 1 次元配列を作成した後、 2 次元、 3 次元配列を作成します。次元の増やし方
には 3 つの方法があります。
●
配列を右クリックして、次元を追加
●
構成ペーンで設定する
●
指標表示器の表示数を増やす
指標表示器の表示数は次元数に対応しています。
行
列
ページ
LabVIEW NXG Training Course 17
未定義要素の演算
未定義要素の演算がどのように行われるか紹介します。
●
加算
未定義要素が含まれる演算は行われず、結果は未定義になります。
●
指標配列
未定義の指標を指定した場合、ゼロまたは空配列が返されます。
LabVIEW NXG Training Course 18
配列関数
いくつかの配列関数を通して配列の取り扱いについてご紹介します。
●
配列サイズ
配列の要素数を返します。結果は 1 次元配列でスカラー、 2 次元配列以上では 1
次元配列で結果を返します。
●
指標配列
配列の指定指標の値を返します。 2 次元配列では、行または列のみの指標を指定す
ることで、行または列全体の値を取得できます。
LabVIEW NXG Training Course 19
配列関数
●
部分配列
指定した指標から長さ分の要素を取得します。
●
配列連結追加
配列同士を連結し、 1 つの配列に統合します。便利な関数ですが、ループの中で長時
間、継続的に要素を追加し続けると、メモリがオーバーフローするので注意が必要です。
LabVIEW NXG Training Course 20
配列関数
●
配列初期化
指定した要素数と初期値を持つ配列を新規に作成します。
●
配列最大と最小
配列の中から最大値と最小値を検索します。
LabVIEW NXG Training Course 21
クラスタ
●
クラスタは異なるデータタイプのデータを 1 つのデータ構造にまとめます
●
同じ属性のデータをクラスタにまとめることで複数ワイヤを一つにまとめ、サブ VI に必要な
入出力数を減らします
●
制御器をグループ化することで、データ構造を分かりやすくします
●
ワイヤの色は茶色もしくはピンクです。クラスタに対して四則演算など行える場合は茶
色、それ以外はピンクで表示されます。
LabVIEW NXG Training Course 22
クラスタの作成
1. 空のクラスタをパネルに配置します
2. まとめたいデータを持つ制御器を空のクラスタ内に配置します
LabVIEW NXG Training Course 23
クラスタの順序
クラスタには順序があります。この順序はクラスタからデータを取り出す際などに重要になり
ます。構成ペーンのデータ項目において、クラスタの順序を変更することが可能です。
右クリックメニューから、クラスタを自動配列させることも可能です。
マウス移動によって順序を変更できます。
Tab キー選択の有効 / 無効を切り替えます。
制御器をクラスタから削除します。
LabVIEW NXG Training Course 24
クラスタ要素へのアクセス
クラスタプロパティ関数を用いることで、クラスタ内の各要素の値を読み書きできます。ク
ラスタプロパティ関数は下方向に拡張することで、アクセスできる要素数を増やすことがで
きます。
クラスタプロパティ関数は、要素への値読み取りまたは書き込みを設定することができま
す。方向は右クリックメニューか、構成ペーンから変更します。
LabVIEW NXG Training Course 25
クラスタの入れ子構造
クラスタの中にクラスタを入れると、クラスタプロパティ関数からアクセスする際、ツリー構造
で要素を参照できます。モジュール毎の設定を行う際など、非常に便利な機能です。
LabVIEW NXG Training Course 26
列挙体
符号なし整数で、 U8/16/32 から表記法を選べます。数値データタイプですが数値と
文字がペアのデータ構造となっていて、 UI 上は値を文字列で選択することができます。
構成ペーンの項目において、項目の編集が可能です。
ケースストラクチャ使用時ににケース名を列挙体の項目名で表示できる、サブ VI への
入力を明確にできるなど様々なメリットがあります。
LabVIEW NXG Training Course 27
バリアント
C 言語での Void に似たデータタイプです。明確な型はなく、値と属性を持ちます。
●
値
1 つのバリアントデータタイプで 1 つしか持てません。どのようなデータタイプのデータでも格
納でもできます。
●
属性
1 つのバリアントデータタイプに複数の属性を持たせることができます。属性は名前と値を
持ちます。
バリアントデータタイプを用いることで、 Key/Value 機能を容易に実装することができま
す。
LabVIEW NXG Training Course 28
波形データタイプ
信号処理関数や DAQmx 読み取り関数は波形データタイプの値を返すことができま
す。波形データタイプは、開始時間の t0 、データポイントの時間間隔 dt 、波形のデー
タ Y 、そして属性から構成されます。例えば属性には、波形の名称が DAQmx ドライ
バから付与されます。
dt はサンプリングレートの逆数です。 1 秒間に 1000 ポイントの電圧を集録した場合、
dt はサンプリングレート 1kHz の逆数の 1 ミリ秒になります。
LabVIEW NXG Training Course 29
波形データタイプの利点
波形データタイプには情報として dt つまりサンプリングレートが含まれます。 FFT などの
波形処理を行う際、サンプリングレートを情報として入力する必要がありません。
波形を切り取る際も波形データタイプは時間で波形を処理できるので、各波形の「 0.3
秒から 0.5 秒までを切り取る」処理も容易に実装できます。
LabVIEW NXG Training Course 30
タイムスタンプ
タイムスタンプデータタイプは日付と時間を返します。ファイル保存を行う際の日付データ
等に使用します。

Session2 - LabVIEW NXG Training Course

  • 1.
    LabVIEW NXG TrainingCourse Session2 - LabVIEW NXG データタイプ Yusuke Tochigi NXG 5.0 Version
  • 2.
    LabVIEW NXG TrainingCourse 2 データタイプ LabVIEW NXG では様々なデータタイプを取り扱うことができます。 個々に端子の色や、設定できるプロパティが異なります。このセッションではこれらを説明 します。
  • 3.
    LabVIEW NXG TrainingCourse 3 データタイプ 数値 ボタン テキスト グラフおよびチャート 配列 セレクタ クラスタ レイアウト 装飾体とリファレンス等
  • 4.
    LabVIEW NXG TrainingCourse 4 ボタン ( ブール ) ● TRUE/FALSE の 2 値を取ります ● ワイヤの色は緑です ● LED などの色はプロパティから変更できます ● テストの Pass/Fail 情報やループの停止などに使われます
  • 5.
    LabVIEW NXG TrainingCourse 5 ボタンの機械的動作 ボタン制御器には 5 つの動作があり、それぞれボタンを押したときの動作が異なります。 以下の「イベント」とは、押されたら / 放されたら / 放されるまで の各動作を指します。 ● スイッチ イベント発生後に値が変わります。再度イベントが発生するまで状態は保持されます。 ( 例 電源スイッチ ) ● ラッチ イベント発生後に値が変わります。プログラムで値を読み取った後、自動的に FALSE (OFF) 状態へ戻ります。 ( 例 マウスクリック、キーボード )
  • 6.
    LabVIEW NXG TrainingCourse 6 数値 ● ワイヤの色はオレンジ / 青 / 紫で、表記法によって異なります ● 制御器を右クリックし表記法または構成ペーンから、表記法を変更できます ● 構成ペーンの表示形式で、表示フォーマットを変更できます
  • 7.
    LabVIEW NXG TrainingCourse 7 異なる表記法同士の処理 異なる表記法同士で演算を行うことは出来るだけ避けます。 このような演算では、赤い強制ドットが表示されます。 LabVIEW NXG は入力された 2 つの表記法を比較し、精度が高い表記法へ精度の低い表記法を強制変換します。 下記の例では、 DBL と I32 では DBL の方が精度が高いため、入力 1 は DBL に強 制変換されて演算が行われます。 強制変換はメモリ使用量や VI のパフォーマンスに良くない影響を与える可能性があるた め、表記法を統一するか、それが難しい場合は変換ノードを使用します。
  • 8.
    LabVIEW NXG TrainingCourse 8 数値のプロパティ 数値制御器では、パネル上の構成ペーンにおいて、入力可能な範囲を設定することが できます。 整数データタイプの場合、表示形式を変更することで 16 進数入力等可能です。
  • 9.
    LabVIEW NXG TrainingCourse 9 テキスト ● ワイヤの色はピンクです ● エスケープシーケンスを表示を有効にすると、エスケープシーケンスが表示されます ● Enter キーを押した際の動作は 2 種類あります。 ● マスクされた入力制御器を使用してパスワード入力が可能です
  • 10.
    LabVIEW NXG TrainingCourse 10 定数のドック 定数は、ノードにドックするを選択することで関数にドックできます。定数と関数をドッキ ングすることで、関連するワイヤを削除し、ダイアグラムを整理できます。 ドックされた定数にマウスカーソルを合わせることで、定数の値を確認できます。
  • 11.
    LabVIEW NXG TrainingCourse 11 配列 ● 配列は同じデータタイプのデータを 1 つのデータ構造にまとめます ● 異なるデータタイプを配列にまとめることはできません ● 同じタイプのデータの集合を処理したり演算する場合は、配列を使用します ● Windows 上では配列は可変サイズであり、 Malloc や Free は不要です ● 配列の順序は「指標」で管理されており、指標は 0 始まりです この例では、 指標 3 = 26.5 ( 先頭から数えて 4 番目 ) 指標 8 = 18.3 ( 先頭から数えて 9 番目 ) です。 指標 0 1 2 3 4 5 6 7 8 9 値 20.1 12.3 21.3 26.5 24.3 22.1 20.5 19.2 18.3 11.0 配列サイズ = 10
  • 12.
    LabVIEW NXG TrainingCourse 12 配列の作成 パレットにはあらかじめ準備された配列制御器 / 表示器があります。 他のデータタイプの配列を作成する場合は、以下の手順で配列を作成します。 1. 未構成の配列をパネル上に配置します 2. 作成したいデータタイプの制御器 / 表示器をパレットから探します 3. 制御器 / 表示器を選択し、配列の右側の四角に入れます
  • 13.
    LabVIEW NXG TrainingCourse 13 配列の初期化 新規に作成した配列をよく見ると、要素がグレーアウトしています。 グレーアウトしている要素以降は、値が存在しません。値が存在しない場合、演算に使 用できません。 以下の例では、「要素数 0 」の配列はすべてグレーアウトしており、配列サイズはゼロで す。「要素数 5 」の配列は 1 つだけグレーアウトしているため、要素数は 5 です。 手動で配列を初期化する場合は、値を入力して確定させますが、一般的な開発にお いては、配列は必要なだけあらかじめ初期化しておきます。
  • 14.
    LabVIEW NXG TrainingCourse 14 配列の要素数が多い場合、パネル上にすべてのデータを表示できません。 この場合、指標表示を用いて、 N 番目の配列要素を表示します。 指標表示は構成ペーンで表示 / 非表示を切り替えられます。 この例では、 800 番目の指標「 1 」が先頭に表示されています。 801 番目の指標は 「 2 」で、この配列は全部で 802 個のデータを保持していることがわかります。 配列は次元数が増えるに伴い、ダイアグラムでのワイヤ幅が太くなります。 配列の外観
  • 15.
    LabVIEW NXG TrainingCourse 15 配列制御器の操作 配列制御器 / 表示器のマウス操作がより分かりやすくなっています。 ● 配列の表示要素数を増やす場合 配列にマウスカーソルを合わせ、下部に表示されるポイントをドラッグ ● 指標表示器の表示数を増やす (= 配列の次元数を増やす ) 指標表示器下部にマウスカーソルを合わせ、表示されるポイントをドラッグ
  • 16.
    LabVIEW NXG TrainingCourse 16 配列の次元 まず 1 次元配列を作成した後、 2 次元、 3 次元配列を作成します。次元の増やし方 には 3 つの方法があります。 ● 配列を右クリックして、次元を追加 ● 構成ペーンで設定する ● 指標表示器の表示数を増やす 指標表示器の表示数は次元数に対応しています。 行 列 ページ
  • 17.
    LabVIEW NXG TrainingCourse 17 未定義要素の演算 未定義要素の演算がどのように行われるか紹介します。 ● 加算 未定義要素が含まれる演算は行われず、結果は未定義になります。 ● 指標配列 未定義の指標を指定した場合、ゼロまたは空配列が返されます。
  • 18.
    LabVIEW NXG TrainingCourse 18 配列関数 いくつかの配列関数を通して配列の取り扱いについてご紹介します。 ● 配列サイズ 配列の要素数を返します。結果は 1 次元配列でスカラー、 2 次元配列以上では 1 次元配列で結果を返します。 ● 指標配列 配列の指定指標の値を返します。 2 次元配列では、行または列のみの指標を指定す ることで、行または列全体の値を取得できます。
  • 19.
    LabVIEW NXG TrainingCourse 19 配列関数 ● 部分配列 指定した指標から長さ分の要素を取得します。 ● 配列連結追加 配列同士を連結し、 1 つの配列に統合します。便利な関数ですが、ループの中で長時 間、継続的に要素を追加し続けると、メモリがオーバーフローするので注意が必要です。
  • 20.
    LabVIEW NXG TrainingCourse 20 配列関数 ● 配列初期化 指定した要素数と初期値を持つ配列を新規に作成します。 ● 配列最大と最小 配列の中から最大値と最小値を検索します。
  • 21.
    LabVIEW NXG TrainingCourse 21 クラスタ ● クラスタは異なるデータタイプのデータを 1 つのデータ構造にまとめます ● 同じ属性のデータをクラスタにまとめることで複数ワイヤを一つにまとめ、サブ VI に必要な 入出力数を減らします ● 制御器をグループ化することで、データ構造を分かりやすくします ● ワイヤの色は茶色もしくはピンクです。クラスタに対して四則演算など行える場合は茶 色、それ以外はピンクで表示されます。
  • 22.
    LabVIEW NXG TrainingCourse 22 クラスタの作成 1. 空のクラスタをパネルに配置します 2. まとめたいデータを持つ制御器を空のクラスタ内に配置します
  • 23.
    LabVIEW NXG TrainingCourse 23 クラスタの順序 クラスタには順序があります。この順序はクラスタからデータを取り出す際などに重要になり ます。構成ペーンのデータ項目において、クラスタの順序を変更することが可能です。 右クリックメニューから、クラスタを自動配列させることも可能です。 マウス移動によって順序を変更できます。 Tab キー選択の有効 / 無効を切り替えます。 制御器をクラスタから削除します。
  • 24.
    LabVIEW NXG TrainingCourse 24 クラスタ要素へのアクセス クラスタプロパティ関数を用いることで、クラスタ内の各要素の値を読み書きできます。ク ラスタプロパティ関数は下方向に拡張することで、アクセスできる要素数を増やすことがで きます。 クラスタプロパティ関数は、要素への値読み取りまたは書き込みを設定することができま す。方向は右クリックメニューか、構成ペーンから変更します。
  • 25.
    LabVIEW NXG TrainingCourse 25 クラスタの入れ子構造 クラスタの中にクラスタを入れると、クラスタプロパティ関数からアクセスする際、ツリー構造 で要素を参照できます。モジュール毎の設定を行う際など、非常に便利な機能です。
  • 26.
    LabVIEW NXG TrainingCourse 26 列挙体 符号なし整数で、 U8/16/32 から表記法を選べます。数値データタイプですが数値と 文字がペアのデータ構造となっていて、 UI 上は値を文字列で選択することができます。 構成ペーンの項目において、項目の編集が可能です。 ケースストラクチャ使用時ににケース名を列挙体の項目名で表示できる、サブ VI への 入力を明確にできるなど様々なメリットがあります。
  • 27.
    LabVIEW NXG TrainingCourse 27 バリアント C 言語での Void に似たデータタイプです。明確な型はなく、値と属性を持ちます。 ● 値 1 つのバリアントデータタイプで 1 つしか持てません。どのようなデータタイプのデータでも格 納でもできます。 ● 属性 1 つのバリアントデータタイプに複数の属性を持たせることができます。属性は名前と値を 持ちます。 バリアントデータタイプを用いることで、 Key/Value 機能を容易に実装することができま す。
  • 28.
    LabVIEW NXG TrainingCourse 28 波形データタイプ 信号処理関数や DAQmx 読み取り関数は波形データタイプの値を返すことができま す。波形データタイプは、開始時間の t0 、データポイントの時間間隔 dt 、波形のデー タ Y 、そして属性から構成されます。例えば属性には、波形の名称が DAQmx ドライ バから付与されます。 dt はサンプリングレートの逆数です。 1 秒間に 1000 ポイントの電圧を集録した場合、 dt はサンプリングレート 1kHz の逆数の 1 ミリ秒になります。
  • 29.
    LabVIEW NXG TrainingCourse 29 波形データタイプの利点 波形データタイプには情報として dt つまりサンプリングレートが含まれます。 FFT などの 波形処理を行う際、サンプリングレートを情報として入力する必要がありません。 波形を切り取る際も波形データタイプは時間で波形を処理できるので、各波形の「 0.3 秒から 0.5 秒までを切り取る」処理も容易に実装できます。
  • 30.
    LabVIEW NXG TrainingCourse 30 タイムスタンプ タイムスタンプデータタイプは日付と時間を返します。ファイル保存を行う際の日付データ 等に使用します。