(57)【特許請求の範囲】
【請求項１】
生産設備を制御する制御装置と、
前記生産設備の動作状態を示す状態データを収集するデータ収集部と、収集された状態データを加工するデータ処理部と、加工を経た状態データを用いた機械学習によって学習済モデルを生成する学習部と、前記学習済モデルを出力する出力処理部と、を有する情報処理装置と、
収集および加工を経た状態データが入力されることによって前記学習済モデルに基づいた推論結果を前記制御装置へ出力する推論装置と、を備え、
前記出力処理部は、前記情報処理装置が実行する収集および加工の各工程と同じ工程を前記制御装置に行わせるためのプログラムを生成するプログラム生成部を有し、
前記推論装置は、前記制御装置によって収集および加工された状態データから前記推論結果を推論するための推論用プログラムを保持し、
前記制御装置および前記推論装置は、前記制御装置が前記プログラムに基づいて状態データの収集および加工を行い、かつ前記推論装置が前記推論用プログラムに基づいた推論を行うことによって、状態データの収集および加工と前記推論結果の出力とを含む一連の処理を実行することを特徴とする機械学習システム。
【請求項２】
前記プログラムは、ラダープログラムであって、
前記推論装置には、前記ラダープログラムに基づいて前記制御装置によって収集および加工された状態データが入力されることを特徴とする請求項１に記載の機械学習システム。
【請求項３】
前記プログラム生成部は、前記情報処理装置が実行する収集および加工の各工程における処理について設定された設定情報に基づいて、前記ラダープログラムを生成することを特徴とする請求項２に記載の機械学習システム。
【請求項４】
前記プログラム生成部は、状態データの加工のためのファンクションブロックを含む前記ラダープログラムを生成することを特徴とする請求項２または３に記載の機械学習システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、機械学習を実施する機械学習システムに関する。
【背景技術】
【０００２】
工場などの生産現場では、生産設備の異常によるトラブルが発生することがある。生産現場では、異常の発生を早期に把握することによって、生産設備の故障による生産停止といった事態を未然に防ぐことが求められる。また、将来の異常発生を予測することによって、予防保全のための措置が取られる場合もある。生産設備が正常である場合でも、生産される製品の品質が低下し、歩留まりが低下することがある。生産現場では、生産設備の異常または製品の品質低下といった現象による生産性の低下に対する措置が講じられている。そこで、従来、生産現場から収集されたデータの解析によって、生産設備の状態についての診断を行う種々の手法が提案されている。【０００３】
データの解析による診断において、機械学習の手法は有用である。機械学習には高い処理能力が求められることから、機械学習は、生産現場に設置される装置ではなく、エッジコンピューティング領域において実施されることがある。エッジコンピューティング領域では、１つの装置にて複数の生産設備を対象とする機械学習を集中して行うことで、複数の生産設備についての機械学習を効率的に行い得る。また、生産設備の状態についての診断は、エッジコンピューティング領域の装置にて行うよりも、生産現場に設置される装置に分散させるほうが効率的である。エッジコンピューティング領域の装置に機械学習のみならず診断も行わせることとすると、より高い処理能力を備える高価な装置が必要となるという課題がある。【０００４】
特許文献１には、各々がプラントの監視および制御を行う複数のローカルシステムと、各ローカルシステムへ運転支援情報を提供する運転支援提供システムとを有するネットワークシステムが開示されている。特許文献１によると、各ローカルシステムは、プラントの運転状態を示すデータを取り込むとともに、プラントの運転をシミュレーションした結果とプラントから取り込まれた実際のデータとの差異を求めることによってプラントの異常を検知する。運転支援提供システムは、各ローカルシステムによって取り込まれたデータを収集して、収集されたデータを用いてシミュレーションモデルを生成する。運転支援提供システムは、生成されたシミュレーションモデルを各ローカルシステムへ提供する。各ローカルシステムは、シミュレーションにおいて、運転支援提供システムによって提供されたシミュレーションモデルを用いる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−３０４２１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１にかかるネットワークシステムは、運転支援提供システムによって生成されたシミュレーションモデルをローカルシステムへ送信し、シミュレーションどおりにプラントが動作しているか否かをローカルシステムが確認するにとどまる。このため、特許文献１の技術によると、データの収集から生産性向上につながる動作までの一連の流れとして、生産現場のシステムであるローカルシステムを制御することが可能とはされていなかった。【０００７】
本開示は、上記に鑑みてなされたものであって、データの収集から生産性向上につながる動作まで一連の流れとして生産現場のシステムを制御可能とする機械学習システムを得ることを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本開示にかかる機械学習システムは、生産設備を制御する制御装置と、情報処理装置と、推論装置とを備える。情報処理装置は、生産設備の動作状態を示す状態データを収集するデータ収集部と、収集された状態データを加工するデータ処理部と、加工を経た状態データを用いた機械学習によって学習済モデルを生成する学習部と、学習済モデルを出力する出力処理部と、を有する。推論装置は、収集および加工を経た状態データが入力されることによって学習済モデルに基づいた推論結果を制御装置へ出力する。出力処理部は、情報処理装置が実行する収集および加工の各工程と同じ工程を制御装置に行わせるためのプログラムを生成するプログラム生成部を有する。推論装置は、制御装置によって収集および加工された状態データから推論結果を推論するための推論用プログラムを保持する。制御装置および推論装置は、制御装置がプログラムに基づいて状態データの収集および加工を行い、かつ推論装置が推論用プログラムに基づいた推論を行うことによって、状態データの収集および加工と推論結果の出力とを含む一連の処理を実行する。
【発明の効果】
【０００９】
本開示にかかる機械学習システムは、データの収集から生産性向上につながる動作まで一連の流れとして生産現場のシステムを制御することができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１にかかる機械学習システムの構成を示す図
【図２】実施の形態１にかかる機械学習システムに含まれる情報処理装置の構成を示す図
【図３】実施の形態１にかかる機械学習システムのうちＰＬＣシステムにおいて実行されるプログラムについて説明するための図
【図４】実施の形態１にかかる機械学習システムに含まれる情報処理装置の動作手順を示すフローチャート
【図５】実施の形態１にかかる機械学習システムに含まれるＰＬＣシステムの動作手順を示すフローチャート
【図６】実施の形態１にかかる機械学習システムのうちＰＬＣシステムにおいて実行されるプログラムの変形例について説明するための図
【図７】実施の形態１にかかる機械学習システムにおけるデータ処理フローの第１変形例について説明するための図
【図８】実施の形態１にかかる機械学習システムにおけるデータ処理フローの第２変形例について説明するための図
【図９】実施の形態１にかかる機械学習システムにおけるデータ処理フローの第３変形例について説明するための図
【発明を実施するための形態】
【００１１】
以下に、実施の形態にかかる機械学習システムを図面に基づいて詳細に説明する。
【００１２】
実施の形態１．
図１は、実施の形態１にかかる機械学習システムの構成を示す図である。実施の形態１にかかる機械学習システム１は、生産現場に設置された機器類からデータを収集し、収集されたデータの処理結果を生産現場の機器へフィードバックする一連の処理を実行するデータ処理プラットフォームを有する。機械学習システム１は、産業用ＰＣ（Industrial  Personal  Computer：ＩＰＣ）２と、ＰＬＣ（Programmable  Logic  Controller）システム３とを有する。ＩＰＣ２は、上記データ処理プラットフォームを構成する装置である。ＰＬＣシステム３は、生産設備を制御する制御装置であるＰＬＣ４と、推論装置であるＡＩ（Artificial  Intelligence）システム５とを有する。
【００１３】
ＩＰＣ２は、エッジコンピューティング領域に位置する情報処理装置である。エッジコンピューティング領域とは、データの集中処理を行うクラウドコンピューティング領域に対してデータの生成元側の領域であって、高度なデータ処理が行われる概念上の領域とする。実施の形態１では、エッジコンピューティング領域は、工場内の領域とする。機械学習システム１は、ＩＰＣ２において機械学習を実施する。
【００１４】
ＰＬＣシステム３は、生産現場に設置されるシステムである。ＰＬＣ４は、シーケンスプログラムを実行することによって生産設備を制御する。ＡＩユニット５は、学習済モデルに基づいた推論結果をＰＬＣ４へ出力する。学習済モデルは、ＩＰＣ２による機械学習の結果である。
【００１５】
実施の形態１において、ＡＩユニット５は、生産設備の異常の有無を推論することによって、生産設備の異常を診断する。ＡＩユニット５が実施する診断は、生産設備全体における異常の診断と、生産設備の構成要素ごとにおける異常の診断とのどちらであっても良い。ＡＩユニット５は、推論結果である診断結果をＰＬＣ４へ出力する。ＰＬＣ４は、異常があることを示す診断結果がＡＩユニット５から入力された場合に、生産設備の運転の停止、または生産設備における駆動源の減速といった措置をとる。ＰＬＣシステム３は、診断結果に対するこのような措置によって、生産設備の故障による生産停止といった事態を未然に防ぐことができる。これにより、機械学習システム１は、生産性の向上を図ることができる。
【００１６】
ＡＩユニット５は、生産設備を構成する部品の寿命を推論することによって、生産設備の寿命診断または部品ごとの寿命診断を行っても良い。ＡＩユニット５が実施する診断は、生産設備を対象とする診断に限られず、生産設備によって製造される製品を対象とする診断であっても良い。例えば、ＡＩユニット５は、製品の品質診断を行っても良い。ＡＩユニット５が実施する診断は、生産現場における生産性の向上または製品の品質向上のために有用な診断であれば良い。
【００１７】
実施の形態１において、ＡＩユニット５は、生産設備の生産性を向上するための生産条件を推論することによって、生産条件を提案するものであっても良い。ＡＩユニット５は、生産現場における生産性の向上または製品の品質向上のために有用な推論結果を出力するものであれば良い。以下の説明では、ＡＩユニット５が生産設備の異常を診断する場合を例とする。
【００１８】
ＩＰＣ２は、生産設備の動作状態を示す状態データの収集と、収集された状態データの加工と、加工を経た状態データを用いた学習との各工程を含むデータ処理を実行する。動作状態とは、生産設備の動作時における生産設備の構成要素の状態あるいは生産設備内の物質の状態であって、定量が可能であるものとする。状態とは、電気的な状態、機械的な状態、熱力学的な状態あるいは流体力学的な状態である。状態データは、動作状態を定量したデータである。状態データには、生産設備の内部から取り出されるデータと、生産設備の外部に設けられたセンサでの検出によって得られるデータとが含まれる。また、状態データには、ＰＬＣ４の状態を表す内部データが含まれる。内部データは、ＰＬＣ４の内部メモリに格納されるデータである。
【００１９】
ＩＰＣ２は、収集、加工および学習の順序によるデータ処理フローのうちの収集および加工の各工程と同じ工程をＰＬＣ４にも行わせるためのプログラムを生成する。ＩＰＣ２によって生成されるプログラムを、以下の説明においてＰＬＣプログラムと称することがある。ＩＰＣ２は、生成されたＰＬＣプログラムをＰＬＣ４へ出力する。また、ＩＰＣ２は、機械学習の結果である学習済モデルを生成する。ＩＰＣ２は、生成された学習済モデルをＡＩユニット５へ出力する。
【００２０】
ＰＬＣ４は、ＰＬＣプログラムを実行することによって、状態データの収集と、収集された状態データの加工とを行う。ＰＬＣ４は、加工を経た状態データをＡＩユニット５へ出力する。ＡＩユニット５は、学習済モデルに基づく診断を行うための推論エンジンを有する。ＡＩユニット５は、加工を経た状態データが入力されることによって、学習済モデルに基づいた診断を行う。ＡＩユニット５は、診断結果をＰＬＣ４へ出力する。
【００２１】
このように、機械学習システム１は、ＩＰＣ２と同様の収集および加工をＰＬＣ４に行わせるとともに、ＩＰＣ２にて生成された学習済モデルに基づく診断をＡＩユニット５に行わせる。機械学習システム１は、診断結果に対して高い応答性でＰＬＣ４を動作させることができる。
【００２２】
図２は、実施の形態１にかかる機械学習システムに含まれる情報処理装置の構成を示す図である。ＩＰＣ２には、上記データ処理フローを実現するための処理プログラムがインストールされる。図２には、ＩＰＣ２が有するハードウェア構成と、ハードウェア構成を使用して実現される機能構成とを示している。
【００２３】
ＩＰＣ２は、各種処理を実行するプロセッサ１０と、内蔵メモリであるメモリ１１と、ＩＰＣ２の外部の装置との通信を行う通信装置１２と、各種情報を記憶する記憶装置１３とを有する。
【００２４】
プロセッサ１０は、ＣＰＵ（Central  Processing  Unit）である。プロセッサ１０は、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、又はＤＳＰ（Digital  Signal  Processor）であっても良い。メモリ１１は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ、ＥＰＲＯＭ（Erasable  Programmable  Read  Only  Memory）またはＥＥＰＲＯＭ（登録商標）（Electrically  Erasable  Programmable  Read  Only  Memory）である。記憶装置１３は、ＨＤＤ（Hard  Disk  Drive）またはＳＳＤ（Solid  State  Drive）である。上記の処理プログラムは、記憶装置１３に格納される。プロセッサ１０は、記憶装置１３に格納されている処理プログラムをメモリ１１に読み出して実行する。
【００２５】
処理プログラムは、コンピュータシステムによる読み取りが可能とされた記憶媒体に記憶されたものであっても良い。ＩＰＣ２は、記憶媒体に記録された処理プログラムをメモリ１１へ格納しても良い。記憶媒体は、フレキシブルディスクである可搬型記憶媒体、あるいは半導体メモリであるフラッシュメモリであっても良い。処理プログラムは、他のコンピュータあるいはサーバ装置から通信ネットワークを介してコンピュータシステムへインストールされても良い。
【００２６】
ＩＰＣ２は、状態データを収集する１つまたは複数のデータ収集部１４と、ＩＰＣ２におけるデータ処理を制御する制御部１５と、収集された状態データを加工するデータ処理部１６とを有する。図２には２つのデータ収集部１４を示しているが、ＩＰＣ２には、ＩＰＣ２が実行するデータ処理フローの内容に従い任意の数のデータ収集部１４が設けられる。
【００２７】
ＩＰＣ２は、加工を経た状態データを用いた機械学習によって学習済モデルを生成する学習部１７と、状態データの収集および加工をＰＬＣ４に行わせるためのＰＬＣプログラムを生成してＰＬＣプログラムをＰＬＣ４へ出力する出力処理部１８と、を有する。以下、ＰＬＣプログラムを単にプログラムと称する。出力処理部１８は、プログラムを生成するプログラム生成部２１を有する。また、出力処理部１８は、学習済モデルをＡＩユニット５へ出力する。
【００２８】
制御部１５は、各データ収集部１４、データ処理部１６および学習部１７の間におけるデータ配信を制御する配信部１９と、設定情報を管理する設定管理部２０とを有する。ＩＰＣ２は、設定情報を蓄積する設定情報蓄積部２２を有する。設定情報については後述する。
【００２９】
各データ収集部１４、制御部１５、データ処理部１６、学習部１７および出力処理部１８の各機能は、プロセッサ１０とソフトウェアの組み合わせによって実現される。各データ収集部１４、制御部１５、データ処理部１６、学習部１７および出力処理部１８の各機能は、プロセッサ１０およびファームウェアの組み合わせによって実現されても良く、プロセッサ１０、ソフトウェアおよびファームウェアの組み合わせによって実現されても良い。ソフトウェアまたはファームウェアは、プログラムとして記述され、記憶装置１３に格納される。設定情報蓄積部２２の機能は、記憶装置１３を使用して実現される。
【００３０】
外部機器６は、ＰＬＣ４の外部に設置された機器であって、生産設備の動作状態を検出するセンサなどの機器である。センサとしては、生産設備の駆動源に取り付けられて振動を検出するセンサ、温度を検出するセンサなどが挙げられる。センサは、生産設備の内部に設置されるセンサと、生産設備の外部に設置されるセンサとのどちらであっても良い。
【００３１】
通信装置１２は、ＰＬＣ４、ＡＩユニット５および外部機器６の各々と通信可能に接続される。ＰＬＣ４、ＡＩユニット５および外部機器６の各々は、無線通信によるネットワーク、あるいは有線通信によるネットワークを介して、通信装置１２に接続される。外部機器６は、生産設備の動作状態を検出した結果である状態データをＩＰＣ２へ送信する。ＰＬＣ４は、ＰＬＣ４の内部データである状態データをＩＰＣ２へ送信する。
【００３２】
設定情報蓄積部２２に蓄積される設定情報は、ＩＰＣ２が実行するデータ処理フローのうち収集および加工の各工程における処理の実行順序、各工程が実行されるタイミング、各工程が実行される条件といった項目について設定された情報である。設定管理部２０は、設定情報蓄積部２２に保存される設定情報を管理する。また、設定管理部２０は、設定情報蓄積部２２から読み出された設定情報を配信部１９またはプログラム生成部２１へ送る。配信部１９は、設定管理部２０から取得した設定情報に基づいて、各データ収集部１４、データ処理部１６および学習部１７の間におけるデータ配信を制御する。
【００３３】
機械学習装置である学習部１７は、例えば、ニューラルネットワークに従って、いわゆる教師あり学習によって、学習済モデルを生成する。教師あり学習とは、ある入力と、結果であるラベルとであるデータの組を大量に機械学習装置へ与えることで、データセットが有する特徴を学習し、入力から結果を推定する学習である。学習部１７には、データ処理部１６での加工を経た状態データと、診断結果の情報であるラベルとが入力される。学習部１７は、状態データとラベルとを互いに関連付けたデータである学習用データを生成する。学習部１７は、状態データとラベルとから最適な診断結果を推論するための学習済モデルを生成する。
【００３４】
学習部１７は、生産設備ごとの状態データを用いた学習によって、生産設備ごとの学習済モデルを生成する。学習部１７は、生産設備における機能ごとの状態データを用いた学習によって、機能ごとの学習済モデルを生成しても良い。学習部１７は、生産設備を構成する部品ごとの状態データを用いた学習によって、部品ごとの学習済モデルを生成しても良い。学習部１７は、生成された学習済モデルを出力処理部１８へ出力する。
【００３５】
プログラム生成部２１は、設定管理部２０から取得した設定情報に基づいて、状態データの収集および加工をＰＬＣ４に行わせるためのプログラムを生成する。プログラム生成部２１は、ＩＰＣ２におけるデータ処理フローのうち「収集」および「加工」と同様の機能をＰＬＣ４においても実現するためのプログラムを生成する。
【００３６】
実施の形態１において、プログラム生成部２１によって生成されるプログラムは、ラダー言語を使用して記述されたラダープログラムとする。プログラムは、ラダー言語以外の言語で記述されたプログラムであっても良く、構造化ラダー言語で記述されたプログラム、あるいはファンクションブロックダイアグラム言語で記述されたプログラムであっても良い。
【００３７】
出力処理部１８は、プログラム生成部２１によって生成されたプログラムをＰＬＣ４へ出力する。出力処理部１８は、学習部１７によって生成された学習済モデルをＡＩユニット５へ出力する。これにより、ＩＰＣ２は、状態データの収集および加工のためのプログラムと、状態データに基づいた診断結果を推論するための学習済モデルとをＰＬＣシステム３へ提供する。
【００３８】
図３は、実施の形態１にかかる機械学習システムのうちＰＬＣシステムにおいて実行されるプログラムについて説明するための図である。図３には、ＰＬＣ４において実行されるプログラム３０と、ＡＩユニット５において実行される診断プログラム３１とを示している。
【００３９】
ＰＬＣ４は、ＩＰＣ２から取得したプログラム３０を保持する。ＰＬＣ４は、保持されたプログラム３０を読み出して実行することによって、ＩＰＣ２と同様に、状態データの収集および加工を行う。
【００４０】
診断プログラム３１は、ＰＬＣ４でのプログラム３０の実行による収集および加工を経た状態データから、学習済モデルに基づいた診断結果を求めるためのプログラムである。ＡＩユニット５は、診断プログラム３１を保持する。ＡＩユニット５は、保持された診断プログラム３１を読み出して実行することによって、状態データから生産設備の異常を診断する。
【００４１】
ラダープログラムは、複数の回路ブロックによって構成される。回路ブロックは、接点が直列あるいは並列に接続されたひとかたまりの回路である条件部と、１つ以上のコイルが直列に接続されたひとかたまりの回路である動作部とを組み合わせて構成される。動作部は、条件部の接点が導通されたときに実行される演算処理の内容を表す。ラダー言語を使用して作成されたプログラムコードは、基本的な回路要素である回路記号および変数を含む。回路記号にはＰＬＣ４での処理を表す接点およびコイルが含まれる。各変数は、ＰＬＣ４が有する複数のデータ領域の各々に対応付けられている。各メモリ領域には、回路要素ごとにおける演算データが格納される。演算データには、オンとオフとの区別を表現するビットデータと、数値を表現するワードデータとが含まれる。ラダープログラムのプログラミングにおいて使用される変数、あるいは変数が対応付けられているデータ領域は、「デバイス」と称される。
【００４２】
プログラム３０には、例えば、データ収集部１４で取得された内部データである値が格納されていたデバイスを表すデバイス番号、デバイスからのデータ入力のオンとオフを切り換える入力接点、デバイスへのデータ出力のオンとオフを切り換える出力接点、出力接点から出力された値が入力されるデバイスを表すデバイス番号が含まれる。また、プログラム３０には、時間によって入力接点または出力接点のオンとオフの切り換えを管理するためのタイマが含まれる。プログラム３０に含まれるこのような回路要素によって、設定情報に従ったタイミングにおいて状態データを収集する機能が実現される。
【００４３】
プログラム３０には、例えば、データを平滑化するＦＢ（ファンクションブロック）、入力接点または出力接点においてオンオフが切り換えられた回数をカウントするカウンタが含まれる。ＰＬＣ４は、当該ＦＢを実行することによって、状態データの平滑処理を行う。ＰＬＣ４は、当該カウンタによるカウントに従って状態データの抽出を行う。プログラム３０に含まれるこのような回路要素によって、状態データを加工する機能が実現される。
【００４４】
診断プログラム３１には、診断に使用される状態データの取得先であるデバイスと、診断結果の出力先であるデバイスとが特定されている。ＡＩユニット５は、診断プログラム３１を実行することによって、加工済みの状態データと学習済モデルとに基づいた診断を行う。ＡＩユニット５は、診断結果をＰＬＣ４へ出力する。
【００４５】
次に、ＩＰＣ２の動作について説明する。図４は、実施の形態１にかかる機械学習システムに含まれる情報処理装置の動作手順を示すフローチャートである。ＩＰＣ２は、学習済モデルの生成を開始するためのコマンドを受け取ると、ステップＳ１において状態データを収集する。ステップＳ２において、ＩＰＣ２は、ステップＳ１において収集された状態データを加工する。ステップＳ３において、ＩＰＣ２は、状態データを用いた機械学習によって学習済モデルを生成する。
【００４６】
ステップＳ４において、ＩＰＣ２は、状態データの収集および加工を行うためのラダープログラムであるプログラム３０を生成する。ＩＰＣ２は、プログラム生成部２１において、設定情報に基づいてプログラム３０を生成する。
【００４７】
ステップＳ５において、ＩＰＣ２は、ステップＳ５において生成されたラダープログラムであるプログラム３０と、ステップＳ３において生成された学習済モデルとをＰＬＣシステム３へ送信する。ＩＰＣ２は、通信装置１２からＰＬＣ４へプログラム３０を送信する。ＩＰＣ２は、通信装置１２からＡＩユニット５へ学習済モデルを送信する。これにより、ＩＰＣ２は、プログラム３０と学習済モデルとをＰＬＣシステム３へ提供する。以上により、ＩＰＣ２は、図４に示す手順による動作を終了する。
【００４８】
なお、ステップＳ５において、ＩＰＣ２は、ＡＩユニット５ではなくＰＬＣ４へ学習済モデルを送信しても良い。この場合、ＰＬＣ４は、受信された学習済モデルをＡＩユニット５へ出力する。このように、ＩＰＣ２は、ＰＬＣ４を経由してＡＩユニット５へ学習済モデルを提供しても良い。
【００４９】
次に、ＰＬＣシステム３の動作について説明する。図５は、実施の形態１にかかる機械学習システムに含まれるＰＬＣシステムの動作手順を示すフローチャートである。ＰＬＣシステム３は、ステップＳ１１において、ラダープログラムであるプログラム３０と学習済モデルとを受信する。ＰＬＣシステム３は、ＰＬＣ４においてプログラム３０を受信する。ＰＬＣシステム３は、ＡＩユニット５において学習済モデルを受信する。なお、ＰＬＣシステム３は、上述するように、ＰＬＣ４においてプログラム３０と学習済モデルとを受信しても良い。ＰＬＣシステム３は、プログラム３０と学習済モデルとを、初回の診断時に受信する。ＰＬＣシステム３は、初回の診断以降において学習済モデルの更新があった場合に、更新された学習済モデルを受信する。
【００５０】
ＰＬＣシステム３は、プログラム３０と学習済モデルとを受信してから、診断のための動作を行う。ステップＳ１２において、ＰＬＣシステム３は、ＰＬＣ４において状態データを収集する。ＰＬＣ４は、ステップＳ１１において受信されたプログラム３０を実行することによって、状態データを収集する。
【００５１】
ステップＳ１３において、ＰＬＣシステム３は、ステップＳ１２において収集された状態データをＰＬＣ４において加工する。ＰＬＣ４は、ステップＳ１１において受信されたプログラム３０を実行することによって、状態データを加工する。ＰＬＣ４は、加工された状態データをＡＩユニット５へ出力する。
【００５２】
ステップＳ１４において、ＰＬＣシステム３は、ＡＩユニット５において生産設備を診断する。ＡＩユニット５は、ＰＬＣ４から入力された状態データと、ステップＳ１１において受信された学習済モデルとに基づいて、診断結果を求める。ステップＳ１５において、ＰＬＣシステム３は、ステップＳ１４において得られた診断結果をＡＩユニット５からＰＬＣ４へ入力する。以上により、ＰＬＣシステム３は、図５に示す手順による動作を終了する。
【００５３】
次に、ＩＰＣ２において、データ処理フローの設定情報に基づいてプログラム３０を生成する方法について説明する。プログラム生成部２１は、設定情報に含まれるデータ処理要素である「収集」および「加工」について、データ処理要素ごとの処理の内容を確認する。プログラム生成部２１は、データ処理要素ごとの処理を実現するための回路要素であるプログラム要素を選択する。選択されるプログラム要素には、接点、コイル、タイマ、カウンタおよびＦＢなどが含まれる。
【００５４】
プログラム生成部２１は、例えば、「収集」については接点を選択する。プログラム生成部２１は、例えば、「加工」については、Ｃ言語によってあらかじめ機能がプログラミングされたＦＢを選択する。加工のために選択されるプログラム要素は、「加工」についての機能を実現するためのラダープログラムが纏められたＦＢであっても良い。プログラム生成部２１は、ＦＢを選択の対象とすることによって、データ処理要素ごとの処理を実現するためのプログラム要素を容易に選択することが可能となる。
【００５５】
次に、プログラム生成部２１は、データ処理要素同士の接続関係を確認することによって、選択されたプログラム要素同士の接続関係を設定する。データ処理要素同士の接続関係には、データ処理フローにおける分岐または結合といった接続関係が含まれる。また、プログラム生成部２１は、データ処理要素へ入力されるデータの取得先であるデバイスと、データ処理要素から出力されるデータの入力先であるデバイスとを確認する。プログラム生成部２１は、データ処理要素に対応するプログラム要素へ入力されるデータの取得先であるデバイスと、データ処理要素に対応するプログラム要素から出力されるデータの入力先であるデバイスとを設定する。
【００５６】
データのサンプリング時間、またはデータ処理のタイミングといった処理条件を含むデータ処理要素がデータ処理フローに含まれている場合、プログラム生成部２１は、当該データ処理要素に対応するプログラム要素について、当該処理条件に対応するパラメータを設定する。例えば、データのサンプリング時間についての条件が設定されている場合、プログラム生成部２１は、プログラム要素であるタイマの時間パラメータを、サンプリング時間の条件に従って設定する。データ処理のタイミングについての条件が設定されている場合、プログラム生成部２１は、プログラム要素である接点が切り換わるタイミングについてのパラメータを、当該条件に従って設定する。
【００５７】
なお、実施の形態１では、学習部１７が用いる学習アルゴリズムに教師あり学習を適用した場合について説明したが、これに限られるものではない。学習アルゴリズムには、教師あり学習以外にも、強化学習、教師なし学習、または半教師あり学習等を適用することもできる。学習アルゴリズムには、特徴量そのものの抽出を学習する、深層学習（Deep  Learning）を用いることもできる。学習部１７は、他の公知の方法、例えば遺伝的プログラミング、機能論理プログラミング、サポートベクターマシンなどに従って機械学習を実行しても良い。
【００５８】
学習部１７である機械学習装置は、ＩＰＣ２に内蔵されるものに限られず、ＩＰＣ２の外部に設けられたものであっても良い。機械学習装置は、ネットワークを介してＩＰＣ２に接続される装置であっても良い。機械学習装置は、クラウドサーバ上に存在していても良い。
【００５９】
学習部１７は、複数の機械学習システム１に対して作成されるデータセットに従って学習済モデルを生成しても良い。学習部１７は、同一の現場で使用される複数の機械学習システム１からデータセットを取得しても良く、あるいは、互いに異なる現場で使用される複数の機械学習システム１から取得されるデータセットを利用して学習済モデルを生成しても良い。学習部１７がデータセットの取得を開始した後に、データセットが取得される対象に新たな機械学習システム１が追加されても良い。また、複数の機械学習システム１からのデータセットの取得を開始した後に、データセットが取得される対象から、複数の機械学習システム１のうちの一部が除外されても良い。
【００６０】
ある１つの機械学習システム１において学習を行った学習部１７は、当該機械学習システム１以外の機械学習システム１に取り付けられても良い。当該他の機械学習システム１に取り付けられた学習部１７は、当該他の機械学習システム１における再学習によって、学習済モデルを更新することができる。
【００６１】
ＰＬＣ４は、ＡＩユニット５からＰＬＣ４へ診断結果が入力されると、診断対象である生産設備に、診断結果に応じた動作を行わせる。ＰＬＣ４は、異常があることを示す診断結果がＡＩユニット５から入力された場合に、生産設備の運転を停止させる。または、ＰＬＣ４は、生産設備における駆動源を減速させる。プログラム３０には状態データが収集される対象である生産設備が特定されているため、ＰＬＣ４は、異常がある生産設備を特定することができる。ＰＬＣ４が生産設備を制御するために実行するシーケンスプログラムには、生産設備等の不具合による割込信号をＰＬＣ４が受信した場合の処理が記述されている。ＰＬＣ４は、異常があることを示す診断結果である信号を割込信号として受信し、割込信号を受信した場合の処理として、診断結果に応じた処理を実行する。これにより、機械学習システム１は、ＡＩユニット５による診断結果に応じて生産設備を制御することが可能となる。
【００６２】
次に、実施の形態１の変形例について説明する。機械学習システム１は、学習済モデルに基づいた推論をＡＩユニット５が行うものに限られない。学習済モデルに基づいた推論はＰＬＣ４が行っても良く、機械学習システム１にはＡＩユニット５が設けられなくても良い。この場合、ＰＬＣ４には、プログラム３０の実行による状態データの収集および加工を行う処理部と、推論装置である推論部とが設けられる。制御装置としての処理部でのプログラム３０の実行による収集および加工を経た状態データが推論部へ入力されることによって、推論部は、学習済モデルに基づいた推論結果を処理部へ出力する。なお、処理部および推論部の図示は省略する。
【００６３】
図６は、実施の形態１にかかる機械学習システムのうちＰＬＣシステムにおいて実行されるプログラムの変形例について説明するための図である。図６には、状態データに基づいた診断結果をＰＬＣ４が推論する場合に、プログラム生成部２１によって生成されるプログラムの例を示している。プログラム生成部２１は、状態データの収集および加工のためのプログラム３０と、診断のためのラダープログラムである診断プログラム３２とを含むプログラムを生成する。診断プログラム３２は、学習済モデルに基づいた診断を実行するための機能部であるＦＢ３３を含む。推論部は、診断プログラム３２を実行することによって、学習済モデルに基づいた診断結果を処理部へ出力する。
【００６４】
機械学習システム１は、ＩＰＣ２が学習を担い、かつＰＬＣシステム３が診断のためのデータ収集から診断までを担うというように機能を分担するものに限られない。図７は、実施の形態１にかかる機械学習システムにおけるデータ処理フローの第１変形例について説明するための図である。第１変形例において、機械学習システム１は、ＩＰＣ２とＰＬＣシステム３との双方においてデータ収集から診断までを行う。すなわち、ＩＰＣ２とＰＬＣシステム３とは、ともに収集、加工および診断の各機能を担う。ＩＰＣ２とＰＬＣシステム３との双方が診断を行うことによって、機械学習システム１は、ＩＰＣ２による診断結果とＰＬＣシステム３による診断結果との比較および検証を行うことができる。また、機械学習システム１は、ＩＰＣ２およびＰＬＣシステム３のうちの一方に不具合が生じた場合でも、診断を継続することができる。
【００６５】
図８は、実施の形態１にかかる機械学習システムにおけるデータ処理フローの第２変形例について説明するための図である。第２変形例において、機械学習システム１は、ＩＰＣ２が収集および加工を担い、かつＰＬＣシステム３が診断を担う。図９は、実施の形態１にかかる機械学習システムにおけるデータ処理フローの第３変形例について説明するための図である。第３変形例において、機械学習システム１は、ＰＬＣシステム３が収集を担い、かつＩＰＣ２が加工および診断を担う。第２変形例および第３変形例では、機械学習システム１は、収集、加工および診断の各機能をＩＰＣ２とＰＬＣシステム３とで分担する。収集、加工および診断の分担によって、機械学習システム１は、ＩＰＣ２とＰＬＣシステム３との各々における処理負担を低減させることができる。
【００６６】
実施の形態１によると、ＩＰＣ２は、学習部１７で生成された学習済モデルと出力処理部１８にて生成されたプログラム３０とをＰＬＣシステム３へ出力する。ＰＬＣシステム３は、ＰＬＣ４でのプログラム３０の実行によって状態データの収集および加工を行う。ＰＬＣシステム３は、加工を経た状態データをＡＩユニット５へ入力させることによって、学習済モデルに基づいた推論結果をＡＩユニット５からＰＬＣ４へ出力する。以上により、機械学習システム１は、データの収集から生産性向上につながる動作まで一連の流れとして生産現場のシステムを制御できるという効果を奏する。
【００６７】
以上の実施の形態に示した構成は、本開示の内容の一例を示すものである。実施の形態に示した構成は、別の公知の技術と組み合わせることが可能である。実施の形態に示した構成同士は、適宜組み合わせられても良い。本開示の要旨を逸脱しない範囲で、実施の形態に示した構成の一部は、省略または変更することが可能である。
【符号の説明】
【００６８】
１  機械学習システム、２  ＩＰＣ、３  ＰＬＣシステム、４  ＰＬＣ、５  ＡＩユニット、６  外部機器、１０  プロセッサ、１１  メモリ、１２  通信装置、１３  記憶装置、１４  データ収集部、１５  制御部、１６  データ処理部、１７  学習部、１８  出力処理部、１９  配信部、２０  設定管理部、２１  プログラム生成部、２２  設定情報蓄積部、３０  プログラム、３１，３２  診断プログラム、３３  ＦＢ。
【要約】
機械学習システムは、生産設備を制御する制御装置であるＰＬＣ（４）と、情報処理装置であるＩＰＣ（２）と、推論装置であるＡＩユニット（５）と、を備える。ＩＰＣ（２）は、生産設備の動作状態を示す状態データを収集するデータ収集部（１４）と、収集された状態データを加工するデータ処理部（１６）と、加工を経た状態データを用いた機械学習によって学習済モデルを生成する学習部（１７）と、状態データの収集および加工を行わせるためのプログラムを生成するとともに学習済モデルを出力する出力処理部（１８）とを有する。ＡＩユニット（５）は、プログラムの実行による収集および加工を経た状態データが入力されることによって学習済モデルに基づいた推論結果をＰＬＣ（４）へ出力する。【図１】
0006884287.tif 000002
【図２】
0006884287.tif 000003
【図３】
0006884287.tif 000004
【図４】
0006884287.tif 000005
【図５】
0006884287.tif 000006
【図６】
0006884287.tif 000007
【図７】
0006884287.tif 000008
【図８】
0006884287.tif 000009
【図９】
0006884287.tif 000010