10-25-2019 02:47 AM
いろいろな参考ありがとうございます!
理解できました。
ただ、総重量から使った後の総重量の差分を出すプログラムがなかなか出来ず、困っています。
何か解決策ありますでしょうか。
10-25-2019 04:06 AM
ご理解いただき大変助かりました。
差分計算は、値の保持方法が確定してからでないと難しいかと思います。この部分はさまざまな方法が考えられます。添付したプロトタイプのコードはそのうちの1つの方法です。実機がありませんので、あくまで想像で作成しておりますので通信がうまくいかない可能性もございますので予めご了承ください。
まずステートマシンで各ステート(ケース)に値を渡す方法は、プロジェクトを作成機能から作成できる簡易ステートマシンのテンプレートにあるクラスタを利用しています。
タグは、1次元の文字列配列に入れています。重さは、測定対象物によって測定回数が変わりそうなので、2次元数値配列は望ましくなさそうと思い、1次元のクラスタ配列を作成して、その中に1次元の数値配列を入れています。
動作としては、タグボタンを押してタグを読み取ると、UI待機に戻ります。その後、電子天秤ボタンを押すと即時測定して差分計算に移ります。
ユーザの操作は、以下の手順を想定してみました。試験対象物はUUTとして記載し、プログラムを実行後の操作を示しています。
こうすれば、複数のUUTを順不同に使用して測定しても差分計算ができるのではないかと思います。
これはあくまで1例ですので、ご自身が行いたい処理を作成していただければと思います。
10-28-2019 02:47 AM
返信の方遅くなり申し訳ございません。
送ってくださったファイルで成功しました!
本当にありがとうございます。
あとは、自分なりに改良してみます。
10-28-2019 03:13 AM
あとは、このタグと電子天秤のボタンをなくし自動化にしたいのですが、頂いたサンプルからの改良でそのようなことは可能ですか?
10-28-2019 04:29 AM
プログラム的には可能です。UI待機のステートを通らないような状態遷移に変更し、電子天秤のプログラム部分を測定されるまで読み取りを繰り返すように変更が必要だと思います。
ステートは、Initialie以降、タグ読み取り >> 電子天秤 >> 差分の順で実行してから、再度タグ読み取りで読み取られるまで通信し続けるように変更します。
あとは、お使いの機器が応答があるまで読み書きを繰り返しても問題ないかどうか次第です。
10-29-2019 04:25 AM
ありがとうございます。
そちらの方法で解決できました。
10-29-2019 04:52 AM
申し訳ございません。再度質問があります。
参照したタグの読み取りプログラムでは各タグの文字列により、しょうゆとマヨネーズと表示されるようになっています。
ここから、しょうゆとマヨネーズの使用量(差分)を参照した例のようにフロントパネルに表示させたいのですが、行き詰っています。
何か方法はございませんか?
10-29-2019 05:27 AM
添付いただいた2つのVIはサブVIとして使用して、メインVIに例.xlsxのように表示したいということでしょうか?差分している部分が見当たりません。
それとも、差分計算をする前に2つのVIを連続的に実行して適切な値を読み取ったら停止するようにしたいということでしょうか?
10-29-2019 05:39 AM
タグの読み取りというプログラムをメインVIにして電子天秤をサブVIとして作成したいです。
ステートマシンを使わずに差分を取りたいのですが差分の取り方の仕組みがわかりません。
電子天秤においてあるしょうゆをとる→タグを読み取り→しょうゆを使用→再度タグを読み取り→しょうゆを電子天秤に戻す→差分を表示という流れです。
10-29-2019 05:57 AM
タグ読み取りも2度行うようですので、それもサブVIにしていいと思います。
各VIは、コネクタペーンで端子割り当てがあり、サブVI化されているようですので、新規VIにそれらのサブVIを順番に配置して値を出力させれば、1度目の電子天秤測定結果と2度目の結果を差分できます。