Hands-On Introduction to LabVIEW for Scientists and Engineers

単体計測器の制御 / LINXでArduinoを制御する / オシロのようなものを作る

pp.649-650、USE IT! (続き) Arduino_Slow_Oscilloscope.vi - Google ドライブ 基本トリガ検出.viでソフトウェア的にトリガをかける。下の例では、サンプル数で指定した数の2倍サンプリングして、トリガの検出された位置からサンプル数だけデータを波形グラ…

単体計測器の制御 / LINXでArduinoを制御する / analogRead()と同じことをする

pp.648-649、USE IT! ArduinoのanalogRead()と同じことをしてみる。 Arduino_analogRead.vi - Google ドライブ

単体計測器の制御 / LINXでArduinoを制御する / LINXをインストールする

VIPMを使ってLINXをインストールする。目的のモジュールを探して右クリックし、あとは指示に従う。 下のようにLINXが使えるようになった。 LINX Firmwareをロードする。

単体計測器の制御 / 電圧の時間的変化を測る

pp.647-648、DO IT YOURSELF Time_Evolution_of_X.vi - Google ドライブ 下記の動作をするviを作る。 或るDC電圧値を一定時間ごとに取得する。 その電圧の時間的変化を波形チャートにリアルタイムに表示する。 取得されたデータをスプレッドシートファイルに…

単体計測器の制御 / 既製のInstrument Driverを使う

前回はオシロのシステム時間を設定するviを作ったが、既製のInstrument Driverはここにたくさんある。 ここではKeysight 2000 3000 4000 X-Series (EDUX1002Gもここに含まれる)用のPlug and Play (project-style) Instrument Driverをダウンロードする。 ダ…

単体計測器の制御 / 何か便利なviを作ってみる

テキストはディジタルマルチメーター34410Aを取り上げているが手持ちはオシロEDUX1002Gしかないのでテキストの内容はほとんど試せない。 ここではオシロのシステム時間を設定するviを作ってみた。 Set_DateTime_for_EDUX1002G.vi

単体計測器の制御 / Service Request方式でステータス報告を行う / 実際に測定してみる

pp.624-628 VISA_Query_Service_Request.vi - Google ドライブ 前回作った初期設定用のサブviを使って実際に何かを測定してみる。ここではFrequency Response Analysisを実行した。 Wait for RQS.viは、計測器がSRQをアサートするのを待つ。

単体計測器の制御 / Service Request方式でステータス報告を行う / 初期設定用のサブviを作る。

pp.622-624 VISA_Query_Serial_Poll.vi - Google ドライブ *SRE 32コマンドを計測器に送信すると、SBRのビット[5] (ESB)がセットされたときに計測器によってSRQラインがアサートされる。 *ESE 1コマンドを計測器に送信すると、SESRのOPCビットがセットされた…

単体計測器の制御 / Serial Poll方式でステータス報告を行う / まとめ

p.622 VISA_Query_Serial_Poll.vi - Google ドライブ 単体計測器の制御 / Serial Poll方式でステータス報告を行う / 初期設定用のサブviを作る - 単体計測器の制御 / Serial Poll方式でステータス報告を行う / 実際にSerial Pollを行うサブviを作る -で作っ…

単体計測器の制御 / Serial Poll方式でステータス報告を行う / 実際にSerial Pollを行うサブviを作る

pp.618-622 Serial_Poll.vi - Google ドライブ [VISA STB読み取り]はSBRの8ビット値を符号なし整数で返す。このサブviは、目的のビット(Which Bit?)がセットされるまで計測器のStatus Byte Registerを読み続けてループに閉じこもり続ける。

単体計測器の制御 / Serial Poll方式でステータス報告を行う / 初期設定用のサブviを作る

まず初期設定用のサブviを作る。 Status_Config_Serial_Poll.vi - Google ドライブ *CLSは、SESRの内容とSBRの内容とをクリアする。 *ESE 1は、Status Byte RegisterのESBをセットする許可をSESRのOPCビットに与える。 *SRE 0は、SQRをアサートすることを計…

単体計測器の制御 / SESRとSBRとでタスクのステータスを監視する

pp.614-615 SESR (Standard Event Status Register)とSBR (Status Byte Register)とを利用すると、計測器側で実行されているタスクのステータスが監視できる。 利用する方法は2つある。1つはSerial Poll方式、もう1つはService Request方式である。動作は基…

単体計測器の制御 / 読み取るデータが全部揃うまで時間のかかるときは

pp.608-614 読み取るデータが全部揃うまで時間のかかるときは、プロパティノードを配置してタイムアウト値をデフォルトよりも長めにとる。 Simple_VISA_Query_Measure_Something_Long_Delay.vi - Google ドライブ 下の図はFrequency Response ANalysisを実行…

単体計測器の制御 / 実際に何かを測ってみる

pp.603-608 Simple_VISA_Query_Measure_Something.vi - Google ドライブ ここでは、オシロの校正信号(1kHz)をオシロのチャンネル1に入力して、その周波数、立ち上がり時間、立ち下がり時間を計ってみた(:MEAS:FREQ? CHAN1;:MEAS:RIS? CHAN1;:MEAS:FALL? CHAN…

単体計測器の制御 / MAXで認識する、と同じことをviで実行する

pp.594-599 Simple_VISA_Query.vi - Google ドライブ

単体計測器の制御 / MAXで認識する

pp.587-593 オシロスコープEDUX1002GとPCとをUSB接続する。 下のようにMAXに認識された。VISAリソース名も表示される。 [VISAテストパネルを開く]ボタンを押して下のダイアログを開く。 [Input/Output]ボタンを押して画面を移動する。コマンドとして最初から…

MAXを使って仮想チャンネルを作る

p.572、problem 10 仮想チャンネルもMAXで作れる。 MAXを起動し、[データ設定]を右クリックし、[新規作成]を選ぶ。 [NI-DAQmxグローバル仮想チャンネル]を選んで[次へ]をクリックする。 ここではオシロのようなものを作るので下のように選択する。 チャンネ…

MAXで作ったタスクからコードを自動生成する

p.572、problem 9(b) [DAQmxタスク名]アイコンを配置して目的のタスクを選ぶ。 そのアイコンを右クリックし、[コード生成]、[構成とサンプル]の順に選ぶ。 下のコードが自動的に生成された。

MAXを使ってタスクを作る

p.572、problem 9(a) Digital_Oscilloscope_MAX_Task.vi - Google ドライブ これまではブロックダイアグラム上で直接タスクを作っていたが、ここではMAXを使ってオシロスコープのようなタスクを作ってみる。 MAXを起動し、[マイシステム]、[データ設定]の順…

SPIで何かを書き込んでみる / ディジタルポテンショメーターAD8402ARZ50を制御する

p.568、problem7 Digital_Potentiometer_Using_SPI_Write.vi - Google ドライブ SPI_Write.vi - Google ドライブ テキストはAD5206BN-100を使っているが入手できなかったのでAD8402ARZ50を使った。50kΩのポテンショメーターを2個内蔵したICである。2ビットで…

DAQmxだけでFGを実現する、を実行中に設定が変えられるようにする

p.568 PROBLEM 6 Waveform_Generator_DAQmx_State_Machine.vi - Google ドライブ DAQmxだけでFGを実現する -、を実行中に設定が変えられるようにする。ステートマシンを利用する。生成した波形はELVISmxの単体オシロで観測した。

SPIで何かを読み出してみる / K型熱電対とMAX31855 (5V版) / NISTの変換式で変換する

p.567 PROBLEM 4 Thermocouple_Temperature_Using_SPI_Read_NIST.vi - Google ドライブ 今度は1回に28ビットを読み出す。MAX31855の内部で線形変換した測定温度(14ビットデータ)と冷接点側の温度(12ビットデータ)とから熱電対の出力電圧を逆算し、その電圧を…

SPIで何かを読み出してみる / K型熱電対とMAX31855 (5V版) / MAX31855内部で線形変換した温度を読む

p.561のUSE IT! Thermocouple_Temperature_Using_SPI_Read.vi - Google ドライブ K型熱電対とMAX31855 K型熱電対温度センサ 5V版 Rev.3 - スイッチサイエンスとを組み合わせてSPIで温度を読み出してみる。MAX31855自体は3.3V動作であるが、このブレークアウ…

DAQmxだけで周波数カウンターを実現する

DAQmx_Count_Edges.vi - Google ドライブ p.560 DO IT YOURSELF DAQアシスタントに頼らずにDAQmxだけで周波数カウンターを実現する。一定の測定時間での立ち下がりの回数を数える。 FGはELVISmxの単体FGを使った。

DAQmxだけでFGを実現する

pp.557-562 Waveform_Generator_DAQmx.vi - Google ドライブ DAQアシスタントに頼らずにDAQmxだけでFGを実現してみる。WaveformSimulatir_4.viで1描画分の1D排列を作って、それをDAQmx Write.viのデータ端子に入力する。そのデータがバッファーに入れられて…

DAQmxだけでアナログ入出力を実現する

DC_Voltage_IO_DAQmx.vi - Google ドライブ pp.556-557 DAQアシスタントに頼らずにDAQmxだけでアナログ入出力を実現してみる。チャンネルを開いて書き込むか読み取るかする。 RSEはreferenced single endedの略。NIは「基準化シングルエンド」と訳しているが…

DAQmxだけでシンプルなオシロスコープを作る、の改良版

pp.543-556 Digital_Oscilloscope_DAQmx_State_Machine.vi - Google ドライブ DAQmxだけでシンプルなオシロスコープを作る -で作ったviは実行中にサンプリングパラメーターが変更できない。ループ内にDAQmx Timing.viを入れれば変更できるようになるが、それ…

DAQmxだけでシンプルなオシロスコープを作る

pp.533-540 Digital_Oscilloscope_DAQmx.vi - Google ドライブ DAQアシスタントに頼らずにDAQmxだけでシンプルなオシロスコープを作ってみる。残念なことにmyDAQはハードウェアトリガがかけられないので、Basic Level Trigger Detection.viを使うなどしてソ…

DAQmxだけでシンプルな電圧計を作る

pp.527-533 DC_Voltmeter_DAQmx.vi - Google ドライブ DAQアシスタントに頼らずにDAQmxだけでシンプルな電圧計を作ってみる。基本的に、チャンネルを開いてから消去するまでタスクを渡してゆくだけである。 使い古しの電池の電圧をmyDAQのAIN0+、AIN0-で測っ…

DAQアシスタントを使わずにDAQmxを使って一からタスクを組み立てる

p.526 基本的には下の5段階から成る。 タスクの作成と設定を行う。 タスクを開始する。 データの読み取り書き込みをおこなう。 タスクを停止する。 タスクを消去する。