JP2017227961A - コントローラおよび制御システム - Google Patents
コントローラおよび制御システム Download PDFInfo
- Publication number
- JP2017227961A JP2017227961A JP2016121718A JP2016121718A JP2017227961A JP 2017227961 A JP2017227961 A JP 2017227961A JP 2016121718 A JP2016121718 A JP 2016121718A JP 2016121718 A JP2016121718 A JP 2016121718A JP 2017227961 A JP2017227961 A JP 2017227961A
- Authority
- JP
- Japan
- Prior art keywords
- state information
- control
- function unit
- collection
- storage
- 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.)
- Withdrawn
Links
Images
Abstract
【課題】 制御システムにおいて、制御対象の制御のための演算に影響を与えることなく、異常の解析を十分に行えるようにする技術を提供する。【解決手段】 コントローラ1は、収集条件と状態情報との関連付けと、収集条件とが定義された状態情報定義ファイル142を予め取得する。データ収集機能部13のテーブル管理機能部131は、制御対象系2A〜2Cの状態情報A1〜A3、B1〜B3およびC1〜C3のうちの収集判断対象の状態情報A1、B1およびC1と、状態情報定義ファイル142とに基づいて格納対象選定テーブル22を作成する。データ収集機能部13の格納機能部132は、格納対象選定テーブル22に基づいて選ばれた状態情報A1、A2およびA3をタイムスタンプを付与して記憶部20に格納する。【選択図】図1
Description
本発明は、制御対象に関する各種の状態を示す情報を異常の解析を行えるように記憶しておく機能を備えたコントローラおよび制御システムに関する。
制御システムの一例として、プラントの操業に用いられる制御システムが挙げられる。このような制御システムでは、機器の故障やプラントの操業に関わるシステム異常などのさまざまな異常が発生する虞がある。異常の規模や種類によっては、制御システムの停止に至ることもあり得る。異常が発生した場合や異常が発生しそうな場合には、制御システム管理者などは、その異常の発生要因の特定などの解析を行う。異常の解析に備え、制御システムには、制御対象に関する各種の状態を示す情報を記憶して蓄積する機能が備えられていることがある。制御システムによっては、制御対象の制御を行うコントローラにこの機能が備えられる。コントローラの具体例としては、DCS(分散型制御システム或いは分散型制御装置)やプログラマブルロジックコントローラ(以下、PLC)が挙げられる。一般的なFAシステムではコントローラとしてPLCが用いられることが多いが、プラントの制御システムではDCSが用いられることが多い。DCSはPLCに比較して信頼性が高いからである。
図13は、従来の制御システムの一例である制御システムX100Aの構成を示すブロック図である。図13に示すように、この制御システムX100Aは、制御対象系X2A、X2BおよびX2Cの制御を行うコントローラX1を有する。制御対象系X2A、X2BおよびX2Cの各々は、コントローラX1の制御対象に関するひとまとまりのシステムである。制御対象に関する状態を示す情報、つまり、制御対象系の状態を示す情報のことを、以下、制御対象系の状態情報と呼ぶ。
コントローラX1は、記憶部X20を備えている。記憶部X20は、状態情報格納領域X21A、X21BおよびX21Cを有する。状態情報格納領域X21Aには、時間の経過に従って制御対象系X2Aの状態情報A1が順次に蓄積される。同様に、状態情報格納領域X21Bには、時間の経過に従って制御対象系X2Bの状態情報B1が順次に蓄積され、状態情報格納領域X21Cには、時間の経過に従って制御対象系X2Cの状態情報C1が順次に蓄積される。
特許文献1には、各入力装置から受信したデータをコントローラへ送信する転送装置を備えたデータ収集システムが開示されている。特許文献1のデータ収集システムによれば、コントローラ宛に送信するビット列を短時間に生成することができ、データ収集処理の性能を向上することができる。しかし、特許文献1の技術は、コントローラがデータ(すなわち状態情報)を短時間で取得する技術であり、取得した状態情報を記憶部に蓄積する技術ではない。
図14は、図13の制御システムX100Aの具体例を示す模式図である。図14の例における制御対象系X2Aは、水を蓄える水槽X2A1と、水槽X2A1への入水経路に設けられた入水弁X2A2と、水槽X2A1への入水流量を測定する流量計(マスフローメータ)X2A4と、水槽X2A1からの排水経路に設けられた排水弁X2A3と、水槽X2A1からの排水流量を測定する流量計(マスフローメータ)X2A5と、水槽X2A1内の水位を測定する水位計X2A6とから構成される。この例におけるコントローラX1は、水位計X2A6の測定結果である水位情報を取得し、水位情報で表される水位が目標値に近づくように、入水弁X2A2の開度や開時間および排水弁X2A3の開度や開時間を制御する。このように、コントローラX1の主な制御対象は水位であるが、その水位を制御するために直接に制御されるのが入水弁X2A2や排水弁X2A3である。このため、制御対象系X2Aは、制御対象である水位に関するひとまとまりのシステムである。そして、コントローラX1は、水位情報で表される水位がアラーム水位X2A9よりも高くなった場合、水位異常が発生したと判断する。
図14の例において、水位計X2A6の測定結果である水位情報は、制御対象系X2Aの水槽X2A1の水位の状態を表す状態情報である。図14の例では、制御対象系X2Aの状態情報である水位情報が状態情報格納領域X21Aに蓄積される。このため、図14の例における制御システム管理者は、状態情報格納領域X21Aの水位情報の履歴を利用して制御対象系X2Aにおける水位異常の解析を行うことができる。
図14では、制御対象系X2BおよびX2Cの具体例の表記を省略した。例えば、制御対象系X2BおよびX2Cも制御対象系X2Aと同様の構成であれば、制御システム管理者は、状態情報格納領域X21Bに蓄積される水位情報および状態情報格納領域X21Cに蓄積される水位情報を利用して制御対象系X2BおよびX2Cの水位異常の解析を行うことができる。なお、制御対象系X2BおよびX2Cの具体的な構成は、制御対象系X2Aと異なる構成であっても良い。
図15は、制御システムX100AのコントローラX1が行う制御の流れを示すタイムチャートである。コントローラX1のCPU(Central Processing Unit)(図示略)は、プログラム(図示略)を実行することにより、アプリケーション演算機能部とデータ収集機能部として動作する。アプリケーション演算機能部は、制御対象系X2A〜X2Cの制御(図14の例では、水槽X2A1の水位制御)に関する各種の演算を行う。データ収集機能部は、制御対象系X2A〜X2Cの状態情報A1〜C1を記憶部X20の状態情報格納領域X21A〜X21Cへ格納する処理を行う。コントローラX1のCPUは、アプリケーション演算機能部の処理とデータ収集機能部の処理とを所定の制御周期(例えば10ms)で繰り返す。コントローラX1では、制御周期内におけるアプリケーション演算機能部が動作しない時間においてデータ収集機能部が動作して状態情報A1〜C1の記憶部X20への格納処理が行われる。
上述のように、制御システム管理者は、記憶部X20に格納されている状態情報A1〜C1の履歴を利用して制御対象系X2A〜X2Cにおける異常の解析を行うことができる。しかし、複数の要因が連鎖的に関係して発生した異常などの複雑な異常の場合、状態情報A1〜C1だけでは、異常の解析が困難である。
そこで、異常の解析を十分に行えるように、記憶しておく状態情報の種類を増やすことが考えられる。図16は、制御システムX100Aに比べて記憶部X20に格納する状態情報の種類を増やした制御システムX100Bの構成を示すブロック図である。制御システムX100Bでは、制御対象系X2Aの状態情報A1、A2およびA3が状態情報格納領域X21Aに格納され、制御対象系X2Bの状態情報B1、B2およびB3が状態情報格納領域X21Bに格納され、制御対象系X2Cの状態情報C1、C2およびC3が状態情報格納領域X21Cに格納される。
図17は、図16の制御システムX100Bの具体例を示す模式図である。図17の例において、流量計X2A4の検出結果である入水流量情報は、制御対象系X2Aの水槽X2A1に供給される水量の状態を表す状態情報であり、流量計X2A5の検出結果である排水流量情報は、制御対象系X2Aの水槽X2A1から排出される水量の状態を表す状態情報である。図17の例では、制御対象系X2Aの状態情報である水位情報、入水流量情報および排水流量情報が状態情報格納領域X21Aに格納されて蓄積される。
図17の例によれば、制御システム管理者は、水位情報の履歴に加え、入水流量情報の履歴および排水流量情報の履歴をも利用して制御対象系X2Aにおける水位異常の解析を行うことができる。これにより、制御システム管理者は、排水流量に対して入水流量が多くなったことに起因して水位異常が発生したのか、入水流量に対して排水流量が少なくなったことに起因して水位異常が発生したのかを知ることができる。このように、記憶しておく状態情報の種類を増やすことで異常の解析を十分に行うことができる。
図18は、制御システムX100BのコントローラX1が行う制御の流れを示すタイムチャートである。図18に示すように、この制御システムX100Bにおけるデータ収集機能部は、制御周期毎に得られた状態情報A1〜A3、B1〜B3およびC1〜C3を状態情報格納領域X21A、X21BおよびX21Cに格納する。
制御システムX100Bでは、格納する状態情報の種類が制御システムX100Aよりも多いため、制御周期の時間区間長に対するデータ収集機能部の動作時間の割合が制御システムX100Aに比べて多くなる。このため、制御システムX100Bでは、制御周期の時間区間長に対してアプリケーション演算機能部の動作時間に当てることができる時間が制御システムX100Aに比べて少なくなる。これは、制御対象系の数や蓄積する状態情報の種類が増えるほど顕著になる。アプリケーション演算機能部の動作時間が少なくなると、アプリケーション演算機能部による所定の演算が時間内に完了しない可能性がある。このため、データ収集機能部の動作時間は、アプリケーション演算機能部による所定の演算の実行に影響が生じない時間範囲に制限される。
つまり、異常の解析を十分に行えるように、記憶しておく状態情報の種類を増やしたいが、状態情報を記憶する処理に当てることができる時間は限られるため、状態情報の種類を無制限に増やすことはできない、という問題がある。
アプリケーション演算機能部の動作時間を少なくせずにデータ収集機能部の動作時間を長くするには、制御周期を長くすることが考えられる。しかし、制御周期を長くすると制御の応答が遅くなるため、制御周期を長くすることは好ましくない。
本発明は以上に説明した課題に鑑みて為されたものであり、制御システムにおいて、制御対象の制御のための演算に影響を与えることなく、異常の解析を十分に行えるようにする技術を提供することを目的とする。
この発明によるコントローラは、アプリケーション演算機能部と、データ収集機能部とを有する。アプリケーション演算機能部は、制御対象に関するひとまとまりのシステムである制御対象系の状態を示す複数種の状態情報を所定の制御周期毎に1または複数の制御対象系について取得し、得られた状態情報のうちの少なくとも1つの状態情報に基づいて制御対象系の制御に関する各種の演算を行う。データ収集機能部は、制御周期内におけるアプリケーション演算機能部が動作しない時間において行われる処理であって、得られた状態情報のうちの記憶手段に格納する格納対象の状態情報の種類を、得られた状態情報のうちの少なくとも1つの状態情報に応じて変える処理を行う。
本コントローラでは、得られた状態情報のうちの格納対象の状態情報の種類が、得られた状態情報のうちの少なくとも1つの状態情報に応じて変わる。本コントローラによれば、格納対象の状態情報の種類が変わるため、必要な状態情報のみを記憶することができる。例えば、本コントローラによれば、得られた状態情報のうちの異常が発生しそうになった状態情報に関する状態情報のみを記憶し、その異常に関係のない状態情報を記憶しないようにすることができる。このため、本コントローラによれば、データ収集機能部の動作時間が長くなるのを抑えることができ、アプリケーション演算機能部による所定の演算の実行に影響が生じることはない。
より好ましい態様において、本コントローラのデータ収集機能部は、得られた状態情報のうちの少なくとも1つの状態情報を所定の収集条件を満たすか否かの収集判断対象の状態情報とし、収集判断対象の状態情報が収集条件を満たした場合、得られた状態情報のうちの収集条件に関連付けられた状態情報を格納対象の状態情報に選ぶ。
この態様における収集判断対象の状態情報の具体例は、異常の判断対象となる状態情報であり、所定の収集条件の具体例は、異常の有無の判断基準となる異常判断閾値に到達する途中において設定された収集閾値を超えたか否かである。この例によれば、所定の収集条件を満たした場合には、所定の収集条件を満たしていない場合に比べ、以後の制御周期において収集判断対象の状態情報が異常判断閾値に至って異常が発生する可能性が高い。本コントローラによれば、このような異常の発生の可能性が高い状態においてその異常に関連する各種の状態情報を記憶手段に格納するため、異常の解析を十分に行えるようになる。また、本コントローラによれば、所定の収集条件を満たさず、異常の発生の可能性が低い状態において、その異常に関連する状態情報を過度に格納することはない。この点からも、本コントローラによれば、データ収集機能部の動作時間が長くなるのを抑えることができ、アプリケーション演算機能部による所定の演算の実行に影響が生じることはない。
従って、この発明によれば、制御システムにおいて、制御対象の制御のための演算に影響を与えることなく、異常の解析を十分に行えるようになる。
以下、図面を参照しつつ本発明の実施形態を説明する。
(実施形態)
図1は、この発明の一実施形態によるコントローラ1を含む制御システム100の構成を示すブロック図である。制御システム100は、制御対象系2A、2Bおよび2Cの制御を行うコントローラ1を有する。
(実施形態)
図1は、この発明の一実施形態によるコントローラ1を含む制御システム100の構成を示すブロック図である。制御システム100は、制御対象系2A、2Bおよび2Cの制御を行うコントローラ1を有する。
制御対象系2A、2Bおよび2Cは、例えば、従来の制御システムX100AおよびX100Bにおける制御対象系X2A、X2BおよびX2Cと同様のものである。制御対象系2A、2Bおよび2Cの各々に含まれる各種の機器は、ネットワーク3を介してコントローラ1に接続される。コントローラ1は、ネットワーク3を介して、制御対象系2Aから状態情報A1、A2およびA3を、制御対象系2Bから状態情報B1、B2およびB3を、制御対象系2Cから状態情報C1、C2およびC3を取得する。なお、制御対象系2A、2Bおよび2Cは、制御対象系X2A、X2BおよびX2Cとは異なるものであっても良い。また、制御対象系2A、2Bおよび2Cは、各々が異なる種類のものであっても良い。
コントローラ1には、ネットワーク5を介して支援装置4が接続される。支援装置4は、コントローラ1による制御を支援する装置であり、例えば、パーソナルコンピュータである。
コントローラ1は、例えば、DCS或いはPLCである。コントローラ1は、制御部10、記憶部20および記憶部30を有する。記憶部20は、不揮発性の記憶装置の記憶領域のうち、コントローラ1のユーザに開放されているユーザ側の記憶領域である。制御部10は、例えば、CPUである。制御部10は、不揮発性記憶部(例えば記憶部20)に格納されているプログラム(図示略)を実行することにより、コントローラ1の各部を制御する制御中枢である。記憶部30は、メモリなどの揮発性の記憶装置の記憶領域のうち、コントローラ1のユーザに開放されていないシステム側の記憶領域である。
制御部10は、プログラムを実行することにより、タスクスケジューリング機能部11、アプリケーション演算機能部12、データ収集機能部13およびインターフェース機能部14として動作する。なお、以後、インターフェースをIFと表記する。
IF機能部14は、ネットワーク5を介して支援装置4と通信する。IF機能部14は、制御システム管理者などが支援装置4を用いて作成した状態情報定義ファイル142を支援装置4から取得する。得られた状態情報定義ファイル142は、記憶部20に格納される。
図2は、状態情報定義ファイル142の構成例を示す図である。状態情報定義ファイル142は、所定の収集条件が定義されたファイルである。また、状態情報定義ファイル142には、所定の収集条件を満たすか否かの判断の対象となる状態情報(以下、収集判断対象の状態情報という)の種類が定義されている。また、状態情報定義ファイル142には、制御対象系2A〜2Cから得られる状態情報A1〜A3、B1〜B3およびC1〜C3の種類と、所定の収集条件との関連付けが定義されている。図2の例では、関連付けられたグループが1行で表されている。例えば、1行目の収集判断対象の状態情報A1が「2000よりも大」の収集条件には、収集判断対象の状態情報A1と、状態情報A2と、状態情報A3とが関連付けられている、という具合である。
図1において、タスクスケジューリング機能部11は、アプリケーション演算機能部12が動作しない時間においてデータ収集機能部13を動作させるように、アプリケーション演算機能部12およびデータ収集機能部13の実行順番を制御する。
アプリケーション演算機能部12は、制御対象系2A〜2Cの制御に関する各種の演算を実行する機能部である。また、アプリケーション演算機能部12は、制御対象系2Aから状態情報A1、A2およびA3を取得し、制御対象系2Bから状態情報B1、B2およびB3を取得し、制御対象系2Cから状態情報C1、C2およびC3を取得する機能を含む。得られた状態情報A1〜A3、B1〜B3およびC1〜C3は、記憶部30に一時的に格納され、状態情報A1〜A3、B1〜B3およびC1〜C3が得られるごとに更新される。記憶部30の状態情報A1〜A3、B1〜B3およびC1〜C3のうちの少なくとも1つの状態情報は、アプリケーション演算機能部12による演算に利用される。
データ収集機能部13は、制御対象系2A〜2Cから得られた状態情報A1〜A3、B1〜B3およびC1〜C3のうちの記憶部20に格納する格納対象の状態情報の種類を、収集判断対象の状態情報に応じて選ぶ機能部である。データ収集機能部13は、テーブル管理機能部131と格納機能部132とを含む。
テーブル管理機能部131は、制御対象系2A〜2Cから得られた状態情報A1〜A3、B1〜B3およびC1〜C3のうちの状態情報定義ファイル142によって定義された収集判断対象の状態情報が収集条件を満たすか否かの判断を行い、その収集判断結果と状態情報定義ファイル142とに基づいて格納対象選定テーブル22を作成して更新するソフトウェアモジュールである。
図3は、格納対象選定テーブル22の構成例を示す図である。格納対象選定テーブル22は、格納対象の状態情報であるか否かの判断基準となるフラグを状態情報毎に関連付けたテーブルである。格納対象選定テーブル22のフラグの値は、収集判断結果と状態情報定義ファイル142にて収集条件に関連付けられた状態情報とに基づいて決められる。図3の例において、フラグの値が「真(TRUE)」である状態情報は、格納対象に選定された状態情報であり、フラグの値が「偽(FALSE)」である状態情報は、格納対象に選定されない状態情報である。格納対象選定テーブル22の更新の際には、このフラグの値が更新される。
格納機能部132は、テーブル管理機能部131によって作成された格納対象選定テーブル22のフラグに基づいて格納対象の状態情報を選び、選ばれた状態情報の値を記憶部20に格納するソフトウェアモジュールである。図4は、記憶部20に格納される状態情報の一例を示す図である。図4に示すように、記憶部20に格納される状態情報(図4では状態情報A1、A2およびA3)には、記憶部20への格納時刻を示すタイムスタンプが付与される。
すなわち、データ収集機能部13は、制御対象系2A〜2Cから得られた状態情報A1〜A3、B1〜B3およびC1〜C3のうちの状態情報定義ファイル142によって定義された収集判断対象の状態情報が収集条件を満たした場合、その収集条件に関連付けられた状態情報を格納対象の状態情報として選び記憶部20に格納する。
以上が、コントローラ1を含む制御システム100の構成である。
以上が、コントローラ1を含む制御システム100の構成である。
次に、コントローラ1の動作を説明する。
図5は、制御対象系2A〜2Cの制御を開始する前の事前処理の流れを示すフローチャートである。制御システム管理者などは、支援装置4を用いて状態情報定義ファイル142を予め作成しておく。コントローラ1の電源が投入されると、コントローラ1の制御部10は、IF機能部14として動作し、支援装置4からネットワーク5を介して状態情報定義ファイル142を取得する(ステップSA100)。IF機能部14は、取得した状態情報定義ファイル142を記憶部20に格納して終了する。なお、IF機能部14は、制御システム管理者などによる状態情報定義ファイル142の取得を指示する操作に応じて状態情報定義ファイル142を支援装置4から取得しても良い。
図5は、制御対象系2A〜2Cの制御を開始する前の事前処理の流れを示すフローチャートである。制御システム管理者などは、支援装置4を用いて状態情報定義ファイル142を予め作成しておく。コントローラ1の電源が投入されると、コントローラ1の制御部10は、IF機能部14として動作し、支援装置4からネットワーク5を介して状態情報定義ファイル142を取得する(ステップSA100)。IF機能部14は、取得した状態情報定義ファイル142を記憶部20に格納して終了する。なお、IF機能部14は、制御システム管理者などによる状態情報定義ファイル142の取得を指示する操作に応じて状態情報定義ファイル142を支援装置4から取得しても良い。
図6は、制御対象系2A〜2Cの制御を開始した後の処理の流れを示すフローチャートである。制御システム管理者などによる制御開始を指示する操作に応じて、コントローラ1の制御部10は、まず、状態情報定義ファイル142をワークエリアに読み出す(ステップSB100)。
次に、制御部10は、タスクスケジューリング機能部11として動作を開始する。タスクスケジューリング機能部11は、まず、制御終了指示を取得したか否かを判断する(SB110)。制御終了指示を取得した場合(SB110:Yes)、タスクスケジューリング機能部11は、制御対象系2A〜2Cの制御を終了する。一方、制御終了指示を取得しなかった場合(ステップSB110:No)、タスクスケジューリング機能部11は、制御周期の開始タイミングとなったか否かを判断する(ステップSB120)。この制御周期の開始タイミングの判断は、内部クロックなどを用いて行われる。制御周期の開始タイミングではない場合(ステップSB120:No)、タスクスケジューリング機能部11は、制御周期の開始タイミングになるまでステップSB110およびSB120の処理を繰り返して待機する。
制御周期の開始タイミングとなった場合(ステップSB120:Yes)、タスクスケジューリング機能部11は、アプリケーション演算機能部12を起動し、制御部10は、アプリケーション演算機能部12として動作を開始する。アプリケーション演算機能部12は、まず、その制御周期の開始タイミングにおける制御対象系2A〜2Cの各状態情報A1〜A3、B1〜B3およびC1〜C3を取得して記憶部30に格納する。アプリケーション演算機能部12は、状態情報A1〜A3、B1〜B3およびC1〜C3の少なくとも1つを用いた所定の演算を実行する(ステップSB130)。アプリケーション演算機能部12は、その所定の演算を終わるまで行う(ステップSB140:No)。
所定の演算が終了すると(ステップSB140:Yes)、アプリケーション演算機能部12は、その旨をタスクスケジューリング機能部11に通知する。その旨の通知を受けたタスクスケジューリング機能部11は、データ収集機能部13を起動する(ステップSB150)。そして、制御部10は、データ収集機能部13として動作を開始する。
データ収集機能部13のテーブル管理機能部131は、状態情報定義ファイル142を参照して収集判断対象の状態情報の種類を認識する。そして、テーブル管理機能部131は、記憶部30に格納されている状態情報のうちの収集判断対象の状態情報をワークエリアに読み出す(ステップSB160)。本実施形態の例では、状態情報A1、B1およびC1が収集判断対象の状態情報として読み出される。
次に、テーブル管理機能部131は、読み出した収集判断対象の状態情報と状態情報定義ファイル142の収集条件とを比較し、収集判断対象の状態情報が収集条件を満たすか否かを収集条件毎に判断する(ステップSB170)。より具体的には、テーブル管理機能部131は、読み出した収集判断対象の状態情報A1が状態情報定義ファイル142の1行目の収集条件を満たすか否かを判断し、読み出した収集判断対象の状態情報B1が状態情報定義ファイル142の2行目の収集条件を満たすか否かを判断し、読み出した収集判断対象の状態情報C1が状態情報定義ファイル142の3行目の収集条件を満たすか否かを判断する。
次に、テーブル管理機能部131は、ステップSB170の収集判断結果と状態情報定義ファイル142とに基づいて格納対象選定テーブル22を作成して更新する(ステップSB180)。より詳細には、テーブル管理機能部131は、ステップSB170において収集判断対象の状態情報が収集条件を満たした場合、状態情報定義ファイル142において当該収集条件に関連付けられたすべての状態情報についてのフラグを「真(TRUE)」にする。例えば、読み出した収集判断対象の状態情報A1が状態情報定義ファイル142の1行目の収集条件を満たした場合、その1行目の収集条件に関連付けられた状態情報A1、A2およびA3についての格納対象選定テーブル22のフラグの値が各々「真(TRUE)」となる。
一方、ステップSB170において収集判断対象の状態情報が収集条件を満たしていない場合、テーブル管理機能部131は、状態情報定義ファイル142において当該収集条件に関連付けられたすべての状態情報についてのフラグを「偽(FALSE)」にする。例えば、読み出した収集判断対象の状態情報B1が状態情報定義ファイル142の2行目の収集条件を満たしていない場合、その2行目の収集条件に関連付けられた状態情報B1、B2およびB3についての格納対象選定テーブル22のフラグの値が各々「偽(FALSE)」となる。
テーブル管理機能部131は、このようにして状態情報毎にフラグの値を決めた格納対象選定テーブル22を作成する。そして、テーブル管理機能部131は、作成した格納対象選定テーブル22を記憶部20に格納して更新する。
次に、データ収集機能部11の格納機能部132は、テーブル管理機能部131によって作成された最新の格納対象選定テーブル22のフラグに従って格納対象の状態情報の種類を選び、選んだ格納対象の状態情報の値を記憶部30から読み出す(ステップSB190)。例えば、格納対象選定テーブル22において、状態情報A1、A2およびA3のフラグが「真(TURE)」であり、状態情報B1、B2、B3、C1、C2およびC3のフラグが「偽(FALSE)」である場合、状態情報A1、A2およびA3が記憶部30から読み出され、状態情報B1、B2、B3、C1、C2およびC3は読み出されない。
次に、格納機能部132は、ステップSB190で記憶部30から読み出した状態情報にタイムスタンプを関連付けて、当該読み出した状態情報とタイムスタンプとを記憶部20に格納する(ステップSB200)。
格納対象の状態情報を格納した(ステップSB200)後、格納機能部132は、格納完了の旨をタスクスケジューリング機能部11に通知する。その通知を受けたタスクスケジューリング機能部11は、ステップSB110の処理に戻る。そして、タスクスケジューリング機能部11は、制御終了指示を取得しなかった場合(ステップSB110:No)、次の制御周期の開始タイミングとなったか否かを判断する(ステップSB120)。以上の処理を繰り返すことで、データ収集機能部13は、制御周期毎に、所定の収集条件を満たした場合にその収集条件に関連付けられた状態情報のみを記憶部20に格納する。
図7は、コントローラ1による制御の具体例を示すタイムチャートである。
制御周期の開始時刻t11において、アプリケーション演算機能部12は、この時点における状態情報A1〜A3、B1〜B3およびC1〜C3を取得して記憶部30に格納した。このときの状態情報A1の値は1000であり、状態情報B1の値は1000であり、状態情報C1の値は1000であったとする。時刻t12において、所定の演算が終了したため、データ収集機能部13は動作を開始した。データ収集機能部13のテーブル管理機能部131は、収集判断対象の状態情報A1、B1およびC1を記憶部30から読み出して状態情報定義ファイル142の収集条件と比較した。その結果、この時点では、状態情報A1、B1およびC1のすべてにおいて収集条件を満たさなかった。このため、テーブル管理機能部131は、状態情報A1〜A3、B1〜B3およびC1〜C3についてのフラグをすべて「偽(FALSE)」とした格納対象選定テーブル22を作成して更新した。この時点では、すべての状態情報A1〜A3、B1〜B3およびC1〜C3についてのフラグが「偽(FALSE)」であるため、格納機能部132は、記憶部20に何も格納しない。
制御周期の開始時刻t11において、アプリケーション演算機能部12は、この時点における状態情報A1〜A3、B1〜B3およびC1〜C3を取得して記憶部30に格納した。このときの状態情報A1の値は1000であり、状態情報B1の値は1000であり、状態情報C1の値は1000であったとする。時刻t12において、所定の演算が終了したため、データ収集機能部13は動作を開始した。データ収集機能部13のテーブル管理機能部131は、収集判断対象の状態情報A1、B1およびC1を記憶部30から読み出して状態情報定義ファイル142の収集条件と比較した。その結果、この時点では、状態情報A1、B1およびC1のすべてにおいて収集条件を満たさなかった。このため、テーブル管理機能部131は、状態情報A1〜A3、B1〜B3およびC1〜C3についてのフラグをすべて「偽(FALSE)」とした格納対象選定テーブル22を作成して更新した。この時点では、すべての状態情報A1〜A3、B1〜B3およびC1〜C3についてのフラグが「偽(FALSE)」であるため、格納機能部132は、記憶部20に何も格納しない。
制御周期の開始時刻t21において、アプリケーション演算機能部12は、この時点における状態情報A1〜A3、B1〜B3およびC1〜C3を取得して記憶部30に格納した。このときの状態情報A1の値は2500であり、状態情報B1の値は1000であり、状態情報C1の値は1000であったとする。時刻t22において、所定の演算が終了したため、データ収集機能部13は動作を開始した。データ収集機能部13のテーブル管理機能部131は、収集判断対象の状態情報A1、B1およびC1を記憶部30から読み出して状態情報定義ファイル142の収集条件と比較した。その結果、この時点では、状態情報A1は収集条件を満たし、状態情報B1およびC1は収集条件を満たさなかった。このため、テーブル管理機能部131は、満たされた収集条件に関連付けられた状態情報A1、A2およびA3についてのフラグを「真(TRUE)」とし、それ以外の状態情報B1〜B3およびC1〜C3についてのフラグを「偽(FALSE)」とした格納対象選定テーブル22を作成して更新した。この時点では、状態情報A1、A2およびA3のフラグが「真(TRUE)」であるため、格納機能部132は、格納対象の状態情報として状態情報A1、A2およびA3を選び、状態情報A1、A2およびA3の値を記憶部30から読み出す。そして、この時点における格納機能部132は、状態情報A1、A2およびA3をタイムスタンプとともに記憶部20に格納する。
図8は、時刻t22を含む制御周期における記憶部20への格納状況を示すブロック図である。図8に示すように、この制御周期の時点では、記憶部20における制御対象系2Aの状態情報格納領域21Aには状態情報A1、A2およびA3が格納されるが、制御対象系2Bの状態情報格納領域21Bおよび制御対象系2Cの状態情報格納領域21Cには何も格納されない。
図7において、制御周期の開始時刻t31では、状態情報A1の値は3000であり、状態情報B1の値は1000であり、状態情報C1の値は1000であったとする。この時点では、時刻t21から始まる直前の制御周期の場合と同様に、状態情報A1、A2およびA3についてのフラグが「真(TRUE)」であるため、格納機能部132は、状態情報A1、A2およびA3の値を記憶部30から読み出し、タイムスタンプとともに記憶部20に格納する。
ここで、例えば、収集判断対象の状態情報A1の値(例えば水位情報の示す水位)が異常の有無の判断基準となる異常判断閾値ThE(例えば3000)を超えた場合、コントローラ1は異常(例えば水位異常)である旨の判断を行うものとする。状態情報A1の値が異常判断閾値ThEよりも遥かに小さい値(例えば1000)である場合、以後の制御周期において状態情報A1の値が異常判断閾値ThEを超える可能性は低い。しかし、状態情報A1の値が異常判断閾値ThEよりも小さい値であるが異常判断閾値ThEに近い値(例えば2500)である場合、以後の制御周期において状態情報A1の値が異常判断閾値ThEを超える可能性が高くなる。このため、異常の解析の際には、将来において異常判断条件を満たす可能性の高い異常判断閾値ThEに近い値が重要となる。
この点を考慮し、制御システム100では、異常の判断対象となる状態情報を収集判断対象の状態情報とし、収集条件における判断基準となる収集閾値Th1を異常の判断基準となる異常判断閾値ThEに到達する途中の値に設定するのが好ましい。図7の例では、異常判断閾値ThEである3000に到達する途中の値である2000を収集閾値Th1としている。コントローラ1では、状態情報A1が異常判断閾値ThEに近づいて収集閾値Th1(2000)を超えた場合に収集条件を満たしたとして、状態情報A1、A2およびA3を記憶部20に格納するのである。状態情報A1が収集閾値Th1を超えた場合には、その後、状態情報A1が異常判断閾値ThEにさらに近づいて異常判断閾値ThEを超える可能性が高いからである。制御対象系2Aが例えば水位制御系である場合、状態情報A1を水位情報とし、状態情報A2を入水流量情報とし、状態情報A3を排水流量情報とすれば、制御対象系2Aの水位異常の解析を十分に行えるようになる。
以上のように、本実施形態のコントローラ1のデータ収集機能部13は、収集判断対象の状態情報が所定の収集条件を満たした場合、その収集条件に関連付けられた状態情報を記憶部20に格納し、その収集条件に関連付けられていない状態情報については記憶部20に格納しない。コントローラ1によれば、異常の解析に必要な状態情報を収集条件に予め関連付けておくことで、異常の解析に十分な種類の状態情報を記憶部20に蓄積することができる。また、コントローラ1によれば、異常の解析に必要な状態情報ではない状態情報(換言すると予想される異常に関連しない状態情報)の記憶部20への格納処理を行わないため、データ収集機能部13の動作時間が長くなるのを抑えることができ、アプリケーション演算機能部による所定の演算の実行に影響が生じることはない。
また、コントローラ1において、収集判断対象の状態情報の具体例は、異常の判断対象となる状態情報であり、所定の収集条件の具体例は、異常の有無の判断基準となる異常判断閾値ThEに到達する途中において設定された収集閾値Th1を超えたか否かである。この例によれば、所定の収集条件を満たした場合には、所定の収集条件を満たしていない場合に比べ、以後の制御周期において収集判断対象の状態情報が異常判断閾値ThEに至って異常が発生する可能性が高い。コントローラ1によれば、このような異常の発生の可能性が高い状態においてその異常に関連する各種の状態情報を記憶部20に格納するため、異常の解析を十分に行えるようになる。また、コントローラ1によれば、所定の収集条件を満たさず、異常の発生の可能性が低い状態において、その異常に関連する状態情報を過度に格納することはない。この点からも、コントローラ1によれば、データ収集機能部13の動作時間が長くなるのを抑えることができ、アプリケーション演算機能部による所定の演算の実行に影響が生じることはない。
従って、本実施形態のコントローラ1によれば、制御対象の制御のための演算に影響を与えることなく、異常の解析を十分に行えるようになる。
(変形)
以上本発明の一実施形態について説明したが、この実施形態に以下の変形を加えても勿論良い。
以上本発明の一実施形態について説明したが、この実施形態に以下の変形を加えても勿論良い。
(1)実施形態の状態情報定義ファイル142には、1つの収集判断対象の状態情報について1つの収集条件が定義されていた。しかし、状態情報定義ファイルにおいて、1つの収集判断対象の状態情報について複数の収集条件が定義されていても良い。図9は、この態様の状態情報定義ファイルの構成例を示す図である。図9の状態情報定義ファイルでは、収集判断対象の状態情報A1が「2000以下」の収集条件には、状態情報が何も関連付けられておらず、収集判断対象の状態情報A1が「2000よりも大であり2500以下」の収集条件には、状態情報A1およびA2が関連付けられており、収集判断対象の状態情報A1が「2500よりも大」の収集条件には、状態情報A1、A2およびA3が関連付けられている。
図10は、図9の状態情報定義ファイルを用いた場合における制御の具体例を示すタイムチャートである。制御開始時刻t11の制御周期において状態情報A1が2000以下であったとする。この時点では、図9の状態情報定義ファイルに基づいて記憶部20には何も格納されない。次の制御開始時刻t21の制御周期において、状態情報A1が2000よりも大であり、かつ、2500以下に変化したとする。この時点では、図9の状態情報定義ファイルに基づいて記憶部20には状態情報A1およびA2が格納される。すなわち、コントローラ1は、状態情報A1の変化に応じて、記憶部20に何も格納されない収集状態Q1から記憶部20に状態情報A1およびA2を格納する収集状態Q2に状態遷移した。次の制御開始時刻t31の制御周期において、状態情報A1が2500よりも大に変化したとする。この時点では、図9の状態情報定義ファイルに基づいて記憶部20には状態情報A1、A2およびA3が格納される。すなわち、コントローラ1は、状態情報A1の変化に応じて、記憶部20に状態情報A1およびA2を格納する収集状態Q2から記憶部20に状態情報A1、A2およびA3を格納する収集状態Q3に状態遷移した。
以上を踏まえると、コントローラ1のデータ収集機能部13は、制御対象系から得られた複数種の状態情報のうちの記憶部20に格納する格納対象の状態情報の種類を、収集判断対象の状態情報に応じて変える処理を行うのである。
(2)実施形態の状態情報定義ファイル142では、収集条件に対して関連付けられた状態情報を1行に表していた。しかし、状態情報定義ファイルは、図11に示すように、収集判断対象の状態情報と収集条件とを制御対象系から得られる状態情報毎に表したものであっても良い。このように表したものであっても、収集条件と、制御対象系から得られる複数種の状態情報との関連付けが定義されていることに変わりはないからである。
(3)図12に示すように、状態情報定義ファイルにおいて、収集条件に関連付けられた状態情報に優先順位が定義されていても良い。この態様のデータ収集機能部は、収集条件を満たすことで選ばれた格納対象の状態情報の数(換言すると、フラグが「真(TURE)」である状態情報の数)が、制御周期とアプリケーション演算機能部12の動作時間とに基づいて決められる上限を超えた場合、その上限を超えない数の格納対象の状態情報を、状態情報定義ファイルにおける優先順位に従って選ぶ。格納対象の状態情報の上限は、予め定義されていても良いし、アプリケーション演算機能部12における演算内容によって逐次算出されても良い。この態様によれば、格納対象に選ばれた状態情報がその上限を超えてしまっても、優先順位を設けなかった場合に比べ、アプリケーション演算機能部12による所定の演算の実行に影響を生じさせることはなく、重要な状態情報を優先的に格納するため、異常の解析を十分に行えるようになる。
(4)実施形態の状態情報定義ファイル142において、収集条件に対応する収集判断対象の状態情報の数は1つであった。しかし、例えば、状態情報A1と状態情報A2との乗算結果を収集判断対象の状態情報にする、という具合に、状態情報定義ファイルにおいて、収集条件に対応する収集判断対象の状態情報の数は、1つ以上であれば良く複数であっても良い。
(5)状態情報定義ファイルにおける各種定義は、実施形態や各変形例の具体例に限らない。
(6)実施形態のコントローラ1は、3個の制御対象系2A〜2Cの制御を行うものであった。しかし、コントローラ1によって制御される制御対象系は3個に限らない。また、コントローラ1によって制御される制御対象系が複数ある場合、その複数の制御対象系の各々が同じ種類の制御対象系であっても良いし、各々が異なる種類の制御対象系であっても良いし、複数のうちの一部が同じ種類の制御対象系であっても良い。
(7)実施形態のコントローラ1は、制御対象系2Aから3種類の状態情報A1〜A3を取得し、制御対象系2Bから3種類の状態情報B1〜B3を取得し、制御対象系2Cから3種類の状態情報C1〜C3を取得していた。しかし、制御対象系2A〜2Cの各々から取得する状態情報の数は3種類に限らない。また、複数の制御対象系の各々から取得する状態情報の数は、複数の制御対象系で同じであっても良いし、複数の制御対象系毎に異なっていても良いし、複数のうちの一部の制御対象系で同じであっても良い。
(8)実施形態のコントローラ1のデータ収集機能部13は、格納対象選定テーブル22の作成と格納対象選定テーブル22に基づいた状態情報の記憶部20への格納とを同一の制御周期内で行っていた。しかし、データ収集機能部13は、格納対象選定テーブル22を作成した次の制御周期において、直前の制御周期で作成された格納対象選定テーブル22に基づいた状態情報の格納を行っても良い。
(9)実施形態のコントローラ1では、制御周期内において、アプリケーション演算機能部12の動作後にデータ収集機能部13の動作が行われていた。しかし、データ収集機能部13は、アプリケーション演算機能部12が動作しない時間において行われれば良く、制御周期内において、アプリケーション演算機能部12の動作の前に行われても良い。この態様のデータ収集機能部13は、直前の制御周期のアプリケーション演算機能部12によって取得された状態情報を用いて現在の制御周期における格納処理を行えば良い。
(10)実施形態のコントローラ1の記憶部20は、不揮発性の記憶装置であった。しかし、記憶部20は、揮発性の記憶装置であっても良い。制御システム100において異常が発生したとしても、記憶部20への電力供給が途絶えなければ、記憶部20に格納されている状態情報が引き続き保持され、その状態情報の履歴を利用して異常の解析を行うことができるからである。ただし、記憶部20が揮発性の記憶装置である場合、不揮発性の記憶装置の場合に比べ、記憶部20から状態情報が消去されるリスクが高くなる。また、記憶部20を揮発性の記憶装置とする場合、記憶装置20と記憶装置30とを一体の記憶装置で構成しても良い。記憶装置20に対応する記憶領域と記憶装置30に対応する記憶領域とを区別することで、記憶装置20に対応する記憶領域に格納された状態情報の履歴を保持することができるからである。
(11)実施形態の制御システム100では、状態情報が格納される記憶部20をコントローラが備えていた。しかし、制御システムにおいて、状態情報が格納される記憶手段をコントローラ1とは別個に備えても良い。状態情報が格納される記憶手段とコントローラ1とが制御システム100内で接続されれば、当該記憶手段は、コントローラ1によって選ばれた状態情報をコントローラ1から受信して格納することができるからである。
100…制御システム、1…コントローラ、2A,2B,2C…制御対象系、3,5…ネットワーク、4…支援装置、10…制御部、11…タスクスケジューリング機能部、12…アプリケーション演算機能部、13…データ収集機能部、131…テーブル管理機能部、132…格納機能部、14…インターフェース機能部、142…状態情報定義ファイル、20、30…記憶部、22…格納対象選定テーブル、A1,A2,A3,B1,B2,B3,C1,C2,C3…状態情報。
Claims (6)
- 制御対象に関するひとまとまりのシステムである制御対象系の状態を示す複数種の状態情報を所定の制御周期毎に1または複数の前記制御対象系について取得し、得られた状態情報のうちの少なくとも1つの状態情報に基づいて前記制御対象系の制御に関する各種の演算を行うアプリケーション演算機能部と、
前記制御周期内における前記アプリケーション演算機能部が動作しない時間において行われる処理であって、前記得られた状態情報のうちの記憶手段に格納する格納対象の状態情報の種類を、前記得られた状態情報のうちの少なくとも1つの状態情報に応じて変える処理を行うデータ収集機能部と、
を有することを特徴とするコントローラ。 - 前記データ収集機能部は、
前記得られた状態情報のうちの少なくとも1つの状態情報を所定の収集条件を満たすか否かの収集判断対象の状態情報とし、
前記収集判断対象の状態情報が前記収集条件を満たした場合、
前記得られた状態情報のうちの前記収集条件に関連付けられた状態情報を前記格納対象の状態情報に選ぶ
ことを特徴とする請求項1に記載のコントローラ。 - 前記収集条件には、前記収集判断対象の状態情報以外の状態情報が少なくとも1種類関連付けられていることを特徴とする請求項2に記載のコントローラ。
- 前記収集条件に関連付けられた状態情報には優先順位が決められており、
前記データ収集機能部は、
前記収集条件を満たすことで選ばれた前記格納対象の状態情報の数が、前記制御周期と前記アプリケーション演算機能部の動作時間とに基づいて決められる上限を超えた場合、前記上限を超えない数の前記格納対象の状態情報を前記優先順位に従って選ぶ
ことを特徴とする請求項2または3に記載のコントローラ。 - 前記データ収集機能部は、
前記収集条件と、前記収集条件と前記複数種の状態情報との関連付けとが定義された定義ファイルに基づいて前記収集判断対象の状態情報が前記収集条件を満たすか否かの判断を行い、
前記収集条件を満たすか否かの判断結果と、前記定義ファイルとに基づいて更新されるテーブルに従って前記格納対象の状態情報を選ぶ
ことを特徴とする2〜4のいずれか1の請求項に記載のコントローラ。 - 制御対象に関するひとまとまりのシステムである制御対象系の状態を示す複数種の状態情報を所定の制御周期毎に1または複数の前記制御対象系について取得し、得られた状態情報のうちの少なくとも1つの状態情報に基づいて前記制御対象系の制御に関する各種の演算を行うアプリケーション演算手段と、
前記制御周期内における前記アプリケーション演算手段が動作しない時間において行われる処理であって、前記得られた状態情報のうちの記憶手段に格納する格納対象の状態情報の種類を、前記得られた状態情報のうちの少なくとも1つの状態情報に応じて変える処理を行うデータ収集手段と、
を有することを特徴とする制御システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016121718A JP2017227961A (ja) | 2016-06-20 | 2016-06-20 | コントローラおよび制御システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016121718A JP2017227961A (ja) | 2016-06-20 | 2016-06-20 | コントローラおよび制御システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017227961A true JP2017227961A (ja) | 2017-12-28 |
Family
ID=60889255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016121718A Withdrawn JP2017227961A (ja) | 2016-06-20 | 2016-06-20 | コントローラおよび制御システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017227961A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11526148B2 (en) | 2018-10-23 | 2022-12-13 | Kabushiki Kaisha Yaskawa Denki | Control apparatus for industrial machine, control system for industrial machine, and method for controlling industrial machine |
-
2016
- 2016-06-20 JP JP2016121718A patent/JP2017227961A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11526148B2 (en) | 2018-10-23 | 2022-12-13 | Kabushiki Kaisha Yaskawa Denki | Control apparatus for industrial machine, control system for industrial machine, and method for controlling industrial machine |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5463885B2 (ja) | バッチジョブ処理時間推定プログラム、方法及び装置 | |
CN106802826B (zh) | 一种基于线程池的业务处理方法及装置 | |
CN109933019B (zh) | 工业控制系统及其支持装置、控制支持方法和存储介质 | |
CN105406991A (zh) | 基于网络监控指标由历史数据生成业务阈值的方法及系统 | |
CN102226890A (zh) | 一种主机批量作业数据监控方法及装置 | |
US10452048B2 (en) | Control system and control device | |
CN103593232B (zh) | 一种数据仓库的任务调度方法及装置 | |
US9208677B2 (en) | Systems and methods for process alarm reduction | |
JP2014186624A (ja) | マイグレーション処理方法及び処理装置 | |
JP2017227961A (ja) | コントローラおよび制御システム | |
US20180101609A1 (en) | Pattern-based Data Collection for a Distributed Stream Data Processing System | |
JP2004005305A (ja) | メモリ使用容量の監視方法及び計算機システム | |
CN202084026U (zh) | 一种主机批量作业数据监控系统 | |
EP3164819B1 (en) | Acquisition of high frequency data in transient detection | |
CN115629903A (zh) | 任务延迟监控方法、装置、设备及存储介质 | |
US10216606B1 (en) | Data center management systems and methods for compute density efficiency measurements | |
US20150135948A1 (en) | Systems and Methods for Managing Turbine Intake Filters | |
Kreter et al. | Modeling and solving project scheduling with calendars | |
JP6701245B2 (ja) | 分析装置および分析方法 | |
CN111427698A (zh) | 基于Azakban的数据同步方法、装置和计算机设备 | |
JP2013069223A (ja) | 生成プログラム、生成方法及び生成装置 | |
JP2009169801A (ja) | データのスケジュール検索方式および検索方法 | |
CN116149813A (zh) | 一种任务调度方法、装置、系统、电子设备及存储介质 | |
CN113986841A (zh) | 一种i2p网络的全节点快速采集分析系统和方法 | |
RU2016134614A (ru) | Система и способ интерпретации и анализа динамических характеристик текущего состояния выполняемых задач |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20190415 |