【LabVIEWまずこれ①】LabVIEWを知ろう | マーブルルール

【LabVIEWまずこれ①】LabVIEWを知ろう

LabVIEWまずこれ

スポンサーリンク

LabVIEWを触ったことがない方に向けて、それなりのプログラムが書けるようになるところまで基本的な事柄を解説していこうという試みです。

シリーズ1回目としてまずはこのシリーズ全体のイントロです。

この記事は、以下のような方に向けて書いています。

  • LabVIEWの特徴を知りたい!
  • LabVIEWをとりあえず触ってみたいけれどサンプルはあるの?
  • フロントパネルとブロックダイアグラム、プログラムファイル(vi)ってなに?

もし上記のことに興味があるよ、という方には参考にして頂けるかもしれません。

スポンサーリンク

イントロダクション

LabVIEWと聞いてすでにピンとくる方はおそらく学生の時に使っていた方や仕事でバリバリ使っている方、あるいはこれから使おうとされている方がほとんどだと思います。

一方で知らない人にとっては「何をするためのものなの?」ってイメージすらつかないと思います。(私も最初はそうでした)

LabVIEWはプログラミング言語です。LabVIEWというソフトウェア自体はプログラムを書くための開発環境ですが、もうLabVIEW=プログラミング言語といって差し支えないと思います。

プログラミングと聞いて嫌悪感を抱く方、結構いるのではないでしょうか?私も、学生時代には少しPythonをかじったりしてたんですが、プログラミングはとんと苦手でした。

それでも最低限必要なことは覚えなくてはと渋々ながら続けていくうち、少しずつできることが増えていくとちょっとは楽しいかなと思えるようになりました。

で、会社に入って周りがLabVIEWなるプログラミング言語を扱っていることがわかり、仕事だから勉強するしかないと思ってやっていたところ、個人的にはかなり扱いやすいことがわかりました。いわゆるプログラミングをしている感覚ではなくても、プログラムが書けるためです。

それでも、当時LabVIEWを習うには先輩に教えてもらうか、古~い書籍を見て何とか答えを見つけるという日々を送り、苦労した記憶があります。苦労したからこそ今はそんなに苦でもなくLabVIEWを扱えていると思ってます。

このシリーズでは、初心者の方向けにLabVIEWのいろいろな事柄をなるべくわかりやすくまとめようかと思ってます。最近のバージョンのLabVIEWについて書かれた書籍もあまりないようですし、テキスト系のプログラミング言語と比べるととっつきやすいとはいえ、何も知らない状態からではやはり苦労もあると思います。

自分自身で経験した苦労をわざわざ他の人も味わう必要はないと思っています。このブログを通して少しでもLabVIEWに慣れることができたと思える方が多くなればうれしいなと思っています。

LabVIEWの特徴を知ろう

LabVIEWにはいくつか特徴があると思っています。

  • テキスト言語とは全然異なるプログラミング感覚
  • ハードウェアとの接続が比較的楽
  • 他の言語との統合もできる

例えば、LabVIEWのプログラムを見たことない、知らないよという方のためにざっくり、こんなものだよって画像を紹介しますね。

多分、多くの方が想像されるような「プログラミング」っていうイメージとかなり異なった見た目をしていると思います。

LabVIEWはグラフィカル言語と呼ばれているのですが、まさに絵を書く用にプログラムを書いていきます。もっと言うと、プログラムのフローチャートをそのままプログラム本体に落とし込めるというイメージです。

LabVIEWは計測や制御を行うためのソフトウェアを開発するための言語として誕生しているので、ハードウェアとの接続が楽なんです。LabVIEWを開発しているのはNational Instruments社でここもハードウェアを提供しているのですが、サードパーティー製のハードウェアの操作もできてしまいます。

また、LabVIEWは作り方こそ違えどプログラミング言語としては他のCとかPythonとかそういったものと同類であり、完全に独立しているわけではありません。他言語のプログラムをLabVIEWの中で取り込み、呼び出すこともできてしまいます。

もう少し詳しくLabVIEWについて解説してみた記事もあるのでそちらもご覧ください。

LabVIEWを入手する

LabVIEWは基本有償のソフトウェアです。National Instruments社でライセンスを購入し、ソフトウェアをアクティブ化することで使用します。

本来LabVIEWは基本的に3つのエディションがありました。どれも購入が必要でできることが違う、3種のグレードがあったんですね。しかし2020年にCommunity Editionという無料で使えるエディションがでました。

以下のNational Instruments(NI)社のホームページにいくとダウンロードできます。

https://www.ni.com/ja-jp/support/downloads/software-products/download.labview-community.html#370001

と言いつつ、ページをよく見ると、

このエディションは、非営利目的および非学術目的でのみ使用できます。

https://www.ni.com/ja-jp/support/downloads/software-products/download.labview-community.html#370001

とあるので、もしそのような目的で使用される場合にはよくよく注意してください(学生の方は多分研究室とかで購入されたりするのかなと思います。あくまで個人的な趣味や経験の範囲で触る分にはこの無償版で十分かなと。)

なお、Community EditionのライセンスについてのQ&Aはこちらに資料がありました。

https://www.ni.com/ja-jp/support/documentation/supplemental/20/labview-community-edition-usage-details.html

ちなみに私は普段会社で使っているLabVIEWのライセンスがあるのでこのCommunity Editionではないです(1台の家庭用コンピュータに入れられるとのことでこれを利用しています)。ライセンスとしては仕事で使うんだ、とか学術的目的の場合にはCommunity Editionではなくちゃんと購入したものを使用してくださいね。

2023年7月27日追記

なお、これ以降LabVIEWの紹介をする際には、Community Editionではない画面で紹介します。

機能的な違いはないもののCommunity Editionとしては2023年7月現在、英語しかありません。

もしこのブログを機にLabVIEWを始める方がCommunity Editionを使用される場合用に、Community Edition対応版の記事も作っています。

こちらについては、この「まずこれ」のシリーズよりも内容を凝縮して、とりあえず触ってみたいという方向けに、特定のプログラムを書くことを目標に必要な要素だけに絞って紹介するように書きました。(Community Editionから入る方はとにかくプログラムというものを作ってみたい!という思いが強い方もいると思いますし)

内容的にはこの記事から始まる「まずこれ」の方がより多くのトピックを扱っています。

現在のニーズに合わせてどちらのシリーズを読もうか決めてもらえればと思います。

追記終わり

LabVIEWのサンプルを見よう

まず、LabVIEWを知らない方にとっては、「LabVIEWではどんなことができるの?」って感じだと思います。

LabVIEWでどのようなことができるかを様々なジャンルについて具体例を交えながら紹介した記事を作りました。

実際にLabVIEWを触ってみる前に、どのような活用例があるかのイメージを膨らませるのに少しは参考になると思います。

そんな方にはぜひ、プログラムのサンプルを確認してもらえればと思います。実際のプログラムの例を見れば、こんなことができるんだ、というイメージがつきやすいと思います。

LabVIEWには何ができるかを知るために参考になるサンプルが豊富にあります。サンプルを見て、どういったことができるのか確認するという作業は、これから本格的にLabVIEWを触る場合にも絶対やるので、最初のうちに慣れておいた方がいいと思います。

スタートの画面から「ヘルプ」をクリックして、「サンプルを検索」を選びます。

これで、NIサンプルファインダ、というウィンドウが開くはずです。このサンプルファインダに様々なサンプルプログラムが入っています。

上に書いたように、LabVIEWは計測、テスト、制御を行うためのプログラムを作るのに特化した言語です。そのためかサンプルの中にはハードウェアを使って何か測定したりするためのサンプルも多く入っています。

まずはこのサンプルファインダの中のいろいろなサンプルを見てイメージを膨らませると、いっそうLabVIEWに興味を持てるようになるかなと思います。

ちなみに、画面でお見せしているサンプルファインダに表示されている項目の種類は、実際に手元で触っているPCでLabVIEWからサンプルファインダを見たときと異なっているかもしれません。

これは、LabVIEWとともに使用するいわゆるアドオンのソフトウェアだったり、使用するハードウェア用のドライバソフトウェアのインストール状況によって変わるためです。

例えば、NI社のDAQというハードウェアを使用するにはDAQmxというドライバソフトウェアが必要ですが、これをインストールするとそれ専用のLabVIEWサンプルもインストールされるようになります。

何か適当なサンプルを選んだら、実行ボタンを押してプログラムを実行します。例えば「ユーザインタフェースの作成」のフォルダの中の「一般」フォルダにある「サブパネル上の複数のVI」のサンプルが面白いと思うので、これを例にとりますね。

実行するためには実行ボタンを押せばよくて、下の赤枠で囲った部分の右向き白矢印がそうです。あるいはショートカットキーでCtrl + Rでも実行できます。

このサンプルは実行すると、「表示するVI」という部分に書かれた動作、例えば正弦波グラフや乱数、時刻を「サブパネル」に切り替えて表示させるという動きをしていることがわかるかと思います。

プログラムを止める場合には停止と書かれたボタンを押します。実行の時に押したボタンが、実行中は白矢印ではなく黒くなると思いますが、その状態から白矢印に戻ったら、プログラムが止まったと確認できます。

このサンプル以外でも実行の仕方、止め方は基本的に同じです(サンプルによっては停止ボタンがなく、自動的に止まるものもあります)。

何度も言いますが、どれだけLabVIEWに慣れても頻繁にサンプルを探す機会はあります。

自分はこの関数の使い方知っているからいいや、とサンプルを見ない方は実は損するかもしれないです。例えば、サンプルがある程度自分がやりたいことが途中までできている、とか、一部を変えたら自分がやりたいことだ、って場合もあります。

その場合にはサンプルを編集して自分の用途に合わせたプログラムを作れば、最初から作るより断然効率がいいです。そもそも動作することが分かっているので実装の仕方さえ間違わなければ余計なバグも出にくくなります。

ただしここで注意しなければいけないのは、サンプルプログラムをそのままいじってしまって保存してしまうと、次にそのサンプルを開いたときには編集した後の状態で開いてしまう、ってことです。

なのでサンプルを編集する場合には、別名で保存(メニューバーの「ファイル」からできます)するか、欲しい部分のコードのみをコピーして自分のプログラムに流用することを強くオススメします(個人的にはサンプルをそのまま編集して何度も泣いてきました)。

LabVIEWプログラムの構造

ところでコード、と書きましたが、サンプルを開いて表示される画面のどこにそのコードがあるのか不思議に思われるかもしれません。

表示される画面にはユーザーが入力したり、結果を確認するための枠などしかないので、いわゆるプログラムのアルゴリズム部分が見当たらないと思います。

実際にはLabVIEWにはちゃんとアルゴリズムを記述するコードをそれぞれのプログラムで持っていて、ブロックダイアグラムと呼んでいます。

その画面は「ウインドウ」のメニューから「ブロックダイアグラムを表示」で表示させることができます。ただし、LabVIEWでプログラムを書く人はおそらくCtrl + Eのショートカットでブロックダイアグラムを出す人がほとんどだと思います。

白の背景をキャンパスとして何か絵が描かれているような状態でコードが記述されているのを確認できると思います。

一方で、サンプルを開いて一番最初に開いたウインドウはフロントパネルと呼ばれています。これはいわゆるユーザーインタフェースになるもので、ユーザーがプログラムを動かしている際に何か値を与えたり結果を見る際にはこのフロントパネルを表示させます。

LabVIEWではフロントパネルとブロックダイアグラムがペアになって一つのプログラムファイルとなっています。プログラムを書く際には、これらを一緒に管理しプログラムの中身を構築していきます。

ファイル名を見ると拡張子が「.vi」と書いてあると思いますが、これはvirtual instrument、仮想計測器の略になっています。アルゴリズムが記述されたブロックダイアグラムがさながら回路図になっていて、一方でフロントパネルはユーザーインタフェースになっていて、これら二つで仮想的に用意した計測器のようだからこういう名前になっているようです。

各サンプルでCtrl + Eを押してそれぞれのブロックダイアグラムを確認してみます。初心者の方はこの時点では全く訳が分からないと思いますが、こんな動作をするプログラムはこんな規模のコードで動いているんだ、こういう書かれ方をしているんだという感覚だけでもつかめるのが大切だと思います。

これからLabVIEWを学んでいろいろなことが一つずつできる、わかるようになったら、たまにサンプルを除いてみて自分がどこまで理解できるようになったかを確認するのもいいかもしれません。

LabVIEWに限りませんがプログラミングはやはり自分で手を動かしてみないとなかなか身に着かないと思います。残念ながらブログの形式では双方向で機能をお伝えすることができないのですが、ぜひ自分で触ったりサンプルを動かして少しでも慣れていってもらえればと思います。

次回からLabVIEWの中身に入っていきます。もしよろしければ次の記事も見ていってもらえると嬉しいです。

ここまで読んでいただきありがとうございました。

コメント

タイトルとURLをコピーしました