このチュートリアルで学べること

バッチリーダー機器を使用して、テーブルフィールドにバーコードを一括読取する方法を学びます。

  • テーブルフィールドに COMポート読取列を追加する
  • バッチリーダーのシリアル通信設定を行う
  • バーコード読取と自動入力のフロー
  • 読取結果をCSVで出力する

準備するもの

  • バッチリーダー機器(USB接続)
  • Chrome または Edge ブラウザ(Web Serial API対応)
  • Windows 環境

ステップ1:テーブルフィールドを作成する

新しいアプリを作成し、バッチリーダー用のテーブルフィールドを追加します。

読み取り日を登録する場合は日付フィールドを追加してください

ステップ2:COMポート読取列を設定する

テーブルの列設定でシリアル読取(serial)列を追加し、バッチリーダーの通信パラメータを設定します。

⚙️ COMポート設定

重要な設定項目:

  • ボーレート:機器のマニュアルに合わせて設定(例:38400 bps)
  • 文字エンコーディング:Shift-JIS(日本語対応機器の場合)
  • 初期化シーケンスI<CR>:<ESC>0<CR>
    ⚠️ 重要:「コマンド:期待レスポンス」の形式で、コロン区切りが必須です。
    ⚠️ 重要:複数設定する場合は「コマンド:期待レスポンス」,「コマンド:期待レスポンス」とカンマで区切ってください
  • 読取コマンドA<CR>(バッチリーダーの仕様に合わせる)
  • 排出コマンドP000<CR>(正常読取後に実行すべてのエラーに当てはまらない場合)
  • 期待レスポンス<ESC>0<CR>(排出完了応答)
  • エラー設定:エラーコードと対応アクション(停止/継続/切断)
    ⚠️ 重要:エラーコマンドに[*]を設定するとワイルドカードになります。
停止読取コマンドの送信を停止します
継続対象のコマンドを送信後、再び読取コマンドを送信します。
P1<CR>:<ESC>0<CR> ← P1<CR>送信後、<ESC>0<CR>を待機
P1<CR>:* ←P1<CR>送信後、任意レスポンス待機
P1<CR> ← P1<CR>送信後、レスポンス待機無し
コマンドに{}で日付時間のプレースホルダーを加えると、実行時の日付時間が入ります{yyyy/mm/dd}2026/06/26 (実行時の日付) 
切断読取を終了し、ポート接続を解除します

ステップ3:アプリを保存する

アプリ名を設定し、テーブル列編集を完了したら、アプリ全体を保存します。

ステップ4:バーコード読取を開始

アプリの「開く」ボタンからレコード入力フォームを起動します。
ポート接続セルがあった場合COMポート読取セッションが表れます。

📡 COMポートに接続

フォーム内の「📡 接続」ボタンをクリックすると、Web Serial API のポート選択ダイアログが表示されます。

バッチリーダーが接続されているポート(例:「USB Serial Port」「COM5」)を選択し、接続を押します。

🔍 バーコードをスキャン

接続完了後、バッチリーダーでバーコードをスキャンします。読取データがテーブルに自動入力されます。

連続読取のポイント:

  • 1行目のserial列に初回データが入力される
  • 自動的に次行が追加される
  • 複数のバーコードを連続スキャン可能
  • エラーが発生した場合は停止または継続(設定で制御)

ステップ5:レコードを保存

全てのバーコードをスキャン完了したら、「決定」ボタンをクリックしてレコードを保存します。

フォームは自動的にダッシュボードに戻ります。

「+次を入力」ボタンでレコードが保存され、リフレッシュされます。

ステップ6:読取結果を確認

アプリの「一覧」ボタンから、すべての読取レコードを確認できます。

ステップ7:データをCSV出力

一覧画面の「CSVダウンロード」ボタンでデータを CSV 形式で出力できます。

ダウンロード後は Excel などで集計・分析が可能です。

読み取ったデータを加工して文字の一部を取り出したい場合はデータの列設定で「成形」を追加してください
COMポート読取値を加工することができます。
すでに読み取り済みの場合は成形しなおすことはできません。

API連携でデータを取得する

読み取ったデータをAPI連携で外部アプリから取得することができます。
API連携の方法はAPI連携(外部データ取得API)の使い方を参考にしてください。

トラブルシューティング

接続できない場合

  • バッチリーダーが USB で物理的に接続されているか確認
  • Chrome または Edge など Web Serial API 対応ブラウザを使用しているか確認
  • ポート選択ダイアログで正しいポートを選択しているか確認

読取データが入力されない場合

  • 初期化シーケンスが正しい形式(コマンド:レスポンス)か確認
    返答が必要ない場合も[コマンド:]の形式で設定してください
  • ボーレート、エンコーディング、コマンドが機器のマニュアルと一致しているか確認
  • シリアル-log-area でログを確認(フェーズが「読取ループ中」か確認)
  • バッチリーダーの動作状態を確認

エラーコードが表示される場合

バッチリーダーから返されるエラーコード(例:<ESC>D<CR>)が表示される場合、以下を確認してください

  • バーコードが読み取り可能な状態か確認
  • バッチリーダーのエラー設定で「停止」「継続」「切断」を適切に設定
  • 機器のマニュアルでエラーコードの意味を確認

他の16進数を送信する

文字に変更できない特殊文字は下記のように送信することができます

  • <CR> → 0x0D(キャリッジリターン)
  • <LF> → 0x0A(ラインフィード)
  • <ESC> → 0x1B(エスケープ)
  • <1B> → 0x1B(ESC)
  • <0D> → 0x0D(CR)
  • <0A> → 0x0A(LF)
  • <FF> → 0xFF など任意の16進数

どう見ても接続できない場合

接続についてのご質問はお問い合わせページからお問い合わせください。
設定したい機器の型番、取扱説明書をご用意の上お願いいたします。

応用例

  • 複数のserial列を持つテーブル(商品コード・数量など)
  • 成形列で読取データを成形・変換
  • クロスアプリ集計ビューで在庫数をリアルタイム計算
    成形列で商品番号を取得して件数を集計し、在庫数を計算することができます
  • 承認ワークフローと組み合わせた入出庫管理
  • 読取データのグラフ化・分析