Hands-On Introduction to LabVIEW for Scientists and Engineers

温度計 / MCP9700A / DAQアシスタント

テキストは温度センサーにTMP36を使っているがここではMCP9700を使ってみる。どちらもアナログ出力である。 Temperature_Sensor_Express.vi - Google ドライブ

Lチカ / DAQアシスタント

DO[0:1]に接続したLEDを交互に点滅させてみる。 Alternating_LED.vi - Google ドライブ(isEvenOdd.vi - Google ドライブを使用) DO0、DO1の2本だけ使う。 生成モードは1サンプル(オンデマンド)にする。 下のように配線して実行する。フロントパネルには確認…

ファンクションジェネレーターを作る / DAQアシスタント

前に作ったWaveformSimulator_4.vi - Google ドライブをサブVIとして使う。 Waveform_Generator_Express.vi - Google ドライブ 1. いつものようにDAQアシスタントを配置して下のように選択する。 2. Use Waveform Timingボックスはチェックを外す(理由不明)…

DC可変電源を作る / DAQアシスタント

DC_Power_Supply_Express.vi - Google ドライブ myDAQのAOからは2 mAしか取り出せない。 1. これまでと同じようにDAQアシスタントをブロックダイアグラムに配置する。 2. 今回は電圧を出力するので下のように選択する。AO0から出力することにする。 3. 生成…

ディジタルオシロスコープを作る / DAQアシスタント

Digital_Ocsilloscope_Express.vi - Google ドライブ 前回と同じようにDAQアシスタントを配置して下の画面まで進む。今回はオシロなので集録モードを[Nサンプル]にする。Nサンプル集録モードは、buffered hardware-timed analog input動作である。サンプリン…

シンプルな直流電圧計 / DAQアシスタント

DC_Voltmeter_Express.vi - Google ドライブ 1. DAQアシスタントをブロックダイアグラムに配置する。 2. するとダイアログボックスが開く。電圧が測りたいので下のように選択する。 3. 今回はmyDAQのAI0端子を使うことにする。 4. すると下のダイアログボッ…

Express VI、DAQアシスタント函数、DAQmx VI、ELVISmx函数

Express VI 使いやすくて高度なタスクがたくさん自動化されているが機能は限られる。 DAQアシスタント函数 DAQデバイスの動作を制御するExpress VIの一種。 DAQmx VI 細かいプログラミングができるが難しい。 ELVISmx函数(ELVISmx Express VI) myDAQ専用のDA…

MAXでUSB-6002のシミュレーテッドデバイスを作ってみる

シミュレーテッドデバイスが何に利用できるのか今のところわからない。 1. [デバイスとインタフェース]を右クリックして[新規作成]を選択する。 2. 3. 4. 5. シミュレーテッドデバイスはアイコン(ここではUSBを表すアイコン)の色がオレンジ。 6. テストパネ…

MAXを使ってDAQタスクを作る

DAQタスクとは何???? Create_DAQ_Task_Using_MAX.vi - Google ドライブ 1. [タスクを作成]を選択する。 2.設定して保存する。 3. ブロックダイアグラムに[DAQmxタスク名]を配置する。 4. ▼をクリックし、2.で保存した[マイ電圧タスク]を選択する。 5. […

接続してあるDAQデバイスをMAXで検索する

MAXを開いたところ。 myDAQが検出された。"myDAQ1"という短縮名がついている。 [テストパネル]を使うと、接続してあるDAQデバイスの各種機能が簡単に試せる。

用語、略語、その他

用語集 - NI-DAQ™mxヘルプ - National Instruments Glossary - NI-DAQ™mx Help - National Instruments DAQ data acquisition MAX Measurement & Automation Explorer handyでinteractiveなutilityのこと。 AI Analog Input AO Analog Output DIO Digtal Inp…

[信号シミュレーション](Simulate Signal) Express VIと波形グラフとを使ってさまざまな波形を生成する

Express VIという組み込みVIもいろいろ用意されている。Express VIとは、ダイアログボックスを介して対話的に設定できるVIのことである。 Waveform_Simulator_Express_VI.vi - Google ドライブ これでChapter 4 The MathScript Node and XY Graphは大体終わ…

フォーミュラノードを使ってXYグラフに螺旋を描く

[極座標を直交座標に変換]という組み込み函数もある。 Spiral.vi - Google ドライブ

[基本関数発生器.vi](Basic Function Generator.vi)を使う

前回までに波形発生器をいくつか自前で作ったがそんなことをしなくても当然専用のVIがいろいろ用意してある。ここでは[基本関数発生器](Basic Function Generator.vi)を試してみる。正弦波、方形波、三角波、のこぎり波が生成できる。 WaveformSimulatorUsin…

振幅変調(AM)波形を生成する

サブVIにしておく。Chapter 12、Problem 5で使うとの由。 AM_Wave.vi - Google ドライブ

VIをサブVI化する方法

要するに函数化、サブルーチン化のことである。 このVIをサブVI化してみる。 フロントパネルの一番右上にあるアイコンを右クリックして[アイコンを編集]を選択する(しなくてもよい)。 次のウィンドウが開く(開かなくてもよい)。 好きなようにデザインする(し…

フォーミュラノードとXYグラフとによる波形生成 / [クラスタ]、[名前でバンドル解除]を利用して制御器、表示器の分類、個別化をする

WaveformSimulator_3.vi - Google ドライブ フロントパネルで[クラスタ]を使って制御器同士、表示器同士をまとめる。 そうしてまとめたクラスタをブロックダイアグラムの[名前でバンドル解除]で個々に分ける。 クラスタというのは結局構造体のことか? ―――――…

フォーミュラノードとXYグラフとによる波形生成 / 列挙体とスイッチ文とを組み合わせて波形が選べるようにする

WaveformSimulator_2.vi - Google ドライブ ―――――――――――――――――――――――――― Cの列挙型と同じ。 #include <iostream> using namespace std; enum sute{a = -10, b, c, d = 100, e, f}; int main(){ cout << sute::a << endl; cout << sute::b << endl; cout << sute::c << </iostream>…

フォーミュラノードとXYグラフとによる波形生成

1次元排列を2個バンドルしてXYグラフへ渡す。 WaveformSimulator.vi - Google ドライブ

フォーミュラノードを使って組み立てた排列で波形グラフに正弦波を描く

フォーミュラノードは排列を引数に取ることも排列を返すこともできる。 SineWaveGraph_FormulaNode.vi - Google ドライブ

フォーミュラノード

Cに準じた構文が使える。境界線に配置した端子が変数宣言の代わりになる。 FormulaNode.vi - Google ドライブ

数値積分

NumericalIntegration.vi - Google ドライブ ここまででChapter 3 The For Loop and Waveform Graphがだいたい終わり。

[波形作成(Build Waveform)]と波形グラフとを組み合わせて正弦波を描く

バンドルとの使いわけがよくわからない。 SinWaveGraph_build_waveform.vi - Google ドライブ

サイコロを何回振ったら目的の目が出るか、を何度も繰り返す。

ceil(random() * 6)で1~6 (両端含む)の正数乱数を生成する。 untilFiveAverage.vi - Google ドライブ

乱数の精度を見てみる

RandomNumber.vi - Google ドライブ Histgram.viに入力している100はビンの本数。

[待機(ms)]函数の精度

wait_test.vi - Google ドライブ まったくずれないこともあるが、 ずれることも多い。

正弦波をいくつか合成して矩形波を近似する

threeSines.vi - Google ドライブ

有限幾何級数2

y[n] = x0 + x1 + x2 + x3 + ...... + xn-1は、|x|<1のときy[∞] = 1/(1 - x)である。 x=0.5のときnが最低いくつであればn=∞のときの真値2.0との誤差が0.1%未満になるか。 finiteGeom_2.vi - Google ドライブ .tns ceiling(right(solve(abs(1-((∑(x^(n-1),n,1…

有限幾何級数

y[n] = x0 + x1 + x2 + x3 + ...... + xn-1は、|x|<1のときy[∞] = 1/(1 - x)である。 finiteGeom.vi - Google ドライブ .tns wolfram Sum[x^(n-1), {n,1,Infinity}]/;Abs[x]<1 N[Sum[(1/2)^(n-1), {n,1,10}],30] .py import numpy as np n = np.arange(1,10+…

秀吉の御褒美

monthTotalPay.vi - Google ドライブ .tns sum(seq(2^(n),n,0,99)) sum(2^(seq(n,n,0,99))) ∑(2^(n),n,0,99) Σはsumseqで入力できる。 .py import numpy as np print(sum([2**i for i in range(100)])) print(np.sum(2**np.arange(100, dtype=np.float64))) …