10-04-2019 11:35 PM - 編集済み 10-04-2019 11:39 PM
RFIDタグを利用した研究をしており、読み取ったタグをの情報をタグ別に振り分けるプログラムの作り方がわかりません。
読み取るまでができるプログラムを添付します。
ご協力お願いします。
10-05-2019 02:47 PM
平素よりNI製品をご愛顧頂きありがとうございます。
日本ナショナルインスツルメンツ技術部の上野です。
タグ別に振り分けるというのは、各ループで受信した文字列ごとに分けるということでしょうか?それでしたら、VISA読み取り関数の読み取りバッファ出力をForループの右枠に配線して、ループの外に出力するようにすることで配列化できます。
下図では、ループの枠にあるループトンネル(正方形の部分)を右クリックして、トンネルモードを条件に設定して、読み取る際に1バイト以上を受信した場合にのみ配列へ入れるようにしています。
そのほかの相違点は、以下のとおりです。
10-06-2019 11:00 PM
返信遅くなり、申し訳ございません。
読み取った文字列ごとに分けるということで合っています。言葉足らずですいません。
上野様が送って下さった通りにしたのですが、うまくいきませんでした。
添付します。何か間違いのある点ありますか?
10-06-2019 11:24 PM
うまくいかないというのは、文字列配列に何もデータが入らないのでしょうか?
最初にいただいたコードでは、読み取れるとのことでしたので、トンネルモードを条件ではなく、指標だけに設定して、各ループで読み取ったすべてのデータを保存できるかをお試しください。
10-07-2019 12:41 AM
はい、文字配列は空白のままです。
このようになっています。
10-07-2019 12:54 AM
添付ファイルは、ForループからWhileループに変更して、フロントパネルに配置した停止ボタンでプログラムを停止できるようにしております。このVIでお試しいただけますか?
10-07-2019 01:01 AM
こちらのVIで成功しました。
ありがとうございます!
とても助かりました。
10-07-2019 01:07 AM
先ほどのコードで動作して、Forループで動作しなかった理由は、実行の中断ボタンで強制終了したからだと思います。このWhileループの方法でフロントパネルにある停止ボタンを押したプログラムによる停止処理をおこなえば、文字列表示器の配列にもデータが保存されます。
10-07-2019 01:10 AM
理解できました。
LabVIEWを利用し始めてまだ、一ヶ月ほどなのでわからないことが多かったのでこちらで質問させていただいて良かったです。
親身なご対応ありがとうございます。