(57)【特許請求の範囲】
【請求項１】
プログラミングツールがインストールされたコンピュータから書き込まれるプログラム・パラメータに従って制御動作を行うプログラマブルロジックコントローラであって、
前記プログラム・パラメータ及び変更内容を変更履歴データとして格納する変更履歴データベースと、
前記プログラミングツールがインストールされたコンピュータから書き込まれるプログラム・パラメータが前記変更履歴データベースに格納済のプログラム・パラメータと一致しない場合に、該プログラミングツールがインストールされたコンピュータから書き込まれるプログラム・パラメータにユニークな識別子を付与し、該識別子と前記プログラミングツールがインストールされたコンピュータから書き込まれるプログラム・パラメータとを関連付けて前記変更履歴データベースに格納するプログラム変更管理部と、
前記プログラミングツールがインストールされたコンピュータから書き込まれた前記プログラム・パラメータを実行して前記制御動作を行うプログラム実行管理部と、
前記プログラム実行管理部が前記プログラム・パラメータを実行した際に発生したエラーの内容を示すエラー情報及び該プログラム・パラメータの累積実行時間を含む実行履歴データを前記識別子と関連付けて格納する実行履歴データベースと、を備え、
前記プログラム変更管理部は、前記プログラミングツールがインストールされたコンピュータから書き込まれるプログラム・パラメータが前記変更履歴データベースに格納済のプログラム・パラメータと一致する場合には、前記プログラミングツールがインストールされたコンピュータから書き込まれるプログラム・パラメータと一致する前記変更履歴データベースに格納済のプログラム・パラメータに関連付けられた前記識別子に対応する前記エラー情報を前記実行履歴データベースから読み出し、前記プログラミングツールがインストールされたコンピュータに送信して表示させることを特徴とするプログラマブルロジックコントローラ。
【請求項２】
前記プログラム変更管理部は、前記プログラミングツールがインストールされたコンピュータから書き込まれるプログラム・パラメータが予めユーザによって指定された前記プログラム・パラメータと一致する場合に、警告表示及び前記プログラム・パラメータの書き込み中止の少なくとも一方を行うことを特徴とする請求項１に記載のプログラマブルロジックコントローラ。
【請求項３】
前記プログラム変更管理部は、前記プログラム実行管理部が前記プログラム・パラメータを実行中に、該プログラム実行管理部が実行中の前記プログラム・パラメータが前記プログラミングツールがインストールされたコンピュータによって書き換えられた場合に、書き換え後の前記プログラム・パラメータに前記識別子を新たに付与し、
前記プログラム実行管理部は、前記実行履歴データベースには新たに付与した前記識別子と関連づけて前記実行履歴データを格納することを特徴とする請求項１に記載のプログラマブルロジックコントローラ。
【請求項４】
前記変更履歴データベースへの前記変更履歴データの格納及び前記実行履歴データベースへの前記実行履歴データの格納を実行するか否かを、ユーザの操作によって切替可能であることを特徴とする請求項１に記載のプログラマブルロジックコントローラ。
【請求項５】
コンピュータにインストールされ、請求項１から４のいずれか１項記載のプログラマブルロジックコントローラに前記プログラム・パラメータを書き込む際に用いられるプログラミングツールであって、
前記プログラマブルロジックコントローラから前記変更履歴データ及び前記実行履歴データを取得し、前記コンピュータに表示させることを特徴とするプログラミングツール。
【請求項６】
プログラム・パラメータを作成する際に用いられるプログラミングツールがインストールされたコンピュータと、該プログラミングツールから書き込まれるプログラム・パラメータに従って制御動作を行うプログラマブルロジックコントローラとを含むプログラム・パラメータ編集システムであって、
前記プログラミングツールがインストールされたコンピュータは、
前記プログラム・パラメータ及び変更内容を変更履歴データとして格納する変更履歴データベースと、
前記プログラマブルロジックコントローラに書き込むプログラム・パラメータが前記変更履歴データベースに格納済のプログラム・パラメータと一致しない場合に、該プログラマブルコントローラに書き込むプログラム・パラメータにユニークな識別子を付与し、該識別子と前記プログラマブルロジックコントローラに書き込むプログラム・パラメータとを関連付けて前記変更履歴データベースに格納するプログラム変更管理部と、
前記プログラマブルロジックコントローラから受信した実行履歴データを前記識別子と関連付けて格納する実行履歴データベースと、を備え、
前記プログラマブルロジックコントローラは、
前記プログラミングツールがインストールされたコンピュータから書き込まれた前記プログラム・パラメータを実行して前記制御動作を行うプログラム実行管理部と、
前記プログラム実行管理部が前記プログラム・パラメータを実行した際に発生したエラーの内容を示すエラー情報及び該プログラム・パラメータの累積実行時間を含む実行履歴データを生成し、前記プログラミングツールがインストールされたコンピュータへ送信する実行情報管理部と、を備え、
前記プログラム変更管理部は、前記プログラマブルロジックコントローラに書き込むプログラム・パラメータが前記変更履歴データベースに格納済のプログラム・パラメータと一致する場合には、前記プログラマブルロジックコントローラに書き込むプログラム・パラメータと一致する前記変更履歴データベースに格納済のプログラム・パラメータに関連付けられた前記識別子に対応する前記エラー情報を前記実行履歴データベースから読み出し、前記プログラミングツールがインストールされたコンピュータに送信して表示させることを特徴とするプログラム・パラメータ編集システム。
【請求項７】
プログラム・パラメータを作成する際に用いられるプログラミングツールがインストールされたコンピュータと、該プログラミングツールから書き込まれるプログラム・パラメータに従って制御動作を行うプログラマブルロジックコントローラとを含むプログラム・パラメータ編集システムであって、
前記プログラミングツールがインストールされたコンピュータ及び前記プログラマブルロジックコントローラの各々は、前記プログラム・パラメータ及び変更内容を変更履歴データとして格納する変更履歴データベースを有し、
前記プログラミングツールがインストールされたコンピュータは、
前記プログラマブルロジックコントローラに書き込むプログラム・パラメータが前記変更履歴データベースに格納済のプログラム・パラメータと一致しない場合に、該プログラマブルコントローラに書き込むプログラム・パラメータにユニークな識別子を付与し、該識別子と前記プログラマブルロジックコントローラに書き込むプログラム・パラメータとを関連付けて前記変更履歴データベースに格納するプログラム変更管理部と、
前記プログラマブルロジックコントローラから受信した実行履歴データを前記識別子と関連付けて格納し、分散構成管理システムとして管理される１対の実行履歴データベースと、を備え、
前記プログラマブルロジックコントローラは、
前記プログラミングツールから書き込まれた前記プログラム・パラメータを実行して前記制御動作を行うプログラム実行管理部と、
前記プログラム実行管理部が前記プログラム・パラメータを実行した際に発生したエラーの内容を示すエラー情報及び該プログラム・パラメータの累積実行時間を含む実行履歴データを生成し、前記プログラミングツールがインストールされたコンピュータへ送信する実行情報管理部と、を備え、
前記プログラム変更管理部は、前記プログラマブルロジックコントローラに書き込むプログラム・パラメータが前記変更履歴データベースに格納済のプログラム・パラメータと一致する場合には、前記プログラマブルロジックコントローラに書き込むプログラム・パラメータと一致する前記変更履歴データベースに格納済のプログラム・パラメータに関連付けられた前記識別子に対応する前記エラー情報を前記実行履歴データベースから読み出し、前記プログラミングツールがインストールされたコンピュータに送信して表示させることを特徴とするプログラム・パラメータ編集システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルロジックコントローラ、プログラミングツール及びプログラム・パラメータ編集システムに関する。
【背景技術】
【０００２】
プログラマブルロジックコントローラ（Programmable Logic Controller: PLC）は、ＦＡ（Factory Automation）の分野で広く使用されている。ＰＬＣは、制御の内容を記述したプログラム（シーケンスプログラム）に従って動作するシーケンス制御装置であり、実行するプログラムの内容に応じて所望の制御手順を実現できる。ＰＬＣに格納しているプログラムを書き換えるには、コンピュータ上に専用のソフトウェアをインストールしたプログラム作成支援装置（以下、プログラミングツール）を用いる。【０００３】
ＰＬＣを制御装置に採用する利点として、第１に、複数のプログラムを組み合わせて制御を実行可能なことから、複数プログラマによるプログラム構築が容易であることが挙げられる。第２に、制御の実行中か否かを問わずにプログラムを書き換えることが可能であることが挙げられる。【０００４】
上記第１の利点に伴う問題として、ＰＬＣのプログラムを複数のプログラマが同時に変更し、互いに矛盾したプログラムを書き込もうとすることにより、いわゆる変更内容の衝突が発生する可能性がある。また、第２の利点に伴う問題として、シーケンスプログラムを実行中のＰＬＣに対して無関係のプログラムを書き込んでしまい、エラーが発生する可能性がある。【０００５】
このようにプログラミングツールでプログラムの変更を行う際には、実際に制御を行うＰＬＣ上でプログラムの変更内容が衝突しないよう排他制御を行い、実行中に書き込まれるプログラムが意図されたものかどうかを検証する必要がある。上記課題に対応するため、ＰＬＣで実行しているプログラムとプログラミングツールで変更元としたプログラムとでそれぞれ識別情報を持ち、ＰＬＣに書き込むときにそれらが不一致であることを検出した場合にプログラムの書き換えを中止する技術がある（例えば、特許文献１、２参照。）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０００−１９４５４０号公報
【特許文献２】特開２００８−２８２３６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、上記の排他はあくまで最新のプログラムを元に変更したプログラムをＰＬＣに書き込んでいることを保証するものであり、それ以前の古いプログラムを書き込もうとしても一意に拒否するものである。そのため、書き込むプログラムの不一致がひとたび発生した場合には、最新のプログラムをＰＬＣから読み込み直し、プログラミングツールで同様の変更を再度行った後、ＰＬＣに書き込み直す必要がある。また、最新のプログラムに問題があった場合にさらに前のプログラムに戻したいという要求に対しては、現在のプログラムを編集して元のプログラムに戻す作業を行うか、排他制御を無効にした後にプログラムを書き込む必要がある。【０００８】
この課題に対応するため、ＰＬＣには最新のプログラムだけを格納するのではなく、それまでに変更したプログラム・パラメータの変更内容（以下、変更履歴）を抽出し、変更履歴を全て保持するデータベース（以下、変更履歴データベース）を備える形態が考えられる。従来、ＰＬＣに格納したプログラムは専ら接続された装置の制御手順を実行する目的に使用され、プログラムそのものや一連の変更履歴の管理は、プログラムを変更するプログラミングツールの役割であった。近年、ＰＬＣが持つ記憶層は大容量化が進んでおり、プログラムの全ての変更履歴をＰＬＣの記憶装置に格納しておくことも可能となりつつある。なお、変更履歴データベースについては、バージョン管理システムや構成管理システムなどの名称で広く知られた既存の技術であるため、ＰＬＣに搭載した場合の効果についてはここでは言及しない。【０００９】
しかも、上記変更履歴データベースは、プログラムの変更内容のみを保持するものであり、そのプログラムがＰＬＣに接続された装置を制御する場合に適したものであるかどうかは、変更履歴のみから確認することが困難であるという課題がある。例えば、変更履歴に含まれたプログラムを実際にＰＬＣで実行すれば、エラーが発生しないことを確認することができる。しかし、ＰＬＣがシーケンス制御の対象とする装置には一時停止や再開による影響が大きい装置もあり、試験的にＰＬＣの実行プログラムを切り替えてエラーが発生するかどうか確認する方法をとることが難しい事例も多い。【００１０】
本発明は、上記に鑑みてなされたものであって、変更履歴に登録されているプログラムを実行した場合に発生したエラー情報、及び運転を継続した時間の累積値（以下、累積実行時間）など、実行時に収集可能な情報を組み合わせた結果（以下、実行履歴）を記録し、実行履歴を全て保持するデータベース（以下、実行履歴データベース）を備え、変更履歴データベースに登録されたプログラムの変更履歴と実行履歴とを関連付けて保持することで、変更履歴に登録されているプログラムを実行した結果を把握可能なプログラマブルロジックコントローラ、プログラミングツール及びプログラム・パラメータ編集システムを得ることを目的とする。【００１１】
また、実行履歴データベースを保持するにあたり、接続してプログラムを編集するプログラミングツールに対して、変更履歴データベースの変更履歴と、そのプログラム実行履歴とを組み合わせた情報を応答として返すプログラマブルロジックコントローラを得ることを目的とする。
【課題を解決するための手段】
【００１２】
上述した課題を解決し、目的を達成するために、本発明は、プログラミングツールがインストールされたコンピュータから書き込まれるプログラム・パラメータに従って制御動作を行うプログラマブルロジックコントローラであって、プログラム・パラメータ及び変更内容を変更履歴データとして格納する変更履歴データベースと、プログラミングツールがインストールされたコンピュータから書き込まれるプログラム・パラメータが変更履歴データベースに格納済のプログラム・パラメータと一致しない場合に、プログラミングツールがインストールされたコンピュータから書き込まれるプログラム・パラメータにユニークな識別子を付与し、識別子とプログラミングツールがインストールされたコンピュータから書き込まれるプログラム・パラメータとを関連付けて変更履歴データベースに格納するプログラム変更管理部と、プログラミングツールがインストールされたコンピュータから書き込まれたプログラム・パラメータを実行して制御動作を行うプログラム実行管理部と、プログラム実行管理部がプログラム・パラメータを実行した際に発生したエラーの内容を示すエラー情報及びプログラム・パラメータの累積実行時間を含む実行履歴データを識別子と関連付けて格納する実行履歴データベースと、を備え、プログラム変更管理部は、プログラミングツールがインストールされたコンピュータから書き込まれるプログラム・パラメータが変更履歴データベースに格納済のプログラム・パラメータと一致する場合には、プログラミングツールがインストールされたコンピュータから書き込まれるプログラム・パラメータと一致する変更履歴データベースに格納済のプログラム・パラメータに関連付けられた識別子に対応するエラー情報を実行履歴データベースから読み出し、プログラミングツールがインストールされたコンピュータに送信して表示させることを特徴とする。
【発明の効果】
【００１３】
本発明にかかるプログラマブルロジックコントローラ、プログラミングツール及びプログラム・パラメータ編集システムは、プログラムを実行した結果をプログラム・パラメータを書き込む時点で把握可能であるという効果を奏する。
【図面の簡単な説明】
【００１４】
【図１】図１は、本発明の実施の形態１にかかるＰＬＣを適用したプログラム・パラメータ編集システムの構成を示す図である。
【図２】図２は、変更履歴データベースに保存する変更履歴データの一例を示す図である。
【図３】図３は、実行履歴データベースに保存する実行履歴データの一例を示す図である。
【図４】図４は、本発明の実施の形態２にかかるＰＬＣを適用したプログラム・パラメータ編集システムの構成を示す図である。
【発明を実施するための形態】
【００１５】
以下に、本発明にかかるプログラマブルロジックコントローラの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１６】
実施の形態１．
図１は、本発明の実施の形態１にかかるＰＬＣを適用したプログラム・パラメータ編集システムの構成を示す図である。プログラム・パラメータ編集システム１２０は、プログラミングツール１１１がインストールされたコンピュータ１１０とＰＬＣ１００とを有する。ＰＬＣ１００は、変更履歴データベース１０１、実行履歴データベース１０２、プログラム実行管理部１０３、プログラム変更管理部１１２、ツール通信処理部１１３及び実行履歴管理部１１４を有する。
【００１７】
変更履歴データベース１０１は、最新のプログラム・パラメータ及び変更履歴を変更履歴データ１０７として格納する。実行履歴データベース１０２は、変更履歴データ１０７に含まれるプログラム・パラメータ１０４を実行した際に発生したエラー情報及び累積実行時間など、実行履歴を実行履歴データ１０８として格納する。プログラム実行管理部１０３は、プログラミングツール１１１からアップロードされたプログラム・パラメータ１０４を実行し、その際に発生したエラー情報や累積実行時間などを実行時間・エラー情報１０５として実行履歴データベース１０２に書き込む。ツール通信処理部１１３は、プログラミングツール１１１がインストールされたコンピュータ１１０との間でデータを送受信する。実行履歴管理部１１４は、実行履歴データベース１０２に格納されている実行時間・エラー情報１０５を読み出し、ツール通信処理部１１３やプログラム変更管理部１１２へ渡す。
【００１８】
実施の形態１にかかるＰＬＣ１００は、プログラミングツール１１１をインストールしたコンピュータ１１０に接続される。ユーザがプログラミングツール１１１を用いてプログラム及びパラメータを編集し、ＰＬＣ１００にアップロードすることで、ＰＬＣ１００上にプログラム・パラメータ１０４が格納される。アップロードは、ＰＬＣ１００のツール通信処理部１１３及びプログラム変更管理部１１２が公知の手順によって実現する。
【００１９】
ＰＬＣ１００のプログラム変更管理部１１２は、プログラミングツール１１１からアップロードされたプログラム・パラメータ１０４と、変更履歴データベース１０１内部に格納されている変更履歴データ１０７に含まれるプログラム・パラメータ１０４とを比較し、プログラミングツール１１１からアップロードされたプログラム・パラメータ１０４が変更履歴データベース１０１に格納されていないものであれば、その内容を変更履歴データベース１０１に格納する。その際、格納したプログラム・パラメータ１０４に１対１で対応するプログラム識別子１０６を生成し、合わせて変更履歴データベース１０１に格納する。プログラミングツール１１１からアップロードされたプログラム・パラメータ１０４が変更履歴データベース１０１に格納されているプログラム・パラメータであるならば、プログラム変更管理部１１２は、プログラムデータ識別子１０６は生成せず、アップロードされたプログラム・パラメータ１０４の累積実行時間を、変更履歴データベース１０１に格納済のプログラム・パラメータ１０４の累積実行時間に積算する。プログラム変更管理部１１２は、プログラム実行管理部１０３が制御処理を実行中にプログラムを書き換える機能を有する。
【００２０】
なお、プログラミングツール１１１からアップロードされたプログラム・パラメータ１０４と、変更履歴データベース１０１内部に格納されているプログラム・パラメータ１０４及びその変更履歴とが同一であるか否かの判断は、公知のプログラム・パラメータ比較機能を用いて実行可能である。
【００２１】
ＰＬＣ１００のプログラム実行管理部１０３は、ＰＬＣ１００にアップロードされたプログラム・パラメータ１０４を入力として制御を実行する。その際、実行時間・エラー情報１０５を収集し、結果をプログラムデータ識別子１０６に対応させて実行履歴データベース１０２に保存する。実行履歴データベース１０２に保存された実行時間・エラー情報１０５は、実行履歴管理部１１４からの要求に応じて、ツール通信処理部１１３やプログラム変更管理部１１２に対して実行時間・エラー情報１０５を出力することが可能である。
【００２２】
また、変更履歴データベース１０１に格納されたプログラム・パラメータ１０４は、プログラミングツール１１１からの要求に応じてコンピュータ１１０にダウンロードされる。ダウンロードは、ＰＬＣ１００のツール通信処理部１１３及びプログラム変更管理部１１２が公知の手順によって実現する。この際には、プログラム・パラメータに対応するプログラムデータ識別子が合わせてプログラミングツール１１１にダウンロードされる。プログラミングツール１１１は、プログラム・パラメータとともにプログラムデータ識別子がダウンロードされた場合、編集後のプログラム・パラメータをアップロードする際に、プログラムデータ識別子を合わせて送信する。このため、プログラム変更管理部１１２は、プログラミングツール１１１からアップロードされたプログラム・パラメータが編集後に書き戻された場合には、そのことを認識可能である。
【００２３】
図２は、変更履歴データベースに保存する変更履歴データの一例を示す図である。プログラム・パラメータ１０４に対応したプログラムデータ識別子１０６と、プログラム・パラメータ１０４本体（図２では不図示）のデータとを関連付けたデータベースとして、その他の任意の情報と結合して保持する。図２に示す例では、変更Ｎｏ．１のデータは、プログラミングツール１１１において新規作成されてＰＬＣ１００にアップロードされたプログラム・パラメータであるため、変更元プログラムデータ識別子の欄は「なし」となっており、ＰＬＣ１００にアップロードされた際にプログラム変更管理部１１２によって生成されたプログラムデータ識別子ＡＡＡＡＡＡＡＡのみが保持されている。一方、変更Ｎｏ．２のデータは、プログラムデータ識別子ＡＡＡＡＡＡＡＡのプログラム・パラメータをＰＬＣ１００からプログラミングツール１１１にダウンロードし、編集後にＰＬＣ１００に書き戻したものであるため、変更元プログラムデータ識別子の欄はＡＡＡＡＡＡＡＡとなっている。そして、プログラムデータ識別子としてはＰＬＣ１００にアップロードされた際にプログラム変更管理部１１２によって生成されたプログラムデータ識別子ＢＢＢＢＢＢＢＢが保持されている。
【００２４】
図３は、実行履歴データベースに保存する実行履歴データの一例を示す図である。プログラムデータ識別子１０６と、プログラムデータ識別子１０６に対応したプログラム・パラメータ１０４を実行した時の実行時間・エラー情報１０５とを関連付けたデータベースとして、その他の任意の情報と結合して保持する。
【００２５】
次に、変更履歴データベース１０１と実行履歴データベース１０２とを備えたシステムにおいて実現する機能について説明する。
【００２６】
プログラミングツール１１１からプログラム・パラメータ１０４を書き込む際に、プログラム変更管理部１１２が変更履歴データベース１０１を参照することで、過去に同一のプログラム・パラメータが存在したか否かを確認することが可能である。過去に同一のプログラム・パラメータが存在した場合、プログラム変更管理部１１２は、実行履歴管理部１１４からの要求に応じて実行履歴データベース１０２から渡された実行時間・エラー情報１０５を参照し、プログラム・パラメータを実行した場合にエラーとなったかどうか、連続運転時間を取得することが可能である。プログラム変更管理部１１２は、これらの情報から、エラーが発生したプログラム・パラメータを書き込もうとしていた場合に、警告を行ったり、書き込みを禁止する機能を実現できる。
【００２７】
また、変更履歴データベース１０１の中から過去に存在した特定のプログラム・パラメータを指定しておくことにより、プログラム変更管理部１１２は、指定されたプログラム・パラメータと同一のプログラム・パラメータを書き込もうとした場合に、警告を行ったり、書き込みを禁止する機能を実現できる。この機能は、実行時にエラーは発生しないが使用を避けたいプログラムを指定する場合に有効である。
【００２８】
また、プログラミングツール１１１からプログラム・パラメータ１０４を書き込む際に、プログラム変更管理部１１２が変更履歴データベース１０１を参照し、過去に同一のプログラム・パラメータが存在しない場合に、新規に変更履歴を作成してプログラム・パラメータを保存する。この機能は、制御処理を実行中にプログラムを書き換える機能と組み合わせることで、変更履歴をもれなく記録することが可能である。
【００２９】
また、ＰＬＣ１００への変更履歴の記録及び実行履歴の記録をプログラム変更管理部１１２が行うかどうかをユーザの操作によって切り替えることが可能である。この機能により、変更履歴や実行履歴を記録することでＰＬＣ１００に保存するデータ量が多くなる場合に、記録容量の削減が可能となる。
【００３０】
また、変更履歴データ及び実行履歴データをツール通信処理部１１３を用いてプログラミングツール１１１へ送信し、これらのデータをコンピュータ１１０の表示装置において表示することにより、ユーザはＰＬＣ１００に以前にどのようなプログラム・パラメータが書き込まれ、どのようなエラーが発生したのかを認識できる。これにより、エラーが発生してしまうような変更をプログラム・パラメータに行うことを未然に防ぐことが可能となる。
【００３１】
本実施形態によれば、ＰＬＣが保持する変更履歴データベースに対して、プログラムの変更履歴をそのプログラムの実行履歴と関連付けて保持することにより、その変更履歴に含まれるプログラムが安定して動作したものかどうかを判断できる。この判断には、実行履歴に含む累積実行時間の長さや発生したエラー情報を用いる。そのため、変更履歴に含まれているプログラムが、制御装置の安定動作を可能とするプログラムか、単に変更途中のプログラムを登録したものか、変更を失敗してエラーが発生するプログラムのまま誤って登録したものかなどの判断をすることが可能となる。これらの情報に基づいて、変更履歴に登録されているプログラムの中から安定したプログラムを流用して開発したり、以前のプログラムに戻して実行を再開するなどをユーザが選択可能である。
【００３２】
実施の形態２．
図４は、本発明の実施の形態２にかかるＰＬＣを適用したプログラム・パラメータ編集システムの構成を示す図である。プログラム・パラメータ編集システム４２０は、プログラミングツール４１１がインストールされたコンピュータ４１０とＰＬＣ４００とを有する。実施の形態２の構成は、ＰＬＣ４００に保持するデータ量を低減することを目的としており、実施の形態１ではＰＬＣ１００の内部に変更履歴データベース１０１及び実行履歴データベース１０２を設けていたが、これらを変更履歴データベース４１３及び実行履歴データベース４１４としてプログラミングツール４１１に配置した構成となっている。この点以外については概ね実施の形態１と同様である。
【００３３】
実施の形態２では、ＰＬＣ４００とプログラミングツール４１１をインストールしたプログラム編集用コンピュータ４１０とを接続している。ユーザはプログラミングツール４１１を用いてプログラム及びパラメータを編集し、ＰＬＣ４００にアップロードすることで、ＰＬＣ４００上にプログラム・パラメータ４０４を格納することができる。アップロードは、ＰＬＣ４００のツール通信処理部４０６及びプログラム管理部４０１が公知の手順によって実現する。
【００３４】
プログラミングツール４１１のプログラム変更管理部４１２は、プログラミングツール４１１で編集したプログラム・パラメータ４０４と、変更履歴データベース４１３内部に格納されているプログラム・パラメータ４０４とを比較し、新規のプログラム・パラメータであれば、その内容を変更履歴データベース４１３に保存する。その際、保存したプログラム・パラメータ４０４に１対１で対応するプログラムデータ識別子４０８を生成し、合わせて変更履歴データベース４１３に保存する。
【００３５】
ＰＬＣ４００のプログラム実行管理部４０３は、ＰＬＣ４００にアップロードされたプログラム・パラメータ４０４を入力として制御を実行する。プログラムの実行にあたって、実行時間・エラー情報４０５を収集し、結果をプログラム・パラメータ４０４と合わせてアップロードされたプログラムデータ識別子４０８に対応させて実行情報管理部４０７で保持する。実行情報管理部４０７は、保持している実行時間・エラー情報４０５をツール通信処理部４０６に対して渡すことが可能である。
【００３６】
また、ＰＬＣ４００にアップロードされたプログラム・パラメータは、プログラミングツール４１１からの要求に応じてコンピュータ４１０にダウンロードされる。ダウンロードは、ＰＬＣ４００のツール通信処理部４０６及びプログラム管理部４０１が公知の手順によって実現する。この際には、プログラム・パラメータに対応するプログラムデータ識別子４０８と実行時間・エラー情報４０５とが合わせてプログラミングツール４１１にダウンロードされる。プログラミングツール４１１は、プログラム・パラメータとともにプログラムデータ識別子４０８がダウンロードされた場合、編集後のプログラム・パラメータをアップロードする際に、プログラムデータ識別子４０８を合わせて送信する。このため、プログラム管理部４０１は、プログラミングツール４１１からアップロードされたプログラム・パラメータが編集後に書き戻された場合には、そのことを認識可能である。
【００３７】
なお、変更履歴データベース４１３及び実行履歴データベース４１４のいずれか一方をプログラミングツール４１１に配置することで、ＰＬＣ４００に搭載する記憶装置の容量に応じた最適な配置が可能である。
【００３８】
また、上記実施の形態１との組み合わせにより、実施の形態１のＰＬＣ１００と、本実施の形態のプログラミングツール４１１とを組み合わせた構成を導き出せる。この場合、同じプログラム・パラメータ変更履歴を複数箇所で保持することとなり、これらの整合性を確保する必要がある。
【００３９】
上記課題については、既存技術として、変更履歴に対して配置場所に依存しない一意の識別子を付与することで、複数の場所に変更履歴データベースを配置しても全体の整合性を確保した、一般的には分散構成管理システムなどと称される公知の技術を採用することにより解決可能である。なお、この技術で使用する一意の識別子を、プログラムデータ識別子４０８として用いることも可能である。
【００４０】
プログラマブルロジックコントローラの動作については実施の形態１と同様である。
【００４１】
本実施の形態においても、実施の形態１と同様に、変更履歴に登録されているプログラムの中から安定したプログラムを流用して開発したり、以前のプログラムに戻して実行を再開するなどをユーザが選択することができる。
【産業上の利用可能性】
【００４２】
以上のように、本発明にかかるプログラマブルロジックコントローラ及びプログラミングツールは、プログラム・パラメータの変更が多く発生するプログラマブルロジックコントローラを用いた制御システムのプログラム開発への適用に適している。
【符号の説明】
【００４３】
１００、４００  プログラマブルロジックコントローラ（ＰＬＣ）
１０１、４１３  変更履歴データベース
１０２、４１４  実行履歴データベース
１０３、４０３  プログラム実行管理部
１０４、４０４  プログラム・パラメータ
１０５、４０５  実行時間・エラー情報
１０６、４０８  プログラムデータ識別子
１０７、４０２  変更履歴データ
１０８、４０９  実行履歴データ
１１０、４１０  コンピュータ
１１１、４１１  プログラミングツール
１１２、４１２  プログラム変更管理部
１１３、４０６  ツール通信処理部
１１４  実行履歴管理部
１２０、４２０  プログラム・パラメータ編集システム
４０１  プログラム管理部
４０７  実行情報管理部
【図１】
0005583305.tif 000002
【図２】
0005583305.tif 000003
【図３】
0005583305.tif 000004
【図４】
0005583305.tif 000005