LabVIEW日記Vol.4 ケースストラクチャ
これまで,LAbVIEWによるForループとWhileループを学習しました.
今回は,テキスト系プログラムの「If文」に相当するケースストラクチャについて勉強します.
ケースストラクチャを用いて,入力値の大きさによって異なる文字列を出力するプログラムを作成します.
今回もこちらの参考文献をもとに進めていきます.詳細な内容を知りたい方はぜひ購入してみましょう.
それではさっそく,ケースストラクチャを配置します.
まずは関数パレットのストラクチャからCase Structureを選択します.
Forループと同様に,ドラッグして任意の大きさに配置します.上部にはTrueとFalseを選択できるタブ(セレクタラベル)があります.
このサブダイアグラム上では,TrueとFalseで場合分けした異なる処理を実行できます.
では,このケースストラクチャを用いて入力した数値が0以上か0未満かを判定するVIを作成します.
関数パレットのComparisonからGreter or Equal to (0以上)をケースストラクチャの左外に配置します.
次にフロントパネルウィンドウにNumeric Controlを配置し,ブロックダイアグラムウィンドウの0以上ノードの横に配置します.また,名前を入力に変更します.
続いて,フロントパネルのString & PathからString Indicator(文字列表示器)を配置します.名前は"判定結果"とします.
ブロックダイアグラムウィンドウの関数パレットのStringから,String Constantを選択し,ケースストラクチャ上に配置します.
String Control に「0以上」と入力します.
このとき,ケースストラクチャ上部のセレクタラベルがTrueになっていることを確認してください.
それでは配線をおこないます.まずは左側の数値制御器と比較器を接続し,比較器とケースストラクチャの?アイコンを接続します.
続いて,0未満と判定結果を接続します.これは,ケースストラクチャの内外を横切ります.このとき,ワイヤーとケースストラクチャの交差する点に自動的に四角形のマーク(トンネル)が表示されます.
次に,ケースストラクチャのセレクタラベルをFalseにします.
ケースストラクチャ内のノードが消えました.
再び,関数パレットのSturingからString Controlを選択し,ストラクチャ内部に配置します.入力値は「0未満」とし,トンネル部分と配線します.
プログラムは以上です.
それでは,フロントパネルの入力を任意の値にして実行してみます.
入力を3にして実行すると,0以上と表示されました.
今度は-1を入力して実行すると,0未満と表示されました.
おまけ
今回はセレクタレベルがブール型(True or False)でしたが,数値型に設定することもできるようです.
先ほどのプログラムの比較器を外すと,セレクタレベルがデータ型にあわせて自動的に0と1に変化しました.
また,ケースストラクチャの枠線上で右クリックすると,Caseの追加が可能です.