NI製品ディスカッション

cancel
Showing results for 
Search instead for 
Did you mean: 

csv形式のファイルを使って入力値に対してcsvファイルのMAPの値で出力したい

Solved!
Go to solution

はじめまして

LabVIEW初心者なのですが、

エクセルで数字の配列

x=1,y=20

x=2,y=45

x=3,y=50...

のようなMAPを作成してcsvファイル形式にして

計測で入力値が任意のxの値になったら出力値はMAPから読み込んでyの値で出力

のようなプログラムを書きたいのですがどのようにすればよいでしょうか。

ご教授お願い致します。

0 Kudos
Message 1 of 7
(4,049 Views)

dc_owl67さん、はじめまして

 

計測で、とおっしゃっているので、何かハードウェアを使用していることを前提にされていると思いますが、

とりあえずXを指定してMAPの中からそのXに対応するYを抜き出すプログラムを作ってみました。

LabVIEW 2016以降で開けると思います。

 

イメージはこのようなものでしょうか?

Download All
0 Kudos
Message 2 of 7
(3,987 Views)

marble_workerさん

返信ありがとうございます。

まさにイメージしていたのはこんな感じです。

 

計測なんですが、もう少し詳しく書かせていただきますと

温度計測をしていて、その計測温度が例えば20℃に対して、MAPから20℃の時は

x=20,y=30とMAPに書いてあったら、20℃の時は30の出力で動作させる

(この場合は例えば扇風機の出力の強さとします)のようなプログラムを作りたいと思っていました。

 

送っていただいたviですと、任意のxのブロック図のところが温度計測の値にして、

yの値をそのまま別のハードウェアに出力するブロック図を作成する流れであっていますでしょうか。

0 Kudos
Message 3 of 7
(3,981 Views)

dc_owl67さん

 

そうですね、Xの部分は計測した実際の値を入れて、yの値をハードウェアに渡して出力させるというプログラムを書けば動くと思います。

ただ、個人的に気になっているところとしては、MAPに定義していないXの値がきたときにどのようにyを決めるか、ですね。温度計測の精度によるかもしれませんが、ぴったり20℃と測れたりするのでしょうか?

 

X(計測された温度)が○○から××までの範囲ならyは△△、というようなプログラムにしたほうが便利かなと思うのですがいかがでしょうか?

0 Kudos
Message 4 of 7
(3,891 Views)

marble_workerさん

返信遅くなってしまい申し訳ありません。

 

そうですねおっしゃる通りです。

温度計測の値が小数点第一までの値がでてくるので、丸め込みを応用して

入力値を四捨五入して値をMAPに読み込ませようと考えておりました。

0 Kudos
Message 5 of 7
(3,784 Views)
Solution
Accepted by topic author dc_owl67

横から失礼します。むしろ補間の関数の方がイメージに近いのではないでしょうか?

1D補間サンプル.jpg1D補間サンプルFP.jpg

0 Kudos
Message 6 of 7
(3,757 Views)

TAKASUさん

ご教授ありがとうございます。

 

確かに、温度(入力値)を四捨五入するより、きちんと元データの値のまま

MAPに読み込ませて補間させた方がいいですね。

細かいところまでありがとうございます。

皆様方のアドバイスをもとに自分でも理解を深めようと思います。

0 Kudos
Message 7 of 7
(3,734 Views)