Zebra
123Scan / ADF
検証メモ — 区切り文字・Pause・可変件数で「!」が残る挙動
Zebra の 123Scan と Advanced Data Formatting(ADF)を使い、QRコード内の ! を区切り兼Pause記号として扱う検証を行いました。固定回数の処理では期待通り動く一方、区切り数が増えた場合に最後の ! が残るケースがあり、可変件数対応では注意が必要です。TabはExcel側で CHAR(9) を入れられるならキー変換を増やさず、NumEnterやPageUp・PageDown・HomeなどCHAR関数で出せないキーだけ専用トリガーへ分けると、記号の意味が読みやすくなります。
↵ Enter / Tab の共通整理
QR入力では、読み取り先によって最初に試す制御を分けます。Num Enter は Excel の CHAR 関数では生成できないため、必要な場合はQRリーダー側のキー変換で確認します。
| 用途 | まず試すもの | 備考 |
|---|---|---|
| Excelで次行へ移動 | CHAR(10) | ExcelのEnter移動設定やリーダーのサフィックスに依存します。 |
| Webフォームの確定・検索 | CHAR(13) | 画面ごとに差があるため、検証画面で確認します。 |
| 基幹系の確定 | Num Enter | CHAR関数では生成できません。QRリーダー側のキー変換が必要です。 |
| Tab移動 | CHAR(9) | 多くのExcel/Webフォームで安定しやすい制御です。 |
業務で使っているZebraリーダーは、出荷・検品・棚卸などの工程用に独自設定されている場合があります。実験前に現在設定を保存し、復元できることを確認してください。初期化だけでは、会社独自のPrefix/Suffix、読み取り対象、キーボード種別、HID設定などが戻らない可能性があります。
💡この記事の目的
この記事では、Zebra 123Scan の ADF を使って、QRコード内の区切り文字 ! を処理した検証結果を整理します。
- 確認したこと:! を区切りとして、送信・ポーズ・スキップ処理ができるか
- 見つかった問題:! の数が想定より多い場合、最後の ! が残ることがある
- 記号設計の前提:本記事の ! は待機・区切り検証用。Tabは CHAR(9) を優先し、NumEnterやPageUp・PageDown・Homeなどは別記号に分けて考える
- 重要な示唆:Zebra ADF は、完全なストリーム処理というより、固定手順型の処理に近い可能性がある
- 実務上の焦点:可変件数データに耐えられるか、設定を安全に戻せるか
- 対策方針:うまく動かない場合は、リーダー側だけでなくExcel側で !、CHAR(9)、/ などの役割を分けて調整する
- 展開面の強み:Zebraは設定QR/設定バーコードでリーダー設定を展開しやすい
検証環境
| 項目 | 内容 |
|---|---|
| メーカー | Zebra |
| 確認画面 | 123Scan |
| 機能 | Advanced Data Formatting - v 1.1 |
| 表示機種 | DS2208-COMMON SR MODELS-16 |
| 区切り記号 | ! |
| 主なADFアクション | UP TO CHARACTER、PAUSE、AHEAD、SEND ALL THAT REMAINS |
今回のADF設定イメージ
画面上では、以下のような処理を複数回繰り返す構成になっています。
UP TO CHARACTER <!> PAUSE <20> AHEAD <1> UP TO CHARACTER <!> PAUSE <20> AHEAD <1> UP TO CHARACTER <!> PAUSE <20> AHEAD <1> SEND ALL THAT REMAINS
! までの文字を送信し、少し待機し、! を1文字分飛ばして次のデータへ進む、という考え方です。最後は SEND ALL THAT REMAINS で残りを送ります。
テストしたQRコード
元データは以下です。
202605010001 !100001 !!19800412 1 01 10 1 !00
| 部分 | 意味 | 確認ポイント |
|---|---|---|
| 202605010001 | 先頭データ | 最初の区切りまで正しく送れるか |
| !100001 | 区切り後の2項目目 | ! が削除またはスキップされるか |
| !!19800412 | 連続した区切りを含む部分 | 連続 !! の扱いが崩れないか |
| !00 | 最後の区切りと末尾データ | 最後の ! が残らないか |
検証結果
出力結果は以下です。
202605010001 100001 19800412 1 01 10 1 00
- ! は出力されない
- 区切り位置でデータがつながり、期待通りの結果になる
- 固定回数内の処理としては問題なく動いている
出力結果は以下です。
202605010001 100001 19800412 1 01 10 1 !00
- 最後の ! が1個残った
- ADFで想定した処理回数を超えた区切りが、最後に未処理として残った可能性がある
- SEND ALL THAT REMAINS が残りをそのまま送っている可能性がある
以前は同じようなデータでも ! が残る時と残らない時があったため、今回の結果だけで完全断定はできません。ADFルール順、AHEAD位置、連続区切り、末尾処理、SEND ALL THAT REMAINS の位置によって挙動が変わる可能性があります。
実務上の対策:Excel側で記号の役割を分ける
今回の検証で重要なのは、Zebra側のADFだけで完全に吸収しようとせず、Excel側でQR文字列の作り方を調整するという考え方です。特に、すべてを !! で表すと読者も運用者も混乱しやすいため、待機・確定・ページ移動などは役割ごとに記号を分けます。
| 対策 | 内容 | 狙い |
|---|---|---|
| ! は待機・区切り用に絞る | PauseやAHEAD確認の目印として使い、数はADF側の想定回数に合わせる | 「何のための!か」を分かりやすくする |
| Tabは CHAR(9) を優先 | ExcelでQRを作る場合、Tabはキー変換ではなく CHAR(9) を直接埋め込む | 不要なADFルールを増やさない |
| 特殊キーは別記号へ分ける | 例:/ をNumEnter、PageUp・PageDown・Homeなどは別の専用トリガーにする | すべてを !! に寄せず、読者が追いやすい設計にする |
| 後続文字をそのまま出す設計 | 区切り処理後のデータは、最後に SEND ALL THAT REMAINS で素直に出る形にする | ADFの分岐を増やさず、最後の処理を単純化する |
| 業務ごとにQR式を分ける | リーダー設定を増やす前に、Excel側のQR生成式で業務差を吸収する | 会社にあるZebraリーダーを試しやすくする |
Zebraは設定QR/設定バーコードでリーダー設定を配布しやすいのが強みです。そのため、リーダー側はできるだけ安定した固定手順にして、可変件数や区切り数の揺れはExcel側のQR生成式で調整する方が、現場展開しやすくなります。
=A2 & CHAR(9) & B2 & "!" & TEXT(C2,"yyyymmdd") & "/" & D2 うまくいかない場合: =A2 & CHAR(9) & B2 & "!" & TEXT(C2,"yyyymmdd") & "!" & "/" & D2
上の例のように、Tabは CHAR(9)、待機は !、NumEnterは / のように分けておくと、Zebra ADFの固定手順に合わせやすくなります。
この結果から見えるZebra ADFの特徴
| 観点 | 見えてきた特徴 | 実務上の意味 |
|---|---|---|
| 固定データ | 想定した区切り数なら安定しやすい | 定型入力・固定件数業務に向く |
| 可変データ | 想定より区切り数が多いと残存の可能性 | 5件想定で3件、3件想定で4区切りなどを必ず検証する |
| 処理思想 | ストリーム変換というより固定手順処理に近い可能性 | 業務ごとに設定を作る運用と相性が良い |
| 設定展開 | 123Scanと設定バーコードで配布しやすい | 条件を満たせば現場展開しやすい |
Zebra ADF は「入力された文字を全部見て、その都度柔軟に変換する」方式というより、「登録したアクションを上から順番に実行する」固定手順型の色が強い可能性があります。そのため、業務フォーマットが固定なら非常に扱いやすい一方、可変件数では追加検証が必要です。
3メーカー比較で見えるZebraの位置づけ
今回の整理では、Zebra は「最も万能」というより、現場展開しやすさが最も強いリーダーとして位置づけます。特に、QRコード/設定バーコードでリーダー設定を展開しやすい点と、123Scan の分かりやすさは大きな強みです。
| メーカー | QRリーダー設定 | 設定ツール | ディレイ | キー・ポーズ設定 | 総合的な見方 |
|---|---|---|---|---|---|
| Zebra | 1位 QRコード/設定バーコードでリーダー設定を展開しやすい。 |
1位 123Scan が比較的分かりやすく、現場説明もしやすい。 |
3位 キャラクター間ディレイを極端に遅くする用途は弱い可能性。 |
最も設定しやすい候補 NumEnter、Enter、Tab、ポーズキーなどをADFで整理しやすい。 |
可変件数と低速化の限界をクリアできれば、3メーカーの中で最も標準機にしやすい。 |
| Honeywell | 2位 設定バーコード展開は可能性あり。ただしQR読み込みだけで安定設定できるかは未確定。 |
2位 機能は強いが、Control Characters / Extended ASCII / Key Strokes の違いに注意。 |
1位 ディレイ・速度調整は柔軟。Opticon と同等クラスの候補。 |
NumEnter や各種ポーズキーの設定は可能。 | 速度調整とキー制御は強いが、設定手順の分かりやすさと設定紙展開が課題。 |
| Opticon | 3位 QRコード読み込みで設定可能。ただし設定体系の理解が必要。 |
3位 ストリーミング型で、Zebra / Honeywell とは別系統。初見では最も分かりにくい。 |
1位 ディレイ・Sleep 系の考え方は柔軟。Honeywell と同等クラスの候補。 |
NumEnter や各種ポーズキーの設定は可能。 | うまく使えば最も柔軟で、1つの設定で複数業務に対応しやすい。ただし設定難度が高い。 |
Zebra は、設定展開と設定ツールの分かりやすさでは最有力です。一方で、ディレイを極端に遅くする用途では Honeywell / Opticon に劣る可能性があります。そのため、Tabは CHAR(9)、待機は !、NumEnterやPage系キーは別トリガーというように役割を分け、後続処理は SEND ALL THAT REMAINS で自然に流す設計が現実的です。
今回の結果は、Zebra が弱いという意味ではありません。むしろ、可変件数と遅延限界をExcel側のQR生成式で吸収できるなら、Zebra は3メーカーの中で最も現場に配りやすい候補になります。
次に確認すべき調査項目
- 残った ! を最終段で削除できるか
- 複数の ! をまとめて処理できるか
- 連続 !! がある場合も安全か
- 最後だけ Enter / Pause しない処理ができるか
- Excel側で待機用の ! と、NumEnter・Page系キー用の別トリガーを分けた場合に安定するか
| テスト | 確認内容 | 期待結果 |
|---|---|---|
| 1件 | 最小データで余計なキーが出ないか | 不要な ! が残らない |
| 2件 | 少件数で処理が止まらないか | 区切りとポーズが正常 |
| 3件 | 今回問題なしだった基準ケース | 同じ結果が再現する |
| 4件 | 今回 ! が残ったケース | 設定変更で消せるか確認 |
| 5件 | 最大想定件数 | 全件問題なく送信 |
- 123Scanで現在設定を読み出せるか
- 現在設定をPCに保存できるか
- 保存設定から元に戻せるか
- 初期化バーコードだけでなく、会社独自設定も復元できるか
- 設定変更前後で元工程の読み取り結果が変わらないか
現時点の暫定結論
| 項目 | 結論 |
|---|---|
| Zebra ADFの基本動作 | UP TO CHARACTER、PAUSE、AHEAD、SEND ALL THAT REMAINS により、区切り文字を使った送信制御は可能。 |
| 3個の ! | 今回の検証では問題なし。 |
| 4個の ! | 最後の ! が1個残るケースを確認。 |
| 可変件数対応 | 固定件数なら扱いやすいが、可変件数では追加検証が必要。うまく動かない場合は、Excel側で待機用の !、Tabの CHAR(9)、NumEnterやPage系キー用トリガーを分けて調整する方法が現実的。 |
| 実務での位置づけ | 可変件数と速度・ポーズ制御の限界をクリアできれば、Zebraは最も現場展開しやすい候補。 |
会社にある既存のZebraリーダーでまず試せれば、新規購入や稟議の前に価値を証明できます。ただし、そのためには「元の設定に戻せること」が必須です。今後は、設定バックアップ・復元・設定バーコード化まで含めて確認する価値があります。
QRリーダー連携の運用注意
QRリーダーは多くの場合、PCにはキーボード入力として認識されます。Tab、Enter、NumEnter、PAUSE、待機時間を組み合わせると、登録・更新・削除などの操作まで進められるため、実務投入前の検証手順を必ず固定してください。
- 本番データではなく、架空データと検証用画面で読み取り順、セル移動、登録操作を確認する。
- 個人情報、認証情報、機密コードをQRにそのまま埋め込まない。
- 設定変更前に、現在設定の保存・復元手順を確認する。
- 初期化バーコードだけに頼らず、会社独自設定を戻せる状態を作る。
- Excel以外の画面がアクティブな状態で誤送信されないか確認する。