(57)【特許請求の範囲】
【請求項１】
複数のプログラマブルロジックコントローラがネットワークを介して接続された製造実行システムであって、
前記複数のプログラマブルロジックコントローラの各々は、
複数の制御パラメータを含むレシピデータに基づいて制御プログラムを実行することにより稼働実績データを生成する制御実行部と、
自局用の前記レシピデータ及び自局で生成した前記稼働実績データを格納するデータベースと、
前記データベース内のデータを管理し、前記制御実行部との間で前記レシピデータ及び前記稼働実績データの入出力を行うデータベース管理部とを備え、
前記複数のプログラマブルロジックコントローラの一つは、前記複数のプログラマブルロジックコントローラの各局用の前記レシピデータを前記データベースに格納する代表局とされており、
前記代表局を除く各プログラマブルロジックコントローラの前記データベース管理部は、前記代表局のデータベースに格納されている自局用の前記レシピデータを、自局の前記データベースに複製することを特徴とする製造実行システム。
【請求項２】
前記データベース管理部は、前記データベース内のデータの複製に関する設定画面の表示機能を有することを特徴とする請求項１に記載の製造実行システム。
【請求項３】
前記複数のプログラマブルロジックコントローラの各々は、前記データベースを、バッテリーバックアップされた不揮発メモリ上に備えることを特徴とする請求項１又は２に記載の製造実行システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、生産情報に関するデータを一元管理することが可能で、ネットワーク負荷／サーバ負荷を低減させる機能を備えたプログラマブルロジックコントローラ（Programmable Logic Controller, PLC）及びこれを用いた製造実行システム（Manufacturing Execution System, MES）に関する。
【背景技術】
【０００２】
ＰＬＣは、ＭＥＳ上にある上位のデータベース（以下、ＤＢという。）から制御に必要なレシピデータをＰＬＣ内部のメモリに取り込み、これを用いて制御対象機器を制御することによって生成した稼働実績データを逐次的に上位のＤＢ（以下、上位ＤＢという。）へ登録する。上位ＤＢは、上位サーバによって管理され、レシピデータや稼働実績データの一元管理を行う。なお、レシピデータは、複数の制御パラメータを一つに関連付けたものであり、具体例としては、工程管理や生産管理における、制御対象機器の運転設定（素材の量や温度設定など）があげられる。
【０００３】
ＰＬＣ内部へのレシピデータの取り込みに関して、１日分のデータを予め上位ＤＢから取得しておき、１日の終了時に稼働実績データを上位ＤＢへデータを格納することで、ネットワーク負荷を軽減する技術が提案されている（特許文献１参照）。但し、特許文献１には、上位サーバの負荷軽減に関する開示は無い。
【０００４】
また、ＰＬＣが上位のワークステーションの処理負荷状態を検知し、調整する技術が提案されている（特許文献２参照）。
【０００５】
また、電池によってバックアップされたＳＲＡＭ（Static Random Access Memory）をメモリとして有するＰＬＣが提案されている（特許文献３参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−２５７０１０号公報
【特許文献２】特開平７−５６６１９号公報
【特許文献３】特開平６−２２２８１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来の技術では、生産情報データ（レシピデータ／稼働実績データ等）は、ＭＥＳ上の上位ＤＢにて一元管理されるため、複数台のＰＬＣがネットワークを介して上位ＤＢへアクセスを行うこととなり、ネットワーク負荷や、上位ＤＢを管理する上位サーバのＣＰＵ（Central Processing Unit）処理負荷が増大する課題があった。
【０００８】
また、従来のシステム構成では、ＰＬＣがネットワーク経由で上位ＤＢにある生産情報データへアクセスする際、応答に時間がかかる課題があった。
【０００９】
また、従来のシステム構成では、ネットワーク通信障害時や上位サーバのダウン時にレシピデータを取得できないため、ＰＬＣの運転を開始・継続できない課題があった。
【００１０】
また、従来のシステム構成では、生産情報データをＰＬＣ内部にあるＳＲＡＭで管理する場合、データが失われる可能性があった。すなわち、生産情報データを単にＰＬＣ内部のＳＲＡＭに記録するだけでは、データの完全性を保証することが困難であった。なお、ここでのデータの完全性とは、データベース管理システム（DataBase Management System, DBMS）に備わるＡＣＩＤ特性（原子性／一貫性／隔離性／耐久性）のことを指す。
【００１１】
従来のシステム構成では、生産情報データを単にＰＬＣ内部にあるＳＲＡＭで管理する場合、ＳＲＡＭで管理している生産情報データを上位ＤＢとやりとりするためには、上位ＤＢを管理する上位サーバとの通信処理を行うためのプログラムを開発する必要があった。
【００１２】
一方、ＰＬＣが生成する稼働実績データを上位ＤＢへ反映せず、ＰＬＣが具備するファイルシステム（リムーバブル型外部記憶装置の記憶メディア、メモリカード等。）へ生産データを蓄積するようにすれば、上位サーバのＣＰＵ負荷やネットワーク負荷の発生は抑えられるが、上位ＤＢにおいてデータの一元管理ができない課題がある。この場合には、ＰＬＣが具備するファイルシステムがＩ／Ｏ（Input/Output）耐久回数に制限を持っていると、ファイルシステムへ稼働実績データを生データとして蓄積した場合、ファイルシステムが破損する課題がある。
【００１３】
本発明は、上記に鑑みてなされたものであって、ネットワーク通信障害時や上位サーバのダウン時にもプログラマブルロジックコントローラが運転を開始・継続することが可能であり、ネットワーク負荷や上位サーバのＣＰＵ処理負荷の増大を防止しつつデータの完全性を保証することができ、さらに、他のＤＢとデータをやりとりするにあたって特別なプログラムが不要である製造実行システムを得ることを目的とする。
【課題を解決するための手段】
【００１４】
上述した課題を解決し、目的を達成するために、本発明は、複数のプログラマブルロジックコントローラがネットワークを介して接続された製造実行システムであって、複数のプログラマブルロジックコントローラの各々は、複数の制御パラメータを含むレシピデータに基づいて制御プログラムを実行することにより稼働実績データを生成する制御実行部と、自局用のレシピデータ及び自局で生成した稼働実績データを格納するデータベースと、データベース内のデータを管理し、制御実行部との間でレシピデータ及び稼働実績データの入出力を行うデータベース管理部とを備えることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、ネットワーク通信障害時や上位サーバのダウン時にも運転を開始・継続することが可能であり、ネットワーク負荷や上位サーバのＣＰＵ処理負荷の増大を防止しつつデータの完全性を保証することができ、さらに、他のＤＢとデータをやりとりするにあたって特別なプログラムが不要であるという効果を奏する。
【図面の簡単な説明】
【００１６】
【図１】図１は、本発明にかかるプログラマブルロジックコントローラの実施の形態１の構成を示す図である。
【図２】図２は、制御プログラムを実行することによってＣＰＵが実現する機能を示す図である。
【図３】図３は、実施の形態１にかかるプログラマブルロジックコントローラを複数用いたＭＥＳの一例を示す図である。
【図４】図４は、内蔵するメモリ上で生産情報データを単にデータとして管理するプログラマブルロジックコントローラを用いたＭＥＳの一例を示す図である。
【図５】図５は、外付けメモリ上で生産情報データを単にデータとして管理するプログラマブルロジックコントローラを用いたＭＥＳの一例を示す図である。
【図６】図６は、実施の形態１にかかるプログラマブルロジックコントローラを複数用いたＭＥＳの別の一例を示す図である。
【図７】図７は、本発明にかかるプログラマブルロジックコントローラの実施の形態２の構成を示す図である。
【図８】図８は、フラッシュメモリを用いたメモリカードを外付けメモリとして有するＰＬＣの構成の一例を示す図である。
【発明を実施するための形態】
【００１７】
以下に、本発明にかかる製造実行システム及びプログラマブルロジックコントローラの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１８】
実施の形態１．
図１は、本発明にかかるプログラマブルロジックコントローラの実施の形態１の構成を示す図である。ＰＬＣ１０００は、ＣＰＵ１００１、揮発性メモリ１０３０、不揮発性記憶装置１０４２及び通信Ｉ／Ｆ（interface）１０５０を有する。不揮発性記憶装置１０４２には、ＤＢ１０４１が構築されている。
【００１９】
図２は、制御プログラムを実行することによってＣＰＵが実現する機能を示す図である。不揮発性記憶装置１０４２に格納されている制御プログラムをＣＰＵ１００１が実行することにより、ＣＰＵ１００１には、スケジューラ１０１０、データベースアクセス用コマンド生成部１０２０、データベース管理部１０４０及び制御実行部１０６０の各機能部が形成される。
【００２０】
スケジューラ１０１０は、ユーザによって設定されたタイミングでデータベースアクセス用コマンド生成部１０２０にデータベース言語に従ったコマンドを生成させる。ここで、ユーザによって設定されたタイミングとは、計画的、定期的なタイミング（定刻、一定期間ごとなど）や、ユーザが設定した条件成立（ある接点がＯＮなど）をトリガとするタイミングである。すなわち、スケジューラ１０１０は、ユーザによって設定されたタイミングで他の装置（上位サーバや他のＰＬＣなど）が管理するＤＢとのデータ交信を行うために用いられる。データベースアクセス用コマンド生成部１０２０は、データベース言語に従い、任意の必要データをＰＬＣ１０００が内蔵するＤＢ１０４１に格納するためのコマンドや、任意の稼働実績データを他の装置のＤＢやＰＬＣ１０００が内蔵するＤＢ１０４１に格納するためのコマンドを生成する。データベース言語としては、例えばＳＱＬを適用可能であるが、これ以外のデータベース言語を適用することも可能である。
【００２１】
データベース管理部１０４０は、ＤＢＭＳとしての機能を有する。すなわち、データベース管理部１０４０は、ＤＢＭＳに付随する機能であるレプリケーション機能及び分散ＤＢ機能を実行可能であり、ＤＢ１０４１内の生産情報データを、ＡＣＩＤ特性を持って管理する。レプリケーション機能は、ネットワークを介したＤＢ間でのデータのコピーを、ＤＢＭＳへの設定のみで可能とする機能である。例えば、ＤＢ１０４１をマスタ、他の装置に構築されたＤＢをスレーブとして通信パラメータを設定することにより、ＤＢ１０４１の更新内容を他の装置に構築されたＤＢに反映させることができる。また、他の装置に構築されたＤＢをマスタ、ＤＢ１０４１をスレーブとして通信パラメータを設定することにより、他の装置に構築されたＤＢの更新内容をＤＢ１０４１に反映させることができる。レプリケーション機能の主な目的は、様々な障害（例えば、システム障害／通信障害／記憶媒体の障害）に備えバックアップを取ることである。また、分散ＤＢ機能とは、ネットワークで相互接続された他の装置に構築されたＤＢを制御する機能である。レプリケーション機能を用いてＤＢ間でデータをコピーすることにより、ＤＢのＡＣＩＤ特性を実現するとともに、ダウンタイムを短縮する効果が得られる。
【００２２】
データベース管理部１０４０は、データベースアクセス用コマンド生成部１０２０が生成したデータベース言語のコマンドを処理することによって、ＤＢＭＳとしての機能を実行する。また、データベース管理部１０４０は、後述する制御実行部１０６０との間で後述するレシピデータ及び稼働実績データの入出力を行う。すなわち、ＤＢ１０４１内のレシピデータを制御実行部１０６０に渡し、制御実行部１０６０が生成して揮発性メモリ１０３０に格納した稼働実績データをＤＢ１０４１に格納する。
【００２３】
レシピデータは、ＰＬＣ１０００が制御動作を行うために必要とする目標データであり、稼働実績データとは、ＰＬＣ１０００の動作結果として出力されるデータである。制御対象機器がレーザ加工機である場合を例とすると、レーザ加工機の加工ヘッドの目標位置の縦・横・高さの各方向の座標値はレシピデータであり、加工ヘッドの縦・横・高さの各方向の座標位置の実測値は稼働実績データである。
【００２４】
また、データベース管理部１０４０は、レプリケーション設定画面の表示機能を有している。レプリケーション設定画面で設定する内容（通信パラメータ）は、データの複製元（マスタ）及び複製先（スレーブ）を指定する情報、並びにマスタ及びスレーブのそれぞれにおける、ＤＢ、複製対象のテーブル、複製対象の行・列を指定する情報である。レプリケーション設定画面は、これらの情報の設定欄を備えている。レプリケーション設定画面は、ＰＬＣ１０００に接続されるコンピュータの画面上に表示させても良いし、ＰＬＣ１０００に装着される不図示の表示ユニットに表示させても良い。なお、ＰＬＣ１０００が不図示の表示部を備える構成である場合には、表示部に表示させても良い。
【００２５】
制御実行部１０６０は、データベース管理部１０４０から渡されたレシピデータに基づいてプログラムを実行して制御対象機器を制御することによって稼働実績データを生成し、生成した稼働実績データを揮発性メモリ１０３０に格納する。
【００２６】
揮発性メモリ１０３０は、制御実行部１０６０が生成した稼働実績データを一時格納する。
【００２７】
不揮発性記憶装置１０４２は、情報を不揮発に記憶可能であればどのような記憶装置でも適用可能である。不揮発性記憶装置１０４２は、半導体メモリカードとカードリーダライタとを組み合わせたものでも良い。
【００２８】
通信Ｉ／Ｆ１０５０は、ネットワークを通じて他の装置と通信するためのインタフェースである。なお、以下の説明では、特にことわりが無い場合は、ＰＬＣ１０００が他の装置と通信する際には、通信Ｉ／Ｆ１０５０を用いて通信が行われる。
【００２９】
図３は、実施の形態１にかかるプログラマブルロジックコントローラを複数用いたＭＥＳの一例を示す図である。ＭＥＳ５００は、複数のＰＬＣ１０００（１０００１，１０００２，・・・，１０００ｎ）と、上位サーバ２１及び上位ＤＢ２２からなる上位システム２０と、これらを接続するネットワーク３０とを備える。上位ＤＢ２２は、複数のＰＬＣ１０００の各々が制御プログラムを実行する際に使用するレシピデータを格納している。ＰＬＣ１０００１，１０００２，・・・，１０００ｎの各々は、図１、図２に示したＰＬＣ１０００の各構成要素を備えているが、図３ではＤＢ１０４１（１０４１１，１０４１２，・・・，１０４１ｎ）のみを図示している。なお、以下の説明では、ＰＬＣ１０００１，１０００２，・・・，１０００ｎの各々を区別する必要がない場合には、参照符号の末尾に下付数字を付さずにＰＬＣ１０００と表記する。ＰＬＣ１０００内部の各機能部についても同様である。
【００３０】
実施の形態１にかかるプログラマブルロジックコントローラの動作について説明する。ユーザがスケジューラ１０１０に予め設定したタイミング（計画的、定期的なタイミング、又はユーザが設定した条件成立をトリガとするタイミング）になると、データベースアクセス用コマンド生成部１０２０は、上位システム２０から自局で制御実行部１０６０が制御プログラムを実行する際に用いるレシピデータを取得するためのコマンドを生成し、データベース管理部１０４０に出力する。データベース管理部１０４０は、データベースアクセス用コマンド生成部１０２０が生成したコマンドを受信すると、上位ＤＢ２２に格納されている自局で制御実行部１０６０が制御プログラムを実行する際に用いるレシピデータをＤＢＭＳのレプリケーション機能によりＤＢ１０４１に複製する。この際には、上位ＤＢ２２がマスタ、ＤＢ１０４１がスレーブとなるように通信パラメータを設定することにより、上位ＤＢ２２からＤＢ１０４１へのデータの複製であることを特定する。
【００３１】
制御実行部１０６０は、レプリケーション機能によりＤＢ１０４１に複製されたレシピデータに基づいてプログラムを実行し、制御対象機器を制御することによって稼働実績データを生成する。制御実行部１０６０は、生成した稼働実績データを揮発性メモリ１０３０に格納する。揮発性メモリ１０３０に稼働実績データが格納されると、データベースアクセス用コマンド生成部１０２０は、稼働実績データをＤＢ１０４１に格納するための格納要求コマンドを生成する。データベース管理部１０４０は、このコマンドを処理し、揮発性メモリ１３０に格納されている稼働実績データをＤＢ１０４１に格納する。
【００３２】
また、ユーザがスケジューラ１０１０に予め設定した別のタイミング（ＭＥＳ上の上位ＤＢからレシピデータを取得するタイミングとは別のタイミング）になると、データベースアクセス用コマンド生成部１０２０は、稼働実績データを上位ＤＢ２２に格納するためのコマンドを生成し、データベース管理部１０４０に出力する。データベース管理部１０４０は、ＤＢ１０４１に格納されている稼働実績データをＤＢＭＳのレプリケーション機能により上位ＤＢ２２に複製する。この際には、上位ＤＢ２２がスレーブ、ＤＢ１０４１がマスタとなるように通信パラメータを設定することにより、ＤＢ１０４１から上位ＤＢ２２へのデータの複製であることを特定する。この動作により、ＤＢ１０４１内の稼働実績データが上位ＤＢ２２にバックアップされる。バックアップを実行するタイミングとして、制御実行部１０６０が動作しない時間（制御対象機器が停止している夜間など）をスケジューラ１０１０に設定することで、ＰＬＣ１０００内での処理負荷が増大することを防ぐことができる。また、ＰＬＣ１０００１〜１０００ｎの各々が時間をずらしてバックアップ処理を行うことで、ネットワーク３０の負荷を低減できる。
【００３３】
上記の説明は、ＤＢ１０４１と上位ＤＢ２２との間でのデータのやりとりの場合を例としているが、ＰＬＣ１０００１〜１０００ｎの各々に設けられたＤＢ１０４１１〜１０４１ｎ間でデータをやりとりする場合も同様である。すなわち、稼働実績データのバックアップ先を他のＰＬＣ１０００のＤＢ１０４１とする場合には、データベース管理部１０４０は、他のＰＬＣ１０００のＤＢ１０４１がスレーブ、自局のＤＢ１０４１がマスタとなるように通信パラメータを設定する。
【００３４】
ここで、メモリ上で生産情報データを単にデータとして管理するプログラマブルロジックコントローラを用いたＭＥＳにおける課題について説明する。図４は、内蔵するメモリ上で生産情報データを単にデータとして管理するプログラマブルロジックコントローラを用いたＭＥＳの一例を示す図である。図中の実線の矢印はレシピデータの流れを示し、破線の矢印は稼働実績データの流れを示している。ＭＥＳ４００は、複数のＰＬＣ１００１〜１００ｎと、上位サーバ２０１及び上位ＤＢ２０２からなる上位システム２００と、これらを接続するネットワーク３００とを備える。ＰＬＣ１００１〜１００ｎは、メモリ１０１１〜１０１ｎを有している。図４に示すＭＥＳ４００では、ＰＬＣ１００１〜１００ｎの各々は上位ＤＢ２０２に格納されているレシピデータを、ネットワーク３００を経由して取得した後に運転し、生成した稼働実績データをメモリ１０１１〜１０１ｎに格納し、メモリ１０１１〜１０１ｎに格納した稼働実績データを定期的に（メモリ１０１１〜１０１ｎに空きが無くなる前に）上位サーバ２０１へ送信して上位ＤＢ２０２に格納する。
【００３５】
ＭＥＳ４００においては、ＰＬＣ１００１〜１００ｎが上位ＤＢ２０２からレシピデータを取得する際や、上位ＤＢ２０２に格納する稼働実績データをＰＬＣ１００１〜１００ｎから上位サーバ２０１へ送信する際には、複数台のＰＬＣ１００１〜１００ｎがネットワーク３００を経由して上位サーバ２０１へアクセスすることとなり、ネットワーク３００の負荷や上位サーバ２０１のＣＰＵ処理負荷が増大する。また、生産情報データをやりとりするためには、ＰＬＣ１００１〜１００ｎが上位ＤＢ２０２を制御する上位サーバ２０１との通信処理を行うためのプログラムを開発する必要がある。また、ＰＬＣ１００１〜１００ｎがネットワーク３００経由で上位ＤＢ２０２にある生産情報データへアクセスする際、応答に時間がかかる。さらに、ネットワーク３００に通信障害が発生している時や上位サーバ２０１のダウン時にはレシピデータを取得できないため、ＰＬＣ１００１〜１００ｎの運転を開始・継続できない。さらに、ＰＬＣ１００１〜１００ｎの内部にある生産情報データを格納するメモリ１０１１〜１０１ｎがＳＲＡＭである場合、データが失われる可能性がある。
【００３６】
図５は、外付けメモリ上で生産情報データを単にデータとして管理するプログラマブルロジックコントローラを用いたＭＥＳの一例を示す図である。ＭＥＳ４１０は、複数のＰＬＣ１００１〜１００ｎと、上位サーバ２０１及び上位ＤＢ２０２からなる上位システム２００と、これらを接続するネットワーク３００とを備える。ＰＬＣ１００１〜１００ｎには、外付きのメモリ１０２１〜１０２ｎが接続されている。図中の実線の矢印はレシピデータの流れを示し、破線の矢印は稼働実績データの流れを示している。図５に示すＭＥＳ４１０では、ＤＢＭＳ機能による管理を行うことなく、ＰＬＣ１００１〜１００２に外付けされるメモリ１０２１〜１０２ｎに単なるデータとして生産データを蓄積する。ＭＥＳ４１０においては、ネットワーク３００の負荷や上位サーバ２０１のＣＰＵ負荷は発生しないものの、ＰＬＣ１００１〜１００ｎが生成する稼働実績データが上位ＤＢ２０２へ反映されないため、生産情報データの一元管理ができない。
【００３７】
図３に示した実施の形態１にかかるプログラマブルロジックコントローラを用いたＭＥＳ５００においては、ＰＬＣ１０００１〜１０００ｎの各々は、自局で制御実行部１０６０が制御プログラムを実行する際に用いるレシピデータを自局のＤＢ１０４１１〜１０４１ｎへ複製することで、上位ＤＢ２２の生産レシピデータを各局のＤＢ１０４１１〜１０４１ｎへ分散格納できる。また、揮発性メモリ１３０に格納されている稼働実績データをＤＢ１０４１に格納する際には、ＰＬＣ１０００はネットワーク３０を通じた通信を行わないため、この際にネットワーク３０に負荷が発生することはない。すなわち、運転中のＰＬＣシステム１０００１〜１０００ｎは、各局すべてが自局のＤＢ１０４１１〜１０４１ｎへアクセスすることで、上位ＤＢ２０２へのアクセスが集中することを回避でき、ネットワーク３０の負荷及び上位サーバ２１のＣＰＵ負荷を低減できる。レシピデータの取り込みや稼働実績データの格納する際の速度性能及び応答時間の定時性が改善される効果がある。
【００３８】
図３に示したＭＥＳ５００においては、ＰＬＣ１０００１〜１０００ｎは、上位システム２０とは独立して自局内のＤＢ１０４１1〜１０４１ｎにて生産情報データを扱うため、ネットワーク３０を通じて上位システム２０へアクセスする必要がなくなる。このため、ネットワーク３０の通信障害時や、上位サーバ２１のシステムダウン時においても、ＰＬＣ１０００１〜１０００ｎは連続運転することができる。
【００３９】
また、ＰＬＣ１０００が上位サーバ２１や他のＰＬＣ１０００と通信する際、ＤＢＭＳとしての機能の一つであるレプリケーション機能を用いることで、ＰＬＣ１０００と上位サーバ２１との間、又は、ＰＬＣ１０００同士の間のデータ同期、パラメータ設定のみで行うことができ、プログラム開発費用を抑えることができる。
【００４０】
個々のＰＬＣ１０００内のＤＢ１０４１へ分散格納されているデータに対し、ＤＢＭＳの分散ＤＢ機能を用いることで、ユーザは任意のタイミングで任意のデータを一元管理されたデータとして取り扱うことが可能となる。すなわち、データベース管理部１０４０がデータベース言語による問い合わせを行うだけで、上位ＤＢ２２や他のＰＬＣ１０００内のＤＢ１０４１に格納されている情報を参照することができる。
【００４１】
図６は、実施の形態１にかかるプログラマブルロジックコントローラを複数用いたＭＥＳの別の一例を示す図である。ＭＥＳ６００は、複数のＰＬＣ１０００（１０００１，１０００２，１０００３，・・・，１０００ｎ）と、これらを接続するネットワーク３０とを備える。ＰＬＣ１０００１〜１０００ｎの各々は、図１、図２に示した各構成要素を備えているが、図６ではＤＢ１０４１（１０４１１，１０４１２，１０４１３，・・・，１０４１ｎ）のみを図示している。ＤＢ１０４１１〜１０４１ｎには、自局の制御実行部１０６０が制御プログラムを実行して制御対象機器を制御するのに必要なレシピデータが予め格納している。レシピデータは、ＰＬＣ１００１〜１０００ｎの一つを代表局とし、代表局のＤＢ１０４１１〜１０４１ｎに格納しておき、ＰＬＣ１０００１〜１０００ｎの各々のデータベース管理部１０４０が、制御対象機器の制御を制御実行部１０６０が開始するのに先立って自局のＤＢ１０４１１〜１０４１ｎに複製するようにしても良い。すなわち、自局の制御実行部１０６０が制御対象機器を制御するのに必要なレシピデータをＤＢ１０４１１〜１０４１ｎに格納する方法は任意である。
【００４２】
ＰＬＣ１０００１〜１０００ｎの各々が内蔵のＤＢ１０４１１〜１０４１ｎを備えるため、上位サーバが存在しない小規模なシステムにおいても、ＰＬＣ１０００自体が生産情報データを管理することが可能となる。上位サーバが存在しないシステム構成とした場合でも、ネットワーク負荷の発生を抑えるなどの効果は、上位サーバが存在するＭＥＳと同様に得られる。
【００４３】
本実施の形態にかかるプログラマブルロジックコントローラ１０００は、内部の不揮発性記憶装置１０４２にＤＢ１０４１を構築し、データベース管理部１０４０がＤＢＭＳを用いて管理するため、ネットワーク３００に通信障害が発生した時や上位サーバ２１がダウンした時にも運転を開始・継続することが可能である。また、本実施の形態にかかるプログラマブルロジックコントローラ１０００は、ネットワーク３０の負荷や上位サーバ２１のＣＰＵ処理負荷の増大を防止し、データの完全性を保証することができる。すなわち、不揮発性記憶装置１０４２にＤＢ１０４１を構築し、データベース管理部１０４０がＤＢＭＳを用いて管理するため、ＤＢ１０４１内の生産情報データが失われることはなく、かつ、生産情報に関するデータを一元管理することが可能となる。さらに、本実施の形態にかかるプログラマブルロジックコントローラ１０００は、上位ＤＢ２２や他のＰＬＣ１０００のＤＢ１０４１とデータをやりとりするにあたって特別なプログラムは不要である。
【００４４】
実施の形態２．
図７は、本発明にかかるプログラマブルロジックコントローラの実施の形態２の構成を示す図である。プログラマブルロジックコントローラ２０００は、ＣＰＵ１００１、不揮発性メモリ１００２、揮発性メモリ１０３０及び通信Ｉ／Ｆ１０５０を備える。ＣＰＵ１００１、揮発性メモリ１０３０及び通信Ｉ／Ｆ１０５０は実施の形態１と同様である。
【００４５】
不揮発性メモリ１００２はデータの書き込み回数に上限のない不揮発性記憶装置（ＭＲＡＭ（Magnetoresistive Random Access Memory）やＲｅＲＡＭ（Resistance Random Access Memory）、ＦｅＲＡＭ（Ferroelectric Random Access Memory）、バッテリーバックアップされたＳＲＡＭなど）であり、不揮発メモリ１００２上にオンメモリでＤＢ１００３が構築されている。
【００４６】
ＣＰＵ１００１が制御プログラムを実行することによって実現する機能は、実施の形態１と同様である。すなわち、不揮発性メモリ１００２に格納されている制御プログラムをＣＰＵ１００１が実行することにより、ＣＰＵ１００１には、スケジューラ、データベースアクセス用コマンド生成部、データベース管理部及び制御実行部の各機能部が形成される。
【００４７】
ＰＬＣ２０００のＣＰＵ１００１は、本体内に内蔵する不揮発性メモリ１００２上にオンメモリで構築したＤＢ１００３にアクセスするため、フラッシュメモリを用いたメモリカードなどの外付けメモリへアクセスする時間と比べ、ＤＢへのアクセス速度を高速化でき、応答性能を改善できる。図８は、フラッシュメモリを用いたメモリカードを外付けメモリとして有するＰＬＣの構成の一例を示す図である。ＣＰＵ１００１は、外付けメモリであるメモリカード８０に対しては、内部バス６０及び外部バス７０を通じ、メモリカードリーダライタ９０を用いてアクセスする必要があるのに対し、不揮発性メモリ１００２に対してアクセスは内部バス６０を通じてアクセスできる。このため、不揮発性メモリ１００２にＤＢ１００３を構築することで、外付けメモリであるメモリカード８０にＤＢを構築する場合と比較して、ＤＢへのアクセス速度を高速化でき、応答性能を改善できる。
【００４８】
また、書き込み耐久回数の上限を持たない不揮発性半導体メモリを不揮発性メモリ１００２として適用することで、フラッシュメモリを用いたメモリカード８０などの外付けメモリへアクセスする場合と比べてＩ／Ｏ耐久回数を意識する必要がなくなり、不揮発性メモリ１００２のメンテナンス費用を抑えることができる。すなわち、フラッシュメモリを用いたメモリカード８０などの外付けメモリに稼働実績データを生データとして蓄積した場合、Ｉ／Ｏ耐久回数に制限を持つファイルシステムが破損するという問題が解消される。
【００４９】
この他については実施の形態１と同様である。
【産業上の利用可能性】
【００５０】
以上のように、本発明にかかるプログラマブルロジックコントローラは、ネットワーク通信障害時や上位サーバのダウン時にも運転を開始・継続することが可能であり、ネットワーク負荷や上位サーバのＣＰＵ処理負荷の増大を防止しつつデータの完全性を保証することができ、さらに、他のＤＢとデータをやりとりするにあたって特別なプログラムが不要である点で有用であり、特に、ＭＥＳへの適用に適している。
【符号の説明】
【００５１】
２０，２００  上位システム、２１，２０１  上位サーバ、２２，２０２  上位ＤＢ、３０，３００  ネットワーク、６０  内部バス、７０  外部バス、８０  メモリカード、９０  メモリカードリーダライタ、１００，１０００，２０００  ＰＬＣ、４００，４１１０，５００，６００  ＭＥＳ、１００１  ＣＰＵ、１００２  不揮発性メモリ、１０１０  スケジューラ、１０２０  データベースアクセス用コマンド生成部、１０３０  揮発性メモリ、１０４１，１００３  ＤＢ、１０４２  不揮発性記憶装置、１０５０  通信Ｉ／Ｆ、１０６０  制御実行部。
【図１】
0005991948.tif 000002
【図２】
0005991948.tif 000003
【図３】
0005991948.tif 000004
【図４】
0005991948.tif 000005
【図５】
0005991948.tif 000006
【図６】
0005991948.tif 000007
【図７】
0005991948.tif 000008
【図８】
0005991948.tif 000009