JP6988773B2 - 制御システムおよび制御装置 - Google Patents

制御システムおよび制御装置 Download PDF

Info

Publication number
JP6988773B2
JP6988773B2 JP2018214286A JP2018214286A JP6988773B2 JP 6988773 B2 JP6988773 B2 JP 6988773B2 JP 2018214286 A JP2018214286 A JP 2018214286A JP 2018214286 A JP2018214286 A JP 2018214286A JP 6988773 B2 JP6988773 B2 JP 6988773B2
Authority
JP
Japan
Prior art keywords
data
task
control
input data
assigned
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.)
Active
Application number
JP2018214286A
Other languages
English (en)
Other versions
JP2020086481A (ja
Inventor
功 川合
隆宏 徳
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
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 filed Critical Omron Corp
Priority to JP2018214286A priority Critical patent/JP6988773B2/ja
Priority to EP19884799.8A priority patent/EP3882727A4/en
Priority to US17/284,781 priority patent/US11520302B2/en
Priority to PCT/JP2019/041734 priority patent/WO2020100548A1/ja
Priority to CN201980057987.1A priority patent/CN112654939B/zh
Publication of JP2020086481A publication Critical patent/JP2020086481A/ja
Application granted granted Critical
Publication of JP6988773B2 publication Critical patent/JP6988773B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0421Multiprocessor system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5012Processor sets

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Programmable Controllers (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Description

本発明は、コンピューティングリソースを効率的に利用した入力データ処理を実現可能な制御装置および制御装置に関する。
様々な生産現場において、機械や装置などに発生する異常を早期に検知して設備稼働率を向上させたいという要求が存在する。典型的な異常監視の方法としては、機械や装置からデータを収集するとともに、収集されたデータに基づいて、何らかの異常が生じているか否かを判定する。
このような異常監視処理は、上位装置がPLC(プログラマブルコントローラ)などの制御装置からデータを収集することで実現することもできるが、異常監視処理を制御装置に実装することで、より高速な異常判定が可能となる。
より具体的には、制御装置においては、特許第4752983号(特許文献1)に開示されるように、入出力プログラムおよび制御プログラムが繰り返し実行されることで、制御対象の制御に必要な処理が実現される。制御装置で異常監視処理を実行するにあたっては、異常監視処理に必要な命令を入出力プログラムおよび制御プログラムに含めることになる。
特許第4752983号
特許文献1に開示されるような複数の制御プログラムを並列的に実行させる場合には、単一プロセッサ内の複数のコアを利用する、あるいは、複数のプロセッサを利用するといった構成も可能である。
しかしながら、複数のコアあるいは複数のプロセッサをコンピューティングリソースとして利用できる場合であっても、コンピューティングリソースを効率的に利用できていない処理も存在していた。
本発明の一つの目的は、コンピューティングリソースとして複数の演算部を利用できる場合に効率的な処理を実現することである。
本発明のある実施の形態に従う制御システムは、制御対象を制御するための制御演算を実行する制御装置と、制御装置で実行される制御演算の内容を設定するサポート装置とを含む。制御装置は、1または複数の処理が割り当てられた第1のタスクを第1の制御周期で周期実行するための第1の演算部と、1または複数の処理が割り当てられた第2のタスクを第1の制御周期より長い第2の制御周期で周期実行するための第2の演算部とを含む。制御演算は、制御装置で参照可能な入力データを収集するデータ収集処理と、当該収集された入力データを加工して新たなデータを生成するデータ加工処理とを含む。第1のタスクには、第1の入力データを対象とする第1のデータ収集処理および対応する第1のデータ加工処理が割り当てられている。サポート装置を介した設定に応じて、第2の入力データを対象とする第2のデータ収集処理および対応する第2のデータ加工処理は、第1のタスクおよび第2のタスクのうちいずれかに割り当てられる。
本実施の形態によれば、入力データについて要求される処理性能や入力データの属性などに応じて、第2の入力データを対象とする第2のデータ収集処理および対応する第2のデータ加工処理を、第1のタスクおよび第2のタスクのうちいずれかに割り当てることができるので、効率的な処理を実現できる。
制御装置は、1または複数の処理が割り当てられた第3のタスクを状況に応じて実行するための第3の演算部をさらに含んでいてもよい。この構成によれば、周期実行される第1のタスクおよび第2のタスクに加えて、状況に応じて効率的な処理を実行できる実行環境を提供できる。
第3のタスクには、第1のデータ加工処理および第2のデータ加工処理により生成されるデータを格納する処理が割り当てられていてもよい。この構成によれば、第1のデータ加工処理および第2のデータ加工処理により生成されるデータを適宜のタイミングで格納できるので、入力データを処理して格納するまでの一連の処理を効率化できる。
第3のタスクには、第1のデータ加工処理および第2のデータ加工処理により生成されるデータから所定の指標を算出する処理が割り当てられていてもよい。この構成によれば、異常検知処理などを実装した場合であっても、処理を効率化できる。
データ加工処理は、データ収集処理により収集された複数の入力データから特徴量を算出する処理を含んでいてもよい。この構成によれば、異常検知処理などを実装した場合であっても、処理を効率化できる。
データ加工処理は、データ収集処理により収集された入力データを対応する物理量に変換する処理を含んでいてもよい。この構成によれば、各種解析処理などにおいて、前処理などを不要として、効率的なデータ活用を実現できる。
データ加工処理は、データ収集処理により収集された1または複数の入力データを所定フォーマットに成型する処理を含んでいてもよい。この構成によれば、外部へのデータ送信などが必要な場合であっても、効率的な処理を実現できる。
サポート装置は、第2のデータ収集処理および第2のデータ加工処理が第1のタスクおよび第2のタスクのいずれにも割り当て可能な場合に、いずれのタスクに割り当てるかの設定を受け付けるようにしてもよい。この構成によれば、ユーザに対して、対象のデータ収集処理およびデータ加工処理を第1のタスクおよび第2のタスクのうち、適切なタスクへの割り当てを支援できる。
サポート装置は、第2のデータ収集処理および第2のデータ加工処理の割り当て先タスクの変更を受け付けるようにしてもよい。この構成によれば、データ収集処理およびデータ加工処理を先に割り当てた先のタスクが適切ではないと事後的に判断された場合であっても、より適切なタスクへ容易に割り当て変更できる。
本発明の別の実施の形態に従えば制御対象を制御するための制御演算を実行する制御装置が提供される。制御装置は、1または複数の処理が割り当てられた第1のタスクを第1の制御周期で周期実行するための第1の演算部と、1または複数の処理が割り当てられた第2のタスクを第1の制御周期より長い第2の制御周期で周期実行するための第2の演算部とを含む。制御演算は、制御装置で参照可能な入力データを収集するデータ収集処理と、当該収集された入力データを加工して新たなデータを生成するデータ加工処理とを含む。第1のタスクには、第1の入力データを対象とする第1のデータ収集処理および対応する第1のデータ加工処理が割り当てられている。外部設定に応じて、第2の入力データを対象とする第2のデータ収集処理および対応する第2のデータ加工処理は、第1のタスクおよび第2のタスクのうちいずれかに割り当てられる。
本実施の形態によれば、入力データについて要求される処理性能や入力データの属性などに応じて、第2の入力データを対象とする第2のデータ収集処理および対応する第2のデータ加工処理を、第1のタスクおよび第2のタスクのうちいずれかに割り当てることができるので、効率的な処理を実現できる。
本発明によれば、コンピューティングリソースとして複数の演算部を利用できる場合に効率的な処理を実現できる。
本実施の形態に従う制御システムの主要な処理を説明するための図である。 本実施の形態に従う制御システムの全体構成例を示す模式図である。 本実施の形態に従う制御システムを構成する制御装置のハードウェア構成例を示すブロック図である。 本実施の形態に従う制御システムを構成するサポート装置のハードウェア構成例を示すブロック図である。 本実施の形態に従う制御システムにおける異常監視処理を実現するための機能ブロック図である。 本実施の形態に従う制御システムを構成する制御装置におけるプログラムの周期実行の一例を示す模式図である。 本実施の形態に従う制御システムを構成する制御装置における異常監視処理に係る実装例を示す模式図である。 本実施の形態に従う制御システムを構成する制御装置における異常監視処理に係る別の実装例を示す模式図である。 本実施の形態に従う制御システムを構成する制御装置における異常監視処理に係るさらに別の実装例を示す模式図である。 図8に示す異常監視処理の実装例に対応するデータ処理を説明するための模式図である。 図9に示す異常監視処理の実装例に対応するデータ処理を説明するための模式図である。 本実施の形態に従う制御システムを構成するサポート装置が提供するユーザインターフェイス画面の一例を示す図である。 図12のユーザインターフェイス画面の周期設定ボタンが選択された場合のユーザインターフェイス画面の一例を示す図である。 図12のユーザインターフェイス画面の反映ボタンが選択された場合のユーザインターフェイス画面の一例を示す図である。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
<A.適用例>
本実施の形態においては、典型例として、任意の監視対象に何らかの異常が発生しているか否かを判定する異常監視処理に適用した場合の処理について説明するが、これに限ることなく、任意の処理に適用可能である。
図1は、本実施の形態に従う制御システム1の主要な処理を説明するための図である。図1を参照して、制御システム1を構成する制御装置100は、制御対象を制御するための制御演算として、1または複数の処理を「タスク」という単位で実行する。
本明細書において、「タスク」は、制御演算の実行単位であり、1または複数の処理が割り当てられる。図1には、プライマリ周期71(第1の制御周期)で周期実行されるプライマリ定周期タスク70と、定周期81(第2の制御周期)で周期実行される定周期タスク80とを示す。
制御装置100は、後述するように複数のコアを有するプロセッサを有しており、当該プロセッサの1つのコア(第1の演算部)でプライマリ定周期タスク70が周期実行され、当該プロセッサの別のコア(第2の演算部)で定周期タスク80が周期実行される。プライマリ定周期タスク70および定周期タスク80には、それぞれ1または複数の処理が割り当てられる。
一例として、プライマリ定周期タスク70は、I/Oリフレッシュ処理72、ユーザプログラム実行処理74、およびモーション制御処理76を含む。同様に、定周期タスク80は、I/Oリフレッシュ処理82、ユーザプログラム実行処理84、およびモーション制御処理86を含む。実行周期が異なる点を除いて、I/Oリフレッシュ処理82、ユーザプログラム実行処理84、およびモーション制御処理86の処理内容は、I/Oリフレッシュ処理72、ユーザプログラム実行処理74、およびモーション制御処理76の処理内容と同様である。
制御装置100で実行される制御演算は、制御装置100で参照可能な入力データを収集するデータ収集処理162と、当該収集された入力データを加工して新たなデータを生成するデータ加工処理とを含む。
本明細書において、「入力データ」は、後述するようなフィールド装置群10にて取得され、制御装置100へ転送される制御対象から取得されるデータに加えて、制御装置100で実行される制御演算において参照可能な任意の状態値、内部状態値およびシステム状態値などを包含する用語である。
データ加工処理の一例として、以下の説明においては、データ収集処理162により収集された複数の入力データから特徴量を算出する特徴抽出処理164を例示する。特徴抽出処理164により算出される特徴量は、後述するような異常監視処理に用いられる。データ加工処理の別の例については、後述の<I.変形例>の欄において説明する。
典型的には、短い周期でのデータ処理が要求される入力データについての、データ収集処理162および特徴抽出処理164(データ加工処理)は、プライマリ定周期タスク70に割り当てられる。
一方、比較的長い周期でのデータ処理が要求される入力データについての、データ収集処理162および特徴抽出処理164(データ加工処理)は、プライマリ定周期タスク70に割り当てることもできし、定周期タスク80に割り当てることもできるようになっている。
コンピューティングリソースを効率的に利用するという観点から、後述するようなサポート装置を介した設定に応じて、データ収集処理162および特徴抽出処理164(データ加工処理)は、プライマリ定周期タスク70および定周期タスク80のいずれかに割り当てられる。
このような設定に応じて割り当て先タスクを変更できるようにすることで、コンピューティングリソースの効率的な利用を実現できる。
<B.制御システムの構成例>
次に、本実施の形態に従う制御システム1の構成例について説明する。
図2は、本実施の形態に従う制御システム1の全体構成例を示す模式図である。図2を参照して、制御システム1は、主たる構成要素として、制御対象を制御するための制御演算を実行する制御装置100と、制御装置100で実行される制御演算の内容を設定するサポート装置200とを含む。制御システム1は、オプショナルな構成として、上位サーバ300および表示装置(HMI:Human Machine Interface;以下、「HMI」とも称す。)400をさらに含んでいてもよい。
制御装置100は、PLC(プログラマブルコントローラ)などの、一種のコンピュータとして具現化されてもよく、制御対象を制御するための制御演算を実行する。制御装置100は、制御対象に含まれる監視対象に何らかの異常が発生しているか否かを判定する異常監視の機能を有している。
制御装置100は、第1フィールドバス2を介してフィールド装置群10と接続されるとともに、第2フィールドバス4を介して1または複数のHMI400と接続される。さらに、制御装置100は、ローカルネットワーク6を介して上位サーバ300に接続される。制御装置100は、それぞれのネットワークを介して、接続された装置との間でデータを遣り取りする。
制御装置100は、フィールド装置群10にて取得され、制御装置100へ転送されるデータ(入力データ)を収集する収集機能を有している。
第1フィールドバス2および第2フィールドバス4としては、データの到達時間が保証される、定周期通信を行うネットワークを採用することが好ましい。このような定周期通信を行うネットワークとしては、EtherCAT(登録商標)などが知られている。
フィールド装置群10は、制御対象または制御に関連する製造装置や生産ラインなど(以下、「フィールド」とも総称する。)の状態値を入力データとして収集する装置を含む。このような状態値を収集する装置としては、入力リレーや各種センサなどが想定される。フィールド装置群10は、さらに、制御装置100にて生成される指令値(以下、「出力データ」とも称す。)に基づいて、フィールドに対して何らかの作用を与える装置を含む。このようなフィールドに対して何らかの作用を与える装置としては、出力リレー、コンタクタ、サーボドライバおよびサーボモータ、その他任意のアクチュエータが想定される。これらのフィールド装置群10は、第1フィールドバス2を介して、制御装置100との間で、入力データおよび出力データを含むデータを遣り取りする。
図2に示す構成例においては、フィールド装置群10は、リモートI/O(Input/Output)装置12と、リレー群14と、画像センサ18およびカメラ20と、サーボドライバ22およびサーボモータ24とを含む。
リモートI/O装置12は、第1フィールドバス2を介して通信を行う通信部と、入力データの取得および出力データの出力を行うための入出力部(以下、「I/Oユニット」とも称す。)とを含む。このようなI/Oユニットを介して、制御装置100とフィールドとの間で入力データおよび出力データが遣り取りされる。図2には、リレー群14を介して、入力データおよび出力データとして、デジタル信号が遣り取りされる例が示されている。
I/Oユニットは、フィールドバスに直接接続されるようにしてもよい。図2には、第1フィールドバス2にI/Oユニット16が直接接続されている例を示す。
画像センサ18は、カメラ20によって撮像された画像データに対して、パターンマッチングなどの画像計測処理を行って、その処理結果を制御装置100へ送信する。
サーボドライバ22は、制御装置100からの出力データ(例えば、位置指令など)に従って、サーボモータ24を駆動する。
上述のように、第1フィールドバス2を介して、制御装置100とフィールド装置群10との間でデータが遣り取りされることになるが、これらの遣り取りされるデータは、数百μsecオーダ〜数十msecオーダのごく短い周期で更新されることになる。なお、このような遣り取りされるデータの更新処理は、I/Oリフレッシュ処理とも称される。
サポート装置200は、制御装置100が制御対象を制御するために必要な準備を支援する装置である。具体的には、サポート装置200は、制御装置100で実行されるプログラムの開発環境(プログラム作成編集ツール、パーサ、コンパイラなど)、制御装置100および制御装置100に接続される各種デバイスのパラメータ(コンフィギュレーション)を設定するための設定環境、生成したユーザプログラムを制御装置100へ送信する機能、制御装置100上で実行されるユーザプログラムなどをオンラインで修正・変更する機能、などを提供する。さらに、サポート装置200は、制御装置100で実行される異常監視処理を定義するパラメータおよび学習データを設定する機能なども提供する。
上位サーバ300は、制御装置100とローカルネットワーク6を介して接続され、制御装置100との間で必要なデータを遣り取りする。上位サーバ300は、例えば、データベース機能を有しており、制御装置100に格納されるデータを定期的またはイベント的に収集する。ローカルネットワーク6には、イーサネット(登録商標)などの汎用プロトコルが実装されてもよい。
HMI400は、第2フィールドバス4を介して制御装置100と接続され、ユーザからの操作を受けて、制御装置100に対してユーザ操作に応じたコマンドなどを送信するとともに、制御装置100での処理結果などをグラフィカルに表示する。
<C.各装置のハードウェア構成例>
次に、本実施の形態に従う制御システム1を構成する主要な装置のハードウェア構成例について説明する。
(c1:制御装置100のハードウェア構成例)
図3は、本実施の形態に従う制御システム1を構成する制御装置100のハードウェア構成例を示すブロック図である。図3を参照して、制御装置100は、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)などのプロセッサ102と、チップセット104と、主記憶装置106と、二次記憶装置108と、ローカルネットワークコントローラ110と、USB(Universal Serial Bus)コントローラ112と、メモリカードインターフェイス114と、内部バスコントローラ122と、フィールドバスコントローラ118,120とを含む。
プロセッサ102は、二次記憶装置108に格納された各種プログラムを読み出して、主記憶装置106に展開して実行することで、制御対象に応じた制御、および、後述するような各種処理を実現する。プロセッサ102は、複数のコア1021,1022,1023,1024を含む。コア1021,1022,1023,1024の各々が演算部に相当する。なお、図3には、2つのコアのみを例示するが、これに限られることなく、より多くのコアを有するプロセッサ102を採用してもよい。
チップセット104は、プロセッサ102とともに、各コンポーネントを制御することで、制御装置100全体としての処理を実現する。
二次記憶装置108には、制御装置100が提供する機能を実現するためのシステムプログラム126(制御プログラムに相当)に加えて、システムプログラム126が提供する実行環境を利用して実行されるユーザプログラムが格納される。
ローカルネットワークコントローラ110は、ローカルネットワーク6を介した他の装置との間のデータの遣り取りを制御する。USBコントローラ112は、USB接続を介してサポート装置200との間のデータの遣り取りを制御する。
メモリカードインターフェイス114は、メモリカード116を着脱可能に構成されており、メモリカード116に対してデータを書き込み、メモリカード116から各種データ(ユーザプログラムやトレースデータなど)を読み出すことが可能になっている。
内部バスコントローラ122は、制御装置100に接続されるI/Oユニット124−1,124−2,…との間でデータを遣り取りするインターフェイスである。
フィールドバスコントローラ118は、第1フィールドバス2を介した他の装置との間のデータの遣り取りを制御する。同様に、フィールドバスコントローラ120は、第2フィールドバス4を介した他の装置との間のデータの遣り取りを制御する。
図3には、単一のプロセッサ102が4つのコア1021,1022,1024,1024を有している例を示すが、プロセッサ102に実装されるコアの数はこれ以下でもよいし、これより多くてもよい。あるいは、単一のコアを有するプロセッサ102を複数設けてもよい。この場合には、各プロセッサ102が演算部に相当する。さらにあるいは、複数のコアを有するプロセッサを複数設けてもよい。
また、図3には、プロセッサ102がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部を、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。
さらに、制御装置100の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOS(Operating System)を並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
(c2:サポート装置200のハードウェア構成例)
次に、本実施の形態に従うサポート装置200は、一例として、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコン)を用いてプログラムを実行することで実現される。
図4は、本実施の形態に従う制御システム1を構成するサポート装置200のハードウェア構成例を示すブロック図である。図4を参照して、サポート装置200は、CPUやMPUなどのプロセッサ202と、ドライブ204と、主記憶装置206と、二次記憶装置208と、USBコントローラ212と、ローカルネットワークコントローラ214と、入力部216と、表示部218とを含む。これらのコンポーネントはバス220を介して接続される。
プロセッサ202は、二次記憶装置208に格納された各種プログラムを読み出して、主記憶装置206に展開して実行することで、後述するような各種処理を実現する。
二次記憶装置208は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)などで構成される。二次記憶装置208には、典型的には、サポート装置200において実行されるユーザプログラムの作成、作成したプログラムのデバッグ、システム構成の定義、各種パラメータの設定などを行うための図示しない開発プログラムと、データマイニングツール230と、設定ツール240とを含む各種プログラムが格納される。二次記憶装置208には、OSおよび他の必要なプログラムが格納されてもよい。
ドライブ204は、記憶媒体205に対してデータを書き込み、記憶媒体205から各種データ(ユーザプログラム、トレースデータまたは時系列データなど)を読み出すことが可能になっている。記憶媒体205は、例えばコンピュータ読取可能なプログラムを非一過的に格納する記憶媒体205(例えば、DVD(Digital Versatile Disc)などの光学記憶媒体)を含む。記憶媒体205に格納されたプログラムまたはデータはドライブ204により読み取られて、二次記憶装置208などの内部の記憶領域にインストールされる。
サポート装置200で実行される各種プログラムは、コンピュータ読取可能な記憶媒体205を介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。また、本実施の形態に従うサポート装置200が提供する機能は、OSが提供するモジュールの一部を利用する形で実現される場合もある。
USBコントローラ212は、USB接続を介して制御装置100との間のデータの遣り取りを制御する。ローカルネットワークコントローラ214は、任意ネットワークを介した他の装置との間のデータの遣り取りを制御する。
入力部216は、キーボードやマウスなどで構成され、ユーザ操作を受け付ける。表示部218は、ディスプレイ、各種インジケータなどで構成され、プロセッサ202からの処理結果などを出力する。サポート装置200には、プリンタが接続されてもよい。
図4には、プロセッサ202がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。
(c3:上位サーバ300のハードウェア構成例)
本実施の形態に従う上位サーバ300は、一例として、汎用的なアーキテクチャに従うハードウェア(例えば、汎用サーバ)を用いてプログラムを実行することで実現される。そのハードウェア構成は、図4に示すサポート装置200のハードウェア構成と同様であるので、詳細な説明は繰り返さない。
(c4:HMI400のハードウェア構成例)
本実施の形態に従うHMI400は、一例として、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いてプログラムを実行することで実現される。そのハードウェア構成は、図4に示すサポート装置200のハードウェア構成と同様であるので、詳細な説明は繰り返さない。
<D:異常監視処理>
次に、本実施の形態に従う制御システム1が提供する異常監視処理について説明する。
図5は、本実施の形態に従う制御システム1における異常監視処理を実現するための機能ブロック図である。図5を参照して、制御装置100は、監視対象から1または複数の入力データ(入力データ1,入力データ2,・・・,入力データn)を収集し、特徴量を抽出することで、異常の発生有無を示す判定結果を含む監視結果を出力する。
本実施の形態においては、制御対象に含まれる監視対象に何らかの異常が発生しているかを判定する単位区間として「フレーム」という概念を導入する。フレームは、監視対象に何らかの異常が発生しているか否かを判定する単位区間を意味する。そのため、監視対象に何らかの異常が発生しているか否かの判定は、フレーム毎に行われることになる。
より具体的には、制御装置100は、異常監視処理に関する主たる機能構成として、データセット生成部152と、特徴抽出部154と、スコア算出部156と、判定部158とを含む。
データセット生成部152は、フレーム情報に従って、監視対象から1または複数の入力データ(入力データ1,入力データ2,・・・,入力データn)からなるデータセットをフレーム毎に生成する。
特徴抽出部154は、データセット生成部152により生成されるデータセットに基づいて、予め定められた処理に従って、1または複数の特徴量(特徴量1,特徴量2,・・・,特徴量m)を抽出する。特徴量としては、例えば、フレーム内における平均値、最大値、中間値、最小値、標準偏差などを用いることができる。
スコア算出部156は、予め用意された学習データ130を参照して、特徴抽出部154により抽出される1または複数の特徴量の学習データ130に対する外れ度合いを示す値(以下、「スコア」とも称す。)を算出する。ここで、学習データ130は、特定のクラス(例えば、正常や異常)がラベル付けされた特徴量からなる。典型的には、学習データ130は正常時の特徴量からなり、この場合には、スコアは、監視対象に何らかの異常が発生している可能性を示す値を意味することになる。
制御装置100での異常監視のアルゴリズムの一例として、超空間上における値群に対する特徴量の外れ度合いに基づいて、当該特徴量に対応するスコアを算出する方法を採用する。この場合には、学習データ130は、超空間上における値群を示すものとなり、これは監視対象を示す「モデル」に相当する。
このような外れ度合いに基づく異常監視の手法としては、各点から値群までの最短距離に基づいて異常を検知する手法(k近傍法)、値群を含むクラスタを含めて距離を評価する局所外れ値因子(LoF:local outlier factor)法、パス長さから算出されるスコアを用いるiForest(isolation forest)法などが知られている。
外れ度合いに基づく異常監視の手法を採用した場合には、学習データ130は、正常時に得られる特徴量の群を含むようになり、制御装置100は、学習データ130に含まれる特徴量群に対する対象の特徴量の外れ度合いに基づいて、監視対象に何らかの異常が発生している可能性を示す値であるスコアを算出する。
判定部158は、スコア算出部156により算出されるスコアと予め定められたしきい値とを比較して、監視対象に何らかの異常が発生しているか否かを判定する。判定部158からは何らかの異常が発生しているか否かを示す判定結果が出力される。
以上のような機能構成によって、本実施の形態に従う異常監視処理が実現される。
図5に示す機能ブロック図において、データセット生成部152および特徴抽出部154における処理は、フィールドから収集された状態値あるいは制御演算の実行によって算出あるいは更新される内部状態値である入力データに対するものであり、以下では「入力データ処理50」と総称する。一方、スコア算出部156および判定部158における処理は、入力データ処理50により算出された結果を利用するものであり、以下では「データ利用処理60」と総称する。
<E.プログラムの周期実行>
次に、本実施の形態に従う制御装置100におけるプログラムの周期実行について説明する。
図6は、本実施の形態に従う制御システム1を構成する制御装置100におけるプログラムの周期実行の一例を示す模式図である。制御装置100では、1または複数の処理がタスクという単位で実行される。
図6には、プライマリ定周期タスク70、定周期タスク80、およびシステムサービスタスク90の3種類のタスクが実行される例を示す。各タスクは、それぞれ別々のコアで実行されるとする。
コア1で実行されるプライマリ定周期タスク70は、制御装置100において最優先で実行されるべき処理を含み、制御周期に相当するプライマリ周期71毎に周期的に実行される。
より具体的には、プライマリ定周期タスク70は、I/Oリフレッシュ処理72、ユーザプログラム実行処理74、およびモーション制御処理76を含む。I/Oリフレッシュ処理72は、フィールドとの間で、入力データおよび出力データを更新する処理である。なお、制御装置100においては、プログラムにおいて参照される値は変数の形で管理されるので、I/Oリフレッシュ処理72は、対応する変数の値を周期的に更新する処理を意味する。ユーザプログラム実行処理74は、ユーザプログラム128に記述された命令に従って処理を実行する処理である。ユーザプログラム128は、制御対象に応じて任意に作成されるものであり、IEC61131−3に規定される言語を用いて記述されるシーケンスプログラムなどを含む。
モーション制御処理76は、ユーザプログラム128に含まれるモーション命令に従う処理(典型的には、モータの位置制御や速度制御に関する処理)を含む。
プライマリ定周期タスク70においては、I/Oリフレッシュ処理72、ユーザプログラム実行処理74、およびモーション制御処理76のすべてがプライマリ周期71毎に実行される。
コア2で実行される定周期タスク80は、プライマリ定周期タスク70より優先度の低い処理を含み、制御周期の整数倍に相当する定周期81毎に周期的に実行される。定周期81は、プライマリ定周期タスク70の整数倍(2以上)の長さに相当する。
より具体的には、定周期タスク80は、プライマリ定周期タスク70と同様に、I/Oリフレッシュ処理82、ユーザプログラム実行処理84、およびモーション制御処理86を含む。実行周期が異なる点を除いて、I/Oリフレッシュ処理82、ユーザプログラム実行処理84、およびモーション制御処理86の処理内容は、I/Oリフレッシュ処理72、ユーザプログラム実行処理74、およびモーション制御処理76の処理内容と同様である。
コア3で実行されるシステムサービスタスク90は、状況に応じて実行される。典型的には、システムサービスタスク90は、イベント発生毎に都度実行される処理が割り当てられる。より具体的には、システムサービスタスク90は、データ格納処理92、スコア算出・判定処理94、およびファイル転送処理96などを含む。
データ格納処理92は、データセット生成部152が参照する1または複数の入力データ、ならびに、特徴抽出部154により生成される1または複数の特徴量を、主記憶装置106あるいは二次記憶装置108などの記憶領域に格納する処理を含む。すなわち、システムサービスタスク90には、プライマリ定周期タスク70に割り当てられた特徴抽出処理164、および、定周期タスク80に割り当てられた特徴抽出処理164により生成されるデータを格納する処理が割り当てられている。
スコア算出・判定処理94は、スコア算出部156および判定部158での処理に相当する。すなわち、システムサービスタスク90には、プライマリ定周期タスク70に割り当てられた特徴抽出処理164、および、定周期タスク80に割り当てられた特徴抽出処理164により生成されるデータから所定の指標を算出する処理が割り当てられている。
ファイル転送処理96は、主記憶装置106あるいは二次記憶装置108などの記憶領域に格納されたデータを上位サーバ300などに送信する処理を含む。
<F.異常監視処理の実装例>
次に、図6に示すプログラムの周期実行を用いて異常監視処理を実現する実装例について説明する。
図7は、本実施の形態に従う制御システム1を構成する制御装置100における異常監視処理に係る実装例を示す模式図である。図7を参照して、データセット生成部152および特徴抽出部154における処理(入力データ処理50)は、基本的には、プライマリ定周期タスク70として周期実行される。
より具体的には、データセット生成部152による1または複数の入力データ(監視対象から得られるセンシングデータ)についてのデータ収集処理162の少なくとも一部は、I/Oリフレッシュ処理72に含まれる。また、特徴抽出部154による特徴抽出処理164の少なくとも一部は、ユーザプログラム実行処理74に含まれる。特徴抽出処理164により抽出された特徴量は、対象のフレームを特定するための識別情報とともに、制御装置100の記憶領域に格納される(データ格納)。
図7に示すように、入力データの収集および特徴量の抽出に係る処理は、プライマリ周期71毎に実行されることになる。なお、特徴量は、各フレームのデータからなるデータセットに基づいて抽出されるので、プライマリ周期71毎に抽出されるとは限らない。
異常監視処理において用いられる特徴量は、監視対象に応じて任意に選択される。すなわち、異常監視処理においては、任意の入力データから任意の種類の特徴量が抽出される。任意の入力データは、フィールドから直接収集された状態値だけではなく、所定の前処理などが実行された結果が用いられることもある。このような前処理は、プライマリ定周期タスク70に含めることもできるが、定周期タスク80に含まれることもある。
図8は、本実施の形態に従う制御システム1を構成する制御装置100における異常監視処理に係る別の実装例を示す模式図である。図8を参照して、特徴抽出部154による特徴抽出処理164においては、プライマリ定周期タスク70のデータ収集処理162が周期的に更新する入力データに加えて、定周期タスク80のデータ収集処理162が周期的に更新する入力データを用いて、特徴量を抽出する。
図8に示す例では、プライマリ定周期タスク70に含まれる特徴抽出処理164は、プライマリ周期71毎に周期実行されるのに対して、定周期タスク80のデータ収集処理162による入力データの更新周期は定周期81となる。その結果、定周期タスク80のデータ収集処理162による入力データからの特徴量の抽出処理が重複して実行されることになる。これは、不要な特徴量の抽出処理が実行されることを意味する。
制御装置100においては、有限のコンピューティングリソースを用いて、各タスクを指定された周期毎に繰り返し実行する必要があり、図8に示すような非効率的な処理を極力排除したいという潜在的な要求が存在する。すなわち、制御装置100が提供する制御性能への影響を低減したいという要求が存在する。
このような要求に対して、本実施の形態に従う制御装置100は、以下に説明するように、複数の並列実行されるタスク毎に入力データの更新および特徴量の抽出を最適化できるデータ処理の仕組みを提供する。
図9は、本実施の形態に従う制御システム1を構成する制御装置100における異常監視処理に係るさらに別の実装例を示す模式図である。図9に示す実装例においては、特徴抽出部154による特徴抽出処理164は、定周期タスク80のユーザプログラム実行処理84にも含まれている。ユーザプログラム実行処理84の特徴抽出処理164は、定周期タスク80のデータ収集処理162が周期的に更新する入力データから特徴量を抽出する。
すなわち、図9に示す実装例においては、プライマリ定周期タスク70においてプライマリ周期71毎に更新される入力データを用いた入力データ処理50については、同じプライマリ定周期タスク70として実行され、定周期タスク80において定周期81毎に更新される入力データを用いた入力データ処理50については、同じ定周期タスク80として実行される。
図9に示すような仕組みを採用することで、効率的な特徴量の抽出処理を実現できる。コンピューティングリソースを効率的に利用することで、各タスクの周期超過などが発生する可能性を低減できる。
<G.データ処理>
次に、図9に示すようなタスク毎の特徴量の抽出処理を実現するためのデータ処理の一例について説明する。
図10は、図8に示す異常監視処理の実装例に対応するデータ処理を説明するための模式図である。図10を参照して、一例として、I/Oユニット124がフィードから3つの入力データ(IN_01,IN_02,IN_03)を周期的に取得する場合を想定する。
ここで、入力データIN_01は、プライマリ定周期タスク70において参照され、入力データIN_02は、定周期タスク80において参照され、入力データIN_03は、プライマリ定周期タスク70および定周期タスク80において参照されるとする。
I/Oユニット124が取得した入力データは、内部バスコントローラ122のI/Oメモリに周期的に転送される。すなわち、内部バスコントローラ122のI/Oメモリの内容は、周期的に更新されることになる。ここで、入力データIN_01,IN_02,IN_03は、プライマリ周期71毎に更新されるとする。
プライマリ定周期タスク70においては、特徴量抽出および制御演算に必要な入力データIN_01,IN_03に加えて、特徴量抽出のみに必要な入力データIN_02もバッファに転送される。バッファへの転送はプライマリ周期71毎に繰り返し実行される。バッファに転送される入力データIN_01,IN_02,IN_03から特徴量_01,特徴量_02,特徴量_03が抽出され、さらにシステムサービスタスク90が参照可能な主記憶装置106内のバッファに書き込まれる。システムサービスタスク90では、主記憶装置106内のバッファを参照して、データ格納処理92が実行される。
一方、定周期タスク80においては、制御演算に必要な入力データIN_02,IN_03がバッファに転送される。バッファに転送された入力データIN_02,IN_03に基づいて制御演算が実行される。
図10に示すデータ処理においては、入力データIN_02は、プライマリ定周期タスク70での特徴量抽出のためだけに、内部バスコントローラ122のI/Oメモリからバッファに転送されることになり、非効率なコンピューティングリソースの利用になっている。
図11は、図9に示す異常監視処理の実装例に対応するデータ処理を説明するための模式図である。図10に示すデータ処理に対して、図11に示すデータ処理においては、入力データIN_02は、定周期タスク80においてのみ参照されるので、プライマリ定周期タスク70においては、入力データIN_02はバッファに転送されない。すなわち、定周期タスク80においてのみ、入力データIN_02はバッファに転送されない。その結果、入力データIN_02のバッファへの転送の周期は、プライマリ周期71ではなく、定周期81となる。
そして、定周期タスク80において、バッファに転送される入力データIN_02から特徴量_02が抽出され、さらにシステムサービスタスク90が参照可能な主記憶装置106内のバッファに書き込まれる。
このように、プライマリ定周期タスク70での制御演算に参照されない入力データIN_02については、プライマリ周期71でのバッファへの転送や、プライマリ定周期タスク70での特徴量の抽出といった処理は行われず、バッファへの転送周期と同じ定周期81で特徴量が抽出される。これによって、非効率的な特徴量の抽出処理などを回避でき、コンピューティングリソースの効率的な利用を実現できる。
<H.ユーザインターフェイス>
次に、図8〜11に示す異常監視処理を実現するためのユーザインターフェイスの一例について説明する。
図8〜図11に示すように、異なる周期で周期実行されるタスクの各々に、入力データ処理50を割り当てる場合には、各入力データに対応するデータ収集処理162および特徴抽出処理164を同一のタスクに登録する必要がある。例えば、同一の入力データについて、データ収集処理162はプライマリ定周期タスク70に含まれ、特徴抽出処理164は定周期タスク80に含まれるような設定を回避する必要がある。
すなわち、特徴量の抽出などの入力データ処理50を複数の異なる周期でそれぞれ実行しようとすると、各特徴量の抽出をいずれの周期で実行することが効率的になるのかを容易に設定できる仕組みをユーザに提供することが好ましい。
そこで、本実施の形態に従う制御システム1においては、参照される入力データに応じて、入力データ処理50の割り当てを最適化できるユーザインターフェイスが提供される。本実施の形態に従う制御システム1において、典型的には、各種設定を行うためのユーザインターフェイスはサポート装置200により提供される。
図12は、本実施の形態に従う制御システム1を構成するサポート装置200が提供するユーザインターフェイス画面の一例を示す図である。図12に示すユーザインターフェイス画面250は各種設定を受け付ける。ユーザインターフェイス画面250は、設定登録ボタン252が選択されることで、入力データ処理50に用いられる入力データ(登録変数)の設定受付状態になる。
ユーザは、特徴量の抽出に用いる入力データ(変数)を登録変数名設定欄256に設定する。このとき、ユーザは、設定される入力データのデータ型をデータ型設定欄258に設定する。なお、データ型設定欄258のデータ型は、設定情報などを参照して、設定された入力データに対応して自動的に反映されるようにしてもよい。
なお、図12に示すINPUT1,INPUT2,INPUT3は、図10および図11に示す入力データIN_01,IN_02,IN_03にそれぞれ対応するとする。
ユーザインターフェイス画面250は、周期設定ボタン260を有しており、周期設定ボタン260が選択されることで、複数の異なる周期(タスク)のいずれにも割り当て可能な入力データについて、いずれかの周期(タスク)に割り当てるかの設定が可能になる。
図13は、図12のユーザインターフェイス画面250の周期設定ボタン260が選択された場合のユーザインターフェイス画面270の一例を示す図である。図13に示すユーザインターフェイス画面270には、複数の異なる周期で実行されるタスクに割り当て可能な入力データ(変数)が表示されるとともに、いずれかのタスクに割り当てるかの選択を受け付ける。
より具体的には、ユーザインターフェイス画面270は、対象の入力データを表示する対象変数表示272と、タスク選択欄274とを含む。タスク選択欄274には、一例として、(1)デフォルト設定および(2)制御リソース確保設定の選択が可能になっている。(1)デフォルト設定が選択されると、対象の入力データの入力データ処理50は、プライマリ定周期タスク70に割り当てられる。一方、(2)制御リソース確保設定が選択されると、定周期タスク80に割り当てられる。いずれかが選択された後、OKボタン276が選択されると、対象の入力データに対する設定が更新された上で、図12に示されるユーザインターフェイス画面250に戻る。
このように、複数の異なる周期で実行されるタスクのいずれにも割り当てられる入力データ(変数)については、監視対象などに応じてユーザが任意に設定できるようになっている。すなわち、サポート装置200は、あるデータ収集処理162(第2のデータ収集処理)および対応する特徴抽出処理164(第2のデータ加工処理)がプライマリ定周期タスク70および定周期タスク80のいずれにも割り当て可能な場合に、いずれのタスクに割り当てるかの設定を受け付ける。
再度図12を参照して、ユーザインターフェイス画面250は、反映ボタン262を有しており、反映ボタン262が選択されることで、各タスクに割り当てられている処理が参照する入力データと、入力データ処理50の対象に設定されている入力データとの関係に基づいて、各入力データについての入力データ処理50がいずれのタスクに割り当てられるのかが決定される。
このとき、図13に示すユーザインターフェイス画面270において設定された内容が優先的に反映される。そして、割り当て結果がユーザに通知される。
図14は、図12のユーザインターフェイス画面250の反映ボタン262が選択された場合のユーザインターフェイス画面280の一例を示す図である。図14に示すユーザインターフェイス画面280は、プライマリ定周期タスク70に割り当てられている入力データを表示するプライマリ定周期タスク欄282、および、定周期タスク80に割り当てられている入力データを表示する定周期タスク欄284を含む。
プライマリ定周期タスク欄282および定周期タスク欄284には、各タスクに割り当てられている入力データが視覚的に表示されている。さらに、ユーザは、各入力データに対して、割り当て先のタスクを容易な操作で変更できるようになっている。例えば、ユーザによるドラッグ操作により、各入力データの割り当て先のタスクを変更できる。
すなわち、サポート装置200は、データ収集処理162(第2のデータ収集処理)および対応する特徴抽出処理164(第2のデータ加工処理)の割り当て先タスクの変更を受け付ける。
最終的に、ユーザがOKボタン286を選択することで、各入力データの割り当て先のタスクが決定される。
<I.変形例>
上述の説明においては、データ加工処理の一例として、異常監視処理に用いられる特徴抽出処理164について例示したが、データ加工処理の内容はこれに限られない。
例えば、データ加工処理の別の例として単位変換処理が挙げられる。フィールド装置群10によりフィールドから取得された状態値は、アナログ/デジタル変換器などの処理特性上、所定レンジ(例えば、0−1023デジット)に規格化された状態値として保持されていることもある。このような所定レンジに規格化された値を実際のフィールドの物理量(例えば、温度、回転速度、流速など)に変換した上で、処理することが好ましい場合も多い。
そこで、単位変換処理においては、制御装置100が管理する状態値(入力データ)をフィールドの実際の物理量に変換した上で、内部処理または外部装置へ提供する処理を含み得る。このように、データ加工処理は、データ収集処理162により収集された入力データを対応する物理量に変換する処理を含むようにしてもよい。
また、データ加工処理の別の例としてデータ転送の前処理などが挙げられる。例えば、制御装置100をIoT(Internet of Things)のゲートウェイとして利用するような場合を想定すると、データを遣り取りする相手側に適合させたデータフォーマットで指定された情報を送信する必要がある。このような場合、制御装置100が管理する状態値(入力データ)を送出前の所定フォーマットに従って成型することが必要になる。このように、データ加工処理の一例として、データの成型処理を含めるようにしてもよい。
データの成型処理の具体例としては、予め定められた順番に予め定められた情報を順次配置するような処理が想定される。このように、データ加工処理は、データ収集処理162により収集された1または複数の入力データを所定フォーマットに成型する処理を含むようにしてもよい。
<J.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
[構成1]
制御対象を制御するための制御演算を実行する制御装置(100)と、
前記制御装置で実行される制御演算の内容を設定するサポート装置(200)とを備え、
前記制御装置は、1または複数の処理が割り当てられた第1のタスク(70)を第1の制御周期(71)で周期実行するための第1の演算部(1021)と、1または複数の処理が割り当てられた第2のタスク(80)を前記第1の制御周期より長い第2の制御周期(81)で周期実行するための第2の演算部(1022)とを備え、
前記制御演算は、前記制御装置で参照可能な入力データを収集するデータ収集処理(162)と、当該収集された入力データを加工して新たなデータを生成するデータ加工処理(164)とを含み、
前記第1のタスクには、第1の入力データを対象とする第1のデータ収集処理および対応する第1のデータ加工処理が割り当てられており、
前記サポート装置を介した設定に応じて、第2の入力データを対象とする第2のデータ収集処理および対応する第2のデータ加工処理は、前記第1のタスクおよび前記第2のタスクのうちいずれかに割り当てられる、制御システム。
[構成2]
前記制御装置は、1または複数の処理が割り当てられた第3のタスク(90)を状況に応じて実行するための第3の演算部(1023)をさらに備える、構成1に記載の制御システム。
[構成3]
前記第3のタスクには、前記第1のデータ加工処理および前記第2のデータ加工処理により生成されるデータを格納する処理(92)が割り当てられている、構成2に記載の制御システム。
[構成4]
前記第3のタスクには、前記第1のデータ加工処理および前記第2のデータ加工処理により生成されるデータから所定の指標を算出する処理(94)が割り当てられている、構成2または3に記載の制御システム。
[構成5]
前記データ加工処理は、前記データ収集処理により収集された複数の入力データから特徴量を算出する処理(164)を含む、構成1〜4のいずれか1項に記載の制御システム。
[構成6]
前記データ加工処理は、前記データ収集処理により収集された入力データを対応する物理量に変換する処理を含む、構成1〜5のいずれか1項に記載の制御システム。
[構成7]
前記データ加工処理は、前記データ収集処理により収集された1または複数の入力データを所定フォーマットに成型する処理を含む、構成1〜6のいずれか1項に記載の制御システム。
[構成8]
前記サポート装置は、前記第2のデータ収集処理および前記第2のデータ加工処理が前記第1のタスクおよび前記第2のタスクのいずれにも割り当て可能な場合に、いずれのタスクに割り当てるかの設定を受け付ける(270)、構成1〜7のいずれか1項に記載の制御システム。
[構成9]
前記サポート装置は、前記第2のデータ収集処理および前記第2のデータ加工処理の割り当て先タスクの変更を受け付ける(280)、構成8に記載の制御システム。
[構成10]
制御対象を制御するための制御演算を実行する制御装置(100)であって、
1または複数の処理が割り当てられた第1のタスク(70)を第1の制御周期(71)で周期実行するための第1の演算部(1021)と、
1または複数の処理が割り当てられた第2のタスク(80)を前記第1の制御周期より長い第2の制御周期(81)で周期実行するための第2の演算部(1022)とを備え、
前記制御演算は、前記制御装置で参照可能な入力データを収集するデータ収集処理(162)と、当該収集された入力データを加工して新たなデータを生成するデータ加工処理(164)とを含み、
前記第1のタスクには、第1の入力データを対象とする第1のデータ収集処理および対応する第1のデータ加工処理が割り当てられており、
外部設定に応じて、第2の入力データを対象とする第2のデータ収集処理および対応する第2のデータ加工処理は、前記第1のタスクおよび前記第2のタスクのうちいずれかに割り当てられる、制御装置。
<K.利点>
本実施の形態に従う制御システムによれば、周期実行されるプライマリ定周期タスク70および定周期タスク80のいずれに対しても、データ収集処理162および特徴抽出処理164(データ加工処理)をそれぞれ独立に割り当てることができるので、処理対象とする入力データについて要求される処理性能や入力データの属性などに応じて、より適切なタスクに割り当てることで、効率的な処理を実現できる。
また、本実施の形態に従う制御システムによれば、プライマリ定周期タスク70および定周期タスク80のいずれにも割り当てることができる場合に、その旨をユーザに通知するユーザインターフェイスが用意されているので、データ収集処理162と対応する特徴抽出処理164(データ加工処理)とが異なるタスクに誤って割り当てられることを防止できる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 制御システム、2 第1フィールドバス、4 第2フィールドバス、6 ローカルネットワーク、10 フィールド装置群、12 リモートI/O装置、14 リレー群、16,124 I/Oユニット、18 画像センサ、20 カメラ、22 サーボドライバ、24 サーボモータ、50 入力データ処理、60 データ利用処理、70,80 定周期タスク、71 プライマリ周期、72,82 I/Oリフレッシュ処理、74,84 ユーザプログラム実行処理、76,86 モーション制御処理、81 定周期、90 システムサービスタスク、92 データ格納処理、94 判定処理、96 ファイル転送処理、100 制御装置、102,202 プロセッサ、104 チップセット、106,206 主記憶装置、108,208 二次記憶装置、110,214 ローカルネットワークコントローラ、112,212 USBコントローラ、114 メモリカードインターフェイス、116 メモリカード、118,120 フィールドバスコントローラ、122 内部バスコントローラ、126 システムプログラム、128 ユーザプログラム、130 学習データ、152 データセット生成部、154 特徴抽出部、156 スコア算出部、158 判定部、162 データ収集処理、164 特徴抽出処理、200 サポート装置、204 ドライブ、205 記憶媒体、216 入力部、218 表示部、220 バス、230 データマイニングツール、240 設定ツール、250,270,280 ユーザインターフェイス画面、252 設定登録ボタン、256 登録変数名設定欄、258 データ型設定欄、260 周期設定ボタン、262 反映ボタン、272 対象変数表示、274 タスク選択欄、276,286 OKボタン、282,284 定周期タスク欄、300 上位サーバ、400 HMI、1021,1022,1023,1024 コア。

Claims (10)

  1. 制御対象を制御するための制御演算を実行する制御装置と、
    前記制御装置で実行される制御演算の内容を設定するサポート装置とを備え、
    前記制御装置は、1または複数の処理が割り当てられた第1のタスクを第1の制御周期で周期実行するための第1の演算部と、1または複数の処理が割り当てられた第2のタスクを前記第1の制御周期より長い第2の制御周期で周期実行するための第2の演算部とを備え、
    前記制御演算は、前記制御装置で参照可能な入力データを収集するデータ収集処理と、当該収集された入力データを加工して新たなデータを生成するデータ加工処理とを含み、
    前記第1のタスクには、第1の入力データを対象とする第1のデータ収集処理および対応する第1のデータ加工処理が割り当てられており、
    前記サポート装置を介した設定に応じて、第2の入力データを対象とする第2のデータ収集処理および対応する第2のデータ加工処理は、前記第1のタスクおよび前記第2のタスクのうちいずれかに割り当てられる、制御システム。
  2. 前記制御装置は、1または複数の処理が割り当てられた第3のタスクを状況に応じて実行するための第3の演算部をさらに備える、請求項1に記載の制御システム。
  3. 前記第3のタスクには、前記第1のデータ加工処理および前記第2のデータ加工処理により生成されるデータを格納する処理が割り当てられている、請求項2に記載の制御システム。
  4. 前記第3のタスクには、前記第1のデータ加工処理および前記第2のデータ加工処理により生成されるデータから所定の指標を算出する処理が割り当てられている、請求項2または3に記載の制御システム。
  5. 前記データ加工処理は、前記データ収集処理により収集された複数の入力データから特徴量を算出する処理を含む、請求項1〜4のいずれか1項に記載の制御システム。
  6. 前記データ加工処理は、前記データ収集処理により収集された入力データを対応する物理量に変換する処理を含む、請求項1〜5のいずれか1項に記載の制御システム。
  7. 前記データ加工処理は、前記データ収集処理により収集された1または複数の入力データを所定フォーマットに成型する処理を含む、請求項1〜6のいずれか1項に記載の制御システム。
  8. 前記サポート装置は、前記第2のデータ収集処理および前記第2のデータ加工処理が前記第1のタスクおよび前記第2のタスクのいずれにも割り当て可能な場合に、いずれのタスクに割り当てるかの設定を受け付ける、請求項1〜7のいずれか1項に記載の制御システム。
  9. 前記サポート装置は、前記第2のデータ収集処理および前記第2のデータ加工処理の割り当て先タスクの変更を受け付ける、請求項8に記載の制御システム。
  10. 制御対象を制御するための制御演算を実行する制御装置であって、
    1または複数の処理が割り当てられた第1のタスクを第1の制御周期で周期実行するための第1の演算部と、
    1または複数の処理が割り当てられた第2のタスクを前記第1の制御周期より長い第2の制御周期で周期実行するための第2の演算部とを備え、
    前記制御演算は、前記制御装置で参照可能な入力データを収集するデータ収集処理と、当該収集された入力データを加工して新たなデータを生成するデータ加工処理とを含み、
    前記第1のタスクには、第1の入力データを対象とする第1のデータ収集処理および対応する第1のデータ加工処理が割り当てられており、
    外部設定に応じて、第2の入力データを対象とする第2のデータ収集処理および対応する第2のデータ加工処理は、前記第1のタスクおよび前記第2のタスクのうちいずれかに割り当てられる、制御装置。
JP2018214286A 2018-11-15 2018-11-15 制御システムおよび制御装置 Active JP6988773B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2018214286A JP6988773B2 (ja) 2018-11-15 2018-11-15 制御システムおよび制御装置
EP19884799.8A EP3882727A4 (en) 2018-11-15 2019-10-24 CONTROL SYSTEM AND CONTROL DEVICE
US17/284,781 US11520302B2 (en) 2018-11-15 2019-10-24 Control system and control device
PCT/JP2019/041734 WO2020100548A1 (ja) 2018-11-15 2019-10-24 制御システムおよび制御装置
CN201980057987.1A CN112654939B (zh) 2018-11-15 2019-10-24 控制系统以及控制装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018214286A JP6988773B2 (ja) 2018-11-15 2018-11-15 制御システムおよび制御装置

Publications (2)

Publication Number Publication Date
JP2020086481A JP2020086481A (ja) 2020-06-04
JP6988773B2 true JP6988773B2 (ja) 2022-01-05

Family

ID=70730776

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018214286A Active JP6988773B2 (ja) 2018-11-15 2018-11-15 制御システムおよび制御装置

Country Status (5)

Country Link
US (1) US11520302B2 (ja)
EP (1) EP3882727A4 (ja)
JP (1) JP6988773B2 (ja)
CN (1) CN112654939B (ja)
WO (1) WO2020100548A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022101969A (ja) * 2020-12-25 2022-07-07 オムロン株式会社 制御システム、サポート装置およびラベル付与方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002351509A (ja) * 2001-05-25 2002-12-06 Mitsubishi Electric Corp プログラミングツール及びプログラミング方法
US7983769B2 (en) * 2004-11-23 2011-07-19 Rockwell Automation Technologies, Inc. Time stamped motion control network protocol that enables balanced single cycle timing and utilization of dynamic data structures
US7904184B2 (en) * 2004-11-23 2011-03-08 Rockwell Automation Technologies, Inc. Motion control timing models
US8561073B2 (en) * 2008-09-19 2013-10-15 Microsoft Corporation Managing thread affinity on multi-core processors
US20110263309A1 (en) * 2010-04-27 2011-10-27 Igt Runtime downloadable motion control profiles
JP4752983B1 (ja) 2011-03-15 2011-08-17 オムロン株式会社 Plcのcpuユニット、plc用のシステムプログラムおよびplc用のシステムプログラムを格納した記録媒体
KR101271170B1 (ko) * 2012-05-31 2013-06-04 삼성에스디에스 주식회사 비밀키 생성을 위한 고속연산 수행 방법 및 장치
CN103365718A (zh) * 2013-06-28 2013-10-23 贵阳朗玛信息技术股份有限公司 一种线程调度方法、线程调度装置及多核处理器系统
JP2015210728A (ja) * 2014-04-28 2015-11-24 株式会社東芝 プラント制御装置、プラント制御プログラム、およびプラント制御方法
CN106484537B (zh) * 2016-09-30 2019-07-19 网易(杭州)网络有限公司 一种cpu核资源的分配方法和设备
JP7000686B2 (ja) * 2017-02-13 2022-01-19 オムロン株式会社 制御装置
WO2018186358A1 (ja) * 2017-04-07 2018-10-11 オムロン株式会社 制御装置、制御方法および制御プログラム
JP7385989B2 (ja) * 2018-12-12 2023-11-24 日立Astemo株式会社 演算制御装置

Also Published As

Publication number Publication date
US11520302B2 (en) 2022-12-06
EP3882727A4 (en) 2022-07-20
EP3882727A1 (en) 2021-09-22
WO2020100548A1 (ja) 2020-05-22
US20220004155A1 (en) 2022-01-06
JP2020086481A (ja) 2020-06-04
CN112654939A (zh) 2021-04-13
CN112654939B (zh) 2023-11-21

Similar Documents

Publication Publication Date Title
CN108227641B (zh) 控制装置、控制方法及计算机可读存储介质
CN109983412B (zh) 控制装置、计算机可读记录介质以及控制方法
JP6903976B2 (ja) 制御システム
JP6965798B2 (ja) 制御システムおよび制御方法
EP3336637A1 (en) Control system, control program, and control method
JP6926539B2 (ja) 制御装置およびプログラム
JP6468313B2 (ja) 制御装置、制御プログラムおよび制御方法
JP6388050B1 (ja) 制御装置
JP7119978B2 (ja) 制御装置およびプログラム
JP2018173883A (ja) 制御装置、制御プログラム、制御システム、および制御方法
JP2019049947A (ja) 制御装置および制御方法
JP2018151917A (ja) 制御装置
JP2018133037A (ja) 制御装置
JP7063229B2 (ja) 制御装置および制御プログラム
JP6988773B2 (ja) 制御システムおよび制御装置
JP7102801B2 (ja) 制御システム、制御装置および表示装置
WO2020166432A1 (ja) 制御装置、制御プログラムおよび制御システム
WO2021199519A1 (ja) 制御装置、プログラムおよび制御方法
WO2020240945A1 (ja) 制御システム、制御装置および制御プログラム
JP2023151933A (ja) データ収集装置、制御システム、方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201214

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: 20211102

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211115

R150 Certificate of patent or registration of utility model

Ref document number: 6988773

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150