JP2019109580A - 産業用制御システムとその支援装置、制御支援方法およびプログラム - Google Patents

産業用制御システムとその支援装置、制御支援方法およびプログラム Download PDF

Info

Publication number
JP2019109580A
JP2019109580A JP2017240543A JP2017240543A JP2019109580A JP 2019109580 A JP2019109580 A JP 2019109580A JP 2017240543 A JP2017240543 A JP 2017240543A JP 2017240543 A JP2017240543 A JP 2017240543A JP 2019109580 A JP2019109580 A JP 2019109580A
Authority
JP
Japan
Prior art keywords
execution
processing
program
data
execution task
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.)
Granted
Application number
JP2017240543A
Other languages
English (en)
Other versions
JP6493506B1 (ja
Inventor
勇樹 上山
Yuki Kamiyama
勇樹 上山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2017240543A priority Critical patent/JP6493506B1/ja
Priority to CN201811176364.XA priority patent/CN109933019B/zh
Priority to US16/164,010 priority patent/US10915419B2/en
Priority to EP18208028.3A priority patent/EP3502814B1/en
Application granted granted Critical
Publication of JP6493506B1 publication Critical patent/JP6493506B1/ja
Publication of JP2019109580A publication Critical patent/JP2019109580A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • G05B19/0425Safety, monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0221Preprocessing measurements, e.g. data collection rate adjustment; Standardization of measurements; Time series or signal analysis, e.g. frequency analysis or wavelets; Trustworthiness of measurements; Indexes therefor; Measurements using easily measured parameters to estimate parameters difficult to measure; Virtual sensor creation; De-noising; Sensor fusion; Unconventional preprocessing inherently present in specific fault detection methods like PCA-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Programmable Controllers (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • General Factory Administration (AREA)

Abstract

【課題】処理対象となるデータの解析の精度を向上させることを可能にする。【解決手段】データ数に依存しない処理を実行する第1の実行タスクと、データ数に依存する処理を実行する第2の実行タスクとを、共通の処理ユニットにより実行する産業用制御装置と、支援装置とを備える。産業用制御装置は、第1の実行タスクによる処理ユニットの制御負荷量を算出すると共に、第1および第2の各実行タスクの中から第2の実行タスクを抽出する。支援装置は、上記抽出された第2の実行タスクの種類別に解析用データ数に応じた上記処理ユニットの処理負荷量を算出し、この処理負荷量と上記制御負荷量とを用いて、上記処理ユニットの処理能力の残り度合いを示す処理の余裕度を算出する。【選択図】図4

Description

この発明は、例えば、生産ラインまたは生産機器を制御するために用いられる産業用制御システムと、当該システムで使用される支援装置、制御支援方法およびプログラムに関する。
一般に、生産物を複数の工程により流れ作業で生産する生産ラインは、工程ごとに配置される生産機器ごとに、Programmable Logic Controller(PLC)またはIndustrial Personal Computer(IPC)等と呼称される産業用制御装置を配置し、この産業用制御装置により上記各生産機器の動作を制御するように構成されている。産業用制御装置は、制御対象となる生産機器に対し高速かつ高精度の処理を周期的に実行する。
また、近年産業用制御装置に、生産機器の制御機能以外に付加的な情報処理機能を持たせることが提案されている。付加的な情報処理機能としては、例えば、生産機器の動作に係るデータを収集し、収集されたデータを解析することで、上記生産機器の挙動を監視するものがある。この種の機能を産業用制御装置に付加することで、例えば生産機器の異常発生等をリアルタイムに検知し、生産機器または生産ラインを停止させるといった処置を講じることが可能となる。この場合、上記異常発生等を誤検知すると、生産ラインの停止等による生産効率の低下を起こす。そのため、上記異常発生等の検知を行う際には多くのデータ数を収集する必要がある。
一方、産業用制御装置の本来の目的は、生産ラインを安全かつ確実に動作させることである。そのためには、産業用制御装置をある一定の余裕度(制御周期の残余時間)を保持した状態でタスクを設定し実行させる必要がある。そこで従来では、例えば特許文献1に記載されているように、設定される実行タスクの処理時間を個々に算出してその結果を積算することにより、余裕度を算出することが提案されている。
特許第3901417号公報
ところが、特許文献1または2に記載された技術は、設定された実行タスク全体の処理時間、つまりデータ数に依存するタスクもまた依存しないタスクも含む全てのタスクの処理時間は把握できるものの、解析するデータ数に応じて余裕度がどのように変化するかについては把握することが困難だった。
この発明は上記事情に着目してなされたもので、産業用制御装置に対し許容される処理の余裕度の範囲内でより多くのデータ数を設定し、これにより装置を制御時間を確保して確実に動作させつつ、解析に必要なデータ数を確保することができる産業用制御システムとその支援装置、制御支援方法およびプログラムを提供しようとするものである。
上記課題を解決するためにこの発明に係る産業用制御システムの第1の態様は、産業用制御装置と、支援装置とを具備する。前記産業用制御装置は、制御対象の動作を制御するための処理を実行する第1の実行タスクと、前記制御対象の動作に係る解析用データを取得して前記動作を解析する処理を実行する第2の実行タスクとを、実行する共通の処理ユニットと、前記第1の実行タスクによる前記処理ユニットの制御負荷量を算出する第1の算出部と、前記第1および第2の各実行タスクの中から前記第2の実行タスクを抽出する抽出部とを備える。前記支援装置は、前記産業用制御装置から、前記算出された制御負荷量および前記抽出された第2の実行タスクの種類を表す情報を取得する取得部と、前記取得された第2の実行タスクの種類別に、前記解析用データの数ごとに前記処理ユニットの処理負荷量を算出する第2の算出部と、前記取得された制御負荷量および前記算出された処理負荷量を表す情報に基づいて、前記処理ユニットが前記第1および第2の各実行タスクを実行したときに残る処理能力の度合いを示す処理の余裕度を前記解析用データの数ごとに算出する余裕度算出部と、前記算出された処理の余裕度を表す情報を出力する出力制御部とを備える。
この発明に係る産業用制御システムの第1の態様によれば、産業用制御装置が実行する各実行タスクの中から解析用データ数に依存する第2の実行タスクのみが抽出され、支援装置において上記抽出された第2の実行タスクの種類別に解析用データ数ごとに処理負荷量が算出される。そして、この算出された処理負荷量と、上記解析用データ数には依存しない第1の実行タスクによる制御負荷量とをもとに、産業用制御装置の処理ユニットの処理の余裕度が求められる。
すなわち、第2の実行タスクの種類によって解析用データ数ごとの処理時間が異なる場合でも、第2の実行タスクの種類ごとに解析用データ数に応じた処理負荷量を算出することができる。従って、産業用制御装置の管理者は、第2の実行タスクを実行する解析用プログラムの種類と解析用データ数に応じた産業用制御装置の処理の余裕度を把握することができ、これにより許容される余裕度内でより多くの解析用データを取得してその解析処理を産業用制御装置に実行させるように、産業用制御装置の実行ルールを設定することが可能となる。よって、産業用制御装置は、許容される余裕度の範囲内で極力多くの解析用データを取得し、これにより制御対象の動作をより高精度に解析処理することが可能となる。
すなわち、産業用制御装置を制御時間を確保して確実に動作させつつ、解析に必要なデータ数を確保することが可能となる。
この発明に係る産業用制御システムの第2の態様は、前記抽出部において、前記第1および第2の各実行タスクを実行させるために用意された複数のプログラムの少なくとも一部が機能ブロックで記述されている場合に、前記第1および第2の各実行タスクを実行させるプログラムが予め定められた機能ブロックに該当するものかを判定することにより、前記第2の実行タスクを抽出するようにしたものである。
前記産業用制御システムの第2の態様によれば、実行タスクが実行されるごとに、そのプログラムの少なくとも一部が予め定められた機能ブロックに該当するものかを判定することにより、データ数に依存する実行タスクを抽出することができ、これにより各プログラムに実行タスクの種類を識別するための付加情報を付加することなく、データ数に依存する実行タスクを抽出することができる。
この発明に係る産業用制御システムの第3の態様は、前記抽出部において、前記第1および第2の各実行タスクを実行させるために用意された複数のプログラムが、前記第1の実行タスクに関連付けられた第1の記憶領域と、前記第2の実行タスクに関連付けられた第2の記憶領域とに分けてそれぞれ記憶されている場合に、前記実行タスクを実行させるプログラムが前記第1および第2の記憶領域のいずれに記憶されたものかを判定することにより、前記第2の実行タスクを抽出するようにしたものである。
前記産業用制御システムの第3の態様によれば、実行タスクが実行されるごとに、そのプログラムが第1および第2の記憶領域のいずれに記憶されていたものかを判定することにより、データ数に依存する実行タスクを抽出することができ、これにより各プログラムに実行タスクの種類を識別するための付加情報を付加することなく、またプログラムを種類別に機能ブロックに収容しておくことなく、データ数に依存する実行タスクを抽出することができる。
この発明に係る支援装置の第1の態様は、制御対象の動作を制御するための処理を実行する第1の実行タスクと、予め設定された実行ルールに従い前記制御対象の動作に係る解析用データを取得して前記動作を解析する処理を実行する第2の実行タスクとを、共通の処理ユニットにより実行し、かつ前記第1の実行タスクによる前記処理ユニットの制御負荷量を算出すると共に、前記第1および第2の各実行タスクの中から前記第2の実行タスクを抽出する処理を行う産業用制御装置と共に使用される支援装置にあって、前記産業用制御装置から前記算出された制御負荷量および前記抽出された第2の実行タスクの種類処理負荷量を表す情報を取得する取得部と、前記取得された第2の実行タスクの種類別に、前記解析用データの数ごとに前記処理ユニットの処理負荷量を算出する算出部と、前記取得された制御負荷量および前記算出された処理負荷量を表す情報に基づいて、前記処理ユニットが前記第1および第2の各実行タスクを実行したときに残る処理能力の度合いを示す処理の余裕度を前記解析用データの数ごとに算出する余裕度算出部と、前記算出された余裕度を表す情報を出力する出力制御部とを具備するものである。
この発明に係る支援装置の第1の態様によれば、産業用制御装置により抽出された、第2の実行タスクの種類を表す情報に基づいて、当該第2の実行タスクの種類別のデータ数ごとに処理負荷量が算出され、この第2の実行タスクの種類別のデータ数に応じた処理負荷量と第1の実行タスクによる制御負荷量とから、産業用制御装置の処理ユニットの処理の余裕度が解析用データの数ごとに算出される。このため管理者は、解析用データ数に依存する第2の実行タスクに対し、上記算出された余裕度の範囲内で最大の処理データ量を設定することが可能となる。
この発明に係る支援装置の第2の態様は、前記算出部が、前記抽出された第2の実行タスクの種類ごとに、解析用データ数と当該解析用データ数ごとの処理時間とから、前記第2の実行タスクの処理負荷量を前記解析用データの数ごとに算出するものである。
従って、解析用データ数に依存する実行タスクによる処理負荷量を、第2の実行タスクの種類別の解析用データ数ごとの処理時間により、解析用データの数ごとに算出することができる。
この発明に係る支援装置の第3の態様は、前記算出された処理の余裕度と、産業用支援装置の処理ユニットが第2の実行タスクを実行したときに当該第2の実行タスクの目的が達成される確率を示す精度との関係を、前記第2の実行タスクが取得する解析用データ数の関数として表す関係情報を生成する関係情報生成部をさらに具備し、前記出力制御部により、前記生成された関係情報を表示可能な情報として出力するようにしたものである。
前記支援装置の第3の態様によれば、処理の余裕度と、産業用支援装置の処理ユニットが第2の実行タスクを実行したときに当該第2の実行タスクの目的が達成される確率を示す精度との関係を、前記第2の実行タスクが処理するデータ数の関数として表す関係情報が自動的に生成され、この生成された関係情報が表示可能な情報として出力される。このため管理者は、上記関係情報により、産業用制御装置における処理の余裕度とデータの処理精度との関係を確認することができ、この関係をもとに、産業用制御装置が第2の実行タスクによりデータ処理を行う上で適切な実行ルールを設定することが可能になる。
この発明に係る支援装置の第4の態様は、前記関係情報生成部に、機種が異なる複数の産業用制御装置の各々における処理の余裕度を表す情報を記憶する第1のメモリテーブルと、処理アルゴリズムが異なる複数の第2の実行タスクの各々の処理負荷量を表す情報を記憶する第2のメモリテーブルと、前記第1および第2のメモリテーブルに記憶された各情報に基づいて、前記複数の産業用制御装置と前記複数の第2の実行タスクとの全ての組み合わせについて、それぞれ前記関係情報を生成する生成処理部とを備え、前記出力制御部により、前記生成された複数の関係情報の中から、予め設定された条件を満たす関係情報を選択し、当該選択された関係情報を表示可能な情報として出力するようにしたものである。
前記支援装置の第4の態様によれば、使用が予想される複数の産業用制御装置と複数のデータ処理アルゴリズムとの全ての組み合わせについてそれぞれ関係情報が生成され、さらに関係情報を表示する際に、上記生成された複数の関係情報の中から予め設定された条件を満たす関係情報が選択されて表示される。このため、オペレータは使用が予想される複数の産業用制御装置とデータ処理アルゴリズムとの最適な組み合わせを選んで、第2の実行タスクの実行ルールを設定することが可能となる。
この発明に係る支援装置の第5の態様は、前記生成された関係情報と、前記第1の実行タスクと前記第2の実行タスクとの優先度合いを表す動作条件とに基づいて、当該動作条件に対応する前記第2の実行タスクの実行ルールの推奨値を生成する推奨値生成部をさらに具備し、前記出力制御部により、前記生成された実行ルールの推奨値を表示可能な情報として出力するようにしたものである。
前記支援装置の第5の態様によれば、生成された関係情報と産業用制御装置の動作条件とに基づいて、当該動作条件に対応する第2の実行タスクの実行ルールの推奨値が生成されて、表示可能な情報として出力される。このため、管理者は、表示された実行ルールの推奨値を参考にして第2の実行タスクの実行ルールを設定することが可能となる。このため、熟練を要することなく的確にかつ効率良く第2の実行タスクの実行ルールを設定することが可能となる。
この発明に係る支援装置の第6の態様は、前記生成された関係情報に基づいて、前記第2の実行タスクの実行ルールの決定値を生成する決定値生成部と、前記決定値生成部により生成された実行ルールの決定値を前記産業用制御装置が実行する前記第2の実行タスクの実行ルールとして設定する実行ルール設定部とを、さらに具備するものである。
前記支援装置の第6の態様によれば、生成された関係情報をもとに第2の実行タスクの実行ルールの決定値が生成され、この実行ルールの決定値が産業用制御装置に設定される。このため、管理者が特に設定操作を行うことなく、実行ルールの決定値を自動的に産業用制御装置の第2の実行タスクに設定することができる。
この発明に係る支援装置の第7の態様は、前記決定値生成部において、前記生成された関係情報に基づいて、前記第2の実行タスクの実行ルールの決定値を生成し直す処理を、さらに実行し、前記実行ルール設定部により、前記産業用制御装置が実行する前記第2の実行タスクの実行ルールを、前記決定値生成部により生成し直された実行ルールの決定値により更新する処理をさらに実行するようにしたものである。
前記支援装置の第7の態様によれば、第2の実行タスクの実行ルールの決定値を生成し直す処理がさらに実行され、産業用制御装置が使用している実行ルールが上記生成し直された解析ルールに更新される。従って、例えば、産業用制御装置における第1の実行タスクの制御負荷量または第2の実行タスクの処理負荷量が、運用前に設定された実行ルールの値から変化した場合でも、第2の実行タスクの実行ルールを自動的に再調整することができる。また、産業用制御装置の運用中に、例えばアクチュエータ等のデバイスが交換されてデバイス変数が変更になったり、ユーザプログラムの更新等によりユーザ変数が一部変更になった場合でも、これらの変更に応じて第2の実行タスクの実行ルールを自動的に更新することが可能となる。
この発明に係る支援装置の第8の態様は、前記実行ルールが、前記第2の実行タスクが処理対象とするデータの周期の時間長を表す情報と、前記処理対象とするデータの処理対象区間の開始位置を表す情報と、前記処理対象区間の範囲を表す情報とを含むようにしたものである。
従って、処理対象データの周期性と振る舞いに応じて第2のタスクの実行ルールを適切に設定することができる。
すなわちこの発明の各態様によれば、第2の実行タスクに対し許容される余裕度内でより多くのデータ数を設定し、これにより装置を制御時間を確保して確実に動作させつつ、解析に必要なデータ数を確保することができる産業用制御システムとその支援装置、制御支援方法およびプログラムを提供することができる。
図1は、この発明の一実施形態に係る生産制御システムのハードウェア構成を示すブロック図である。 図2は、図1に示した生産制御システムにおいて産業用制御装置のCPUユニットのハードウェア構成を示すブロック図である。 図3は、図1に示した生産制御システムにおける産業用制御装置および支援装置としてのPCのソフトウェア構成を示すブロック図である。 図4は、図3に示した産業用制御装置およびPCの要部構成を示すブロック図である。 図5は、プログラムごとの機能ブロックの構成の一例と、解析用機能ブロックリストの一例を示した図である。 図6は、プログラム記憶領域の構成の一例を示す図である。 図7は、図3および図4に示した産業用制御装置による解析用プログラムの抽出処理の手順と処理内容の実施例1を示すフローチャートである。 図8は、図3および図4に示した産業用制御装置による解析用プログラムの抽出処理の手順と処理内容の実施例2を示すフローチャートである。 図9は、図3および図4に示したPCによる異常検知パラメータ設定処理の処理手順と処理内容を示すフローチャートである。 図10は、図9に示す異常検知パラメータ設定処理により作成される、解析用データ数に対する制御装置の処理の余裕度の変化を示すグラフの一例を示す図である。 図11は、図9に示す異常検知パラメータ設定処理により作成される、解析用データ数に対する制御装置の処理の余裕度とデータ解析精度の関係を示すトレードオフグラフの一例を示す図である。 図12は、図9に示したPCの異常検知パラメータ設定処理により設定される、解析用データ選別ルールのパラメータの一例を示す図である。 図13は、制御装置の種類別に、これらの制御装置において実行される解析用プログラムの種類と、当該プログラムの種類毎のデータ数に応じた処理時間との関係の一例を示す図である。
以下、図面を参照してこの発明に係わる実施形態を説明する。
[一実施形態]
(ハードウェア構成)
図1は、この発明に係る産業用制御システムの一実施形態である生産制御システムのハードウェア構成を示すブロック図である。
この生産制御システムは、Programmable Logic Controller(PLC)等の産業用制御装置(以後単に制御装置と称する)1を中核として備える。制御装置1は、制御ユニット11と、複数のIOユニット12と、電源ユニット14とを有する。上記制御ユニット11と複数のIOユニット12との間は、制御用システムバス15を介して接続され、相互にデータ転送が可能になっている。
図2は、制御装置1の制御ユニット11の構成を示す。制御装置1の制御ユニット11は、Central Processing Unit(CPU)からなるプロセッサ11aと、チップセット11bと、不揮発性メモリ11cと、メインメモリ11dと、システムタイマ11eと、制御用システムバスコントローラ11fと、フィールドネットワークコントローラ11gとを有する。制御用システムバスコントローラ11fおよびフィールドネットワークコントローラ11gは、それぞれ制御用システムバスおよびフィールドネットワーク用の制御回路11f1,11g1と、Direct Memory Access(DMA)制御回路11f2,11g2と、バッファメモリ11f3,11g3とを含む。なお、11h,11i,11jは、それぞれフィールドネットワークコネクタ、制御用システムバスコネクタおよびUSBコネクタを示している。
制御装置1の制御ユニット11には、フィールドネットワーク4を介して、複数のアクチュエータ5およびリモートIOターミナル6が接続されている。アクチュエータ5は、生産機器(図示省略)に配置されるもので、例えばサーボモータとそのドライバにより構成される。アクチュエータ5は、制御装置1の制御ユニット11から出力される制御データに従い動作する。なお、フィールドネットワーク4としては、例えばEther CAT(登録商標)等の有線のLocal Area Network(LAN)が用いられるが、無線LANやBluetooth(登録商標)を使用することも可能である。
リモートIOターミナル6は、通信カプラ61と、複数のIOユニット62とを有し、この通信カプラ61と複数のIOユニット62との間はリモートIOターミナルバス63を介して接続されている。IOユニット62には複数のセンサ7が接続される。センサ7は、例えばカメラや温度センサ、振動センサを含む。カメラは、生産機器またはワークを撮像してその画像データを計測データとして出力する。温度センサは、生産機器の温度を計測してその計測データを出力する。振動センサは、生産機器の振動を計測してその計測データを出力する。
リモートIOターミナル6は、上記各センサ7から出力された各計測データをIOユニット62により受信した後、リモートIOターミナルバス63を介して通信カプラ61に転送し、通信カプラ61からフィールドネットワーク4を介して制御装置1へ送信する。
また、制御装置1のIOユニット12には、ローカルバス10を介して、複数のセンサ8および複数のアクチュエータ9が接続されている。これらのセンサ8およびアクチュエータ9の機能は、上記フィールドネットワーク4に接続されたセンサ7およびアクチュエータ5と同様なので、説明を省略する。
ところで、制御装置1には、支援装置として機能するパーソナルコンピュータ(Personal Computer:PC)2が、信号ケーブル3を介して接続されている。信号ケーブル3としては、例えばUniversal System Bus(USB)ケーブルが用いられる。なお、信号ケーブル3の代わりに、LANや無線LAN等のネットワークを使用することも可能である。
PC2は、Central Processing Unit(CPU)を有する制御ユニットと、不揮発性メモリおよびメインメモリを有する記憶ユニットと、上記制御装置1との間で信号ケーブル3を介してデータ転送を行う通信インタフェースユニットと、入出力インタフェースユニットとを備える。入出力インタフェースユニットには、キーボードやタッチパネル、マウス等の入力デバイスと、液晶又は有機EL等を用いた表示デバイスが接続される。入出力インタフェースユニットは、Graphical User Interface(GUI)210を有し、入力デバイスからオペレータが入力した操作データを取り込むと共に、制御ユニットにより生成された図形または画像を含む表示データを表示デバイスへ出力してその画面に表示させる。
(ソフトウェア構成)
図3は上記制御装置1およびPC2のソフトウェア構成を示すブロック図、図4はその要部構成を示すブロック図である。
(1)制御装置1
制御装置1は、ソフトウェアプログラムおよび当該ソフトウェアプログラムの実行に用いられるデータを記憶する記憶部(例えば、図2に示すメモリ11c,11d)と、ソフトウェアプログラムを呼び出し、実行する演算部(例えば、図2に示すプロセッサ11a)と、を有する1又は複数の情報処理装置により構成される。
すなわち、制御装置1は、制御用エンジン100と、異常監視エンジン190と、負荷情報生成プログラム300とを含む複数の機能部を有している。これらの機能部およびこれらの機能部に含まれる全ての機能部のそれぞれは、いずれも不揮発性メモリ11cに記憶された所定のソフトウェアプログラムが、プロセッサ11a等のハードウェアプロセッサによって実行されることで実現される。つまり、上記制御用エンジン100、異常監視エンジン190、および負荷情報生成プログラム300の各機能部のそれぞれは、ソフトウェアプログラムがハードウェアプロセッサにより実行されることによって実現される所定の処理を示す。
また、上記制御用エンジン100、異常監視エンジン190、および負荷情報生成プログラム300の各機能部のそれぞれは、単独で、又は、複数が組み合わされて、情報処理装置として構成される。なお、制御装置1を、単一の情報処理装置により構成してもよい。
以下、制御装置1が備える各機能部の処理機能について説明する。
不揮発性メモリ11cには組込データベース180が設けられている。組込データベース180は、センサ7,8から取得したRAWデータ(波形データ)からなる計測データと、異常監視エンジン190により生成された学習結果および異常監視結果を表す情報を記憶するために使用される。また組込データベース180には、制御装置1の負荷情報も記憶される。負荷情報は負荷情報生成プログラム300により生成されるもので、具体例は後述する。
制御用エンジン100は、図示しない生産機器を制御する機能部と、当該生産機器の動作を監視して異常検知を行う解析処理機能部を備え、これらの機能部を実現するために、制御プログラム110と、変数管理プログラム120と、スケジューラプログラム130と、入力プログラム140と、出力プログラム150とを備えている。
変数管理プログラム120は、システム変数121と、ユーザ変数およびデバイス変数122と、異常検知パラメータ123を管理する。システム変数121は、制御装置1の形式や制御プログラムのスペックを表す変数である。スペックとは、制御装置の機種に対応した制御プログラムの種類毎の処理時間を示す情報のことで、例えば、制御装置1の機種ごとの単位時間当たりの処理能力と、制御プログラムの種類ごとの単位時間当たりの処理量を示す情報であり、制御装置1の機種(型式)および制御プログラムの種類に対応付けて制御装置1内の不揮発性メモリ11cに保存される。ユーザ変数は、ユーザが指定した生産機器の動作に係る変数(例えばセンサ7,8による画像、温度および振動)である。デバイス変数は、制御対象となるデバイスの動作に係る変数(例えばアクチュエータ5,9のトルク)である。
異常検知パラメータは、生産機器の異常を検知するための解析ルールを示すもので、上記ユーザ変数およびデバイス変数から解析用データを収集するときの時間領域(時間窓)を指定するための選別ルールと、収集されたRAWデータもしくは当該RAWデータから生成された特徴量をもとに正常/異常を判定するための判定ルールとを含む。なお、選別ルールおよび判定ルールの具体例は後述する。
スケジューラプログラム130は、制御装置1で実行されるプロセスやタスクなどに対してリソース割当てや実行タイミングなどを管理する。生産に関するスケジュールを管理する。入力プログラム140は、センサ7,8から出力された計測データを、それぞれローカルバス160およびフィールドバス170を介して取得する処理を行う。出力プログラム150は、上記制御プログラム110により生成された制御データを、上記ローカルバス160およびフィールドバス170を介して、アクチュエータ5,9へ出力する処理を行う。
制御プログラム110は、ユーザプログラム111と、組込データベース用書込みプログラム112と、異常監視エンジン・インタフェース113と、特徴量生成プログラム116とを含む。
ユーザプログラム111は、制御対象の製造装置や設備に応じて作成されたもので、例えば、生産機器の動作手順とその内容を指定するためにユーザが作成したラダープログラムからなる。組込データベース用書込みプログラム112は、上記組込データベース180に対するデータの書込み処理を行う。
特徴量生成プログラム116は、以下の(1) および(2) に記載する処理機能を有する。
(1) 上記変数管理プログラム120から、異常検知パラメータ123と、ユーザ変数およびデバイス変数122に対応する計測データを取り込む。そして、上記異常検知パラメータ123により表される選別ルールに従い、上記計測データから上記選別ルールにより指定された区間の計測データを収集する。
具体的には、計測データ(波形データ)を収集するための周期(データ収集の周期)、データ収集を開始する開始位置、および収集するデータ取得範囲(上記開始位置からデータ収集を終了するまでの時間)を表すパラメータ値が、データ収集を行う時間窓として上記選別ルールにより定義される。そして、計測された波形データから、上記パラメータ値により指定される区間のデータが収集される。なお、選別ルールは上記各パラメータ値に限定されるものではなく、波形データの周期ごとにデータ収集開始位置と終了位置を指定するものであってもよく、その他の種々のパラメータを使用することも可能である。
(2) 予め設定された特徴量生成ルールに従い、上記(1) により収集された区間のデータからその特徴量を生成する。具体的には、例えば、平均値または最大値が上記特徴量生成ルールにより定義され、上記収集された区間の解析用データからその平均値または最大値が特徴量として算出される。なお、特徴量としては、上記した平均値または最大値以外に、データ間の相関やパターンの差分等を用いてもよい。
異常監視エンジン・インタフェース113は、異常度算出要求プログラム114、監視要求プログラム115およびシリアライズ通信プログラム117を有し、異常監視エンジン190に対し、上記特徴量生成プログラム116により生成された特徴量を、学習要求および監視要求と共に設定する。
異常監視エンジン190は、異常度算出部191および異常検知部192を備える。異常度算出部191は、上記特徴量生成プログラム116により生成された特徴量を異常監視エンジン・インタフェース113から受け取り、当該受け取った特徴量をもとに異常検知のための異常監視処理を行って、その異常度算出結果を組込データベース180に記憶させる。異常度算出の手法は、異常監視の様態に応じて適宜選択されてよい。例えば、異常度算出の手法としては、K-means(近傍法)、One Class SVM、LOF(Local Outlier Factor)、Isolation Forestなどが用いられていても良い。
異常検知部192は、特徴量生成プログラム116により生成された特徴量を異常監視エンジン・インタフェース113から受け取り、当該特徴量に対し、上記組込データベース180に記憶された異常度算出結果をもとに異常監視処理を行う。そして、その監視結果を組込データベース180に記憶させると共に、上記異常の監視結果をもとにイベントログ193を生成する。
なお、上記異常監視処理における正常/異常の判定には、異常検知パラメータに含まれる異常判定ルールが用いられる。異常判定ルールは、例えば、形状や位置、温度、振動をそれぞれ判定するために変数別に設定されたしきい値により表される。
すなわち、異常検知部192は、特徴量生成プログラム116により生成された特徴量を、上記異常判定ルールで定義された変数別にそのしきい値とそれぞれ比較し、その各比較結果と上記異常度算出結果とをもとに監視対象の生産機器の動作が正常であるか異常であるかを判定する。なお、異常検知方法は上記方法に限るものではなく、他にも種々の方法が考えられる。
以上述べた制御プログラム110、変数管理プログラム120、スケジューラプログラム130、入力プログラム140、出力プログラム150および異常監視エンジン190を構成する各プログラムのうち、生産機器の制御に係るプログラム群を単に制御プログラムと呼称し、また生産機器の解析用データを収集して生産機器の動作異常を監視(検知)する処理に係るプログラム群を単に解析処理プログラムと呼称する。
負荷情報生成プログラム300は、実行タスク抽出プログラム301と、制御負荷量算出プログラム302とを有する。
実行タスク抽出プログラム301は、制御装置1が備える、生産機器を制御する制御処理機能と、生産機器の動作状態を表す解析用データを収集し解析する解析処理機能をそれぞれ実現するための全てのプログラムの中から、上記解析用データの数に依存する実行タスク(第1の実行タスク)を実行するプログラムを抽出する機能を有する。解析処理に係るデータ数に依存する実行タスクとは、本実施形態においては、上記解析処理機能を実現するプログラム(解析処理プログラム)に相当する。
なお、上記解析処理に係るデータ数に依存しない実行タスク(第2の実行タスク)とは、本実施形態では上記生産機器を制御する制御処理機能を実現するプログラム(制御プログラム)に相当する。なお、上記解析処理プログラムの抽出処理の具体例は後述する。
制御負荷量算出プログラム303は、生産機器の制御プログラムが制御装置1の管理者(オペレータ)により選択された場合に、制御装置1内の不揮発性メモリ11cから、制御装置1の機種(形式)および上記選択された制御プログラムの種類に対応するスペックを読み出す。そして、このスペックに基づいて、制御装置1が上記選択された制御プログラムを実行したときのプロセッサ11aの制御負荷量を算出し、算出された制御負荷量を組込データベース180に保存する。
(2)PC2
PC2は、先に述べた制御装置1と同様に、ソフトウェアプログラムおよび当該ソフトウェアプログラムの実行に用いられるデータを記憶する記憶部と、ソフトウェアプログラムを呼び出して実行する演算部とを有する、1又は複数の情報処理装置により構成される。
すなわち、PC2は、データマイニングツール200と、Graphical User Interface(GUI)210と、異常監視パラメータ設定ツール220とを含む複数の機能部を有している。これらの機能部およびこれらの機能部に含まれる全ての機能部のそれぞれは、いずれも不揮発性メモリに記憶された所定のソフトウェアプログラムが、プロセッサ等のハードウェアプロセッサによって実行されることで実現される。つまり、上記データマイニングツール200と、GUI210と、異常監視パラメータ設定ツール220の各機能部のそれぞれは、ソフトウェアプログラムがハードウェアプロセッサにより実行されることによって実現される所定の処理を示す。
また、上記データマイニングツール200と、GUI210と、異常監視パラメータ設定ツール220の各機能部のそれぞれは、単独で、又は、複数が組み合わされて、情報処理装置として構成される。なお、制御装置1を、単一の情報処理装置により構成してもよい。
以下、PC2が備える各機能部の処理機能について説明する。
GUI210は、入力デバイスからオペレータが入力した操作データを取り込むと共に、制御ユニットにより生成された図形または画像を含む表示データを表示デバイスへ出力してその画面に表示させる機能を有する。なお、入力デバイスからの操作データの取り込みは、GUI以外の入力インタフェースを用いることもできる。
データマイニングツール200は、その機能部として、組込データベースクエリプログラム201と、データマイニング部202と、可視化部203とを有している。
組込データベースクエリプログラム201は、負荷情報取得部としての処理を実行するプログラムと、監視結果情報取得部としての処理を実行するプログラムとを有する。負荷情報取得部としての処理を実行するプログラムは、制御装置1の組込データベース180から、実行タスク抽出プログラム301により抽出された解析処理プログラムの種類を表す情報と、制御装置1の負荷情報を取得する。負荷情報には、上記負荷情報生成プログラム300により算出された、生産機器を制御する際の制御負荷量が含まれる。監視結果情報取得部としての処理を実行するプログラムは、制御装置1の組込データベース180から、監視結果を表す情報を取得する。
データマイニング部202および可視化部203は、この発明の一実施形態に係る機能を実現するためのプログラムとして、図4に示すように、処理負荷量算出プログラム2025と、余裕度算出プログラム2023と、解析精度算出プログラム2024とを有している。そしてデータマイニング部202および可視化部203は、上記処理負荷量算出プログラム2025、余裕度算出プログラム2023および解析精度算出プログラム2024の制御の下で、以下の(1) 〜(7) に記載する処理を実行する。なお、上記処理負荷量算出プログラム2025、余裕度算出プログラム2023および解析精度算出プログラム2024は、解析・制御性能比較部2021を構成する。
(1) 解析用プログラムの処理負荷量の算出
処理負荷量算出プログラム2025は、上記組込データベースクエリプログラム201により制御装置1から取得された解析処理プログラムの種類ごとに、当該解析処理プログラムが処理するデータ数(処理データ数)をもとに、当該解析処理プログラムが実行されたときのプロセッサ11aの処理負荷量を算出する。なお、上記解析処理プログラムによる処理負荷量の算出処理の具体例は後述する。
(2) 余裕度の算出および余裕度グラフの生成
余裕度算出プログラム2023は、上記組込データベースクエリプログラム201により制御装置1から取得された、生産機器の制御プログラムを実行したときのプロセッサ11aの制御負荷量に基づいて、制御装置1が生産機器の制御プログラムおよび生産機器の動作状態を解析するための解析処理プログラムを並行して実行したときの、解析用データ数に対するプロセッサ11aの処理の余裕度を算出する。そして、その算出結果を余裕度グラフとして表示させるための表示データを生成する。
なお、処理の余裕度は、先に述べたように、制御装置1のプロセッサ11aが、制御プログラム及び解析処理プログラムを実行して残った制御周期内の時間(残余時間)またはその割合として算出される。
可視化部203は、上記余裕度算出プログラム2023により生成された余裕度グラフの表示データに従い、余裕度グラフをGUI210により表示デバイスの画面に表示させる。
(3) データ解析精度の算出とトレードオフグラフの生成
解析精度算出プログラム2024は、上記組込データベースクエリプログラム201により取得された監視結果を表す情報に基づいて、制御装置1が解析処理プログラムを実行したときの、解析用データ数に対する監視結果の精度(データ解析精度)を算出する。そして、上記(2) にて算出された処理の余裕度と、上記データ解析精度との関係を表すグラフ(トレードオフグラフ)を表示するための表示データを生成する。
可視化部203は、トレードオフグラフの表示データに従い、解析用データ数に対する処理の余裕度およびデータ解析精度の変化を表すトレードオフグラフを、GUI210により表示デバイスの画面に表示させる。
(4) 異常検知パラメータの手動設定を受け付ける機能
手動設定を受け付ける機能は、オペレータが、上記表示された余裕度グラフまたはトレードオフグラフを参照して、入力デバイスにおいて異常検知パラメータを入力した場合に、当該異常検知パラメータをGUI210から受け取り、制御装置1の変数管理プログラム121に設定する。
なお、異常検知パラメータは、先に述べたように、解析用データを収集するための時間窓を指定する選別ルールと、正常/異常を判定するための判定ルールとを含む。
(5) 異常検知パラメータを半自動で設定する機能
この半自動設定機能は、上記(2) および(3) により計算された、制御装置1の処理の余裕度およびデータ解析精度と、オペレータが事前に指定した制御装置1の動作条件とに基づいて、上記異常検知パラメータの推奨値を作成し、当該推奨値をGUI210により表示デバイスの画面に表示させる。そして、上記表示された異常検知パラメータの推奨値の中から所望の値をオペレータが指定した場合に、当該指定された値を異常検知パラメータとして制御装置1の変数管理プログラム121に設定する。なお、上記制御装置1の動作条件については具体例を後述する。
(6) 異常検知パラメータを完全自動設定する機能
この完全自動設定機能は、上記(2) および(3) により計算された、制御装置1の処理の余裕度およびデータ解析精度と、オペレータが事前に指定したパラメータ設定条件とに基づいて、上記異常検知パラメータの最適値を計算し、当該最適値を異常検知パラメータの決定値として制御装置1の変数管理プログラム121に設定するものである。
(7) 異常検知パラメータの自動更新機能
この自動更新機能は、上記異常検知パラメータの設定後において、上記(2) および(3) により制御装置1の処理の余裕度およびデータ解析精度の計算処理を定期的に実行し、制御装置1に設定する異常検知パラメータの最適値を更新するものである。
データマイニング部202は、制御装置1の運用に先立ち、上記(4) 、(5) および(6) の処理のいずれかを、GUI210によるオペレータのモード指定に応じて選択的に実行する。一方、上記(7) については、制御装置1の運用開始後の制御および解析処理の実行期間において実行する。
異常監視パラメータ設定ツール220は、変数アクセスプログラム221を有している。変数アクセスプログラム221は、上記データマイニング部202の(4) 、(5) または(6) の処理において設定された異常検知パラメータを、制御装置1の変数管理プログラム121に設定する処理を行う。
(動作)
次に、以上のように構成された制御装置1およびPC2の処理動作を説明する。
(1)余裕度グラフの生成
制御装置1の実際の運用に先立ち、制御装置1に解析ルールとしての異常検知パラメータを設定するための一連の処理を実行する。
(1−1)解析処理プログラムの抽出
解析処理プログラムの抽出を行うための手法として、本実施形態では以下の2つの実施例を説明する。
(実施例1)
なお、解析処理プログラムとしては、所定の処理が一まとめとした機能ブロックとして記述されている場合と、処理が一つずつ記述されている場合があるが、実施例1では、所定の処理が一まとめとした機能ブロックを含むプログラムを用いる場合を前提として、手法を記載する。
具体的には、上記機能ブロックは、実行順序が到来すると、対応するライブラリプログラム(またはライブラリプログラムの対応するコード)を呼び出して実行することを指定するための命令である。言い換えれば、各機能ブロックに対応するプログラムの実体であるライブラリプログラムが予め用意されており、プロセッサは、プログラムに従って、ライブラリプログラムを適宜呼び出して実行する。
図7は、解析処理プログラムの抽出処理の実施例1を示すフローチャートである。
制御装置1で使用されるプログラムは、プログラムごとに分けられた状態で不揮発性メモリ11cのプログラム記憶領域に格納されている。図5はその一例を示すものである。不揮発性メモリ11cのプログラム記憶領域には、複数のプログラムPRG1,PRG2,PRG3,…が格納されている。これらのプログラムPRG1,PRG2,PRG3,…には、それぞれプログラムごとに複数の機能ブロックFB1,FB3,FB4,…、FB1,FB2,FB5,…、FB1,FB5,FB6,…が格納されている。
例えば、解析処理のタスクを実行するプログラムには、生産機器の動作を監視するセンサ7,8から計測データを選択的に収集するデータ収集プログラム、このデータ収集プログラムにより収集されたデータを組込データベース180に保存させるデータ保存プログラム、異常検知パラメータ123に設定された解析ルールに従い、上記組込データベース180に保存された計測データから特徴量を生成するプログラム116、異常検知パラメータ123に設定された判定ルールに従い、上記生成された特徴量に基づいて正常/異常を判定する判定プログラム等がある。これらのプログラムは、解析処理のために用意された機能ブロックとして記載される。
また不揮発性メモリ11cには、解析用機能ブロックリストが設けられている。解析用機能ブロックリストには、例えば図5に示すように、上記解析処理のタスクを実行する各プログラムが収容された機能ブロックFB2,FBi,FBk,…の識別情報が記憶されている。
負荷情報生成プログラム300内の実行タスク抽出プログラム301は、ステップS31においてプログラムの検索開始が検出されると、先ずステップS32によりプログラムを1つ検索し、上記解析用機能ブロックリストを参照して、上記検索されたプログラムが収容された機能ブロックが解析用機能ブロックであるか否かを判定する。図5の例では、プログラムPRG1の機能ブロックFB3とFB4が解析用機能ブロックであると判定される。
そして、解析用機能ブロックであれば、制御負荷量算出プログラム302は、ステップS33により上記検索されたプログラムの種類と処理データ数を取得し、ステップS34において、上記取得したプログラムの種類を表す情報を組込データベース180に記憶させる。
続いて実行タスク抽出プログラム301は、全てのプログラムを検索し終わったか否かをステップS35により判定し、まだ検索されていないプログラムが存在する場合には、ステップS32に戻って未検索のプログラムを1つ検索し、このプログラムが収容された機能ブロックが解析用機能ブロックであるか否かをする。そして、解析用機能ブロックであれば、制御負荷量算出プログラム302が、ステップS33においてプログラムの種類を表す情報を取得し、この取得された種類を表す情報をステップS34において組込データベース180に記憶させる。以後同様に、全てのプログラムを検索し終わるまで、上記ステップS32〜S35により、解析用プログラムの抽出処理と、その種類を表す情報を組込データベース180に記憶させる処理が繰り返し実行される。
なお、解析処理プログラムを抽出する手法としては、実行されるプログラムをコード抽出および解析し、これにより機能ブロックの利用状況を把握する手法も考えられる。機能ブロックを使用する場合、必ずデータの形式が解析用機能ブロックの名前(例えば文字列または識別フラグ)で宣言され、その履歴が保存される。従って、実行タスク抽出プログラム301は、上記保存された使用履歴をもとに解析用とされる全ての機能ブロックを検索する。これにより、全体のプログラムから解析用機能ブロックを抽出することができる。
(実施例2)
解析処理プログラムとしては、所定の処理が一まとめとした機能ブロックとして記述されている場合と、処理が一つずつ記述されている場合があるが、実施例2では、どちらの記述である場合にも対応できる手法を記載する。
図8は、解析処理プログラムの抽出を行うための手法の実施例2を示すフローチャートである。
不揮発性メモリ11cのプログラム記憶領域には、例えば図6に示すように、生産機器の制御プログラムを格納する記憶領域(MA0〜MAm)と、解析処理プログラムを格納する記憶領域(MAm+1〜MAn)と、その他のプログラムを格納する記憶領域(MAn+1〜MAw)が予め定義されている。そして、各プログラムはその機能に応じて上記各記憶領域に分けられて格納されている。
負荷情報生成プログラム300内の実行タスク抽出プログラム301は、ステップS41においてプログラムの検索開始が検出されると、先ずステップS42によりプログラムを一つ検索し、当該プログラムが格納された記憶領域を判定し、当該記憶領域が解析処理プログラムの記憶領域(MAm+1〜MAn)であるか否かを判定する。そして、解析処理プログラムの記憶領域(MAm+1〜MAn)であれば、制御負荷量算出プログラム302は、ステップS43により上記検索されたプログラムの種類を表す情報を取得し、ステップS44において、上記取得した解析処理プログラムの種類を表す情報を組込データベース180に記憶させる。
続いて実行タスク抽出プログラム301は、全てのプログラムを検索し終わったか否かをステップS45により判定し、まだ検索されていないプログラムが存在する場合には、ステップS42に戻って未検索のプログラムを1つ検索し、このプログラムが収容された記憶領域が解析処理プログラムの記憶領域(MAm+1〜MAn)であるか否かを判定する。そして、解析処理プログラムの記憶領域(MAm+1〜MAn)であれば、制御負荷量算出プログラム302が、ステップS43,S44において、プログラムの種類を表す情報を取得して、当該情報を組込データベース180に記憶させる。
以後同様に、全てのプログラムを検索し終わるまで、上記ステップS42〜S45により、解析用プログラムの抽出処理とその種類を表す情報を組込データベース180に記憶させる処理が繰り返し実行される。
(1−2)生産機器の制御用プログラムによる制御負荷量の算出
負荷情報生成プログラム300内の制御負荷量算出プログラム303は、上記抽出された解析プログラム以外のプログラムを選択し、制御装置1内の不揮発性メモリ11cから、制御装置1の機種(形式)および上記選択された制御プログラムの種類に対応するスペックを読み出す。そして、このスペックに基づいて、制御装置1が上記選択された制御プログラムを実行したときのプロセッサ11aの制御負荷量を算出し、算出された制御負荷量を組込データベース180に保存する。
スペックとは、先に述べたように制御装置1の機種(形式)ごとの単位時間当たりの処理能力と、制御プログラムの種類ごとの単位時間当たりの処理量を示す情報である。制御負荷量算出プログラム303は、上記単位時間当たりの処理能力と単位時間当たりの処理量とをもとに、生産機器を制御する際のプロセッサ11aの制御負荷量を算出する。
(1−3)負荷情報、解析処理プログラムの種類および監視結果を表す情報の取得
オペレータは、制御プログラムがインストールされた制御装置1に、PC2を接続する。
PC2は、データマイニングツール200の制御の下、先ず図9に示すステップS11において、組込データベースクエリプログラム201により、制御装置1の組込データベース180から、図4に示すように負荷情報および解析用プログラムの種類を表す情報を取り込む。この負荷情報には、負荷情報生成プログラム300により生成された、生産機器の制御プログラムを実行したときのプロセッサ11aの制御負荷量を表す情報が含まれる。
また、それと共にデータマイニングツール200は、組込データベースクエリプログラム201により、制御装置1の組込データベース180から監視結果を表す情報を取り込む。
(1−4)余裕度の算出と余裕度グラフの生成
データマイニングツール200は、次に解析・制御性能比較部2021が備える余裕度算出プログラム2023(図4に図示)の制御の下、ステップS12において、上記取得した負荷情報に含まれる制御負荷量および解析用プログラムの種類を表す情報に基づいて、制御装置1が解析処理プログラムと生産機器の制御プログラムを並行して実行したときの解析用データ数に対するプロセッサ11aの処理の余裕度を算出する。
(1−4−1)解析用プログラムに使用するデータ数毎の処理負荷量の算出
制御装置1の種類別に、これらの制御装置1において実行される解析用プログラムの種類と、当該プログラムの種類ごとの処理データ数に応じた処理時間との関係を示すデータテーブルを事前に作成しておく。
上記制御装置1の組込データベース180から取得された解析用プログラムの種類を表す情報をもとに処理データ数ごとの処理負荷量を算出し、処理データ数ごとに処理負荷量の総和を求め、PC2のメモリに記憶する。
図13は、制御装置A,Bについて、解析用プログラムの種類と、当該プログラムの種類ごとのデータ数に応じた処理負荷量(処理時間)との関係の一例を示したものである。この例では、制御装置Aにおいて、データ数を“10”とした場合、解析用機能ブロックFB3,FB4の処理時間はそれぞれ30μsec 、40μsec であるため、その合計値は70μsec となる。同様に、処理データ数ごとに処理時間の総和を求め、PC2のメモリに登録する。
なお、図13では、(1−1)解析処理プログラムの抽出の実施例1で解析用機能ブロックを抽出した場合の例で記載したが、(1−1)解析処理プログラムの抽出の実施例2で解析用プログラムを抽出した場合にはプログラムごとに処理負荷量との関係が算出される。
また、データ数ごとの処理負荷量の算出は、上記のように予め解析用プログラムの種類と当該プログラムの種類ごとのデータ数に応じた処理時間との関係を示すデータテーブルを事前に作成しておくことに限定されるものではなく、例えば、解析用プログラムごとにデータ数を変化させた際の実際の解析に要した処理時間を求めて関係式を作成し、その関係式を用いてその間の各データ数における制御装置1の処理時間を計算するシミュレーションにより行うことができる。
(1−4−2)処理の余裕度の算出と余裕度グラフの作成
処理の余裕度は、制御装置1のプロセッサ11aが、制御周期内で処理するように決められたタスク(解析処理プログラムの実行により実現される第1の実行タスクと、生産機器の制御プログラムの実行により実現される第2の実行タスク)を実行して残った制御周期内の時間(残余時間)またはその割合として算出される。上記(1−4−1)の処理で求めたデータ数ごとの処理負荷量(処理時間)と、制御装置1の組込データベース180から取得した制御プログラムの制御負荷量とから、データ数ごとの余裕度を算出する。
余裕度算出プログラム2023は、続いてステップS13において、上記処理の余裕度の算出結果を余裕度グラフとして表示させるための情報を生成する。
余裕度算出プログラム2023は、次にステップS14において、上記生成された余裕度グラフの表示データを可視化部203に渡す。可視化部203は、上記余裕度算出プログラム2023により生成された余裕度グラフの表示データに従い、例えば、解析用データ数を横軸に配置すると共に、上記計算された制御装置1の処理の余裕度を縦軸に配置し、解析用データ数に対する処理の余裕度の変化を表す余裕度グラフをGUI210により表示画面に表示させる。図10のXはその表示結果の一例を示すものである。
(1−5)データ解析精度の算出とトレードオフグラフの生成
余裕度グラフを作成するだけでなく、解析用データ数に対する監視結果の精度を算出して、監視結果の精度と余裕度とを共にグラフ表示できるようにしてもよい。その際の実施例を下記の通り記載する。データマイニングツール200は、解析・制御性能比較部2021が備える解析精度算出プログラム2024の制御の下、先ずステップS15において、上記制御装置1から取り込んだ監視結果を表す情報に基づいて、制御装置1が解析処理プログラムを実行したときの、解析用データ数に対する監視結果の精度(データ解析精度)を算出する。
データ解析精度は、例えば、制御装置1の制御ユニット11が解析処理プログラムを実行したときに、ユーザが定義した解析の目的が達成される確率として定義される。ユーザが定義した解析の目的が達成される確率とは、例えば誤検知率として表される。すなわち、「事前に正常だと定義したデータは正常、異常だと定義したデータは異常と完璧に判定できる」ことを解析精度が高い状態とし、逆に解析するために用意したデータ数が少ない等の影響で「正常を異常と読み違える、或いは異常を正常と読み違える」ことを解析精度が低い状態と定義する。
解析精度算出プログラム2024は、続いてステップS16において、上記余裕度算出プログラム2023により算出された処理の余裕度と、上記データ解析精度との関係を表すグラフ(トレードオフグラフ)の表示データを生成する。トレードオフグラフの生成は、例えば、取得データ数を予め設定された最小値から最大値まで変化させ、その間の各値における制御装置1の処理の余裕度と解析精度とを計算するシミュレーションにより行うことができる。
解析精度算出プログラム2024は、次にステップS17により、上記生成されたトレードオフグラフの表示データを可視化部203に渡す。この結果可視化部203は、上記トレードオフグラフの表示データに従い、例えば、解析用データ数を横軸に配置すると共に、処理の余裕度およびデータ解析精度を縦軸として、解析用データ数に対する処理の余裕度およびデータ解析精度の変化を表すトレードオフグラフを、GUI210により表示デバイスの画面に表示させる。
図11は、上記生成されたトレードオフグラフの一例を示すもので、Xが処理の余裕度を、Yが解析精度をそれぞれ示している。また、DLは、制御装置1が解析処理プログラムを実行したときの解析用データ数に応じた処理の余裕度に対し許容される値を示すものである。なお、DLは、出荷時に予め指定の値に設定するか、またはユーザが要求する余裕度に合わせて任意に設定される。
なお、制御装置1の機種または形式の番号等に対応付けてその制御負荷の度合いを表す情報を記憶したメモリテーブルを記憶ユニットに設けておき、オペレータが上記制御装置1の形式番号を指定入力することで、制御装置1の制御負荷の度合いを表す情報を選択指定するようにしてもよい。
さらに、PC2が、機種の異なる複数の制御装置1からそれぞれ各解析処理プログラムを実行したときのプロセッサ11aの処理負荷量を表す情報を取得する。そして、各制御装置1と各解析処理プログラムの処理負荷量を表す情報との全ての組み合わせについて、上記余裕度の算出と余裕度グラフの生成処理、およびデータ解析精度の算出とトレードオフグラフの生成処理を行い、それぞれ余裕度グラフおよびトレードオフグラフを生成するようにしてもよい。この場合、生成された全ての余裕度グラフおよびトレードオフグラフの中から、予め設定された条件に基づいて検討の余地があるもののみを選択し、その表示データを表示デバイスの画面に表示させるようにする。このようにすると、オペレータは構成しようとする生産システムにとって、最適または使用可能な制御装置1と解析用プログラムとの組み合わせを選択することが可能となる。
(2)異常検知パラメータの設定
PC2は、データマイニングツール200の制御の下、上記トレードオフグラフのデータを参照して、制御装置1に対し異常検知パラメータを設定するための処理を以下のように実行する。
オペレータは、制御装置1の動作条件と、異常検知パラメータの決定モードを、PC2にその入力デバイスにより入力する。制御装置1の動作条件としては、例えば、「制御タスク優先」、「解析タスク優先」、「制御タスク/解析タスク均等」の3種類があり、「制御タスク優先」および「解析タスク優先」についてはその度合いを指定する。また、異常検知パラメータの決定モードは、異常検知パラメータを設定する方法を指定するもので、「手動設定」、「推奨設定」、「完全自動設定」のいずれかを指定する。なお、「手動設定」を指定する場合には、動作条件の指定は必ずしも必要ではない。
PC2は、データマイニングツール200の制御の下、ステップS18において、上記オペレータが入力デバイスにおいて入力した動作条件を取り込み、記憶ユニットに保存する。そしてステップS19において、上記入力された異常検知パラメータの決定モードがいずれであるかを判定し、その判定結果に応じて以下のよう設定処理を選択的に実行する。
(2−1)手動による設定
オペレータは、PC2に対し異常検知パラメータを手動操作により入力する。例えば、表示されたトレードオフグラフを参照して、先ず取得データ数を決める。続いてオペレータは、この取得データ数に応じた選別ルールを指定入力する。選別ルールは、先に述べたように解析用データを収集するための解析区間を表す時間窓であり、例えば図12に示すように、計測されたRAWデータ(波形データ)の周期の時間長Cと、収集を開始する開始位置Sと、収集するデータ取得範囲Wとにより表される。周期の時間長Cは、例えば時間により指定される。開始位置Sは、周期の起点からのサンプリング数のカウント値、或いは絶対時刻により指定される。データ取得範囲Wは、時間、データ量またはRAWデータ値の振る舞いにより指定される。
なお、上記選別ルールの指定入力に際しては、制御装置1において監視対象の変数に対応するRAWデータから検出された変数の挙動、つまり周期性および振る舞いを一次解析した情報を、PC2が制御装置1から取得してGUI210により表示デバイスの画面に表示させ、オペレータがこの表示された一次解析情報を参照して解析区間をマウスの操作等により指定入力するように構成するとよい。
またオペレータは、PC2に対し、正常/異常の判定ルールを入力する。判定ルールについては、正常値と異常値とを判定するためのしきい値を指定する。
PC2は、データマイニングツール200の異常検知パラメータ設定部2022が、ステップS20において、上記オペレータが入力デバイスにおいて入力した選別ルールおよび判定ルールをGUI210から取り込み、記憶ユニット内のルール記憶領域に保存する。そしてステップS24において、異常監視パラメータ設定ツール220により、上記保存された各ルールを例えば図4に示すように異常検知パラメータとして制御装置1へ送り、変数管理プログラム120に設定する。
(2−2)推奨値による設定
異常検知パラメータの決定モードとして「推奨設定」モードが指定されている場合、PC2のデータマイニング部202は、先ずステップS21において、上記ステップS16において算出されたトレードオフグラフのデータ(デッドラインDLを表す情報を含む)と、上記ステップS18により指定された制御装置1の動作条件に応じて、選別ルールの推奨値を算出する。
例えば、制御装置1の動作条件として「制御タスク優先」が指定されている場合には、例えば図11に示すP1に対応する取得データ数を選択する。そして、この選択した取得データ数に応じて、選別ルールの各パラメータ値、つまりRAWデータ(波形データ)の周期の時間長C、収集を開始する開始位置S、および収集するデータ取得範囲Wの推奨値を設定する。
一方、制御装置1の動作条件として「解析タスク優先」が指定されている場合には、例えば図11に示すP2に対応する取得データ数を選択し、この選択した取得データ数に応じて、選別ルールの各パラメータ値、つまりRAWデータ(波形データ)の周期の時間長C、収集を開始する開始位置S、および収集するデータ取得範囲Wの推奨値を設定する。
また、制御装置1の動作条件として「制御タスク/解析タスク均等」が指定されている場合には、例えば制御装置1の処理の余裕度を示す曲線Xと、解析精度を示す曲線Yとの交点に対応する取得データ数を選択する。この選択した取得データ数に応じて、選別ルールの各パラメータ値、つまりRAWデータ(波形データ)の周期の時間長C、収集を開始する開始位置S、および収集するデータ取得範囲Wの推奨値を設定する。
そしてデータマイニング部202は、異常のように設定された選別ルールの各パラメータの推奨値を、GUI210により表示デバイスの画面に表示させる。
この状態で、オペレータが上記表示された選別ルールの推奨値の中から所望の値を入力デバイスにより指定入力したとする。そうするとデータマイニング部202は、上記指定された推奨値をステップS23により取り込み、記憶ユニットに保存する。そしてPC2は、ステップS24において、異常監視パラメータ設定ツール220により、上記保存された選別ルールを、別途オペレータが指定入力した判定ルールと共に、異常検知パラメータとして制御装置1へ送り、変数管理プログラム120に設定する。
(2−3)完全自動による設定
異常検知パラメータの決定モードとして「完全自動設定」モードが指定されている場合、PC2のデータマイニング部202は、ステップS22において、上記ステップS16において算出されたトレードオフグラフのデータ(デッドラインDLを表す情報を含む)と、上記ステップS18により指定された制御装置1の動作条件に応じて、選別ルールの最適値を算出し、この算出された最適値を選別ルールの各パラメータの決定値として記憶ユニットに保存する。なお、この選別ルールの最適値も、上記した「推奨値」を算出する場合と同様の手法により算出できる。
そしてPC2は、ステップS24において、異常監視パラメータ設定ツール220により、上記保存された選別ルールを、別途オペレータが指定入力した判定ルールと共に、異常検知パラメータとして制御装置1へ送り、変数管理プログラム120に設定する。
(2−4)制御装置1の解析タスクの変更
オペレータが、解析精度を最優先にして、例えば図11に示すように、制御装置1の処理の余裕度がデッドラインDL未満となるような取得データ数P3を選択したとする。この取得データ数P3に対応する選別ルールをそのまま制御装置1に設定すると、制御装置1の制御タスクの実行に処理遅延等の悪影響が発生する。
そこで、この場合PC2は、上記取得データ数P3の選択指定を拒否する旨のメッセージを表示デバイスの画面に表示させるか、または制御装置1の解析タスクの負荷の変更を行う。
例えば、PC2のデータマイニングツール200は、記憶ユニットの解析用アルゴリズム情報のメモリテーブルから、解析処理量の少ない解析処理アルゴリズムを選択し直す。そして、この選択し直した解析用アルゴリズムを使用した場合の余裕度グラフまたはトレードオフグラフを生成し、この生成された余裕度グラフまたはトレードオフグラフをGUI210により表示画面に表示させる。またそれと共にデータマイニングツール200は、上記生成し直した余裕度グラフまたはトレードオフグラフのデータに基づいて選別ルールを設定し直し、当該選別ルールを制御装置1に設定する。
このようにすることで、制御装置1の制御タスクがデッドラインDL未満にならない範囲で解析精度を優先した異常検知ルールを自動設定することが可能となる。
(3)制御装置1の運用開始後の処理
(3−1)監視
制御装置1は、生産機器の動作中に、各センサ7,8により計測される監視対象の変数に対応するRAWデータを入力プログラム140により取得する。そして、特徴量生成プログラム116の制御の下、上記RAWデータからその特徴量を生成する処理を以下のように実行する。
すなわち、特徴量生成プログラム116は、先ず変数管理プログラム120から異常検知パラメータ123を取り込み、当該異常検知パラメータ123に含まれる解析用データの選別ルールに従い、上記RAWデータ(波形データ)から、上記選別ルールにより指定された時間窓、つまり図12に示した周期の時間長Cと、収集の開始位置Sと、データ取得範囲Wとにより表される区間(図12において網掛け表示されている区間)のデータを選択的に収集する。この結果、RAWデータの全区間を監視対象として収集する場合に比べ解析用データの取得点数が限定され、制御装置1の制御タスクへの影響は抑制される。
次に特徴量生成プログラム116は、予め設定された特徴量生成ルールに従い、上記収集された区間の解析用データの平均値または最大値を算出し、この算出された平均値または最大値を上記RAWデータの特徴量として制御装置1内のメインメモリ11dに保存する。
異常監視エンジン190は、上記生成された特徴量を異常監視エンジン・インタフェース113を介して取得する。そして、異常検知部192は、上記取得した特徴量に対し、上記組込データベース180に記憶された異常度算出結果を参照して異常監視処理を行う。そして、その監視結果を組込データベース180に記憶させると共に、上記異常の監視結果をもとにイベントログ193を生成する。
(3−2)異常検知パラメータの更新
以上述べた制御装置1の運用中において、PC2は制御装置1から負荷情報を定期的に取得し、この負荷情報に含まれる制御負荷量と処理負荷量とに基づいて、制御装置1の処理の余裕度およびデータ解析精度を計算する。そしてPC2は、その計算結果とオペレータが指定した条件に基づいて制御装置1に設定する異常検知パラメータを更新する処理を行う。更新された異常検知パラメータは、制御装置1の変数管理プログラム120に通知される。
なお、以上述べた監視動作を実行する前、或いは実行中に、監視対象の計測データの異常監視を行うことも可能である。以下に、その処理手順と処理内容の一例を示す。
(3−3)RAWデータの収集
制御装置1は、先ず異常度算出段階において、入力プログラム140の制御の下、変数管理プログラム120で管理されている監視対象のユーザ変数およびデバイス変数に対応するRAWデータを、センサ7,8から取り込む。
(3−4)特徴量の生成
制御装置1は、特徴量生成プログラム116において、センサ7,8から受信した、監視対象のユーザ変数およびデバイス変数に対応するRAWデータから、特徴量を生成する。このときの特徴量の生成は、変数管理プログラム120により予め定義されている特徴量生成ルールに従い行われる。つまり、事前に設定された特徴量生成ルールに従い、例えば平均値または最大値が求められる。
(3−5)監視対象の計測データの異常監視
上記特徴量生成プログラム116において監視対象の各変数に対応する測定データの特徴量が生成されると、当該生成された特徴量を異常監視エンジン190が異常監視エンジン・インタフェース113を介して取得する。異常監視エンジン190は、異常度算出部191において、上記取得した特徴量をもとに異常検知のための異常監視処理を行って、その異常度算出結果を組込データベース180に記憶させる。
PC2は、データマイニングツール200の制御の下、組込データベースクエリプログラム201により、上記組込データベース180から上記異常度算出結果を取得する。そしてデータマイニング部202により、上記取得された監視結果をもとに異常判定ルールを決定する。続いてPC2は、異常監視パラメータ設定ツール220の制御の下、上記決定された異常判定ルールを制御装置1へ送信する。制御装置1は、変数管理プログラム120において、異常検知パラメータに含まれる判定ルールを上記PC2から送られた異常判定ルールに更新する。
(効果)
以上詳述したように一実施形態では、制御装置1において、負荷情報生成プログラム300に含まれる実行タスク抽出プログラム301により、全てのプログラムの中から、解析用データの数に依存する実行タスクを実行する解析処理プログラムを抽出し、その種類を取得する。またそれと共に、制御負荷量算出プログラム302により、制御装置1の機種(形式)および選択された制御プログラムの種類に対応するスペックに基づいて、制御装置1が上記制御プログラムを実行したときのプロセッサ11aの制御負荷量を算出する。そして、PC2において、制御装置1から上記抽出された解析用プログラムの種類を表す情報と、上記算出された制御負荷量を取得し、上記解析用プログラムの種類ごとにデータ数ごとの処理負荷量を算出する。そして、上記算出された処理負荷量および上記取得された制御負荷量に基づいて、制御装置1の処理の余裕度を解析用データの数ごとに計算する。そして、その計算結果に基づいて、解析用データの取得点数に対する余裕度の変化を表す余裕度グラフを生成し、GUI210により表示するようにしている。
従って、一実施形態によれば、解析用プログラムの種類によって処理データ数ごとの処理時間が異なる場合でも、解析用プログラムの種類別に処理データ数ごとの処理負荷量を算出することができる。また、解析用プログラムの種類と処理データ数ごとの処理負荷量(処理時間)との関係が制御装置1の種類により異なる場合でも、制御装置1の種類別に、解析用プログラムの種類ごとに処理データ数に応じた処理負荷量を算出することができる。このため、オペレータは解析用プログラムの種類ごとに解析用データ数に応じた制御装置1の処理の余裕度を把握することができ、これにより許容される余裕度内でより多くの解析用データを取得してその解析処理を制御装置1に実行させるように、制御装置1の異常検知パラメータを設定することが可能となる。
また一実施形態では、制御装置1において得られた監視結果を表すデータをもとに計測データの解析精度をさらに算出し、解析用データの取得点数に対する上記余裕度と上記データ解析精度の変化の関係を表すトレードオフグラフを生成してGUI210により表示するようにしている。
従って、オペレータはPC2において表示されたトレードオフグラフにより、制御装置1における処理の余裕度とデータ解析精度との関係を確認することができ、この関係をもとに、制御装置1が生産機器の異常検知を行うための解析処理を行う上で適切な異常検知パラメータを容易に設定することが可能になる。
また、制御装置1の処理の余裕度およびデータ解析精度と、オペレータが事前に指定した制御装置1の動作条件とをもとに、選別ルールのパラメータの推奨値を求めてこれを表示し、表示された推奨値の中から所望の値をオペレータが選択指定できるモードを備えている。従って、オペレータは熟練を要することなく、常に自身が希望する適切な異常検知パラメータを設定することが可能となる。
さらに、制御装置1の処理の余裕度およびデータ解析精度と、オペレータが事前に指定したパラメータ設定条件とに基づいて、異常検知パラメータの最適値を計算し、当該異常検知パラメータの最適値を制御装置1の変数管理プログラム121に設定する完全自動設定モードも備えている。従って、この完全自動設定モードを選択することで、オペレータは特に設定操作を行う必要がなくなる。
しかも、制御装置1に対し異常検知パラメータを設定した後の制御装置1の運用期間中に、制御装置1の処理の余裕度およびデータ解析精度の計算処理を定期的に実行し、制御装置1に設定する異常検知パラメータの最適値を更新するようにしている。従って、制御装置1の実際の運用時における制御装置1の制御負荷量またはデータ解析処理の処理負荷量が、運用前のシミュレーション値とは異なるような場合でも、異常検知パラメータを自動的に再調整することができる。また、制御装置1の運用期間中に、例えばアクチュエータ5,9が交換されてデバイス変数が変更になったり、ユーザプログラムの更新等によりユーザ変数が一部変更になった場合でも、これらの変更に応じて異常検知パラメータを自動的に更新することが可能となる。
[その他の実施形態]
前記一実施形態では、支援装置の機能をPC2に設けた場合を例にとって説明した。しかし、支援装置の機能を制御装置1に設けてもよい。また、支援装置としてはPC以外にHuman Machine Interface(HMI)を用いてもよく、また支援装置をWebサーバにより構成してもよい。
また、前記一実施形態では、制御プログラムの実行による処理ユニットの制御負荷量の算出処理と、全てのプログラムの中から解析用プログラムを抽出する処理を、制御装置1内で行う場合を例にとって説明した。しかし、上記各処理を支援装置としてのPC2内で行うようにしてもよい。
また、応用例として、産業用制御装置が実行する解析用プログラムの抽出処理、制御負荷量の算出処理を、支援装置で行うようにすることも可能である。この場合、支援装置としてのPC2は、例えば、制御装置1から、解析用プログラムのリストを表す情報またはその実行履歴を表す情報と、制御装置1および制御プログラムのスペックを表す情報を取得し、これらの情報をもとに解析用プログラムの抽出処理と、当該解析用プログラムの種類別のデータ数に応じた処理負荷量の算出処理と、上記制御プログラムによる制御負荷量の算出処理を実行する。
その他、産業用制御装置の種類や構成、支援装置の種類やその機能等についても、この発明の要旨を逸脱しない範囲で種々変形して実施可能である。
要するにこの発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られるものではない。
(付記1)
制御対象の動作を制御するための処理を実行する第1の実行タスクと、予め設定された実行ルールに従い前記制御対象の動作に係る解析用データを取得して前記動作を解析する処理を実行する第2の実行タスクとを、共通の処理ユニットにより実行する産業用制御装置と、
当該産業用制御装置と共に使用される支援装置と
を具備し、
前記産業用制御装置は、前記処理ユニットとしてハードウェアプロセッサとメモリとを有し、
前記産業用制御装置は、前記ハードウェアプロセッサにより、
前記第1の実行タスクによる前記処理ユニットの制御負荷量を算出し、
前記第1および第2の各実行タスクの中から、前記第2の実行タスクを抽出し、
前記抽出された第2の実行タスクの種類と、前記解析用データの数を取得し、当該取得された第2の実行タスクの種類と解析用データ数とから、前記抽出された第2の実行タスクによる前記ハードウェアプロセッサの処理負荷量を算出するように構成され、
前記支援装置は、ハードウェアプロセッサおよびメモリを有し、
前記支援装置は、前記ハードウェアプロセッサにより、
前記産業用制御装置から前記算出された制御負荷量および処理負荷量を表す情報を取得し、
前記取得された第2の実行タスクの種類別に、前記解析用データの数ごとに前記処理ユニットの処理負荷量を算出し、
前記取得された制御負荷量および処理負荷量を表す情報に基づいて、前記ハードウェアプロセッサが前記第1および第2の各実行タスクを実行したときに残る処理能力の度合いを示す処理の余裕度を前記解析用データの数ごとに算出し、
前記解析用データの数ごとに算出された処理の余裕度を表す情報を表示可能な情報として出力するように構成される、
産業用制御システム。
(付記2)
制御対象の動作を制御するための処理を実行する第1の実行タスクと、予め設定された実行ルールに従い前記制御対象の動作に係る解析用データを取得して前記動作を解析する処理を実行する第2の実行タスクとを、共通の処理ユニットにより実行し、かつ前記第1の実行タスクによる前記処理ユニットの制御負荷量を算出すると共に、前記第1および第2の各実行タスクの中から前記第2の実行タスクを抽出して、当該抽出された第2の実行タスクの種類と前記解析用データの数を取得して、当該取得された第2の実行タスクの種類と解析用データ数とから前記抽出された第2の実行タスクによる前記処理ユニットの処理負荷量を算出する機能を有する産業用制御装置と共に使用される支援装置であって、前記支援装置は、ハードウェアプロセッサと、メモリとを有し、
前記ハードウェアプロセッサは、
前記産業用制御装置から前記算出された制御負荷量および処理負荷量を表す情報を取得し、
前記取得された第2の実行タスクの種類別に、前記解析用データの数ごとに前記処理ユニットの処理負荷量を算出し、
前記取得された制御負荷量および処理負荷量を表す情報に基づいて、前記処理ユニットが前記第1および第2の各実行タスクを実行したときに残る処理能力の度合いを示す処理の余裕度を前記解析用データの数ごとに算出し、
前記解析用データの数ごとに算出された処理の余裕度を表す情報を表示可能な情報として出力するように構成される、
支援装置。
(付記3)
制御対象の動作を制御するための処理を実行する第1の実行タスクと、予め設定された実行ルールに従い前記制御対象の動作に係る解析用データを取得して前記動作を解析処理を実行する第2の実行タスクとを、少なくとも1つのハードウェアプロセッサおよびメモリを有する共通の処理ユニットにより実行する産業用制御装置と、当該産業用制御装置と共に使用されかつ少なくとも1つのハードウェアプロセッサおよびメモリを有する支援装置とが、それぞれ実行する制御支援方法であって、
前記産業用制御装置が、前記少なくとも1つのハードウェアプロセッサおよびメモリを用いて、前記第1の実行タスクによる前記処理ユニットの制御負荷量を算出する過程と、
前記産業用制御装置が、前記少なくとも1つのハードウェアプロセッサおよびメモリを用いて、前記第1および第2の各実行タスクの中から、前記第2の実行タスクを抽出する過程と、
前記産業用制御装置が、前記少なくとも1つのハードウェアプロセッサおよびメモリを用いて、前記抽出された第2の実行タスクの種類と、前記解析用データの数を取得し、当該取得された第2の実行タスクの種類と解析用データ数とから、前記抽出された第2の実行タスクによる前記処理ユニットの処理負荷量を表す情報を算出する過程と、
前記支援装置が、前記少なくとも1つのハードウェアプロセッサおよびメモリを用いて、前記産業用制御装置から前記算出された制御負荷量および処理負荷量を表す情報を取得する過程と、
前記支援装置が、前記少なくとも1つのハードウェアプロセッサおよびメモリを用いて、前記取得された第2の実行タスクの種類別に、前記解析用データの数ごとに前記処理ユニットの処理負荷量を算出する過程と、
前記支援装置が、前記少なくとも1つのハードウェアプロセッサおよびメモリを用いて、前記取得された制御負荷量および処理負荷量を表す情報に基づいて、前記処理ユニットが前記第1および第2の各実行タスクを実行したときに残る処理能力の度合いを示す処理の余裕度を前記解析用データの数ごとに算出する過程と、
前記支援装置が、前記少なくとも1つのハードウェアプロセッサおよびメモリを用いて、前記解析用データの数ごとに算出された処理の余裕度を表す情報を表示可能な情報として出力する過程と
を具備する制御支援方法。
1…制御装置、2…PC、3…信号ケーブル、4…フィールドネットワーク、
5,9…アクチュエータ、6…リモートIOターミナル、7,8…センサ、
10…ローカルバス、11…制御ユニット、11a…プロセッサ、
11b…チップセット、11c…不揮発性メモリ、11d…メインメモリ、
11e…システムタイマ、11f…制御用システムバスコントローラ、
11g…フィールドネットワークコントローラ、
11h…フィールドネットワークコネクタ、11i…制御用システムバスコネクタ、
11j…USBコネクタ、11f1…制御用システムバス制御回路、
11g1…フィールドネットワーク制御回路、11f2,11g2…DMA制御回路、
11f3,11g3…バッファメモリ、12…IOユニット、14…電源ユニット、
15…制御用システムバス、61…通信カプラ、62…IOユニット、
63…リモートIOターミナルバス、100…制御用エンジン、
110…制御プログラム、112…組込データベース用書込みプログラム、
113…異常監視エンジン・インタフェース、
114…異常度算出要求プログラム、115…監視要求プログラム、
116…特徴量生成プログラム、117…シリアライズ通信プログラム、
120…変数管理プログラム、121…システム変数、
122…ユーザ変数およびデバイス変数、123…異常検知パラメータ、
130…スケジューラプログラム、140…入力プログラム、
150…出力プログラム、160…ローカルバス、170…フィールドバス、
180…組込データベース、190…異常監視エンジン、
191…異常度算出部、192…異常検知部、193…イベントログ、
200…データマイニングツール、201…組込データベースクエリプログラム、
202…データマイニング部、203…可視化部、210…GUI、
220…異常監視パラメータ設定ツール、221…変数アクセスプログラム、
222…選別ルール、300…負荷情報生成プログラム、
301…実行タスク抽出プログラム、302…制御負荷量算出プログラム、
2021…解析・制御性能比較部、2022…異常検知パラメータ設定部、
2023…余裕度算出プログラム、2024…解析精度算出プログラム、
2025…処理負荷量算出プログラム。

Claims (14)

  1. 制御対象の動作を制御するための処理を実行する第1の実行タスクと、前記制御対象の動作に係る解析用データを取得して前記動作を解析する処理を実行する第2の実行タスクとを、実行する共通の処理ユニットと、
    前記第1の実行タスクによる前記処理ユニットの制御負荷量を算出する第1の算出部と、
    前記第1および第2の各実行タスクの中から、前記第2の実行タスクを抽出する抽出部と
    を備える産業用制御装置と、
    前記産業用制御装置から、前記算出された制御負荷量および前記抽出された第2の実行タスクの種類を表す情報を取得する取得部と、
    前記取得された第2の実行タスクの種類別に、前記解析用データの数ごとに前記処理ユニットの処理負荷量を算出する第2の算出部と、
    前記取得された制御負荷量および前記算出された処理負荷量を表す情報に基づいて、前記処理ユニットが前記第1および第2の各実行タスクを実行したときに残る処理能力の度合いを示す処理の余裕度を前記解析用データの数ごとに算出する余裕度算出部と、
    前記算出された処理の余裕度を表す情報を出力する出力制御部と
    を備える支援装置と
    を具備する産業用制御システム。
  2. 前記抽出部は、前記第1および第2の各実行タスクを実行させるために用意された複数のプログラムの少なくとも一部が機能ブロックで記述されている場合に、前記第1および第2の各実行タスクを実行させるプログラムが予め定められた機能ブロックに該当するものかを判定することにより、前記第2の実行タスクを抽出する、請求項1に記載の産業用制御システム。
  3. 前記抽出部は、前記第1および第2の各実行タスクを実行させるために用意された複数のプログラムが、前記第1の実行タスクに関連付けられた第1の記憶領域と、前記第2の実行タスクに関連付けられた第2の記憶領域とに分けてそれぞれ記憶されている場合に、前記実行タスクを実行させるプログラムが前記第1および第2の記憶領域のいずれに記憶されたものかを判定することにより、前記第2の実行タスクを抽出する、請求項1に記載の産業用制御システム。
  4. 制御対象の動作を制御するための処理を実行する第1の実行タスクと、予め設定された実行ルールに従い前記制御対象の動作に係る解析用データを取得して前記動作を解析する処理を実行する第2の実行タスクとを、共通の処理ユニットにより実行し、かつ前記第1の実行タスクによる前記処理ユニットの制御負荷量を算出すると共に、前記第1および第2の各実行タスクの中から前記第2の実行タスクを抽出する処理を行う産業用制御装置と共に使用される支援装置であって、
    前記産業用制御装置から、前記算出された制御負荷量および前記抽出された第2の実行タスクの種類を表す情報を取得する取得部と、
    前記取得された第2の実行タスクの種類別に、前記解析用データの数ごとに前記処理ユニットの処理負荷量を算出する算出部と、
    前記取得された制御負荷量および前記算出された処理負荷量を表す情報に基づいて、前記処理ユニットが前記第1および第2の各実行タスクを実行したときに残る処理能力の度合いを示す処理の余裕度を前記解析用データの数ごとに算出する余裕度算出部と、
    前記算出された余裕度を表す情報を出力する出力制御部と
    を具備する支援装置。
  5. 前記算出部は、前記抽出された第2の実行タスクの種類ごとに、解析用データ数と当該解析用データ数ごとの処理時間とから、前記第2の実行タスクの処理負荷量を前記解析用データの数ごとに算出する、請求項4に記載の支援装置。
  6. 前記算出された処理の余裕度と、前記処理ユニットが前記第2の実行タスクを実行したときに当該第2の実行タスクの目的が達成される確率を示す精度との関係を、前記第2の実行タスクが取得する解析用データ数の関数として表す関係情報を生成する関係情報生成部を、さらに具備し、
    前記出力制御部は、前記生成された関係情報を表示可能な情報として出力する、請求項4に記載の支援装置。
  7. 前記関係情報生成部は、
    機種が異なる複数の産業用制御装置の各々における処理の余裕度を表す情報を記憶する第1のメモリテーブルと、
    処理アルゴリズムが異なる複数の第2の実行タスクの各々の処理負荷量を表す情報を記憶する第2のメモリテーブルと、
    前記第1および第2のメモリテーブルに記憶された各情報に基づいて、前記複数の産業用制御装置と前記複数の第2の実行タスクとの全ての組み合わせについて、それぞれ前記関係情報を生成する生成処理部と
    を備え、
    前記出力制御部は、前記生成された複数の関係情報の中から、予め設定された条件を満たす関係情報を選択し、当該選択された関係情報を表示可能な情報として出力する、請求項6に記載の支援装置。
  8. 前記生成された関係情報と、前記第1の実行タスクと前記第2の実行タスクとの優先度合いを表す動作条件とに基づいて、当該動作条件に対応する前記第2の実行タスクの実行ルールの推奨値を生成する推奨値生成部を、さらに具備し、
    前記出力制御部は、前記生成された実行ルールの推奨値を表示可能な情報として出力する、請求項6に記載の支援装置。
  9. 前記生成された関係情報に基づいて、前記第2の実行タスクの実行ルールの決定値を生成する決定値生成部と、
    前記決定値生成部により生成された実行ルールの決定値を、前記産業用制御装置が実行する前記第2の実行タスクの実行ルールとして設定する実行ルール設定部と
    を、さらに具備する請求項6に記載の支援装置。
  10. 前記決定値生成部は、前記生成された関係情報に基づいて、前記第2の実行タスクの実行ルールの決定値を生成し直す処理を、さらに実行し、
    前記実行ルール設定部は、前記産業用制御装置が実行する前記第2の実行タスクの実行ルールを、前記決定値生成部により生成し直された実行ルールの決定値により更新する処理を、さらに実行する請求項9に記載の支援装置。
  11. 前記実行ルールは、前記第2の実行タスクが処理対象とするデータの周期の時間長を表す情報と、前記処理対象とするデータの処理対象区間の開始位置を表す情報と、前記処理対象区間の範囲を表す情報とを含む、請求項4乃至10のいずれかに記載の支援装置。
  12. 制御対象の動作を制御するための処理を実行する第1の実行タスクと、前記制御対象の動作に係る解析用データを取得して前記動作を解析する処理を実行する第2の実行タスクとを、プロセッサおよびメモリを有する共通の処理ユニットにより実行する産業用制御装置と、当該産業用制御装置と共に使用されかつプロセッサおよびメモリを有する支援装置とが、実行する制御支援方法であって、
    前記産業用制御装置が、前記第1の実行タスクによる前記処理ユニットの制御負荷量を算出する過程と、
    前記産業用制御装置が、前記第1および第2の各実行タスクの中から、前記第2の実行タスクを抽出する過程と、
    前記支援装置が、前記産業用制御装置から前記算出された制御負荷量および前記抽出された第2の実行タスクの種類を表す情報を取得する過程と、
    前記支援装置が、前記取得された第2の実行タスクの種類別に、前記解析用データの数ごとに前記処理ユニットの処理負荷量を算出する過程と、
    前記支援装置が、前記取得された制御負荷量および前記算出された処理負荷量を表す情報に基づいて、前記処理ユニットが前記第1および第2の各実行タスクを実行したときに残る処理能力の度合いを示す処理の余裕度を前記解析用データの数ごとに算出する過程と、
    前記支援装置が、前記解析用データの数ごとに算出された処理の余裕度を表す情報を出力する過程と
    を具備する制御支援方法。
  13. 請求項1乃至3のいずれかに記載の産業用制御システムが備える前記各部を、前記産業用制御装置が備えるプロセッサに実行させるプログラム。
  14. 請求項4乃至11のいずれかに記載の支援装置が備える前記各部を、前記支援装置が備えるプロセッサに実行させるプログラム。
JP2017240543A 2017-12-15 2017-12-15 産業用制御システムとその支援装置、制御支援方法およびプログラム Active JP6493506B1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2017240543A JP6493506B1 (ja) 2017-12-15 2017-12-15 産業用制御システムとその支援装置、制御支援方法およびプログラム
CN201811176364.XA CN109933019B (zh) 2017-12-15 2018-10-10 工业控制系统及其支持装置、控制支持方法和存储介质
US16/164,010 US10915419B2 (en) 2017-12-15 2018-10-18 Industrial control system, and assistance apparatus, control assist method, and program thereof
EP18208028.3A EP3502814B1 (en) 2017-12-15 2018-11-23 Processing loads balancing of control and monitoring functions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017240543A JP6493506B1 (ja) 2017-12-15 2017-12-15 産業用制御システムとその支援装置、制御支援方法およびプログラム

Publications (2)

Publication Number Publication Date
JP6493506B1 JP6493506B1 (ja) 2019-04-03
JP2019109580A true JP2019109580A (ja) 2019-07-04

Family

ID=64476938

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017240543A Active JP6493506B1 (ja) 2017-12-15 2017-12-15 産業用制御システムとその支援装置、制御支援方法およびプログラム

Country Status (4)

Country Link
US (1) US10915419B2 (ja)
EP (1) EP3502814B1 (ja)
JP (1) JP6493506B1 (ja)
CN (1) CN109933019B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7438316B1 (ja) 2022-11-30 2024-02-26 マキノジェイ株式会社 工作機械

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7226103B2 (ja) * 2019-05-29 2023-02-21 オムロン株式会社 制御システム、サポート装置およびサポートプログラム
JP2021015573A (ja) * 2019-07-16 2021-02-12 ファナック株式会社 異常判定装置及び異常判定システム
US11295555B2 (en) 2019-09-12 2022-04-05 Georgia-Pacific LLC Systems and methods for analyzing machine performance
DE102020107950A1 (de) 2020-03-23 2021-09-23 Sick Ag Verfahren zur Fehleraufdeckung und sicheres Sensorsystem
CN112100032B (zh) * 2020-09-17 2023-11-10 上海创景信息科技有限公司 一种嵌入式设备日志输出记录方法及系统
US11566974B2 (en) * 2020-10-16 2023-01-31 Georgia-Pacific LLC Systems and methods for analyzing machine performance
CN113536050B (zh) * 2021-07-06 2023-12-01 贵州电网有限责任公司 一种配网监控系统曲线数据查询处理方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004094473A (ja) * 2002-08-30 2004-03-25 Hitachi Ltd コントローラ及びその制御方法
JP2005277863A (ja) * 2004-03-25 2005-10-06 Nec Engineering Ltd 監視制御装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3901417B2 (ja) 2000-01-25 2007-04-04 オムロン株式会社 Plcシミュレータ
JP4707376B2 (ja) * 2004-11-29 2011-06-22 富士通株式会社 情報処理方法及びプログラム
JP4936517B2 (ja) * 2006-06-06 2012-05-23 学校法人早稲田大学 ヘテロジニアス・マルチプロセッサシステムの制御方法及びマルチグレイン並列化コンパイラ
CN102959480B (zh) * 2010-06-24 2016-03-09 Abb股份有限公司 在安全系统中用于控制代码的自动分布的方法和工具
US20130226724A1 (en) * 2011-08-26 2013-08-29 Cognitive Electronics, Inc. Methods and systems for pricing cost of execution of a program in a parallel processing environment and for auctioning computing resources for execution of programs
EP2568346B1 (en) * 2011-09-06 2015-12-30 Airbus Operations Robust system control method with short execution deadlines
JP5691969B2 (ja) * 2011-09-26 2015-04-01 オムロン株式会社 データ処理装置、データ処理システム、およびデータ処理方法
EP2816478B1 (en) * 2012-02-15 2017-06-14 Toyota Jidosha Kabushiki Kaisha Vehicle electronic control device and data-receiving method
JP6180866B2 (ja) * 2013-09-24 2017-08-16 株式会社東芝 スケジューリング装置、システム、装置、方法およびプログラム
US9798303B2 (en) * 2014-05-01 2017-10-24 Rockwell Automation Technologies, Inc. Systems and methods for balancing loads in an industrial automation system
JP6512123B2 (ja) * 2016-01-29 2019-05-15 オムロン株式会社 信号処理装置、信号処理装置の制御方法、制御プログラム、および記録媒体
JP6580505B2 (ja) * 2016-03-28 2019-09-25 株式会社日立産機システム コントローラ装置およびコントローラ装置のタスク実行管理方法
JP6806019B2 (ja) * 2017-09-26 2020-12-23 オムロン株式会社 制御装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004094473A (ja) * 2002-08-30 2004-03-25 Hitachi Ltd コントローラ及びその制御方法
JP2005277863A (ja) * 2004-03-25 2005-10-06 Nec Engineering Ltd 監視制御装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7438316B1 (ja) 2022-11-30 2024-02-26 マキノジェイ株式会社 工作機械
WO2024117079A1 (ja) * 2022-11-30 2024-06-06 マキノジェイ株式会社 工作機械

Also Published As

Publication number Publication date
JP6493506B1 (ja) 2019-04-03
CN109933019A (zh) 2019-06-25
EP3502814A1 (en) 2019-06-26
US10915419B2 (en) 2021-02-09
EP3502814B1 (en) 2020-03-18
CN109933019B (zh) 2022-02-25
US20190188110A1 (en) 2019-06-20

Similar Documents

Publication Publication Date Title
JP6493506B1 (ja) 産業用制御システムとその支援装置、制御支援方法およびプログラム
US10319087B2 (en) Control system, control device, image processing device, and control method
EP3379358B1 (en) Control system, control device, control program, and control method
US9740186B2 (en) Monitoring control system and control device
US20170169078A1 (en) Log Mining with Big Data
JP2015109011A (ja) フィールド機器管理装置、機器情報表示方法、コンピュータプログラムおよび記録媒体
US10108183B2 (en) Process control system and configuration system
US11960925B2 (en) Program generating device, program generating method, and information storage medium
JP2018173883A (ja) 制御装置、制御プログラム、制御システム、および制御方法
EP3343470A1 (en) Maintenance management device, maintenance management method, maintenance management program, and non-transitory computer readable storage medium
JP5460928B1 (ja) プログラマブルコントローラ、プログラマブルコントローラシステムおよび実行エラー情報作成方法
JP2020123230A (ja) トレースデータ取得システム、トレースデータ取得方法、及びプログラム
CN103034917A (zh) 一种物料跟踪系统设计装置及方法
US11550693B2 (en) Data logger for a real-time robotic control system
JP6007320B2 (ja) 計算機、関連性算出方法及び記憶媒体
KR101916771B1 (ko) 모니터링 장치 관리 방법
CN112987658A (zh) 生产系统、修复系统、生产方法以及信息存储介质
US11709478B2 (en) Production system, production method, and information storage medium
JP7221796B2 (ja) 生産管理装置及び方法
US9734273B2 (en) System design management
JP7391269B1 (ja) Fa制御プログラム生成支援プログラム、fa制御プログラム生成支援装置、fa制御プログラム生成支援方法
JP6984786B1 (ja) システム構築支援プログラム、システム構築支援方法、及びシステム構築支援装置
US10935965B2 (en) Operation management apparatus
JP2017211682A (ja) データ検索視点生成方法、設備管理装置およびそれを用いた設備管理システム
CN107615199A (zh) 系统设计辅助装置、方法及程序

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180214

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190218

R150 Certificate of patent or registration of utility model

Ref document number: 6493506

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150