(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023151933
(43)【公開日】2023-10-16
(54)【発明の名称】データ収集装置、制御システム、方法およびプログラム
(51)【国際特許分類】
G05B 19/418 20060101AFI20231005BHJP
【FI】
G05B19/418 Z
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2022061815
(22)【出願日】2022-04-01
(71)【出願人】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】坂下 将太
【テーマコード(参考)】
3C100
【Fターム(参考)】
3C100AA29
3C100AA38
3C100AA57
3C100AA58
3C100BB13
3C100BB15
3C100BB27
3C100BB33
3C100DD04
3C100DD22
(57)【要約】
【課題】生産ラインから収集されるデータを表す可視化データを作成する。
【解決手段】データ収集装置は、複数工程を経て対象物を生産する生産ライン3から生産作業に関するデータ項目のデータを収集するデータ収集部63と、生産ラインにおいて生産される対象物の識別子を取得する取得部と、各工程について、当該工程で対象物に対し生産作業が実施される期間に収集部によって当該工程から収集されるデータに、取得部によって取得された対象物の識別子を紐付ける紐付部と、紐付部によって識別子が紐付けされた各工程のデータを可視化して表す可視化データを作成する可視化データ作成部を備える。
【選択図】
図6
【特許請求の範囲】
【請求項1】
複数工程を経て対象物を生産する生産ラインのデータを収集する装置であって、
各前記複数工程から、生産作業に関するデータ項目のデータを収集する収集部と、
前記生産ラインにおいて生産される対象物の識別子を取得する取得部と、
前記各工程について、当該工程で前記対象物に対し前記生産作業が実施される期間に前記収集部によって当該工程から収集されるデータに、前記取得部によって取得された前記対象物の識別子を紐付ける紐付部と、
前記紐付部によって前記識別子が紐付けされた前記各工程のデータを可視化して表す可視化データを作成する可視化データ作成部を備える、データ収集装置。
【請求項2】
前記収集部は、前記各工程から前記データを周期的に収集し、
前記紐付部は、
前記各工程について、当該工程から前記周期的に収集されて構成される時系列データのうち前記期間に対応の部分時系列データに、前記対象物の識別子を紐付ける、請求項1に記載のデータ収集装置。
【請求項3】
前記各工程は、当該工程に前記対象物が1ずつ投入されるよう構成され、
前記生産ラインは、前記対象物が予め定められた順序で1の工程から次の工程に投入されるよう構成され、
前記可視化データは、前記各工程について、当該工程に投入された対象物毎の前記部分時系列データの値の変化の特性を可視化して表す特性可視化データを含む、請求項2に記載のデータ収集装置。
【請求項4】
前記特性可視化データは、前記各工程について、当該工程に投入された対象物毎の前記部分時系列データの値の時間的変化を示す特性を共通の時間軸で可視化して表す時間的特性可視化データを含む、請求項3に記載のデータ収集装置。
【請求項5】
前記特性可視化データは、前記各工程について、前記対象物毎の前記特性を可視化するオブジェクトを有するGUIデータを含む、請求項3または4に記載のデータ収集装置。
【請求項6】
前記GUIデータは、前記オブジェクトに対するユーザ操作を受付けたことを条件に、当該オブジェクトの前記部分時系列データに紐付けされた前記対象物の識別子を可視化するオブジェクトを含む、請求項5に記載のデータ収集装置。
【請求項7】
前記各工程について、1の前記対象物の前記特性を可視化する前記オブジェクトは、他の前記対象物の前記特性を可視化するオブジェクトとは異なる態様で前記特性を可視化するよう構成される、請求項5に記載のデータ収集装置。
【請求項8】
前記各工程について、前記収集部によって収集される前記データ項目を前記データ収集装置に設定するためのUI部を、さらに備える、請求項1から4のいずれか1項に記載のデータ収集装置。
【請求項9】
前記対象物の識別子は、当該識別子の少なくとも一部が前記複数工程の間で共通する識別子で構成される、請求項8に記載のデータ収集装置。
【請求項10】
前記生産ラインはロット単位で前記対象物を生産するよう構成され、
前記共通する識別子は、前記対象物が属する前記ロットの識別子を含む、請求項9に記載のデータ収集装置。
【請求項11】
前記生産ラインは、当該生産ラインに1ずつ前記対象物が投入されるよう構成され、
前記取得部は、前記生産ラインに投入される前記対象物の投入順番と前記ロットの識別子から当該対象物の前記識別子を取得する、請求項10に記載のデータ収集装置。
【請求項12】
前記生産ラインを制御する制御装置と、
請求項1から4のいずれか1項に記載のデータ収集装置を備える、制御システム。
【請求項13】
複数工程を経て対象物を生産する生産ラインのデータを収集する方法であって、
各前記複数工程から、生産作業に関するデータ項目のデータを収集するステップと、
前記生産ラインにおいて生産される対象物の識別子を取得するステップと、
前記各工程について、当該工程で前記対象物に対し前記生産作業が実施される期間に当該工程から収集されるデータに、前記取得するステップにおいて取得された前記対象物の識別子を紐付けるステップと、
前記識別子が紐付けされた前記各工程のデータを可視化して表す可視化データを作成するステップとを備える、データ収集方法。
【請求項14】
データ収集方法をコンピュータに実行させるためのプログラムであって、
前記データ収集方法は、複数工程を経て対象物を生産する生産ラインのデータを収集する方法であって、
各前記複数工程から、生産作業に関するデータ項目のデータを収集するステップと、
前記生産ラインにおいて生産される対象物の識別子を取得するステップと、
前記各工程について、当該工程で前記対象物に対し前記生産作業が実施される期間に当該工程から収集されるデータに、前記取得するステップにおいて取得された前記対象物の識別子を紐付けるステップと、
前記識別子が紐付けされた前記各工程のデータを可視化して表す可視化データを作成するステップとを備える、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、FA(Factory Automation:ファクトリオートメーション)のデータ収集装置、データ収集方法およびプログラムに関し、特に、複数工程を経て製品を生産する生産ラインのデータ収集装置、制御システム、方法およびプログラムに関する。
【背景技術】
【0002】
複数工程を備える生産ラインをモニタする技術が提案されている。例えば、特許文献1(特開2021-86193号公報)は、産業機器の情報収集システムを開示する。この情報収集システムは、少なくとも1つのワークから対応する1つの製品が製造されるまでに複数の処理機器により実行された複数の処理工程それぞれに関わる複数の処理情報を、当該複数の処理機器それぞれから収集する収集部と、当該収集部により収集された複数の処理情報に対し、1つの製品に関わる複数の処理工程間で連携可能な連携識別子を付して互いに関連付ける関連付け部を有する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
生産現場では、生産ラインから収集された生産に関する情報を視覚的に把握したいとのユーザニーズがあった。特許文献1は、収集された情報を可視化するための技術は開示しない。
【0005】
本開示は、生産ラインから収集されるデータを表す可視化データを作成可能な構成を提供することを一つの目的とする。
【課題を解決するための手段】
【0006】
本開示の一例に係る、複数工程を経て対象物を生産する生産ラインのデータを収集する装置は、各工程から、生産作業に関するデータ項目のデータを収集する収集部と、生産ラインにおいて生産される対象物の識別子を取得する取得部と、各工程について、当該工程で対象物に対し生産作業が実施される期間に収集部によって当該工程から収集されるデータに、取得部によって取得された対象物の識別子を紐付ける紐付部と、紐付部によって識別子が紐付けされた各工程のデータを可視化して表す可視化データを作成する可視化データ作成部を備える。
【0007】
この開示によれば、各工程について、当該工程で対象物に生産作業が施される期間で収集された生産作業に関するデータに、当該対象物の識別子が紐付けられて、識別子が紐付けされたデータの可視化データが取得される。
【0008】
上述の開示において、収集部は各工程から前記データを周期的に収集し、紐付部は、各工程について、当該工程から周期的に収集されて構成される時系列データのうち上記に述べた期間に対応の部分時系列データに、当該対象物の識別子を紐付ける。
【0009】
この開示によれば、各工程について、当該工程で生産作業が施される対象物毎に、当該対象物に生産作業が施される期間で収集された部分時系列データが取得されて、部分時系列データに当該対象物の識別子を紐付けることができる。
【0010】
上述の開示において、各工程は、当該工程に対象物が1ずつ投入されるよう構成され、生産ラインは、対象物が予め定められた順序で1の工程から次の工程に投入されるよう構成され、可視化データは、各工程について、当該工程に投入された対象物毎の部分時系列データの値の変化の特性を可視化して表す特性可視化データを含む。
【0011】
この開示によれば、各工程について、当該工程に投入された対象物毎の部分時系列データの値の変化の特性を可視化して表す特性可視化データを提供できる。
【0012】
上述の開示において、上記の特性可視化データは、各工程について、当該工程に投入された対象物毎の部分時系列データの値の時間的変化を示す特性を共通の時間軸で可視化して表す時間的特性可視化データを含む。
【0013】
この開示によれば、各工程について、当該工程に投入された対象物毎の部分時系列データの値の時間的変化を示す特性を共通の時間軸で可視化して表す時間的特性可視化データを提供できる。
【0014】
上述の開示において、上記に述べた特性可視化データは、各工程について、対象物毎の特性を可視化するオブジェクトを有するGUIデータを含む。
【0015】
この開示によれば、特性可視化データを、各工程について、対象物毎の特性をグラフィカルに表すオブジェクトを含んで構成される。
【0016】
上述の開示において、上記に述べたGUIデータは、オブジェクトに対するユーザ操作を受付けたことを条件に、当該オブジェクトの部分時系列データに紐付けされた対象物の識別子を可視化するオブジェクトを含む。
【0017】
この開示によれば、オブジェクトの部分時系列データに紐付けされた対象物の識別子を、ユーザ操作に応じてグラフィカルに可視化するオブジェクトを提供できる。
【0018】
上述の開示において、各工程について、1の対象物の特性を可視化するオブジェクトは、他の対象物の特性を可視化するオブジェクトとは異なる態様で特性を可視化するよう構成される。
【0019】
この開示によれば、各工程について、グラフィカルに可視化されるオブジェクトによって、1の対象物の特性を、他の対象物の特性から区別し得る態様で可視化することができる。
【0020】
上述の開示において、各工程について、収集部によって収集されるデータ項目をデータ収集装置に設定するためのUI部を、さらに備える。
【0021】
この開示によれば、ユーザが、各工程について、収集されるべきデータ項目を設定可能な環境が提供される。
【0022】
上述の開示において、対象物の識別子は、当該識別子の少なくとも一部が複数工程の間で共通する識別子で構成される。
【0023】
この開示によれば、対象物の識別子の少なくとも一部を、複数工程の間で共通する識別子で表すことができる。
【0024】
上述の開示において、生産ラインはロット単位で対象物を生産するよう構成され、共通する識別子は、対象物が属するロットの識別子を含む。
【0025】
この開示によれば、対象物の識別子の少なくとも一部を、当該対象物が属するロットの識別子で表すことができる。
【0026】
本開示の一例に係る制御システムは、生産ラインを制御する制御装置と、上記に述べたデータ収集装置を備える。
【0027】
この開示によれば、データ収集装置を、生産ラインを制御する制御装置を備えるシステムにおいて提供することができる。
【0028】
本開示の一例に係る方法は、複数工程を経て対象物を生産する生産ラインのデータを収集する方法であって、各工程から、生産作業に関するデータ項目のデータを収集するステップと、生産ラインにおいて生産される対象物の識別子を取得するステップと、各工程について、当該工程で対象物に対し生産作業が実施される期間に当該工程から収集されるデータに、取得するステップにおいて取得された対象物の識別子を紐付けるステップと、識別子が紐付けされた各工程のデータを可視化して表す可視化データを作成するステップとを備える。
【0029】
この開示によれば、方法が実施されると、各工程について、当該工程で対象物に生産作業が施される期間で収集された生産作業に関するデータに、当該対象物の識別子が紐付けられて、識別子が紐付けされたデータの可視化データが取得される。
【0030】
本開示の一例では、上記に記載の方法をコンピュータに実行させるためのプログラムが提供される。
【発明の効果】
【0031】
本開示の一例によれば、生産ラインから収集されたデータを表す可視化データを作成可能な構成を提供できる。
【図面の簡単な説明】
【0032】
【
図1】本実施の形態に従うPLC100の概要を模式的に示す図である。
【
図2】本実施の形態に従うネットワークシステムの全体構成の一例を示す模式図である。
【
図3】本実施の形態に従うPLC100のハードウェア構成例を示す模式図である。
【
図4】本実施の形態に係るサポート装置500のハードウェア構成を概略的に示す図である。
【
図5】本実施の形態に係る画面の表示例を示す図である。
【
図6】本実施の形態に係るPLC100のモジュール構成を模式的に示す図である。
【
図7】本実施の形態に係るモニタ方法の処理を示すフローチャートである。
【
図8】生産ラインを構成する工程を模式的に示す図である。
【
図9】本実施の形態に係る部分時系列データの管理のテーブル構成を説明する図である。
【
図10】本実施の形態に係る部分時系列データの管理のテーブル構成を説明する図である。
【
図11】本実施の形態に係る画面の他の表示例を示す図である。
【
図12】本実施の形態に係るタイミングチャートの一例を示す図である。
【
図13】生産ラインを構成する工程を模式的に示す図である。
【
図14】本実施の形態に係るタイミングチャートの他の例を示す図である。
【
図15】生産ラインを構成する工程を模式的に示す図である。
【
図16】本実施の形態に係る情報設定画面の一例を示す図である。
【発明を実施するための形態】
【0033】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【0034】
<A.適用例>
本実施の形態では、「制御システム」の典型例として、PLC(プログラマブルロジックコントローラ)を説明するが、PLCの名称に限定されることなく、本明細書に開示された技術思想は、任意の制御システムに対して適用可能である。また、本実施の形態では、生産対象となる「対象物」を製品と称するが、「製品」の語は、完成品のみならず、完成品を構成する(組立てる)部品または中間品も含む意味で用いる。
【0035】
本実施の形態では、生産ラインは複数の工程を含む。生産ラインに投入される製品は、例えば、作業の工程順に並んだ複数の工程を構成する機器の間をベルトコンベアなどの適宜の搬送デバイスで自動的に搬送される。製品は搬送デバイスによって、これら複数工程を予め定められた順序に従って流れる、すなわち各工程において製品に対し生産作業が施される。各工程を流れる製品は、1の工程から次の工程に投入される。
【0036】
図1は、実施の形態に従うPLC100の概要を模式的に示す図である。本実施の形態では、PLC100は、複数の工程を備える製品の生産ラインに適用される。各工程は、当該工程を構成し、1つ以上の生産作業に関連する機器を含む。このような機器は、フィールド機器90と、製品のID(識別子)を検出するための個体IDコードリーダ88およびロット用コードリーダ89とを含む。フィールド機器90は、生産ラインなどのフィールドに対して制御指令93に従い、何らかの物理的な作用を与えるアクチュエータ、およびフィールドとの間で情報を遣り取りするセンサなどの入出力デバイスを含む。このような入出力デバイスによりフィールド機器90の状態が観測され観測値92が出力される。
【0037】
PLC100は、これら産業機器とデータを遣り取りする処理(以下、IOリフレッシュともいう)と、制御演算の処理とを、予め定められた制御周期毎に繰り返し実行する制御部10Bを有する。制御部10Bは、生産ラインを制御する制御装置を構成し得る。
【0038】
図1を参照して、PLC100は、制御部10Bと、IoTプラットフォーム10Aを備える。制御部10Bは、リアルタイムOS(Operating System)のもとで産業機器のリアルタイム制御に関するプログラムを実行するプラットフォームを構成し、また、IoTプラットフォーム10Aは、汎用OSのもとで、主に、IoT処理のプログラムを実行するためのプラットフォームを構成する。
【0039】
制御部10Bは、制御エンジン150と、制御エンジン150によって実行されるユーザプログラムと、データ領域42を含む。ユーザプログラムは、予め定められた制御周期毎に実行される、例えばラダープログラムなどを含む制御演算のための制御プログラム140とIOリフレッシュのためのIOリフレッシュプログラム40を含む。データ領域42は、入力データ154および出力データ155を格納する領域41と、工程を流れる製品のIDを表す個体ID43およびロットデータ44とを格納する領域を含む。
【0040】
IOリフレッシュでは、各制御周期において、フィールド機器90からデータを収集し、収集したデータである観測値92、個体IDコードリーダ88から収集する個体ID43およびロット用コードリーダ89から収集するロットデータ44をデータ領域42に格納するとともに、当該制御周期において制御演算による算出された制御指令93を収集領域から読出し、フィールド機器90に出力する。
【0041】
制御プログラム140は、いわゆる変数プログラムである。より具体的には、制御プログラム140が実行時に参照する観測値92のデータ、内部計算用データなどはデータ別に入力データ154に対応の入力変数、出力データ155に対応の出力変数、および一時変数などを用いて利用できるよう構成される。フィールド機器90からの観測値92はIOリフレッシュにより入力データ154として格納されて、制御プログラム140は制御演算による制御指令93を出力データ155に設定する。
【0042】
このように、制御周期毎に、制御指令93に従ってフィールド機器90が駆動されて、駆動結果に基づく当該フィールド機器90からの観測値92が出力され、PLC100は観測値92に基づき制御プログラム140を実行することで、制御演算を実施し、制御演算の結果に基づく制御指令93を出力する。PLC100が、このように観測値92の入力と制御指令93の出力を含む処理(以下、IOリフレッシュともいう)および制御演算処理を、制御周期で繰返し実施することで、各工程のフィールド機器90を、互いに同期して制御しながら、各工程における生産作業を継続して実施させる。このような同期制御を実現する構成として、PLC100では、例えば、制御プログラム140およびIOリフレッシュプログラム40を含むユーザプログラムを、工程毎に備えて、各工程のユーザプログラムを共通の制御周期で並列に実行する構成が採用されてもよい。
【0043】
コードリーダ88は、各工程に設けられて、当該工程を流れる製品の識別子を、例えば光学的に読取り、読取った識別子を示す個体ID43を出力する。生産ラインでは、製品の識別子は、個体ID43に限定されず、ロットデータ44で取得されてもよい。より具体的には、生産ラインの先頭工程にロット用コードリーダ89が設けられる。生産ラインに製品が投入されたことが例えば近接センサにより検出されると、ロット用コードリーダ89は、製品からロット名45を光学的に読取る。また、各工程については、製品が投入されたことが検出されると、検出に応じて制御部10Bは後述する動作中フラグを「OFF(オフ)」から「ON(オン)」に設定し、動作中フラグの設定毎にカウントアップを実施してカウント値46を出力する。このように各工程のカウント値46によって、当該工程に投入された各製品について当該工程を流れる順番が示される。本実施の形態では、各工程を流れる製品の順序は工程間で一致するよう構成されるから、ある工程にk番目(k=1,2,3,・・・)に投入される製品は、次の工程にk番目に投入される製品と一致する。したがって、同一ロットにおける同一製品には、識別子として、工程間で共通のロットデータ44を割当てることができる。
【0044】
このように、本実施の形態では、製品の識別子を取得する仕組みには、個体IDコードリーダ88を用いる構成またはロット用コードリーダ89を用いる構成を適用できる。以下では、個体ID43およびロットデータ44が示す製品の識別子に共通する説明では、「製品ID」と総称する。
【0045】
IoTプラットフォーム10Aは、主に生産ラインから情報を収集する「データ収集装置」を構成し得る。IoTエンジン250と、IoTエンジン250によって実行されるIoTプログラム260とWebサーバプログラム280とを有するとともに、設定情報30およびデータ蓄積部62を有する。IoTプラットフォーム10Aでは、これらエレメントを用いて、制御部10Bのデータ領域42に格納されたデータから、製品IDに関連付けされた1つ以上のデータ項目のデータを可視化して表す可視化データ283を作成する環境が提供される。
【0046】
設定情報30は、各工程について、可視化データ283を作成するために収集するべきデータ項目の設定を示す収集設定情報28と、収集設定情報28に従って収集されたデータから可視化データ283を作成するための設定を示す可視化設定情報29を含む。本実施の形態では、収集設定情報28で設定されるデータ項目は、例えばデータの変数名で設定されるが、データ項目の設定方法は変数名を用いた方法に限定されない。
【0047】
IoTプログラム260は、収集設定情報28に従って、各工程について設定されたデータ項目のデータを、データ領域42から収集(検索)しデータ蓄積部62に格納する収集プログラム270と、ID紐付プログラム271とを含む。
【0048】
データ領域42は、データが予め定められた長さの時間にわたってデータを格納(保持)可能なバッファ領域を有する。収集プログラム270が実行されると、PLC100は、各工程について設定されたデータ項目のデータを、データ領域42のバッファ領域から検索し、検索したデータをデータ蓄積部62に格納する。これにより、データ蓄積部62には、工程毎に、当該工程について設定された生産作業に関するデータ項目のデータがバッファ領域から読出されデータ蓄積部62に時系列に格納される。このような時系列に格納されるデータを、以下では、時系列データともいう。
【0049】
ID紐付プログラム271が実行されると、PLC100は、紐付処理を実施する。紐付処理では、PLC100は、データ領域42の各工程に対応の製品ID(個体ID43またはロットデータ44)が更新される毎に、データ領域42から更新後の製品IDを読出す。また、紐付処理では、PLC100は、データ蓄積部62の当該工程の時系列データのうち、当該製品IDの読出し(すなわち更新)タイミングの時間に該当する時系列データの部分を特定し、特定した時系列データの部分に、当該読出された製品IDを紐付ける(関連付ける)。このようにして特定される時系列データの部分を、以下では「部分時系列データ」ともいう。
【0050】
Webサーバプログラム280は、設定情報30を生成するための設定プログラム281と、可視化設定情報29に従って可視化データ283を作成する可視化プログラム282を有する。可視化設定情報29は、各工程について、可視化されるべきデータのデータ項目と製品IDを含む。可視化プログラム282が実行されると、PLC100は、可視化処理を実施する。可視化処理では、PLC100は、可視化設定情報29が示す各工程について設定されたデータ項目に基づき、データ蓄積部62から各工程のデータ項目に対応の時系列データを検索する。PLC100は、また、各工程について、検索された当該工程の時系列データから、製品ID毎の部分時系列データを抽出し、抽出された部分時系列データから、これら部分時系列データを相互に関連付けて視認可能な可視化データ283を作成する。
【0051】
Webサーバプログラム280が実行されるとPLC100はIoTプラットフォーム10AのもとでWebサーバとして動作する。Webサーバは、Webデータを含む可視化データ283をサポート装置500に転送する。サポート装置500が有するWebブラウザは、Webサーバから受信する可視化データ283のWebデータに基づくWeb画面を表示する。WebデータはGUI(Graphical User Interface)データを含み、Web画面はGUI画面を含んで構成される。Webデータは、Web画面と当該画面内の画像とを含む各種のオブジェクトを可視化して表すために、例えばHTML(Hypertext Markup Language)を用いて作成され得る。
【0052】
このように、作成された可視化データ283に基づく画面が表示されることにより、生産ラインの各工程について、当該工程で収集されたデータ項目の時系列データが、当該工程を流れる各製品に対応の部分時系列データを相互に関連付ながら視覚化される。
【0053】
なお、
図1では、IoTプラットフォーム10Aのもとで構成されるデータ収集装置と制御部10Bとは一体的に構成されてもよく、または、両者は有線または無線のネットワークを介してデータを遣り取り可能な個別の装置で構成されてもよい。
【0054】
以下、本開示のより具体的な応用例として、本実施の形態に係るPLC100のより詳細な構成および可視化処理について説明する。
【0055】
<B.システム構成>
本実施の形態に従うFAに備えられる生産ライン3を備えるネットワークシステムの一例を説明する。
図2は、本実施の形態に従うネットワークシステムの全体構成の一例を示す模式図である。
【0056】
図2では、FAに適用される生産ライン3は異なる工程3A、3Bおよび3Cを備える。限定されないが、例えば、工程3Aは製品のネジ締め工程を示し、工程3Bはネジ締めされた製品の半田付け工程を示し、工程3Cは半田付けされた製品の塗装工程を示す。このような工程は、製品に対してフィールド機器により複数種類の作業が実施される場合、生産作業の区分(種類)に相当する。なお、生産ライン3が備える工程の種類および数は、これらに限定されず、生産される製品の種類または製品の仕様に従って変化し得る。
【0057】
工程3A、3Bおよび3Cには、それぞれ、当該工程の生産作業を実施するための1または複数のフィールド機器90および個体IDコードリーダ88が設けられ、また、先頭の工程である工程3Aにはロット用コードリーダ89が設けられる。これら機器は、フィールドネットワーク11に接続される。また、これら機器は、フィールドネットワーク11を介してPLC100に接続されることに加えて、PLC100に関連した入出力ユニット(図示せず)を介してPLC100に直接接続される場合もある。
【0058】
フィールドネットワーク11を介して、PLC100と機器との間で遣り取りされるデータは、例えば数100μsecオーダ~数10msecオーダのごく短い周期で更新されることになる。なお、このような遣り取りされるデータの更新処理は、IOリフレッシュによって実現される。
【0059】
また、PLC100は、中継器1を介してネットワーク2に接続される。ネットワーク2には、サーバ装置300およびHMI(ヒューマンマシンインターフェイス)装置310が接続されるとともに、クラウド経由で情報端末321が接続される。サーバ装置300は、PLC100から転送されるデータを、例えばデータ蓄積部62に格納されたデータを受信してログファイル320として格納する。また、ログファイル320の格納先は、ネットワーク2上の装置(例えばサーバ装置300)に限定されず、クラウド上のデバイスが含まれても良い。
【0060】
ネットワーク2およびフィールドネットワーク11には、要求される特性の違いに応じたプロトコルおよびフレームワークが採用される。例えば、ネットワーク2のプロトコルとしては、汎用的なEthernet(登録商標)上に制御用プロトコルを実装した産業用オープンネットワークであるEtherNet/IP(登録商標)を用いてもよい。また、フィールドネットワーク11のプロトコルとしては、マシンコントロール用ネットワークの一例であるEtherCAT(登録商標)を採用してもよい。なお、これらネットワークのプロトコルは、同じであってもよいし、異なっていてもよい。
【0061】
PLC100は、サポート装置500が接続され得る。サポート装置500は、ユーザが生産ライン3を運用するのを支援する支援ツールを提供する。支援ツールは、制御プログラム140の実行環境またはPLC100との通信環境等の準備の設定ツールを含む。支援ツールは、さらに、設定情報30の設定を支援する支援ツールを含む。このような支援ツールは、例えばUI(User Interface)によりユーザに提供される。
【0062】
生産ライン3においては、サポート装置500は、ネットワーク2に接続されてもよく、または、PLC100に内蔵されてもよく、または、ポータブル端末として提供されてもよい。また、HMI装置310または情報端末321は、固定型端末またはポータブル型端末として提供され得る。
【0063】
<C.PLC100の構成>
図3は、本実施の形態に従うPLC100のハードウェア構成例を示す模式図である。
図3を参照して、PLC100は、主たるコンポーネントとして、PLC100の各部に電力PWを供給する電源回路101と、CPU(Central Processing Unit)102と、チップセット104と、主に揮発性記憶媒体からなるメモリ106と、主に不揮発性記憶媒体からなるストレージ108と、USB(Universal Serial Bus)コントローラ112と、フィールドネットワークコントローラ113と、メモリカードインターフェイス114と、タイマ115と、ネットワークコントローラ120とを含む。
【0064】
CPU102は、ストレージ108またはSDカード116に格納された制御プログラム140を含むユーザプログラムを読出して、メモリ106に展開する、CPU102は、展開されたプログラムを解釈および実行することで、PLC100の各部を制御し、フィールド機器90等の制御対象を制御するための制御演算処理を実現する。また、CPU102は、ストレージ108またはSDカード116に格納されたIoTプログラム260およびWebサーバプログラム280制御プログラム140を読出して、メモリ106に展開する。CPU102は、展開されたプログラムを解釈および実行することで、各部を制御し、各工程からのデータ収集と紐付処理、設定情報30の取得処理、および可視化処理を実現する。
【0065】
メモリ106は、DRAM(Dynamic Random Access Memory)またはSRAM(Static Random Access Memory)などの揮発性記憶装置で構成される。ストレージ108は、例えば、HDD(Hard Disc Drive)、SSD(Solid State Drive)、フラッシュメモリなどの不揮発性記憶装置で構成されるが、一部は、揮発性ストレージで構成されてもよい。
【0066】
チップセット104は、CPU102と各コンポーネントとの間のデータの遣り取りを仲介することで、PLC100全体としての処理を実現する。
【0067】
ストレージ108には、PLC100の基本的な機能を実現するためのOS(Operating System)131およびスケジューラプログラム132を有するシステムプログラム1082に加えて、制御対象に応じて作成される制御プログラム140と、IOリフレッシュプログラム40とが格納される。ストレージ108には、さらに、IoTプログラム260と、Webサーバプログラム280とが格納される。さらに、ストレージ108は、可視化データ283を格納する領域と、制御に関して収集されるデータを格納する領域41と、記憶部に相当するデータ蓄積部62の領域を構成する内部メモリ47と、設定情報30、個体ID43およびロットデータ44を格納する領域とを有する。
【0068】
本実施の形態では、データ蓄積部62の各工程の時系列データの格納形式は、例えばCSV(comma separated values)ファイルなどのテキストデータファイルを含み得る。このようなファイルに、ファイル名および作成日時がヘッダとして付されることで、一意に識別可能に構成され得る。
【0069】
USBコントローラ112は、USB接続を介して任意の情報処理装置との間のデータの遣り取りを担当する。任意の情報処理装置は、たとえば、サポート装置500を含む。
【0070】
フィールドネットワークコントローラ113は、フィールド機器90等が属するフィールドネットワーク11を接続するコネクタ116aを有し、PLC100とフィールドネットワーク11を介したフィールド機器90を含む他の装置との間のデータの遣り取りを制御する。フィールドネットワークコントローラ113は、フィールドネットワーク11から受信する観測値92およびPLC100からフィールドネットワーク11に出力される制御指令93を、それぞれ、入力データ154および出力データ155として格納する内部バッファを有する。
【0071】
メモリカードインターフェイス114は、SDカード116が脱着自在に構成される。CPU102の制御のもとで、メモリカードインターフェイス114は、SDカード116に対して情報を書込むとともに、SDカード116から情報の読出す。SDカード116について読み書きされる情報は、制御プログラム140およびIoTプログラム260を含むアプリケーションプログラム、各種設定などのデータおよびログファイル320を含む。
【0072】
タイマ115は、時間を計測するクロック回路またはカウンタ回路を含んで構成されるが、このような回路に限定されず、CPU102が実行するソフトウェアモジュールにより構成されてもよい。
【0073】
ネットワークコントローラ120は、PLC100をネットワーク2に接続するコネクタ120aを有し、ネットワーク2を介した他の装置とPLC100との間のデータの遣り取りを制御する。
【0074】
CPU102は、1または複数のプロセッサを含む。1または複数のプロセッサは制御プログラム140およびリフレッシュプログラム40を予め定められた周期(例えば制御周期)で繰り返し実行することにより、上記に述べた制御演算処理およびIOリフレッシュを実施してフィールドネットワーク11に接続される機器を周期的に制御する。また、CPU102の1または複数のプロセッサは、IoTプログラム260とWebサーバプログラム280を実行する。
【0075】
図2には、CPU102がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)、またはFPGA(Field-Programmable Gate Array)を用いて実装してもよい。あるいは、PLC100の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、マルチコア技術を適用して処理を並列に実行してもよい。または、仮想化技術を用いて、用途の異なる複数のOSを並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
【0076】
<D.サポート装置500の構成>
図4は、本実施の形態に係るサポート装置500のハードウェア構成を概略的に示す図である。
図4を参照して、サポート装置500は、CPU510、DRAM(Dynamic Random Access Memory)などの揮発性の記憶装置で構成されるメモリ512、タイマ513、HDDなどの不揮発性に記憶装置で構成されるハードディスク514、入力インターフェイス518、表示コントローラ520、通信インターフェイス524、データリーダ/ライタ526を含む。これらの各部は、バス528を介して互いにデータ通信が可能なように接続されている。
【0077】
入力インターフェイス518は、CPU510とキーボード523、マウス(図示せず)、タッチパネル(図示せず)などの入力装置との間のデータ伝送を仲介する。表示コントローラ520は、ディスプレイ522と接続され、CPU510における処理の結果などを表示する。通信インターフェイス524は、USBを介してPLC100と通信する。データリーダ/ライタ526は、CPU510と外部の記憶媒体であるメモリカード516との間のデータ伝送を仲介する。
【0078】
なお、PLC100のSDカード116および
図4のメモリカード516などの着脱自在の記憶媒体は、揮発性記憶媒体または不揮発性記憶媒体を含み、例えば、CF(Compact Flash)、SD(Secure Digital)などの汎用的な半導体記憶デバイス、またはフレキシブルディスク(Flexible Disk)などの磁気記憶媒体、またはCD-ROM(Compact Disk Read Only Memory)などの光学記憶媒体を含む。
【0079】
<E.可視化データに基づく表示例>
図5は、本実施の形態に係る画面の表示例を示す図である。PLC100のWebサーバプログラム280が起動されることによりPLC100は、サポート装置500に対するWebサーバとしてのサービスを提供する。提供サービスには、各工程について、製品IDが紐付けられた時系列データを含んで構成される可視化データ283の提供が含まれる。
【0080】
図5では、例えば、ディスプレイ522に、ウィンドウ51と、時系列データを可視化表示するためのウィンドウ52と53が表示される。本実施の形態では、画面において情報の表示領域を区別するために「ウィンドウ」の用語を用いるが、ウィンドウの名称に限定されることなく、本明細書に開示された表示の技術思想は、任意の画面に対して適用可能である。
【0081】
図5では、可視化設定情報29により可視化対象として設定された製品ID、工程3Aおよび3Bに基づく、可視化データ283に基づく画面が表示されるとともに、収集設定情報28に基づきIoTプログラム260により収集対象とされたデータ項目は、工程3Aおよび工程3Bについて、それぞれ、「変数A」および「変数B」であることが表示される。
【0082】
画面のウィンドウ51には製品IDとして「X2」が表示されるとともに、ウィンドウ52と53には、それぞれ、工程3Aと工程3Bについて収集対象のデータ項目(変数名)の名称と、当該データ項目についての時系列データを複数の部分時系列データの時間的変化を示す特性がグラフで表示される。グラフによって、部分時系列データのデータ値の変化が波形で示される。ウィンドウ52,53それぞれでは、グラフの縦軸にデータの値が取られて、横軸に各製品の部分時系列データについて共通の時間軸である経過時間Tが取られる。経過時間Tは、工程で製品に対して生産作業の動作が開始されてから終了するまでの期間に相当する。
【0083】
各工程で実施される生産作業は異なるから工程間で、上記に述べた期間の長さは相違する。可視化データ283は、各工程の期間を所定長さの経過時間Tに一致させるように、各工程の部分時系列データを時間軸方向に伸張または短縮して可視化するデータを含む。
【0084】
図5の工程3Aのウィンドウ52では、データ項目(変数A)に対応する各製品に対応の部分時系列データのグラフが表示され、工程3Bのウィンドウ52では、データ項目(変数B)に対応する各製品に対応の部分時系列データのグラフが表示される。
【0085】
可視化設定情報29に製品ID「X2」が設定された場合、可視化プログラム282が実行されると、PLC100は、可視化設定情報29に従って、製品ID「X2」の部分時系列データを、他の製品の部分時系列データとは異なる態様で出力されるよう可視化データ283を作成する。このような異なる態様としては、例えば、グラフの表示色を赤色に変更することを含む。なお、表示態様の変更は、色に基づく変更に限定されない。
【0086】
例えば、検査工程において、製品ID「X2」の製品に異常が検出された場合、ユーザは、可視化設定情報29に製品ID「X2」を設定することで、PLC100は、
図5の画面表示を可能にする可視化データ283を作成する。
【0087】
ユーザは、
図5のウィンドウ52,53で表示される赤色のグラフから、製品ID「X2」の部分時系列データが示すデータの値の経時変化の特性を把握し、または、赤色のグラフの経時変化の特性と他の製品のグラフが示す経時変化の特性との間の差を把握できる。ユーザは、把握した情報から、製品ID「X2」の製品の生産作業に関するデータ項目のデータが、他の製品についての当該データ項目のデータから乖離しているか否か、または、乖離の程度を判定できる。
【0088】
図5の画面によれば、ユーザは、上記の乖離の程度は工程3Aにおいて大きいと判定し得る。判定に基づき、「変数A」が観測値92を示す場合、ユーザは、データ項目「変数A」の観測値92が観察されるフィールド機器90の挙動が異常の原因であろうと推定し得る。
【0089】
図5の画面はGUIとして提供されてもよい。
図5の画面は、各工程について、製品毎の部分時系列データの時間的変化を示す特性を可視化するグラフ(画像)のオブジェクトを有する。GUIのデータには、上記に述べたように、1の製品(製品ID「X2」)の特性のオブジェクトを、他の製品IDの特性のオブジェクトとは異なる態様で可視化して表すオブジェクトを同一画面で提示するデータを含めることができる。
【0090】
Webサーバプログラム280は、
図5の画面のオブジェクトに対するクリック操作等を受付けたことに応じて、コマンドが実行されるように、可視化データ283のGUIデータを作成してもよい。
【0091】
このようなオブジェクトのコマンドは、例えば、波形画像のオブジェクトに対するユーザ操作を受付けたことを条件に、当該オブジェクトの部分時系列データに紐付けされた製品IDを可視化して表すオブジェクトを、例えばウィンドウ51に表示させるコマンドを含む。このようなコマンドは、製品IDを表示させるコマンドに限定されない。例えば、当該オブジェクトの部分時系列データの値の統計量を表示させる、または、グラフの種類を切替える(波形のグラフに切替て、または波形のグラフとともにヒストグラムを表示する等)、または、経過時間Tを変更する等の処理を実行するコマンドであってもよい。
【0092】
なお、可視化データ283に基づく画面の表示先は、サポート装置500に限定されず、HMI装置310または情報端末321、PLC100が表示デバイスを有する場合はPLC100であってもよい。
【0093】
<F.PLC100のモジュール構成>
図6は、本実施の形態に係るPLC100のモジュール構成を模式的に示す図である。
図6では、PLC100のモジュール構成が、サポート装置500のモジュールと関連付けて示される。サポート装置500では、Webブラウザ501と、Webブラウザ501により起動されるUI502とを含む。UI502は、可視化設定情報29と収集設定情報28等の設定情報30の設定をサポートするツールに相当する。Webブラウザ501は、PLC100からの可視化データ283を含むWebデータに基づく画面をディスプレイ522に表示させる。
【0094】
PLC100は、IoTプラットフォーム10Aにおいて構成されるモジュールと、制御部10Bにおいて構成されるモジュールとを含む。PLC100は、IoTプラットフォーム10AのもとでWebサーバプログラム280が実行されることで実現されるWebサーバ60と、IoTプログラム260が実行されることで実現されるIoTアプリケーション61を含む。IoTアプリケーション61は、収集プログラム270が実行されることで実現されるデータ収集部63と、ID紐付プログラム271が実行されることで実現されるID紐付部64を含む。
【0095】
図6では、UI502を操作してユーザが設定した可視化設定情報29と収集設定情報28がサポート装置500に保持されて、適宜、PLC100のモジュールから利用(参照)される態様を示しているが、可視化設定情報29と収集設定情報28の利用態様は、これに限定されない。例えば、UI502を介して設定された可視化設定情報29と収集設定情報28は、PLC100に転送されて、ストレージ108に格納され、PLC100のモジュールは、ストレージ108に格納された可視化設定情報29と収集設定情報28を利用(参照)する態様であってもよい。
【0096】
制御部10Bは、IOリフレッシュにより、生産ライン3から、製品IDのデータを収集するともに、観測値92を示す変数のデータを収集し、収集したデータをデータ領域42に格納する。このように収集される製品IDのデータは、個体ID43とロットデータ44とを含む。
図6のデータ領域42では、説明のために、収集設定情報28によって設定された工程3Aのデータ項目(変数A1,A2)と工程3Bのデータ項目(変数B1)が示される。
【0097】
データ収集部63は、データ領域42から、収集設定情報28に基づき、収集対象として設定された各工程のデータ項目(変数)のデータを検索し、検索されたデータ項目の時系列データをデータ蓄積部62に格納することができる。ID紐付部64は、上記に述べた紐付処理を実施する。これにより、各工程の時系列データにおいて、各製品に対応の部分時系列データが特定される。
【0098】
可視化部65は、データ蓄積部62の各工程の時系列データに基づき、可視化設定情報29の設定に従って、可視化処理を実施することにより、可視化データ283を作成する。Webブラウザ501は、可視化データ283をWebサーバ60から取得し、ディスプレイ522に可視化データ283に基づく画面を表示させる。
【0099】
<G.フローチャート>
図7は、本実施の形態に係るモニタ方法の処理を示すフローチャートである。
図7のフローチャートは、CPU102が
図1に示す各プログラムを実行することにより実現される。
図8は、生産ラインを構成する工程を模式的に示す図である。
図8では、例えば、生産ラインは、ロットの製品が投入される工程3Aと、次の工程3Bを含む。当該ロットが製品ID「X1」~「X6」の製品を含む場合、「X1」、「X2」、「X3」・・・「X6」の順に製品が投入される。
【0100】
CPU102は、
図7の処理を実施中は、入力データ154が示す各工程に対応する動作中フラグ(図示しない)を監視する。動作中フラグは、工程への製品の投入が検出されると「ON」に変化し、当該製品が次の工程に流れたことが検出されると「OFF」に変化するよう設定される。すなわち、工程について、動作中フラグが「ON」に変化してから「OFF」に変化するまでの各期間は、1の製品が当該工程を流れている期間に相当する。CPU102は、各工程について、動作中フラグが「OFF(オフ)」から「ON(オン)」に変化したとき、当該工程についてデータの収集を開始し、その後、動作中フラグが「ON」から「OFF」に変化したとき当該データ収集を終了する。このように、CPU102は、各工程について動作中フラグが「ON」を示す期間においてデータ収集を実施する。
【0101】
図8では、工程3Aを経た製品ID「X2」の製品が工程3Bに流れて、工程3Aには次の製品ID「X3」の製品が投入された状態を示す。
図7の処理は、例えばこの状態における処理を示す。
図7では、2つの工程3Aと3Bを対象にした処理を例示するが、処理対象の工程はこれらに限定されない。
【0102】
図7を参照して、CPU102は、ID紐付部64として、収集設定情報28に基づき、製品IDを個体ID43または仮想個体ID(ロットデータ44)のいずれから取得するべきかを判定する(ステップS1)。ここでは、収集設定情報28は、製品IDを、個体ID43またはロットデータ44のいずれから取得すべきかの設定を含む。
【0103】
製品IDをロットデータ44から取得すると判定された場合(ステップS1でNO)、CPU102は、各工程を流れる製品について、ロットデータ44から仮想個体IDを取得する(ステップS8,S9)。その後、ステップS2に移行する。
【0104】
一方、製品IDを個体ID43から取得すると判定された場合(ステップS1でYES)、CPU102は、動作中フラグが「ON」である期間において、収集設定情報28に基づきデータを収集し、このように収集された時系列データにおいて、製品ID(個体IDまたは仮想個体ID)の紐付処理を実施する(ステップS2,S3)。これにより、当該製品IDの部分時系列データ73が取得される。
図7では、ステップS2,S3の紐付処理に関連付けて、取得される部分時系列データ73が例示される。工程3Aについては製品ID「X3」が紐付けされた部分時系列データ73が取得され、工程3Bについては製品ID「X2」が紐付けされた部分時系列データ73が取得される。
【0105】
CPU102は、ステップS2とステップS3で取得された部分時系列データ73を各工程について、データ蓄積部62に蓄積する(ステップS4,S5)。
図7では、ステップS4,S5に関連付けて、データ蓄積部62で蓄積(格納)された各製品に対応の部分時系列データ73が模式的に示される。データ蓄積部62では、工程3Aについては、製品ID「X1」,「X2」および「X3」のそれぞれについて紐付処理が実施されることで、3つの部分時系列データ73が格納された状態が示される。また、工程3Aの次の工程3Bについては、製品ID「X1」と「X2」のそれぞれについて紐付処理が実施されることで、2つの部分時系列データ73が取得された状態が示される。
【0106】
CPU102は、各工程に対応する動作中フラグを監視し、当該動作中フラグが「ON」に変化したことを判定すると(ステップS6,S7)、ステップS1に移行し、以降の処理を前述と同様に実施する。これにより、各工程において、次に投入された製品について部分時系列データの紐付処理が実施される。
【0107】
このような動作中フラグの監視とデータ収集と紐付処理とが、各工程に投入される製品について繰返し実施される。このような繰返処理によって、各工程について、ロットを構成する各製品の紐付処理された部分時系列データが取得されて、データ蓄積部62に格納される。
【0108】
図7では、工程3Aの紐付処理(ステップS2,S4)と工程3Bの紐付処理(ステップS3,S5)は同時実行されるように記載されるが、実際の処理では、工程間で生産作業の所要時間の長さが相違し得ることから、両紐付処理の実施時間は異なり得る。同様に、工程3Aの動作中フラグの判定(ステップS6)と工程3Bの動作中フラグの判定(ステップS7)のタイミングも、
図7では同時であるように示されるが、実際の処理では、工程間で生産作業の所要時間の長さが相違し得ることから、両タイミングは異なり得る。
【0109】
<H.データ収集の変形例>
図9と
図10は、本実施の形態に係る部分時系列データの管理のテーブル構成を説明する図である。本実施の形態では、データ収集部63は、データ蓄積部62において、
図6に示すように、各工程に着目して部分時系列データ73を管理してもよく、または、
図7に示すように、各製品に着目して部分時系列データ73を管理してもよい。
【0110】
図9の管理構成では、例えば、工程3Aについて、データ収集部63は、部分時系列データ73を、製品ID毎に、ロット名77、収集開始/終了時刻78、および統計量79を関連付けて、例えば1列にまとめて管理する。他の工程についても
図9と同様に部分時系列データが管理される。収集開始/終了時刻78は、当該工程でデータ項目のデータが収集開始~終了までの時間を示す。この時間は、工程に製品が投入されてから次の工程に流れるまでの時間に相当する。また、統計量79は、部分時系列データ73が示す項目データの値に基づきデータ収集部63が算出する統計量(最大値、最小値、平均値、標準偏差など)を含む。
【0111】
また、
図10の管理構成では、例えば、製品ID「X1」の製品について、データ収集部63は、工程毎に、部分時系列データ73を、ロット名77、収集開始/終了時刻78、統計量79を関連付けて、例えば1列にまとめて管理する。
【0112】
図9の構成では、工程(変数)ごとに1つのテーブルとして保持されるが、ユーザがトレーサビリティ用途でデータを保管したい場合は、
図10の、製品ID毎に1つのCSVファイルの形式で保持することもできる。本実施の形態では、収集設定情報28において、データ蓄積(収集)の態様として、
図9または
図10のいずれか一方を設定してもよい。データ収集部63が、収集設定情報28の設定に従って、
図9または
図10の態様で部分時系列データを収集する。
【0113】
図7の処理では、生産ライン3をロットの各製品が流れることに並行して部分時系列データを取得し格納したが、次のように部分時系列データを取得してもよい。つまり、各工程の時系列データを常時収集しながらインデックス(動作中フラグがONと判定される時間、製品ID等)のみ工程データとして蓄積する。ロットの全商品が全工程を流れた後に、各工程の時系列データから、インデックスに基づき、各製品の部分時系列データを取得する紐付処理を実施し、取得された部分時系列データ73を、
図9または
図10の態様でデータ蓄積部62に格納してもよい。
【0114】
<I.可視化データに基づく他の表示例>
図11は、本実施の形態に係る画面の他の表示例を示す図である。
図11の画面は、
図5の画面の変形例を示している。
図11では、ウィンドウ52,53に加えて、製品IDと当該製品が属するロット名を表示するウィンドウ51Aと、ウィンドウ56と、ウィンドウ79A,79Bを含む。ウィンドウ56は、生産ライン3において当該ロットに属する製品の生産が開始されてから終了するための期間を示す。ウィンドウ79Aは、ウィンドウ56に示す期間において、工程3Aを流れた製品ID「X2」の部分時系列データと他の製品の部分時系列データについて、データ収集部63によって算出された統計量79(最大値、最小値、平均値および標準偏差)の平均値を示す。このように、ウィンドウ79Aでは、例えば、製品ID「X2」の製品と部分時系列データ、それ以外の製品IDの製品の部分時系列データの統計量が定量的に示される。なお、ウィンドウ56は可視化対象とするデータの期間およびロット名をユーザが指定するためのUIを構成し得る。また、選択された製品IDの生産が開始されてから終了するまでの期間はウィンドウ51Aに表示されてもよい。
【0115】
ウィンドウ79Bには、工程3Aの部分時系列データの波形に関連付けてヒストグラムが表示される。このヒストグラムは、横軸にウィンドウ52の波形が示す値の複数の階級が示されて、縦軸に各階級に属する値の度数が示される。ヒストグラムを構成する可視化データも、ウィンドウ52の波形のグラフと同様に、各工程について、当該工程に投入された製品毎の部分時系列データの値の変化の特性を可視化して表すデータである。ウィンドウ79Bでは、可視化設定情報29によって設定(選択)された製品ID「X2」のグラフ54Aは、ウィンドウ52のグラフと同様に赤色で表示され、他の製品IDのグラフ55Bは、ウィンドウ52のグラフと同様に黒色で表示される。
【0116】
図11の画面では、ユーザにより、ウィンドウ52,53のグラフまたはウィンドウ79Bのヒストグラムがクリック操作されると、対応する製品IDを示すオブジェクトが、クリックされたグラフまたはヒストグラムに関連付けて表示される。例えば、赤色のグラフまたはヒストグラムが操作されると、製品ID「X2」を表すオブジェクトが、操作されたグラフまたはヒストグラムに近接して表示される。
【0117】
また、可視化設定情報29では次のような設定がなされてもよい。例えば、ウィンドウ52または53では、ウィンドウ56で示される対象期間のうちで、より最近に取得された部分時系列データのグラフはより濃い色で表示されて、また、より過去の部分時系列データのグラフはより薄い色で表示されるよう設定されてもよい。
【0118】
また、ユーザ操作によって、ウィンドウ52,53では、複数の波形を同時に選択されるようにしてもよい。また、
図11では、波形は、ウィンドウ56において指定される1つのロットを対象に表示したが、複数のロットを対象にロット毎の波形が表示されるようにしてもよい。また、収集設定情報28によって、収集(表示)対象となる製品毎の部分時系列データを収集する期間を変更してもよく、また、部分時系列データを収集する対象のロットを選択できるようにしてもよい。
【0119】
<J.タイミングチャート>
図12は、本実施の形態に係るタイミングチャートの一例を示す図である。
図13は、生産ラインを構成する工程を模式的に示す図である。
図13では、例えば、生産ラインは、ロットの製品が投入される工程3Aと、次の工程3Bを含む。当該ロットが製品ID「X1」~「X6」の製品を含む場合、「X1」、「X2」、「X3」・・・「X6」の順に製品が投入される。
図13では、工程3Aを経た製品ID「X3」の製品が工程3Bに流れて、工程3Aには次の製品ID「X4」の製品が投入された状態を示す。
図12には、
図13の工程の状態におけるタイミングチャートが示される。
図12と
図13では、2つの工程3Aと3Bを対象に例示するが、対象の工程はこれらに限定されない。
【0120】
図12では、工程3Aでは、動作中フラグ125が「ON」である期間130において変数121についてデータ収集が実施され、収集された部分時系列データについて製品IDとして個体ID43が紐付けされる。同様に、工程3Bでは、動作中フラグ127が「ON」である期間において変数122についてデータ収集が実施され、収集された部分時系列データについて個体ID43が紐付けされる。また、工程3A,3Bでは、個体ID43のスキャン124,126が当該工程への製品投入が検出されるタイミングで実施される。また、
図12では、生産ライン3に投入される製品のロット名45は、ロット切替え毎に検出(取得)されている。生産ライン3では、製品を複数個でまとめた単位で管理するために、各単位について、当該単位に属する製品には共通のロット名45(例えば、ロット番号)を付け分類し管理する。
【0121】
(J1.タイミングチャートの他の例)
図12では、製品IDとして個体ID43が取得されたが、仮想個体IDが取得されてもよい。
図14は、本実施の形態に係るタイミングチャートの他の例を示す図である。
図15は、生産ラインを構成する工程を模式的に示す図である。
図15では、1のロット「X」の製品の生産中に、生産ライン3に異なるロット「Y」の製品が投入されるケースが示される。
図15では、ロット「X」の製品ID「X3」の製品が工程3Bに流れて、工程3Aにはロット「Y」の製品ID「Y1」の製品が投入された状態を示す。
図14には、
図15の工程の状態におけるタイミングチャートが示される。
図14と
図15では、2つの工程3Aと3Bを対象に例示するが、処理対象の工程はこれらに限定されない。
【0122】
図14では、各ロットについて、当該ロットの製品が工程3Aに投入されるとき、ロット名の取得123が実施されてロット名45が設定される。生産ラインにロットが投入開始されてロット名45が取得されると、その後は、当該ロットの製品が生産ラインへ投入される毎にロットデータ44にカウント値46が設定されて、ロットデータ44のロット名45とカウント値46の組合わせで仮想個体IDが示される。CPU102は、ある工程で取得した仮想個体IDを、例えばデータ領域42に構成されるキューに格納する。次の工程の動作中フラグが「OFF」から「ON」に変化したとき、CPU102は、キューから仮想個体IDを読出し、当該読出された仮想個体IDを、その後の期間130で取得された部分時系列データに紐付ける紐付処理を実施する。
図14では、前工程(工程3A)の仮想個体ID144はキュー145に格納されて、次工程3Bの動作中フラグ127が「ON」に変化するとき、キュー145から読出された仮想個体ID144が、次工程3Bの仮想個体ID147として利用されている。このように、生産ライン3がロット単位で製品を生産するよう構成される場合、仮想個体ID147は、少なくとも一部が複数工程の間で共通する識別子であるロット名を含んで構成することができる。
【0123】
本実施の形態では、動作中フラグ125,127は、制御プログラム140が有するファンクションブロックなどの命令が実行されることで設定される。このような命令は、動作中フラグを設定するための演算命令、またはタイマ命令をふくみ得る。
【0124】
このように、各工程が仮想個体IDを取得する方法は、
図1に示すような各工程は当該工程独自のロットデータ44を利用する方法に限定されず、
図14に示すように、キュー145に格納された仮想個体IDを工程間で共用する方法であってもよい。
【0125】
<K.情報設定画面の例>
図16は、本実施の形態に係る情報設定画面の一例を示す図である。
図16では、例えば、UI502は、ディスプレイ522に画面を表示し、当該画面に対するユーザ操作を受付け、受付けたユーザ操作に従って収集設定情報28を取得する。
【0126】
図16では、テーブル形式で収集設定情報28を設定する画面が示されている。テーブルに設定される項目は、各工程について、生産ライン3を製品が流れる当該工程の順番を示す工程順160と、当該工程で収集されるべきデータ項目を示す変数名161と、当該工程に対応の動作中フラグが設定される変数名162と、個体ID指定163と、ロット変数名164と、コメント165とを含む。個体ID指定163は、個体ID43を製品IDとして用いることを指定する。ロット変数名164は、ロット名45が設定される変数名を示す。コメント165は、当該工程について収集されるデータの説明等のユーザコメントを示す。
【0127】
工程順160は、キューを介して仮想個体IDを工程間に遣り取りするために利用される。コメント165は、
図5または
図11の部分時系列データのグラフとともに表示され得る。収集変数名161には、1または複数の変数名を設定可能である。このような変数名は、観測値92の変数名または制御指令93の変数名を含む。観測値92の変数名には、例えば、ネジ締めのためのフィールド機器90の観測値92に含まれるトルクと速度とZ軸の位置の3種類の変数名を含めることができる。このように3種類の変数名が設定された収集設定情報28に基づきデータ収集部63は、ネジ締め工程から、同時に3種類のデータ項目のデータを収集できる。また、収集対象の変数名が示す制御指令93には、例えば、ネジ締めのサーボモータ等のフィールド機器90に対しての指令、例えば位置、速度、加速度、ジャーク(加加速度)、角度、角加速度、角加加速度等の数値を指令として表したものが含まれてもよい。
【0128】
ID紐付部64は、個体ID指定163が設定されていれば、部分時系列データに個体ID43を紐付け、設定されてなければ、仮想個体IDを取得して部分時系列データに紐付ける。
図7のステップS1では、収集設定情報28の個体ID指定163に基づき判定が実施される。
【0129】
<L.プログラムおよび記録媒体>
本実施の形態に係るIoTプログラム260およびWebサーバプログラム280は、PLC100に付属するフレキシブルディスク、CD-ROM、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disc Drive)などの記録媒体を含むコンピュータ読取り可能な記録媒体に記録させて、プログラム製品として提供することもできる。記録媒体は、コンピュータその他装置、機械等が記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的または化学的作用によって蓄積する媒体である。
【0130】
また、上記のプログラムは、ネットワーク2からネットワークコントローラ120を介したダウンロードによって、PLC100にプログラムを提供することもできる。
【0131】
<M.付記>
本実施の形態では、以下のような技術思想を含む。
[構成1]
複数工程(3A,3B,3C)を経て対象物を生産する生産ライン(3)のデータを収集する装置(10A)であって、
各前記複数工程から、生産作業に関するデータ項目のデータを収集する収集部(63)と、
前記生産ラインにおいて生産される対象物の識別子(43,44)を取得する取得部と、
前記各工程について、当該工程で前記対象物に対し前記生産作業が実施される期間(T)に前記収集部によって当該工程から収集されるデータに、前記取得部によって取得された前記対象物の識別子を紐付ける紐付部(64)と、
前記紐付部によって前記識別子が紐付けされた前記各工程のデータを可視化して表す可視化データ(283)を作成する可視化データ作成部(65)を備える、データ収集装置。
[構成2]
前記収集部は、前記各工程から前記データを周期的に収集し、
前記紐付部は、
前記各工程について、当該工程から前記周期的に収集されて構成される時系列データのうち前記期間に対応の部分時系列データに、前記対象物の識別子を紐付ける、構成1に記載のデータ収集装置。
[構成3]
前記各工程は、当該工程に前記対象物が1ずつ投入されるよう構成され、
前記生産ラインは、前記対象物が予め定められた順序で1の工程から次の工程に投入されるよう構成され、
前記可視化データは、前記各工程について、当該工程に投入された対象物毎の前記部分時系列データの値の変化の特性を可視化して表す特性可視化データを含む、構成2に記載のデータ収集装置。
[構成4]
前記特性可視化データは、前記各工程について、当該工程に投入された対象物毎の前記部分時系列データの値の時間的変化を示す特性を共通の時間軸で可視化して表す時間的特性可視化データを含む、構成3に記載のデータ収集装置。
[構成5]
前記特性可視化データは、前記各工程について、前記対象物毎の前記特性を可視化するオブジェクト(54,55,54A,55B)を有するGUIデータを含む、構成3または4に記載のデータ収集装置。
[構成6]
前記GUIデータは、前記オブジェクトに対するユーザ操作を受付けたことを条件に、当該オブジェクトの前記部分時系列データに紐付けされた前記対象物の識別子を可視化するオブジェクト(51)を含む、構成5に記載のデータ収集装置。
[構成7]
前記各工程について、1の前記対象物の前記特性を可視化する前記オブジェクトは、他の前記対象物の前記特性を可視化するオブジェクトとは異なる態様で前記特性を可視化するよう構成される、構成5または6に記載のデータ収集装置。
[構成8]
前記各工程について、前記収集部によって収集される前記データ項目を前記データ収集装置に設定するためのUI部(502)を、さらに備える、構成1から7のいずれか1に記載のデータ収集装置。
[構成9]
前記対象物の識別子は、当該識別子の少なくとも一部が前記複数工程の間で共通する識別子で構成される、構成8に記載のデータ収集装置。
[構成10]
前記生産ラインはロット単位で前記対象物を生産するよう構成され、
前記共通する識別子は、前記対象物が属する前記ロットの識別子(45)を含む、構成9に記載のデータ収集装置。
[構成11]
前記生産ラインは、当該生産ラインに1ずつ前記対象物が投入されるよう構成され、
前記取得部は、前記生産ラインに投入される前記対象物の投入順番と前記ロットの識別子から当該対象物の前記識別子を取得する、構成10に記載のデータ収集装置。
[構成12]
前記生産ラインを制御する制御装置(10B)と、
構成1~11のいずれか1に記載のデータ収集装置を備える、制御システム(100)。
[構成13]
複数工程を経て対象物を生産する生産ラインのデータを収集する方法であって、
各前記複数工程から、生産作業に関するデータ項目のデータを収集するステップと、
前記生産ラインにおいて生産される対象物の識別子を取得するステップと、
前記各工程について、当該工程で前記対象物に対し前記生産作業が実施される期間に当該工程から収集されるデータに、前記取得するステップにおいて取得された前記対象物の識別子を紐付けるステップと、
前記識別子が紐付けされた前記各工程のデータを可視化して表す可視化データを作成するステップとを備える、データ収集方法。
[構成14]
データ収集方法をコンピュータに実行させるためのプログラムであって、
前記データ収集方法は、複数工程を経て対象物を生産する生産ラインのデータを収集する方法であって、
各前記複数工程から、生産作業に関するデータ項目のデータを収集するステップと、
前記生産ラインにおいて生産される対象物の識別子を取得するステップと、
前記各工程について、当該工程で前記対象物に対し前記生産作業が実施される期間に当該工程から収集されるデータに、前記取得するステップにおいて取得された前記対象物の識別子を紐付けるステップと、
前記識別子が紐付けされた前記各工程のデータを可視化して表す可視化データを作成するステップとを備える、プログラム。
【0132】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0133】
1 中継器、2 ネットワーク、3 生産ライン、3A,3B,3C 工程、10A プラットフォーム、10B 制御部、11 フィールドネットワーク、28 収集設定情報、29 可視化設定情報、30 設定情報、40 リフレッシュプログラム、42 データ領域、43 個体ID、44 ロットデータ、45 ロット名、46 カウント値、60 Webサーバ、61 IoTアプリケーション、62 データ蓄積部、63 データ収集部、64 ID紐付部、65 可視化部、73 部分時系列データ、79 統計量、88 個体IDコードリーダ、89 ロット用コードリーダ、90 フィールド機器、92 観測値、93 制御指令、101 電源回路、104 チップセット、106,512 メモリ、108 ストレージ、112 コントローラ、113 フィールドネットワークコントローラ、114 メモリカードインターフェイス、115,513 タイマ、116 SDカード、116a,120a コネクタ、120 ネットワークコントローラ、125,127 動作中フラグ、130 期間、132 スケジューラプログラム、140 制御プログラム、145 キュー、147 仮想個体ID、150 制御エンジン、154 入力データ、155 出力データ、250 IoTエンジン、260 IoTプログラム、270 収集プログラム、271 ID紐付プログラム、280 Webサーバプログラム、281 設定プログラム、282 可視化プログラム、283 可視化データ、300 サーバ装置、310 HMI装置、320 ログファイル、321 情報端末、500 サポート装置、501 Webブラウザ。