(57)【要約】  【課題】変更前のユーザプログラムを確実に復元することができるプログラム変更履歴管理システム及びこれに適用されるプログラム編集装置並びにプログラムを提供することを目的とする。  【解決手段】プログラム編集装置１において、ラダープログラムを記憶するラダープログラム記憶部２５ａと、ラダープログラムが変更された場合に、変更前と変更後の差分情報を記憶する差分情報記憶部２８とを備え、差分情報に対応する変更履歴を表示部７に表示させ、その表示された変更履歴の中から操作部８の操作により選択された変更履歴に対応する差分情報を差分情報記憶部２８から読み出して、変更前のラダープログラムを復元する。【選択図】          図４
2006330867.tif 000002
【特許請求の範囲】
【請求項１】
ＰＬＣを制御するためのユーザプログラムを記憶するプログラム記憶手段と、
上記プログラム記憶手段に記憶されているユーザプログラムが変更された場合に、変更前と変更後の差分情報を記憶する差分情報記憶手段と、
上記差分情報記憶手段に記憶されている差分情報に対応する変更履歴を表示する変更履歴表示手段と、
上記変更履歴表示手段により表示された変更履歴を選択するための変更履歴選択手段と、
上記変更履歴選択手段により選択された変更履歴に対応する差分情報を上記差分情報記憶手段から読み出して、変更前のユーザプログラムを復元するプログラム復元手段とを備えたことを特徴とするプログラム変更履歴管理システム。
【請求項２】
上記プログラム記憶手段に記憶されているユーザプログラムを編集するためのプログラム編集装置を備え、
上記差分情報記憶手段及び上記プログラム復元手段が、上記プログラム編集装置に設けられていることを特徴とする請求項１に記載のプログラム変更履歴管理システム。
【請求項３】
上記プログラム記憶手段に記憶されているユーザプログラムを編集するための複数のプログラム編集装置と、
上記複数のプログラム編集装置からアクセス可能な共有装置とを備え、
上記プログラム復元手段が、上記プログラム編集装置に設けられ、
上記差分情報記憶手段が、上記共有装置に設けられていることを特徴とする請求項１に記載のプログラム編集履歴管理システム。
【請求項４】
上記共有装置が、上記ＰＬＣであることを特徴とする請求項３に記載のプログラム履歴管理システム。
【請求項５】
ＰＬＣを制御するためのユーザプログラムを編集するためのプログラム編集装置において、
ユーザプログラムが変更された場合に、変更前と変更後の差分情報に対応する変更履歴を表示する変更履歴表示手段と、
上記変更履歴表示手段により表示された変更履歴を選択するための変更履歴選択手段と、
上記変更履歴選択手段により選択された変更履歴に対応する差分情報を読み出して、変更前のユーザプログラムを復元するプログラム復元手段とを備えたことを特徴とするプログラム編集装置。
【請求項６】
ＰＬＣを制御するためのユーザプログラムを編集するためのプログラム編集装置のためのコンピュータプログラムにおいて、
ユーザプログラムが変更された場合に、変更前と変更後の差分情報に対応する変更履歴を表示する変更履歴表示手段と、
上記変更履歴表示手段により表示された変更履歴を選択するための変更履歴選択手段と、
上記変更履歴選択手段により選択された変更履歴に対応する差分情報を読み出して、変更前のユーザプログラムを復元するプログラム復元手段として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム変更履歴管理システム及びこれに適用されるプログラム編集装置並びにプログラムに係り、更に詳しくは、ＰＬＣ（プログラマブル・ロジック・コントローラ）を制御するためのユーザプログラムが変更された場合に、変更前のユーザプログラムを復元する方法の改良に関する。
【背景技術】
【０００２】
工場等に設置される各種制御装置を統括的に制御するためのＰＬＣが知られている（例えば、特許文献１参照）。ＰＬＣは、ＣＰＵが内蔵されたＣＰＵユニットを備え、このＣＰＵユニットに対して拡張ユニットが着脱可能に構成されている。ユーザは、各種制御装置の機能ごとに拡張ユニットを用意してＣＰＵユニットに取り付けるとともに、拡張ユニットに対応する制御装置を接続することにより、拡張ユニットを介して各制御装置をＣＰＵユニットに接続する。
【０００３】
ＰＬＣを制御するためのユーザプログラムとしては、ラダー図を用いて作成されるラダープログラムが知られている。ラダープログラムは、例えば、パーソナルコンピュータを用いて作成され、パーソナルコンピュータの表示画面上にマトリックス状に表示される複数のセル内に仮想デバイスのシンボルを適宜配置して、視覚的なリレー回路を表すラダー図を構築することにより作成される。
【０００４】
パーソナルコンピュータにおいて作成されたラダープログラムは、パーソナルコンピュータをＵＳＢ(Universal Serial Bus)などの通信ケーブルを介してＰＬＣのＣＰＵユニットに接続し、所定の操作を行うことにより、パーソナルコンピュータからＣＰＵユニットに送信され、ＣＰＵユニット内のメモリに記憶される。ＣＰＵユニットのＣＰＵは、メモリに記憶されているラダープログラムを実行することにより、拡張ユニットを介して各制御装置の動作を制御する。
【０００５】
作成されたラダープログラムは、パーソナルコンピュータを用いて編集可能である。ユーザは、パーソナルコンピュータを用いてラダープログラムを編集した場合、その編集後のラダープログラムをパーソナルコンピュータからＣＰＵユニットに送信することにより、ＣＰＵユニットのメモリに上書きして記憶させることができる。ＣＰＵユニットのメモリに記憶されているラダープログラムが編集後のラダープログラムに上書きされた後は、ＣＰＵユニットのＣＰＵが、その編集後のラダープログラムを実行することにより制御装置の動作を制御することとなる。
【特許文献１】特開２００５−８５０７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ユーザは、時に、一旦編集してＣＰＵユニットに送信したラダープログラム中の間違いに気付き、ＣＰＵユニットのメモリに記憶されているラダープログラムを編集前のラダープログラムに復元することを望む場合がある。この様な場合、ユーザは、パーソナルコンピュータのメモリに編集前のラダープログラムが保存されていれば、その編集前のラダープログラムをＣＰＵユニットに送信し、ＣＰＵユニットのメモリに記憶させることにより、編集前のラダープログラムを復元することができる。
【０００７】
しかし、ユーザが、編集したラダープログラムを上書き保存した場合のように、編集前のラダープログラムがパーソナルコンピュータに残っていない場合には、編集前のラダープログラムを復元することができないという問題があった。
【０００８】
本発明は、上記の事情に鑑みてなされたものであり、変更前のユーザプログラムを確実に復元することができるプログラム変更履歴管理システム及びこれに適用されるプログラム編集装置並びにプログラムを提供することを目的とする。
【０００９】
また、本発明は、少ないメモリ容量で変更前のユーザプログラムを復元することができるプログラム変更履歴管理システム及びこれに適用されるプログラム編集装置並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明によるプログラム変更履歴管理システムは、ＰＬＣを制御するためのユーザプログラムを記憶するプログラム記憶手段と、上記プログラム記憶手段に記憶されているユーザプログラムが変更された場合に、変更前と変更後の差分情報を記憶する差分情報記憶手段と、上記差分情報記憶手段に記憶されている差分情報に対応する変更履歴を表示する変更履歴表示手段と、上記変更履歴表示手段により表示された変更履歴を選択するための変更履歴選択手段と、上記変更履歴選択手段により選択された変更履歴に対応する差分情報を上記差分情報記憶手段から読み出して、変更前のユーザプログラムを復元するプログラム復元手段とを備えて構成される。
【００１１】
この様な構成によれば、ユーザプログラムが変更された場合には、変更前と変更後の差分情報が差分情報記憶手段に記憶される。したがって、必要に応じて、変更履歴表示手段に表示される変更履歴を変更履歴選択手段により選択し、選択した変更履歴に対応する差分情報を差分情報記憶手段から読み出すことにより、変更前のユーザプログラムを確実に復元することができる。
【００１２】
また、変更されたユーザプログラム全体ではなく、変更前と変更後の差分情報のみを差分情報記憶手段に記憶し、その差分情報に基づいて変更前のユーザプログラムを復元することができるので、少ないメモリ容量で変更前のユーザプログラムを復元することができる。
【００１３】
本発明によるプログラム変更履歴管理システムにおいて、上記プログラム記憶手段に記憶されているユーザプログラムを編集するためのプログラム編集装置を備え、上記差分情報記憶手段及び上記プログラム復元手段が、上記プログラム編集装置に設けられていてもよい。
【００１４】
この様な構成によれば、プログラム編集装置において差分情報を記憶し、その差分情報に基づいて、プログラム編集装置において変更前のユーザプログラムを復元することができる。この場合、プログラム編集装置をＰＬＣなどの他の装置に接続することなく、プログラム編集装置において、差分情報を読み出して変更前のユーザプログラムを復元することができる。
【００１５】
また、本発明によるプログラム編集履歴管理システムにおいて、上記プログラム記憶手段に記憶されているユーザプログラムを編集するための複数のプログラム編集装置と、上記複数のプログラム編集装置からアクセス可能な共有装置とを備え、上記プログラム復元手段が、上記プログラム編集装置に設けられ、上記差分情報記憶手段が、上記共有装置に設けられていてもよい。
【００１６】
この様な構成によれば、共有装置において差分情報を記憶し、その差分情報に基づいて、プログラム編集装置において変更前のユーザプログラムを復元することができる。複数のユーザが、各自のプログラム編集装置を用いてユーザプログラムの編集を行うような場合には、各ユーザによるユーザプログラムの変更に応じて、その差分情報を共有装置に記憶させ、必要に応じて、各ユーザが差分情報を読み出して変更前のユーザプログラムを復元することができる。
【００１７】
この場合、上記共有装置が、上記ＰＬＣであれば、差分情報を記憶しておくための共有装置をＰＬＣと別に設ける必要がなく、システムの低コスト化を図ることができる。
【００１８】
本発明によるプログラム編集装置は、ＰＬＣを制御するためのユーザプログラムを編集するためのプログラム編集装置において、ユーザプログラムが変更された場合に、変更前と変更後の差分情報に対応する変更履歴を表示する変更履歴表示手段と、上記変更履歴表示手段により表示された変更履歴を選択するための変更履歴選択手段と、上記変更履歴選択手段により選択された変更履歴に対応する差分情報を読み出して、変更前のユーザプログラムを復元するプログラム復元手段とを備えて構成される。
【００１９】
この様な構成によれば、ユーザプログラムが変更された場合には、プログラム編集装置において、変更前と変更後の差分情報に対応する変更履歴を変更履歴表示手段に表示させることができる。したがって、必要に応じて、プログラム編集装置において、変更履歴表示手段に表示される変更履歴を変更履歴選択手段により選択し、選択した変更履歴に対応する差分情報を読み出すことにより、変更前のユーザプログラムを確実に復元することができる。
【００２０】
本発明によるプログラムは、ＰＬＣを制御するためのユーザプログラムを編集するためのプログラム編集装置のためのコンピュータプログラムにおいて、ユーザプログラムが変更された場合に、変更前と変更後の差分情報に対応する変更履歴を表示する変更履歴表示手段と、上記変更履歴表示手段により表示された変更履歴を選択するための変更履歴選択手段と、上記変更履歴選択手段により選択された変更履歴に対応する差分情報を読み出して、変更前のユーザプログラムを復元するプログラム復元手段として機能させるように構成される。
【００２１】
この様な構成によれば、ユーザプログラムが変更された場合には、プログラム編集装置において、変更前と変更後の差分情報に対応する変更履歴を変更履歴表示手段に表示させることができる。したがって、必要に応じて、プログラム編集装置において、変更履歴表示手段に表示される変更履歴を変更履歴選択手段により選択し、選択した変更履歴に対応する差分情報を読み出すことにより、変更前のユーザプログラムを確実に復元することができる。
【発明の効果】
【００２２】
本発明によれば、必要に応じて、変更履歴表示手段に表示される変更履歴を変更履歴選択手段により選択し、選択した変更履歴に対応する差分情報を読み出すことにより、変更前のユーザプログラムを確実に復元することができるプログラム変更履歴管理システム及びこれに適用されるプログラム編集装置並びにプログラムを提供することができる。
【００２３】
また、本発明によれば、変更されたユーザプログラム全体ではなく、変更前と変更後の差分情報のみを記憶し、その差分情報に基づいて変更前のユーザプログラムを復元することにより、少ないメモリ容量で変更前のユーザプログラムを復元することができるプログラム変更履歴管理システム及びこれに適用されるプログラム編集装置並びにプログラムを提供することができる。
【発明を実施するための最良の形態】
【００２４】
図１は、本発明の実施の形態によるプログラム変更履歴管理システムの一構成例を示す概念図である。
【００２５】
図１に示すように、このプログラム変更履歴管理システムは、ユーザプログラムの編集を行うためのプログラム編集装置としてのパーソナルコンピュータ１と、工場等に設置される各種制御装置を統括的に制御するためのＰＬＣ（プログラマブル・ロジック・コントローラ）２とを備えている。
【００２６】
ＰＬＣ２は、ＣＰＵが内蔵されたＣＰＵユニット３を備え、このＣＰＵユニット３に対して１つないし複数の拡張ユニット４が着脱可能に構成されている。
【００２７】
ＣＰＵユニット３には、表示部５及び操作部６が備えられている。表示部５には、ＣＰＵユニット３に取り付けられている各拡張ユニット４の動作状況などを表示することができ、表示部５の表示内容は、操作部６を操作することにより切り替えることができる。表示部５には、通常、ＰＬＣ２内のデバイスの現在値（デバイス値）やＰＬＣ２内で生じたエラー情報などが表示される。
【００２８】
拡張ユニット４は、ＰＬＣ２の機能を拡張するために機能ごとに用意され、ＣＰＵユニット３に対して側方から取り付けられる。１つ目の拡張ユニット４は、ＣＰＵユニット３に対して側方から直接取り付けられる。２つ目以降の拡張ユニット４は、既に取り付けられている拡張ユニット４に対して、側方から直列的に順次取り付けられる。このようにして、ＣＰＵユニット３と複数の拡張ユニット４が直列的に取り付けられると、各拡張ユニット４内に備えられた配線を介して、各拡張ユニット４がＣＰＵユニット３に対して通信可能に接続される。各拡張ユニット４には、その拡張ユニット４の機能に対応する制御装置が接続され、これにより、各制御装置が拡張ユニット４を介してＣＰＵユニット３に接続される。制御装置には、センサなどの入力装置や、アクチュエータなどの出力装置が含まれる。
【００２９】
パーソナルコンピュータ１は、例えば、携帯可能ないわゆるノートタイプのパーソナルコンピュータであって、表示部７及び操作部８が備えられている。ＰＬＣ２を制御するためのユーザプログラムの一例であるラダープログラムは、パーソナルコンピュータ１を用いて作成され、その作成されたラダープログラムは、パーソナルコンピュータ１内でニモニックコードに変換される。そして、パーソナルコンピュータ１を、ＵＳＢ(Universal Serial Bus)などの通信ケーブル９を介してＰＬＣ２のＣＰＵユニット３に接続し、ニモニックコードに変換されたラダープログラムをパーソナルコンピュータ１からＣＰＵユニット３に送ると、そのラダープログラムがＣＰＵユニット３内でマシンコードに変換され、ＣＰＵユニット３に備えられたメモリ内に記憶される。
【００３０】
なお、図１では図示していないが、パーソナルコンピュータ１の操作部８には、パーソナルコンピュータ１に接続されたマウスが含まれていてもよい。
【００３１】
また、パーソナルコンピュータ１は、ＵＳＢ以外の他の通信ケーブル９を介して、ＰＬＣ２のＣＰＵユニット３に対して着脱可能に接続されるような構成であってもよい。
【００３２】
図２は、ラダープログラムの作成時にパーソナルコンピュータ１の表示部７に表示されるラダー図１７の一例を示す図である。
【００３３】
図２に示すように、ＰＬＣ２を制御するためのラダープログラムは、パーソナルコンピュータ１の表示部７にマトリックス状に表示される複数のセル１８内に仮想デバイスのシンボル１９を適宜配置して、視覚的なリレー回路を表すラダー図１７を構築することにより作成される。
【００３４】
ラダー図１７には、例えば、１０列×Ｎ行（Ｎは任意の自然数）のセル１８が配置されている。そして、各行のセル１８内に、図２に示す左側から右側に向かって、時系列的に仮想デバイスのシンボル１９を適宜配置することにより、視覚的なリレー回路を作成することができる。作成されるリレー回路は、１行で表される直列的なリレー回路であってもよいし、複数行に並列的に表されたリレー回路を互いに結合することにより作成された、並列的なリレー回路であってもよい。
【００３５】
図２に示すリレー回路は、入力装置からの入力信号に基づいてオン／オフされる３つの仮想デバイス（以下、「入力デバイス」と呼ぶ。）のシンボル１９ａ，１９ｂ，１９ｃと、出力装置の動作を制御するためにオン／オフされる仮想デバイス（以下、「出力デバイス」と呼ぶ。）のシンボル１９ｄとが、適宜結合されることにより構成されている。
【００３６】
各入力デバイスのシンボル１９ａ，１９ｂ，１９ｃの上方に表示されている文字（「Ｒ０００１」、「Ｒ０００２」及び「Ｒ０００３」）は、その入力デバイスのデバイス名（アドレス名）２１を表している。各入力デバイスのシンボル１９ａ，１９ｂ，１９ｃの下方に表示されている文字（「フラグ１」、「フラグ２」及び「フラグ３」）は、その入力デバイスに対応付けられたデバイスコメント２２を表している。出力デバイスのシンボル１９ｄの上方に表示されている文字（「原点復帰」）は、その出力デバイスの機能を表す文字列からなるラベル２３である。
【００３７】
図２に示す例では、デバイス名「Ｒ０００１」及び「Ｒ０００２」にそれぞれ対応する２つの入力デバイスのシンボル１９ａ，１９ｂが直列的に結合されることにより、ＡＮＤ回路が構成されている。また、これらの２つの入力デバイスのシンボル１９ａ，１９ｂからなるＡＮＤ回路に対して、デバイス名「Ｒ０００３」に対応する入力デバイスのシンボル１９ｃが並列的に結合されることにより、ＯＲ回路が構成されている。すなわち、このリレー回路では、２つのシンボル１９ａ，１９ｂに対応する入力デバイスがいずれもオンした場合、又は、シンボル１９ｃに対応する入力デバイスがオンした場合にのみ、シンボル１９ｄに対応する出力デバイスがオンされるようになっている。
【００３８】
図３は、図１のプログラム変更履歴管理システムの電気的構成の概要を示すブロック図である。また、図４は、図１のパーソナルコンピュータ１及びＣＰＵユニット３の電気的構成の詳細を示すブロック図である。
【００３９】
パーソナルコンピュータ１には、ＣＰＵ２４、表示部７、操作部８、メモリ２５、通信部２６及び履歴管理部２７が備えられている。表示部７、操作部８、メモリ２５、通信部２６及び履歴管理部２７は、それぞれＣＰＵ２４に対して電気的に接続されている。
【００４０】
メモリ２５は、少なくともＲＡＭを含む構成であり、ラダープログラム記憶部２５ａと、ラダープログラム編集用ソフト記憶部２５ｂとを備えている。
【００４１】
ユーザは、ラダープログラム編集用ソフト記憶部２５ｂに記憶されているラダープログラム編集用ソフトを起動させて、ラダープログラムの編集を行うことができる。ここで、ラダープログラムの編集には、ラダープログラムの作成及び変更が含まれる。ラダープログラム編集用ソフトを用いて作成されたラダープログラムは、ラダープログラム記憶部２５ａに記憶される。また、ユーザは、必要に応じてラダープログラム記憶部２５ａに記憶されているラダープログラムを読み出し、そのラダープログラムを、ラダープログラム編集用ソフトを用いて変更することができる。
【００４２】
通信部２６は、通信ケーブル９を介してパーソナルコンピュータ１をＣＰＵユニット３に通信可能に接続するためのものである。
【００４３】
履歴管理部２７は、ラダープログラム記憶部２５ａに記憶されているラダープログラムが、ラダープログラム編集ソフトを用いた編集により変更された場合に、変更前と変更後の差分情報を記憶するための差分情報記憶部２８を備え、この差分情報記憶部２８に記憶されている差分情報を変更履歴として管理している。
【００４４】
差分情報の記憶は、ラダープログラムのファイル、デバイスコメント２２のファイル、ラベル２３のファイルなどのファイル単位で行われる。差分情報には、各ファイルのデータに対して追加又は削除された情報、例えば、ラダープログラム記憶部２５ａに記憶されているラダープログラムに対して追加又は削除された情報などが含まれる。ＣＰＵ２４は、差分情報記憶部２８に記憶されている差分情報に対応する変更履歴を、表示部７に表示させることができる。
【００４５】
ＣＰＵユニット３には、ＣＰＵ１０、表示部５、操作部６、メモリ１２及び通信部１４が備えられている。表示部５、操作部６、メモリ１２及び通信部１４は、それぞれＣＰＵ１０に電気的に接続されている。
【００４６】
メモリ１２は、少なくともＲＡＭを含む構成であり、パーソナルコンピュータ１のラダープログラム記憶部２５ａから送信されたラダープログラムが、実行すべきラダープログラムとして記憶されている。このメモリ１２に記憶されているラダープログラムは、パーソナルコンピュータ１からラダープログラムが入力されると消去され、その領域に入力されたラダープログラムが記憶されることにより、入力されたラダープログラムがメモリ１２に上書きして記憶される。
【００４７】
通信部１４は、通信ケーブル９を介してＣＰＵユニット３をパーソナルコンピュータ１に対して通信可能に接続するためのものである。
【００４８】
ＣＰＵユニット３のＣＰＵ１０は、入力装置１６から拡張ユニット４を介して入力される入力信号に基づいて、拡張ユニット４を介して対応する出力装置１６の動作を制御する。図３では、各拡張ユニット４に制御装置１６が一対一に対応付けられて接続されているが、この様な構成に限らず、１つの拡張ユニット４に対して複数の制御装置１６が接続されていてもよい。
【００４９】
図５は、図４に示すパーソナルコンピュータ１及びＣＰＵユニット３の電気的構成の第１変形例を示すブロック図である。
【００５０】
この第１変形例では、図４の場合と比較すれば、履歴管理部２７が、パーソナルコンピュータ１に備えられているのではなく、パーソナルコンピュータ１とは別に設けられた履歴管理装置２９により構成されている点が異なる。この履歴管理装置２９は、複数のパーソナルコンピュータ１からアクセス可能な共有装置である。履歴管理装置２９は、差分情報記憶部２８を備え、パーソナルコンピュータ１の通信部２６に対して、ＬＡＮ(Local Area Network)などの通信ケーブル３０を介して、通信可能に接続されている。パーソナルコンピュータ１のＣＰＵ２４は、差分情報記憶部２８に記憶されている差分情報に基づいて、その差分情報に対応する変更履歴を表示部７に表示させることができる。
【００５１】
図６は、図４に示すパーソナルコンピュータ１及びＣＰＵユニット３の電気的構成の第２変形例を示すブロック図である。
【００５２】
この第２変形例では、図４の場合と比較すれば、履歴管理部２７が、パーソナルコンピュータ１ではなく、ＣＰＵユニット３に備えられている点が異なる。履歴管理部２７は、差分情報記憶部２８を備え、ＣＰＵ１０に対して電気的に接続されている。パーソナルコンピュータ１のＣＰＵ２４は、差分情報記憶部２８に記憶されている差分情報に基づいて、その差分情報に対応する変更履歴を表示部７に表示させることができる。
【００５３】
図７は、ラダープログラムの編集を行う際のＣＰＵ２４による制御の流れを示すフローチャートである。
【００５４】
ラダープログラムの編集を行う際、ユーザは、まず、パーソナルコンピュータ１の操作部８を操作して、ＣＰＵ２４に、ＣＰＵユニット３のメモリ１２に記憶されているラダープログラムを読み込ませ、そのラダープログラムをラダープログラム記憶部２５ａに記憶させる（ステップＳ１０１）。その後、ユーザは、ラダープログラム記憶部２５ａに記憶されているラダープログラムを読み出し、ラダープログラム編集用ソフトを用いて編集を行うこととなるが、このとき、ユーザは、操作部８を操作することにより、その後のラダープログラムに対する変更を差分情報として記憶させるために、編集中のラダープログラムのファイルをロックする操作（チェックアウト）を行う。
【００５５】
チェックアウトが行われた後（ステップＳ１０２でＹｅｓ）、ユーザが操作部８を操作することによりラダープログラムの編集が行われ（ステップＳ１０３）、そのラダープログラムのファイルを更新して編集を終了するための操作（チェックイン）が行われると（ステップＳ１０４でＹｅｓ）、パーソナルコンピュータ１のＣＰＵ２４は、チェックアウトからチェックインまでの間にラダープログラムに加えられた変更を差分情報として差分情報記憶部２８に記憶させる（ステップＳ１０５）。
【００５６】
このとき、図４のように、差分情報記憶部２８がパーソナルコンピュータ１に備えられている場合には、差分情報がそのままパーソナルコンピュータ１内で処理されて、パーソナルコンピュータ１内の差分情報記憶部２８に記憶される。一方、図５又は図６のように、差分情報記憶部２８が、履歴管理装置２９やＣＰＵユニット３などのパーソナルコンピュータ１以外の装置に備えられている場合には、差分情報がそれらの装置へ送信され、差分情報記憶部２８に記憶される。
【００５７】
図４又は図５のように、差分情報記憶部２８がＣＰＵユニット３以外の装置に備えられている場合には、差分情報をＣＰＵユニット３にも送信して、ＣＰＵユニット３のメモリ１２に記憶させてもよい。この場合、編集後のラダープログラムをＣＰＵユニット３に送信してメモリ１２に記憶させる際に、差分情報も一緒にＣＰＵユニット３に送信して、ＣＰＵユニット３のメモリ１２に記憶させてもよい。
【００５８】
図７に示すような処理が複数回行われた場合には、各回におけるチェックアウトからチェックインまでの差分情報が差分情報記憶部２８に順次記憶され、差分情報記憶部２８に複数回分の差分情報が記憶されることとなる。
【００５９】
図８は、差分情報記憶部２８に記憶されている差分情報に基づいてラダープログラムを復元する際のＣＰＵ２４による制御の流れを示すフローチャートである。
【００６０】
差分情報記憶部２８に差分情報が記憶された状態で、ユーザによりパーソナルコンピュータ１の操作部８に対する所定の操作が行われると、ＣＰＵ２４は、差分情報記憶部２８に記憶されている差分情報に対応する変更履歴を表示部７に表示させる（ステップＳ２０１）。このとき、差分情報記憶部２８に複数回分の差分情報が記憶されている場合には、それらの複数回分の差分情報にそれぞれ対応する変更履歴が表示部７に一覧表示される。表示部７に表示される変更履歴には、対応する差分情報の内容、その差分情報が差分情報記憶部２８に記憶された日時、その差分情報を差分情報記憶部２８に記憶させたユーザ名（変更者名）などが含まれる。
【００６１】
ユーザは、表示部７に表示されている変更履歴を確認し、操作部８を操作することによりいずれかの変更履歴を選択することができる。ユーザによる変更履歴の選択があれば（ステップＳ２０２でＹｅｓ）、ＣＰＵ２４は、その選択された変更履歴に対応する差分情報を差分情報記憶部２８から読み出し（ステップＳ２０３）、その差分情報に基づいて変更前のラダープログラムを復元する（ステップＳ２０４）。
【００６２】
ラダープログラムの復元は、例えば、ラダープログラム記憶部２５ａに記憶されているラダープログラムと、選択された差分情報と、その選択された差分情報よりも後に差分情報記憶部２８に記憶された差分情報とに基づいて、選択された差分情報に対応するラダープログラムの変更が行われる前の状態までラダープログラムを戻すことにより行われる。このとき、図４又は図５のように、差分情報記憶部２８がＣＰＵユニット３以外の装置に備えられており、差分情報がパーソナルコンピュータ１からＣＰＵユニット３に送信されてメモリ１２に記憶されている場合には、そのメモリ１２に記憶されている差分情報がパーソナルコンピュータ１内に読み込まれ、その差分情報に基づいてラダープログラムが復元されるようになっていてもよい。
【００６３】
ただし、上記の様な構成に限らず、作成時のラダープログラムを差分情報記憶部２８又は他のメモリに記憶しておいて、その作成時のラダープログラムと、選択された差分情報と、その選択された差分情報よりも前に差分情報記憶部２８に記憶された差分情報とに基づいて、選択された差分情報に対応するラダープログラムの変更が行われる前の状態のラダープログラムを生成することにより、ラダープログラムの復元が行われるような構成であってもよい。
【００６４】
本実施の形態では、ラダープログラムが変更された場合には、変更前と変更後の差分情報が差分情報記憶部２８に記憶される。したがって、必要に応じて、パーソナルコンピュータ１の表示部７に表示される変更履歴を操作部８の操作により選択し、選択した変更履歴に対応する差分情報を差分情報記憶部２８から読み出すことにより、変更前のラダープログラムを確実に復元することができる。
【００６５】
また、変更されたラダープログラム全体ではなく、変更前と変更後の差分情報のみを差分情報記憶部２８に記憶し、その差分情報に基づいて変更前のラダープログラムを復元することができるので、少ないメモリ容量で変更前のラダープログラムを復元することができる。
【００６６】
図４のように、パーソナルコンピュータ１に差分情報記憶部２８が備えられた構成の場合には、パーソナルコンピュータ１において差分情報を記憶し、その差分情報に基づいて、パーソナルコンピュータ１において変更前のラダープログラムを復元することができる。この場合、パーソナルコンピュータ１をＰＬＣ２などの他の装置に接続することなく、パーソナルコンピュータ１において、差分情報を読み出して変更前のラダープログラムを復元することができる。
【００６７】
図５のように、複数のパーソナルコンピュータ１からアクセス可能な履歴管理装置２９に差分情報記憶部２８が備えられた構成の場合には、履歴管理装置２９において差分情報を記憶し、その差分情報に基づいて、パーソナルコンピュータ１において変更前のラダープログラムを復元することができる。複数のユーザが、各自のパーソナルコンピュータ１を用いてラダープログラムの編集を行うような場合には、各ユーザによるラダープログラムの変更に応じて、その差分情報を履歴管理装置２９に記憶させ、必要に応じて、各ユーザが差分情報を読み出して変更前のラダープログラムを復元することができる。この場合、いずれかのユーザがラダープログラムを編集するためにチェックアウトを行っている間は、他のユーザがそのラダープログラムに対してチェックアウトを行うことができないようになっていることが好ましい。
【００６８】
図６のように、ＰＬＣ２のＣＰＵユニット３に差分情報記憶部２８が備えられた構成の場合には、ＣＰＵユニット３を共有装置として用いることができるので、図５のように、差分情報を記憶しておくための差分情報記憶装置２９をＰＬＣ２と別に設ける必要がなく、システムの低コスト化を図ることができる。
【００６９】
上記実施の形態では、プログラム編集装置がノートタイプのパーソナルコンピュータ１により構成される場合について説明したが、プログラム編集装置は、ノートタイプのパーソナルコンピュータに限らず、例えば、デスクトップタイプのパーソナルコンピュータであってもよいし、ＰＤＡ(Personal Digital Assistance)などの他の情報端末装置であってもよい。
【００７０】
また、プログラム編集装置は、パーソナルコンピュータ１などの汎用の情報端末装置に限らず、ユーザプログラムの編集を行うための専用の装置であってもよい。
【００７１】
また、ＰＬＣ２を制御するためのプログラムは、ユーザにより作成されるユーザプログラムであれば、ラダープログラムに限らず、他のプログラムであってもよい。例えば、ＰＬＣ２を制御するためのプログラムは、ＳＦＣ(Sequential Function Chart)、ＦＢＤ(Function Block Diagram)、ＬＤ(Ladder Diagram)、ＩＬ(Instruction List)、ＳＴ(Struction Text)などのプログラム言語で作成されていてもよい。
【００７２】
本発明は、以上の実施の形態の内容に限定されるものではなく、請求項記載の範囲内において種々の変更が可能である。
【図面の簡単な説明】
【００７３】
【図１】本発明の実施の形態によるプログラム変更履歴管理システムの一構成例を示す概念図である。
【図２】ラダープログラムの作成時にパーソナルコンピュータの表示部に表示されるラダー図の一例を示す図である。
【図３】図１のプログラム変更履歴管理システムの電気的構成の概要を示すブロック図である。
【図４】図１のパーソナルコンピュータ及びＣＰＵユニットの電気的構成の詳細を示すブロック図である。
【図５】図４に示すパーソナルコンピュータ及びＣＰＵユニットの電気的構成の第１変形例を示すブロック図である。
【図６】図４に示すパーソナルコンピュータ及びＣＰＵユニットの電気的構成の第２変形例を示すブロック図である。
【図７】ラダープログラムの編集を行う際のＣＰＵによる制御の流れを示すフローチャートである。
【図８】差分情報記憶部に記憶されている差分情報に基づいてラダープログラムを復元する際のＣＰＵによる制御の流れを示すフローチャートである。
【符号の説明】
【００７４】
１  パーソナルコンピュータ
２  ＰＬＣ（プログラマブル・ロジック・コントローラ）
７  表示部
８  操作部
２５ａ  ラダープログラム記憶部
２８  差分情報記憶部
２９  履歴管理装置
【図１】
2006330867.tif 000003
【図２】
2006330867.tif 000004
【図３】
2006330867.tif 000005
【図４】
2006330867.tif 000006
【図５】
2006330867.tif 000007
【図６】
2006330867.tif 000008
【図７】
2006330867.tif 000009
【図８】
2006330867.tif 000010