QRコードに Sleep(一時停止)を埋め込む!
業務システムの画面遷移・印刷待ちを自動化

ExcelでQRコードを作成し、QRリーダーやバーコードリーダーで読み取って、Excel入力・Webシステム入力・業務システム入力を自動化したい場面を想定しています。

Enter / Tab の共通整理

QR入力では、読み取り先によって最初に試す制御を分けます。Num Enter は Excel の CHAR 関数では生成できないため、必要な場合はQRリーダー側のキー変換で確認します。

用途まず試すもの備考
Excelで次行へ移動CHAR(10)ExcelのEnter移動設定やリーダーのサフィックスに依存します。
Webフォームの確定・検索CHAR(13)画面ごとに差があるため、検証画面で確認します。
基幹系の確定Num EnterCHAR関数では生成できません。QRリーダー側のキー変換が必要です。
Tab移動CHAR(9)多くのExcel/Webフォームで安定しやすい制御です。

💡 この記事で「できるようになること」

記事⑤の実践パターンで、こんな壁にぶつかりませんでしたか?

  • 業務システムで NUM Enter を送ったのに、画面遷移が終わる前に次のデータが送られてしまう
  • PrintScreen を送ったのに、まだ前の画面のままキャプチャされてしまう
  • 帳票の印刷ボタンを押した後、用紙が出てくるまで次の操作を待ちたい

これらはすべて「QRリーダーの送信速度が、システムの処理速度より速すぎる」ことが原因です。

Sleep(一時停止)は、QRリーダーのデータ送信を「秒」単位で一時停止させる機能です。③のキャラクター間ディレイ(ミリ秒単位の微調整)とは別物で、「システムが処理を完了するまでじっと待つ」ために使います。

⚠️ 本記事の Sleep 記号方式はメーカー共通仕様ではありません
本記事で説明する !? のような Sleep 表現は、主にオプトエレクトロニクス社(Opticon)製リーダーでの運用を前提にしています。 OPI-3601、ALX-3601、L-46X の3機種では動作確認済みですが、Zebra や Honeywell でも同じ記法でそのまま動作するとは限りません。
📝 追記:現時点の検証状況
本記事の初期公開時点では Honeywell は未検証でしたが、その後 Honeywell Xenon 1900G で Data Formatter を使った待機処理を検証しました。 SearchSendDelaySuppress を組み合わせることで、! の前まで送信し、待機し、! を削除して後続データを送るような処理は作れることを確認しています。
ただし、Opticon のように ! が出るたび逐次 Sleep する方式とは考え方が異なります。Honeywell は何回分まで処理するかを事前に組む設計になりやすく、さらに紙の設定QRだけで現場配布・復元できるかは正式確認が必要です。

STEP 1:ディレイと Sleep の違いを正しく理解する

③で学んだ「キャラクター間ディレイ」と今回の「Sleep」は、名前こそ似ていますが目的・単位・使い所がまったく違います。ここを混同すると設定を間違えます。

なお、ディレイの最適値はPC性能、入力先アプリ、業務システムの応答速度、IME状態、ネットワーク状況によって変わります。そのため、本記事では「この値なら必ず安全」とは断定せず、実際の画面でテストしながら少しずつ遅くする前提で説明します。

比較項目 ③ キャラクター間ディレイ ⑥ Sleep(一時停止)
単位 ミリ秒(ms)
数ms〜数百ms程度の細かい調整
(s)
1秒 / 3秒 / 5秒 / 10秒 など
挿入位置 全文字の間に均等に入る
(リーダーの全体設定)
QRコード内の任意の位置
ピンポイントで入れる
解決する問題 PCや入力先アプリが追いつかず、文字が欠ける・順番が崩れる 業務システムの画面遷移・印刷・サーバー応答が間に合わない
典型的な考え方 文字欠けしない範囲まで、環境に合わせて少しずつ遅くする 画面遷移や印刷完了など、処理が終わるまで秒単位で待つ
主な使用場面 Excel入力、Webフォーム、全角文字入力、長文入力 業務システム、帳票印刷、画面キャプチャ、画面遷移待ち
Excel での必要性 必要になることが多い。特に複数セル入力や全角入力では重要。 通常は不要。Excelは応答が速いため、基本はディレイで調整。
📝 一言でまとめると
ディレイ = 文字と文字の間の「小さな間」。文字欠け防止。
Sleep = 操作と操作の間の「大きな待ち」。システムの処理完了待ち。
目的が違うため、業務システム連携では両方を併用する考え方が基本です。

STEP 2:Sleep が本当に必要な場面

Sleep は「秒」単位で送信を止める重い機能です。不必要な場面で使うとスキャンのたびに数秒止まり、現場のストレスになります。本当に必要な場面だけで使ってください。

使用場面 何を待つのか Sleep 時間の考え方 具体例
業務システムの画面遷移 NUM Enter 後にサーバーが応答して次の画面に切り替わるまで 実測値に余裕を足して設定 販売管理システムで品番確定後に詳細画面が開くまでの待ち
帳票・用紙の印刷出力 印刷ボタン押下後にプリンターが用紙を排出するまで プリンターの実動作に合わせる 受注伝票の印刷完了を待ってから次の受注を入力開始
PrintScreen(画面キャプチャ) 操作後に結果画面が完全に描画されるまで 描画完了までを実測して設定 検品結果画面をキャプチャしてエビデンスとして保全
ダイアログの表示待ち F5 等でダイアログが開くまで 表示が完了するまで待つ 検索ダイアログが表示されてから品番を入力開始
Alt+Tab 等の画面切替 ウィンドウのフォーカスが切り替わるまで 切替完了を確認できる時間を取る Excelから業務システムに切り替えてから入力開始
⚠️ Excel の通常入力には Sleep は不要です
Excel のセル入力は PC のローカル処理なので比較的速く完了します。「Excel で文字が欠ける」問題は Sleep ではなくキャラクター間ディレイ(③)で解決してください。Sleep を使うのは業務システム・印刷・画面キャプチャなど、「秒単位の待ちが発生する場面」だけです。

STEP 3:Sleep の仕組み ― QRコードのどこに入れるのか

Sleep はリーダーの機能です。QRコード内に「ここで一時停止しろ」という信号を埋め込み、リーダーがそれを読み取ったときに指定秒数だけ送信を止めます。

仕組みのイメージ

以下は「品番入力 → NUM Enter → 3秒待機 → PrintScreen」の流れです。

0.0秒 〜 0.3秒
リーダーが QR を読み取り、品番データ「PRD-001」を1文字ずつ PC に送信
0.3秒
トリガー文字 ~ を検出 → NUM Enter のスキャンコードを送信(業務システムが確定処理を開始)
0.3秒 〜 3.3秒 【Sleep 3秒】
リーダーが送信を完全停止。この間に業務システムがサーバーと通信し、結果画面を描画する。
3.3秒
Sleep 終了。トリガー文字 | を検出 → PrintScreen のスキャンコードを送信(結果画面がキャプチャされる)
品番送信 ~ → NUM Enter 💤 Sleep 3秒 | → PrintScreen
🎬 ここから下が動画デモです
下の枠は動画です。環境によっては自動再生されます。キー変換と Sleep によって、画面操作を待機している様子を確認できます。 自動再生されない場合や一時停止している場合は、動画内の再生ボタンを押してください。

▶ 動画デモ:Sleep による待機とキー変換の動作例

【Sleepとキー変換の活用】PageDownキーへの変換で画面をスクロールし、Sleep機能でシステムの登録処理を待機しています。

📝 Sleep 中、リーダーはどうなっている?
Sleep 中はリーダーの LED が点滅するなどの表示がある機種もありますが、PC側には一切何も送信されません。Sleep が終わると残りのデータの送信を自動的に再開します。Sleep中に次の読み取りを受け付けるかどうかは機種・読み取りモードによって異なります。

STEP 4:リーダーへの Sleep 設定方法

Sleep の設定方法は大きく分けて2つのアプローチがあります。リーダーのメーカー・機種によって対応が異なります。

方式A:トリガー文字 + キー変換で Sleep を埋め込む

④のキー変換と同じ要領で、特定のトリガー文字を「Sleep ○秒」に変換する方式です。QRコード内の任意の位置に Sleep を挿入できる柔軟性が最大の利点です。

! → Sleep 1秒
? → Sleep 5秒
?!! → Sleep 7秒
?? → Sleep 10秒
📝 1秒用と5秒用を分けると時間調整しやすい
例えば ! を1秒、? を5秒に割り当てておくと、 ! = 1秒、!! = 2秒、? = 5秒、?!! = 7秒、?? = 10秒のように組み合わせて調整できます。 1秒単位で細かく伸ばす場面と、5秒単位で大きく待つ場面を分けられるため、実務ではかなり扱いやすくなります。
⚠️ この表記は主にオプトエレクトロニクス方式の説明です
! = 1秒、? = 5秒のように記号ごとに Sleep 時間を割り当て、必要に応じて組み合わせる考え方は、本記事ではオプトエレクトロニクス社(Opticon)製リーダーを前提にしています。Zebra や Honeywell で同じ記法が使えるとは限りません。
⚠️ トリガー文字の選択に注意
Sleep のトリガー文字もデータに含まれない文字を選んでください。上の例では !? を使っていますが、業務データにこれらの記号が含まれる場合は別の文字に変更が必要です。

方式B:リーダーの設定メニューで「Inter-function Delay」として設定

Tab / Enter などの制御文字(ファンクションキー)を送信した後に自動的に一定時間待つ方式です。「制御文字の後は常に待つ」という全体設定になるため、Sleep を入れる位置を細かく選ぶ用途には向きません。

方式柔軟性設定の簡単さ対応の考え方
A:トリガー文字 QRコード内の任意の位置に挿入可能。待ち位置を細かく制御しやすい。 キー変換・データ編集設定が必要 機種・メーカーごとに実装方式が異なる。実機確認が必要。
B:Inter-function Delay 制御文字の後に一律で挿入される。位置は選びにくい。 設定用バーコードや設定ツールで指定できることが多い Tab / Enter 後に毎回待つような単純な用途向き。
💡 推奨:単純な待ちは方式B、細かい待ちは方式A
「Enter の後に毎回待つ」だけなら方式Bで足りることがあります。一方、「住所の途中だけ待つ」「処理ごとに待ち時間を変える」「可変長データの途中に休憩マーカーを入れる」場合は方式Aのような考え方が必要になります。

メーカー別の設定概要

⚠️ 本記事の Sleep 例はメーカー共通仕様ではありません
本記事で説明している !? のような Sleep 表現は、主にオプトエレクトロニクス社(Opticon)製リーダーでの運用を前提にしています。 OPI-3601、ALX-3601、L-46X では動作確認済みですが、Zebra・Honeywell では同じ記法でそのまま動くとは限りません。

オプトの場合:Optoelectronics(オプトエレクトロニクス / Opticon)
動作確認済み機種:
① OPI-3601(メイン検証機)
② ALX-3601(OEM機種・OPI-3601の互換品)
③ L-46X(OCR機能付き上位モデル・数字等のOCR読取可能)

  • 本記事の中心例です。上記3機種で動作確認済みです。
  • QRコード内に Sleep 用の記号を入れ、その位置で一時停止させる運用を想定しています。
  • ! = Sleep 1秒、? = Sleep 5秒のように、複数の記号に別々の待ち時間を割り当てると、時間調整の融通がかなり利きます。
  • 例えば ! だけなら1秒、!! なら2秒、? なら5秒、?!! なら7秒、?? なら10秒のように、短い待ちと長い待ちを組み合わせて作れます。
  • !? を Sleep 用の予約文字として使う場合、通常データ側でその記号を使わなければ、他の文字は基本的にそのまま利用できます。 実務データで感嘆符や疑問符を使う場面が少ない場合は、運用しやすい方式です。
  • 可変長データの途中に休憩マーカーを入れやすく、住所・備考・長い名称など、長さが毎回変わるデータに向いています。
  • 基本設定でキャラクター間ディレイを約20段階で調整できるため、Sleep だけでなく、全体の入力速度をかなり遅くすることも可能です。
  • 注意点として、Sleep に使う記号は実データで使いにくくなります。業務データ内に同じ記号が出る場合は、別の記号を使うか、QR生成側でチェックが必要です。

Zebraの場合:Zebra(ゼブラ)― DS / LI / LS シリーズなど

  • Zebra DS2208 ではチェック済みです。ただし、他の DS / LI / LS シリーズでも同じ挙動になるかは未確認です。
  • Zebra は、123Scan や ADF(Advanced Data Formatting)により、キー送信・Pause・データ整形をかなり細かく設定できます。
  • 特に、1名ずつ、1レコードずつ、完全に固定された入力工程には強い印象です。
  • 「この位置で Tab」「この位置で Enter」「この位置で Pause」「この順番でキーを送る」といった、固定項目・固定順序・固定位置の仕組みにはかなり向いています。
  • 一方で、可変長データや、休憩マーカーの個数が毎回変わるデータには注意が必要です。
  • 例えば、5名ずつ処理する前提で設定した場合に、最後だけ3名分になるようなケースや、!? の組み合わせで Sleep 時間を変える方式は、設定が難しい、またはエラーになる可能性があります。
  • また、Zebra で ADF やキー送信・Pause を細かく作り込むと、そのQRリーダーが実質的にその業務フロー専用の設定になる面があります。別用途でも使うリーダーの場合は、設定の切り替え・初期化手順・予備機の管理を事前に決めておくと安全です。
  • このような固定人数から外れるケースや、可変回数の Sleep マーカーを Zebra で安定して処理したい場合は、メーカーや販売店へ具体的なデータ例を示し、対応できる設定方法があるか確認しておくと安全です。
  • なお、Zebra もキャラクター間ディレイは設定できますが、調整幅は比較的少なめです。全角長文を大きく低速化して送る用途では、実機検証を強くおすすめします。

Honeywellの場合:Honeywell(ハネウェル)― Xenon / Voyager / Granit シリーズなど

  • 追記:Honeywell Xenon 1900G で一部検証済みです。 Data Formatter を使い、! の前まで送る、待機する、! を削除する、残りを送る、という処理は確認できました。
  • Honeywell は、Delay の細かさと低速化の自由度が非常に大きい点が強みです。古い業務システム、Citrix、RDP、RemoteApp、COBOL系画面など、入力が速すぎると崩れる環境では有力な候補になります。
  • また、検証範囲では、! の数が完全に一致しない場合でも、後続データをそのまま送れる場面がありました。Zebraよりも「残りを流す」方向の柔軟性がある可能性があります。
  • ただし、Honeywell は基本的に Search / Send / Delay / Suppress などを組み合わせてルールを作る方式です。Opticon のように ! が来るたび毎回同じ Sleep を実行する、というストリーム変換型とは違います。
  • そのため、! を5回分、10回分のように先にルール化しておけば、一定範囲ではOpticonに近いことを実現できる可能性があります。一方で、可変回数が多い場合や汎用テンプレートとして横展開する場合は、設定が複雑になりやすいです。
  • 自力でData Formatterを組める担当者がいるなら、個別案件ではかなり強い機種です。問題は機能不足ではなく、設定難易度と、紙の設定QRだけで現場配布・復元できるかです。
  • EZConfigには設定バーコード生成機能がありますが、高度なData Formatterを紙の設定QRとして確実に配布・復元できるかは、現時点では正式確認が必要です。設定ツールを持ち込めない閉鎖環境では、この点が実運用上の大きな課題になります。
  • 本記事の !? 方式をそのまま適用するのではなく、Honeywellでは SearchSendDelaySuppress を使って同等動作を作る、と考えた方が近いです。
💡 Honeywellの位置づけ
Honeywellは「できない機種」というより、設定ツールとData Formatterを使いこなせる人向けの高機能機と考える方が近いです。 個別案件として作り込むなら、Opticonに近い物理RPA的な動作を狙える可能性があります。
一方で、現場に紙の設定QRだけを渡して復旧・横展開する運用では、設定QR化と復元性の確認が重要になります。
📝 その他メーカーについて
Keyence、Denso Wave、低価格リーダーなど、上記3社以外は本記事では未検証です。 Pause、Delay、Data Editing 系の機能があっても、本記事の Sleep 記号方式と同じ動作をするとは限りません。

STEP 5:Sleep を使った実践パターン

⑤の実践パターンに Sleep を組み込んだ応用例です。ここでは、Sleep のトリガー文字を ! = 1秒、? = 5秒として、必要な秒数分組み合わせる方式で記述します。

⚠️ この記法は主にオプトエレクトロニクス方式の説明です
! = 1秒、? = 5秒のように記号を組み合わせる考え方は、本記事ではオプトエレクトロニクス社(Opticon)製リーダーを前提にしています。 OPI-3601、ALX-3601、L-46X では動作確認済みですが、Zebra や Honeywell で同じ記法が使えるとは限りません。

Sleep A 入力 → 確定 → 3秒待ち → PrintScreen エビデンス

★★★★
使用場面:業務システムに品番を入力・確定 → 結果画面が描画されるのを待ってから PrintScreen でキャプチャ。検品エビデンスの自動取得。
品番 ~ → NUM Enter 💤 !!! = Sleep 3秒 | → PrintScreen
=A1 & "~" & "!!!" & "|"
~ → NUM Enter
! → Sleep 1秒(×3)
| → PrintScreen
💡 待ち時間は実測で決める
サーバーの応答が遅い時間帯は ?(5秒)や ?!!(7秒)のように増やします。逆に、レスポンスが安定して速い環境なら !!(2秒)など短くできる場合もあります。必ず実際の画面で検証してください。

Sleep B F5 検索起動 → 2秒待ち → 入力 → 確定 業務システム

★★★★
使用場面:業務システムで F5 キーを押して検索ダイアログを開く → ダイアログの表示完了を待つ → 品番を入力 → NUM Enter で検索実行。
{ → F5 検索起動 💤 !! = Sleep 2秒 品番入力 ~ → NUM Enter
="{" & "!!" & A1 & "~"

F5 を押した直後にデータを送ると、ダイアログが開く前に文字列が前の画面に入力されてしまいます。Sleep でダイアログが完全に表示されるのを待ちます。


Sleep C 入力 → 確定 → 印刷待ち → 次の入力開始 印刷待ち

★★★☆☆
使用場面:受注システムで受注データを確定すると自動的に伝票が印刷される。印刷完了(用紙排出)を待ってから、次の受注入力に進む。
受注データ ~ → NUM Enter(確定&印刷開始) 💤 ? = Sleep 5秒 次の受注データ ~ → NUM Enter
=A1 & "~" & "?" & B1 & "~"
⚠️ 印刷待ちの秒数はプリンターに依存
レーザープリンタ、ドットインパクトプリンタ、複合機などで印刷完了までの時間は大きく変わります。5秒で足りない場合は ?!!(7秒)や ??(10秒)のように組み合わせて調整してください。

Sleep D 複数フィールド入力(各フィールド間で待機) 業務システム

★★★★★
使用場面:レスポンスが遅い業務システムで「品番入力 → 確定 → 待機 → 数量入力 → 確定 → 待機 → ロケーション入力 → 確定」。フィールド遷移のたびにサーバー通信が走るシステム。
品番 ~ Enter 💤 !!! = 3秒 数量 ~ Enter 💤 ? = 5秒 ロケ ~ Enter
=A1 & "~" & "!!!" & B1 & "~" & "?" & C1 & "~"
🔥 全体の所要時間に注意
Sleep を多用すると、スキャン完了まで数秒以上かかります。現場でスキャンしてから何秒も反応がないと「壊れた?」と思われるため、事前に作業者へ「スキャン後は送信完了まで待つ」ことを周知しておくことが重要です。

Sleep E 画面切替(Alt+Tab)→ 待ち → 入力 業務システム

★★★★
使用場面:Excel で QR を生成し、読み取り先は別ウィンドウの業務システム。Alt+Tab でウィンドウを切り替えてからデータを入力。フォーカス移動のタイミングを Sleep で確保。
Alt+Tab(ウィンドウ切替) 💤 ! = Sleep 1秒 品番入力 ~ → NUM Enter
=CHAR(1) & "!" & A1 & "~"
📝 CHAR(1) = Ctrl+A ではなく Alt+Tab?
Alt+Tab はキー変換で送る必要があります(④で設定)。上の数式は説明のための簡略表記です。実際には Alt+Tab の組み合わせキーをトリガー文字に割り当て、その後に Sleep を挟みます。修飾キーの組み合わせ送信に対応した上位機種が必要です。

STEP 6:Sleep の最適値を決める手順

Sleep の秒数は「長すぎると遅い、短すぎると失敗」のジレンマがあります。以下の手順で最適値を見つけてください。

  1. 手動で操作し、ストップウォッチで計測する
    実際に業務システムを手動で操作し、「確定ボタンを押してから次の画面が完全に表示されるまで」の時間を複数回計測します。
  2. 最大値に余裕を足した値を Sleep に設定
    計測値の中で一番遅かった時間を基準にし、少し余裕を足して Sleep を設定します。
  3. QRをスキャンして連続テスト
    連続で成功すれば OK。1回でも失敗したら Sleep を追加してやり直します。
  4. ピーク時間帯でも再テスト
    業務システムは時間帯によってレスポンスが変動します。最も遅くなる時間帯(昼休み明け、月末締めなど)でテストしてください。
💡 「少し長め」が正解
1スキャンあたりの待ち時間を削りすぎて失敗するよりも、確実に動く値を優先してください。特に登録・更新・印刷を伴う業務では、安全側に倒す方が実務向きです。

注意:ディレイと Sleep は「両方設定する」が正解

Sleep を設定したからといってディレイが不要になるわけではありません。両方を併用するのが正しい設定です。

設定項目役割考え方
キャラクター間ディレイ 文字と文字の間の微小な間。文字欠け防止。 入力先の処理速度に合わせて調整。全角文字や長文では長めにすることがあります。
ファンクション間ディレイ Tab / Enter などの制御文字の後の間。画面やセル移動の処理時間を確保。 Tab や Enter 後に入力位置がずれる場合に調整します。
Sleep 特定の操作後の大きな待ち。業務システムの画面遷移・印刷を待つ。 手動操作で処理時間を測り、最大値に余裕を足して設定します。
P 小さな間 R 小さな間 D 小さな間 - 小さな間 0 小さな間 0 小さな間 1 制御文字後の間 ~ Enter 💤 Sleep | PrtSc

文字間=キャラクター間ディレイ、制御文字後=ファンクション間ディレイ、操作間=Sleep

深掘り:Sleep が使えないリーダーの場合

Sleep 機能そのものが使えない場合は、まずリーダーにどの待機系設定があるかを確認します。低価格リーダーでは、Sleep だけでなくキャラクター間ディレイやファンクション間ディレイも弱い、または存在しない場合があります。

代替①:待機系の設定があるか確認する

キャラクター間ディレイや Inter-function Delay を持つ機種であれば、疑似的に待ち時間を作れる場合があります。ただしキャラクター間ディレイは全文字の送信が遅くなるため、画面遷移や印刷完了の待ちをピンポイントで作る用途には向きません。

代替②:業務用リーダーに買い替える

Sleep が必要な現場は、そもそもリーダーに高い機能が求められる環境です。本記事で扱っている Optoelectronics、Zebra、Honeywell など、Pause / Delay / Data Formatting 系の設定ができる業務用リーダーを検討してください。長期的にはコストパフォーマンスが高いです。

🔥 正直に言うと…
Sleep が必要な業務フローを安価なリーダーで無理やり回すのは、現場のストレスを増やすだけです。「Sleep 対応の業務用リーダーへの投資」は、作業者の時間単価を考えればすぐに元が取れる投資です。

Sleep 関連のトラブルシューティング

症状原因対処法
Sleep 後のデータが前の画面に入力されている Sleep の秒数が足りない(画面遷移が完了していない) Sleep を追加して再テスト
Sleep が効かない(全く待機しない) Sleep のトリガー文字が変換設定されていない リーダーのキー変換テーブルを確認。方式Bの場合は Inter-function Delay の値を確認
Sleep が効かない(!? がそのまま入力される) トリガー文字がキー変換ではなく文字として送信されている キー変換設定を再確認。設定後にリーダーを再起動
Sleep 中にリーダーが次のQRを読み取ってしまう リーダーの連続読み取りモードが有効、またはSleep中の読み取り仕様による 「トリガーモード」に変更。Sleep中の挙動を機種マニュアルで確認
Sleep が異常に長い(設定より長く止まる) ディレイや他の待機設定も加算されている可能性 キャラクター間ディレイ、ファンクション間ディレイ、Sleep の設定を分けて確認
時間帯によって成功率が変わる サーバー負荷でシステムの応答速度が変動 最も遅い時間帯に合わせて Sleep を設定。余裕を持った値にする
Zebraで可変人数や可変マーカーがうまく動かない 固定ルール前提の設定に対して、データ件数やマーカー数が変化している 1名ずつ・1レコードずつに分ける、または可変回数処理が可能かメーカーへ確認

まとめ

項目内容
Sleep とは QRリーダーのデータ送信を「秒」単位で一時停止する機能。業務システムの処理完了を待つために使う。
ディレイとの違い ディレイ=ミリ秒単位・全文字に均等・文字欠け防止。Sleep=秒単位・任意位置・処理完了待ち。目的が違うため、両方を併用する考え方が基本。
本記事の方式 ! = 1秒、? = 5秒のような Sleep 記号方式は、主にオプトエレクトロニクス社(Opticon)製リーダーの運用を前提にした説明。OPI-3601、ALX-3601、L-46X では動作確認済み。
オプトの場合 動作確認済み機種は OPI-3601 / ALX-3601 / L-46X。可変長データの途中に Sleep マーカーを入れる運用に向いている。! を1秒、? を5秒にすると、?!! = 7秒、?? = 10秒のように柔軟に待ち時間を作れる。予約文字を通常データで使わなければ、他の文字は基本的にそのまま使える。基本設定でキャラクター間ディレイを約20段階調整できるため、全体をかなり遅く送ることも可能。
Zebraの場合 Zebra DS2208 ではチェック済み。ただし、他の DS / LI / LS シリーズでも同じ挙動になるかは未確認。1名ずつ、1レコードずつ、完全に固定された入力工程に強い。一方、5名ずつの最後だけ3名分になるような可変パターンや、!? の組み合わせによる反復 Sleep 方式は難しい可能性がある。細かく設定すると、その業務専用のQRリーダー設定になりやすい点にも注意。
Honeywellの場合 Xenon 1900Gで一部検証済み。Data Formatter の Search / Send / Delay / Suppress を組み合わせることで、! の前まで送信、待機、! 削除、後続データ送信のような処理は確認済み。Delayを細かく、かなり遅く設定できる点は大きな強み。ただし、Opticonのような逐次Sleep方式ではなく、何回分まで処理するかを事前に組む設計になりやすい。紙の設定QRだけで配布・復元できるかは正式確認が必要。
その他メーカー Keyence、Denso Wave、低価格リーダーなどは本記事では未検証。Pause / Delay 機能があっても、同じ方式で動くとは限らない。
最適値の決め方 手動操作で処理時間を計測し、最大値に余裕を足して設定する。ピーク時間帯でも必ず再テストする。
💡 次のステップ
①〜⑥の設定をまとめて全体像を確認したい → 記事⑦「リーダー設定の全体像 ― フルシステム構築ガイド」へ。
特定のパターンが動かない → 記事⑤「実践パターン集」のトラブルシューティング表へ戻る。
そもそもリーダーをどう選べばいいのか分からない → 記事⑧「QRリーダーの選び方と接続方法」へ。

QRリーダー連携の運用注意

QRリーダーは多くの場合、PCにはキーボード入力として認識されます。Tab、Enter、ファンクションキー、待機時間を組み合わせると登録・更新・削除などの操作まで進められるため、実務投入前の検証手順を必ず固定してください。

  • 本番データではなく、架空データと検証用画面で読み取り順、セル移動、登録操作を確認する。
  • 個人情報、認証情報、機密コードをQRにそのまま埋め込まない。必要な場合は最小限のIDに置き換える。
  • 設定バーコード、初期化手順、復旧手順を保存し、誰が変更したかを記録する。
  • キー変換や待機時間を変更した後は、Excel以外の画面がアクティブな状態で誤送信されないか確認する。