06-10-2021 08:41 PM
イベントストラクチャで値が変更すると、次のステートへ移り読み取った値を確認するVIを作成しました。
イベントストラクチャには、バーコードで読み取った27桁の文字列が入力されるのですが、「値が変わった」と認識するのが速く、バーコードを読み取っている途中で次のステートに移動してしまいます。(バーコードからは2桁のみしか入力を検出できていません。)
様子を動画にしています。
本来”HYT235V-CAB-EU62 800023”を読み取りたいのに対し、”HY”のみが入力値されています。
解決済! 解決策の投稿を見る。
06-12-2021 08:01 AM
「タイプ中に値を更新する」を有効にすると、1文字でも入ると値変更イベントが発生します。
バーコードリーダはキーボードをシミュレートするヤツですね。
以下のどちらかを実現できませんか?
1) コードの文字数は必ず25文字または1文字目で後に続く文字数がわかる
2) バーコードリーダ出力の最後にEnter(CR)かTabコードを付ける
(1)が守れるならイベントストラクチャをWhileループに入れて、イベント毎に文字数を調べて既定の文字数になったら抜ける。
(2)ができれば文字列制御器の「1行入力制限」を有効にし「タイプ中に値を更新する」を無効にする。
あたりでいかがでしょう?
06-13-2021 11:52 PM
06-14-2021 12:49 AM
「タイプ中に値を更新する」を無効にするのは(2)の場合です。(1)は1文字以上入力されるたびに文字数を調べるため有効のままでなければいけません。
改改改VIはちょっと遠ざかってしまいました(残念(^^;))。
添付のVIでとりあえずバーコードは読めると思います。
06-14-2021 11:06 PM
J.H.Watsonさん
ありがとうございます。
改良いただいたものでバーコードの読み取りができるようになりました。
ありがとうございます。