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

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

Info

Publication number
JP2018084894A
JP2018084894A JP2016226557A JP2016226557A JP2018084894A JP 2018084894 A JP2018084894 A JP 2018084894A JP 2016226557 A JP2016226557 A JP 2016226557A JP 2016226557 A JP2016226557 A JP 2016226557A JP 2018084894 A JP2018084894 A JP 2018084894A
Authority
JP
Japan
Prior art keywords
control
control cycle
sample value
value group
cycle
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
JP2016226557A
Other languages
English (en)
Other versions
JP6753278B2 (ja
Inventor
真輔 川ノ上
Shinsuke Kawanokami
真輔 川ノ上
博 栗林
Hiroshi Kuribayashi
博 栗林
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 JP2016226557A priority Critical patent/JP6753278B2/ja
Priority to US15/706,847 priority patent/US10452048B2/en
Priority to CN201710838765.6A priority patent/CN108089535B/zh
Priority to EP17192845.0A priority patent/EP3324256B1/en
Publication of JP2018084894A publication Critical patent/JP2018084894A/ja
Application granted granted Critical
Publication of JP6753278B2 publication Critical patent/JP6753278B2/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/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • 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
    • 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/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/054Input/output
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/11Plc I-O input output
    • G05B2219/1147Variable rate of scan
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/11Plc I-O input output
    • G05B2219/1176I-O signal processing, adaption, conditioning, conversion of signal levels
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13086Priority interrupt
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34008Asic application specific integrated circuit, single chip microcontroller

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Programmable Controllers (AREA)
  • Feedback Control In General (AREA)

Abstract

【課題】制御装置において一連の処理が繰返し実行される周期を状況に応じて変更する。【解決手段】I/Oリフレッシュ処理およびプログラム実行処理を含む一連の処理を第1の制御周期で繰返し実行する制御装置を含む制御システムが提供される。制御システムは、第1の制御周期でI/Oリフレッシュ処理が繰返し実行されることで収集される第1のサンプル値群を取得する第1の取得手段と、第1の制御周期より長い第2の制御周期でI/Oリフレッシュ処理が繰返し実行された場合に収集されるであろう第2のサンプル値群を取得する第2の取得手段と、第1のサンプル値群に含まれる第1の周波数成分と第2のサンプル値群に含まれる第2の周波数成分とが実質的に同一であるかを判断する判断手段と、第1の周波数成分と第2の周波数成分とが実質的に同一であることを条件に、第1の制御周期を第2の制御周期に変更する変更手段とを含む。【選択図】図3

Description

本技術は、制御装置を含む制御システムにおける制御周期を最適化する技術に関する。
様々な生産現場において、PLC(プログラマブルコントローラ)などの制御装置を用いたFA(Factory Automation)技術が広く普及している。例えば、特開2010−170536号公報(特許文献1)に開示されるように、このような制御装置は、入出力リフレッシュ処理、共通処理、ユーザプログラム実行処理、周辺サービス処理といった一連の処理を繰返し実行する。
ところで、近年の情報通信技術(ICT:Information and Communication Technology)の発展に伴って、このような制御装置もよりインテリジェント化しつつある。このようなインテリジェント化に伴って、制御装置においてより多くの処理(タスクやプロセス)が実行されるようになっている。このような処理の実行を実行するための制御装置のリソースは有限であるため、リソースの効率的な使用が要求されている。
特開2010−170536号公報
上述の特許文献1は、ユーザプログラムの実行所要時間の変動等の要因にかかわらず、相前後する入出力リフレッシュ処理の実行間隔を一定化することに注目されており、上述したような課題については考慮されていない。
本技術は、制御装置において一連の処理が繰返し実行される周期を状況に応じて変更する方法に向けられている。
本発明のある局面によれば、I/Oリフレッシュ処理およびプログラム実行処理を含む一連の処理を第1の制御周期で繰返し実行する制御装置を含む制御システムが提供される。制御システムは、第1の制御周期でI/Oリフレッシュ処理が繰返し実行されることで収集される第1のサンプル値群を取得する第1の取得手段と、第1の制御周期より長い第2の制御周期でI/Oリフレッシュ処理が繰返し実行された場合に収集されるであろう第2のサンプル値群を取得する第2の取得手段と、第1のサンプル値群に含まれる第1の周波数成分と第2のサンプル値群に含まれる第2の周波数成分とが実質的に同一であるかを判断する判断手段と、第1の周波数成分と第2の周波数成分とが実質的に同一であることを条件に、第1の制御周期を第2の制御周期に変更する変更手段とを含む。
変更手段は、第1の制御周期から第2の制御周期への変更に係る情報を提示するユーザインターフェイスを提供する。
好ましくは、変更手段は、第1の周波数成分と第2の周波数成分とが実質的に同一であるか否かをユーザへ通知する。
好ましくは、変更手段は、ユーザ操作を受けて、第1の制御周期を第2の制御周期に変更する。
好ましくは、第2の取得手段は、複数の第2の制御周期について第2のサンプル値群をそれぞれ取得し、判断手段は、各第2のサンプル値群に含まれる第2の周波数成分を比較することで、第1の周波数成分と実質的に同一である第2の周波数成分のうち、最も長い第2の制御周期を決定する。
好ましくは、第2の制御周期は、第1の制御周期の整数倍に設定される。
好ましくは、制御システムは、サンプル値群を高速フーリエ変換することで周波数成分を生成する変換手段をさらに含む。
好ましくは、制御システムは、一連の処理が第2の制御周期で繰返し実行される状態において、I/Oリフレッシュ処理により収集されるサンプル値が第2の制御周期で適切に収集できているかを判断する監視手段をさらに含む。
本発明の別の局面に従う制御装置は、I/Oリフレッシュ処理およびプログラム実行処理を含む一連の処理を第1の制御周期で繰返し実行する実行手段と、第1の制御周期でI/Oリフレッシュ処理が繰返し実行されることで収集される第1のサンプル値群を取得する第1の取得手段と、第1の制御周期より長い第2の制御周期でI/Oリフレッシュ処理が繰返し実行された場合に収集されるであろう第2のサンプル値群を取得する第2の取得手段と、第1のサンプル値群に含まれる第1の周波数成分と第2のサンプル値群に含まれる第2の周波数成分とが実質的に同一であるかを判断する判断手段と、第1の周波数成分と第2の周波数成分とが実質的に同一であることを条件に、第1の制御周期を第2の制御周期に変更する変更手段とを含む。
本技術に係る制御装置によれば、一連の処理が繰返し実行される周期を状況に応じて変更できる。
本実施の形態に従う制御装置を含む制御システムの構成例を示す模式図である。 本実施の形態に従う制御装置のハードウェア構成例を示すブロック図である。 本実施の形態に従う制御装置が提供する制御周期の最適化処理の概要を説明する模式図である。 本実施の形態に従う制御装置での制御周期の最適化による効果を説明する模式図である。 本実施の形態に従う制御周期の最適化処理(ユーザ主導)に係る処理手順を示すフローチャートである。 図5のステップS4に関連付けられるユーザインターフェイス画面の一例を示す図である。 図5のステップS8およびS10に関連付けられるサンプル値群の生成処理の実装例を説明する模式図である。 図5のステップS14に関連付けられるユーザインターフェイス画面の一例を示す図である。 本実施の形態に従う制御周期の最適化処理(自動)に係る処理手順を示すフローチャートである。 本実施の形態に従う制御装置のソフトウェア構成の一例を示す模式図である。 本実施の形態に従う制御装置の機能構成の一例を示す模式図である。 本実施の形態に従う制御周期の最適化処理に係る評価方法の一例を説明する模式図である。 本実施の形態に従う制御周期の最適化処理に係る監視機能の一例を説明する模式図である。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
<A.制御システムの構成例>
まず、本実施の形態に従う制御装置を含む制御システム1の構成例について説明する。
図1は、本実施の形態に従う制御装置を含む制御システム1の構成例を示す模式図である。図1を参照して、本実施の形態に従う制御システム1は、制御装置100と、ネットワーク156を介して制御装置100に接続されるリモート入出力装置(以下、「リモートI/O(Input/Output)装置」とも称す。)150と、制御装置100に接続されるサポート装置200とを含む。制御装置100は、制御装置100に装着される入出力ユニット、および、リモートI/O装置150に装着される入出力ユニットを介して、制御対象または制御に関連する製造装置や生産ラインなど(以下、「フィールド」とも総称する。)から入力データを収集する(I/Oリフレッシュ処理)。
一例として、リモートI/O装置150は、接続管理ユニット152と、1または複数の入出力ユニット154とを含む。接続管理ユニット152は、ネットワーク156を介して制御装置100との間でデータを遣り取りする。具体的には、接続管理ユニット152は、入出力ユニット154が取得した入力データを制御装置100へ転送するとともに、制御装置100からの出力データを対象となる入出力ユニット154へ転送する。入出力ユニット154は、典型的には、フィールドからの信号を入力データとして取得する機能、および、制御装置100からの出力データに基づいてフィールドへ指令となる信号を出力する機能の少なくとも一方を有している。
制御装置100は、収集した入力データに基づいて、予め登録されたユーザプログラム(例えば、シーケンス制御を実現するためのシーケンスプログラム、ロボットなどの位置を制御するためのモーションプログラム、各種データ処理を実現するための処理プログラムなどを含む)を実行することで、出力データを算出する(プログラム実行処理)。最終的に、制御装置100は、算出した出力データに基づいて、対象となる製造装置やライン(典型的には、リレーやサーボなどのアクチュエータ)を駆動するための信号を出力する(I/Oリフレッシュ処理)。
制御装置100は、基本的には、I/Oリフレッシュ処理およびプログラム実行処理を含む一連の処理を予め設定された制御周期で繰返し実行する。
以下の説明では、主として、フィールドからの入力データの収集処理に着目して説明するが、本実施の形態に従う処理は出力データに基づく指令となる信号の出力にも同様に適用可能である。
サポート装置200は、制御装置100が制御対象を制御するために必要な準備を支援する装置である。具体的には、サポート装置200は、制御装置100で実行されるプログラムの開発環境(プログラム作成編集ツール、パーサ、コンパイラなど)、制御装置100および制御装置100に接続される各種デバイスのパラメータ(コンフィギュレーション)を設定するための設定環境、生成したユーザプログラムを制御装置100へ送信する機能、制御装置100上で実行されるユーザプログラムなどをオンラインで修正・変更する機能、などを提供する。
<B.制御装置100のハードウェア構成例>
次に、本実施の形態に従う制御装置100のハードウェア構成例について説明する。図2は、本実施の形態に従う制御装置100のハードウェア構成例を示すブロック図である。図2を参照して、制御装置100は、予め作成されたユーザプログラムをプロセッサが実行することで、制御対象に応じた制御を実現する。より具体的には、制御装置100は、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)などのプロセッサ102と、チップセット104と、メインメモリ106と、フラッシュメモリ108と、ネットワークコントローラ110と、メモリカードインターフェイス112と、内部バスコントローラ116と、フィールドバスコントローラ118と、シリアル通信インターフェイス120とを含む。
プロセッサ102は、フラッシュメモリ108に格納されたシステムプログラムおよびユーザプログラムなど(いずれも不図示)を読み出して、メインメモリ106に展開して実行することで、制御対象に応じた制御を実現する。システムプログラムは、データの入出力処理や実行タイミング制御などの、制御装置100の基本的な機能を提供するための命令コードを含む。ユーザプログラムは、制御対象に応じて任意に設計され、シーケンス制御を実行するためのシーケンスプログラムおよびモーション制御を実行するためのモーションプログラムなどを含む。
チップセット104は、各コンポーネントを制御することで、制御装置100全体としての処理を実現する。内部バスコントローラ116は、制御装置100と内部バスを通じて連結されるI/Oユニット130とデータを遣り取りするインターフェイスである。フィールドバスコントローラ118は、制御装置100とフィールドバスを通じて連結されるリモートI/O装置150(より具体的には、リモートI/O装置150に含まれる入出力ユニット154)とデータを遣り取りするインターフェイスである。
内部バスコントローラ116およびフィールドバスコントローラ118は、各入出力ユニットに入力される入力データを収集するとともに、プロセッサ102での演算結果(出力データ)を各入出力ユニットへ出力する。入出力ユニットは、出力データに応じた出力信号を発生する。
メモリカードインターフェイス112は、メモリカード114を着脱可能に構成されており、メモリカード114に対してデータを書込み、メモリカード114から各種データ(ユーザプログラムやトレースデータなど)を読出すことが可能になっている。
ネットワークコントローラ110は、各種の有線ネットワークまたは無線ネットワークを通じたデータの遣り取りを制御する。
制御装置100がプログラムを実行することで提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。
<C.サポート装置200のハードウェア構成例>
次に、本実施の形態に従うサポート装置200は、一例として、汎用コンピュータ上でサポート機能を実現するためのプログラムを実行させることで実現される。すなわち、サポート装置200のハードウェア構成例としては、汎用アーキテクチャを有するパーソナルコンピュータなどの汎用コンピュータが用いられる。このような汎用コンピュータの具体的構成については周知であるので、ここでは、その詳細な説明は行わない。
<D.制御周期の最適化処理の概要>
次に、本実施の形態に従う制御装置が提供する制御周期の最適化処理の概要について説明する。図3は、本実施の形態に従う制御装置100が提供する制御周期の最適化処理の概要を説明する模式図である。
図3を参照して、典型的には、制御装置(PLC)では、共通処理(ステップS1)と、I/Oリフレッシュ処理(ステップS2)と、プログラム実行処理(ステップS3)と、周辺サービス処理(ステップS4)とが所定の制御周期で繰返される処理サイクルを有しているとする。共通処理、I/Oリフレッシュ処理、プログラム実行処理、および、周辺サービス処理の実行に要する時間をサイクルタイムとも称す。
共通処理(ステップS1)は、プロセッサやメモリなどのリソースを診断する処理および各部における異常発生を検出する処理を含む。
I/Oリフレッシュ処理(ステップS2)は、I/Oユニットがフィールドからの信号を変換して生成する入力データを収集する処理、および、プログラムの実行により算出された出力データを対象のI/Oユニットへ送出する処理を含む。I/Oリフレッシュ処理において、入力データが収集される周期、および、出力データが送出される周期は、データ毎に設定できるようにしてもよい。
プログラム実行処理(ステップS3)は、基本的には、予め用意されたユーザプログラムが実行される。このユーザプログラムは、制御対象の制御に必要な演算処理を実現する。典型的には、ユーザプログラムは複数のタスクを有しており、各タスクの実行周期(処理開始周期/タスク起動周期)は制御周期を基準に設定される。例えば、各タスクの実行周期は、制御周期の整数倍に設定されるようにしてもよい。このような各タスクの実行周期と制御周期とを同一に設定しないので、制御周期毎に実行されるタスクもあれば、例えば、4制御周期毎に実行されるタスクもある。後者のようなタスクについては、1回の実行が複数の制御周期にわたることもある。
周辺サービス処理(ステップS4)は、制御対象の制御には直接関係はしない付加的な処理を含む。例えば、周辺サービス処理は、ログデータや運転状況を示す情報のサーバへの送出、サポート装置200からのアクセスに対する処理、他の装置からの各種パラメータ設定などを含んでいてもよい。
図3に示す周期的に繰返される4つの処理は典型的なものであり、一部の処理が省略されてもよいし、複数の処理が一体的に実行されてもよいし、いずれかの処理の間で実行順序を入れ替えるようにしてもよい。
一般的に、制御装置においては、共通処理(ステップS1)、I/Oリフレッシュ処理(ステップS2)およびプログラム実行処理(ステップS3)を定周期で繰返し実行することが要求されている。処理サイクルの1周期(制御周期)内では、I/Oリフレッシュ処理およびプログラム実行処理が優先的に実行され、残りの時間で、周辺サービス処理(ステップS4)が実行される。
一方で、制御装置100のインテリジェント化に伴って、周辺サービス処理に含まれる処理内容が複雑および多様化しつつあり、周辺サービス処理に対してより多くの実行時間を割り当てたいという要望が増加しつつある。そこで、本実施の形態に従う制御装置100においては、入力データを収集する周期(以下、「サンプリング周期」とも称す。)を変更した場合の変化を評価して、現在設定されている制御周期の冗長性の有無および程度を判断し、制御周期の冗長性が十分に高いと判断すると制御周期を最適化する。より具体的には、制御周期の最適化としては、制御周期をより長い方向へ変更する処理を含む。
制御周期の冗長性の具体的な評価方法としては、サンプリング周期を仮想的に長くするとともに、そのときに収集されであろう入力データに有意な変化があるか否かを判断する。サンプリング周期は制御周期に依存しており、サンプリング周期を長くしても、入力データに有意な変化が生じていないことが確認されると、制御周期に冗長性がある、すなわち制御周期を延ばすことができると判断できる。
より具体的には、図3に示すように、現在の制御周期T0で処理が繰返されている状態において、I/Oリフレッシュ処理によって、入力データについてのサンプリング周期Ts0毎の値(サンプル値群10)が取集されたとする。サンプリング周期Ts0毎のサンプル値群10の一部を抽出して、サンプリング周期Ts1で仮想的にサンプリングしたときに得られるであろうサンプル値群11を生成する。例えば、サンプリング周期Ts1がサンプリング周期Ts0の2倍である場合には、時系列に並んでいるサンプル値群10から1個おきにサンプル値を抽出することで、サンプリング周期Ts1のサンプル値群11を生成できる。以下同様にして、サンプリング周期を仮想的に変化させたときのサンプル値群をそれぞれ生成できる。
異なるサンプリング周期についてのサンプル値群を互いに比較して、各サンプル値群に含まれる情報の欠落の有無を判断する。各サンプル値群に含まれる情報の欠落の有無を判断する手法の一つとして、各サンプル値群を周波数変換することで得られる周波数成分を用いた比較を採用できる。
典型的には、高速フーリエ変換(FFT:Fast Fourier Transform)や離散フーリエ変換(DFT:discrete Fourier transform)などにより、各サンプル値群の情報(時間領域の情報)から周波数毎の係数値群(すなわち、スペクトル)などの周波数領域の情報を生成し、これらの周波数領域の情報を互いに比較することができる。
例えば、サンプリング周期Ts0についてのスペクトルとサンプリング周期Ts1(Ts1>Ts0)についてのスペクトルとの間に、実質的な相違がなければ、制御周期をサンプリング周期Ts1に応じた時間まで延ばすことができることを意味する。例えば、対象となる2つのスペクトルが略同一であれば、両スペクトルの間には実質的な相違がないと判断できる。つまり、評価対象の入力データの時間的変化に比較して、サンプリング周期が短すぎて、冗長なサンプリングが行われていると判断できる。この場合、サンプリング周期をその評価対象のデータに生じる時間的変化に応じた時間まで長くしても、収集される入力データに含まれる情報量は実質的に変わらない。
このように、サンプリング周期を仮想的に変化させて、収集されるであろう入力データを評価することで、現在の制御周期の冗長性の有無および程度を判断し、制御周期の長さを最適化できる。
<E.制御周期の最適化による効果>
次に、本実施の形態に従う制御周期の最適化による効果について説明する。図4は、本実施の形態に従う制御装置100での制御周期の最適化による効果を説明する模式図である。
現在の状態として、図4(A)に示すように、制御周期T0において処理サイクルが繰返されているとする。すなわち、各制御周期においては、共通処理、I/Oリフレッシュ処理、プログラム実行処理が先に実行された後、残りの時間で、周辺サービス処理が実行される。
図4(A)に示すような状態から制御周期を元の制御周期T0の2倍とすると、各処理の実行状態は図4(B)に示すような状態になる。すなわち、共通処理、I/Oリフレッシュ処理、プログラム実行処理が実行される周期は制御周期T0の2倍となる。これによって、これらの処理サイクルが実行される頻度は1/2になり、これに伴って、周辺サービス処理に対してより多くの実行時間が割り当てられる。
周辺サービス処理により多くの実行時間が割り当てられることで、付加的な各種情報を処理することを容易化でき、制御装置100のインテリジェント化を促進できる。
説明の便宜上、図4には、元の制御周期を2倍にする例を示すが、元の制御周期に比較してより長い制御周期に変更さえできれば、その変更後の長さについてはいずれであってもよい。
<F.処理手順(ユーザ主導)>
次に、本実施の形態に従う制御周期の最適化処理に係るユーザ主導での処理手順について説明する。図5は、本実施の形態に従う制御周期の最適化処理に係る処理手順(ユーザ主導)を示すフローチャートである。図5に示す各ステップは、制御システム1を構成する制御装置100およびサポート装置200が互いに協働することで実現される。制御装置100およびサポート装置200がいずれの処理を実施するのかについては、任意に設計することができる。すなわち、各ステップは、制御装置100およびサポート装置200のうち、より適切な方の装置で実行されるようにしてもよい。
以下の説明においては、制御装置100およびサポート装置200においては、変数プログラミング環境が提供されているとし、これらの装置が取り扱うことのできる入力データ、出力データ、任意の内部データなどの値(実体値)については、変数の形で参照することができる。そのため、以下の説明においては、任意のデータを「変数」と総称することもある。
図5を参照して、本実施の形態に従う制御周期の最適化処理の開始が指示されると(ステップS102においてYESの場合)、制御システム1は、制御周期の最適化処理に用いられる変数(以下、「対象変数」とも称す。)の選択をユーザから受付ける(ステップS104)。
図6は、図5のステップS104に関連付けられるユーザインターフェイス画面の一例を示す図である。図6に示すユーザインターフェイス画面は、典型的には、サポート装置200に接続されたディスプレイ上に表示される。後述の図8に示すユーザインターフェイス画面についても同様である。図6および図8に例示されるユーザインターフェイス画面は、元の制御周期から新たな制御周期への変更に係る情報を含むとともに、ユーザ操作を受付ける。
図5のステップS104においては、例えば、図6に示すようなユーザインターフェイス画面210がサポート装置200上に表示される。ユーザインターフェイス画面210には、制御システム1に含まれる入出力ユニットが扱う入力データ(変数)が一覧表示される。この一覧表示には、各入力データについて、当該入力データを収集する入出力ユニットの番号(図6中の参照符号214)、入出力ユニットの当該入力データが入力されるチャネル番号(ポート番号)(図6中の参照符号216)、当該入力データを参照するために割り当てられている変数名(図6中の参照符号218)、当該入力データを収集する入出力ユニットの種別(図6中の参照符号220)、および、当該入力データについてのコメント(図6中の参照符号222)を含む。
ユーザは、一覧表示される入力データのうち、基本的には、その時間的変化が最も早い変数を対象変数として選択する。具体的には、ユーザインターフェイス画面210に含まれる対応するチェックボックス(図6中の参照符号212)をチェックする。そして、ユーザがOKボタン224を押下することで、対象変数の選択が完了する。対象変数は1つではなく、複数を選択できるようにしてもよい。
このように、制御システム1においては、I/Oリフレッシュ処理によって値が更新される変数のうち、最適な制御周期を決定するために用いられる変数(対象変数)を選択するための機能が提供される。
再度図5を参照して、制御装置100は、選択された対象変数に対するサンプリングを実行し、所定時間にわたる値の変化を収集する(ステップS106)。収集された対象変数の値(すなわち、現在の制御周期のサンプル値群)から、1または複数の異なるサンプリング周期のサンプル値群が生成される(ステップS108)。そして、サンプリング周期のサンプル値群の各々について周波数変換が行われて、サンプリング周期毎の周波数変換結果(典型的には、FFT結果)が生成される(ステップS110)。周波数変換結果は、対応のサンプル値群に含まれる周波数成分を含むことになる。
図7は、図5のステップS108およびS110に関連付けられるサンプル値群の生成処理の実装例を説明する模式図である。図7を参照して、現在の制御周期におけるサンプリング周期Ts0で入力データをサンプリングすることでサンプル値群250を取得する。サンプル値群250を部分抽出することで、サンプリング周期Ts1(=サンプリング周期Ts0×2)、サンプリング周期Ts2(=サンプリング周期Ts0×3)、…のサンプル値群252,254を生成する。
例えば、現在の制御周期におけるサンプリング周期Ts0の2倍であるサンプリング周期Ts1については、サンプリング周期Ts0のサンプル値群250に含まれるサンプル値d1,d2,d3,…を1個おき(図7に示す例では、奇数分)に部分抽出することで、サンプリング周期Ts1のサンプル値群252を生成できる。同様に、現在の制御周期におけるサンプリング周期Ts0の3倍であるサンプリング周期Ts2については、サンプリング周期Ts0のサンプル値群250に含まれるサンプル値d1,d2,d3,…を2個おきに部分抽出することで、サンプリング周期Ts2のサンプル値群254を生成できる。そして、各サンプリング周期のサンプル値群に対して周波数変換処理が実行され、周波数変換結果(周波数成分)がそれぞれ生成される。
なお、図7に示すようなサンプル値群に含まれるサンプル値を部分抽出する方法ではなく、I/Oリフレッシュ処理の現実の実行周期を長くすることで、異なるサンプリング周期のサンプル値群を生成するようにしてもよい。
再度図5を参照して、それぞれ生成された周波数変換結果(周波数成分)を互いに比較して、制御周期の冗長性の度合いが評価される(ステップS112)。具体的には、各サンプリング周期の周波数変換結果が実質的に同一であるか否かが判断される。すなわち、サンプリング周期Ts0についての周波数変換結果と実質的に同一の周波数変換結果が得られた最大のサンプリング周期が特定される。そして、制御周期の冗長性の度合いについての評価結果および制御周期の変更可否などがユーザへ出力される(ステップS114)。
図8は、図5のステップS114に関連付けられるユーザインターフェイス画面の一例を示す図である。ステップS114においては、例えば、図8に示すようなユーザインターフェイス画面230がサポート装置200上に表示される。ユーザインターフェイス画面230には、制御周期の冗長性の度合いについての評価結果(図8中の参照符号232)が表示される。さらに、現在の制御周期(図8中の参照符号234)に加えて、変更可能な制御周期のリスト(図8中の参照符号236)が表示される。
ユーザは、ユーザインターフェイス画面230の内容を確認しつつ、状況に応じて、制御周期を選択可能なリストから選択することができる。ユーザが新たな制御周期を選択し、OKボタン238を押下することで、制御周期の変更が完了する。
再度図5を参照して、ユーザが制御周期の変更を指示すると(ステップS116においてYESの場合)、指示に沿って制御周期が変更される(ステップS118)。つまり、図5に示される制御周期の最適化処理においては、変更前の制御周期での周波数成分と変更後の制御周期での周波数成分とが同一であることを条件にして、ユーザ操作を受けることで、制御周期が変更される。この制御周期の変更に伴って、ユーザプログラムに含まれる各タスクの実行周期も更新される。ユーザが制御周期の変更を指示しなければ(ステップS116においてNOの場合)、現在の制御周期が維持される。
以上のような処理手順によって、制御周期の最適化処理が完了する。
<G.処理手順(自動)>
上述したユーザ主導での処理手順においては、対象変数の周波数変換結果などに基づいて、制御装置100およびサポート装置200が制御周期の変更の可能性をユーザに提示した上で、ユーザが制御周期を変更する指示を与えるような方法について例示した。このような機能を制御装置100が自動的に行うようにしてもよい。
例えば、動作モードや動作状況に応じて制御対象の挙動が変化するような場合には、状況に応じて、制御周期を自動的に変化させるようにしてもよい。
図9は、本実施の形態に従う制御周期の最適化処理に係る処理手順(自動)を示すフローチャートである。図9に示す各ステップは、基本的には、制御システム1を構成する制御装置100にて実現されることが想定されているが、制御装置100およびサポート装置200が連係して全体の処理を実行するようにしてもよい。なお、図5に示す制御手順のステップと実質的に同一の処理を実行するステップについては、同一のステップ番号を付与している。
図9に示す処理手順においては、制御周期の最適化処理に用いられる変数(対象変数)は予め選択されているとする。
図9を参照して、制御装置100は、対象変数に対するサンプリングを実行し、所定時間にわたる値の変化を収集する(ステップS106)。収集された対象変数の値(現在の制御周期のサンプル値群)から、1または複数の異なるサンプリング周期のサンプル値群が生成される(ステップS108)。そして、サンプリング周期のサンプル値群の各々について周波数変換が行われて、サンプリング周期毎の周波数変換結果(典型的には、FFT結果)が生成される(ステップS110)。周波数変換結果は、対応のサンプル値群に含まれる周波数成分を含むことになる。
それぞれ生成された周波数変換結果(周波数成分)を互いに比較して、制御周期の冗長性の度合いが予め定められた値以上であるか否かが評価される(ステップS111)。制御周期の冗長性の度合いが予め定められた値未満である場合(ステップS111においてNOの場合)、ステップS106以下の処理が繰返される。
制御周期の冗長性の度合いが予め定められた値以上である場合(ステップS111においてYESの場合)、制御装置100は、サンプリング周期Ts0についての周波数変換結果と実質的に同一の周波数変換結果が得られた最大のサンプリング周期を特定し、変更後の制御周期を決定する(ステップS113)。制御装置100は、予め定められた条件が成立したタイミングで、ステップS113において決定した制御周期に変更する(ステップS115)。つまり、図9に示される制御周期の最適化処理においては、変更前の制御周期での周波数成分と変更後の制御周期での周波数成分とが同一であることを条件にして、制御周期が変更される。そして、ステップS106以下の処理が繰返される。
以上のような処理手順によって、制御周期が最適な値に維持される。
<H.ソフトウェア構成および機能構成>
次に、本実施の形態に従う制御システム1におけるソフトウェア構成および機能構成について説明する。図10は、本実施の形態に従う制御装置100のソフトウェア構成の一例を示す模式図である。
図10を参照して、制御装置100では、リアルタイムOS(Operating System)(RT−OS)190が実行されており、その実行環境下において、PLCエンジン170、ユーザプログラム162、最適化プログラム166などが実装される。
PLCエンジン170は、ユーザプログラム162を実行するための基本的な処理やI/O処理などを実行するモジュールであり、制御周期毎に更新される変数(例えば、I/O変数172、システム変数174、ユーザ変数176)、および、ユーザプログラム162からコールされるファンクションモジュール178などを含む。I/O変数172は、制御装置100が利用可能なI/Oユニットが収集または出力する入力データおよび出力データを示す。I/O変数172としては、他の制御装置が管理する入力データおよび出力データを含むようにしてもよい。システム変数174は、制御装置100のハードウェアまたはソフトウェアの状態などの値を示す。ユーザ変数176は、ユーザプログラム162で使用される変数の実値を示す。
ユーザプログラム162は、制御対象に応じて任意に設計された一連の命令の集合である。ユーザプログラム162は、1または複数のタスクを含み得る。設定パラメータ164は、制御周期、タスク毎の実行周期および優先度、変数のサンプリング数などの値を含む。このように、I/Oリフレッシュに係るサンプリング数の設定および保存の機能が提供される。
最適化プログラム166は、本実施の形態に従う制御周期の最適化処理を実現するためのプログラムモジュールからなる。最適化プログラム166は、対象変数リスト168に指定される対象変数に関して、制御周期の最適化処理を実行する。最適化プログラム166により生成されるデータ(サンプル値群182および周波数変換結果184など)は、データ格納部180に保持される。
対象変数リスト168は、ユーザによって選択される対象変数を特定するための情報を含む。すなわち、本実施の形態に従う制御周期の最適化処理に係る対象変数の選択および保存の機能が提供される。
上述したようなモジュールおよびプログラムとユーザとの対話を行うためのユーザインターフェイスモジュール160も実装される。ユーザインターフェイスモジュール160は、サポート装置200との間で情報を遣り取りすることで、上述したような処理を実現する。典型的には、ユーザインターフェイスモジュール160は、サポート装置200からの情報(ユーザ操作やユーザ設定)をモジュールまたはプログラムへ伝達するとともに、モジュールまたはプログラムからの応答をサポート装置200へ出力する。
図10に示すようなソフトウェア構成を採用することで、制御装置100は、以下のような機能構成を実現する。
図11は、本実施の形態に従う制御装置100の機能構成の一例を示す模式図である。図11を参照して、制御装置100の最適化プログラム166は、サンプル値群収集モジュール1661と、サンプル値群生成モジュール1662と、周波数変換モジュール1663と、評価モジュール1664とを含む。
サンプル値群収集モジュール1661は、制御周期を最適化するためのデータ収集機能を提供し、現在の制御周期でI/Oリフレッシュ処理が繰返し実行されることで収集されるサンプル値群を取得する。具体的には、サンプル値群収集モジュール1661は、対象変数リスト168に指定されている対象変数について、設定パラメータ164に従って、PLCエンジン170が都度更新するI/O変数172(図10参照)の値を周期的にサンプリングすることで、サンプリング周期Ts0でのサンプル値群を生成する。
サンプル値群生成モジュール1662は、現在の制御周期より長い制御周期でI/Oリフレッシュ処理が繰返し実行された場合に収集されるであろうサンプル値群を取得する。すなわち、サンプル値群生成モジュール1662は、サンプリング周期Ts0以外のサンプリング周期(>Ts0)でのサンプル値群を生成する(上述の図7などを参照)。サンプリング周期Ts0以外のサンプリング周期としては、サンプリング周期Ts0の整数倍が用いられてもよい。すなわち、制御周期の最適化の候補となる制御周期としては、現在の制御周期の整数倍の値が用いられてもよい。
例えば、サンプリング周期Ts0の2倍、あるいは、サンプリング周期Ts0の3倍といった具合である。このように、サンプル値群生成モジュール1662は、制御周期より長い複数の制御周期についてサンプル値群をそれぞれ取得するようにしてもよい。
周波数変換モジュール1663は、制御周期を最適化するために、周波数成分を算出する機能および算出した周波数成分を格納する機能を提供する。ここで、周波数変換モジュール1663は、収集した対象変数に係るサンプル値群について、サンプリング周期を延ばした上で、それらに含まれる周波数成分を算出する。すなわち、周波数変換モジュール1663は、サンプル値群収集モジュール1661およびサンプル値群生成モジュール1662がそれぞれ生成したサンプル値群の各々に対して、周波数変換を行うことで周波数成分を示す周波数変換結果184を生成する。このような手順によって、周波数変換モジュール1663は、収集されたサンプル値群から周波数成分を算出する。周波数変換結果184は、データ格納部180に格納される。
周波数変換モジュール1663は、典型的には、対象のサンプル値群を高速フーリエ変換(FFT)または離散フーリエ変換(DFT)することで、周波数成分を生成する。
評価モジュール1664は、周波数成分を比較する機能を提供するモジュールであり、現在の制御周期に対応するサンプル値群に含まれる周波数成分と、より長い制御周期に対応するサンプル値群に含まれる周波数成分とが実質的に同一であるかを判断する。すなわち、評価モジュール1664は、算出した周波数変換結果184を互いに比較して、両者に実質的な相違がなければ、現在設定されている制御周期について冗長性があると評価する。評価モジュール1664は、いずれのサンプリング周期まで実質的な同一性が維持されるのかを判断し、実質的な同一性を維持することができるサンプリング周期と現在のサンプリング周期Ts0との比率を冗長性の度合いとして算出する。すなわち、算出された2つの周波数変換結果184の間で実質的な相違がなければ、設定パラメータ164に規定された制御周期を延ばすことができる。
上述の図8に示すように、評価モジュール1664は、現在の制御周期に対応するサンプリング周期Ts0とそれより長い1つの制御周期に対応するサンプリング周期Ts1とを比較する場合には、同一であるか否かを判断する。そして、評価モジュール1664は、サンプリング周期Ts0についての周波数成分とサンプリング周期Ts1についての周波数成分とが実質的に同一であるか否かをユーザへ通知する。一方で、複数の制御周期について周波数成分が評価される場合には、評価モジュール1664は、各サンプル値群に含まれる周波数成分を比較することで、現在の制御周期に対応する周波数成分と実質的に同一である周波数成分のうち、最も長い制御周期を決定するようにしてもよい。
評価モジュール1664は、ユーザインターフェイスモジュール160を介して、これらの評価結果をサポート装置200へ出力する。すなわち、ユーザインターフェイスモジュール160は、現在の制御周期に対応する周波数成分とより長い制御周期に対応する周波数成分とが実質的に同一である場合に、現在の制御周期をより長い制御周期に変更するためのユーザインターフェイスを提供する。ユーザからの制御周期の変更指令に応じて、制御装置100の制御周期が延長される。そして、ユーザ操作(ユーザからの制御周期の変更指令)を受けて、ユーザインターフェイスモジュール160は、設定パラメータ164に格納される制御周期の値が更新される。
なお、上述の制御周期の最適化処理によって制御周期を長くできると判断されると、ユーザ操作を待たずに、制御周期を自動的に変更するようにしてもよい。
このような機能構成によって、本実施の形態に従う制御周期の最適化処理が実現される。
<I.評価手法>
次に、制御周期を延ばすことができるか否かを評価する手法のいくつかについて例示する。
(i1:スペクトル)
上述の図3に示すように、サンプル値群についての周波数変換結果であるスペクトル(波形)を互いに比較して、実質的に同一であるか否かを評価することができる。この場合、波形間の相間値(典型的には、多次元相関値)を算出し、その算出された相間値の大きさに基づいて、実質的に同一であるか否か、あるいは、類似性を評価するようにしてもよい。波形間の相間値は、例えば、主成分分析などの手法を用いて算出することができる。なお、相関値の算出方法については、公知の任意の方法を採用できる。
(i2:ピーク波長の周波数)
サンプル値群を周波数変換した結果に含まれる波長成分に基づいて、同一性の有無を評価するようにしてもよい。図12は、本実施の形態に従う制御周期の最適化処理に係る評価方法の一例を説明する模式図である。
図12を参照して、サンプリング周期Ts0,Ts1,Ts2,…の各々についての周波数変換結果に含まれるピーク周波数が抽出される。各サンプリング周波数についてのピーク周波数の組を比較することで、同一性の有無または類似性を評価するようにしてもよい。
図12に示す例では、サンプリング周期Ts0およびTs1についての周波数変換結果からは、いずれもピーク周波数f1,f2,f3が抽出されており、両者は実質的に同一であると評価される。一方、サンプリング周期Ts2についての周波数変換結果からは、ピーク周波数f1,f2のみが抽出されており、相違が発生していると判断できる。
このように、生成された周波数変換結果に含まれるピーク周波数の数および/または周波数そのものに基づいて、同一性または類似性を評価することができる。
あるいは、サンプリング周期が長くなるに従って、サンプリング可能な周波数の上限が制限されることになるので、周波数変換結果に含まれる高周波成分に基づいて、同一性または類似性を評価するようにしてもよい。
図12に示す例では、サンプリング周期Ts0およびTs1についての周波数変換結果からは、最大のピーク周波数としてf3が抽出されているのに対して、サンプリング周期Ts2についての周波数変換結果からは、最大のピーク周波数としてf2(<f3)のみが抽出されている。
このようなサンプリングの原理的な知見から、各周波数変換結果に含まれる最大の周波数に着目して、両者の同一性または類似性を評価するようにしてもよい。
(i3:時間領域)
上述した周波数領域の情報を用いる処理に代えて、時間領域の波形そのもの同士を比較するようにしてもよい。この場合には、例えば、時間軸を調整した上で、時間領域での波形間の相間値(典型的には、多次元相関値)を算出し、その算出された相間値の大きさに基づいて、実質的に同一であるか否か、あるいは、類似性を評価するようにしてもよい。
なお、上述した手法は、一例であり、これらに限られるものではない。2つの時間波形または周波数変換結果を比較して、実質的に同一であるか否かを評価できれば、どのような手法を採用してもよい。
<J.監視機能(付加機能)>
次に、本実施の形態に従う制御システム1における制御周期の最適化処理により制御周期を変更した場合には、その変更した制御周期で処理サイクルが繰返し実行されることの健全性を監視する機能を付加するようにしてもよい。以下、このような付加機能としての監視機能について説明する。
制御周期を長くした場合には、I/Oリフレッシュ処理の実行周期も長くなる。そのため、フィールドからの入力データのリフレッシュ周期も長くなる一方で、最適化処理を実行したときに比較して、入力データの時間的変化が早くなる可能性もある。そのため、監視機能として、このような入力データの特性が変わった場合に、制御周期をより短くする、あるいは、入力データの特性が変わったことを通知する、といった監視機能を実装することが好ましい。
本実施の形態に従う制御システム1に付加的に実装される監視機能は、I/Oリフレッシュ処理およびプログラム実行処理を含む一連の処理が変更後の制御周期で繰返し実行される状態において、I/Oリフレッシュ処理により収集されるサンプル値が変更後の制御周期で適切に収集できているかを判断する。
このような監視機能としては、上述したような制御周期の最適化処理と同様に、サンプリング周期を異ならせたそれぞれのサンプル値群の同一性または類似性を所定周期毎に評価することで、現在設定されている(変更後の)制御周期の妥当性を監視することができる。監視対象の変数としては、先の最適化処理に用いた対象変数と同じものであってもよいし、別のものであってもよい。基本的には、I/Oリフレッシュ処理の対象となるすべての変数のうち、任意に選択された変数を監査対象にできる。
但し、制御周期が長くなるに伴って、I/Oリフレッシュ処理の実行周期も長くなっているので、十分に短いサンプリング周期を確保することができない場合もある。そのよういな場合には、入出力ユニット側にて必要なサンプリング周期を確保するとともに、I/Oリフレッシュ処理においては、複数回にわたるサンプリング結果を収集するようにしてもよい。
図13は、本実施の形態に従う制御周期の最適化処理に係る監視機能の一例を説明する模式図である。図13を参照して、例えば、元の制御周期T0が2倍に延長された状態で処理サイクルが実行されている状態を考える。この場合、本来的には、現在の制御周期で入力データを収集することになるが、例えば、入出力ユニットにて、現在の制御周期より短い周期で入力データのサンプリングを行うとともに、I/Oリフレッシュ処理においては、前回のI/Oリフレッシュ処理以降に収集された複数の入力データを取得するようにしてもよい。
図13に示す例では、変更前の制御周期T0の半分に相当する時間周期で入出力ユニットにてサンプリングが行われており、各I/Oリフレッシュ処理においては、4回のサンプリングにより得られた入力データD1,D2,D3,D4が収集できる。より短いサンプリング周期で収集された入力データ群を用いて、上述した最適化処理と同様の処理を行うことで、現在の制御周期が適切なものであるか否かを監視することができる。
このとき、先の最適化処理に用いた対象変数の変更前の制御周期について生成された周波数変換結果を基準として評価してもよい。
上述したような監視処理によって、監視対象の周波数変換結果の変化が検知されると、その旨をユーザに通知するようにしてもよい。そして、ユーザ操作を受けて、制御周期を元に戻すような処理を行ってもよいし、あるいは、制御周期を自動的に元に戻すようにしてもよい。このような監視機能を実装することで、制御対象に何らかの状態変化が生じたとしても、本体の制御機能を維持することができる。
<K.その他の実装形態>
上述の図10に示す実装形態においては、制御装置100に存在する最適化プログラム166が主たる機能および処理を実現する。但し、このような形態に限られることはなく、処理の全部または一部がサポート装置200あるいは図示しない外部装置(例えば、クラウド上の処理機能)に実装されてもよい。この場合、典型的には、現在設定されている制御周期に従って対象変数をサンプリングすることで、制御装置100にてサンプル値群が収集される。この収集されたサンプル値群が、制御装置100、サポート装置200、あるいは、外部装置などに実装された処理主体へ送信されることになる。そして、処理主体にて、上述したような評価処理を含む必要な処理が行われて、現在の制御周期に冗長性があると判断されると、その判断結果および変更後の制御周期が当該処理主体から戻されることになる。
すなわち、本実施の形態に従う制御周期の最適化処理は、各時代に応じた技術を用いて、適宜実装することができる。
<L.利点>
一般的に、I/Oリフレッシュ処理およびプログラム実行処理を含めた処理サイクルのサイクルタイムを考慮して制御周期を設定することが多いが、制御周期の設定は、設定者の個人差もあり、過度に冗長になっている場合もある。すなわち、本来必要以上に短い制御周期が設定されている可能性もあり、このような場合には、周辺サービス処理に割り当てられる時間が制限されてしまう。
これに対して、本実施の形態に従う制御システム1およびそこで実現される制御周期の最適化処理によれば、I/Oリフレッシュ処理により取得される対象変数の状態に応じて、制御周期の冗長性の有無および程度を判断し、十分な冗長性があると判断された場合には、制御周期を延ばすことで、周辺サービス処理に割り当てる実行時間を増加させることができる。
また、制御周期を延ばした後、I/Oリフレッシュ処理により収集される入力データに何らかの変化が生じ、制御周期をより短くすべきと判断されると、その判断結果に応じて、制御周期を元に戻すような監視処理を行うこともできる。このような処理を組合わせることで、効率かつ安全な制御周期の設定を実現できる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 制御システム、10,11,182,250,252,254 サンプル値群、100 制御装置、102 プロセッサ、104 チップセット、106 メインメモリ、108 フラッシュメモリ、110 ネットワークコントローラ、112 メモリカードインターフェイス、114 メモリカード、116 内部バスコントローラ、118 フィールドバスコントローラ、120 シリアル通信インターフェイス、130 I/Oユニット、150 リモート入出力装置(リモートI/O装置)、152 接続管理ユニット、154 入出力ユニット、156 ネットワーク、160 ユーザインターフェイスモジュール、162 ユーザプログラム、164 設定パラメータ、166 最適化プログラム、168 対象変数リスト、170 PLCエンジン、172 I/O変数、174 システム変数、176 ユーザ変数、178 ファンクションモジュール、180 データ格納部、184 周波数変換結果、200 サポート装置、1661 サンプル値群収集モジュール、1662 サンプル値群生成モジュール、1663 周波数変換モジュール、1664 評価モジュール。

Claims (9)

  1. I/Oリフレッシュ処理およびプログラム実行処理を含む一連の処理を第1の制御周期で繰返し実行する制御装置を含む制御システムであって、
    前記第1の制御周期で前記I/Oリフレッシュ処理が繰返し実行されることで収集される第1のサンプル値群を取得する第1の取得手段と、
    前記第1の制御周期より長い第2の制御周期で前記I/Oリフレッシュ処理が繰返し実行された場合に収集されるであろう第2のサンプル値群を取得する第2の取得手段と、
    前記第1のサンプル値群に含まれる第1の周波数成分と前記第2のサンプル値群に含まれる第2の周波数成分とが実質的に同一であるかを判断する判断手段と、
    前記第1の周波数成分と前記第2の周波数成分とが実質的に同一であることを条件に、前記第1の制御周期を前記第2の制御周期に変更する変更手段とを備える、制御システム。
  2. 前記変更手段は、前記第1の制御周期から前記第2の制御周期への変更に係る情報を含むとともに、ユーザ操作を受付けるための、ユーザインターフェイスを提供する、請求項1に記載の制御システム。
  3. 前記変更手段は、前記第1の周波数成分と前記第2の周波数成分とが実質的に同一であるか否かをユーザへ通知する、請求項2に記載の制御システム。
  4. 前記変更手段は、ユーザ操作を受けて、前記第1の制御周期を前記第2の制御周期に変更する、請求項2または3に記載の制御システム。
  5. 前記第2の取得手段は、複数の前記第2の制御周期について前記第2のサンプル値群をそれぞれ取得し、
    前記判断手段は、各第2のサンプル値群に含まれる前記第2の周波数成分を比較することで、前記第1の周波数成分と実質的に同一である第2の周波数成分のうち、最も長い第2の制御周期を決定する、請求項1〜4のいずれか1項に記載の制御システム。
  6. 前記第2の制御周期は、前記第1の制御周期の整数倍に設定される、請求項1〜5のいずれか1項に記載の制御システム。
  7. サンプル値群を高速フーリエ変換することで周波数成分を生成する変換手段をさらに備える、請求項1〜6のいずれか1項に記載の制御システム。
  8. 前記一連の処理が前記第2の制御周期で繰返し実行される状態において、前記I/Oリフレッシュ処理により収集されるサンプル値が前記第2の制御周期で適切に収集できているかを判断する監視手段をさらに備える、請求項1〜7のいずれか1項に記載の制御システム。
  9. I/Oリフレッシュ処理およびプログラム実行処理を含む一連の処理を第1の制御周期で繰返し実行する実行手段と、
    前記第1の制御周期で前記I/Oリフレッシュ処理が繰返し実行されることで収集される第1のサンプル値群を取得する第1の取得手段と、
    前記第1の制御周期より長い第2の制御周期で前記I/Oリフレッシュ処理が繰返し実行された場合に収集されるであろう第2のサンプル値群を取得する第2の取得手段と、
    前記第1のサンプル値群に含まれる第1の周波数成分と前記第2のサンプル値群に含まれる第2の周波数成分とが実質的に同一であるかを判断する判断手段と、
    前記第1の周波数成分と前記第2の周波数成分とが実質的に同一であることを条件に、前記第1の制御周期を前記第2の制御周期に変更する変更手段とを備える、制御装置。
JP2016226557A 2016-11-22 2016-11-22 制御システムおよび制御装置 Active JP6753278B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2016226557A JP6753278B2 (ja) 2016-11-22 2016-11-22 制御システムおよび制御装置
US15/706,847 US10452048B2 (en) 2016-11-22 2017-09-18 Control system and control device
CN201710838765.6A CN108089535B (zh) 2016-11-22 2017-09-18 控制系统和控制装置
EP17192845.0A EP3324256B1 (en) 2016-11-22 2017-09-25 Control system and control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016226557A JP6753278B2 (ja) 2016-11-22 2016-11-22 制御システムおよび制御装置

Publications (2)

Publication Number Publication Date
JP2018084894A true JP2018084894A (ja) 2018-05-31
JP6753278B2 JP6753278B2 (ja) 2020-09-09

Family

ID=59969000

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016226557A Active JP6753278B2 (ja) 2016-11-22 2016-11-22 制御システムおよび制御装置

Country Status (4)

Country Link
US (1) US10452048B2 (ja)
EP (1) EP3324256B1 (ja)
JP (1) JP6753278B2 (ja)
CN (1) CN108089535B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020123104A (ja) * 2019-01-30 2020-08-13 オムロン株式会社 コントローラシステム、制御ユニット、および制御プログラム
JP2020154814A (ja) * 2019-03-20 2020-09-24 富士ゼロックス株式会社 情報処理装置、情報処理システム及び情報処理プログラム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6792129B2 (ja) 2017-03-03 2020-11-25 株式会社安川電機 アーク溶接システム及びアーク溶接判定装置
DE102018205390A1 (de) * 2018-04-10 2019-10-10 Robert Bosch Gmbh Verfahren und Vorrichtung zur Fehlerbehandlung in einer Kommunikation zwischen verteilten Software Komponenten
JP6761584B2 (ja) * 2018-10-23 2020-09-30 株式会社安川電機 産業機器の制御装置、産業機器の制御システム、及び産業機器の制御方法
JP2021144651A (ja) * 2020-03-13 2021-09-24 株式会社安川電機 生産システム、データ送信方法、及びプログラム
CN111768287A (zh) * 2020-05-22 2020-10-13 支付宝(杭州)信息技术有限公司 周期识别方法、装置、服务器及可读存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2106533A1 (ja) * 1970-09-15 1972-05-05 Licentia Gmbh
US8140283B2 (en) 2008-12-24 2012-03-20 Schweitzer Engineering Laboratories, Inc. Independent frequency measurement and tracking
JP2010170536A (ja) * 2008-12-26 2010-08-05 Omron Corp プログラマブル・コントローラ
CN102369491B (zh) * 2009-04-10 2014-08-13 欧姆龙株式会社 动作信息输出装置、动作信息输出装置的控制方法、监视装置、监视装置的控制方法以及控制程序
WO2015049742A1 (ja) * 2013-10-02 2015-04-09 株式会社日立製作所 ストレージシステムおよびストレージシステム制御方法
CN105487818B (zh) * 2015-11-27 2018-11-09 清华大学 针对云存储系统中重复冗余数据的高效去重方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020123104A (ja) * 2019-01-30 2020-08-13 オムロン株式会社 コントローラシステム、制御ユニット、および制御プログラム
JP7251171B2 (ja) 2019-01-30 2023-04-04 オムロン株式会社 コントローラシステム、制御ユニット、および制御プログラム
JP2020154814A (ja) * 2019-03-20 2020-09-24 富士ゼロックス株式会社 情報処理装置、情報処理システム及び情報処理プログラム
JP7331397B2 (ja) 2019-03-20 2023-08-23 富士フイルムビジネスイノベーション株式会社 情報処理装置、情報処理システム及び情報処理プログラム

Also Published As

Publication number Publication date
EP3324256B1 (en) 2019-09-04
US10452048B2 (en) 2019-10-22
CN108089535A (zh) 2018-05-29
US20180143606A1 (en) 2018-05-24
JP6753278B2 (ja) 2020-09-09
CN108089535B (zh) 2020-04-17
EP3324256A2 (en) 2018-05-23
EP3324256A3 (en) 2018-06-06

Similar Documents

Publication Publication Date Title
JP6753278B2 (ja) 制御システムおよび制御装置
JP2021121954A (ja) データモデリングスタジオ、コンピュータシステム、及びコンピュータで実装される方法
JP6504190B2 (ja) 制御装置および情報処理方法
CN108628263B (zh) 控制系统、控制装置、计算机可读存储介质以及控制方法
US10838938B2 (en) Process monitorer, process monitering system, process monitering method, process monitering program, and recording mediam
US9984244B2 (en) Controller, information processing apparatus, and recording medium
CN108693822B (zh) 控制装置、存储介质、控制系统及控制方法
JP2018128855A (ja) イベント解析装置、イベント解析システム、イベント解析方法、イベント解析プログラム、および記録媒体
US20140236914A1 (en) Controller, information processing apparatus, and recording medium
JP2018151917A (ja) 制御装置
US9274515B2 (en) Systems and methods for recording data associated with the operation of foundation fieldbus devices
JP7102801B2 (ja) 制御システム、制御装置および表示装置
JP7028133B2 (ja) 制御システムおよび制御方法
JP7182662B2 (ja) 製造現場においてエッジプログラムを分散させるシステムおよび方法
KR101627489B1 (ko) 기능 유닛, 아날로그 입력 유닛, 프로그래머블 컨트롤러 시스템
KR20160147493A (ko) 신뢰구간에 기반한 에너지 절감 방법 및 이를 이용한 장치
US12008072B2 (en) Control system and control method
WO2020166004A1 (ja) 制御システム、プログラマブルロジックコントローラ、方法、及びプログラム
CN114020590A (zh) 压测方法及装置、电子设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190905

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200710

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200803

R150 Certificate of patent or registration of utility model

Ref document number: 6753278

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150