(57)【要約】【課題】ユーザの負担を軽減可能な光学情報読取装置を提供すること。【解決手段】照明部５２光学情報が付与されたワークに照明光を照射する。撮像素子３１はワークを撮像してワークの画像を出力する。制御ユニット６４は照明部５２を点灯させて照明光画像を取得するとともに、照明部５２を消灯させて環境光画像を取得する。デコード部５３は照明光画像を用いて光学情報をデコードする。分析部６７は環境光画像を用いた分析を行う。表示部５５は分析部６７による分析結果に基づき、デコード部５３が照明光画像を用いた光学情報のデコードに失敗するか、または、デコード部５３が照明光画像を用いた光学情報のデコードに成功したものの照明光画像についてデコード処理のしやすさを示す指標が警告閾値未満になった際に、その要因が環境光にあるか、それ以外にあるかを区別して要因に関する情報を出力する。【選択図】図５
2019091209.tif 000002
【特許請求の範囲】
【請求項１】
光学情報が付与されたワークに照明光を照射する照明部と、
前記ワークを撮像して当該ワークの画像を出力する撮像部と、
前記照明部を点灯させ、前記照明光の下で前記撮像部に前記ワークを撮像させて前記ワークの照明光画像を取得するとともに、前記照明部を消灯させ、環境光の下で前記撮像部に前記ワークを撮像させて前記ワークの環境光画像を取得する制御部と、
前記環境光画像を用いた分析を行う分析部と、
前記照明光画像を用いて前記光学情報をデコードするデコード部と、
前記光学情報のデコード結果を出力する出力部と、
を有し、
前記出力部は、前記分析部による分析結果に基づき、前記デコード部が前記照明光画像を用いた前記光学情報のデコードに失敗するか、または、前記デコード部が前記照明光画像を用いた前記光学情報のデコードに成功したものの前記照明光画像についてデコード処理のしやすさを示す指標が警告閾値未満になった際に、その要因が環境光にあるか、それ以外にあるかを区別して前記要因に関する情報を出力可能に構成されている
ことを特徴とする光学情報読取装置。
【請求項２】
前記制御部は、前記デコード部が前記照明光画像を用いた前記光学情報のデコードに失敗すると、前記デコード部に前記環境光画像を用いた前記光学情報のデコードを実行させるように構成されており、
前記出力部は、前記デコード部が前記環境光画像を用いた前記光学情報のデコードに成功すると、環境光に関連した予知保全情報を出力するように構成されている
ことを特徴とする請求項１に記載の光学情報読取装置。
【請求項３】
前記分析部は、前記デコード部が前記環境光画像を用いた前記光学情報のデコードに失敗すると、前記環境光画像に閾値を超える明るさを有する画像領域が存在するかを分析するように構成されており、
前記出力部は、前記環境光画像に閾値を超える明るさを有する画像領域が存在する場合に、前記光学情報のデコードに失敗した要因が環境光であることを示す情報を出力することを特徴とする請求項２に記載の光学情報読取装置。
【請求項４】
前記出力部は、前記環境光画像に閾値を超える明るさを有する画像領域の面積が面積閾値以上である場合に、前記光学情報のデコードに失敗した要因が環境光であることを示す情報を出力することを特徴とする請求項３に記載の光学情報読取装置。
【請求項５】
前記出力部は、前記環境光画像に閾値を超える明るさを有する画像領域が存在しない場合に、前記光学情報のデコードに失敗した要因が環境光以外の要因であることを示す情報を出力することを特徴とする請求項３に記載の光学情報読取装置。
【請求項６】
前記出力部は、前記環境光画像に存在する閾値を超える明るさを有する画像領域の面積が面積閾値を超えていない場合に、前記光学情報のデコードに失敗した要因が環境光以外の要因であることを示す情報を出力することを特徴とする請求項５に記載の光学情報読取装置。
【請求項７】
前記デコード部が前記照明光画像を用いた前記光学情報のデコードに失敗すると、前記環境光画像を用いて前記照明光画像から環境光の影響を低減する低減処理部をさらに有し、
前記デコード部は、前記環境光の影響が低減された照明光画像を用いて前記光学情報をデコードするように構成されていることを特徴とする請求項２に記載の光学情報読取装置。
【請求項８】
前記照明光画像と前記環境光の影響が低減された照明光画像とのそれぞれについてデコード処理のしやすさを示す指標を決定する演算部をさらに有し、
前記出力部は、前記照明光画像の指標が前記環境光の影響が低減された照明光画像の指標よりも低ければ、前記光学情報のデコードに失敗した要因が環境光であることを示す情報を出力することを特徴とする請求項７に記載の光学情報読取装置。
【請求項９】
前記演算部は、前記デコード部が前記照明光画像を用いた前記光学情報のデコードに成功すると、前記照明光画像についてデコード処理のしやすさを示すデコード指標を決定するとともに、前記光学情報の付与品質を示す品質指標とを決定するように構成されており、
前記出力部は、前記デコード指標がデコード閾値を超えておらず、かつ、前記品質指標が品質閾値を超えている場合に、前記ワークの撮像条件またはデコード条件に関連した予知保全情報を出力するように構成されていることを特徴とする請求項８に記載の光学情報読取装置。
【請求項１０】
前記出力部は、前記デコード指標が前記デコード閾値を超えておらず、かつ、前記品質指標が前記品質閾値を超えていない場合に、前記光学情報の付与処理に関連した予知保全情報を出力するように構成されていることを特徴とする請求項９に記載の光学情報読取装置。
【請求項１１】
前記出力部は、前記デコード指標が前記デコード閾値を超えており、かつ、前記品質指標が前記品質閾値を超えていない場合に、前記光学情報の付与処理に関連した予知保全情報を出力するように構成されていることを特徴とする請求項９または１０に記載の光学情報読取装置。
【請求項１２】
前記出力部は、前記デコード指標が前記デコード閾値を超えており、かつ、前記品質指標が前記品質閾値を超えている場合に、前記光学情報の付与処理およびデコード環境が良好であることを示す情報を出力するように構成されていることを特徴とする請求項９ないし１１のいずれか一項に記載の光学情報読取装置。
【請求項１３】
前記光学情報の付与品質を示す品質指標を決定し、蓄積手段に蓄積する演算部をさらに有し、
前記出力部は、前記蓄積手段に蓄積された複数の品質指標が時間の経過とともに緩やかに低下している場合に、前記光学情報の付与処理に関連した予知保全情報を出力するように構成されていることを特徴とする請求項１に記載の光学情報読取装置。
【請求項１４】
前記出力部は、前記蓄積手段に蓄積された複数の品質指標が一時的に低下している場合に、前記ワークの撮像環境に関連した予知保全情報を出力するように構成されていることを特徴とする請求項１３に記載の光学情報読取装置。
【請求項１５】
前記蓄積手段はクラウドであることを特徴とする請求項１３または１４に記載の光学情報読取装置。
【請求項１６】
前記分析部は、前記デコード部が前記照明光画像を用いた前記光学情報のデコードに成功したものの前記照明光画像についてデコード処理のしやすさを示す指標が警告閾値未満になると、前記環境光画像に閾値を超える明るさを有する画像領域が存在するかを分析するように構成されており、
前記出力部は、前記環境光画像に閾値を超える明るさを有する画像領域が存在する場合に、環境光に関連した予知保全情報を出力することを特徴とする請求項１に記載の光学情報読取装置。
【請求項１７】
光学情報が付与されたワークに照明光を照射する照明部と、
前記ワークを撮像して当該ワークの画像を出力する撮像部と、
前記照明部を点灯させ、前記照明光の下で前記撮像部に前記ワークを撮像させて前記ワークの照明光画像を取得するとともに、前記照明部を消灯させ、環境光の下で前記撮像部に前記ワークを撮像させて前記ワークの環境光画像を取得する制御部と、
前記照明光画像を用いて前記光学情報をデコードし、デコード処理のしやすさを示す指標を決定するデコード部と、
前記指標が閾値以下である場合に警報を出力するとともに、前記警報の要因を示す前記環境光画像の解析結果を出力する出力部と、
を有することを特徴とする光学情報読取装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は光学的に情報を読み取る光学情報読取装置に関する。
【背景技術】
【０００２】
工場で生産された製造物（ワーク）のトレーサビリティを確保するために、各ワークにはバーコードやＱＲコード（登録商標）などの光学情報（光学コード）が付与される。光学情報読取装置は光学コードを読み取ることで、ワークの管理に関与している（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第5956941号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ワークに付与された光学コードの読み取りに失敗すると、そのワークをトレースできないことからそのワークは破棄されていた。ここで、光学コードの読み取りに失敗する要因としては、環境光の入射、光学情報読取装置の設定の不適切、印刷（刻印）装置の消耗などがある。環境光の入射や光学情報読取装置の設定の不適切が失敗要因であれば、ワークを破棄しなくても済むこともあろう。印刷（刻印）装置の消耗が失敗要因であれば、印刷（刻印）装置をメンテナンスすることで、廃棄品を減らすことが可能となろう。しかし、このような要因の切り分けはユーザにとって容易ではないため、ユーザが予知保全をすることも容易ではない。そこで、本発明はユーザの負担を軽減可能な光学情報読取装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明によれば、たとえば、
光学情報が付与されたワークに照明光を照射する照明部と、
前記ワークを撮像して当該ワークの画像を出力する撮像部と、
前記照明部を点灯させ、前記照明光の下で前記撮像部に前記ワークを撮像させて前記ワークの照明光画像を取得するとともに、前記照明部を消灯させ、環境光の下で前記撮像部に前記ワークを撮像させて前記ワークの環境光画像を取得する制御部と、
前記照明光画像を用いて前記光学情報をデコードするデコード部と、
前記光学情報のデコード結果を出力する出力部と、を有し、
前記制御部は、前記デコード部が前記照明光画像を用いた前記光学情報のデコードに失敗すると、前記デコード部に前記環境光画像を用いた前記光学情報のデコードを実行させるように構成されており、
前記出力部は、前記デコード部が前記環境光画像を用いた前記光学情報のデコードに成功すると、環境光に関連した予知保全情報を出力するように構成されている
ことを特徴とする光学情報読取装置が提供される。
【０００６】
また、本発明によれば、たとえば、
光学情報が付与されたワークに照明光を照射する照明部と、
前記ワークを撮像して当該ワークの画像を出力する撮像部と、
前記照明部を点灯させ、前記照明光の下で前記撮像部に前記ワークを撮像させて前記ワークの照明光画像を取得するとともに、前記照明部を消灯させ、環境光の下で前記撮像部に前記ワークを撮像させて前記ワークの環境光画像を取得する制御部と、
前記環境光画像を用いた分析を行う分析部と、
前記照明光画像を用いて前記光学情報をデコードするデコード部と、
前記光学情報のデコード結果を出力する出力部と、
を有し、
前記出力部は、前記分析部による分析結果に基づき、前記デコード部が前記照明光画像を用いた前記光学情報のデコードに失敗するか、または、前記デコード部が前記照明光画像を用いた前記光学情報のデコードに成功したものの前記照明光画像についてデコード処理のしやすさを示す指標が警告閾値未満になった際に、その要因が環境光にあるか、それ以外にあるかを区別して前記要因に関する情報を出力可能に構成されている
ことを特徴とする光学情報読取装置が提供される。
【発明の効果】
【０００７】
本発明によれば、ユーザの負担を軽減可能な光学情報読取装置を提供することが可能となる。
【図面の簡単な説明】
【０００８】
【図１】光学的情報読取装置を示す図
【図２】光学的情報読取装置の構造を示す図
【図３】画像表示装置の支持構造を示す図
【図４】光学的情報読取装置の表示および操作パネルを示す図
【図５】光学的情報読取装置の電気的な構成を示す図
【図６】照明光画像と環境光画像の一例を示す図
【図７】照明光画像と環境光画像の一例を示す図
【図８】環境光の影響を低減する処理を説明する図
【図９】要因分析に使用される表を示す図
【図１０】デコード処理を示すフローチャート
【図１１】読取成功に関する予知保全を示すフローチャート
【図１２】要因分析手法を示す図
【図１３】マッチングレベルの変化を説明する図
【発明を実施するための形態】
【０００９】
以下に本発明の一実施形態を示す。以下で説明される個別の実施形態は、本発明の上位概念、中位概念および下位概念など種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
【００１０】
図１はリーダシステム（光学的情報読取装置）の一例を示す図である。ライン１は検査対象物であるワーク２を搬送する搬送ベルトなどである。印刷装置６はプリンタやレーザ刻印装置などであり、工場で製造されたワーク２に対して識別情報を示す光学コード（例：２次元コード）を付与する。識別情報はワーク２のトレーサビリティを確保するために利用される。リーダ３は２次元コードを読み取ってデコードする２次元コードリーダである。なお、リーダ３自体も狭義の光学的情報読取装置である。プログラマブル・ロジック・コントローラ（ＰＬＣ５）はライン１やリーダ３、印刷装置６を制御する制御装置である。ＰＬＣ５は、ワーク２の識別情報に日時情報などを紐付してクラウド７などのサーバに送信してもよい。コンピュータ４はリーダ３に対して動作条件などを設定したり、リーダ３からデコード結果などを取得して表示したりする情報処理装置である。
【００１１】
＜リーダ３の構造＞
図２（Ａ）はリーダ３の斜視図であり、図２（Ｂ）は主要部品の展開図である。リーダ３の形状は略直方体であるため、筐体外面は概ね６つの面を有している。つまり、筐体９には頂面９４、底面９５、前面９６、背面９７、左側面９８、右側面９９が存在する。図２（Ｂ）が示すように筐体９は主にフロントケース１０とリアケース１９により構成されている。
【００１２】
図２（Ｂ）が示すようにフロントケース１０には４つの開口が設けられている。頂面側の開口にはホルダー１３と、ホルダー１３によって支持される画像表示装置１４と、画像表示装置１４をカバーするように配置される表示パネル１５と、メインシート１６が設けられる。フロントケース１０の前面側の開口には透光性を有する窓部１１と、フロントカバー１２とが設けられる。窓部１１の一部には偏光フィルタが設けられてもよい。前面９６のうちフロントカバー１２よりも下側の部分を腹部と呼ぶことにする。この例では、腹部の中心は略矩形の平面部と、その左右に位置する曲面部とを有している。フロントケース１０の背面側の開口から、リフレクタ１７と照明基板１８とが挿入され、リアケース１９によってふたをされる。リアケース１９には、メイン基板２１と、メイン基板２１に固定された光学系５０およびＡＦ機構５１が設けられている。リフレクタ１７は、照明基板１８に設けられた発光素子からの光を効率よく前方に照射するための構造部品である。リフレクタ１７には、照明用の発光素子からの光を前方に集光して照射するためのコーン（円錐台）型の集光部１７６〜１７９と、ポインタ用の発光素子からの光を前方に集光して照射するためのコーン型の集光部１７５とが設けられている。これらには集光効率を高めるために金メッキ等が施されている。フロントケース１０の底面側に開口にはコネクタホルダ２０が取り付けられる。コネクタホルダ２０には２本の通信ケーブルが接続されており、それぞれコンピュータ４とＰＬＣ５とに接続される。コネクタホルダ２０にはコネクタ基板が取り付けられている。
【００１３】
左側面９８と右側面９９にはそれぞれリーダ３から着脱可能なオプションのアタッチメントパーツを固定するためのネジ穴４５が設けられていてもよい。後述する拡散反射部材などはこのネジ穴４５を利用してネジ止めされてもよい。
【００１４】
図３（Ａ）〜図３（Ｃ）はホルダー１３の周辺の構造を説明するための図である。図２（Ａ）、図３（Ａ）および図３（Ｂ）が示すようにホルダー１３は画像表示装置１４を支持する支持部材である。照明基板１８は、ホルダー１３に対して直交した方向に延在し、ホルダー１３に係合してホルダー１３を支持する。つまり、ホルダー１３はフロントケース１０の頂面９４に対して平行に設けられており、照明基板１８はフロントケース１０の前面９６と平行に設けられており、両者は直交している。なお、ホルダー１３の底面側には溝１３１が設けられており、溝１３１に照明基板１８の端部が嵌合することで、ホルダー１３を照明基板１８に対してしっかりと固定してもよい。このようなホルダー１３を採用することで画像表示装置１４を取り付ける回路基板を不要とすることができる。
【００１５】
図３（Ａ）や図３（Ｃ）が示すように、照明基板１８には、画像表示装置１４の表示面と同じ側に押圧面が存在する押しボタン型のスイッチ２４、２５が配置されていてもよい。ホルダー１３と一体に構成された押圧部材２２、２３によって、それぞれスイッチ２４、２５が押圧され、それぞれの接点が閉じるように構成されていてもよい。スイッチ２４、２５の押圧方向と、ホルダー１３を指示する照明基板１８の長さ方向とが一致しているため、スイッチ２４、２５を押圧してもホルダー１３が撓みにくい。押圧部材２２はホルダー１３の主体から延びる弾性の腕部３９ａによって支持されている。同様に、押圧部材２３はホルダー１３の主体から延びる弾性の腕部３９ｂによって支持されている。押し下げられた押圧部材２２、２３は腕部３９ａ、３９ｂの弾性によって元の位置に復帰する。腕部３９ａ、３９ｂはホルダー１３と一体構成型されているため、ばね等の復帰用の追加部材を省略できる利点がある。
【００１６】
図３（Ａ）や図３（Ｂ）が示すように、照明基板１８には、撮像素子３１に対応して設けられる光学系モジュール（光学系５０やＡＦ機構５１など）を実装するための円形の開口部３３が設けられている。開口部３３の周囲には照明用の４つの発光素子２６〜２９が設けられている。図３（Ａ）が示すように、照明基板１８とホルダー１３との係合部の付近にはインジケータとして機能する１つまたは複数の発光素子３２が設けられている。発光素子３２の光がフロントケース１０の頂面９４から外部に出力されるように、ホルダー１３に導光用の開口部３４が設けられている。つまり、２つのスイッチ２４、２５の間にインジケータが配置されている。図３（Ｃ）が示すように開口部３４の四方は遮光壁３６ａ〜３６ｄで囲まれているため、インジケータの光が画像表示装置１４の方へ漏れにくくなっている。ホルダー１３には画像表示装置１４を収容するための収容溝３７が設けられている。また収容溝３７の底部には画像表示装置１４の信号ケーブルを通すための穴部３８が設けられている。
【００１７】
図３（Ｂ）が示すようにメイン基板２１には撮像素子３１が配置されている。図３（Ｂ）が示すように照明基板１８にはポインタ用の光を出力する発光素子３５が配置されている。上述したようにリフレクタ１７には、発光素子３５用の集光部１７５に加え、発光素子２６〜２９用の集光部１７６〜１７９が設けられている。集光部１７５〜１７９はコーン型の形状であり、コーンの頂上側の開口から光が入射し、底面側から出射する。
【００１８】
図４はメインシート１６を示す図である。メインシート１６の中央部には画像表示装置１４の表示面４０が設けられている。メインシート１６の下部にはセレクトキー４２、インジケータ４４、エンターキー４３が設けられている。セレクトキー４２は、上述したスイッチ２４と押圧部材２２によって構成されている。エンターキー４３は、上述したスイッチ２５と押圧部材２３によって構成されている。インジケータ４４は、２つの発光素子３２によって構成されており、たとえば、２次元コードの読み取りが成功すると緑色の発光素子が点灯し、２次元コードの読み取りが失敗すると赤色の発光素子が点灯する。なお、画像表示装置１４は撮像素子３１によって取得した画像（静止画または動画）に加え、セレクトキー４２とエンターキー４３の割り当てをユーザに示唆する画像（図４のＳＥＬとＭＥＮＵ（ただしＥＮＴと表示されることもある））を表示してもよい。
【００１９】
＜制御ユニット＞
図５はリーダ３の電子的な構成を示すブロック図である。リーダ３のカメラ部（撮像手段）は、撮像素子３１、光学系５０、ＡＦ機構５１、照明部５２などを有している。撮像素子３１は光学系５０を通して結像した２次元コードの画像を電気的な信号に変換するＣＣＤやＣＭＯＳ等のイメージセンサである。ＡＦ機構５１は光学系５０のうち合焦用のレンズの位置や屈折率を調整する機構である。ＡＦ機構５１と光学系５０は、図３（Ｂ）において撮像素子３１と開口部３３との間に配置される。ＡＦ機構５１と光学系５０は一体化されて光学系モジュールを構成していてもよい。
【００２０】
照明部５２は１つ以上の発光素子を有し、２次元コードを照明するユニットである。照明部５２は、たとえば、照明用の発光素子２６〜２９やポインタ用の発光素子３５を有している。ポインタの光は光学系５０の光軸の目安となり、ユーザはポインタの位置を参照してワーク２を正しい位置に設置してもよい。
【００２１】
デコード部５３は撮像素子３１によって取得された２次元コードの画像データ７２をデコードしてデコード結果７１を記憶部７０に書き込むユニットである。デコード結果７１はワーク２の識別情報（例：シリアル番号や製造ロット番号）に加え、読取成功／失敗や各種の指標を含んでもよい。通信部５４はＰＬＣ５やコンピュータ４と通信するユニットである。通信部５４は、たとえば、ＰＬＣ５やクラウド７と通信するＩ／Ｏ部、ＲＳ２３２Ｃなどのシリアル通信部、無線ＬＡＮや有線ＬＡＮなどのネットワーク通信部などを備えていてもよい。通信部５４はＰＬＣ５を介してクラウド７と通信してもよいし、ＰＬＣ５を介さずにクラウド７と通信してもよい。
【００２２】
表示部５５は画像表示装置１４やインジケータ用の発光素子３２を備えている。表示部５５は、たとえば、２次元コードのデコード結果７１である文字列、読み取り成功率（複数回読み取り処理を実行したときの平均読み取り成功率）、マッチングレベル（読み取りのしやすさを示す読取余裕度）、ＰＰＣ（２次元コードを構成する１つのセルが画像データにおいていくつの画素に相当するかを示す値：ピクセル・パー・セル）などを表示してもよい。入力部５６はスイッチなどの入力操作を受け付けるユニットであり、セレクトキー４２やエンターキー４３を備えている。ユーザはセレクトキー４２やエンターキー４３を押すことで、チューニング部６５にチューニングを実行させてもよい。
【００２３】
制御ユニット６０はリーダ３の各部を統括的に制御するユニットである。制御ユニット６０は様々な機能を搭載しているが、これらは論理回路により実現されてもよいし、ソフトウエアを実行することによって実現されてもよい。オートフォーカス制御部（ＡＦ制御部）６１はＡＦ機構５１を制御するユニットである。撮像制御部６２は照明部５２の照明光の光量を制御したり、撮像素子３１の露光時間（シャッタースピード）を制御したりするユニットである。とりわけ、撮像制御部６２は、チューニング部６５や演算部６３からの指示に応じて照明部５２の複数の発光素子のうちどれを点灯させるかを制御する点灯制御手段として機能する。
【００２４】
演算部６３は様々な演算処理を実行する。たとえば、演算部６３はデコード結果や画像データなどを用いて、読み取り成功率やマッチングレベル、ＰＰＣを演算する。もちろんこれらの演算は、デコード部５３やチューニング部６５など、演算部６３以外のユニットで実行されてもよい。本実施例では、説明の便宜上、演算部６３はデコード指標演算部６３ａ、品質指標演算部６３ｂ、低減処理部６４および分析部６７などを有している。デコード指標演算部６３ａは、デコード処理のしやすさを示す指標（例：読み取り成功率やマッチングレベル、ＰＰＣ）を演算により決定する。品質指標演算部６３ｂは印刷装置６による２次元コードなどの光学情報の付与品質を示す品質指標（例：印刷検証グレード）を演算により決定する。低減処理部６４は、たとえば、ワーク２に付与された光学情報を撮影して得られた画像から環境光などの外乱の影響を低減する。分析部６７は、光学情報を撮影して得られた画像を分析して環境光やリーダ３、印刷装置６などに関連した予知保全情報を生成する。また、分析部６７は、デコード処理のしやすさを示す指標が閾値以下である場合に警報を出力したり、警報の要因を示す環境光画像の解析結果を出力したりしてもよい。
【００２５】
チューニング部６５は、読取条件を制御する読取条件制御手段または照明条件を決定する条件決定手段として機能する。読取条件は、たとえば、露光時間や照明光量、ゲインなどの撮像条件やデコード部５３における画像処理条件（フィルタの係数など）である。ライン１を搬送されるワーク２に対する外光の影響などで適切な撮像条件や画像処理条件は変化する。よって、チューニング部６５は、より適切な読取条件を探索して、ＡＦ制御部６１や撮像制御部６２、デコード部５３を設定する。チューニング部６５は、暗視野照明モードと明視野照明モードなどのどちらがコードを読み取るために適しているかを判定してもよい。
【００２６】
ＵＩ管理部６６は、画像表示装置１４に画像データを表示したり、入力部５６からのユーザ指示を受け付けたり、インジケータの点灯を制御したりするユニットである。ＵＩ管理部６６は、表示部５５に、デコード指標が閾値以下である場合に警報を出力したり、警報の要因を示す環境光画像の解析結果を出力したりしてもよい。また、ＵＩ管理部６６は、光学情報のデコードに成功すると、表示部５５に、環境光に関連した予知保全情報を出力してもよい。
【００２７】
記憶部７０は、メモリなどの記憶装置であり、デコード部５３によって取得されたデコード結果７１、撮像素子３１によって取得された画像データ７２、コンピュータ４などの設定装置によってリーダ３に設定されたデータや入力部５６により設定されたデータである設定データ７３などを記憶する。
【００２８】
＜光学情報の読み取りに失敗する要因＞
（１）環境光（外乱光）
リーダ３は照明部５２を点灯させてワーク２に照明光を照射してワーク２の光学コード８を読み取る。その一方で、ワーク２を製造する工場では、窓を介して太陽光が入射したり、工場内に設けられた照明設備からの照明光がワーク２に照射されたりする。図６（Ａ）ないし図６（Ｄ）に示される例では光学コード８はラベル（貼付可能なシート）に印刷されている。図７（Ａ）ないし図７（Ｄ）に示される例では光学コード８はワーク２の金属表面に刻印されている。
【００２９】
●ラベルに印刷された光学コード
図６（Ａ）は環境光の影響がないときに照明部５２を点灯させてリーダ３によって取得されたワーク２の光学コード８の画像である。このようなケースでは光学コード８は精度よくデコードされる。図６（Ｂ）は環境光の影響がないときに照明部５２を消灯させてリーダ３によって取得されたワーク２の光学コード８の画像である。環境光だけでなく照明光も存在しないため、光学コード８の画像は真っ黒の画像となる。図６（Ｃ）は環境光の影響があるときに照明部５２を点灯させてリーダ３によって取得されたワーク２の光学コード８の画像である。この例では強い環境光が光学コード８に入射しているため、光学コード８の画像の一部に非常に明るい画像領域が発生している。図６（Ｄ）は環境光の影響があるときに照明部５２を消灯させてリーダ３によって取得されたワーク２の光学コード８の画像である。図６（Ｃ）と同様に、図６（Ｄ）においても光学コード８の画像の一部に非常に明るい画像領域６００が発生している。
【００３０】
図６（Ａ）ないし図６（Ｄ）からわかるように、照明部５２を点灯させて取得された画像（照明光画像）は光学コード８を読み取るために使用され、照明部５２を消灯させて取得された画像（環境光画像）は環境光の影響を判別するために使用されてもよい。たとえば、図６（Ｄ）が示すように、明るさが閾値を超えている画像領域の面積が所定の面積閾値以上であれば、分析部６７は環境光の影響があると判定してもよい。なお、本明細書においてある値がそれに対応する閾値を超えているかどうかの判定は、ある値が閾値以上かどうかの判定に置換されてもよい。また、ある値が閾値未満かどうかの判定は、ある値が閾値以下かどうかの判定に置換されてもよい。
【００３１】
●金属表面に印刷（刻印）された光学コード
図７（Ａ）は環境光の影響がないときに照明部５２を点灯させてリーダ３によって取得されたワーク２の光学コード８の画像である。図７（Ｂ）は環境光の影響がないときに照明部５２を消灯させてリーダ３によって取得されたワーク２の光学コード８の画像である。環境光だけでなく照明光も存在しないため、光学コード８の画像は真っ黒の画像となる。図７（Ｃ）は環境光の影響があるときに照明部５２を点灯させてリーダ３によって取得されたワーク２の光学コード８の画像である。図７（Ｄ）は環境光の影響があるときに照明部５２を消灯させてリーダ３によって取得されたワーク２の光学コード８の画像である。図７（Ｃ）と同様に、図７（Ｄ）においても光学コード８の画像の一部に非常に明るい画像領域６００が発生している。
【００３２】
図７（Ａ）ないし図７（Ｄ）からわかるように、照明部５２を点灯させて取得された画像（照明光画像）は光学コード８を読み取るために使用され、照明部５２を消灯させて取得された画像（環境光画像）は環境光の影響を判別するために使用されてもよい。たとえば、図７（Ｄ）が示すように、明るさが閾値を超えている画像領域の面積が所定の面積閾値以上であれば、分析部６７は環境光の影響があると判定してもよい。
【００３３】
●環境光の低減処理
制御ユニット６０は光学コード８の画像から環境光の影響を低減させる低減処理部６４を有していてもよい。たとえば、低減処理部６４はデコード部５３に実装されてもよい。図８が示すように、低減処理部６４は環境光の影響があるときに撮像素子３１により取得された照明光画像６０１と環境光画像６０２とを合成して環境光の影響が低減された合成画像６０３を作成し、デコード部５３に出力する。デコード部５３は、当該合成画像６０３を用いて光学コード８をデコードする。この例では、低減処理部６４は、照明光画像６０１と環境光画像６０２との差分画像を合成画像６０３として作成している。なお、デコード部５３が、照明光画像６０１で光学コード８のデコードに失敗し、かつ、合成画像６０３で光学コード８のデコードに成功すると、分析部６７は読み取り失敗の要因を環境光であると判定してもよい。デコード指標演算部６３ａは、光学コード８の読み取りやすさを示す指標であるマッチングレベルを演算してもよい。たとえば、分析部６７は、照明光画像６０１から求めたマッチングレベルと比較して、合成画像６０３から求めたマッチングレベルが向上していれば、環境光が悪影響を及ぼしていると判定する。このよう場合に、分析部６７は、ＵＩ管理部６６を通じて表示部５５に、光学コード８の読み取りに失敗した要因を示す情報を出力してもよい。また、光学コード８の読み取りに失敗していなくても十分なマッチングレベルが得られていないときに、分析部６７は、ＵＩ管理部６６を通じて表示部５５に警報情報や予知保全情報を出力してもよい。これらの情報には、たとえば、ワーク２における光学コード８の付与位置を変更することを促すメッセージや、環境光を遮光することを促すメッセージが含まれてもよい。
【００３４】
（２）リーダ３に対する不適切な設定
ＵＩ管理部６６は入力部５６に対するユーザ操作に応じてリーダ３の読み取り設定を実行する。また、チューニング部６５は読み取り設定の一部をチューニングにより設定する。読み取り設定には、たとえば、コントラスト閾値や露光時間、照明光量などがある。なお、読み取り設定が適切かどうかは、分析部６７がマッチングレベルに基づいて判定してもよい。分析部６７は、マッチングレベルが十分でないときに、表示部５５に警報情報や予知保全情報を出力してもよい。これらの情報には、たとえば、再チューニングを促すメッセージが含まれてもよい。
【００３５】
（３）印刷装置６の消耗や不適切な設定
印刷装置６の部品が消耗すると、光学コード８の印刷品質が低下し、リーダ３が光学コード８の読み取りに失敗することがある。印刷装置６が刻印装置であれば、ドットピーンスタイラスが消耗すると、光学コード８の印刷品質が低下する。印刷装置６がレーザ刻印装置であれば、レーザ出力の設定が不適切であるときに、光学コード８のドットが細くなりすぎたり、太くなりすぎたりする。また、レーザ素子が劣化すると、同一の電流を流してもレーザ光の出力が低下し、レーザ光による刻印が細くなる。
【００３６】
品質指標演算部６３ｂは光学コード８の印刷品質を示す指標である印刷検証グレード（印字検証グレード）を光学コード８の画像に基づき演算してもよい。印刷検証グレードは、光学コード８の規格に準じたコード自体の印刷品質の検証結果である。光学コード８の読み取りに成功した場合であっても印刷検証グレードが不十分であれば、分析部６７は、表示部５５に警報情報や予知保全情報を出力してもよい。これらの情報にはリーダ３の再チューニングを促すメッセージや、ドットピーンスタイラスの交換を促すメッセージなどが含まれてもよい。
【００３７】
＜リーダ３に関する要因と印刷装置６に関する要因との切り分け＞
分析部６７は、マッチングレベルと印刷検証グレードとに基づきリーダ３に関する要因と印刷装置６に関する要因とを切り分けてもよい。
【００３８】
図９は要因を切り分けるための表を示している。この表は記憶部７０に記憶されており、制御ユニット６０によって参照されてもよい。
●ケースＡはマッチングレベルが閾値より高く、かつ、印刷検証グレードも閾値より高いケースである。このようなケースＡでは、リーダ３が安定して光学コード８を読み取れる。つまり、ケースＡは良好なケースである。
●ケースＢはマッチングレベルが閾値以下であり、かつ、印刷検証グレードも閾値より高いケースである。分析部６７は、印刷検証グレードが閾値より高いため、印刷装置６を問題なしと判定する。また、演算部６３は、マッチングレベルが閾値以下であるため、リーダ３の読み取り設定に問題があると判定する。デコード部５３が光学コード８の読み取りに失敗すると、ＵＩ管理部６６は表示部５５に読み取り失敗の要因がリーダ３にあることを示すメッセージを表示してもよい。デコード部５３が光学コード８の読み取りに成功したとしても、ＵＩ管理部６６は表示部５５にリーダ３の再チューニングを促すメッセージを表示してもよい。
●ケースＣはマッチングレベルが閾値を超えており、かつ、印刷検証グレードが閾値以下であるケースである。分析部６７は、マッチングレベルが閾値より高いため、リーダ３には問題なしと判定する。また、分析部６７は、印刷検証グレードが閾値以下であるため、印刷装置６に問題があると判定する。デコード部５３が光学コード８の読み取りに失敗すると、ＵＩ管理部６６は表示部５５に読み取り失敗の要因が印刷装置６にあることを示すメッセージを表示してもよい。デコード部５３が光学コード８の読み取りに成功したとしても、ＵＩ管理部６６は表示部５５に印刷装置６のメンテナンス（例：ドットピーンスタイラスやレーザの交換）を促すメッセージを表示してもよい。
●ケースＤはマッチングレベルが閾値以下であり、かつ、印刷検証グレードも閾値以下であるケースである。ケースＤでは経験的に印刷装置６に問題があることが多い。ケースＤでは、ＵＩ管理部６６は表示部５５に印刷装置６のメンテナンス（例：ドットピーンスタイラスやレーザの交換）を促すメッセージや印刷装置６の設定を見直すことを促すメッセージを表示してもよい。さらに、ＵＩ管理部６６は表示部５５にリーダ３の再チューニングを促すメッセージを表示してもよい。
【００３９】
＜フローチャート＞
図１０はデコード処理を示すフローチャートである。図１１はデコード処理の一部をより詳しく説明するためのフローチャートである。
【００４０】
Ｓ１で撮像制御部６２は照明部５２と撮像素子３１を制御して照明光画像と環境光画像を取得する。たとえば、撮像制御部６２は照明部５２を点灯させてワーク２に照明光を照射しながら撮像素子３１にワーク２を撮像させてワーク２の画像を生成して記憶部７０に出力する。このように照明光画像はワーク２に対して照明光と環境光が照射されているときに取得された画像である。また、撮像制御部６２は照明部５２を消灯させて撮像素子３１に環境光の下でワーク２を撮像させてワーク２の画像を生成して記憶部７０に出力する。このように環境光画像はワーク２に対して照明光が照射されておらず、かつ、環境光が照射されているときに取得された画像である。これにより、記憶部７０は、照明光画像の画像データ７２と環境光画像の画像データ７２とを記憶する。
【００４１】
Ｓ２で演算部６３はデコード部５３に照明光画像を用いた光学コード８のデコードを試行させる。デコード部５３は、照明光画像を用いた光学コード８のデコード結果７１を記憶部７０に記憶する。これにより演算部６３は記憶部７０からデコード結果７１を取得できる。
【００４２】
Ｓ３で演算部６３（分析部６７）はデコード部５３により取得されたデコード結果に基づき、照明光画像で光学コード８のデコードに成功したかどうかを判定する。デコードに成功すると、読取成功に関する予知保全情報を出力するために、演算部６３はＳ３０に進む。一方で、デコードに失敗すると、演算部６３はＳ４に進む。
【００４３】
Ｓ４で演算部６３はデコード部５３に環境光画像を用いた光学コード８のデコードを試行させる。デコード部５３は、環境光画像を用いた光学コード８のデコード結果７１を記憶部７０に記憶することで、演算部６３に渡す。
【００４４】
Ｓ５で演算部６３（分析部６７）はデコード部５３により取得されたデコード結果に基づき、環境光画像で光学コード８のデコードに成功したかどうかを判定する。デコードに成功すると、環境光要因の予知保全情報を出力するために、演算部６３はＳ６に進む。一方で、デコードに失敗すると、演算部６３はＳ１１に進む。
【００４５】
Ｓ６で演算部６３（分析部６７）はＵＩ管理部６６を通じて表示部５５に読み取り成功を示す情報とともに環境光要因の予知保全情報を出力する。表示部５５は読み取り成功を示す情報とともに環境光要因の予知保全情報を表示する。環境光要因の予知保全情報には、たとえば、環境光の遮光を促すメッセージや光学コード８の付与位置を返すことを促すメッセージが含まれていてもよい。環境光（例：西日や他の機器の照明光）は照明光と比較して不安定なことが多い。そのため、より安定して光学コード８を読み取れるようにするために、予知保全情報がユーザに提供される。
【００４６】
Ｓ１１で演算部６３（分析部６７）は環境光画像から明るい画像領域６００の面積を取得する。たとえば、分析部６７は環境光画像の画像データ７２を記憶部７０から読み出し、各画素の明るさを明るさ閾値と比較する。分析部６７は、明るさ閾値を超える明るさの画素を特定し、特定された画素の数から画像領域６００の面積を求める。
【００４７】
Ｓ１２で演算部６３（分析部６７）は明るい画像領域６００の面積が面積閾値以上であるかどうかを判定する。明るい画像領域６００の面積が面積閾値以上であれば、演算部６３はＳ１３に進む。明るい画像領域６００の面積が面積閾値未満であれば、演算部６３はＳ２１に進む。
【００４８】
Ｓ１３で演算部６３（分析部６７）はＵＩ管理部６６を通じて表示部５５に読み取り失敗を示す情報とともに環境光要因の警報情報を出力する。表示部５５は読み取り失敗を示す情報とともに環境光要因の警報情報を表示する。環境光要因の警報情報には、環境光の遮光を促すメッセージや光学コード８の付与位置を返すことを促すメッセージが含まれていてもよい。このように照明光画像と環境光画像との両方で光学コード８を読み取ることができず、かつ、環境光画像に明るい画像領域６００が存在するケースは、環境光が光学コード８の読み取りに対して大きく影響しているケースである。よって、ユーザに、環境光要因の警報情報を提供することで、環境光を減じさせてもよい。なお、照明光画像と環境光画像との両方で光学コード８を読み取ることができないときに、低減処理部６４が環境光の低減処理を実行し、デコード部５３は低減処理された画像を用いて光学コード８のデコードを試行してもよい。Ｓ１２で分析部６７は、低減処理された画像を用いた光学コード８のデコードが成功したかどうかを判定してもよい。低減処理された画像を用いた光学コード８のデコードが成功すると、分析部６７は、Ｓ１３に進む。低減処理された画像を用いた光学コード８のデコードにも失敗すると、分析部６７は、Ｓ２１に進む。
【００４９】
Ｓ２１で演算部６３（分析部６７）はＵＩ管理部６６を通じて表示部５５に読み取り失敗を示す情報とともにその他の要因の警報情報を出力する。その他の要因には、印刷装置６の故障などが含まれてもよい。
【００５０】
上述したように照明光画像で光学コード８の読み取りに成功したとしても、マッチングレベルが不十分であったり、印刷検証グレードが不十分であったりするケースがある。このようケースでは、光学コード８の読み取り失敗に起因したワーク２の廃棄を予防するために、ユーザに予知保全情報が提供されてもよい。
【００５１】
図１１が示すように、Ｓ３０の予知保全は以下のステップを含んでもよい。
【００５２】
Ｓ３１で演算部６３（分析部６７）は環境光画像から明るい画像領域６００の面積を取得する。たとえば、分析部６７は環境光画像の画像データ７２を記憶部７０から読み出し、各画素の明るさを明るさ閾値と比較する。分析部６７は、明るさ閾値を超える明るさの画素を特定し、特定された画素の数から画像領域６００の面積を求める。
【００５３】
Ｓ３２で演算部６３（分析部６７）は明るい画像領域６００の面積が面積閾値以上であるかどうかを判定する。明るい画像領域６００の面積が面積閾値以上であれば、演算部６３はＳ６１に進む。Ｓ６１で演算部６３（分析部６７）はＵＩ管理部６６を通じて表示部５５に読み取り成功を示す情報とともに環境光要因の予知保全情報を出力する。表示部５５は読み取り成功を示す情報とともに環境光要因の予知保全情報を表示する。環境光要因の予知保全情報には、たとえば、環境光の遮光を促すメッセージや光学コード８の付与位置を返すことを促すメッセージが含まれていてもよい。環境光（例：西日や他の機器の照明光）が光学コード８に入射すると、マッチングレベルが低下することがある。このような場合には、光学コード８の読み取りに成功していたとしても、環境光に関する予知保全が必要となる。たとえば、マッチングレベルが警告レベル以下に低下し、かつ、明るい画像領域６００の面積が面積閾値以上であることは、環境光要因の予知保全の出力条件となりうる。
【００５４】
一方、Ｓ３２で明るい画像領域６００の面積が面積閾値未満であれば、演算部６３はＳ３３に進む。  Ｓ３３で演算部６３は照明光画像のデコード結果に基づきマッチングレベルｍと印刷検証グレードｇとを取得する。デコード指標演算部６３ａは照明光画像のデコード結果に基づきマッチングレベルｍを演算する。品質指標演算部６３ｂは照明光画像のデコード結果に基づき印刷検証グレードｇを演算する。
【００５５】
Ｓ３４で演算部６３（分析部６７）はマッチングレベルｍと印刷検証グレードｇとがともに高いかどうかを判定する。たとえは、分析部６７はマッチングレベルｍが閾値ｍｔｈを超えており、かつ、印刷検証グレードｇが閾値ｇｔｈを超えているかどうかを判定する。閾値ｍｔｈはデコード閾値の一例であり、閾値ｇｔｈは品質閾値の一例である。マッチングレベルｍと印刷検証グレードｇとがともに高い場合は、光学コード８の読み取り環境や付与環境はともに良好である。このようなケースでは、分析部６７は、読み取り環境や付与環境はともに良好であることを示すメッセージを表示部５５に表示させてもよい。一方で、マッチングレベルｍと印刷検証グレードｇとのうち少なくとも一方が低い場合、演算部６３はＳ４１に進む。
【００５６】
Ｓ４１で演算部６３（分析部６７）はマッチングレベルｍが低く、かつ、印刷検証グレードｇが高いかどうかを判定する。たとえは、分析部６７はマッチングレベルｍが閾値ｍｔｈを超えておらず、かつ、印刷検証グレードｇが閾値ｇｔｈを超えているかどうかを判定する。マッチングレベルｍが低く、かつ、印刷検証グレードｇが高い場合、演算部６３はＳ４２に進む。
【００５７】
Ｓ４２で演算部６３（分析部６７）はＵＩ管理部６６を通じて表示部５５に、リーダ要因の予知保全情報を出力する。印刷検証グレードｇが高い場合は光学コード８の付与環境は良好である。しかし、マッチングレベルｍが低い場合、リーダ３の読み取り設定が不適切になりつつある。そこで、分析部６７は表示部５５に、リーダ３の再チューニングを促すメッセージなどを予知保全情報として出力してもよい。これによりユーザは入力部５６を通じて再チューニングを制御ユニット６０に指示してもよい。
【００５８】
なお、Ｓ４１において、マッチングレベルｍが低く、かつ、印刷検証グレードｇも低い場合、または、マッチングレベルｍが高く、かつ、印刷検証グレードｇが低い場合、演算部６３はＳ５１に進む。つまり、印刷検証グレードｇが低い場合は、印刷装置６に問題があるため、演算部６３はＳ５１に進む。
【００５９】
Ｓ５１で演算部６３（分析部６７）はＵＩ管理部６６を通じて表示部５５に、印刷要因の予知保全情報を出力する。印刷要因の予知保全情報には、印刷装置６のメンテナンスを促すメッセージや、印刷設定の適正化を促すメッセージなどが含まれうる。ユーザは、印刷装置６の部品（例：レーザ素子やドットピーンスタイラス）を交換したり、印刷設定を変更したりする。
【００６０】
従来であれば、ユーザは直接各種の数値を見ながら、読み取りの失敗の要因を見つけたり、読み取りに成功したとしても保全が必要かどうかを判断したりしており、ユーザの負担が大きかった。本実施例によれば、光学コードの読み取りに関して警報や予知保全情報が出力される。そのため、ユーザの負担が軽減される。また、ユーザが警報や予知保全情報にしたがって、環境光を遮光したり、リーダ３の再チューニングを実行したり、印刷装置６をメンテナンスしたりすることで、無駄な廃棄品を減らすことが可能となる。
【００６１】
＜その他＞
ところで、制御ユニット６０は記憶部７０にデコード結果７１を蓄積してもよいし、通信部５４を通じてクラウド７にデコード結果７１を蓄積してもよい。クラウド７は工場内に配置されたデータストレージであってもよい。分析部６７は、デコード結果７１に含まれる印刷検証グレードを時系列で評価することで、予知保全を実行してもよい。
【００６２】
図１２（Ａ）は時間の経過とともに緩やかに印刷検証グレードが低下するケースを示している。このようなケースは印刷装置６の部品が徐々に消耗することで発生する。分析部６７は、時系列データである印刷検証グレードを所定期間にわたって評価することで、時間の経過とともに緩やかに印刷検証グレードが低下したかどうかを判定する。たとえば、分析部６７は印刷検証グレードの傾きを演算し、この傾きと所定の傾き閾値を比較することで、印刷検証グレードが緩やかに低下したかどうかを判定してもよい。分析部６７は、印刷検証グレードを近似して近似関数を求め、近似関数に基づき印刷検証グレードｇが閾値ｇｔｈ以下となる日時（または印刷回数）を求めてもよい。分析部６７は、この日時までの残りの日数が閾値以下となると、予知保全情報を出力してもよい。
【００６３】
図１２（Ｂ）は突発的に印刷検証グレードが低下するケースを示している。環境光などの外乱は突発的に発生する。したがって、分析部６７は印刷検証グレードを時系列で評価することで、印刷検証グレードの低下が突発的であることを判定してもよい。たとえば、分析部６７は、印刷検証グレードｇが閾値ｇｔｈ以下となると、その直前の所定期間に取得された複数の印刷検証グレードｇの傾向（近似関数の傾きなど）を演算してもよい。分析部６７は傾きが所定の閾値よりも大きければ、印刷検証グレードの低下が突発的であると判定してもよい。なお、突発的な印刷検証グレードの低下は、ワーク２や印刷装置６に水や油などの液体が付着することでも発生する。
【００６４】
＜まとめ＞
図１ないし図５が示すようにリーダ３は光学情報読取装置の一例である。照明部５２は光学情報（例：光学コード８）が付与されたワーク２に照明光を照射する照明部の一例である。撮像素子３１はワーク２を撮像して当該ワーク２の画像を出力する撮像部の一例である。制御ユニット６０は、照明部５２を点灯させ、照明光の下で撮像部にワーク２を撮像させてワーク２の照明光画像を取得するとともに、照明部５２を消灯させ、環境光の下で撮像部にワーク２を撮像させてワーク２の環境光画像を取得する制御部の一例である。なお、環境光が存在する照明環境下では、環境光と照明光とが混合した混合光の下で照明光画像が取得されることになる。分析部６７は環境光画像を用いた分析を行う分析部の一例である。デコード部５３は照明光画像を用いて光学情報をデコードするデコード部の一例である。表示部５５は光学情報のデコード結果を出力する出力部の一例である。表示部５５は、分析部６７による分析結果に基づき、デコード部５３が照明光画像を用いた光学情報のデコードに失敗するか、または、デコード部５３が照明光画像を用いた光学情報のデコードに成功したものの照明光画像についてデコード処理のしやすさを示す指標が警告閾値未満になった際に、その要因が環境光にあるか、それ以外にあるかを区別して要因に関する情報を出力可能に構成されている。たとえば、表示部５５は、デコード部５３が照明光画像を用いた光学情報のデコードに失敗すると、環境光画像の分析結果に基づき環境光に関連した警告情報または予知保全情報を出力してもよい。たとえば、制御ユニット６０は、デコード部５３が照明光画像を用いた光学情報のデコードに失敗すると（Ｓ３でＮｏ）、デコード部５３に環境光画像を用いた光学情報のデコードを実行させるように構成されている。表示部５５は、デコード部５３が環境光画像を用いた光学情報のデコードに成功すると（Ｓ３でＹｅｓ）、環境光に関連した予知保全情報を出力するように構成されていてもよい。Ｓ６１が示すように、表示部５５は、デコード部５３が照明光画像を用いた光学情報のデコードに成功したものの照明光画像についてデコード処理のしやすさを示す指標が警告閾値未満になると、環境光画像の分析結果に基づき環境光に関連した予知保全情報を出力してもよい。このように本実施例では環境光に関連した要因の切り分けがリーダ３によって実行されるため、ユーザの切り分け負担が軽減される。また、デコードに成功したとしても、予知保全が必要であれば予知保全情報が出力されるため、ユーザはこれに基づいて事前にリーダ３を調整したり、メンテナンスしたりすることができる。なお、予知保全が必要でないような良好な読取環境であることを示す情報が予知保全情報として出力されてもよい。これにより、ワーク２が光学情報を読めないことに基づき廃棄品とされることは、減少するであろう。
【００６５】
制御ユニット６０は、デコード部５３が環境光画像を用いた光学情報のデコードに失敗すると（Ｓ３でＮｏ）、環境光画像に閾値を超える明るさを有する画像領域６００が存在するかを分析する分析部６７を有してもよい。表示部５５は、環境光画像に閾値を超える明るさを有する画像領域６００が存在する場合（Ｓ１２でＹｅｓ）、光学情報のデコードに失敗した要因が環境光であることを示す情報を出力してもよい。たとえば、表示部５５は、環境光画像に閾値を超える明るさを有する画像領域６００の面積が面積閾値を超えている場合に、光学情報のデコードに失敗した要因が環境光であることを示す情報を出力してもよい。このように、画像の明るさに注目することで、読み取り失敗の要因が環境光にあると判定されてもよい。
【００６６】
表示部５５は、環境光画像に閾値を超える明るさを有する画像領域６００が存在しない場合（Ｓ１２でＮｏ）に、光学情報のデコードに失敗した要因が環境光以外の要因であることを示す情報を出力してもよい。たとえば、表示部５５は、環境光画像に、閾値を超える明るさを有する画像領域６００が存在し、かつ、その面積が面積閾値以上でない場合（Ｓ１２でＮｏ）に、光学情報のデコードに失敗した要因が環境光以外の要因であることを示す情報を出力してもよい。これは、照明光画像と環境光画像との両方でデコードに失敗し、かつ、環境光による明るい画像領域６００が存在しないケースでは、通常、環境光とは関係ないことが読み取り失敗の要因となるからである。
【００６７】
デコード部５３が照明光画像を用いた光学情報のデコードに失敗すると、低減処理部６４は、環境光画像を用いて照明光画像から環境光の影響を低減してもよい。デコード部５３は、環境光の影響が低減された照明光画像を用いて光学情報をデコードしてもよい。これにより、ワーク２を廃棄することが減少しよう。
【００６８】
デコード部５３または演算部６３は、照明光画像と環境光の影響が低減された照明光画像とのそれぞれについてデコード処理のしやすさを示す指標（例：マッチングレベル）を決定してもよい。表示部５５は、照明光画像の指標が環境光の影響が低減された照明光画像の指標よりも低ければ、光学情報のデコードに失敗した要因が環境光であることを示す情報を出力してもよい。このように環境光の低減処理によって指標が改善していれば、読み取り失敗の要因は環境光にある可能性が高い。
【００６９】
デコード部５３が照明光画像を用いた光学情報のデコードに成功すると、演算部６３は照明光画像についてデコード処理のしやすさを示すデコード指標を決定するとともに、光学情報の付与品質を示す品質指標（例：印刷検証グレード）を決定してもよい。表示部５５は、デコード指標がデコード閾値を超えておらず、かつ、品質指標が品質閾値を超えている場合（Ｓ４１でＹｅｓ）に、ワーク２の撮像条件またはデコード条件に関連した予知保全情報を出力しもよい。これは図９に示したケースＢに相当する。デコード指標がデコード閾値を超えていないケースは、撮像条件またはデコード条件が適正でない可能性があるからである。これによりユーザは撮像条件またはデコード条件について再チューニングを実行してもよい。
【００７０】
表示部５５は、デコード指標がデコード閾値を超えておらず、かつ、品質指標が品質閾値を超えていない場合（Ｓ４１でＮｏ）、光学情報の付与処理に関連した予知保全情報を出力してもよい。これは図９に示したケースＤに相当する。また、表示部５５は、デコード指標がデコード閾値を超えており、かつ、品質指標が品質閾値を超えていない場合（Ｓ４１でＮｏ）、光学情報の付与処理に関連した予知保全情報を出力してもよい。これは図９に示したケースＣに相当する。このように少なくとも品質指標が品質閾値を超えていないケースでは印刷装置６の再設定やメンテナンスが必要となるからである。ユーザはこれに基づき印刷装置６の再設定やメンテナンスを実行することで、光学コード８を読み取れないことに基づくワーク２の廃棄を未然に防止することが可能となろう。
【００７１】
表示部５５は、デコード指標がデコード閾値を超えており、かつ、品質指標が品質閾値を超えている場合に、光学情報の付与処理およびデコード環境が良好であることを示す情報を出力してもよい。これによりユーザは安心してリーダ３を使用することができるであろう。これは図９に示したケースＡに相当する。
【００７２】
デコード部５３は、光学情報の付与品質を示す品質指標を決定し、蓄積手段に蓄積するように構成されていてもよい。蓄積手段は、たとえば、クラウド７、データストレージ（ファイルサーバ）、記憶部７０の何れであってもよい。図１２（Ａ）が示すように、表示部５５は、蓄積手段に蓄積された複数の品質指標が時間の経過とともに緩やかに低下している場合、光学情報の付与処理に関連した予知保全情報を出力してもよい。これは、印刷装置６の消耗が要因となる典型的なケースだからである。
【００７３】
図１２（Ｂ）が示すように、表示部５５は、蓄積手段に蓄積された品質指標が一時的に低下している場合に、ワーク２の撮像環境に関連した予知保全情報を出力してもよい。とりわけ、環境光がワーク２に入射したり、光学系５０に液体が付着したりすると、品質指標が一時的に低下しうる。よって、ユーザは、環境光を遮光したり、光学系５０を清掃したりして、この問題を解決できるであろう。
【００７４】
デコード部５３や演算部６３は、照明光画像を用いて光学情報をデコードし、デコード処理のしやすさを示す指標を決定するデコード部として機能してもよい。表示部５５は、この指標が閾値以下（閾値未満）である場合に警報を出力するとともに、警報の要因を示す環境光画像の解析結果を出力してもよい。これによりユーザはリーダ３や印刷装置６について予知保全を実行できるため、ユーザの負担が軽減され、さらに、ワーク２の廃棄品が減るであろう。
【００７５】
分析部６７は、警報や予知保全情報を、コンピュータ４の表示装置に表示させたり、ＰＬＣ５に接続された表示装置に表示させたりしてもよい。コンピュータ４はリーダ３から警報や予知保全情報を受信すると、警報や予知保全情報を表示装置に表示する。同様に、ＰＬＣ５はリーダ３から警報や予知保全情報を受信すると、警報や予知保全情報を表示装置に表示する。これらの表示装置も出力部として機能する。また、通信部５４は、警報や予知保全情報をコンピュータ４やＰＬＣ５に出力するため、出力部の一例である。
【００７６】
分析部６７は、デコード部５３が照明光画像を用いた光学情報のデコードに成功したものの照明光画像についてデコード処理のしやすさを示す指標が警告閾値未満になると、環境光画像に閾値を超える明るさを有する画像領域が存在するかを分析する分析部として機能する。表示部５５は、環境光画像に閾値を超える明るさを有する画像領域が存在する場合に、環境光に関連した予知保全情報を出力する。
【００７７】
図１３は様々な要因ごとの典型的なマッチングレベルの変化を示している。表示部５５は、照明光画像のマッチングレベルｍが警告閾値未満になると、警告を出力してもよい。その際に、予知保全情報が出力されてもよい。
【００７８】
Ｆ１は照明光量の低下に起因したマッチングレベルの変化を示している。照明光の光源やリーダの受光部にダストが堆積して、照明光量や受光量が低下することがある。マッチングレベルｍが徐々に低下し、やがて警告閾値未満になると、表示部５５は照明光量の低下に起因した予知保全情報を出力してもよい。なお、分析部６７はマッチングレベルｍを近似することで、マッチングレベルｍが読取ＮＧレベル未満になる時刻を推定できる。また、分析部６７は、読取ＮＧレベルとマッチングレベルｍとの差分を余裕度として演算してもよい。表示部５５は、予知保全情報に、マッチングレベルｍが読取ＮＧレベル未満になる推定時刻や余裕度を含めてもよい。
【００７９】
Ｆ２は環境光が変化に依存したマッチングレベルの変化を示している。太陽光などの環境光は周期的に変化することがある。そこで、分析部６７は、マッチングレベルｍが警告閾値未満になると、マッチングレベルｍの変化周波数を求める。変化周波数が環境光特有の変化周波数であれば、表示部５５は環境光を要因とした予知保全情報を出力してもよい。
【００８０】
Ｆ３は印刷を要因としたマッチングレベルｍの変化を示している。印刷が要因である場合、マッチングレベルｍは急激に低下しやすい。そこで、分析部６７はマッチングレベルｍが警告閾値未満になると、マッチングレベルｍの変化の傾きを求める。表示部５５は、傾きの絶対値が大きければ、印刷を要因とした予知保全情報を出力してもよい。
【符号の説明】
【００８１】
１...ライン、２...ワーク、３...リーダ、４...コンピュータ、５...ＰＬＣ、６...コード、８...拡散反射部材
【図１】
2019091209.tif 000003
【図２】
2019091209.tif 000004
【図３】
2019091209.tif 000005
【図４】
2019091209.tif 000006
【図５】
2019091209.tif 000007
【図６】
2019091209.tif 000008
【図７】
2019091209.tif 000009
【図８】
2019091209.tif 000010
【図９】
2019091209.tif 000011
【図１０】
2019091209.tif 000012
【図１１】
2019091209.tif 000013
【図１２】
2019091209.tif 000014
【図１３】
2019091209.tif 000015