national instruments corporation 1 introduction to...
TRANSCRIPT
© National Instruments Corporation 1 Introduction to LabVIEW Hands-On
このコースの概要は以下のとおりです。
コースに含まれる内容:
• LabVIEWを使用してアプリケーションを作成する
• フロントパネル、ブロックダイアグラム、アイコン、コネクタペーンについて理解する
• LabVIEW標準関数を使用する
• LabVIEWでプログラムを作成/保存し、サブルーチンとして使用する
• プラグイン DAQ デバイスを使用するアプリケーションを作成する
コースに含まれない内容:
• プログラミング理論
• 個々の LabVIEW標準関数またはオブジェクト
• A/D理論
NI では、上記のトピックに関する資料を弊社Webサイト(ni.com)で無料にて提供しています。また、LabVIEW→ヘルプ→LabVIEW ヘルプを検索… で、LabVIEW
ヘルプもご利用いただけます。
Introduction to LabVIEW Hands-On 2 ni.com
Virtual Instrumentation
ナショナルインスツルメンツは、25年以上にわたり、業界や政府機関、教育機関における計測/オートメーションに変革をもたらしてきました。PC や商用技術を活用したVirtual Instrumentationを利用すると、NI LabVIEW などの統合性の高いソフトウェアやPXI、PCI、USB、イーサネット対応のモジュール式計測/制御ハードウェアにより、テスト、制御、設計アプリケーションのコストを削減しつつ生産性を高めることができます。
Virtual Instrumentationでは、グラフィカルプログラミングソフトウェアを使って特定のニーズに合ったユーザ定義のソリューションを作成します。これは、専用の機能固定型計測器に代わる大変便利な技術です。また、Virtual Instrumentationは年々性能が向上を続けるパーソナルコンピュータを活用しています。例えば、テスト、計測、制御システムでは、Virtual Instrumentationを利用して自動テスト装置(ATE)を小型化しつつ、従来型計測器のソリューションの数分の1のコストで生産性を10倍にも向上させてきました。昨年は、90ヶ国の25,000に及ぶ企業が、600万以上の弊社Virtual Instrumentationチャンネルに投資しています。
© National Instruments Corporation 3 Introduction to LabVIEW Hands-On
ナショナルインスツルメンツの LabVIEW は、テスト、計測、制御システム設計用の業界屈指のソフトウェアツールです。1986年の登場以来、世界中の科学者や技術者が製品設計の全段階にわたってLabVIEW グラフィカル開発環境を利用し、品質の向上や、短期間での市場投入、設計や製造における効率化を実現してきました。統合されたLabVIEW環境で実環境信号と通信し、データを意味のある情報に解析して、結果を共有することで、組織全体における生産性を高めることができます。テスト、計測、制御専用に設計された標準ツールにプログラミング言語の柔軟性を組み合わせたLabVIEWを使えば、簡単な温度監視から高度なシミュレーション/制御システムまで、あらゆるアプリケーションを作成することが可能です。どのようなプロジェクトでも、LabVIEWには必要なツールが備わっています。
Introduction to LabVIEW Hands-On 4 ni.com
Virtual Instrumentation アプリケーション
Virtual instrumentationは、設計からプロトタイプ作成、実装まで、あらゆるタイプのアプリケーションに適しています。 LabVIEW プラットフォームは、信号処理アルゴリズムの設計から電圧計測まで、広範なアプリケーションに特化したツールやモデルを搭載し、直観的なグラフィカルパラダイムにより、デスクトップから組込デバイスまでいくつのプラットフォームでもターゲットとして実装することができます。
LabVIEWのバージョン8は、PC上での設計/開発から、トースター程度のサイズの堅牢なプロトタイプやチップ上の組込システムなど複数の組込ターゲットに拡張可能です。LabVIEWを使用すると、1つのグラフィカル開発プラットフォームでシステム設計を効率化することができます。LabVIEWのターゲットが多様化するにつれ、システム内の様々なLabVIEWコード部分の間で簡単に分散/通信できることが必要となるため、そのようにすることで、分散型やネットワーク型システムをより良く管理することが可能となります。
© National Instruments Corporation 5 Introduction to LabVIEW Hands-On
統合型ハードウェアプラットフォーム
仮想計測器は、高機能なアプリケーションが搭載された業界標準のコンピュータ、またはワークステーション、プラグインボードなどのコスト効率の高いハードウェア、およびドライバソフトウェアから構成され、これらの組み合わせにより、従来型計測器の役割を果たします。
仮想計測器は、従来のハードウェア中心の計測システムから、一般的なデスクトップコンピュータやワークステーションの演算能力や生産性、表示機能、接続機能を活用したソフトウェア中心のシステムへの移行を象徴するものです。
PCや集積回路技術はこの20年間に急速な発展を遂げてきましたが、そのような高機能なハードウェアに仮想計測器の柔軟性をもたらし、コストを大幅に削減しつつ画期的な技術を実現したのは、ソフトウェアです。仮想計測器を利用することにより、従来の機能固定型計測器(ベンダ定義)に制約を受けることなく、それぞれのニーズに適した計測・オートメーションシステム(ユーザ定義)を構築することが可能となります。
Introduction to LabVIEW Hands-On 6 ni.com
© National Instruments Corporation 7 Introduction to LabVIEW Hands-On
このLabVIEWコースは、ナショナルインスツルメンツのハードウェアを使用している方と使用してない方の両方を対象としています。
各練習問題はA、B、Cの3つのトラックに分かれています。
トラックAでは、ナショナルインスツルメンツのDAQmxドライバに対応するハードウェアを使用します。そのようなハードウェアには、アナログ入力を備えたほとんどのUSB、PCI、PXI データ集録デバイスが含まれます。DAQデバイスとともにマイクロフォンを使用するには、信号調節と励起も必要になります(マイクロフォンなどのセンサには外部電源(励起)が必要です)。
トラックB は、ハードウェアを使用せずに行います。ハードウェアは、NI-DAQmx
ドライバの7.5以降のバージョンを使ってシミュレーションします。NI-DAQmxデバイスのシミュレーションは、ハードウェアなしで関数やプログラムを実行する目的で、MAX
の「新規作成」メニューにある「NI-DAQmxシミュレーションデバイス」オプションで作成したデバイスのレプリカとなります。NI-DAQmxのシミュレーションデバイスは、実際のデバイスと同様に動作しますので、ドライバがロードされ、そのデバイスを使用するプログラムは完全に検証済みです。
トラックC では、標準のサウンドカードとマイクロフォンを使用します。 LabVIEWには、多くのPCに組込まれているサウンドカードを使用したアナログ入力やアナログ出力用のシンプルなVIが搭載されています(通常サウンドカードとマイクロフォンが標準装備されているラップトップには非常に便利です)。
Introduction to LabVIEW Hands-On 8 ni.com
トラックA –マイクロフォンを使ったデータ集録:USB-6009とマイクロフォン&LED
お勧めのハードウェア:
以下の回路図は、広く利用されている回路図キャプチャ/シミュレーションツール、Multisimを使って作成されたものです。 詳しくは、http://www.electronicsworkbench.com をご覧ください。
各トラック用にハードウェアをセットアップする
数量 製品番号 説明 サプライヤ
1 779321-22 低コストUSB DAQ National Instruments
1 270-092 エレクトレットマイクロフォン RadioShack
1 100 Ohm レジスタ RadioShack
1 220 Ohm レジスタ RadioShack
1 276-307 発光ダイオード(LED) RadioShack
トラックB – NIデータ集録のシミュレーション:NI-DAQソフトウェアバージョン8.0以降
トラックC –サードパーティサウンドカード:サウンドカードおよびマイクロフォンお勧めのハードウェア:
* 多くのラップトップコンピュータにはマイクロフォンが標準装備されています(プラグインマイクロフォン不要)。
数量 製品番号 説明 サプライヤ
1 標準プラグインPCマイクロフォン* RadioShack
© National Instruments Corporation 9 Introduction to LabVIEW Hands-On
どのようなデバイスを使用したらよいでしょうか?市場には、様々なタイプのデータ集録/制御デバイスがあります。そのうちのいくつかを上記の表に掲載しています。一般に、サンプリングレート(サンプル数/秒)、分解能(ビット数)、チャンネル数、データ転送レート(通常USB、PCI、PXIなど、バスのタイプにより制限されます)の間での交換条件となります。マルチファンクションDAQ(データ集録)デバイスはあらゆるアプリケーションに使用できるため、特に推奨します。
USB-6008 & USB-6009低コストUSB DAQ
ナショナルインスツルメンツのUSB-6009は、シンプルなデータロギング、ポータブル計測、教育/研究目的の実験など、あらゆるアプリケーションに適した基本データ集録機能を備えています。 NI USB-6008と NI USB-6009は、特に学生に最適です。Windows対応のLabVIEWとNI-
DAQmxドライバソフトウェアを使ってNI USB-
6009をプログラミングすることで、独自の計測アプリケーションを作成できます。Mac OS XとLinuxのユーザは、NI-DAQmx Baseドライバをダウンロードしてご利用いただけます。
NI USB-6009の仕様• 14ビットアナログ入力8つ• デジタルI/Oライン12
• アナログ出力2つ• コネクタ1つ
http://www.ni.com/daq/
Introduction to LabVIEW Hands-On 10 ni.com
次にご紹介するソフトウェアは、Measurement & Automation Explorer(MAX)です。MAXは、ナショナルインスツルメンツのすべてのDAQ、GPIB、IMAQ、IVI、モーション、VISA、VXIデバイスにアクセスできるソフトウェアインタフェースです。MAXをインストールすると、デスクトップ上に上図のようなショートカットが作成されます。MAXは、主にナショナルインスツルメンツのハードウェアの構成とテストに使用されますが、インストールされているNI-DAQが最新バージョンかどうかをチェックするなど、他の機能も備わっています。 NI-DAQmxを使ってアプリケーションを実行する場合、ソフトウェアはMAX構成を読み取って、構成したデバイスを特定します。そのため、まずMAXを使ってDAQデバイスを構成する必要があります。
MAXの機能は下記の7つのカテゴリに分類されます。
• データ設定
• デバイスとインタフェース
• IVI計測器
• スケール
• 履歴データ
• ソフトウェア
• VIロガータスク
このコースでは、データ設定、デバイスとインタフェース、スケール、ソフトウェアについて重点的に説明します。それぞれのカテゴリについて、1つずつ機能を紹介していきます。
© National Instruments Corporation 11 Introduction to LabVIEW Hands-On
練習1 –デバイスをテストする(トラックA)
この練習では、Measurement & Automation Explorer(MAX)を使用してNI USB-
6009 DAQデバイスのテストを行います。
1. デスクトップ上のアイコンをダブルクリックするか、スタート→プログラム→National Instruments→Measurement & Automationを選択して、MAXを起動します。
2. デバイスとインタフェースの項目を拡張して、インストールされているナショナルインスツルメンツのデバイスを確認します。コンピュータ内のナショナルインスツルメンツハードウェア/ソフトウェアがMAXに表示されます。
3. NI-DAQmxデバイスの項目を展開して、NI-DAQmxと互換性のあるハードウェアを確認します。デバイス名の次に、引用符で囲まれたデバイス番号が表示されています。データ集録VIは、このデバイス番号を使って、どのデバイスがDAQ操作を実行するかを特定します。ここにはNI USB-6009: ―Dev1‖と表示されています。
4. 構成ツリーでデバイスを右クリックしてセルフテストを選択するか、ウィンドウの上にある「セルフテスト」をクリックして、デバイスのセルフテストを実行します。これにより、デバイスに割り当てられたシステムリソースをテストできます。デバイスは既に構成済みのため、テストは合格のはずです。
5. デバイスのピン配列をチェックします。構成ツリーでデバイスを右クリックしてデバイスのピン配列を選択するか、中央のウィンドウの上にある「デバイスのピン配列」をクリックします。
6. テストパネルを開きます。構成ツリーでデバイスを右クリックしてテストパネル…を選択するか、中央のウィンドウの上にある「テストパネル…」をクリックします。テストパネルを使用すると、プログラミングを行わずに、アナログ入出力、デジタル入出力、カウンタ入出力など、デバイスの利用可能な機能をテストすることができます。
7. テストパネルのアナログ入力タブで、モードを「連続」に、レートを10,000 Hzに変更します。「開始」をクリックしてマイクロフォンに向かって声を出し、信号がプロットされるのを確認します。終わったら「終了」をクリックします。
8. デジタル I/Oタブで、当初はポートがすべて入力として構成されていることにご注意ください。Select Stateの下の入力ラインの状態を表すLEDを確認します。Select Directionの下の「すべて出力」ボタンをクリックします。Select Stateの下に、別のラインの出力状態を指定するスイッチが表示されている点に注目してください。ライン0を切り替えて、LEDが点灯することを確認します。「閉じる」をクリックしてテストパネルを閉じます。
9. MAXを閉じます。
Introduction to LabVIEW Hands-On 12 ni.com
(練習はこれで終わりです。)
© National Instruments Corporation 13 Introduction to LabVIEW Hands-On
練習 1 –デバイスをセットアップする(トラックB)
この練習では、Measurement and Automation Explorer(MAX)を使用して、シミュレーションのDAQデバイスを構成します。
1. デスクトップ上のアイコンをダブルクリックするか、スタート→プログラム→National Instruments→Measurement & Automationを選択して、MAXを起動します。
2. デバイスとインタフェースセクションを展開して、インストールされているナショナルインスツルメンツのデバイスを確認します。 MAXには、コンピュータに内のナショナルインスツルメンツのソフトウェアとハードウェアが表示されます。 デバイス名の後に引用符で囲まれたデバイス番号が表示されますが、データ集録VI
ではこのデバイス番号を使用して、DAQ操作を実行するデバイスを特定します。
3. このコースで後ほど使用するシミュレーションのDAQデバイスを作成します。シミュレーションデバイスがあれば、コンピュータにハードウェアを物理的にインストールしなくても開発が可能です。デバイスとインタフェースを右クリックして、新規作成…→NI-DAQmx Simulated Deviceを選択します。「終了」をクリックします。
4. Mシリーズデバイスのセクションを展開します。PCI-6220または任意のPCI
デバイスを選択します。「OK」をクリックします。
5. NI-DAQmxデバイスフォルダが開き、そこにPCI-6220: ―Dev1‖という項目が表示されています。これでシミュレーションデバイスが完成しました。
6. 構成ツリーでデバイスを右クリックしてセルフテストを選択するか、ウィンドウ上部の「セルフテスト」をクリックして、デバイスのセルフテストを実行します。このセルフテストでは、デバイスに割り当てられたシステムリソースをテストします。デバイスは構成済みですので、テストには合格するはずです。
7. デバイスのピン配列を確認します。構成ツリーでデバイスを右クリックしてデバイスのピン配列を選択するか、中央のウィンドウの上部にある「デバイスのピン配列」をクリックします。
8. テストパネルを開きます。構成ツリーで右クリックしてテストパネル…を選択するか、中央のウィンドウの上部にある「テストパネル…」をクリックします。テストパネルを使用すると、プログラミングを行わずに、デバイスに搭載されている機能や、アナログ入出力、デジタル入出力、カウンタ入出力などをテストすることができます。
9. テストパネルの アナログ入力タブで、モードを「連続」に変更します。 「開始」をクリックしてプロットされる信号を確認します。終わったら「停止」をクリックします。
Introduction to LabVIEW Hands-On 14 ni.com
10. デジタルI/Oタブで、ポートが全て入力に構成されていることに注意してください。状態を選択の下のLEDが入力ラインの状態を表示するのを確認します。方向を選択で「すべて出力」をクリックします。状態を選択の下に、別のラインの出力状態を指定するスイッチが表示されていることがわかります。「閉じる」をクリックしてテストパネルを閉じます。
11. MAXを終了します。
(練習はこれで終わりです。)
© National Instruments Corporation 15 Introduction to LabVIEW Hands-On
練習 1 –デバイスをセットアップする(トラックC)
この練習では、Windowsユーティリティを使用してサウンドカードを検証し、マイクロフォンに使用できる状態にします。
1. 使用するマイクロフォンを準備します。タスクバー上のボリュームコントロールアイコンをダブルクリックして、構成ウィンドウを開きます。 サウンド構成ウィンドウは、Windowsのコントロールパネルから開きます(スタート→コントロールパネル→
サウンドとオーディオデバイス→詳細設定)。
2. マイクロフォンのセクションがない場合は、 オプション→プロパティ→録音を選択してマイクロフォンの隣のボックスにチェックマークを付けます。これでマイクロフォンのボリュームコントロールが表示されます。「OK」をクリックします。
3. ミュートボックスにチェックマークが付いている場合は、クリックして外します。ボリュームが上がっていることを確認します。
1. ボリュームコントロールの構成ウィンドウを閉じます。
2. スタート→プログラム→アクセサリ→エンターテイメント→サウンドレコーダーを選択して、サウンドレコーダーを開きます。
3. 録音ボタンをクリックして、マイクロフォンに向かって話します。サウンドレコーダーにサウンド信号が表示されるのを確認します。
4. 終わったら、停止ボタンをクリックして変更を保存せずにサウンドレコーダーを閉じます。
「ミュート」のチェックを外す
(練習はこれで終わりです。)
Introduction to LabVIEW Hands-On 16 ni.com
LabVIEW
LabVIEWは、テキスト行の代わりにアイコンを使ってアプリケーションを作成するグラフィカルプログラミング言語です。命令によりプログラムの実行を指定するテキストベースの言語と異なり、LabVIEWではデータのフローによって実行順を指定するデータフロープログラミングを採用しています。
専門的なアプリケーションの開発には、別売のアドオンソフトウェアツールキットを数種類ご用意しています。いずれのツールキットもLabVIEWとシームレスに統合するよう設計されています。ツールキットに関する詳細は、ナショナルインスツルメンツのWebサイトでご覧いただけます。
またLabVIEWには、DAQデバイスやコンピュータベースの計測器を短時間で構成したり、アプリケーションをすばやく構築したりできるウィザードが各種含まれています。
LabVIEWサンプルファインダ
LabVIEWには、多数のサンプルVIが含まれており、作成したVIに組込むこともできます。LabVIEWに標準装備されているサンプルVI以外にも、弊社WebサイトのNI
Developer Zone(zone.ni.com)にある多数のサンプルVIをご利用いただけます。サンプルVIは、アプリケーションに合わせて変更を加えたり、サンプルを作成したVIにコピー&ペーストしたりすることができます。
© National Instruments Corporation 17 Introduction to LabVIEW Hands-On
LabVIEWプログラムは、Virtual Instrumentation(VI)と呼ばれています。
制御器が入力、表示器が出力の役目を果たします。
各VIは、3つの主要なコンポーネントからなっています。
• フロントパネル –ユーザがVIと対話する部分
• ブロックダイアグラム – プログラムを制御するコード
• アイコン/コネクタ – VIとVIを接続するための手段
LabVIEWでは、ツールやオブジェクトを使ってユーザインタフェースを作成します。そのユーザインタフェースは、フロントパネルと呼ばれます。次に関数をグラフィカルに表現したコードを追加し、フロントパネルオブジェクトを制御します。そのコードは、ブロックダイアグラムに含まれます。ブロックダイアグラムは、いくつかの点でフローチャートに似ています。
プログラムの実行中、ユーザはフロントパネルとやり取りを行います。ユーザはプログラムの制御や、入力値の変更、リアルタイムでアップデートされるデータの確認が可能です。制御器を使用して、スライド制御器を操作してアラーム値を制御したり、スイッチのオン/オフを切り替えたり、プログラムを停止したりすることができます。表示器は出力として使用します。温度計やランプなどの表示器は、プログラムから出力された値を表示します。そのような値には、データ、プログラムの状態、その他の情報が含まれます。
フロントパネルのすべての制御器や表示器に、対応するブロックダイアグラム端子があります。VIが実行すると、制御器からの値がブロックダイアグラム中を流れ、ダイアグラム内の関数で使用されて、結果がワイヤを通って他の関数または表示器に渡されます。
Introduction to LabVIEW Hands-On 18 ni.com
フロントパネルに制御器や表示器を配置するには、制御器パレットを使用します。 制御器パレットは、フロントパネルのみにあります。パレットを表示するには、ウィンドウ→制御器パレットを表示(表示→制御器パレット?)を選択しま
す。また、フロントパネルの空いたスペースを右クリックして、制御器パレットを表示させることもできます。パレットの左上にあるピンをクリックすると、制御器パレットを固定することができます。
© National Instruments Corporation 19 Introduction to LabVIEW Hands-On
ブロックダイアグラムを作成するには、関数パレットを使用します。関数パレットは、ブロックダイアグラムのみにあります。パレットを表示するには、ウィンドウ→関数パレットを表示(表示→関数パレット)を選択します。また、ブロックダイアグラムの空いたスペースを右クリックして、関数パレットを表示させることもできます。パレットの左上にあるピンをクリックすると、関数パレットを固定することができます。
Introduction to LabVIEW Hands-On 20 ni.com
自動ツール選択機能がオンになっているときに、フロントパネルまたはブロックダイアグラムのオブジェクト上にカーソルを置くと 、対応するツールがツールパレットから自動的に選択されます。自動ツール選択のオン/オフを切り替えるには、ツールパレットの自動ツール選択ボタンをクリックします。
操作ツールは、制御器の値の変更や、制御器内のテキストの選択に使用します。
位置決めツールは、オブジェクトの選択、移動、サイズ変更に使用します。位置決めツールをサイズの変更可能なオブジェクトの隅に置くと形状が変化します。
ラベリングツールは、テキストの編集やフリーラベルの作成に使用します。ラベリングツールはフリーラベルを作成するとカーソルに変わります。
配線ツールは、ブロックダイアグラムでオブジェクト同士を配線するのに使用します。
その他にも、以下のようなツールがあります。
© National Instruments Corporation 21 Introduction to LabVIEW Hands-On
• 実行ボタンをクリックして、VIを実行します。VIの実行中は、VIが最上位VIの場合、実行ボタンは黒の矢印で表示されます。これは、サブVIではなく発呼者がないことを示します。
• 連続実行ボタンをクリックすると、ユーザが実行を中断または一時停止するまでVIの実行が継続されます。連続実行を解除するには、同じボタンをもう一度クリックします。
• VIの実行中は、実行を中断ボタンが表示されます。このボタンをクリックすると、VIは直ちに停止します。
メモ: VIを停止するのに、実行を中断ボタンを使用しないでください。VIがデータフローを完了するまで待つか、VIを停止する方法をプログラムに組込むようにします。例えば、VIを停止するためのボタンをフロントパネル上に設置します。そのようにすることで、VIは既知状態になります。
• 実行しているVIを一時停止するには、一時停止ボタンを使用します。一時停止ボタンをクリックすると、実行が停止された部分がブロックダイアグラム上でハイライトされます。 VIの実行を継続するには、一時停止ボタンを再度クリックします。
• 文字のサイズやスタイル、カラーなど、VIのフォント設定を変更するには、テキスト設定プルダウンメニューを使用します。
• オブジェクトを調整プルダウンメニューを選択すると、垂直、上端、左など、軸に沿ってオブジェクトを整列できます。
• オブジェクトを均等に整列プルダウンメニューを選択すると、ギャップや圧縮など、オブジェクトを均等に整列できます。
• オブジェクトのサイズ変更プルダウンメニューを選択すると、フロントパネルオブジェクトの幅や高さを変更することができます。
Introduction to LabVIEW Hands-On 22 ni.com
• 並べ替えプルダウンメニューは、オブジェクトが互いに重なり合っていて、重なりの順序を指定する場合に使用します。位置決めツールでオブジェクトの1つを選択し、前方に移動、後方に移動、前に移動、後に移動のいずれかを選択します。
メモ:以下の項目は、ブロックダイアグラムのツールバーのみに表示されます。
• 実行のハイライトボタンをクリックすると、ブロックダイアグラム内のデータの流れを見ることができます。ハイライトを終了するには、ボタンをもう一度クリックします。
• ワイヤ値を保持ボタンをクリックすると、実行フローの各ポイントにおけるワイヤ値を保存できるため、ワイヤにプローブを挿入したときに、そのワイヤを流れた最新のデータ値を直ちに表示することができます。
• 中に入るボタンをクリックすると、ループやサブVIなどの中へシングルステップすることができます。VIをシングルステップすることにより、VIのノード間のステップ処理が行われます。各ノードは、実行可能な状態になると点滅します。ノードのステップ処理を行うことによって、ノード内のシングルステップが可能となります。
• 飛び越えるボタンをクリックすると、ループやサブVIなどを飛び越えることができます。 ノードを飛び越えることにより、ノードをシングルステップせずにそのノードを実行することができます。
• 外に出るボタンをクリックすると、ループやサブVIなどから外に出ることができます。ノードから外に出ることにより、ノードのシングルステップを完了して次のノードへ進むことができます。
その他にも、以下のようなツールがあります。
Retain Wire
Values
© National Instruments Corporation 23 Introduction to LabVIEW Hands-On
フロントパネルでオブジェクトを作成すると、ブロックダイアグラム上に端子が作成されます。その端子を使用すると、ブロックダイアグラムのコードからフロントパネルオブジェクトにアクセスすることが可能となります。
各端子には、対応するフロントパネルオブジェクトに関する有用な情報が含まれています。例えば、色や記号はデータタイプについての情報を示します 。例えば、ダイナミックデータタイプは、ダークブルーの端子で表される多態性データタイプです。ブール端子は緑色で、TFの文字が表示されています。
一般に、青の端子は青の端子に、緑は緑に、というように配線することになっていますが、これは厳密な規則ではありません。LabVIEWでは、例えば青の端子(ダイナミックデータ)をオレンジ色の端子(分数値)に接続することができます。 しかしほとんどの場合は、色を一致させる必要があります。
制御器は、右側に矢印があり、太い枠で囲まれています。表示器は左側に矢印があって、細い枠で囲まれています。LabVIEWでの配線は、論理的な規則に則っています。各ワイヤのソース(制御器)は1つだけですが、データの行き先(表示器)は複数の場合もあります。
Introduction to LabVIEW Hands-On 24 ni.com
LabVIEWでは、データフローモデルに従ってVIを実行します。 ブロックダイアグラムノードは、全ての入力が供給されると実行します。ノードが実行を完了すると、出力端子にデータを供給し、出力データをデータフローパスの次のノードに渡します。Visual
Basic、C++、JAVAなど、ほとんどのテキストベースプログラミング言語では、制御フローモデルによってプログラムを実行します。制御フローの場合、プログラム要素の順序によりプログラムの実行順序が決まります。
上図のブロックダイアグラムについて考えてみましょう。これは、2を加算してその和に2を乗算するVIです。この場合、ブロックダイアグラムは左から右へ実行しますが、それはオブジェクトがその順序で並んでいるからではなく、和関数が実行を完了してデータを積関数に渡すまで、積関数の入力の1つが有効にならないためです。繰り返しますが、全入力端子にデータが揃わなければノードは実行できず、実行が終了しない限りはデータを出力端子に供給することはできません。下のコードでは、信号シミュレーションExpress VIが制御器から入力を受け取り、その結果をグラフに渡します。
和-積コードと信号シミュレーションコードを同一ブロックダイアグラム上に並列的に共存させることもできます。つまり、両方のコードが同時に開始して、それぞれ独立して実行します。このコードを実行しているコンピュータが複数のプロセッサを搭載している場合は、それらの2つのコードは追加のコードなしで互いに依存することなく実行することができます。
© National Instruments Corporation 25 Introduction to LabVIEW Hands-On
VIが実行不可能な場合は、パレットの実行ボタンに壊れた矢印が表示されます。
• エラーの検出: 壊れた矢印をクリックすると、エラーのリストが表示されます。エラーの原因となっているオブジェクトを突きとめるには、エラーメッセージをクリックします。
• 実行のハイライト: 動画表示によりデータのフローを追跡しますので、中間値を見ることができます。ツールバー上の電球をクリックします。
• プローブ : 配列やクラスタの値を確認できます。プローブを設定するには、プローブツールでワイヤをクリックするか、ワイヤを右クリックします。
• ワイヤ値の保持: プローブと併用して、プログラムの最新の反復における値を確認できます。
• ブレークポイント: ダイアグラム上のあらゆる場所で一時停止を設定します。ブレークポイントツールでワイヤまたはオブジェクトをクリックすると、ブレークポイントが設定されます。
Introduction to LabVIEW Hands-On 26 ni.com
練習 2 –DAQにより信号を集録する(トラックA)
メモ: この練習を始める前に、Exercisesフォルダと Solutionsフォルダをコンピュータのデスクトップにコピーしてください。
DAQデバイスからデータを連続的に集録するVIを作成するには、以下の手順に従ってください。
1. LabVIEWを起動します。
2. スタートアップ ウィンドウで、新規またはテンプレートからVIをクリックして、新規ダイアログボックスを表示します。
3. データ集録テンプレートを開きます。新規作成リストから、VI→テンプレート→DAQ→Data Acquisition with NI-DAQmx.viを選択して、「OK」をクリックします。
4. ブロックダイアグラムをクリックするか、ウィンドウ→ブロックダイアグラムを表示を選択して、ブロックダイアグラムを表示します。プログラムの実行については、表示される指示に従ってください。
5. DAQアシスタントをダブルクリックして、構成ウィザードを起動します。
6. アナログ入力操作を構成します。
a. アナログ入力→電圧を選択します。
b. Dev1 (USB-6009)→ai0を選択して、アナログ入力のチャンネル0でデータを集録し、「完了」をクリックします。
c. 次のウィンドウで、アナログ入力操作のパラメータを指定します。ご使用のマイクロフォンに適した入力範囲を選ぶには、設定タブで最大値に2ボルト、最小値に–2ボルトを入力します。タスクタイミングタブで、集録モードは「連続」を選択し、レートには10000と入力します。その他の値は全てデフォルトのままにしておきます。「OK]をクリックしてウィザードを終了します。
7. ブロックダイアグラムで、DAQアシスタントの右側にフィルタExpress VIを配置します。関数パレットから Express→信号解析→フィルタを選択し、ブロックダイアグラムのWhileループ内に配置します。関数パレットを開いたときに、パレットの左上隅にあるピンをクリックすると、パレットが固定され、表示されたままになります。この手順は以降の練習では省略しますが、毎回同じことを行ってください。フィルタタイプの下にある構成ウィンドウで、「ハイパス」を選択します。カットオフ周波数には、300 Hzという値を使用します。「OK」をクリックします。
© National Instruments Corporation 27 Introduction to LabVIEW Hands-On
8. ブロックダイアグラムで端子上にマウスを置き、配線ツールに変わったら接続する各端子を1回ずつクリックして、以下のように配線します。
a. DAQアシスタントVIの「データ」出力端子をフィルタVIの「信号」入力に接続します。
b. 「フィルタ処理信号」出力端子を右クリックして、作成→グラフ表示器を選択し、フィルタ処理信号のグラフ表示器を作成します。
9. ウィンドウ→フロントパネルを表示 を選択するか、<Ctrl+E>を押して、フロントパネルに戻ります。
10.実行ボタンをクリックしてプログラムを実行します。マイクロフォンに向かって声を出し、グラフに表示される電圧の変化を確認します。
11.終了したら停止をクリックします。
12.このVIを「Exercises 2 – Acquire.vi」という名前でExercisesフォルダに保存して閉じます。
メモ:この練習のソリューションは、本マニュアルの巻末に掲載されています。
ヒント: DAQアシスタントは、関数パレットからブロックダイアグラムに配置できます。ブロックダイアグラムを右クリックすると関数パレットが表示されますので、Express→入力を選択します。
(練習はこれで終わりです。)
Introduction to LabVIEW Hands-On 28 ni.com
練習2 –DAQにより信号を集録する(トラックB)
メモ: この練習を始める前に、Exercisesフォルダと Solutionsフォルダをコンピュータのデスクトップにコピーしてください。
シミュレーションDAQデバイスからデータを連続的に集録するVIを作成するには、以下の手順に従ってください。
1. LabVIEWを起動します。
2. スタートアップ ウィンドウで、新規またはテンプレートからVIをクリックして、新規ダイアログボックスを表示します。
3. データ集録テンプレートを開きます。新規作成リストから、VI→テンプレート→DAQ→Data Acquisition with NI-DAQmx.viを選択して、「OK」をクリックします。
4. ブロックダイアグラムをクリックするか、ウィンドウ→ブロックダイアグラムを表示を選択して、ブロックダイアグラムを表示します。プログラムの実行については、表示される指示に従ってください。
5. DAQアシスタントをダブルクリックして、構成ウィザードを起動します。
6. アナログ入力操作を構成します。
a. アナログ入力→電圧を選択します。
b. Dev1 (USB-6009)→ai0を選択して、アナログ入力のチャンネル0でデータを集録し、「完了」をクリックします。
c. 次のウィンドウで、アナログ入力操作のパラメータを指定します。タスクタイミングタブで、集録モードは「連続」を選択し、読み取るサンプル数には1000、レートには10000と入力します。その他の値は全てデフォルトのままにしておきます。「OK」をクリックしてウィザードを終了します。
7. ブロックダイアグラムで、「データ」と書かれた部分の右にある黒い矢印を右クリックします。ショートカットメニューから作成→グラフ表示器を選択します。
8. ウィンドウ→フロントパネルを表示を選択するか、<Ctrl+E>を押して、フロントパネルに戻ります。
9. 実行ボタンをクリックしてプログラムを実行します。グラフに正弦波のシミュレーションが表示されます。
10.終了したら停止をクリックします。
11.このVIを「Exercises 2 – Acquire.vi」という名前でExercisesフォルダに保存して閉じます。
メモ:
• この練習のソリューションは、本マニュアルの巻末に掲載されています。
• DAQアシスタントは、関数パレットからブロックダイアグラムに配置できます。ブロックダイアグラムを右クリックすると関数パレットが開きますので、Express→入力を選択します。関数パレットを開いたときに、パレットの左上隅にあるピンをクリックすると、パレットが固定され、表示されたままになります。この手順は以降の練習では省略しますが、毎回同じことを行ってください。
© National Instruments Corporation 29 Introduction to LabVIEW Hands-On
(練習はこれで終わりです。)
Introduction to LabVIEW Hands-On 30 ni.com
練習2 –サウンドカードで信号を集録する(トラックC)
メモ:この練習を始める前に、Exercisesフォルダと Solutionsフォルダをコンピュータのデスクトップにコピーしてください。
サウンドカードからデータを連続的に集録するVIを作成するには、以下の手順に従ってください。
1. LabVIEWを起動します。
2. スタートアップウィンドウで、ブランクVIをクリックします。
3. <Ctrl+E>を押すか、ウィンドウ→ブロックダイアグラムを表示を選択して、ブロックダイアグラムを表示します。
4. サウンドを集録Express VIをブロックダイアグラムに配置します。右クリックで関数パレットを開き、Express→入力→サウンドを集録を選択します。Express
VIをブロックダイアグラムに配置します。
5. 構成ウィンドウで、チャンネル数ドロップダウンリストから1を選択し、「OK」をクリックします。
6. ブロックダイアグラム上の信号集録VI(サウンドを集録VI?)の右側にフィルタExpress VIを配置します。関数パレットでExpress→信号解析→フィルタを選択し、ブロックダイアグラム上に配置します。構成ウィンドウで、フィルタタイプには「ハイパス」を選択します。カットオフ周波数には、300 Hzと入力します。「OK」をクリックします。
7. ブロックダイアグラムで端子上にマウスを置き、配線ツールに変わったら接続する各端子を1回ずつクリックして、以下のように配線します。
a. 信号集録(サウンドを集録?) VIの「データ」出力端子を、フィルタVIの「信号」入力に配線します。
b. 「フィルタ処理信号」出力端子を右クリックして作成→グラフ表示器を選択し、フィルタ処理信号のグラフ表示器を作成します。
8. <Ctrl+E>を押すか、ウィンドウ→フロントパネルを表示を選択して、フロントパネルに戻ります。
9. 実行ボタンをクリックしてプログラムを実行します。マイクロフォンに向かって声を出し、サウンドカードから集録されるデータを確認します。.
10. このVIを「Exercises 2 – Acquire.vi」という名前でExercisesフォルダに保存します。
11. VIを閉じます。
メモ:この練習のソリューションは、本マニュアルの巻末に掲載されています。
(練習はこれで終わりです。)
© National Instruments Corporation 31 Introduction to LabVIEW Hands-On
詳細ヘルプウィンドウは、LabVIEWのオブジェクト上にカーソルを置いたときに、そのオブジェクトに関する基本情報を表示するものです。詳細ヘルプを表示可能なオブジェクトには、VI、関数、定数、ストラクチャ、パレット、プロパティ、メソッド、イベント、ダイアログボックスなどのコンポーネントがあります。
詳細ヘルプウィンドウを表示するには、 ヘルプ→詳細ヘルプを表示を選択するか、<Ctrl+H>キーを押すか、あるいはツールバーの詳細ヘルプウィンドウを表示ボタンをクリックします。
詳細ヘルプに表示される接続の凡例
必須 –太字推奨 –標準オプション –淡色
その他のヘルプ
• オンラインリファレンスも利用できます。
– ヘルプ→オンラインヘルプ
– VIアイコンを右クリックしてヘルプを表示するか、
– 詳細ヘルプウィンドウで「オンラインヘルプ」をクリックします。
• LabVIEWヘルプ – リファレンス形式のヘルプ
– ヘルプ→LabVIEWヘルプを検索…
Introduction to LabVIEW Hands-On 32 ni.com
LabVIEWでは、多くのショートカットキーが設定されています。よく使用されるものは上記のとおりです。
自動ツール選択は、LabVIEWで使用したいツールを選択するには非常に便利な機能ですが、手動による制御が望ましい場合もあります。自動ツール選択機能をオフにした場合は、Tabキーを使ってよく使用する4つのツール(フロントパネルでは操作、位置決め、テキスト編集、カラー、ブロックダイアグラムでは操作、位置決め、テキスト編集、ワイヤ接続)の間で切り替えることができます。選択したツールを使い終わったら、<Shift+Tab>を押して自動ツール選択機能を再びオンにできます。
ツール→オプション…ダイアログには、フロントパネル、ブロックダイアグラム、色や印刷など、様々な構成可能なオプションがあります。
LabVIEWオプションと同様に、ファイル→VIプロパティ…を選択するとVIの特定のプロパティを構成することができます。 ここでは、VIの文書化や、ウィンドウの外観の変更、VIのカスタマイズなどが行えます。
© National Instruments Corporation 33 Introduction to LabVIEW Hands-On
© National Instruments Corporation 35 Introduction to LabVIEW Hands-On
WhileループとForループは、関数→ストラクチャパレットにあります。ForループとWhileループの違いは、Forループが設定された回数のみ実行するのに対し、While
ループは条件端子に値がある場合のみサブダイアグラムの実行を停止します。
Whileループ
Whileループ(上の図)は、テキストベースプログラミング言語のDoループやRepeat-
Untilループと同様に、条件が合うまでサブダイアグラムを実行します。Whileループは、条件端子という入力端子が特定のブール値を受信するまで、サブダイアグラムの実行を続けます。条件端子のデフォルトの動作と外観は、Trueの場合停止となっています。条件端子がTrueの場合停止になっているとき、Whileループは条件端子がTRUE値を受信するまでサブダイアグラムを実行します。左側に示す反復端子(出力端子)には、実行した反復数が含まれます。反復回数は、常に0から開始します。つまり、最初の反復では、反復端子は0になっています。
Forループ
Forループは、設定された回数のみサブダイアグラムを実行します。Nで表されるカウント端子(入力端子)の値は、サブダイアグラムを反復する回数を示します。左に示す反復端子(出力端子)には、実行した反復回数が含まれます。反復回数は、常に0
から開始します。つまり、最初の反復では、反復端子は0になっています。
Introduction to LabVIEW Hands-On 36 ni.com
関数パレットのストラクチャパレットから選択して、ループをダイアグラムに配置します。
• ループを選択すると、マウスカーソルは反復するコード部分を囲むための特殊なポインタに変化します。
• マウスボタンをクリックして、左上の隅を指定し、右下隅のところで再度クリックすると、選択したコードの周囲にWhileループの枠が作成されます。
• 必要に応じてWhileループ内に追加のノードをドラッグ/ドロップすることができます。
© National Instruments Corporation 37 Introduction to LabVIEW Hands-On
LabVIEW 7.0では、Express VIという新しいタイプのサブVIが登場しました。それは、Express VIの機能をユーザがカスタマイズできる構成ダイアログボックス付きの対話式VIです。その設定に従って、サブVIが生成されます。
サブVIとは、他のVIの中で使用されるVI(フロントパネルとブロックダイアグラムから構成)です。
関数は、全てのVIの基礎となるものです。関数には、フロントパネルやブロックダイアグラムはありません。
Introduction to LabVIEW Hands-On 38 ni.com
LabVIEWには、データの集録や解析、表示を行うための様々な作成済み関数が搭載されています。それらの関数には、上記のようなものがあります。
LabVIEWツールキット
その他にも、特定の分野の機能をLabVIEWに追加するためのツールキットを各種提供しています。例えば、以下のようなものがあります。
アプリケーション開発/
ターゲットモジュール• LabVIEW PDAモジュール• LabVIEW Real-Time
モジュール• LabVIEW FPGA
モジュール• LabVIEW Vision開発モジュール
組込システム開発
• DSPテストインテグレーションツールキット
•組込テストインテグレーションツールキット
•デジタルフィルタ設計ツールキット
• LabVIEW FPGAモジュール
信号処理/解析
•音響/振動解析ツールキット•上級信号処理ツールキット• モジュレーションツールキット• スペクトル計測ツールキット•次数解析ツールキット•デジタルフィルタ設計ツールキット
ソフトウェア工学/
最適化ツール• LabVIEW Real-Time対応実行トレースツールキット
• Express VI開発ツールキット•状態遷移図ツールキット• VIアナライザツールキット
制御系設計/シミュレーション
•制御系設計/シミュレーションバンドル
• LabVIEW Real-Time
モジュール• システム同定ツールキット•制御系設計ツールキット• LabVIEWシミュレーションモジュール
•状態遷移図ツールキット
画像処理/入力• LabVIEW Vision開発モジュール
• NI Vision Builder for AI
• IEEE 1394対応NI-IMAQ
http://www.ni.com/toolkits/
© National Instruments Corporation 39 Introduction to LabVIEW Hands-On
パレットウィンドウの上部にあるボタンを使用して、他のパレットへの移動や検索、編集を行います。
ある特定の語を含む制御器、VI、関数などを検索することができます。検索結果をダブルクリックすると、その検索対象を含むパレットが開きます。また、制御器、VI、関数の名前をフロントパネルやブロックダイアグラムにドラッグすることもできます。
Introduction to LabVIEW Hands-On 40 ni.com
サブVIの作成
VIを作成したら、そのVIは他のVIの中で使用できます。他のVIのブロックダイアグラムから呼び出されたVIは、サブVIを呼ばれます。サブVIは、他のVIで再利用できます。サブVIを作成するには、コネクタペーンとアイコンを作成する必要があります。
サブVIノードは、テキストベースプログラミング言語におけるサブルーチン呼び出しに相当します。複数の同一のサブVIノードを含むブロックダイアグラムでは、同じサブVIを複数回呼び出すことになります。
サブVIの制御器と表示器は、発呼VIのブロックダイアグラムとのデータのやり取りを行います。関数パレットにあるVIを選択アイコンまたはテキストをクリックし、使用するVIを選んでダブルクリックして、そのVIをブロックダイアグラムに配置すると、そのVIへのサブVI呼び出しが作成されます。
サブVIの入出力端子とアイコンは、簡単にカスタマイズできます。以下の手順に従って、サブVIを簡単に作成することができます。
VIの一部からサブVIを作成
ブロックダイアグラムの再利用したい部分を位置決めツールで選択し、編集→サブVIを作成を選択すると、VIの一部をサブVIに変換することができます。ブロックダイアグラムの選択した部分は、新しいサブVIのアイコンに変わります。LabVIEWは、新しいサブVIの制御器や表示器を作成し、選択した制御器や表示器の端子数に基づいてコネクタペーンを作成して、そのサブVIを既存のワイヤに配線します。
詳細については、ヘルプ→LabVIEWヘルプを表示…→サブVIをご覧ください。
© National Instruments Corporation 41 Introduction to LabVIEW Hands-On
サブVIノードは、テキストベースプログラミング言語におけるサブルーチン呼び出しに相当します。 プログラム内のサブルーチン呼び出しステートメントがサブルーチンそのものではないのと同様に、このノードもサブVIそのものではありません。同一のサブVIノードを複数含むブロックダイアグラムでは、同じサブVIを複数回呼び出します。
モジュール式の方法をとっているため、アプリケーションのデバッグや管理が簡単です。
この例では、サブVIの機能については触れません。ポイントとなるのは、2つの数値入力と1つの数値出力の受け渡しです。
Introduction to LabVIEW Hands-On 42 ni.com
練習 3.1 –解析(トラックA、B、C)
指定した周波数を持つ正弦波を生成し、ユーザが停止するまで波形チャートにデータを表示するVIを作成します。
1. スタートアップウィンドウで、ブランクVIを開きます。
2. フロントパネルにチャートを配置します。右クリックで制御器パレットを開き、制御器→モダン→グラフ→波形チャートを選択します。
3. ダイアル制御器をフロントパネルに配置します。制御器パレットから、制御器→
モダン→数値→ダイアルを選択します。フロントパネルに制御器を置いた際、ラベルのテキストがハイライトされていますので、そこにこの制御器の名前として「周波数入力」と入力します。
4. ブロックダイアグラムを開いて(<Ctrl+E>)Whileループを配置します。右クリックして関数パレットを開き、Express→実行制御→Whileループを選択します。ブロックダイアグラム上でドラッグして、適切なサイズのWhileループを配置します。波形チャートとダイアルを選択して、Whileループの中に入っていない場合は入れます。停止ボタンがWhileループの条件端子に既に接続されている点に注目してください。
5. 「信号シミュレーション」Express VIをブロックダイアグラムに配置します。関数パレットから、Express→信号解析→信号シミュレーションを選択し、ブロックダイアグラム上のWhileループ内に配置します。構成ウィンドウの「タイミング」で、「集録タイミングシミュレーション」を選択します。「OK」をクリックします。
6. 「トーン計測」Express VI(Express→信号解析→トーン計測)をブロックダイアグラムに配置します。構成ウィンドウの「シングルトーン計測」では、振幅と周波数を選択します。「OK」をクリックします。
© National Instruments Corporation 43 Introduction to LabVIEW Hands-On
7. ブロックダイアグラム上で以下のように配線します。配線を行うには、端子上にマウスを置き、配線ツールになったら両側の端子を1回ずつクリックします。
a. 「信号シミュレーション」VIの「正弦波」出力端子を「トーン計測」VIの「信号」入力に接続します。
b. 「正弦波」出力を波形チャートに接続します。
c. 「トーン計測」Express VIの振幅と周波数の各端子を右クリックして、作成→
数値表示器を選択し、表示器を作成します。
d. 「周波数入力」制御器を「信号シミュレーション」VIの「周波数」端子に接続します。
8. フロントパネルに戻ってVIを実行します。「周波数入力」ダイアルを動かして、信号の周波数を確認します。終了したら停止ボタンをクリックします。
9. このVIを「Exercises 3.1 – Simulated.vi」という名前で保存します。
10. VIを閉じます。
メモ
• 関数パレットを開いたときに、パレットの左上隅にあるピンをクリックすると、パレットが固定され、表示されたままになります。この手順は以降の練習では省略しますが、毎回同じことを行ってください。
• この練習のソリューションは、本マニュアルの巻末に掲載されています。
(練習はこれで終わりです。)
Introduction to LabVIEW Hands-On 44 ni.com
練習3.2 –解析(トラックA & B)
DAQデバイス(シミュレーション)から集録した信号の周波数と振幅を計測し、集録信号を波形チャートに表示するVIを作成します。手順は練習3.1と同じですが、「信号シミュレーション」VIの代わりにDAQアシスタントを使用します。手順を読まずにできる方は試してみてください。
1. ブランクVIを開きます。
2. フロントパネルにチャートを配置します。右クリックして制御器パレットを開き、制御器→モダン→グラフ→波形チャートを選択します。
3. ブロックダイアグラムを開いてWhileループを配置します(実行制御→While
ループ)。
4. ブロックダイアグラムにDAQアシスタントを配置します(Express→入力→DAQ
アシスタント)。デバイス(シミュレーション)のチャンネルai0にはアナログ入力を選択し、「終了」をクリックします。タスクタイミングタブで、集録モードは「連続」を選択します。USB-6009を使用している場合は、入力範囲を-2 to 2に、読み取るサンプル数を100に変更します。
5. ブロックダイアグラムのDAQアシスタントの右側に「フィルタ」Express VIを配置します。関数パレットから、Express→信号解析→フィルタを選択し、ブロックダイアグラムのWhileループの中に配置します。構成ウィンドウで、フィルタタイプには「ハイパス」を選択します。カットオフ周波数には300 Hzを入力します。「OK」 をクリックします。
6. DAQアシスタントの「データ」出力端子を「フィルタ」VIの「信号」入力に接続します。
7. 「フィルタ」VIの「フィルタ処理信号」端子を波形チャートに接続します。
8. 「トーン計測」Express VIをブロックダイアグラムに配置します(Express→信号解析→トーン計測)。構成ウィンドウの「シングルトーン計測」セクションでは振幅と周波数を選択します。
9. 「トーン計測」Express VIの振幅と周波数の各端子を右クリックして、作成→数値表示器を選択し、表示器を作成します。
10. 「フィルタ」VIの出力を「トーン計測」Express VIの「信号」入力に接続します。
11.フロントパネルに戻ってVIを実行します。集録信号と、その周波数と振幅を確認します。USB-6009を使用している場合は、マイクロフォンに向かって声を出し、振幅と周波数を確認します。
12.このVIを「Exercises 3.2 - Data.vi」という名前で保存します。
13. VIを閉じます。
メモ:この練習のソリューションは、本マニュアルの巻末に掲載されています。
(練習はこれで終わりです。)
© National Instruments Corporation 45 Introduction to LabVIEW Hands-On
練習3.2 –解析(トラックC)
サウンドカードから集録した信号の周波数と振幅を計測し、集録信号を波形チャートに表示するVIを作成します。手順は練習3.1と同じですが、「信号シミュレーション」VIの代わりに「サウンド信号」VIを使用します。手順を読まずにできる方は試してみてください。
1. ブランクVIを開きます。
2. ブロックダイアグラムを開いてWhileループを配置します(Express→実行制御→Whileループ)。
3. 「サウンドを集録」Express VIをブロックダイアグラムに配置します(Express→
入力→サウンドを集録)。
4. 「フィルタ」Express VIをブロックダイアグラムに配置します。構成ウィンドウで、ハイパスフィルタと300 Hzのカットオフ周波数を選択します。
5. 「トーン計測」Express VIをブロックダイアグラムに配置します(Express→信号解析→トーン計測)。構成ウィンドウの「シングルトーン計測」セクションで振幅と周波数を選択します。
6. 「トーン計測」Express VIの振幅と周波数の各端子を右クリックして、作成→数値表示器を選択し、表示器を作成します。
7. 「サウンドを集録」Express VIの「データ」端子を「フィルタ」VIの「信号」入力に接続します。
8. 「フィルタ」VIの「フィルタ処理信号」端子を「トーン計測」VIの「信号」入力に接続します。
9. 「フィルタ処理信号」端子を道クリックして、作成→グラフ表示器を選択し、フィルタ処理信号のグラフ表示器を作成します。
10.フロントパネルに戻ってVIを実行します。サウンドカードから集録した信号と、その振幅と周波数を確認します。マイクロフォンに向かって声を出し、振幅と周波数を確認します。
11.このVIを「Exercises 3.2-Data.vi」という名前で保存します。VIを閉じます。
メモ:この練習のソリューションは、本マニュアルの巻末に掲載されています。
(練習はこれで終わりです。)
Introduction to LabVIEW Hands-On 46 ni.com
ケースストラクチャ
ケースストラクチャには、ケースと呼ばれるサブダイアグラムが1つまたは複数あり、ストラクチャの実行の際にはそのいずれかが実行します。セレクタ端子に配線された値により実行するケースが決まりますが、その値はブール、文字列、整数、または列挙型となります。ケースを追加したり削除したりするには、ストラクチャの枠を右クリックします。ラベリングツールを使用して、ケースセレクタラベルに値を入力したり、各ケースが処理する値を構成します。ケースストラクチャは、関数→プログラミング→
ストラクチャ→ケースストラクチャにあります。
選択
sの値に基づきt入力またはf入力に配線された値を返します。sがTRUEの場合、この関数はtに配線された値を返します。sがFALSEの場合は、fに配線された値を返します。 コネクタペーンには、この多態性関数のデフォルトのデータタイプが表示されます。関数→プログラミング→比較→選択にあります。
• サンプルa: ブール入力。シンプルな「もしも~ならば」のケース。ブール入力がTRUEならTrueケースが実行し、それ以外ではFalseケースが実行します。
• サンプルb: 数値入力。入力値により実行するボックスが決まります。ケースの範囲外の場合、デフォルトケースが選択されます。
• サンプルc: 選択VIに渡されたブール値がTRUEの場合は、値5が表示器に渡されます。FALSE値の場合は、0が表示器に渡されます。
© National Instruments Corporation 47 Introduction to LabVIEW Hands-On
LabVIEWの計測データファイルを使用して、「計測ファイル書き込み」Express VIが生成するデータを保存します。 LabVIEWデータファイルは、タブで区切られたテキストファイルで、スプレッドシートアプリケーションかテキスト編集アプリケーションで開くことができます。 .lvmファイルには、Express VIが生成するデータ以外にも、データが生成された日付と時間など、そのデータに関する情報が含まれています。
ファイル I/O操作では、メモリとファイルの間でデータの受け渡しが行われます。LabVIEWでは、ファイルI/Oを使って以下の操作を行います。
• データファイルの開閉
• ファイルでのデータの読み取り/書き込み
• スプレッドシート形式のファイルでの読み取り/書き込み
• ファイル/ディレクトリの移動と名前の変更
• ファイル特性の変更
• 構成ファイルの作成、変更、読み取り
• LabVIEW計測ファイルの読み取り/書き込み
次の例では、LabVIEW計測ファイル(*.lvmファイル)の読み取りと書き込みの方法を見ていきます。
Introduction to LabVIEW Hands-On 48 ni.com
練習3.3 –条件判断とデータの保存(トラックA、B、C)
データの周波数がユーザが指定した限度値を下回った場合に、データの保存が可能となるVIを作成します。
1. Exercises 3.2 – Data.viを開きます。
2. ファイル→別名で保存…を選択して「Exercises 3.3 – Decision Making and
Saving Data」という名前で保存します。「別名で保存」ダイアログボックスで、元のファイルを閉じてコピーを編集が選択されていることを確認し、「継続…」をクリックします。
3. ブロックダイアグラムのWhileループ内にケースストラクチャを配置します(関数→
プログラミング→ストラクチャ→ケースストラクチャ)。
4. ケースストラクチャの「True」ケースの中に、「計測ファイルへ書き込み」Express
VIを配置します(関数→プログラミング→ファイルI/O→計測ファイルへ書き込み)。
a. 構成ウィンドウが開いたら、「一連のファイルに保存(複数ファイル)」を選択します。ファイルが保存されるデフォルトの場所を覚えておいてください。保存場所は変更することもできます。
b. 「設定…」をクリックし、既存ファイルのセクションで「次の使用可能ファイル名を使用」を選択します。
c. ファイル終端では10セグメント後に新規ファイルを開始するよう設定します。「OK」を2回クリックします。
5. 「トーン計測」Express VIで算出された周波数がユーザ指定の限度値を下回った場合に、データがファイルに保存されるように、コードを作成します。ヒント: 関数→プログラミング→比較→小さい?を選択します。
6. DAQアシスタントまたは「サウンドを集録」Express VIからのデータを、「計測ファイルへ書き込み」VIの「信号」入力に忘れずに接続します。わからない場合は、この練習のソリューションを参照してください。
7. フロントパネルを開いてVIを実行します。周波数の限度値を変えてみてください。終わったらVIを停止します。
8. マイ ドキュメント→LabVIEW Dataを選択して、そこに保存されているファイルのいずれかを開きます。ファイルの構造を確認し、ファイルに10セグメントがあることを確かめます。
9. VIを保存して閉じます。
メモ:この練習のソリューションは、本マニュアルの巻末に掲載されています。
(練習はこれで終わりです。)
© National Instruments Corporation 49 Introduction to LabVIEW Hands-On
中級ファイルVIのプログラミングモデル
このプログラミングモデルは、データ集録、計測器制御、ファイルI/O、その他のほとんどの通信スキームに適用することができます。多くの場合、ファイルや通信チャンネルを開き、読み取り/書き込みを複数回行った後、通信が終了します。最後にエラーのチェックをするのもよいでしょう。上級のプログラミングに進んだときや、DAQ、通信、ファイルI/OなどのExpress VIを詳しく見る際には、このプログラミングモデルを覚えておいてください。
ファイルI/O VI/関数
ファイルI/O VI/関数を使用して、ファイルの開閉、ファイルの読み取り/書き込み、パス制御器で指定したディレクトリやファイルの作成、ディレクトリ情報の取り出し、文字列、数値、配列、クラスタのファイルへの書き込みなどが可能です。
パレットの最上段にある上位ファイルI/O VIは、様々なタイプのデータの読み取り/書き込みなど、一般的なI/O操作に使用します。対応するタイプには、テキストファイルの文字や行、スプレッドシートテキストファイルの単精度数値の1D/2D配列、バイナリファイルの単精度数値の1D/2D配列、バイナリファイルの16ビット符号付き整数などがあります。
パレットの中段にある下位ファイルI/O VI/関数と、上級ファイル関数を使って、それぞれのファイルI/O操作を個別に制御することができます。
主な下位関数は、ファイルの作成や開閉、データの読み取り/書き込みなどに使用します。また、ディレクトリの作成、ファイルの移動、コピー、削除、ディレクトリの内容の一覧表示、ファイル特性の変更、パスの操作も可能です。
ファイル形式の選び方については、NI Developer Zoneを参照してください。
Introduction to LabVIEW Hands-On 50 ni.com
© National Instruments Corporation 51 Introduction to LabVIEW Hands-On
制御器や表示器は、ユーザがプログラムとやり取りして、入力を提供し結果を表示するためのフロントパネルオブジェクトです。制御器と表示器を使用するには、フロントパネルを右クリックします。
また、ツールキットやモジュールをインストールすると、さらに多くの制御器や表示器が利用可能になります。
例えば、制御系設計ツールをインストールした場合、ボードプロットやナイキストプロットといったデフォルトでは用意されていない特殊なプロットが利用できます。
Introduction to LabVIEW Hands-On 52 ni.com
波形チャートとは、1つまたは複数のプロットを表示する特殊な数値表示器で、制御器→モダン→グラフパレットにあります。 波形チャートには、1つのプロットでも複数のプロットでも表示することができます。次のフロントパネルは、マルチプロットの波形チャートの例を示しています。
xまたはy軸の最大値と最小値を変更するには、ラベリングツールで値をダブルクリックして、新しい値を入力します。同様に、軸のラベルも変更することができます。また、プロットの凡例を右クリックして、チャートに表示されるトレースのスタイル、形状、色などを変更することも可能です。
© National Instruments Corporation 53 Introduction to LabVIEW Hands-On
グラフは、LabVIEW の中でも非常に利用価値の高い表示器です。柔軟にカスタマイズ可能で、多くの情報を簡明に表示することができます。
グラフのプロパティページでは、プロットのタイプ、目盛やカーソルのオプション、その他様々なグラフ機能の設定が可能です。プロパティページを開くには、フロントパネルでグラフを右クリックし、プロパティを選択します。
また、グラフを使用すると、「簡略化された画像をエクスポート」関数によって技術文書品質の画像を作成できます。グラフを右クリックして、データ操作→簡略化された画像をエクスポート…を選択します。
Introduction to LabVIEW Hands-On 54 ni.com
ForループとWhileループは、配列を指標付けして枠上に蓄積します。これを自動指標付けといいます。• 枠上の指標付けポイントをトンネルといいます。• Forループでは、自動指標付けはデフォルトでオンになっています。• Whileループでは、自動指標付けはデフォルトでオフになっています。
例:• 自動指標付けをオンにして、ループ内で値を集めて配列を作成します。値は全てループから出ると同時に配列に入れられます。
• 最終値のみが必要な場合は、自動指標付けをオフにします。
© National Instruments Corporation 55 Introduction to LabVIEW Hands-On
このような配列制御器/表示器を作成するには、制御器→モダン→配列、行列&クラスタパレットから配列を選択し、フロントパネルに配置して、配列シェル内に制御器または表示器をドラッグします。XYグラフなどの無効な制御器/表示器を配列シェルにドラッグしようとしても、ドロップできないようになっています。
配列シェルにオブジェクトを挿入しないと、ブロックダイアグラムでその配列を使用することはできません。その場合は、配列端子は黒になり、空の括弧が表示されます。
Introduction to LabVIEW Hands-On 56 ni.com
配列に次元を1つずつ追加には、指標表示を右クリックしてショートカットメニューから次元を追加を選択します。また、位置決めツールを使って指標表示のサイズを変更し、希望の次元数が表示されるようにすることもできます。
1つの要素を含む1D配列
複数の要素を含む1D配列
1つの要素を含む2D配列
複数の要素を含む2D配列
© National Instruments Corporation 57 Introduction to LabVIEW Hands-On
遅延時間遅延時間Express VIは、実行を指定の秒数遅らせます。データフロープログラミングの法則に基づき、Whileループはその中の全てのタスクが完了しなければ反復を行わないため、ループの各反復が遅延します。
タイミングループループの各反復を指定した周期で実行します。タイミングループは、マルチレートタイミング機能や、高精度タイミング、ループの実行に対するフィードバック機能、ダイナミックに変化するタイミング特性、複数のレベルの実行優先度などの機能を備えたVIを開発する際に使用します。入力ノードをダブルクリックするか、入力ノードを右クリックしてショートカットメニューから入力ノードを構成を選択して表示される「タイミングループを構成」ダイアログボックスで、タイミングループを構成することができます。タイミングループを構成ダイアログボックスで入力した値は、入力ノードのオプションとして表示されます。
次のミリ秒倍数まで待機ミリ秒タイマの値が、ミリ秒倍数で指定した値の倍数になるまで待機します。この関数は、動作を同期するのに使用します。この関数をループ内で呼び出して、ループの実行レートを制御することができます。ただし、最初のループ周期は短い場合があります。この関数は非同期でシステム呼び出しを行いますが、ノード自体は同期的に機能します。そのため、指定の時間が経過しないと実行は完了しません。関数→プログラミング→タイミング→次のミリ秒倍数まで待機
Introduction to LabVIEW Hands-On 58 ni.com
プロパティとは、フロントパネルオブジェクトの全ての特性を示したものです。プロパティにより、前景色や背景色、データのフォーマットや精度、視認性、説明用のテキスト、フロントパネルにおける位置やサイズなど、あらゆる特性の設定や読み込みが可能です。
© National Instruments Corporation 59 Introduction to LabVIEW Hands-On
練習4.1 – マニュアル解析(トラックA、B、C)
波形グラフにシミュレーションデータを表示し、そのデータの周波数と振幅を計測するVIを作成します。グラフのカーソルを使って、周波数/振幅計測を確認します。
1. Exercises 3.1 – Simulated.viを開きます。
2. このVIを「Exercises 4.1 – Manual Analysis.vi」という名前で保存します。
3. ブロックダイアグラムを開いてWhileループを削除します。ループの端を右クリックしてWhileループを削除を選択します。こうするとループ内のコードは削除されません。
4. 停止ボタンを削除します。
5. フロントパネルで、波形チャートを波形グラフに置き換えます。チャートを右クリックして、置換→モダン→グラフ→波形グラフを選択します。
6. カーソルの凡例をグラフ上に表示させます。グラフを右クリックし、表示項目→
カーソルの凡例を選択します。
7. 「周波数入力」ダイアルの最大値を100に変更します。最大値をダブルクリックして、テキストがハイライト表示されたら、100と入力します。
8. 「周波数入力」ダイアルのデフォルト値を設定します。まずダイアルを希望の値に設定し、ダイアルを右クリックして、データ操作→現在の値をデフォルト設定にするを選択します。
9. VIを実行して波形グラフの信号を確認します。信号が表示されない場合は、x軸の自動指標付けをオンにしてみてください。グラフを右クリックして、Xスケール→
自動スケールXを選択します。
10.グラフ上に複数の周期が表示されるように、信号の周波数を変更します。
11.カーソルを使って、グラフ上の信号の周波数と振幅を手作業で計測します。グラフ上にカーソルを表示させるには、カーソル凡例の3つのボタンのいずれかをクリックします。カーソルが表示されたら、グラフ上の任意の場所にドラッグでき、カーソルの凡例に座標が表示されます。
12.信号の周波数は周期の逆数(f = 1/T)であることを思い出してください。計測結果が、トーン計測VIの周波数/振幅表示器と一致しているか確認します。
13. VIを保存して閉じます。
メモ:この練習のソリューションは、本マニュアルの巻末に掲載されています。
(この練習はこれで終わりです。)
Introduction to LabVIEW Hands-On 60 ni.com
概要ナショナルインスツルメンツのLabVIEW 8の登場により、アルゴリズムの開発、DSPのコンセプトの研究、結果の解析など、どのようなタスクにおいても、技術演算に使用する最も効果の高い構文を選ぶためのオプションがさらに広がりました。The MathWorks Inc. MATLABソフトウェア、Mathematica、Maple、Mathcad、IDL、Xmathなどの一般的な他社数式処理ツールを用いて、スクリプトの作成(?)やアルゴリズムの開発などをブロックダイアグラム上で行うことができます。このような数式処理ツールをLabVIEWとともに使用するには、下記のように、ベンダによって様々な方法があります。
LabVIEWテキスト数式演算ノードMathScriptノード、フォーミュラノード
LabVIEWノードを介したベンダソフトウェアとの通信Xmathノード、MATLABスクリプトノード、Maple*ノード、IDL*ノード
VIサーバを介したベンダソフトウェアとの通信Mathematica* VI、Mathcad* VI
LabVIEW 8では、直感的なLabVIEWグラフィカルデータフロープログラミングを、一般的なMファイルスクリプト言語と互換性を持つ数学指向のテキスト型プログラミング言語とともに使用することが可能です。
*数式処理ツール専用のLabVIEWツールキットがインストールされている必要があります。
Math Node
© National Instruments Corporation 61 Introduction to LabVIEW Hands-On
MathScriptノードは、グラフィカルプログラミング環境で数式処理アルゴリズムを実装するためのネイティブのテキストベース言語を追加します。ユーザが作成してMathScriptウィンドウから保存したMファイルスクリプトは、MathScript
ノードで開いて使用することができます。他の数式処理ソフトウェアで作成したMファイルスクリプトも、通常の場合実行することができます。MathScriptにより、最も使いやすい構文を選んで問題の解決に使用することが可能となります。MathScriptノードに方程式を組込んで、パラメータの確認や、シミュレーション、最終的なアプリケーションにおける実装などを行うことができます。
MathScriptノード• プログラミング→ストラクチャサブパレット• ブロックダイアグラムにテキスト演算を直接入力するためのサイズ変更可能なボックス
• 変数を追加するには、右クリックして入力を追加または出力を追加を選択• 公式で使用するのと同じ名前を付けることが可能(名前は大文字小文字を区別)
• 出力のデータタイプを変更するには入力/出力ノードを右クリック• ステートメントの終端にはセミコロンを使って出力を非表示化• ノードを右クリックしてMファイルをインポート/エクスポート可能
Introduction to LabVIEW Hands-On 62 ni.com
MathScriptウィンドウは、方程式のプロトタイプ作成と計算の実行が可能な対話式環境を提供します。MathScriptウィンドウとMathScriptノードでは共通の構文とグローバル変数を使用しますので、プロトタイプから実装までのプロセスがスムーズになります。 データプレビュー用のペーンもあり、変数データを数値、グラフ、または音(サウンドカードのサポートが必要)で表示することができます。
MathScriptのヘルプ
MathScript環境のヘルプには、MathScript対話式環境ウィンドウを使ってアクセスします。コマンドウィンドウにHelpと入力すると、MathScriptヘルプの概要が表示されます。Helpの後に関数を入力すると、その関数に特化したヘルプが表示されます。
対話式MathScriptウィンドウの機能
• コマンドウィンドウで方程式/公式のプロトタイプを作成
• コマンドウィンドウでHelp <関数名>と入力して、関数のヘルプを簡単に表示
• 変数を選んでプレビューペーンにデータを表示したり、結果を音で聞くことも可能
• スクリプトタブで、Mファイルの書き込み、保存、ロード、実行が可能
• LabVIEWのMathScriptノードとMathScriptウィンドウの間でグローバル変数を使ったデータの共有が可能
• 上級プロット機能と画像エクスポート機能
© National Instruments Corporation 63 Introduction to LabVIEW Hands-On
練習4.2 – MathScript(トラックA、B、C)
MathScriptノードを使用するVIを作成し、シミュレーション信号に変更を加えてグラフに表示します。対話式のMathScriptウィンドウを使用してデータを変更し、作成したスクリプトをMathScriptノードに再びロードします。
1. Exercises 4.1 – Manual Analysis.viを開きます。
2. そのVIを「Exercises 4.2 – MathScript.vi」という名前で保存します。
3. ブロックダイアグラムに戻り、「信号シミュレーション」VIと波形グラフを接続しているワイヤを削除します。
4. MathScriptノードを配置します(プログラミング→ストラクチャ→MathScript
ノード)。
5. MathScriptノードの枠の左側を右クリックして、入力を追加を選択します。入力ノードが黒でハイライトされているときに、この入力に「In」という名前を付けます。
6. MathScriptノードの枠の右側を右クリックして、出力を追加を選択します。この出力には「Out」という名前を付けます。
7. 「信号シミュレーション」VIのダイナミックデータタイプ出力を、MathScriptノードへの入力としてスカラの1D配列に変換します。「ダイナミックデータから変換」VIをブロックダイアグラムに配置します(Express→信号操作→ダイナミックデータから変換)。このVIはデフォルトで適切に構成されていますので、そのまま構成ウィンドウの「OK」をクリックします。
8. 「信号シミュレーション」VIの「正弦波」出力を、「ダイナミックデータから変換」VIの「ダイナミックデータ」入力に配線します。
9. 「ダイナミックデータから変換」VIの「配列」出力を、MathScriptノードの「In」に配線します。
10. 「信号シミュレーション」VIからのデータを対話式MathScriptウィンドウで使用するには、入力変数をグローバル変数として宣言する必要があります。MathScript
ノードの中に「グローバル入力」と入力します。
11.フロントパネルに戻り、周波数を50~100の間まで上げます。VIを実行します。
12.対話式MathScriptウィンドウを開きます(ツール→MathScriptウィンドウ…)。
13. MathScriptウィンドウでは、コマンドウィンドウを使って、実行するコマンドを入力できます。コマンドウィンドウで、「グローバル入力」と入力して「Enter」を押します。こうすることで、MathScriptノードの変数「In」にデータが渡されたことがわかります。
Introduction to LabVIEW Hands-On 64 ni.com
14. スクリプト内の宣言された全変数と、その次元とタイプが「変数」タブに表示されている点に注目してください。データをグラフに表示するには、変数「In」を1回クリックしてドロップダウンメニューを「数値」から「グラフ」に変更します。
15.データを拡大するには、グラフパレットを使用します。
16. 「カーソル1」を右クリックして中心に表示を選択します。
17.カーソルをドラッグしてみます。ズームオプションが選択されていると、カーソルは動きません。
18.グラフを右クリックしてウィンドウをドック解除を選択します。結果を確認し、終わったらこの新しいウィンドウを閉じます。
© National Instruments Corporation 65 Introduction to LabVIEW Hands-On
19.データを減尐指数関数で乗算します。次の手順に従ってください。
a. コマンドウィンドウに「Array = [0.01:0.05:5];」と入力し、Enterを押して、0.01~5
までのランプ関数を形成する100要素のデータ配列を作成します。「Array」の変数タイプは何でしょうか?
b. 減尐指数関数を含む配列を作成します。「Exp = 5*exp(-Array);」と入力してEnter
を押します。
c. 「Out = In.*Exp;」と入力しEnterを押して、Exp配列とIn配列を要素ごとに乗算します。
d.変数「Out」のグラフを確認します。
20. 履歴タブをクリックし、Ctrlを押しながらクリックして先ほど入力した4つのコマンドを選択します。<Ctrl-C>でそれらのコマンドをコピーします。
21.スクリプトタブで、<Ctrl-V>を使ってスクリプトエディタにコマンドを貼り付けます。
22. ウィンドウの下の「保存」をクリックして、スクリプトを保存します。「myscript.txt」という名前を付けます。
23. MathScriptウィンドウを閉じます。
24. Exercises 4.2 – MathScriptのブロックダイアグラムに戻ります。MathScriptノードの枠を右クリックしてインポート…を選択し、作成したスクリプトをロードします。myscript.txtを見つけて選択し、「OK」をクリックします。
25.変数「Out」を右クリックしてデータタイプを選択→1D 配列→DBL 1Dを選択します。出力データタイプは、MathScriptノードで手作業により設定する必要があります。
26. 「Out」を波形グラフに配線します。
27.フロントパネルに戻ってVIを実行します。データがどのようになっているか確認します。
25. VIを保存して閉じます。
メモ:この練習のソリューションは、本マニュアルの巻末に掲載されています。
(この練習はこれで終わりです。)
Introduction to LabVIEW Hands-On 66 ni.com
LabVIEWでは、多くの一般的なデータタイプを使用します。 たとえば、ブール、数値、配列、文字列、クラスタなどがあります。
各端子の色と記号により、その制御器または表示器のデータタイプがわかります。制御器の端子は、表示器の端子より枠が太くなっています。また、フロントパネル端子には矢印が表示され、それが制御器と表示器のどちらかを示します。端子が制御器の場合は矢印が右に表示され、表示器の場合は左に表示されます。
定義
• 配列: 配列とは、同じタイプのデータ要素をグループ化したものです。配列は要素と次元からなります。要素とは、配列を構成するデータのことで、次元は配列の長さ、高さ、または深度を表します。配列は1つ以上任意の数の次元を持つことができ、メモリが許す限り最大(231)– 1の要素を入れることができます。
• クラスタ: クラスタは、タイプの異なるデータ要素をグループ化したものです。例えば、電話線のワイヤの束に似ています。各ワイヤがクラスタの要素と考えることができます。
詳しくはヘルプ→LabVIEWヘルプを表示…をご覧ください。弊社Webサイトでご覧いただける『LabVIEWユーザマニュアル』(ni.com)には、LabVIEWで使用されるデータタイプについての詳細情報が記載されています。
© National Instruments Corporation 67 Introduction to LabVIEW Hands-On
練習5 –学習内容の応用(トラックA、B、C)
この練習では、これまで学習した内容に基づいてVIを作成します。以下のタスクを実行するVIを設計してください。
1. デバイスからデータを集録してグラフに表示する(DAQデバイス、シミュレーションデバイス、またはサウンドカード)
2. 「フィルタ」Express VI(関数→Express→信号解析→フィルタ)を使ってそのデータをフィルタ処理する。ユーザによる構成が可能なカットオフ周波数のフロントパネル制御器が必要です。
3. 高速フーリエ変換を使用してフィルタ処理されたデータから周波数情報を取り出し、結果をグラフに表示します。「スペクトル計測」Express VI(関数→Express→
信号解析→スペクトル)を使用します。
4. 「トーン計測」Express VIを使って、フィルタ処理されたデータの優位周波数を特定します。
5. その周波数をユーザが入力した限度値と比較します。周波数が限度値を超えていたら、LEDを点灯させます。USB-6009を使用している場合は、DAQアシスタントを使ってハードウェアのLEDを点灯させます。限度値を超えたときにLEDを点灯させるには、デジタルラインを反転する必要があります。その指定は、DAQ
アシスタントの構成ウィンドウで行うか、「Not」ブール関数を使用します。
6. わからなくなった場合は、ソリューションを開くか、本マニュアルの巻末にあるソリューションをご覧ください。
(この練習はこれで終わりです。)
Introduction to LabVIEW Hands-On 68 ni.com
© National Instruments Corporation 69 Introduction to LabVIEW Hands-On
クラスタは、様々な種類のコンポーネントをグループ化するものです。Pascalにおけるrecord、またはCのstructに相当します。
クラスタのコンポーネントは、データタイプが異なってもかまいません。
例
• エラー情報 — ブールタイプのエラーフラグ、数値タイプのエラーコード、エラーソース文字列をグループにして、エラーを指定
• ユーザ情報 — ユーザの名前とセキュリティコードを指定するID番号を表す文字列をグループ化
クラスタは、全要素が制御器または表示器のいずれかでなくてはなりません。文字列制御器とブール表示器を同じクラスタに入れることはできません。クラスタは、様々なワイヤ(データオブジェクト)をケーブル(クラスタ)にまとめるのと似ています。
Introduction to LabVIEW Hands-On 70 ni.com
クラスタフロントパネルオブジェクトを作成するには、制御器→モダン→配列、行列&クラスタパレットからクラスタを選択します。
• このオプションを選択することで、シェル(配列を作成したときの配列シェルと同様)が作成されます。
• クラスタシェルは、ドロップするときにサイズを決めることができます。
• シェルの内部を右クリックして、任意のタイプのオブジェクトを追加します。
メモ:クラスタの中にクラスタを入れることもできます。
クラスタは、そのクラスタに最初に配置したオブジェクトの種類により、制御器クラスタか表示器クラスタかが決まります。
また、クラスタパレットからクラスタ定数を選択して、ブロックダイアグラムにクラスタ定数を作成することもできます。
• これで空のクラスタシェルが作成されます。
• ドロップするときにサイズを決めることができます。
• シェル内に他の定数を入れます。
メモ: フロントパネルオブジェクトの端子をブロックダイアグラムのクラスタ定数に配置することはできません。また、タブ定数や空文字列定数などの「特殊な」定数をブロックダイアグラムのクラスタシェルに入れることもできません。
© National Instruments Corporation 71 Introduction to LabVIEW Hands-On
バンドルという語とクラスタという語は、LabVIEWでは密接な関係があります。
例: バンドル関数を使ってクラスタを作成します。クラスタの一部を抽出するには、アンバンドル関数を使用します。
バンドル関数—特定のオブジェクトを含むクラスタを形成(explain the example)。
名前でバンドル関数 — 特定のクラスタオブジェクトの値をアップデート(オブジェクトには付属ラベルが必要)。
メモ: 名前でバンドル関数を使用するには、既存のクラスタが関数の中央の端子に配線されている必要があります。
Introduction to LabVIEW Hands-On 72 ni.com
波形データタイプには、波形のデータ、開始時間、∆tが含まれます。波形は、「波形作成」関数を使って作成します。波形の集録や解析に使用するVIや関数の多くは、デフォルトで波形データタイプを処理するよう設定されています。波形データタイプを波形グラフや波形チャートに配線すると、グラフ/チャートは波形のデータ、開始時間、∆xを基に、自動的に波形をプロットします。波形データタイプの配列を波形グラフ/
チャートに配線すると、グラフ/チャートは自動的に全ての波形をプロットします。
波形作成
絶対値のタイムスタンプで表した開始時間データを含む波形を作成したり既存の波形を変更したりするのに用います。タイムスタンプは実環境の時間や日付に基づいており、実環境のデータの記録には非常に有用です。
バンドル
相対的タイムスタンプを含む波形を作成したり既存の波形を変更したりするのに用います。t0への入力はDBLとなっています。バンドル関数を使用して波形を作成すると、負のX(時間)軸にデータをプロットすることが可能となります。
© National Instruments Corporation 73 Introduction to LabVIEW Hands-On
シフトレジスタは、データをある反復から次の反復に転送します。
• Forループの右側または左側を右クリックして、「シフトレジスタを追加」を選択します。
• 右の端子には反復の最後のデータが格納されています。次の反復の開始時には、データは左の端子にあります。
• シフトレジスタは、配線されているどのデータタイプにも適応することができます。
0を入力すると、最初の反復で5、2回目の反復で10、3回目で15というようになります。別の言い方をすると、シフトレジスタを使用して、1回の反復で得られた値を次の反復に繰り越します。状態の間にメモリやフィードバックが存在する多くのアプリケーションで非常に便利です。フィードバックノードは、その概念を別の方法で表したものです。下図では、いずれのプログラムも同じ動作を行います。
詳しくは、ヘルプ→LabVIEWヘルプを表示…をご覧ください。
Introduction to LabVIEW Hands-On 74 ni.com
時によっては、ブロックダイアグラム上の複数の場所から1つのフロントパネルオブジェクトにアクセスしたり、ワイヤで接続できないストラクチャの間でデータを渡すことが必要な場合もあります。そのようなタスクを実行するためには、「ローカル変数」を使用するとよいでしょう。
ローカル変数は、関数パレットのストラクチャサブパレットにあります。
ローカル変数をブロックダイアグラムに配置したとき、ローカル変数にはフロントパネルに最初に配置したオブジェクトの名前(付属ラベル)が含まれています。
ローカル変数を使用するには、まずアクセスするオブジェクトを選びます。操作ツールでローカル変数をクリックして付属ラベルによりオブジェクトを選択するか、ローカル変数をポップアップして項目を選択メニューからオブジェクトを選択します。
次に、オブジェクトの読み取りと書き込みのどちらを行うかを決めます。ローカル変数を右クリックして、読み取りに変更または書き込みに変更を選択します。
© National Instruments Corporation 75 Introduction to LabVIEW Hands-On
表示→ナビゲーションウィンドウを表示を選択して、このウィンドウを表示させます。
サイズの大きなフロントパネルやブロックダイアグラムを参照する際に、このウィンドウを使用します。ナビゲーションウィンドウで画像の一部の領域をクリックすると、その領域がフロントパネルまたはブロックダイアグラムウィンドウに表示されます。また、ナビゲーションウィンドウで画像をクリック&ドラッグして、フロントパネルまたはブロックダイアグラムをスクロールすることも可能です。
Introduction to LabVIEW Hands-On 76 ni.com
LabVIEWプロジェクト
LabVIEWプロジェクトにより、LabVIEWファイルやLabVIEW以外のファイルを1つのグループにまとめにしたり、ビルド仕様を作成したり、ファイルをターゲットに実装/ダウンロードしたりすることができます。ターゲットとは、VIが実行するデバイスまたはマシンのことです。プロジェクトを保存すると、構成、ビルド、実装に関する情報や、プロジェクト内のファイルへの参照などを含むプロジェクトファイル(.lvproj)が作成されます。
スタンドアロンアプリケーションや共有ライブラリを構築するには、プロジェクトを使用する必要があります。また、RT、FPGA、PDAの各ターゲットを利用する場合も、プロジェクトが必要です。LabVIEW Real-Time、FPGA、PDAの各モジュールでプロジェクトを使用するには、個々のモジュールのマニュアルを参照してください。
プロジェクトスタイルのLabVIEWプラグアンドプレイ計測器ドライバでは、LabVIEW
8.0のプロジェクトとプロジェクトライブラリを採用しています。プロジェクトスタイルのドライバは、旧バージョンのLabVIEWプラグアンドプレイドライバと同様に使用することができます。
プロジェクトエクスプローラウィンドウ
プロジェクトエクスプローラウィンドウで、プロジェクトの作成や編集ができます。プロジェクトエクスプローラウィンドウを表示するには、ファイル→新規プロジェクトを選択します。また、プロジェクト→新規プロジェクトを選択するか、あるいはファイル→新規を選んで「新規」ダイアログボックスで空のプロジェクトを選択して、プロジェクトエクスプローラウィンドウを表示することもできます。
© National Instruments Corporation 77 Introduction to LabVIEW Hands-On
Introduction to LabVIEW Hands-On 78 ni.com
今日では、より多くの企業で新規採用者にLabVIEWの知識や使用経験を求めるようになってきています。LabVIEW認定プログラムは、一連の職能試験から構成されています。LabVIEW認定証により、LabVIEWの専門知識と技術を証明できますので、就職やプロジェクトの入札に有利です。
LabVIEW認定準開発者はLabVIEW認定の第一歩で、LabVIEWやその環境を使用する上での基礎知識を実証するものです。学生にとっては、LabVIEW準開発者の認定証があれば、LabVIEWの専門知識が認知され、就職の際にもアピールすることができます。CLADは、米国各地にあるPearson VUEテストセンターで開催されている1時間のマークシート方式の試験です。この試験では、データフローの概念、プログラミング構造、高度なファイルI/Oテクニック、モジュール式プログラミングの実践、VIオブジェクトのプロパティや制御器のリファレンスなど、LabVIEW環境に関する様々なトピックについて出題されます。
CLAD認定に興味をお持ちの方のために、サンプルテストとして、オンラインで受験可能な無料のLabVIEW基礎能力テストをご用意しています。
LabVIEW開発者/アーキテクトの認定は、高度なLabVIEWの知識と豊富なアプリケーション開発経験を持つ開発者をプロフェッショナルとして認定するものです。さらに、アーキテクト認定では、プロジェクトチームのリーダーとしてのスキルや、大規模アプリケーションの開発経験も考慮されます。これらの試験は、ナショナルインスツルメンツが開催するもので、4時間ほどの実践形式の試験となっています。
© National Instruments Corporation 79 Introduction to LabVIEW Hands-On
Electronics Workbench社製品は、世界中の教育機関の電気工学や電子技術学科で最も広く採用されているエレクトロニクスソフトウェアです。教育機関向け製品を専門に扱う同社のソフトウェアは、学習/教育用ツールとして、多くの教育者に選ばれています。
MULTISIM —シミュレーションとキャプチャ
Multisimは、ドラッグアンドドロップ方式の直感的な回路図キャプチャ/シミュレーションプログラムで、これを使用すればアナログとデジタルの両方のコンポーネントを使った完全な回路を短時間で作成することができます。
MULTIMCU— マイクロコントローラのコシミュレーション
MultiMCUを使用すると、Multisimにマイクロコントローラユニットのコシミュレーション機能が追加されますので、アセンブリコードでプログラミングしたMCUをSPICE(およびオプションでVHDL)モデル回路内に組込むことができます。
MULTIVHDL — VHDLのコシミュレーション
MultiVHDLは、特許を取得したVHDLコシミュレーション機能をMultisimに追加するものです。高機能でありながら使いやすいアプリケーションで、HDLプログラミングに関する指導やMultisimプロジェクトにVHDLでプログラミングしたデバイスを組込むのに最適です。
ULTIBOARD — PCBレイアウト
Ultiboardを使用すると、PCB上の回路の物理的な実装や製造を実際に体験することができます。Multisim回路図は、ワンクリックでUltiboardにインポートすることが可能です。
ELECTRONICS CBT — コンピュータを使ったトレーニング
Electronics CBTは、入門レベルの独立型エレクトロニクスカリキュラムで、コースの中心的役割を果たし、講義のサポートとして利用することができます。E-CBTには、Multisimの仮想ラボ環境で直接実行できる400以上の練習問題や実験が搭載されています。
Introduction to LabVIEW Hands-On 80 ni.com
1. Multisim –回路図
• 使いやすい回路図
• クリックしてドラッグするのみ
• 3Dアニメーション部品
• 接続を壊さないワイヤドラッグ
2. Multisim –仮想ブレッドボード
• ブレッドボードテクニック
• 回路図と同期
• Elvis 対 応 の 配 線 レ ポ ー ト(ステップ5)
3. Multisim – シミュレーション
• 13.000個に及ぶ部品ライブラリ
• 20個の仮想計測器
• オンザフライの変更
• 新しいマイクロコントローラのシミュレーション
• ア ニ メ ー シ ョ ン 部 品 ( LED 、7セグメント表示)
4. Ultiboard – PCBレイアウト
• Multisimと統合
• 使いやすいインタフェース
• 3D画面
• 設計規則のチェック
• 自動ルーティング機能を組込み
5. Elvis – テスト
• 計測
• データ集録
• プロトタイプの作成
6. LabVIEW –比較
• 自動でインポート
– Multisimの仮想データ
– Elvisの実データ
• 理想のデータと現実のデータを比較
© National Instruments Corporation 81 Introduction to LabVIEW Hands-On
Introduction to LabVIEW Hands-On 82 ni.com
ソリューション練習2:
練習2 – トラックC
練習2 – トラックA/B
© National Instruments Corporation 83 Introduction to LabVIEW Hands-On
練習3.1:
練習3.1 – トラックA、B、C
Introduction to LabVIEW Hands-On 84 ni.com
練習3.2:
練習3.2 – トラックC
練習3.2 – トラックA/B
メモ:波形グラフと波形チャートは練習3.2と3.3で交互に使用しています。
© National Instruments Corporation 85 Introduction to LabVIEW Hands-On
練習3.3
練習3.3 – トラックC
練習3.3 – トラックA/B:
Introduction to LabVIEW Hands-On 86 ni.com
練習4.1/4.2:
練習4.2 – トラックA、B、C
練習4.1 – トラックA、B、C
© National Instruments Corporation 87 Introduction to LabVIEW Hands-On
練習5
練習5 – トラックA/B:
練習5 – トラックC
Introduction to LabVIEW Hands-On 88 ni.com