HOME > ソフテックだより > 第311号(2018年8月1日発行) 技術レポート「バーコードを活用したWindowsアプリケーション開発」

「ソフテックだより」では、ソフトウェア開発に関する情報や開発現場における社員の取り組みなどを定期的にお知らせしています。
さまざまなテーマを取り上げていますので、他のソフテックだよりも、ぜひご覧下さい。

ソフテックだより(発行日順)のページへ
ソフテックだより 技術レポート(技術分野別)のページへ
ソフテックだより 現場の声(シーン別)のページへ


ソフテックだより 第311号(2018年8月1日発行)
技術レポート

「バーコードを活用したWindowsアプリケーション開発」

1. はじめに

私はWindowsアプリケーション開発を担当する機会が多い入社17年超の社員です。弊社ではお客様の工場の生産管理システムや生産指示オペレーションなど様々な現場においてバーコードを活用したソフトウェアの開発協力のご依頼をいただく機会がございます。

ソフテックだより本号では、バーコードを活用したWindowsアプリケーション開発をテーマにご紹介させていただきます。

2. バーコードを活用したシステム導入

弊社ではお客様の工場の生産管理システムや生産指示オペレーションなど様々な現場において、バーコードを活用したソフトウェア開発協力のご依頼をいただく機会がしばしばございます。
現場オペレーションへのバーコードを利用したシステム導入によって、下記のようなメリットを期待されての開発協力のご依頼になります。

(1)人為的なミスの抑制

⇒ 現場オペレーションにおいて、作業者が複数の情報を手入力で登録する必要がある場合は、どうしても人為的なミス(入力ミス)が生じてしまいます。この手入力している情報をバーコードの読取情報を使うことでミスが抑制できます。

(2)作業の効率化

⇒ (1)のように現場オペレーションで複数の情報登録を手入力で運用されている場合、オペレータの作業負荷も大きいです。この手入力している作業をバーコードの読取で自動化するだけで作業者の負荷軽減につながり、作業効率も改善が見込めます。

(3)使用部材の間違い抑制

⇒ 製造業では原材料に付随されているバーコードを読み取り、材料の間違いや期限切れ材料の使用を防止する対策ができます。

(4)工程管理への利用

⇒ 各工程でバーコードを読み取って工程管理システムへデータ登録&管理することで、全工程の進捗管理や、検査工程であれば全検査の完了確認により不良品の流失を防止する対策など利用が見込めます。

バーコードの活用イメージ
図1. バーコードの活用イメージ

3. バーコード作成ソフトウェア

バーコードを活用したシステム導入に際し、独自のバーコードを準備する必要があります。こちらの独自バーコードはお客様の方でご準備いただける場合は良いのですが、場合によっては独自バーコードを作成&出力するソフトウェアが弊社の協力範囲になる時もあります。
弊社ではこのような場合、バーコード作成に汎用コンポーネント(ライブラリ)を利用しています。
参考までに下記のような製品を使って機能を実現することができます。

製品名 メーカー 使用感/サポートバーコード種類
VB.Report アドバンスト
ソフトウェア
エクセルでバーコード/QRコード作成を実現させる場合に良い。
⇒JAN、UPCA、UPCE、ITF、CodaBar、Code39、Code128、GS1-128(UCC/EAN128)、標準料金代理収納バーコード、郵便カスタマバーコード、QRコード、PDF417
Barcode.net Pao@Office .NET Framework アプリケーションでバーコード/QRコード作成させたい場合に対応しやすい。
⇒JAN、UPCA、UPCE、ITF、Code39、Code93、Code128、GS1-128(UCC/EAN128)、標準料金代理収納バーコード、郵便カスタマバーコード、QRコード、Data Matrix、PDF417
Microsoft Access 16
(Microsoft Barcode Control)
Microsoft データベースから取得した情報をバーコードとして帳票に出力させることが可能。
同コントロールを使ってエクセルでバーコード作成することも可能。
⇒JAN、UPCA、UPCE、Casecode、NW-7、Code39、Code128、US Pstnet、US Postal FIM、郵便カスタマバーコード、QRコード

表1. バーコード作成コンポーネント製品の一例

選定基準として利用シーンのほかに、バーコードには様々な規格が存在するので、システム要件の規格に対応した汎用コンポーネントを選ぶ必要があります。

一般的なバーコード種類に下記のようなものがあります。

■一次元バーコード
UPC/EAN/JAN、IATA 2of5、Code 11、Code 39、Code 93、Code 128、MSI、Codabar、Interleaved 2of5、Telepen、RSS(GS1-Databar)、Regular 2of5

■二次元バーコード
QRコード、Code 16K、Code 49、DataMartrix、MaxiCode、PDF 417

以下、代表的なバーコードの種類とその特徴について簡単にご説明いたします。

バーコード名 タイプ イメージ 特徴
JAN 一次元 流通業界の商品コードとしてJISにより規格化(国際規格であるUPCコード(北米)とEANコード(欧米)と同じコード体系)されており、フラッグ、メーカーコード、アイテムコード、チェックデジットのコード情報で構成されます。
コード情報には数字(0〜9)が扱え、桁数は8桁 又は 13桁固定です。
Code 39 一次元 インターメック社が開発した数字と文字の両方を使用した最初のコードになります。 自動車産業などで利用されています。
コード情報には数字(0〜9)、アルファベット大文字、記号(-. $/+%)が扱え、桁数は可変です。
Code 128 一次元 一元バーコードの中でも情報密度が高く、多様性をもったバーコードです。
コード情報にはフルASCII文字(128文字)が扱え、桁数は可変です。
QR 二次元

デンソーによって開発されたマトリックス型二次元コードで、名前の由来であるクイックレスポンスにあるように高速読取を重視したものです。
QRコードにはバージョンが1〜40(21x21セル 〜 177x177セル)まで規定があり、各バージョンに応じてデータ量・文字種、誤り訂正レベルに対応した最大入力文字数が決まります。
情報の種類によって最大情報量が変わります。⇒バージョン:40、誤り訂正レベル:Lの場合 数字…7089文字、英数字…4296文字、バイナリ…2953)
※ QRコードは株式会社デンソーウェーブの登録商標です。

表2. 代表的なバーコード種類の特徴

4. バーコード読取ソフトウェア

システムへのバーコード活用の肝となるソフトウェアになります。

■バーコードリーダの選定
導入に際し、バーコードリーダの選定も一つのポイントです。有線式、ワイヤレス式など様々なタイプのものが存在するので、システムでの利用シーンに適したものを選定するのが良いです。

選定する注意点として、ソフトウェア製作の観点からインターフェース仕様について触れておきます。 バーコードリーダのインターフェースとして一般的なものとして、下記4種類のものがあります

インターフェース 特徴
PS/2キーボード
(キーボード I/F、
キーボードウェッジ、
キーボードエミュレーション、等)
  • バーコードリーダとPCをケーブル接続すれば使用できます。
    (専用デバイスドライバのインストールは不要です。)
  • リーダで読み取ったバーコード情報がキーボード同じデータとして入力されます。(キーボード入力で扱うことが可能なデータに限定されるので、全角/半角文字やバイナリ情報は扱えません。)
  • USBインターフェースと違いPC起動中にケーブル抜き差しがNGです。

※PS/2インターフェースは昔の規格なので最近のPCではあまりみかけません。専用デバイスドライバ不要のメリットはUSBキーボードでも同様になります。

USBキーボード
(USB-HID、USB(HID)、等)
PS/キーボード インターフェースと同じ特徴になりますが、相違点はPC起動中のケーブル抜き差ししても問題ないことが挙げられます。
RS-232C
(シリアル)
  • バーコードリーダとPCをケーブル接続すれば使用できます。
    (標準COMポート接続デバイスとして利用可なので、専用デバイスドライバのインストールは不要です。)
  • リーダで読み取ったバーコード情報は、シリアル通信で入力されるためソフトウェアでバーコードリーダとの通信処理を実装する必要があります。
  • メーカ毎にバーコード情報の通信データ仕様が変わることが多く、利用するデバイスメーカ/製品種類が変わる場合はソフトウェアの修正が必要になる可能性があります。
  • キーボード入力インターフェースと異なり、バーコード入力情報が通信データなのでバイナリデータを扱うことができます。
USBシリアル
(USB-COM、VCOM、 USBバーチャルCOM、等)
  • バーコードリーダとPCをケーブル接続後に専用デバイスドライバのインストールが必要です。

専用デバイスドライバのインストールによって、仮想COM(シリアルポート)としてデバイス認識するようになるため、後は基本的にRS-232Cインターフェースの特徴と同じです。

表3. 一般的なバーコードリーダ インターフェースの種類

ソフトウェアの観点では、大別して2種類の対応が想定できます。

  • キーボード入力 … バーコード読取情報をキーボード入力として扱う
  • シリアル通信 … バーコード読取情報をシリアル通信で扱う

キーボード入力インターフェースの方は、専用デバイスドライバのインストール不要で、デバイスメーカによらずOS標準のキーボード入力データで扱えるのでこの点で汎用性の高いソフトウェアとしての開発が可能です。
注意点としてはバーコード情報にバイナリ情報を扱えないこと、バーコードリーダ/キーボードの入力でどちらの入力情報か判断できないこと、標準的なWindowsソフトウェアで機能実装した場合にウィンドウアクティブ(フォーカス)状態でないと入力情報を取り込めない事が挙げられます。

5. さいごに

現在バーコードは様々な分野で幅広く利用されるようになっており、私たちの生活にも大変身近なものとなっています。バーコードを活用したシステムを構築することで定型的な業務の自動化や、各種データ管理などの効率化が見込めるシチュエーションがあれば導入を検討されてみてはいかがでしょう?
今回のソフテックだよりで取り上げさせていただいた内容が、一般的に普及するようになったバーコードを活用したシステム構築を検討されるうえで参考になれば幸いです。

(M.S.)


関連ページへのリンク

関連するソフテックだより

ページTOPへ