(57)【特許請求の範囲】
【請求項１】
デバイスの動作を制御するデバイス制御処理を実行する制御装置と、
前記制御装置に接続され、前記デバイス制御処理の監視を行うための監視端末を備える上位システムと
を備え、
前記制御装置は、
前記デバイス制御処理を実行する制御ＣＰＵと、
前記制御ＣＰＵと内部バスを介して接続された情報ＣＰＵと
を備え、
前記制御ＣＰＵは、前記デバイスに関するデータであって前記デバイス制御処理に用いられるデバイスデータが格納されるデバイスメモリを備え、
前記情報ＣＰＵは、
内蔵データベースと、
前記内部バスを介して前記デバイスメモリから前記デバイスデータを読み出し、前記読み出したデバイスデータを前記内蔵データベースに格納するデータ収集処理を実行するデータ収集部と、
外部転送条件が満たされた場合、前記内蔵データベースに格納されている前記デバイスデータを、前記上位システムに含まれる外部データベースに転送する外部転送処理部と
を備え、
前記監視端末は、検索処理によって前記外部データベースあるいは前記内蔵データベースから前記デバイスデータを取得することを特徴とする監視制御システム。
【請求項２】
前記データ収集部は、定期的に、前記データ収集処理を実行し、
前記外部転送条件は、前記データ収集部が前記データ収集処理を実行中ではないこと、を含むことを特徴とする請求項１に記載の監視制御システム。
【請求項３】
前記外部転送条件は、前記データ収集部が前記データ収集処理を実行中ではないこと、前記制御装置の負荷が負荷閾値より低いこと、前記内蔵データベースの使用率が使用率閾値より高いこと、のうち少なくともいずれかを含むことを特徴とする請求項１に記載の監視制御システム。
【請求項４】
前記監視端末は、前記外部データベースあるいは前記内蔵データベースから取得した前記デバイスデータに基づいて、前記デバイスデータの内容を示す画面データを生成し、前記生成した画面データを前記監視端末の監視画面に表示することを特徴とする請求項１から３のいずれか一項に記載の監視制御システム。
【請求項５】
前記情報ＣＰＵは、更に、画面データ生成部を備え、
前記画面データ生成部は、前記デバイスメモリまたは前記内蔵データベースから前記デバイスデータを読み出し、前記読み出したデバイスデータに基づいて、前記デバイスデータの内容を示す画面データを生成し、
前記監視端末は、前記画面データ生成部によって生成された前記画面データを取得し、前記取得した画面データを前記監視端末の監視画面に表示することを特徴とする請求項１から３のいずれか一項に記載の監視制御システム。
【請求項６】
前記情報ＣＰＵは、更に、
演算起動条件及び演算処理の内容を指定する演算定義データが格納される記憶部と、
前記演算起動条件が満たされた場合、前記データ収集処理において読み出される前記デバイスデータに対して前記演算処理を実行し、前記演算処理の結果を前記デバイスメモリに書き込むデータ演算部と
を備えることを特徴とする請求項１から５のいずれか一項に記載の監視制御システム。
【請求項７】
前記上位システムは、前記演算定義データの設定に用いられる設定端末を備えることを特徴とする請求項６に記載の監視制御システム。
【請求項８】
デバイスの動作を制御するデバイス制御処理を実行し、また、前記デバイス制御処理の監視を行うための監視端末を備える上位システムに接続される制御装置であって、
前記デバイス制御処理を実行する制御ＣＰＵと、
前記制御ＣＰＵと内部バスを介して接続された情報ＣＰＵと
を備え、
前記制御ＣＰＵは、前記デバイスに関するデータであって前記デバイス制御処理に用いられるデバイスデータが格納されるデバイスメモリを備え、
前記情報ＣＰＵは、
内蔵データベースと、
前記内部バスを介して前記デバイスメモリから前記デバイスデータを読み出し、前記読み出したデバイスデータを前記内蔵データベースに格納するデータ収集処理を実行するデータ収集部と、
外部転送条件が満たされた場合、前記内蔵データベースに格納されている前記デバイスデータを、前記上位システムに含まれる外部データベースに転送する外部転送処理部と
を備え、
前記監視端末は、検索処理によって前記外部データベースあるいは前記内蔵データベースから前記デバイスデータを取得することを特徴とする制御装置。
【請求項９】
前記情報ＣＰＵは、更に、
演算起動条件及び演算処理の内容を指定する演算定義データが格納される記憶部と、
前記演算起動条件が満たされた場合、前記データ収集処理において読み出される前記デバイスデータに対して前記演算処理を実行し、前記演算処理の結果を前記デバイスメモリに書き込むデータ演算部と
を備えることを特徴とする請求項８に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバイス制御処理を実行する制御装置、及び、デバイス制御処理の監視を行う監視制御システムに関する。
【背景技術】
【０００２】
ＰＬＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）は、工場等における自動機械の制御に用いられる制御装置である。そのような制御装置は、センサやアクチュエータといった各種デバイス（機器）に接続され、制御プログラムを実行することによってそれらデバイスの動作を制御する。デバイスの動作を制御する処理は、以下、「デバイス制御処理」と参照される。【０００３】
近年、ＰＬＣ等の制御装置と外部情報システムとの連携により、統合的な情報管理を行う技術が実用化されている。そのような技術としては、ＭＥＳ（Ｍａｎｕｆａｃｔｕｒｉｎｇ  Ｅｘｅｃｕｔｉｏｎ  Ｓｙｓｔｅｍ）やＥＲＰ（Ｅｎｔｅｒｐｒｉｓｅ  Ｒｅｓｏｕｒｃｅ  Ｐｌａｎｎｉｎｇ）が挙げられる。【０００４】
また、水処理プラントや化学系プラントといった大規模プラントでは、高速大容量のデータが扱われる。そのような大規模プラントでは、一般に、ＳＣＡＤＡ（Ｓｕｐｅｒｖｉｓｏｒｙ  Ｃｏｎｔｒｏｌ  Ａｎｄ  Ｄａｔａ  Ａｃｑｕｉｓｉｔｉｏｎ）と呼ばれる監視制御システムが使用されている。ＳＣＡＤＡの機能としては、データ収集機能やユーザインタフェース機能などが挙げられる。データ収集機能は、プラント内のセンサ等のデバイスからデバイスデータを収集し、収集したデバイスデータをデータベースに格納する機能である。ユーザインタフェース機能は、デバイスデータを監視端末の表示画面に表示したり、ユーザからのデータ操作を受け付ける機能である。ユーザは、監視端末の表示画面に表示されたデータに基づいて、プラント内のデバイス制御処理の監視や、必要なデータ操作を行うことができる。【０００５】
外部情報システムとの間でデータのやりとりを行う制御装置として、次のものが知られている。【０００６】
特許文献１は、分散型の制御装置を開示している。この分散型制御装置は、デバイス制御処理用のメインプロセッサと、データ通信処理用の通信プロセッサとを備えている。これにより、この分散型制御装置が上位システムから大量のデータ取得要求を受けた場合でも、デバイス制御処理への影響を低減することができる。【０００７】
特許文献２は、ＰＬＣをウェブ経由で遠隔制御するための技術を開示している。ＰＬＣは、遠隔制御コンピュータから、ユーザプログラムに関するデータの送信要求を受信する。その送信要求に応答して、ＰＬＣは、ユーザプログラムやデータベース内の制御情報を、遠隔制御コンピュータに送信する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００８−２８２３２３号公報
【特許文献２】特開２００９−８６８６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
従来のＳＣＡＤＡの場合、監視端末が、ＳＣＡＤＡソフトウェアを実行する。ここで、プラントでは高信頼性及び高品質が要求されるため、ＳＣＡＤＡソフトウェアを実行する監視端末としては、産業用ＰＣ（ＦＡパソコン）のような高価な専用ＰＣが必要となる。このことは、コストの増大を招く。【００１０】
本発明の１つの目的は、デバイス制御処理の監視を行う監視制御システムを低コストで実現することができる技術を提供することにある。
【課題を解決するための手段】
【００１１】
本発明の１つの観点において、監視制御システムが提供される。その監視制御システムは、デバイスの動作を制御するデバイス制御処理を実行する制御装置と、制御装置に接続され、デバイス制御処理の監視を行う上位システムと、を備える。制御装置は、デバイス制御処理を実行する制御ＣＰＵと、制御ＣＰＵと内部バスを介して接続された情報ＣＰＵと、を備える。制御ＣＰＵは、デバイスに関するデータであってデバイス制御処理に用いられるデバイスデータが格納されるデバイスメモリを備える。情報ＣＰＵは、内蔵データベースと、データ収集部と、を備える。データ収集部は、内部バスを介してデバイスメモリからデバイスデータを読み出し、読み出したデバイスデータを内蔵データベースに格納するデータ収集処理を実行する。【００１２】
本発明の他の観点において、制御装置が提供される。その制御装置は、デバイスの動作を制御するデバイス制御処理を実行し、また、デバイス制御処理の監視を行う上位システムに接続される。制御装置は、デバイス制御処理を実行する制御ＣＰＵと、制御ＣＰＵと内部バスを介して接続された情報ＣＰＵと、を備える。制御ＣＰＵは、デバイスに関するデータであってデバイス制御処理に用いられるデバイスデータが格納されるデバイスメモリを備える。情報ＣＰＵは、内蔵データベースと、データ収集部と、を備える。データ収集部は、内部バスを介してデバイスメモリからデバイスデータを読み出し、読み出したデバイスデータを内蔵データベースに格納するデータ収集処理を実行する。
【発明の効果】
【００１３】
本発明によれば、デバイス制御処理の監視を行う監視制御システムを低コストで実現することが可能となる。
【図面の簡単な説明】
【００１４】
【図１】図１は、本発明の実施の形態１に係る監視制御システムの構成例を概略的に示すブロック図である。
【図２】図２は、本発明の実施の形態１に係る制御装置の構成例を示すブロック図である。
【図３】図３は、本発明の実施の形態１における信号定義データの一例を示す概念図である。
【図４】図４は、本発明の実施の形態１における演算定義データの一例を示す概念図である。
【図５】図５は、本発明の実施の形態１に係る制御装置のデータ収集部の動作を示すフローチャートである。
【図６】図６は、本発明の実施の形態１に係る制御装置のデータ演算部の動作を示すフローチャートである。
【図７】図７は、本発明の実施の形態１に係る制御装置の外部転送処理部の動作を示すフローチャートである。
【図８】図８は、本発明の実施の形態１に係る監視端末の構成例を示すブロック図である。
【図９】図９は、本発明の実施の形態１に係る監視端末の動作を示すフローチャートである。
【図１０】図１０は、本発明の実施の形態１に係る設定端末を用いて設定情報を設定する手順を示すフローチャートである。
【図１１】図１１は、本発明の実施の形態２に係る制御装置の構成例を示すブロック図である。
【図１２】図１２は、本発明の実施の形態３に係る制御装置の構成例を示すブロック図である。
【発明を実施するための形態】
【００１５】
添付図面を参照して、本発明の実施の形態を説明する。
【００１６】
実施の形態１．
＜監視制御システム＞
図１は、本発明の実施の形態１に係る監視制御システム１の構成例を概略的に示すブロック図である。監視制御システム１は、上位システム１０と制御装置１００を備えている。それら上位システム１０と制御装置１００とは、情報ネットワークＮＥＴを介して、互いに通信可能に接続されている。
【００１７】
制御装置１００は、デバイス制御処理を実行する。具体的には、制御装置１００は、工場内のセンサやアクチュエータといった各種デバイス（機器）に接続されており、制御プログラムを実行することによってそれらデバイスの動作を制御する。このような制御装置１００としては、ＰＬＣが例示される。また、工場内において、複数の制御装置１００は、コントローラネットワークを介して、互いに通信可能に接続されている。
【００１８】
上位システム１０は、制御装置１００によるデバイス制御処理を監視するためのシステムであり、情報ネットワークＮＥＴを介して制御装置１００に接続されている。例えば、上位システム１０は、工場のエリア外の事務所内に設けられる。この上位システム１０は、設定端末２０、データベース端末３０、及び監視端末４０を備えている。
【００１９】
設定端末２０は、制御装置１００に対して各種設定を行うための端末である。設定端末２０を用いた設定処理の詳細は、後述される。尚、設定端末２０と制御装置１００との間の接続手段は、情報ネットワークＮＥＴに限られない。設定端末２０と制御装置１００とは、ケーブルによって直接接続されてもよいし、ＷｉＦｉ等によりワイアレスに接続されてもよい。
【００２０】
データベース端末３０は、外部データベース３５を備えている。この外部データベース３５に対しては、ＳＱＬ等のデータベース言語を用いることによって、高速検索等のデータベース処理が可能である。後述されるように、外部データベース３５は、制御装置１００によって収集されるデバイスデータの保存に用いられる。尚、デバイスデータとは、制御装置１００によって制御されるデバイスに関するデータであり、デバイス制御処理に用いられるデータのことである。
【００２１】
監視端末４０は、制御装置１００によるデバイス制御処理を監視するための端末である。この監視端末４０は、制御装置１００によって収集されるデバイスデータを表示部に表示したり、ユーザからのデータ操作を受け付けることができる。ユーザは、表示部に表示されたデータに基づいて、プラント内のデバイス制御処理の監視や、必要なデータ操作を行うことができる。監視端末４０の詳細は、後述される。
【００２２】
＜制御装置の構成例＞
以下、制御装置１００の詳細を説明する。図１に示されるように、本実施の形態に係る制御装置１００は、制御ＣＰＵ２００と情報ＣＰＵ３００とを別々に搭載している。制御ＣＰＵ２００と情報ＣＰＵ３００とは、バス４００（内部バス）を介して互いに接続されている。
【００２３】
制御ＣＰＵ２００は、デバイス制御処理用のＣＰＵである。つまり、制御ＣＰＵ２００は、制御プログラムを実行することにより、センサやアクチュエータといったデバイスの動作を制御する。
【００２４】
一方、情報ＣＰＵ３００は、データ収集処理用のＣＰＵである。ここで、データ収集処理とは、デバイスデータを収集したり、収集したデバイスデータをデータベースに保存したりする処理である。すなわち、本実施の形態によれば、制御装置１００の情報ＣＰＵ３００が、従来のＳＣＡＤＡ機能の一部を担う。
【００２５】
図２は、本実施の形態に係る制御装置１００の構成例を示すブロック図である。図２を参照して、制御装置１００をより詳細に説明する。
【００２６】
デバイス制御処理を実行する制御ＣＰＵ２００は、シーケンス制御部２１０及びデバイスメモリ２５０を備えている。
【００２７】
シーケンス制御部２１０は、センサ等のデバイスのシーケンス制御を行う。このシーケンス制御部２１０は、制御ＣＰＵ２００が、ラダー言語等で記述されたシーケンス制御プログラムを実行することにより実現される。尚、シーケンス制御プログラムは、コンピュータ読み取り可能な記録媒体に記録されていてもよい。
【００２８】
デバイスメモリ２５０は、内部メモリである。このデバイスメモリ２５０には、デバイス制御処理に用いられるデバイスデータが格納される。
【００２９】
情報ＣＰＵ３００は、バス４００（内部バス）を介して、制御ＣＰＵ２００のデバイスメモリ２５０に接続されている。この情報ＣＰＵ３００は、処理部３１０、記憶部３２０、内蔵データベース３３０、及び外部通信部３４０を備えている。
【００３０】
処理部３１０は、各種データ処理を実行するデータ処理装置である。図２に示されるように、この処理部３１０は、機能ブロックとして、コンフィギュレーション部３１１、データ収集部３１２、データ演算部３１３、及び外部転送処理部３１４を備えている。これら機能ブロックは、処理部３１０がデータ処理プログラムを実行することにより実現される。尚、データ処理プログラムは、コンピュータ読み取り可能な記録媒体に記録されていてもよい。処理部３１０による処理の詳細は、後述される。
【００３１】
記憶部３２０は、定義データ等を格納するためのメモリである。例えば、記憶部３２０には、信号定義データＤ１及び演算定義データＤ２が格納される。
【００３２】
信号定義データＤ１は、プラント内で扱われる信号（デバイスデータを含む）の属性を定義するデータである。図３は、信号定義データＤ１の一例を示している。信号番号は、各信号を識別するための番号である。各信号の属性は、「変数種別」、「名称」、「データ型」、「ネットワーク番号」、「局番号」、「デバイス種別」、及び「アドレス」を含んでいる。
【００３３】
「変数種別」は、当該信号のカテゴリであり、アナログ、デジタル、パルス、カウンタなどが例示される。「名称」は、人間が理解しやすい形で記述した信号名である。「データ型」としては、Ｉｎｔｅｇｅｒ（１６ビット整数）、ｆｌｏａｔ（３２ビット浮動小数点）、ｌｏｎｇ（３２ビット整数）、ｄｏｕｂｌｅ（６４ビット浮動小数点）などが挙げられる。
【００３４】
「ネットワーク番号」は、当該信号を扱っている制御装置１００が接続されているネットワークの識別番号である。「局番号」は、ネットワーク番号で示されるネットワークにおける、当該信号を扱っている制御装置１００の識別番号である。つまり、当該信号を扱っている制御装置１００は、ネットワーク番号と局番号によって一意に特定される。
【００３５】
「デバイス種別」は、制御装置１００のデバイスメモリ２５０に含まれるメモリであって、当該信号が格納されているメモリの種別を示す。デバイス種別としては、データメモリ、ラッチメモリ、内部レジスタなどが挙げられる。「アドレス」は、デバイス種別で示されるメモリにおける、当該信号の格納場所を示す。つまり、当該信号の格納場所は、デバイス種別とアドレスによって一意に特定される。
【００３６】
演算定義データＤ２は、情報ＣＰＵ３００によって実行される演算処理（後に説明される）を定義するデータである。図４は、演算定義データＤ２の一例を示している。演算番号は、各演算処理を識別するための番号である。各演算処理の属性は、「起動条件式」、「出力信号」、及び「演算式」を含んでいる。
【００３７】
「起動条件式」は、当該演算処理を起動する条件を示す。つまり、起動条件式で示される条件が満たされる場合、当該演算処理が実施される。「出力信号」は、当該演算処理の結果の格納先となる信号の信号番号を示す。「演算式」は、当該演算処理の内容を示す。
【００３８】
図４に示される例において、演算番号００１の演算処理は、信号Ｓ２０００の値が１００より大きくなった場合に実行され、信号Ｓ１０１０の値と信号Ｓ１０２０の値の平均値が信号Ｓ１０００に出力される。演算番号００２の演算処理は、１００ｍｓに設定されたタイマがタイムアップした場合に実行され、信号Ｓ１０３０の値を１０倍した値が信号Ｓ１００１に出力される。
【００３９】
演算処理の他の例として、デバイスデータの単位を、上位システム１０が扱い易い単位に変換することも考えられる。例えば、ポンプ井の水位を検出するセンサの出力が、４〜２０ｍＡの範囲で正規化された信号電流Ｘ［ｍＡ］で表されるとする。この信号電流Ｘ［ｍＡ］を、０〜５ｍの範囲の水位［ｍ］に変換することを考える。この場合、次の式（１）で表される演算処理が必要である。
【００４０】
式（１）：水位［ｍ］＝（５［ｍ］−０［ｍ］）×（Ｘ［ｍＡ］−４［ｍＡ］）／（２０［ｍＡ］−４［ｍＡ］）
【００４１】
これら信号定義データＤ１及び演算定義データＤ２は、上位システム１０の設定端末２０を通して設定される。具体的には、ユーザは、設定端末２０を用い、信号定義データＤ１及び演算定義データＤ２の入力や編集を行う。設定端末２０は、信号定義データＤ１及び演算定義データＤ２を、制御装置１００に転送する。制御装置１００の情報ＣＰＵ３００は、設定端末２０から信号定義データＤ１及び演算定義データＤ２を受け取る。情報ＣＰＵ３００の処理部３１０のコンフィギュレーション部３１１は、受け取った信号定義データＤ１及び演算定義データＤ２を、記憶部３２０に格納する。
【００４２】
尚、制御装置１００は、信号定義データＤ１及び演算定義データＤ２を、コントローラネットワークを介して他の制御装置１００に転送してもよい。すなわち、同じネットワークにつながる複数の制御装置１００間でデータを共有してもよい。どの制御装置１００からでもすべてのデータにアクセス可能である。
【００４３】
再度図２を参照して、内蔵データベース３３０は、デバイスデータを保存するためのデータベースである。この内蔵データベース３３０に対しては、ＳＱＬ等のデータベース言語を用いることによって、高速検索等のデータベース処理が可能である。
【００４４】
外部通信部３４０は、情報ネットワークＮＥＴに対するネットワークインタフェースである。処理部３１０は、外部通信部３４０を介して、情報ネットワークＮＥＴにアクセス可能である。
【００４５】
＜情報ＣＰＵの機能＞
以下、情報ＣＰＵ３００の処理部３１０の機能を説明する。
【００４６】
コンフィギュレーション部３１１は、設定端末２０から信号定義データＤ１及び演算定義データＤ２を受け取る。コンフィギュレーション部３１１は、受け取った信号定義データＤ１及び演算定義データＤ２を、記憶部３２０に格納する。
【００４７】
データ収集部３１２は、データ収集処理を実行する。具体的には、データ収集部３１２は、記憶部３２０に格納されている信号定義データＤ１を参照し、その信号定義データＤ１に定義されているデバイスデータをデバイスメモリ２５０から収集する。ここで、情報ＣＰＵ３００とデバイスメモリ２５０とは高速なバス４００によって接続されているので、データ収集部３１２は、そのバス４００を介してデバイスメモリ２５０からデバイスデータを高速に読み出すことができる。そして、データ収集部３１２は、読み出したデバイスデータを内蔵データベース３３０に格納する。例えば、データ収集部３１２は、このようなデータ収集処理を、定期的に実行する。
【００４８】
データ演算部３１３は、データ演算処理を実行する。具体的には、データ演算部３１３は、記憶部３２０に格納されている演算定義データＤ２を参照し、その演算定義データＤ２に定義されている演算処理を実行する。つまり、演算処理の起動条件が満たされた場合、データ演算部３１３は、データ収集処理においてデバイスメモリ２５０から読み出されるデバイスデータに対して、指定された演算処理を実行する。そして、データ演算部３１３は、当該演算処理の結果（図４の「出力信号」）を、デバイスメモリ２５０に書き込む。
【００４９】
外部転送処理部３１４は、外部転送条件が満たされた場合、外部転送処理を実行する。外部転送処理は、内蔵データベース３３０に格納されているデバイスデータの少なくとも一部を、上位システム１０の外部データベース３５に転送する処理である。つまり、本実施の形態では、内蔵データベース３３０が“キャッシュ”として利用され、その内蔵データベース３３０の内容が、必要に応じて外部データベース３５に反映される。
【００５０】
外部転送条件の一例として、「データ収集部３１２がデータ収集処理を実行中ではないこと」、すなわち、「空き時間」が考えられる。外部転送条件の他の例として、「内蔵データベース３３０の使用率が所定の閾値（使用率閾値）を超えたこと」が考えられる。外部転送条件の更に他の例として、「制御装置１００の負荷（通信トラフィック等）が所定の閾値（負荷閾値）より低いこと」が考えられる。外部転送条件は、これらのうちいずれか一つであってもよいし、これらの任意の組み合わせであってもよい。
【００５１】
次に、図５〜図７を参照して、処理部３１０による処理フローの一例を説明する。
【００５２】
図５は、データ収集部３１２の動作を示すフローチャートである。システムが起動されると、データ収集部３１２は、システムに登録されているタイマを起動する（ステップＳ１）。タイマは、データ収集処理を実行する周期を規定する。データ収集処理を実行する周期は、信号定義データＤ１において信号毎に別々に定義されていてもよい。また、データ収集処理を実行する周期は、信号毎に異なっていてもよい。複数の周期が併存する場合は、それぞれの周期を規定する複数のタイマが用意される。
【００５３】
あるタイマがタイムアップした場合（ステップＳ２；Ｙｅｓ）、データ収集部３１２は、当該タイマに関連するデバイスデータを、デバイスメモリ２５０から読み出す（ステップＳ３）。このとき、データ収集部３１２は、現在値が前回値から更新されていた場合にのみ、当該デバイスデータを読み出すことが好適である。
【００５４】
続いて、データ収集部３１２は、データ演算部３１３を呼び出す（ステップＳ４）。データ演算部３１３によるデータ演算処理が完了すると、データ収集部３１２は、デバイスメモリ２５０から読み出されたデバイスデータを、内蔵データベース３３０に書き込む（ステップＳ５）。ここで、内蔵データベース３３０に書き込まれるデータは、ステップＳ３においてデバイスメモリ２５０から読み出されたデバイスデータだけでなく、ステップＳ４におけるデータ演算処理によって更新されたデバイスデータも含む。
【００５５】
続いて、データ収集部３１２は、データ収集処理の完了を外部転送処理部３１４に通知する（ステップＳ６）。システムが終了していなければ（ステップＳ７；Ｎｏ）、手順はステップＳ２に戻る。システムが終了すると（ステップＳ７；Ｙｅｓ）、処理フローは終了する。
【００５６】
図６は、上述のステップＳ４におけるデータ演算部３１３の動作を示すフローチャートである。データ演算部３１３は、演算定義データＤ２を参照し、演算番号の順番で、各演算処理の属性（起動条件式、出力信号、演算式）を取得する（ステップＳ１１）。そして、データ演算部３１３は、取得した属性に従って、次の処理を実行する。
【００５７】
具体的には、データ演算部３１３は、取得した「起動条件式」で指定されている起動条件が満たされているか否か判定する（ステップＳ１２）。起動条件が満たされていない場合（ステップＳ１２；Ｎｏ）、手順は、ステップＳ１５に進む。起動条件が満たされている場合（ステップＳ１２；Ｙｅｓ）、データ演算部３１３は、取得した「演算式」で指定されている演算を実行する（ステップＳ１３）。更に、データ演算部３１３は、演算結果を、取得した「出力信号」で指定される信号に格納する（ステップＳ１４）。すなわち、データ演算部３１３は、演算結果を、デバイスメモリ２５０に書き込む。その後、手順は、ステップＳ１５に進む。
【００５８】
ステップＳ１５では、データ演算部３１３は、演算定義データＤ２に定義されている全ての演算番号について処理が完了したか否か判定する。完了していない場合（ステップＳ１５；Ｎｏ）、手順はステップＳ１１に戻り、次の演算番号について上記処理が実行される。全ての演算番号について処理が完了すると（ステップＳ１５；Ｙｅｓ）、データ演算処理は完了する。
【００５９】
図７は、外部転送処理部３１４の動作を示すフローチャートである。外部転送処理部３１４は、上述のステップＳ６においてデータ収集部３１２から送られたデータ収集完了通知を受け取る（ステップＳ２１）。
【００６０】
このデータ収集完了通知に応答して、外部転送処理部３１４は、次のデータ収集処理が開始するまでの余剰時間を算出する（ステップＳ２２）。余剰時間は、次のデータ収集時刻から現在時刻を差し引いた時間である。次のデータ収集時刻は、上述のステップＳ１で起動された全てのタイマを参照することにより把握することができる。
【００６１】
続いて、外部転送処理部３１４は、内蔵データベース３３０に残っているデバイスデータの少なくとも一部を、外部データベース３５に送信する（ステップＳ２３）。次に、外部転送処理部３１４は、ステップＳ２３による経過時間を算出する（ステップＳ２４）。そして、外部転送処理部３１４は、余剰時間から経過時間を差し引くことによって、余剰時間を更新する（ステップＳ２５）。
【００６２】
余剰時間が残っていれば（ステップＳ２６；Ｙｅｓ）、手順は、ステップＳ２３に戻る。余剰時間が残っていなければ（ステップＳ２６；Ｎｏ）、外部転送処理は終了する。
【００６３】
このように、図５〜図７で示された例では、データ収集部３１２は、データ収集処理を、定期的に実行する。そして、外部転送処理部３１４は、データ収集部３１２がデータ収集処理を実行中ではない場合に、すなわち、空き時間に、外部転送処理を実行する。
【００６４】
＜監視端末＞
次に、上位システム１０の監視端末４０について説明する。図８は、本実施の形態に係る監視端末４０の構成例を示すブロック図である。監視端末４０は、処理部５０、記憶部６０、表示部７０、及び通信部８０を備えている。
【００６５】
処理部５０は、各種データ処理を実行するデータ処理装置である。図８に示されるように、この処理部５０は、機能ブロックとして、データ取得部５１、画面データ生成部５２、及び表示処理部５３を備えている。これら機能ブロックは、処理部５０がＨＭＩ（Ｈｕｍａｎ  Ｍａｃｈｉｎｅ  Ｉｎｔｅｒｆａｃｅ）プログラムを実行することにより実現される。尚、ＨＭＩプログラムは、コンピュータ読み取り可能な記録媒体に記録されていてもよい。処理部５０による処理の詳細は、後述される。
【００６６】
記憶部６０は、ＲＡＭやＨＤＤ等の記憶装置である。この記憶部６０には、信号定義データＤ１、画面定義データＤ３、及び画面データＤ４が格納される。信号定義データＤ１は、上述のものと同じであり、設定端末２０から配信される。画面データＤ４は、表示部７０の監視画面７５に表示されるデータであって、デバイスデータの内容を示す。画面定義データＤ３は、その画面データＤ４の元となるデータである。例えば、画面定義データＤ３は、画面レイアウト、使用するＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）部品、表示するデバイスデータの信号番号、等を定義する。
【００６７】
表示部７０は、タッチパネル等の監視画面７５を有している。この監視画面７５には、画面データＤ４が表示される。ユーザは、監視画面７５に表示された画面データＤ４に基づいて、プラント内のデバイス制御処理の監視や、必要なデータ操作を行うことができる。
【００６８】
通信部８０は、情報ネットワークＮＥＴに対するネットワークインタフェースである。処理部５０は、通信部８０を介して、情報ネットワークＮＥＴにアクセス可能である。
【００６９】
図９は、監視端末４０の処理部５０の動作を示すフローチャートである。画面データ生成部５２は、記憶部６０から画面定義データＤ３を読み出す。続いて、画面データ生成部５２は、画面定義データＤ３に定義されているデバイスデータの信号番号を、順番に抽出する（ステップＳ３１）。そして、画面データ生成部５２は、抽出した信号番号のデバイスデータの最新値を取得するよう、データ取得部５１に要求する。
【００７０】
データ取得部５１は、要求されたデバイスデータの最新値を、検索処理によって、外部データベース３５あるいは制御装置１００の内蔵データベース３３０から取得する。より詳細には、データ取得部５１はまず、外部データベース３５を検索し、当該デバイスデータの現在値を取得する（ステップＳ３２）。次に、データ取得部５１は、ステップＳ３２で取得した現在値が最新値か否かを判定する（ステップＳ３３）。この判定は、例えば、外部データベース３５に当該現在値が書き込まれた時刻と、信号定義データＤ１に定義されているデータ収集処理の周期とを参照することにより可能である。
【００７１】
外部データベース３５に当該デバイスデータの最新値が保存されている場合（ステップＳ３３；Ｙｅｓ）、データ取得部５１は、その最新値を画面データ生成部５２に渡す。一方、外部データベース３５に当該デバイスデータの最新値が保存されていない場合（ステップＳ３３；Ｎｏ）、データ取得部５１は、制御装置１００の内蔵データベース３３０を検索し、当該デバイスデータの最新値を取得する（ステップＳ３４）。このステップＳ３４において、データ取得部５１は、信号定義データＤ１を参照することによって、当該デバイスデータの格納先を把握することができる。
【００７２】
画面データ生成部５２は、データ取得部５１から、デバイスデータの最新値を取得する。そして、画面データ生成部５２は、画面定義データＤ３中のデバイスデータの部分を、取得した最新値に置き換える（ステップＳ３５）。つまり、画面データ生成部５２は、取得したデバイスデータの最新値を画面定義データＤ３に埋め込む。
【００７３】
ステップＳ３６では、画面データ生成部５２は、画面定義データＤ３に定義されている全ての信号番号について処理が完了したか否か判定する。完了していない場合（ステップＳ３６；Ｎｏ）、手順はステップＳ３１に戻り、次の信号番号について上記処理が実行される。全ての信号番号について処理が完了すると（ステップＳ３６；Ｙｅｓ）、画面データＤ４が完成する。
【００７４】
このように、画面データ生成部５２は、検索によって外部データベース３５あるいは内蔵データベース３３０から取得したデバイスデータに基づいて、画面データＤ４を生成する。表示処理部５３は、その画面データＤ４を、表示部７０の監視画面７５に表示する（ステップＳ３７）。
【００７５】
尚、以上に説明されたデータ取得部５１や画面データ生成部５２の機能は、処理部５０が画面定義データＤ３に記述されたスクリプトを実行することにより実現されてもよい。
【００７６】
＜設定端末＞
設定端末２０は、信号定義データＤ１や演算定義データＤ２を含む設定情報の設定に用いられる。この設定端末２０上では設定ツールが動作する。ユーザは、設定ツールを起動することにより、信号定義データＤ１や演算定義データＤ２を含む設定情報の入力及び編集を行うことができる。
【００７７】
図１０は、設定端末２０を用いて設定情報を設定する手順を示すフローチャートである。ステップＳ４１、Ｓ４２において、ユーザは、所望の信号の属性を入力し、信号定義データＤ１（図３参照）を生成する。
【００７８】
ステップＳ４３〜Ｓ５１において、ユーザは、所望の演算処理の属性を入力し、演算定義データＤ２（図４参照）を生成する。具体的には、まず、ユーザは起動条件の種類を選択する（ステップＳ４３）。起動条件の種類としては、「定周期」、「制限値」、「条件式」が考えられる。尚、条件が定型化できれば、これら以外でも構わない。「定周期」の場合（ステップＳ４４）、ユーザは、演算処理を起動する周期を入力する（ステップＳ４５）。「制限値」の場合（ステップＳ４６）、ユーザは、信号名と当該信号の制限値を入力する（ステップＳ４７）。「条件式」の場合（ステップＳ４８）、ユーザは、その条件式を入力する（ステップＳ４９）。続いて、ユーザは、起動条件が成立したときに実行する演算式を入力する（ステップＳ５０）。
【００７９】
所望の演算処理の入力が全て終わると（ステップＳ５１；Ｙｅｓ）、信号定義データＤ１や演算定義データＤ２を含む設定情報が、設定端末２０から制御装置１００にダウンロードされる（ステップＳ５２）。つまり、設定端末２０を用いて生成された設定情報が、制御装置１００に展開される。
【００８０】
＜効果＞
本実施の形態によれば、制御装置１００が、デバイス制御処理を行う制御ＣＰＵ２００とは別に、情報ＣＰＵ３００を備えている。その情報ＣＰＵ３００は、内蔵データベース３３０と、データ収集処理を実行するデータ収集部３１２を備えている。データ収集処理において、データ収集部３１２は、デバイス制御処理用のデバイスメモリ２５０からデバイスデータを読み出し、読み出したデバイスデータを内蔵データベース３３０に格納する。内蔵データベース３３０に格納されたデバイスデータは、検索処理により、監視端末４０から適宜参照可能である。
【００８１】
このように、本実施の形態によれば、従来のＳＣＡＤＡ機能の一部であるデータ収集機能が、制御装置１００に組み込まれる。よって、上位システム１０の監視端末４０にかかる負担を軽減することができる。このことは、監視端末４０に要求される性能が緩和されることを意味する。従って、例えば、監視端末４０として、高価な産業用ＰＣ（ＦＡパソコン）の代わりに安価な汎用ＰＣを用いることも可能となる。これにより、システム構築にかかるコストが削減される。
【００８２】
また、情報ＣＰＵ３００とデバイスメモリ２５０とは、高速なバス４００によって接続されている。そのため、ネットワークを介する場合よりも高速なデータ収集処理が実現される。すなわち、高性能なデータ収集処理が可能である。
【００８３】
また、情報ＣＰＵ３００は、制御ＣＰＵ２００とは別に設けられている。そのため、情報ＣＰＵ３００によるデータ収集処理は、制御ＣＰＵ２００によるデバイス制御処理に影響を与えない。
【００８４】
更に、本実施の形態に係る情報ＣＰＵ３００は、空き時間等に外部転送処理を実行する外部転送処理部３１４を備えている。外部転送処理では、内蔵データベース３３０に格納されているデバイスデータの少なくとも一部が、上位システム１０の外部データベース３５に転送される。つまり、本実施の形態では、内蔵データベース３３０が“キャッシュ”として利用され、その内蔵データベース３３０の内容が、必要に応じて外部データベース３５に反映される。
【００８５】
従って、制御装置１００の内蔵データベース３３０の容量を増やすことなく、長期間分の大容量データを保存することが可能である。すなわち、制御装置１００のコストやサイズを増大させることなく、長期間大容量データにも対応することが可能である。
【００８６】
更に、本実施の形態に係る情報ＣＰＵ３００は、データ演算処理を実行するデータ演算部３１３を備えている。そのデータ演算処理の内容は、演算定義データＤ２を編集することにより適宜設定可能である。例えば、上記式（１）で示されたような、デバイスデータの単位を監視端末４０が扱い易い単位に変換することも可能である。制御装置１００の中でこのような単位変換を行っておくことにより、監視端末４０にかかる負担を更に軽減することが可能となる。このことも、システム構築にかかるコストの低減に寄与する。
【００８７】
以上に説明されたように、本実施の形態によれば、監視制御システム１を低コストで実現することが可能となる。
【００８８】
実施の形態２．
図１１は、本発明の実施の形態２に係る制御装置１００の構成例を示すブロック図である。図２で示された実施の形態１の構成と比較して、情報ＣＰＵ３００の記憶部３２０に更に転送定義データＤ５が格納されている。この転送定義データＤ５は、外部転送条件を定義するデータである。他の定義データと同様、この転送定義データＤ５も、上位システム１０の設定端末２０を通して適宜設定可能である。外部転送処理部３１４は、記憶部３２０に格納されている転送定義データＤ５を参照し、その転送定義データＤ５で指定されている外部転送条件に従って、外部転送処理を実行する。
【００８９】
外部転送条件の一例として、「データ収集部３１２がデータ収集処理を実行中ではないこと」、すなわち、「空き時間」が考えられる。外部転送条件の他の例として、「内蔵データベース３３０の使用率が所定の閾値（使用率閾値）を超えたこと」が考えられる。外部転送条件の更に他の例として、「制御装置１００の負荷（通信トラフィック等）が所定の閾値（負荷閾値）より低いこと」が考えられる。外部転送条件は、これらのうちいずれか一つであってもよいし、これらの任意の組み合わせであってもよい。
【００９０】
本実施の形態によれば、設定端末２０を用いることにより、外部転送条件を任意にカスタマイズすることができる。システム環境は案件ごとにさまざまであるが、本実施の形態によれば、システム環境に応じた最適なタイミングで外部転送処理を実行することが可能となる。
【００９１】
尚、以上のような外部転送処理部３１４の機能拡張は、情報ＣＰＵ３００が実行するデータ処理プログラムに対するアドインによって実現されてもよい。
【００９２】
実施の形態３．
図１２は、本発明の実施の形態３に係る制御装置１００の構成例を示すブロック図である。図２で示された実施の形態１の構成と比較して、情報ＣＰＵ３００の処理部３１０は更に画面データ生成部３１５を備えている。また、記憶部３２０には更に画面定義データＤ３及び画面データＤ４が格納される。
【００９３】
画面データ生成部３１５の機能は、実施の形態１における監視端末４０の画面データ生成部５２の機能と同様である。但し、画面データ生成部３１５は、内蔵データベース３３０あるいはデバイスメモリ２５０から、必要なデバイスデータの最新値を高速に読み出す。そして、画面データ生成部３１５は、取得したデバイスデータの最新値を画面定義データＤ３に埋め込むことにより、画面データＤ４を生成する。
【００９４】
尚、画面データ生成部３１５の機能は、処理部３１０が画面定義データＤ３に記述されたスクリプトを実行することにより実現されてもよい。
【００９５】
制御装置１００の情報ＣＰＵ３００によって生成された画面データＤ４は、情報ネットワークＮＥＴを介して、監視端末４０にダウンロードされる。監視端末４０は、このようにして取得した画面データＤ４を、監視画面７５に表示する。このとき、画面データＤ４は既に完成しているので、監視端末４０は、外部データベース３５や制御装置１００の内蔵データベース３３０にアクセスする必要はない。
【００９６】
このように、本実施の形態によれば、画面データ生成機能が、監視端末４０から制御装置１００の情報ＣＰＵ３００に移管される。また、監視端末４０は、画面データＤ４を自ら生成するために外部データベース３５や制御装置１００の内蔵データベース３３０にアクセスする必要はない。従って、監視端末４０にかかる負担が更に軽減される。このことも、システム構築にかかるコストの低減に寄与する。
【００９７】
以上、本発明の実施の形態が添付の図面を参照することにより説明された。但し、本発明は、上述の実施の形態に限定されず、要旨を逸脱しない範囲で当業者により適宜変更され得る。
【符号の説明】
【００９８】
１  監視制御システム、１０  上位システム、２０  設定端末、３０  データベース端末、３５  外部データベース、４０  監視端末、５０  処理部、５１  データ取得部、５２  画面データ生成部、５３  表示処理部、６０  記憶部、７０  表示部、７５  監視画面、８０  通信部、１００  制御装置、２００  制御ＣＰＵ、２１０  シーケンス制御部、２５０  デバイスメモリ、３００  情報ＣＰＵ、３１０  処理部、３１１  コンフィギュレーション部、３１２  データ収集部、３１３  データ演算部、３１４  外部転送処理部、３１５  画面データ生成部、３２０  記憶部、３３０  内蔵データベース、３４０  外部通信部、４００  バス、Ｄ１  信号定義データ、Ｄ２  演算定義データ、Ｄ３  画面定義データ、Ｄ４  画面データ、Ｄ５  転送定義データ、ＮＥＴ  情報ネットワーク。
【要約】
監視制御システムは、デバイス制御処理を実行する制御装置と、デバイス制御処理の監視を行う上位システムと、を備える。制御装置は、デバイス制御処理を実行する制御ＣＰＵと、制御ＣＰＵと内部バスを介して接続された情報ＣＰＵと、を備える。制御ＣＰＵは、デバイスに関するデータであってデバイス制御処理に用いられるデバイスデータが格納されるデバイスメモリを備える。情報ＣＰＵは、内蔵データベースとデータ収集部とを備える。データ収集部は、内部バスを介してデバイスメモリからデバイスデータを読み出し、読み出したデバイスデータを内蔵データベースに格納するデータ収集処理を実行する。【図１】
0005661222.tif 000002
【図２】
0005661222.tif 000003
【図３】
0005661222.tif 000004
【図４】
0005661222.tif 000005
【図５】
0005661222.tif 000006
【図６】
0005661222.tif 000007
【図７】
0005661222.tif 000008
【図８】
0005661222.tif 000009
【図９】
0005661222.tif 000010
【図１０】
0005661222.tif 000011
【図１１】
0005661222.tif 000012
【図１２】
0005661222.tif 000013