NI製品ディスカッション

キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

タグを利用した、使用量の測定

解決済み
解決策を見る

いろいろな参考ありがとうございます!

理解できました。

ただ、総重量から使った後の総重量の差分を出すプログラムがなかなか出来ず、困っています。

何か解決策ありますでしょうか。

0 件の賞賛
メッセージ11/25
646件の閲覧回数
解決策
トピック作成者kotetsu045が受理

ご理解いただき大変助かりました。

差分計算は、値の保持方法が確定してからでないと難しいかと思います。この部分はさまざまな方法が考えられます。添付したプロトタイプのコードはそのうちの1つの方法です。実機がありませんので、あくまで想像で作成しておりますので通信がうまくいかない可能性もございますので予めご了承ください。

 

まずステートマシンで各ステート(ケース)に値を渡す方法は、プロジェクトを作成機能から作成できる簡易ステートマシンのテンプレートにあるクラスタを利用しています。

 

タグは、1次元の文字列配列に入れています。重さは、測定対象物によって測定回数が変わりそうなので、2次元数値配列は望ましくなさそうと思い、1次元のクラスタ配列を作成して、その中に1次元の数値配列を入れています。

 

動作としては、タグボタンを押してタグを読み取ると、UI待機に戻ります。その後、電子天秤ボタンを押すと即時測定して差分計算に移ります。

 

ユーザの操作は、以下の手順を想定してみました。試験対象物はUUTとして記載し、プログラムを実行後の操作を示しています。

 

  1. タグボタンを押して、UUTのタグを読み取ります。
  2. 電子天秤ボタンを押して、UUTの重さを測定します。
  3. UUTを使用します(重量減少?)。
  4. タグボタンを押して、UUTのタグを読み取ります。
  5. 電子天秤ボタンを押して、UUTの重さを測定します。

 

こうすれば、複数のUUTを順不同に使用して測定しても差分計算ができるのではないかと思います。

 

これはあくまで1例ですので、ご自身が行いたい処理を作成していただければと思います。

 

0 件の賞賛
メッセージ12/25
635件の閲覧回数

返信の方遅くなり申し訳ございません。

送ってくださったファイルで成功しました!

本当にありがとうございます。

あとは、自分なりに改良してみます。

0 件の賞賛
メッセージ13/25
621件の閲覧回数

あとは、このタグと電子天秤のボタンをなくし自動化にしたいのですが、頂いたサンプルからの改良でそのようなことは可能ですか?

0 件の賞賛
メッセージ14/25
616件の閲覧回数
解決策
トピック作成者kotetsu045が受理

プログラム的には可能です。UI待機のステートを通らないような状態遷移に変更し、電子天秤のプログラム部分を測定されるまで読み取りを繰り返すように変更が必要だと思います。

 

ステートは、Initialie以降、タグ読み取り >> 電子天秤 >> 差分の順で実行してから、再度タグ読み取りで読み取られるまで通信し続けるように変更します。

 

あとは、お使いの機器が応答があるまで読み書きを繰り返しても問題ないかどうか次第です。

0 件の賞賛
メッセージ15/25
612件の閲覧回数

ありがとうございます。

そちらの方法で解決できました。

0 件の賞賛
メッセージ16/25
596件の閲覧回数

申し訳ございません。再度質問があります。

参照したタグの読み取りプログラムでは各タグの文字列により、しょうゆとマヨネーズと表示されるようになっています。

ここから、しょうゆとマヨネーズの使用量(差分)を参照した例のようにフロントパネルに表示させたいのですが、行き詰っています。

何か方法はございませんか?

すべてをダウンロード
0 件の賞賛
メッセージ17/25
585件の閲覧回数

添付いただいた2つのVIはサブVIとして使用して、メインVIに例.xlsxのように表示したいということでしょうか?差分している部分が見当たりません。

 

それとも、差分計算をする前に2つのVIを連続的に実行して適切な値を読み取ったら停止するようにしたいということでしょうか?

0 件の賞賛
メッセージ18/25
579件の閲覧回数

タグの読み取りというプログラムをメインVIにして電子天秤をサブVIとして作成したいです。

ステートマシンを使わずに差分を取りたいのですが差分の取り方の仕組みがわかりません。

電子天秤においてあるしょうゆをとる→タグを読み取り→しょうゆを使用→再度タグを読み取り→しょうゆを電子天秤に戻す→差分を表示という流れです。

 

0 件の賞賛
メッセージ19/25
576件の閲覧回数

タグ読み取りも2度行うようですので、それもサブVIにしていいと思います。

各VIは、コネクタペーンで端子割り当てがあり、サブVI化されているようですので、新規VIにそれらのサブVIを順番に配置して値を出力させれば、1度目の電子天秤測定結果と2度目の結果を差分できます。

0 件の賞賛
メッセージ20/25
570件の閲覧回数