仕事でLabVIEWを使うことになった。用途は、顕微鏡用のカメラやレーザー等のコントロール。数年ぶりに使うプログラミング言語だ。私は、どうもあの回路図ベースのプログラミング言語になじめなくて、これを使うときはいつも苛々してしまう。職場仲間の間では、LabVIEW以外のプログラミング言語が扱えない人が大多数なので、みなが触る共通の機器用にはこれを使うしかない。簡単なプログラムならまだしも、少し複雑な物を書こうとすると、プログラミングにはほとんどの操作をマウスで行なわなければならないし、私の能力では可視性の悪いプログラミングしかできないしで、なんとかならないかと思っている。GUI周りはLabVIEWで書いて、複雑な操作の部分はテキストスタイルの普通のプログラミング言語が使えないかと、色々調べてみた。一般的な方法は、DLLを作成して、それをLabVIEWから呼び出すやり方のようだ。DLLは、CでもVBでも.NETでも、何でも良いようである。Node)という埋め込み機能もあるらしい。Studio等)を立ち上げて、そちらでプログラミングしておき、これをLabVIEWに取り込む方式である。これだと、2つのプログラミングソフトウェアを同時に扱わなければならず、かなり煩雑な操作になる。テキストスタイルのプログラミングそのものも、LabVIEW上で出来れば、色々と便利そうだ。調べてみると、どうやらJScriptとVBScriptなら、LabVIEWに取り込んで実行できるらしいということが分かった。作成したテストプログラムは、以下の通り。次に、ダイアグラム(クリックで、拡大)。JScriptを使うための操作は、以下の通り。containerを作成。Node"を挿入し、IScriptControlを選択。PropertyにLanguageを指定して、文字列"Jscript"のシグナルを入力しておく。Node"を挿入し、IScriptControlを選択。PropertyにAddCodeを選択。Node"を挿入し、IScriptControlを選択。PropertyにEvalを選択。実行したい命令の文字列を作成して、入力。Evalの実行結果は、右側から出力される。Variant値なので、Dataに変換して使用する必要がある。Nodeにバグがあるらしく、propertyにRunを選択すると、実行時にLabVIEWが落ちる。2010では見られないので、最新版のLabVIEWならEvalだけでなくRunも使える。parameterはなぜだか、一つしか取れない。引数を複数与えたい場合は、文字列をconcatenateして与える必要があるようだ。miniを用いたDLLの呼び出しの確認コードも挿入されている。miniを使わない場合は、該当部分(MessageBox云々の所)を削除もしくはコメントアウトして、実行して頂きたい。