JP2024099094A - 制御装置、及び制御方法 - Google Patents
制御装置、及び制御方法 Download PDFInfo
- Publication number
- JP2024099094A JP2024099094A JP2023002785A JP2023002785A JP2024099094A JP 2024099094 A JP2024099094 A JP 2024099094A JP 2023002785 A JP2023002785 A JP 2023002785A JP 2023002785 A JP2023002785 A JP 2023002785A JP 2024099094 A JP2024099094 A JP 2024099094A
- Authority
- JP
- Japan
- Prior art keywords
- control
- post
- unit
- trained model
- inference
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 100
- 238000012545 processing Methods 0.000 claims abstract description 109
- 238000004519 manufacturing process Methods 0.000 claims abstract description 65
- 238000004364 calculation method Methods 0.000 claims description 35
- 239000010410 layer Substances 0.000 description 55
- 101100408464 Caenorhabditis elegans plc-1 gene Proteins 0.000 description 18
- 238000013528 artificial neural network Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 238000003860 storage Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000001934 delay Effects 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 229940050561 matrix product Drugs 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 102100026205 1-phosphatidylinositol 4,5-bisphosphate phosphodiesterase gamma-1 Human genes 0.000 description 1
- 101000691599 Homo sapiens 1-phosphatidylinositol 4,5-bisphosphate phosphodiesterase gamma-1 Proteins 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Programmable Controllers (AREA)
Abstract
【課題】制御対象である生産装置等を停止することなく学習済みモデルの更新を行い、学習済みの結果に基づいて後の制御処理を変更する場合でもその変更後における生産装置等の作動の遅延を抑制することを可能とする制御装置、及び制御方法を提供する。【解決手段】制御対象の状態に応じて当該制御対象の動作を制御する制御装置は、制御対象の状態に関連するデータに基づいて、学習済みモデルを用いた所定の演算処理を実行し、制御対象の状態に係る判定結果を推論する推論部と、推論された判定結果に基づき、制御対象の動作の制御処理に係る指令値を決定する後制御処理部と、を有し、推論部、及び後制御処理部は、学習済みモデルが実装された一連の制御プログラムに基づいて作動し、制御プログラムの実行中に学習済みモデルを更新する更新部をさらに有する。【選択図】図3
Description
本発明は、学習済みモデルを実装した制御プログラムによって制御対象である生産装置等を制御するための制御方法、及び当該制御方法において用いられる制御装置に関する。
従来、制御対象の状態量を表わす複数の入力信号を取り込み、これらの入力信号にシーケンス制御の内容に応じた重みづけを行った後それらの総和を求め、さらに総和を入力信号としてシーケンス制御の内容に応じた重みづけを行った後それらの総和を求める演算処理を繰り返し、この演算処理の最終内容を制御信号とするシーケンス制御方法が公知である。当該シーケンス制御方法において繰り返される演算処理は、ニューラルネットを模擬した構成を有する。
そして、階層状にネットワーク構成された複数段の演算単位(演算要素)は、それぞれ前段の複数の演算単位から出力信号を取り込み、それぞれに設定された重みづけを乗じて加算処理して出力する。すなわち、後段側の演算単位は前段の複数の演算単位の影響を重みに応じて総合的に受け、重みを適当に設定することにより、ネットワークに一定の推論能力が備わり、最終段の演算出力は初段の演算単位に入力される入力信号の内容に対し、所定のシーケンス制御対応した内容の出力信号に生成される。このことにより所謂学習モデルが構築される。したがって、演算処理に部分的な異常(故障や誤動作)が発生しても、小規模な異常であれば、一定の推論により正しい出力が決定されるので、誤った制御信号が出力されることが少なくなる(例えば、特許文献1参照)。
しかしながら、特許文献1に示すようなシーケンス制御方法に基づく、生産装置等の動作を制御するための制御装置においては、学習モデルの構築及び更新は、制御装置とは別の装置で行われていた。そのため、例えば再学習等によって学習モデルの学習機能を更新する際、新たに構築した学習モデルを制御装置に転送する必要がある。そのため、学習モデルを更新する際には、生産装置等の制御対象を停止する必要性が生じ、生産効率の低下に繋がる虞がある。また、学習モデルを用いた制御対象の異常の検知も、制御装置と別の装置において行われていたため、学習モデルから得られる学習済み結果に基づいて後の制御処理を変更する場合、その変更後における生産装置等の作動に遅れが生じる虞がある。
本件開示の技術は、上記の問題を解決するためになされたものであり、その目的は、制御対象である生産装置等を停止することなく学習済みモデルの更新を行い、学習済みの結果に基づいて後の制御処理を変更する場合でもその変更後における生産装置等の作動の遅延を抑制することを可能とする制御装置、及び制御方法を提供することである。なお、制御対象の制御を実行するための学習モデルは、制御装置と異なる学習端末において既に学習済みのものであるため、以下においても、学習モデルを学習済みモデルという。
上記の課題を解決するための本開示は、
制御対象の状態に応じて当該制御対象の動作を制御する制御装置であって、
前記制御対象の状態に関連するデータに基づいて、学習済みモデルを用いた所定の演算処理を実行し、前記制御対象の状態に係る判定結果を推論する推論部と、
前記推論部が推論した前記判定結果に基づき、前記制御対象の動作の制御処理に係る指令値を決定する後制御処理部と、
を有し、
前記推論部、及び前記後制御処理部は、前記学習済みモデルが実装された一連の制御プログラムに基づいて作動し、
前記制御プログラムの実行中に前記学習済みモデルを更新する更新部をさらに有することを特徴とする、制御装置を含む。
制御対象の状態に応じて当該制御対象の動作を制御する制御装置であって、
前記制御対象の状態に関連するデータに基づいて、学習済みモデルを用いた所定の演算処理を実行し、前記制御対象の状態に係る判定結果を推論する推論部と、
前記推論部が推論した前記判定結果に基づき、前記制御対象の動作の制御処理に係る指令値を決定する後制御処理部と、
を有し、
前記推論部、及び前記後制御処理部は、前記学習済みモデルが実装された一連の制御プログラムに基づいて作動し、
前記制御プログラムの実行中に前記学習済みモデルを更新する更新部をさらに有することを特徴とする、制御装置を含む。
本開示による制御装置が有する推論部について、所定の演算処理は、学習済みモデルに基づいて実行され、例えば新たに導入された制御対象の動作の制御処理にも対応できるように、新たな学習済みモデルに係るパラメータを端末から読み込み、使用中の学習済みモデルを適宜更新する必要がある。本開示による制御装置においては、学習済みモデルを更新する際、制御対象を停止しなくてもよいため、制御対象が停止することによる不利益を被ることを抑制することが可能である。また、推論部が推論した判定結果に基づき、後制御処理部による制御処理を変更する場合でもその変更後における制御対象の作動の遅延を抑制することが可能である。また、推論部、及び後制御処理部は、一連の制御プログラムに基づいて作動するが、学習済みモデルが実装された制御プログラムであればその種類は何でもよい。ここで、一連の制御プログラムの「一連」とは、同一の制御プログラムのフローの中で作動する場合と、互いに関連して独立にコードされたプログラムにおいて順次実行される場合を含む。
また、本開示においては、前記データを前記制御プログラムに入力する入力部と、前記入力部が入力した前記データに対して、前記学習済みモデルが読み取り可能となる処理を実行する前制御処理部と、前記後制御処理部が決定した前記指令値を、前記制御対象に対して出力する出力部と、をさらに有し、前記前制御処理部、前記推論部、及び前記後制御処理部は、前記制御プログラムに基づいて作動することとしてもよい。前制御処理部、推論部、及び後制御処理部は、制御プログラムに基づいて実行されることによって、学習済みモデルが読み取るデータが教師ありデータであっても教師なしデータであっても、所望の指令値を決定しやすい。
また、本開示においては、前記制御プログラムは、ラダープログラムであってもよい。ラダープログラムには、所定の演算処理を繰り返し実行するコマンドを組み込むことが可能であり、ラダープログラムに実装された学習済みモデルに用いられるネットワーク形態が例えばニューラルネットワークである場合、ニューラルネットワークの各処理層に所定の演算処理を適用することが可能である。これによれば、ニューラルネットワークの各層に対応する演算パラメータの管理をより容易に行うことが可能である。例えばラダープログラムに組み込まれた全ての演算処理を実行しなくても、演算処理の途中で推論工程における判定結果を反映させたうえで制御対象の制御を行うことが可能である。すなわち、簡易的で高精度な演算処理を実行することが可能である。
また、本開示においては、前記制御対象は、生産装置であることとしてもよい。例えば生産装置の作動状態が異常である場合に、より迅速または高精度に異常状態を解消し、事故の発生を未然に防止することが可能である。
また、本開示においては、前記学習済みモデルは、複数の層から構成される前記制御プログラムに実装されており、当該複数の層の各々において、前記所定の演算処理が実行され、前記制御プログラムにおける複数の層は、一または二以上の層からなる複数の層群に分割され、前記複数の層群は、前段の層群と、複数の後段の層群を含み、前記前段の層群
における演算結果に基づいて、実行されるべき後段の層群が切り替えられることとしてもよい。これによれば、制御プログラムにおける前段の層群で実行された演算処理に基づき、後段の層群における最も適切な層を選択することが可能であり、その結果、推論工程における判定結果の判定制度を向上させることが可能である。また、このような構成を有する制御プログラムは、実行されるべき後段の層群が容易に切り替えられやすい。
における演算結果に基づいて、実行されるべき後段の層群が切り替えられることとしてもよい。これによれば、制御プログラムにおける前段の層群で実行された演算処理に基づき、後段の層群における最も適切な層を選択することが可能であり、その結果、推論工程における判定結果の判定制度を向上させることが可能である。また、このような構成を有する制御プログラムは、実行されるべき後段の層群が容易に切り替えられやすい。
また、本開示においては、前記学習済みモデルは、前記制御プログラムのアイドルタイムにおいて更新されることとしてもよい。これによれば、アイドルタイムを有効活用して制御対象(具体的には生産装置)の稼働効率を向上させることが可能である。
また、本開示においては、前記後制御処理部は、前記制御対象の動作の制御処理に係る指令値を決定する後制御処理を複数実行し、前記推論部が推論した前記判定結果に基づき、前記複数の後制御処理のうち、実行されるべき後制御処理が切り替えられることとしてもよい。これによれば、後制御処理部による制御処理の精度を向上させることが可能である。
また、上記の課題を解決するための本開示は、
制御対象の状態に応じて当該制御対象の動作を制御する制御方法であって、
前記制御対象の状態に関連するデータに基づいて、学習済みモデルを用いた所定の演算処理を実行し、前記制御対象の動作の制御に係る判定結果を推論する推論工程と、
前記推論工程において推論された前記判定結果に基づき、前記制御対象の動作の制御処理に係る指令値を決定する後制御処理工程と、
を有し、
前記推論工程、及び前記後制御処理工程は、前記学習済みモデルが実装された一連の制御プログラムに基づいて実行され、
前記制御プログラムの実行中に前記学習済みモデルが更新される更新工程をさらに有することを特徴とする、制御方法を含んでいてもよい。
制御対象の状態に応じて当該制御対象の動作を制御する制御方法であって、
前記制御対象の状態に関連するデータに基づいて、学習済みモデルを用いた所定の演算処理を実行し、前記制御対象の動作の制御に係る判定結果を推論する推論工程と、
前記推論工程において推論された前記判定結果に基づき、前記制御対象の動作の制御処理に係る指令値を決定する後制御処理工程と、
を有し、
前記推論工程、及び前記後制御処理工程は、前記学習済みモデルが実装された一連の制御プログラムに基づいて実行され、
前記制御プログラムの実行中に前記学習済みモデルが更新される更新工程をさらに有することを特徴とする、制御方法を含んでいてもよい。
本開示による制御方法を、本開示による制御装置以外の他の制御装置に適用することによっても、学習済みモデルを更新する際、制御対象(具体的には生産装置)が停止することによる不利益を被ることを抑制することが可能であり、また、推論工程において推論された判定結果に基づき、後制御処理工程における制御処理を変更する場合でもその変更後における制御対象の作動の遅延を抑制することが可能である。
なお、上記の課題を解決するための手段は、可能な限り互いに組み合わせて用いることができる。
本件開示の技術によれば、制御対象である生産装置を停止することなく学習済みモデルの更新を行い、学習済みの結果に基づいて後の制御処理を変更する場合でもその変更の遅延を抑制することが可能である。
〔適用例〕
以下に本発明の適用例の概要について一部の図面を用いて説明する。図1は、本開示における技術が適用されるPLC(Programmable Logic Controller)1のハードウェア構成の一例を示す模式図、及びPLC1を適用した制御システムにおける制御の態様の一例を示す概略図である。PLC1は、例えば生産現場における生産装置2(例えばモータやベルトコンベアやロボット等)の動作の制御等に用いられ、本開示における制御装置に相当する。また、生産装置2は、本開示における制御対象に相当する。
以下に本発明の適用例の概要について一部の図面を用いて説明する。図1は、本開示における技術が適用されるPLC(Programmable Logic Controller)1のハードウェア構成の一例を示す模式図、及びPLC1を適用した制御システムにおける制御の態様の一例を示す概略図である。PLC1は、例えば生産現場における生産装置2(例えばモータやベルトコンベアやロボット等)の動作の制御等に用いられ、本開示における制御装置に相当する。また、生産装置2は、本開示における制御対象に相当する。
図1に示すように、本適用例においては、PLC1、生産装置2、及び学習端末3が互いに有線ネットワークまたは無線ネットワークを介して接続されることによって、制御システムが構成されている。なお、制御対象として生産装置2を例示するが、制御対象はこの限りでなく、例えばエレベーター等の工業用以外の装置であってもよい。また、学習端末3は、据え置き型の端末であっても可搬式の端末であってもよい。
PLC1のハードウェア構成には、通信I/F(Interface)41、入力I/F42、CPU(Central Processing Unit)43、RAM(Random Access Memory)44、ROM(Read Only Memory)45、補助記憶装置の一種であるストレージ46、及び出力I/F47等が含まれる。各構成は、バス48を介して相互に通信可能に接続されている。
通信I/F41は、例えば有線LAN(Local Area Network)モジュールや無線LANモジュール等であり、有線通信または無線通信によって生産装置2(より正確には生産装置2のセンサモジュール)に接続され、生産装置2の状態に関わり、動作を決定する要因(例えば生産装置2の稼働を維持するか停止するかを決定する要因を含む)となるデータを生産装置2から取得する。
入力I/F42は、通信I/F41が取得したデータを制御プログラム(後述)内に入力する。CPU43は、中央処理装置であり、RAM44等に展開されたコマンド及びデータを処理することで、PLC1における各動作を制御する。RAM44は主記憶装置であり、CPU43によって制御され、各種コマンドやデータが書き込まれ、読み出される。なお、PLC1は、RAM44とは別にHDD等によるストレージ46や、ROM45等の記憶装置を備えている。
また、学習端末3には学習プログラムが搭載されており、この学習プログラムによって、生産装置2の状態の推論に必要な学習用パラメータを記憶させた学習済みモデル31が構成される。この学習済みモデル31に係る学習用パラメータは、学習端末3からストレージ46に読み込まれ、RAM44に展開されることによってPLC1内に記憶される。ここで、学習用パラメータとしては、ニューラルネットワーク6の各層(詳細は以下の図2に示す)における線形計算の係数が例示される。CPU43は、入力I/F42が入力したデータに対して、RAM44に展開された学習済みモデル31が読み取り可能となる処理を実行した後、学習済みモデル31に基づく所定の演算処理(詳細は以下の図2に示す)を実行し、最終的に生産装置2の動作の制御処理に係る指令値を出力する。
なお、PLC1に適用される制御プログラムとしては、ラダープログラム5が主であり、本適用例において、学習済みモデル31は、学習用パラメータを制御するためにラダープログラム5に実装されているものとする。ラダープログラム5について、詳細は以下の図2に示す。
出力I/F47は、外部装置(すなわち生産装置2)と接続するためのインターフェースであり、CPU43が出力した指令値を、生産装置2に対してさらに出力する。この指令値に基づいて生産装置2の動作が決定する。例えば生産装置2がモータであり、その駆動速度が規定値より大きい場合、指令値に基づいて駆動速度を低下させることができる。
図3は、本開示における技術が適用されるPLC1の機能構成の一例を示すブロック図である。PLC1の機能構成には、取得部11、入力部12、前制御処理部13、推論部14、後制御処理部15、更新部16、及び出力部17等が含まれる。なお、上記の通り、PLC1は、生産装置2及び学習端末3と互いに接続されているが、図3においては、生産装置2及び学習端末3の図示を省略する。
取得部11は、生産装置2の動作を決定する要因となるデータを生産装置2から取得する。入力部12は、学習端末3上で構成された学習済みモデル31を実装した制御プログラムであるラダープログラム5に、取得部11が取得したデータを入力する。これによって、学習済みモデル31に基づく所定の演算処理を実行する準備が開始される。
前制御処理部13は、入力部12が入力したデータに対して、学習済みモデル31が読み取り可能となる処理を実行する。これによって、学習済みモデル31による所定の演算処理の実行が可能となる。推論部14は、学習済みモデル31を有し、前制御処理部13によって読み取り可能となったデータに対して、学習済みモデル31に基づく所定の演算処理を実行する。その後、生産装置2の動作の制御に係る判定結果(例えば、生産装置2の動作の速度が規定値より大きいという判定結果)を推論する。後制御処理部15は、この判定結果に基づき、生産装置2の動作の制御処理に係る指令値を決定する。なお、前制御処理部13、推論部14、及び後制御処理部15は、ラダープログラム5に基づいて作動する。
更新部16は、学習端末3上で構成された学習済みモデル31に係る学習用パラメータを学習端末3から読み込むことが可能である。学習用パラメータが読み込まれた後、推論部14において学習済みモデル31が構成され、ラダープログラム5に実装される。なお、学習済みモデル31が最初に実装される際には、PLC1を停止して、学習端末3から学習用パラメータを読み込む。また、学習端末3において新たな学習が実行され、学習用パラメータが更新された場合、更新部16は、更新された学習用パラメータを学習端末3から読み込むことが可能である。これによって、ラダープログラム5に係る変数の数値が書き換えられ、ラダープログラム5に実装された学習済みモデル31が新たな学習済みモデルに更新される。なお、学習用パラメータの読み込みについては、更新部16と異なる他の機能(例えば不図示の読み込み部)が実行してもよい。学習用パラメータは、操作パネル(不図示)からマニュアルで変更可能としてもよい。
出力部17は、後制御処理部15が決定した指令値を生産装置2に対して出力する。また、ラダープログラム5に実装された学習済みモデル31が更新された場合は、後制御処理部15が決定する指令値が変更するため、生産装置2に対して新たな指令値を出力することが可能である。これによって、学習済みモデル31が更新される度に生産装置2に対して適切な制御処理を実行することが可能である。
本適用例において、学習済みモデル31は、稼働状態のPLC1に組み込まれているため、生産装置2を停止させることなく更新することが可能である。すなわち、学習済みモデル31を更新した場合であっても、生産装置2による生産効率の低下を防止することが可能である。また、新たな学習済みモデルに基づいて後制御処理部15による制御処理を変更する場合であっても、生産装置2を停止させる必要が無いため、その変更後における
生産装置2の作動の遅延を抑制することが可能である。
生産装置2の作動の遅延を抑制することが可能である。
図4は、本開示における技術が適用されるPLC1を用いた生産装置2の制御方法の手順を示すフローチャートである。フローについては、本適用例では概要のみ説明し、詳細は以下の実施例で説明する。
本適用例における制御方法においては、まず取得部11が、生産装置2の状態に関連するデータを生産装置2から取得する。次に入力部12が、取得部11が取得したデータをラダープログラム5に入力する。次に前制御処理部13が、入力部12が入力したデータに対して、学習済みモデル31が読み取り可能となる処理を実行する。ここで、学習端末3において新たな学習モデルが構成されなかった場合は、更新部16が学習用パラメータを学習端末3から読み込むことなく、推論部14が機能する。次に推論部14が、前制御処理部13によって読み取り可能となったデータに対して、学習済みモデル31に基づく所定の演算処理を実行する。そして、所定の演算処理を経て、生産装置2の状態に係る判定結果を推論する。次に後制御処理部15が、この判定結果に基づき、生産装置2の動作の制御処理に係る指令値を決定する。最終的に出力部17が、後制御処理部15が出力した指令値を生産装置2に対して出力する。
また、学習端末3において新たな学習モデルが構成された場合は、更新部16は、新たな学習済みモデルに係る学習用パラメータを学習端末3から読み込むことが可能である。これによって、ラダープログラム5に係る変数の数値が書き換えられ、ラダープログラム5に実装された学習済みモデル31が更新される。その後は、更新された新たな学習済みモデルに基づき、推論部14が、前制御処理部13によって読み取り可能となったデータに対して、新たな学習済みモデルに基づく所定の演算処理を実行する。
〔実施例〕
以下、本開示の実施例に係るPLC1を用いた生産装置2の制御方法、及びPLC1について、図面(上記の適用例で一旦説明した図面も含む)を用いてより詳細に説明する。なお、本開示の実施例に係るPLC1を用いた生産装置2の制御方法、及びPLC1は、以下の構成に限定する趣旨のものではない。
以下、本開示の実施例に係るPLC1を用いた生産装置2の制御方法、及びPLC1について、図面(上記の適用例で一旦説明した図面も含む)を用いてより詳細に説明する。なお、本開示の実施例に係るPLC1を用いた生産装置2の制御方法、及びPLC1は、以下の構成に限定する趣旨のものではない。
<構成>
ここで、図1の説明に戻る。なお、以下の実施例において、上記の適用例において説明した内容については、詳細な説明は省略する。また、本明細書では同一の構成要素については同一の符号を用いて説明を行う。
ここで、図1の説明に戻る。なお、以下の実施例において、上記の適用例において説明した内容については、詳細な説明は省略する。また、本明細書では同一の構成要素については同一の符号を用いて説明を行う。
図1においては、生産装置2は、単数であっても複数であってもよい。また、出力I/F47が出力した指令値や、指令値に基づく制御の結果が、モニタ(図示略)に表示されるようにしてもよい。なお、PLC1のハードウェア構成と機能構成の関係について、図3に示す取得部11は、通信I/F41から構成される。図3に示す入力部12は、入力I/F42から構成される。図3に示す前制御処理部13、推論部14、及び後制御処理部15は、CPU43、RAM44、及びROM45から構成される。図3に示す更新部16は、図1に示すストレージ46を含んで構成される。図3に示す出力部17は、出力I/F47から構成される。
図2は、実施例に係る学習済みモデル31に用いられるネットワーク形態、及び学習済みモデル31を実装可能な制御プログラムの一例を示す模式図である。本実施例においては、学習済みモデル31に用いられるネットワーク形態として、ニューラルネットワーク6を例示する。ニューラルネットワーク6は、人間の脳内のニューロンのネットワーク構造を模した数学モデルであり、複数の処理層(本実施例においては5層とする)から構成
される。複数の処理層は大別して、前制御処理部13からデータを入力する1層目の入力層と、入力されたデータを段階的に処理する一以上の中間層と、後制御処理部15に判定結果を出力する最下層(5層目)の出力層から構成される。各処理層は、一つ上の処理層の出力を入力として用いる。また、各処理層においては、複数のデータを並行して処理することが可能である。
される。複数の処理層は大別して、前制御処理部13からデータを入力する1層目の入力層と、入力されたデータを段階的に処理する一以上の中間層と、後制御処理部15に判定結果を出力する最下層(5層目)の出力層から構成される。各処理層は、一つ上の処理層の出力を入力として用いる。また、各処理層においては、複数のデータを並行して処理することが可能である。
また、本実施例においては、学習済みモデル31を実装可能な制御プログラムとして、上記の通りラダープログラム5を例示する。ラダープログラム5には、所定の演算処理を実行するためのコマンドが組み込まれており、例えば、行列積を算出するためのコマンドと、行列和を算出するためのコマンドと、入力値が0以上の場合はその入力値を出力し、入力値が0未満の場合は0を出力するReLU(Rectified Linear Unit:活性化関数)を適用するためのコマンドが組み込まれている。これらのコマンドによって、学習済みモデル31に基づく所定の演算処理を実行することが可能となる。なお、所定の演算処理は、図2の向きで左から右、上から下に実行される。すなわち、図2に示すラダープログラム5においては、行列積を算出した後に行列和を算出し、その値に対してReLUを適用する。
また、図2に示す通り、ラダープログラム5においては、上記の三種類の演算処理が繰り返し実行され、上記の三種類の演算処理を単位として、ラダープログラム5は層状の構成を有する。このため、学習済みモデル31をラダープログラム5に実装し、学習済みモデル31に用いられるニューラルネットワーク6にラダープログラム5を組み合わせることによって、ニューラルネットワーク6の各処理層に対して同等の演算処理を適用することが可能である。このことは、本開示における「当該複数の層の各々において、前記所定の演算処理が実行され、」に相当する。これによって、例えばラダープログラム5に組み込まれた全ての演算処理を実行しなくても、演算処理の途中で推論部14の判定結果を反映させたうえで生産装置2の制御を行うことや、ニューラルネットワーク6における処理を簡易化することや処理速度を上げることが可能である。
なお、ラダープログラム5も層状の構成を有し、かつ、ラダープログラム5における各層において同等の演算処理が実行されるため、ニューラルネットワーク6に組み合わせる制御プログラムとしてはラダープログラム5が好適であるが、他の制御プログラムを組み合わせてもよい。
ここで、図3の説明に戻る。上記の通り、ラダープログラム5は、上記の三種類の演算処理を単位とした層状の構成を有するため、単位ごとの処理層に学習済みモデル31を実装することが可能である。例えば図3に示すように、ニューラルネットワーク6における所定の処理層に対応するラダープログラム5の処理層(図3において前段の層という)と、前段の層より下位の二の処理層に対応するラダープログラム5の二の処理層(図3において後段の層群という)に学習済みモデル31を実装してもよく、さらに、前段の層からの出力が、後段の層群における各々の処理層に分岐するようにしてもよい。なお、前段の層は複数の処理層から構成される層群であってもよく、後段の層群は単一の層であってもよく、後段の層群を構成する処理層の数は二より多くてもよい。
このように、ラダープログラム5は、高い自由度をもって処理層を設定することが可能である。また、上記のようにラダープログラム5の処理層を設定することによって、前層からの出力に応じて、後段の層群における演算処理を切り替えることが可能である。また、前層における演算処理の途中で後段の層群における演算処理に切り替えてもよい。
また、学習済みモデル31は、ラダープログラム5のアイドルタイムにおいて更新されてもよい。これによって、アイドルタイムを有効活用して生産装置2の稼働効率を向上さ
せることが可能である。また、後制御処理部15は、複数の制御処理(図3において制御処理A、制御処理Bと例示する)が実行可能であり、推論部14が推論した判定結果に基づき、制御処理を切り替えてもよい。この制御処理の切り替えは、例えば複数種類の製品をその種類に応じて複数の生産ラインに仕分けする仕分け作業等に活用することができる。
せることが可能である。また、後制御処理部15は、複数の制御処理(図3において制御処理A、制御処理Bと例示する)が実行可能であり、推論部14が推論した判定結果に基づき、制御処理を切り替えてもよい。この制御処理の切り替えは、例えば複数種類の製品をその種類に応じて複数の生産ラインに仕分けする仕分け作業等に活用することができる。
<フローチャート>
ここで、図4の説明に戻る。以下、図4を用いて本実施例に係る制御方法の手順について詳細に説明する。本フローチャートでは、まず取得部11が、生産装置2の状態に関連するデータを生産装置2から取得する(ステップS101)。次に入力部12が、ステップS101において取得されたデータをラダープログラム5に入力する(ステップS102)。次に前制御処理部13が、ステップS102において入力されたデータに対して、学習済みモデル31が読み取り可能となる処理を実行する(ステップS103)。
ここで、図4の説明に戻る。以下、図4を用いて本実施例に係る制御方法の手順について詳細に説明する。本フローチャートでは、まず取得部11が、生産装置2の状態に関連するデータを生産装置2から取得する(ステップS101)。次に入力部12が、ステップS101において取得されたデータをラダープログラム5に入力する(ステップS102)。次に前制御処理部13が、ステップS102において入力されたデータに対して、学習済みモデル31が読み取り可能となる処理を実行する(ステップS103)。
ここで、学習端末3において新たな学習モデルが構成されなかった場合は(ステップS104:No)、更新部16が学習用パラメータを学習端末3から読み込むことなく、推論部14が機能する。次に推論部14が、ステップS103において読み取り可能となったデータに対して、ラダープログラム5に実装した学習済みモデル31に基づく所定の演算処理を実行する。例えば、行列積を算出した後に行列和を算出し、その値に対してReLUを適用する演算処理を実行する。そして、この演算処理を経て、生産装置2の状態に係る判定結果を推論する(ステップS105)。ステップS105においては、ラダープログラム5における所定の処理層における演算処理に基づき、所定の処理層の後段の処理層として設定された複数の処理層のいずれかにおける演算処理に切り替え可能な態様であってもよい。ここで、ステップS105は、本開示における推論工程に相当する。
次に後制御処理部15が、ステップS105において推論された判定結果に基づき、生産装置2の動作の制御処理に係る指令値を決定する(ステップS106)。ステップS106においては、判定結果に基づき、複数の制御処理の中から最も適切な制御処理に切り替わる態様であってもよい。ここで、ステップS106は、本開示における後制御処理工程に相当する。なお、ステップS103、S105、及びS106は、ラダープログラム5上で実行される。最終的に出力部17が、ステップS106において決定された指令値を生産装置2に対して出力する(ステップS107)。
また、学習端末3において新たな学習モデルが構成された場合は(ステップS104:Yes)、更新部16が新たな学習済みモデルに係る学習用パラメータを学習端末3から読み込むことが可能である(ステップS108)。これによって、ラダープログラム5に係る変数の数値が書き換えられ、ラダープログラム5に実装された学習済みモデル31が更新される(ステップS109)。ステップS109は、ラダープログラム5のアイドルタイムにおいて実行されてもよい。ここで、ステップS109は、本開示における更新工程に相当する。ステップS109が実行された後は、ステップS105に進み、以下のフローは上記の通りである。
<付記1>
制御対象(2)の状態に応じて当該制御対象の動作を制御する制御装置(1)であって、
前記制御対象の状態に関連するデータに基づいて、学習済みモデル(31)を用いた所定の演算処理を実行し、前記制御対象の状態に係る判定結果を推論する推論部(14)と、
前記推論部が推論した前記判定結果に基づき、前記制御対象の動作の制御処理に係る指令値を決定する後制御処理部(15)と、
を有し、
前記推論部、及び前記後制御処理部は、前記学習済みモデルが実装された一連の制御プログラム(5)に基づいて作動し、
前記制御プログラムの実行中に前記学習済みモデルを更新する更新部(16)をさらに有することを特徴とする、制御装置(1)。
制御対象(2)の状態に応じて当該制御対象の動作を制御する制御装置(1)であって、
前記制御対象の状態に関連するデータに基づいて、学習済みモデル(31)を用いた所定の演算処理を実行し、前記制御対象の状態に係る判定結果を推論する推論部(14)と、
前記推論部が推論した前記判定結果に基づき、前記制御対象の動作の制御処理に係る指令値を決定する後制御処理部(15)と、
を有し、
前記推論部、及び前記後制御処理部は、前記学習済みモデルが実装された一連の制御プログラム(5)に基づいて作動し、
前記制御プログラムの実行中に前記学習済みモデルを更新する更新部(16)をさらに有することを特徴とする、制御装置(1)。
<付記2>
制御対象(2)の状態に応じて当該制御対象の動作を制御する制御方法であって、
前記制御対象の状態に関連するデータに基づいて、学習済みモデル(31)を用いた所定の演算処理を実行し、前記制御対象の動作の制御に係る判定結果を推論する推論工程(ステップS105)と、
前記推論工程において推論された前記判定結果に基づき、前記制御対象の動作の制御処理に係る指令値を決定する後制御処理工程(ステップS106)と、
を有し、
前記推論工程、及び前記後制御処理工程は、前記学習済みモデルが実装された一連の制御プログラム(5)に基づいて実行され、
前記制御プログラムの実行中に前記学習済みモデルが更新される更新工程(ステップS109)をさらに有することを特徴とする、制御方法。
制御対象(2)の状態に応じて当該制御対象の動作を制御する制御方法であって、
前記制御対象の状態に関連するデータに基づいて、学習済みモデル(31)を用いた所定の演算処理を実行し、前記制御対象の動作の制御に係る判定結果を推論する推論工程(ステップS105)と、
前記推論工程において推論された前記判定結果に基づき、前記制御対象の動作の制御処理に係る指令値を決定する後制御処理工程(ステップS106)と、
を有し、
前記推論工程、及び前記後制御処理工程は、前記学習済みモデルが実装された一連の制御プログラム(5)に基づいて実行され、
前記制御プログラムの実行中に前記学習済みモデルが更新される更新工程(ステップS109)をさらに有することを特徴とする、制御方法。
1・・・・・PLC
11・・・・取得部
12・・・・入力部
13・・・・前制御処理部
14・・・・推論部
15・・・・後制御処理部
16・・・・更新部
17・・・・出力部
2・・・・・生産装置
3・・・・・学習端末
31・・・・学習済みモデル
41・・・・通信I/F
42・・・・入力I/F
43・・・・CPU
44・・・・RAM
45・・・・ROM
46・・・・ストレージ
47・・・・出力I/F
48・・・・バス
5・・・・・ラダープログラム
6・・・・・ニューラルネットワーク
11・・・・取得部
12・・・・入力部
13・・・・前制御処理部
14・・・・推論部
15・・・・後制御処理部
16・・・・更新部
17・・・・出力部
2・・・・・生産装置
3・・・・・学習端末
31・・・・学習済みモデル
41・・・・通信I/F
42・・・・入力I/F
43・・・・CPU
44・・・・RAM
45・・・・ROM
46・・・・ストレージ
47・・・・出力I/F
48・・・・バス
5・・・・・ラダープログラム
6・・・・・ニューラルネットワーク
Claims (8)
- 制御対象の状態に応じて当該制御対象の動作を制御する制御装置であって、
前記制御対象の状態に関連するデータに基づいて、学習済みモデルを用いた所定の演算処理を実行し、前記制御対象の状態に係る判定結果を推論する推論部と、
前記推論部が推論した前記判定結果に基づき、前記制御対象の動作の制御処理に係る指令値を決定する後制御処理部と、
を有し、
前記推論部、及び前記後制御処理部は、前記学習済みモデルが実装された一連の制御プログラムに基づいて作動し、
前記制御プログラムの実行中に前記学習済みモデルを更新する更新部をさらに有することを特徴とする、制御装置。 - 前記データを前記制御プログラムに入力する入力部と、
前記入力部が入力した前記データに対して、前記学習済みモデルが読み取り可能となる処理を実行する前制御処理部と、
前記後制御処理部が決定した前記指令値を、前記制御対象に対して出力する出力部と、をさらに有し、
前記前制御処理部、前記推論部、及び前記後制御処理部は、前記制御プログラムに基づいて作動することを特徴とする、請求項1に記載の制御装置。 - 前記制御プログラムは、ラダープログラムであることを特徴とする、請求項1に記載の制御装置。
- 前記制御対象は、生産装置であることを特徴とする、請求項1に記載の制御装置。
- 前記学習済みモデルは、複数の層から構成される前記制御プログラムに実装されており、当該複数の層の各々において、前記所定の演算処理が実行され、
前記制御プログラムにおける複数の層は、一または二以上の層からなる複数の層群に分割され、
前記複数の層群は、前段の層群と、複数の後段の層群を含み、
前記前段の層群における演算結果に基づいて、実行されるべき後段の層群が切り替えられることを特徴とする、請求項1に記載の制御装置。 - 前記学習済みモデルは、前記制御プログラムのアイドルタイムにおいて更新されることを特徴とする、請求項1に記載の制御装置。
- 前記後制御処理部は、前記制御対象の動作の制御処理に係る指令値を決定する後制御処理を複数実行し、
前記推論部が推論した前記判定結果に基づき、前記複数の後制御処理のうち、実行されるべき後制御処理が切り替えられることを特徴とする、請求項1に記載の制御装置。 - 制御対象の状態に応じて当該制御対象の動作を制御する制御方法であって、
前記制御対象の状態に関連するデータに基づいて、学習済みモデルを用いた所定の演算処理を実行し、前記制御対象の動作の制御に係る判定結果を推論する推論工程と、
前記推論工程において推論された前記判定結果に基づき、前記制御対象の動作の制御処理に係る指令値を決定する後制御処理工程と、
を有し、
前記推論工程、及び前記後制御処理工程においては、前記学習済みモデルが実装された一連の制御プログラムに基づいて実行され、
前記制御プログラムの実行中に前記学習済みモデルが更新される更新工程をさらに有することを特徴とする、制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023002785A JP2024099094A (ja) | 2023-01-12 | 2023-01-12 | 制御装置、及び制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023002785A JP2024099094A (ja) | 2023-01-12 | 2023-01-12 | 制御装置、及び制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024099094A true JP2024099094A (ja) | 2024-07-25 |
Family
ID=91958016
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023002785A Pending JP2024099094A (ja) | 2023-01-12 | 2023-01-12 | 制御装置、及び制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2024099094A (ja) |
-
2023
- 2023-01-12 JP JP2023002785A patent/JP2024099094A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5111531A (en) | Process control using neural network | |
US10949740B2 (en) | Machine learning device, numerical controller, machine tool system, manufacturing system, and machine learning method for learning display of operation menu | |
JP4722388B2 (ja) | 統合型モデル予測制御機能ブロックおよびオプチマイザ機能ブロックのための設定および閲覧用表示画面 | |
CN109960219A (zh) | 控制装置以及机器学习装置 | |
CN108994818B (zh) | 控制装置以及机器学习装置 | |
US20030171829A1 (en) | System and method for complex process optimization and control | |
JP2004152265A (ja) | プロセス制御システムにおける統合型モデル予測制御および最適化 | |
WO2019176496A1 (ja) | 制御装置、制御システム、制御方法及び制御プログラム | |
CN111684475B (zh) | 学习支援装置、处理系统、学习支援方法以及存储介质 | |
CN109202394A (zh) | 部件供给装置以及机器学习装置 | |
CN109794657A (zh) | 控制装置以及机器学习装置 | |
CN109507879B (zh) | 控制装置以及机器学习装置 | |
JP2024099094A (ja) | 制御装置、及び制御方法 | |
US20210157285A1 (en) | Additional learning device, additional learning method, and storage medium | |
WO2019207767A1 (ja) | 制御装置および制御方法 | |
CN113759724B (zh) | 基于数据驱动的机器人控制方法、装置和计算机设备 | |
JPH02226304A (ja) | コントローラの群制御システム | |
Fertsch | Artificial neural pseudo-network for production control purposes | |
Ganesh et al. | Evolutionary algorithms for programming pneumatic sequential circuit controllers | |
RU2649791C1 (ru) | Многопараметрический нечеткий процессор для автоматических регуляторов и способ синтеза управляющего сигнала | |
Ünsal et al. | Performance analysis of fuzzy logic controllers optimized by using genetic algorithm | |
Smorodin et al. | Adaptive control of robotic production systems | |
JPH02161529A (ja) | ルール群の切り換え装置 | |
JP2018180798A (ja) | 製造システムおよび製造方法 | |
AU2006100161A4 (en) | A method to complement the training of an artificial neural network by making additions to its structure |