ELVIS の準備と LabVIEWmoriya/class/1AS_Exp/002...2. LabVIEW の準備 0.ELVIS...

13
資料: ELVIS の準備と LabVIEW による 計測プログラムの作成 LabVIEW によるプログラミングは使いこなせば,かなり高度な部分まで細かく設定が出来る. 今回は入門と言うことで本当に必要な部分だけを経験する.必要があれば卒業研究や開発で使いこなす ことになるだろう. 1. ELVIS の準備 ①ELVIS のメイン・サブ電源を入れ,ノート PC と USB 接続を行う ②センサと ELVIS の接続用変換基盤をブレッドボードの任意の場所に差し込み,配線を行う. ・今回使用するセンサの出力は「SIG1」の 1ch のみ ・計測するための入力端子はアナログインプット0 の「AI0」.これがオシロスコープの プローブに相当する ・センサへの供給電源は 5V ・アナログインプットの GND を電源の GND につながないと,入力がフローティング状態になって しまうので,必ず両者をつなぐこと 変換基盤を ELVIS のブレッドにさす センサ出力 SIG1 と GND を AI0 に入力 写真は GND がつながっている状態 センサへ 5V を供給し,GND も接続 このような感じになります AI0 の GND にも接続. 非常にシンプルな接続です 注意:5V と SIG1 は別信号です

Transcript of ELVIS の準備と LabVIEWmoriya/class/1AS_Exp/002...2. LabVIEW の準備 0.ELVIS...

Page 1: ELVIS の準備と LabVIEWmoriya/class/1AS_Exp/002...2. LabVIEW の準備 0.ELVIS のランチャーがオートで立ち上がった場合は終了する.今回は使用しない

資料:

ELVIS の準備と LabVIEW による

計測プログラムの作成

LabVIEW によるプログラミングは使いこなせば,かなり高度な部分まで細かく設定が出来る.

今回は入門と言うことで本当に必要な部分だけを経験する.必要があれば卒業研究や開発で使いこなす

ことになるだろう.

1. ELVIS の準備

①ELVISのメイン・サブ電源を入れ,ノート PCとUSB 接続を行う

②センサと ELVISの接続用変換基盤をブレッドボードの任意の場所に差し込み,配線を行う.

・今回使用するセンサの出力は「SIG1」の 1ch のみ

・計測するための入力端子はアナログインプット 0 の「AI0」.これがオシロスコープの

プローブに相当する

・センサへの供給電源は 5V

・アナログインプットの GNDを電源の GND につながないと,入力がフローティング状態になって

しまうので,必ず両者をつなぐこと

変換基盤を ELVISのブレッドにさす センサ出力 SIG1 とGNDを AI0 に入力

写真は GNDがつながっている状態

センサへ 5Vを供給し,GND も接続 このような感じになります

AI0の GND にも接続. 非常にシンプルな接続です

注意:5Vと SIG1 は別信号です

Page 2: ELVIS の準備と LabVIEWmoriya/class/1AS_Exp/002...2. LabVIEW の準備 0.ELVIS のランチャーがオートで立ち上がった場合は終了する.今回は使用しない

2. LabVIEW の準備

0.ELVIS のランチャーがオートで立ち上がった場合は終了する.今回は使用しない

①LabVIEW を立ち上げ,「プロジェクトを作成」から「ブランク VI プロジェクト」を作成する

この先,「制御器」と「プログラム」のふたつのWindow を用いる.制御器はブレッドボードに電子部品

を配置するようなイメージで実際に動作が行われるのはこちらのウィンドウとなる(プログラミング

における実行画面と考える).プログラムは,その制御器に配置された部品をどのように動作させるか

のプログラムを行うので if や while などは全てこちらでプログラムする.

②制御器の「制御パレット」と「ツールパレット」をメインで使用するので用意しておく

Page 3: ELVIS の準備と LabVIEWmoriya/class/1AS_Exp/002...2. LabVIEW の準備 0.ELVIS のランチャーがオートで立ち上がった場合は終了する.今回は使用しない

3. 計測プログラムの作成

今回作成するプログラムは

「停止ボタンを押すまで,ELVIS の CH0 の信号を計測して,

それをディスプレイする/ファイルに書き込む」

というシンプルな動作である.計測時間の設定や複数チャンネルの同時計測などプログラムを拡張し

ていくことは可能であるので,興味のある学生は各自取り組むと良い.

C 言語であれば

while ( 「停止ボタン」!= ON )

{

【関数】ELVISの信号をサンプリング(一定時間分を配列に格納)

・必要パラメータは,サンプリング周波数,計測チャンネル,1画面表示数

【関数】(配列データを)制御機器のモニタに出力

【関数】(配列データを)ファイルに書き込み(fprintf)

} // End of program

この程度のプログラムである.これらの【関数】がライブラリとして用意されていて,モジュール的に

すぐに使うことができることは GUI ベースの利点である.

①制御器(計測実行画面)の作成

上記の計測プログラムの実行必要な要素は「波形表示(モニタ)」「計測開始ボタン」「計測停止ボタン」

である.今回は(保存ファイル名を指定して)実行と同時に計測を開始することにして「計測開始ボタン」

は省略して,計測中を示すパイロットランプ(LED)を追加することとする

今回必要な最低限の制御器の要素(配置は各自のセンスで行ってください)

Page 4: ELVIS の準備と LabVIEWmoriya/class/1AS_Exp/002...2. LabVIEW の準備 0.ELVIS のランチャーがオートで立ち上がった場合は終了する.今回は使用しない

■パイロットランプ(LED)と停止ボタンの配置

「制御器」-「モダン」-「プール」から「円 LED」または「四角 LED」を画面にドラッグ&ドロップで

配置する.LED は好きな方を選んで良い.同様に停止ボタンも配置する

※配置場所は各自のセンスで変更して良い

※大きさは自由に変えられるので見やすい大きさに各自が変えること

※右クリックの「プロパティ」で名前を付けられるのでたとえばそれぞれ「計測中」や「STOP」

などにする. 各自のセンスで命名して良い

■波形モニタの配置

「クラシック」-「クラシックグラフ」から「クラシック波形グラフ」を選択,配置する.

※初期の大きさだととても見にくいので適切に拡大する

※これも適切に名前を付ける.波形チャートでは見えにくい!似ているので注意

Page 5: ELVIS の準備と LabVIEWmoriya/class/1AS_Exp/002...2. LabVIEW の準備 0.ELVIS のランチャーがオートで立ち上がった場合は終了する.今回は使用しない

②プログラム作成

部品をダブルクリックするか,プログラムウィンドウをひらく.オートで以下の画面になってい

るはずである.ここでも「表示」-「ツールパレット」でツールパレットを出す.プログラムであるか

ら,「関数」を用意しよう.「表示」-「関数パレット」を出す.プログラムに必要な関数は(今回の場

合は)ここでそろっている.

制御器設定後の初期画面 関数パレットを用意する

■while ループの設定

「ストラクチャ」-「while ループ」を選択,

比較的大きめのループを作成する(後からほ

かの関数も入れるので大きさは必要)

※大きさはあとからも変更可能

※赤いボタンが「ループ条件」で初期条件は

「Falseの間ループする」になっている

Page 6: ELVIS の準備と LabVIEWmoriya/class/1AS_Exp/002...2. LabVIEW の準備 0.ELVIS のランチャーがオートで立ち上がった場合は終了する.今回は使用しない

■「ボタンを押したら停止」

■計測中=while の中は LED を光らせる

■計測中(=whileの中)は LED を光らせて,while を抜ければ消す

これは論理代数で実現できる.「while中は常に 1」「STOP ボタンが押されれば消える」を

実現する.

これによりボタンを押していない=False の間は while ル

ープが回り続け,押したとき=Trueにループが終わる

whileの中では,LEDに常に True(ブール代数にあります)

を入れておけば while 中はずっと光るのだが,実はプログラ

ムエンド時に制御器がその状態を引継ぐのできちんと OFF

にしてからループを出なければならない.

関数の接続はツールのボビンマークで行う.パーツの移動

は指や矢印でおこなう.何回か行うと慣れてくるでしょう

STOP ボタンは while の終了条件にも使用する

ので,その部分を残す必要がある.

図の?に演算子を入れてみよう.

※ここは各自で考えること

Page 7: ELVIS の準備と LabVIEWmoriya/class/1AS_Exp/002...2. LabVIEW の準備 0.ELVIS のランチャーがオートで立ち上がった場合は終了する.今回は使用しない

■実行テスト

■(班員が複数の場合)一人の学生だけがプログラムをすると

他の学生の学習にならないので,ここでプログラマーを交

代すること.

プログラムは「操作」-「実行」で Runでき

る.

点灯している LED ランプが停止ボタンと

ともに消えれば正解.プログラム実行中は

制御器背景のグリッド線はなくなる.

Page 8: ELVIS の準備と LabVIEWmoriya/class/1AS_Exp/002...2. LabVIEW の準備 0.ELVIS のランチャーがオートで立ち上がった場合は終了する.今回は使用しない

【計測パート】

■信号計測プログラム(パラメータ設定)

・「測定 I/O」-「NI ELVISmx」から「Oscilloscope」を選択し,while ループ内に配置する

計測データが起点になるので,ループの左側に

配置することを推奨する.

オシロスコープを配置をすると,すぐに計測の

設定が始まる.

Page 9: ELVIS の準備と LabVIEWmoriya/class/1AS_Exp/002...2. LabVIEW の準備 0.ELVIS のランチャーがオートで立ち上がった場合は終了する.今回は使用しない

■オシロスコープの設定を行う

➢ DeviceはNI ELVIS II+であることを確認する

➢ Channel 0 Enable に☑を入れる

➢ Sourceはアナログインプット 0なので「AI0」を選択する

➢ Rangeは 5V, Couplingは DC, Probeは 1× を確認する

➢ Acquireを Continuous に変更する(そうしないと 1画面分だけの計測になる)

➢ Sampling Rateは計測ごとにして位置に変更することとする.

➢ Record Length はモニタの 1画面表示時間の設定となる.今回作成する計測プログラムは 1画

面分ごとにファイルに追加書き込みを行うため,データの書き込みと次の準備のために 2-5秒

の空白が生じてしまう(そうならないプログラムも作成できるが,とても高度になってしま

う!).

Page 10: ELVIS の準備と LabVIEWmoriya/class/1AS_Exp/002...2. LabVIEW の準備 0.ELVIS のランチャーがオートで立ち上がった場合は終了する.今回は使用しない

【ここで一度確認】

ここで, 3V,100Hz の信号を入力し, を押して,一画面分だけモニタテストを行い,信号が

正しく入力されているか確認する.条件は以下の通り.

・Sampling Rate は 1000Sample/sec

・Record Length は正弦波 5波形分のデータ数(各自で計算せよ)

【重要】

下図のようにアナログ入力端子 AI0 に発信器の信号を直接入力すると,GND なしのフローティング状態

となる.AI0 の GND は必ずボードの GND とも接続されていなければならない.言い換えると,発信器

の GND はボードの GNDとアナログ入力のマイナスの二つと接続する.

☆ここで,正弦波が 5 波形表示されていれば次へ進み,されていなければどこかに間違いが

あるのでそれを解決する

■テストが終わったら Record Length を Sampling Rate と同じ値に再設定してから(つまり,

一画面の表示時間を 1 秒に設定),OK を押して設定完了

発信器から

Page 11: ELVIS の準備と LabVIEWmoriya/class/1AS_Exp/002...2. LabVIEW の準備 0.ELVIS のランチャーがオートで立ち上がった場合は終了する.今回は使用しない

・計測結果をモニタに表示する

■3 人班の場合はここでさらにプログラマーを交代すること.

・ファイルへの書き込み

ファイルには計測パラメータなど様々な情報も追加できるが,プログラムで読み込んでデータ処理

することを考えてシンプルに時間と電圧値データのタブ区切りデータで書き込むことにする.カンマ

区切りの方がいい場合は各自の判断で行っても良い.

オシロスコープの下をのばすといろいろな

パラメータが表示される.

オシロスコープ右上の Channel 0 の出力を

モニタに入力(接続)する.

これでモニタに波形が表示されるのでテス

トを行う.0V周辺の雑音信号が表示されれ

ば正しく動作している.

「関数」-「ファイル I/O」から「計測ファイルに書

き込む」を選択して while 内に配置する.

データの受取端子は左なのでオシロスコープの右

側に配置する.

Page 12: ELVIS の準備と LabVIEWmoriya/class/1AS_Exp/002...2. LabVIEW の準備 0.ELVIS のランチャーがオートで立ち上がった場合は終了する.今回は使用しない

・保存ファイルの設定を行う

➢ 「1つのファイルに保存」を選択,ファイル選択に要求に☑,「一度だけ確認」を選択

➢ デスクトップに「Temp」フォルダを作成,そこを初期フォルダとする

➢ ファイルが既存の場合は「既存ファイル名を変更」か「次の使用可能ファイル名を使用」を選択.

各班でそのルールを覚えておくこと

➢ ファイル形式はテキスト(LVM)かエクセルを選択する.実際にファイル名を打ち込む時の拡張子

は.xls にするとエクセルで開けて,すぐに図が書けて便利である.

➢ ヘッダはなし(ヘッダがあるとプログラムで読み込むときに苦労する)

➢ X 値は「1列/チャンネル」を選択

➢ デリミタはタブでもカンマでも良い.タブだとエクセルで開くときに使いやすい

Page 13: ELVIS の準備と LabVIEWmoriya/class/1AS_Exp/002...2. LabVIEW の準備 0.ELVIS のランチャーがオートで立ち上がった場合は終了する.今回は使用しない

■プログラムの完成

今回のプログラムはこのようになる.適切なラベル(テキスト)を付けておくこと.

■実行テストとデータ確認

先ほど確認した正弦波 3V,100Hz を 5波形分を Sampling Rate 1000 Samples/sec で計測して,

1) ファイルが出来ていること

2)そのデータをエクセルにてグラフにして,正しく計測されていることを確認する.

■実験においても計測したデータは,正しく計測できているかどうかを毎回必ず確認すること.