(57)【要約】【課題】シーケンス制御中のプログラマブルコントローラ（ＰＬＣ）２と通信機能部ＣＯＭ１、ＣＯＭ２を介して接続されると共に、ＰＬＣ２が実行しているプログラム２２と同一のプログラム１２が格納されており、プログラム１２を編集しつつプログラム２２を編集するオンラインプログラミングを可能とするＰＬＣのプログラミング装置１にて、オンラインプログラミングに先立ちプログラム１２と２２が同一であることを確認する照合処理を迅速にして操作者の負担や生産ラインへの影響を少なくする。【解決手段】オンラインプログラミング開始の指令が出ると予め、プログラム１２と共に装置１に格納されいるプログラム１２のプログラムサイズ、作成日時等のプログラム属性１４と、ＰＬＣ２から読み出したプログラム２２のプログラム属性２４としてのプログラム属性１４Ｒとを照合し、プログラムサイズ、作成日時が共に一致するとオンラインプログラミングに移行する。【選択図】        図１
2007079651.tif 000002
【特許請求の範囲】
【請求項１】
シーケンス制御中のプログラマブルコントローラと通信手段を介して接続されると共に、該プログラマブルコントローラが実行しているプログラム（以下第１のプログラムという）と同一のプログラム（以下第２のプログラムという）が格納されてなり、この第２のプログラムを編集しつつ前記第１のプログラムを編集する処理としてのオンラインプログラミングを可能とするプログラマブルコントローラのプログラミング装置において、
オンラインプログラミングを開始すべき旨の指令に基づき予め、前記第２のプログラムと共に自身に格納されてなる該第２のプログラムについての１または複数のプログラム属性と、前記プログラマブルコントローラから読み出した前記第１のプログラムについてのそれぞれ前記プログラム属性に対応するプログラム属性とを照合し、両者の各プログラム属性が全て一致することを確認して前記オンラインプログラミングに移行することを特徴とするプログラマブルコントローラのプログラミング装置。
【請求項２】
請求項１に記載のプログラマブルコントローラのプログラミング装置において、
前記プログラム属性には少なくとも、当該プログラムのプログラムサイズおよび当該プログラムの作成日時を含めたことを特徴とするプログラマブルコントローラのプログラミング装置。
【請求項３】
請求項１または２に記載のプログラマブルコントローラのプログラミング装置において、
前記プログラム属性の照合の結果、全てのプログラム属性は一致しないながらも、前記第１、第２のプログラムが同一である可能性が残るときは、この第１、第２の２つのプログラムの照合を行うか否かを選択する操作入力を促し、その結果、プログラムの照合を行うべき選択操作がなされたときは、第１、第２のプログラムを照合する処理に移行することを特徴とするプログラマブルコントローラのプログラミング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、プログラマブルコントローラ（ＰＬＣとも略記する）のプログラミング装置、特にＰＬＣのオンラインプログラミングの開始時に予め、ＰＬＣ内に保存されているプログラムと、プログラミング装置内に格納されＰＬＣ内プログラムと同一とみなされるプログラムとが真に同一のプログラムであるか否かを迅速確実に照合し、同一でないプログラムに誤った操作を加えてＰＬＣ内のプログラムを破損することを防ぐ機能を備えたプログラマブルコントローラのプログラミング装置に関する。
【背景技術】
【０００２】
プログラマブルコントローラ（ＰＬＣ）は、シーケンスプログラムを演算実行してＰＬＣに接続される制御対象機器を自動的にシーケンス制御する装置として知られている。このシーケンスプログラムは通常、ユーザによりプログラミング装置上でラダー図等のプログラミング言語を用いて編集されたのち、機械語に変換して通信ケーブル等を介し当該のＰＬＣに格納される。
また、ＰＬＣに一旦格納されたシーケンスプログラムを再度編集する場合も、通常はＰＬＣ内のプログラムは通信ケーブル等を介しプログラミング装置に転送されて編集され、再びＰＬＣに格納される。
なお、ここでプログラム編集とは、プログラムの作成・変更・デバッグなどプログラムを作成する全ての作業を意味するものとし、プログラミングと同義とする。
【０００３】
ところで、ＰＬＣを使用する生産工場等では、生産効率を高めるためにＰＬＣの制御対象機器や制御方法を変更するのは通常のことであり、シーケンスプログラムは常時、更新されて行く。そして、このプログラムの更新は上述のようにプログラミング装置を用いて行われる。
しかしながら近年、プログラミング装置およぴＰＬＣの高性能化にともない、より多くの制御を実現するためにプログラム容量の拡大が続けられている。このプログラムは時として非常に膨大な大きさとなり、そのプログラムをプログラミング装置からＰＬＣに供給したり、プログラムの部分変更などのためにＰＬＣからプログラミング装置に転送したりする際に多大な時間を要するようになってきている。
ＰＬＣの制御対象機器は通常、工場の製造ライン等を構成するため長時間停止することが許されない。しかし、制御プログラムが膨大であるとプログラミング装置からＰＬＣへのプログラムの供給に時間がかかりＰＬＣ、従って制御対象機器を長時間停止せざるを得なくなる。
【０００４】
そこで、ＰＬＣの制御プログラムの更新時にはＰＬＣへプログラムの変更箇所のみを部分的に供給することにより供給時間を最小限とし、ＰＬＣがシーケンス制御を実行中であっても、このＰＬＣと通信ケーブルで接続されたプログラミング装置によってこのＰＬＣのプログラムを変更できる方式である、いわゆるオンラインプログラミング、あるいはプログラムのオンライン編集と呼ばれる方式が考案されている。なおこのオンラインプログラミング、オンライン編集に対して従来のプログラム編集方式はそれぞれオフラインプログラミング、オフライン編集と呼ばれる。
オンライン編集の場合、ＰＬＣと通信ケーブルで接続されたプログラミング装置からＰＬＣにプログラムの変更箇所のみを部分的に供給するには、プログラムの編集を開始する前にプログラミング装置内のプログラムとＰＬＣ内のプログラムとが完全に一致していることが前提となる。
【０００５】
そこで、オンライン編集を開始する前にプログラムのブロックチェックコードなどを照合してＰＬＣ内プログラムとプログラミング装置内プログラムとを自動的に照合し、プログラムのオンライン編集を開始しても安全であるか否かを表示する仕組みを持ったプログラミング装置も考案され実用に供されている。
このようなプログラミング装置では上記プログラムの照合結果が一致していればオンライン編集が可能となり、ここでプログラミング装置内プログラムの変更したい部分を表示し変更してＰＬＣに転送すると、ＰＬＣは転送されたプログラムを一旦、作業領域に保存し、プログラムを実行していないタイミングに転送されたプログラムと元のプログラムを入れ替え、更新されたプログラムによるシーケンス制御を再開する。
なお、特許文献１には、ＰＬＣ内のユーザプログラムメモリにシーケンスプログラムを作成または編集するオンラインモードと、プログラミング装置本体のプログラムメモリにシーケンスプログラムを作成または編集するオフラインモードを有するＰＬＣのプログラミング装置において、オフラインモード、オンラインモード、及び両メモリを並列して編集するオンライン並列編集モードの各モードを選択可能に構成し、起動時に選択されたモードは、そのモードが終了するまで当該モードの機能を続行するＰＬＣのプログラミング装置、またプログラミング装置の起動時において、オンライン並列編集モードの選択に応答し、両メモリ相互のシーケンスプログラムの比較照合を実行し、両者が一致していればオンライン並列編集モードを実行し、一致していなければ、操作者に対して警告表示、または一致操作を促す表示を行う手段を具備するＰＬＣのプログラミング装置が開示されている。
【０００６】
また特許文献２には、コンピュータ上で動作してＰＬＣのプログラム編集とテストデバッグとを行うプログラム開発ツールが、ＰＬＣを通信手段で接続せず、ユーザプログラムの編集ができるオフライン動作から、通信手段によって接続したＰＬＣのユーザプログラムの編集や、ＰＬＣの演算状態をコンピュータ上でモニタするオンライン動作に切り換える際又はオンライン動作中にＰＬＣのメモリ上のユーザプログラムのデータ列に対する冗長検査のためのデータ列固有値からなるブロックチェックコードの演算結果と、コンピュータのメモリ上のユーザプログラムのデータ列に対する冗長検査のためのデータ列固有値からなるブロックチェックコードの演算結果とを比較して一致・不一致の照合を行う制御システムのプログラム照合方法および制御システムが開示されている。
【特許文献１】特許第２８８０３３０号公報
【特許文献２】特許第３３６７７６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
プログラムのオンライン編集を開始する前にプログラミング装置内のプログラムとＰＬＣ内のプログラムとが一致するものであるか否かを照合しようとする場合、この２つのプログラムを直接照合する方法は、ＰＬＣ内のプログラムを全てプログラミング装置内に読み出してから行うので、プログラムが大きいと非常に時間が掛かり、ユーザに負担をかけ且つ生産ラインに影響したりたりする。
一方、ブロックチェックコードなど間接的なプログラムの情報のみを用いた照合方法は高速な照合方法ではあるが、異なるプログラムから生成されたブロックチェックコードがしばしば同じ値となってしまうことがあるため、間違った照合結果を使用者に通知してしまうという問題がある。
そこで本発明は、プログラムのオンライン編集を開始する前にプログラミング装置内のプログラムとＰＬＣ内のプログラムを照合する従来の方式が持つ以上の欠点を除去し、極力、ユーザに負担をかけずに高速にプログラムを照合することができるプログラマブルコントローラのプログラミング装置を提供することを課題とする。
【課題を解決するための手段】
【０００８】
前記の課題を解決するために請求項１のプログラマブルコントローラのプログラミング装置は、
シーケンス制御中のプログラマブルコントローラ（２）と通信手段（通信機能部ＣＯＭ１、ＣＯＭ２）を介して接続されると共に、該プログラマブルコントローラが実行しているプログラム（２２、以下第１のプログラムという）と同一のプログラム（１２、以下第２のプログラムという）が格納されてなり、この第２のプログラムを編集しつつ前記第１のプログラムを編集する処理としてのオンラインプログラミングを可能とするプログラマブルコントローラのプログラミング装置（１）において、
オンラインプログラミングを開始すべき旨の指令に基づき予め、前記第２のプログラムと共に自身に格納されてなる該第２のプログラムについての１または複数のプログラム属性（１４）と、前記プログラマブルコントローラから読み出した前記第１のプログラムについてのそれぞれ前記プログラム属性に対応するプログラム属性（２４としての１４Ｒ）とを照合し、両者の各プログラム属性が全て一致することを確認して前記オンラインプログラミングに移行するものとする。
【０００９】
また請求項２のプログラマブルコントローラのプログラミング装置は請求項１に記載のプログラマブルコントローラのプログラミング装置において、
前記プログラム属性には少なくとも、当該プログラムのプログラムサイズおよび当該プログラムの作成日時を含めたものとする。
また請求項３のプログラマブルコントローラのプログラミング装置は請求項１または２に記載のプログラマブルコントローラのプログラミング装置において、
前記プログラム属性の照合の結果、（例えばプログラムサイズは一致するが作成日時は一致しないというように）全てのプログラム属性は一致しないながらも、前記第１、第２のプログラムが同一である可能性が残るときは、この第１、第２の２つのプログラムの照合を行うか否かを選択する操作入力を促し、その結果、プログラムの照合を行うべき選択操作がなされたときは、第１、第２のプログラムを照合する処理に移行するものとする。
【００１０】
本発明の作用は次の如くである。即ち、プログラミング装置内のプログラムとＰＬＣ内のプログラムを照合する際に、常にプログラム全体を読み出して両プログラムの同一性を検証するのではなく、まず、プログラムの属性情報だけを読み出し同一性を検証するようにして、プログラムが大きい場合でも迅速にプログラムの同一性の検証を行えるようにする。但し、プログラム属性の照合結果が信憑性に欠け、且つプログラムが同一である可能性が残る場合はプログラム全体を読み出して完全な照合を行うものである。
【発明の効果】
【００１１】
本発明によれば、プログラミング装置の動作モードをオンラインプログラミングに切り替えると、予め自動的にプログラミング装置上のプログラムとＰＬＣ内のプログラムが照合されるようにしたので、誤って異なるＰＬＣのプログラムに変更を加えて破損することを容易に防ぐことができる。
また、この場合の照合方法としては、先ずプログラム属性のみの高速な照合を行って、プログラム属性が全て一致すれば、直ちにオンラインプログラミングに移行し、プログラム属性の全ては一致しないが、プログラムが一致する可能性が残るときのみ、ユーザの選択操作に応じてプログラム全体の確実な照合を行うようにしたので、必要以上にユーザに負担をかけたり、生産ラインに影響を与えたりすることなく精度の高い照合を行うことができる。
【発明を実施するための最良の形態】
【００１２】
以下、この発明の実施の形態を図面を参照して説明する。図１は本発明に関わるシステムの要部の構成を示すブロック図である。この図において、１はプログラミング装置、２はプログラマブルコントローラ（ＰＬＣ）、３はプログラミング装置１に組み付けられた表示装置である。
また、ＣＯＭ１はプログラミング装置１に設けられ、ＰＬＣ２と交信するための通信インタフェース等を含む通信機能部、ＣＯＭ２はＰＬＣ２に設けられ、プログラミング装置１等と交信するための通信インタフェース等を含む通信機能部である。
本発明のプログラミング装置１は基本的には、オフライン編集モードでＰＬＣ２と接続されずに表示装置３等を利用しながらＰＬＣ２のシーケンスプログラムを作成できるほか、オンライン編集モードでシーケンス制御中のＰＬＣ２に通信ケーブルにより接続されてＰＬＣ２の保持するシーケンスプログラムを表示装置３に表示しながら、ＰＬＣ２のシーケンスプログラムのデバッグ、変更等の操作を行うことができる。
【００１３】
ところで、本発明のプログラミング装置１は、上記オフライン編集モード等でユーザにより作成されたシーケンスプログラム１２をメモリのプログラム格納領域１１に保持するほか、同じくユーザにより作成されたこのプログラム１２の後述するプログラム属性１４を別にメモリのプログラム属性格納領域１３に保持している。
このプログラム１２およびプログラム属性１４は、プログラミング装置１の通信機能部ＣＯＭ１とＰＬＣ２の通信機能部ＣＯＭ２とを図外の通信ケーブルで接続することにより、この通信機能部ＣＯＭ１、ＣＯＭ２を介してＰＬＣ２のユーザアプリケーションプログラムメモリのそれぞれプログラム格納領域２１およびプログラム属性格納領域２３に、それぞれプログラム２２およびプログラム属性２４として格納される。これによりＰＬＣ２はシーケンスプログラム２２を実行して図外の制御対象機器をシーケンス制御することができる。
【００１４】
また、プログラミング装置１は前記オンライン編集モードにおける予めのプログラム属性の照合、さらに後述するユーザ選択に応じたプログラムの照合のために、それぞれ照合用プログラム属性格納領域１３Ｒおよび照合用プログラム格納領域１１Ｒと、プログラム属性の照合を行う照合機能部１６およびプログラムの照合を行う照合機能部１５とを備えている。
この照合を行う場合は、プログラミング装置１は、通信ケーブルで接続された通信機能部ＣＯＭ１、ＣＯＭ２を介し、ＰＬＣ２からＰＬＣ２が保持しているプログラム属性２４、さらにユーザ選択に応じプログラム２２をそれぞれプログラミング装置１の照合用プログラム属性格納領域１３Ｒおよび照合用プログラム格納領域１１Ｒに、それぞれプログラム属性１４Ｒおよびプログラム１２Ｒとして読み出す。
【００１５】
そしてプログラミング装置１が、図２で述べる手順により先ずプログラム属性１４Ｒを、このプログラム属性１４Ｒと同一のものと見なして保持しているプログラム属性１４と照合機能部１６によって照合してその結果を表示装置３に表示し、さらにユーザ選択に応じてプログラム１２Ｒを、このプログラム１２Ｒと同一のものと見なして保持しているプログラム１２と照合機能部１５によって照合しその結果を表示装置３に表示する。
図２は、ユーザよリオンラインプログラミング開始の指示が出された後のプログラミング装置１の予めの処理の実施例を示すフローチャートで、Ｓ１〜Ｓ１０はそのステップ番号である。次に図１を参照しつつ図２を説明する。
ステップＳ１で、プログラミング装置１はユーザからのオンラインプログラミング開始の指示により、先ずＰＬＣ２からプログラム属性２４をプログラミング装置１内の照合用プログラム属性格納領域１３Ｒにプログラム属性１４Ｒとして読み込む。
【００１６】
次のステップＳ２で、プログラミング装置１はプログラム属性１４Ｒが正常に読み出せたかどうかを判定する。換言すれば通信エラーやファイルアクセスエラーなどが発生せずに、ＰＬＣ２内のプログラム属性２４がプログラミング装置１内の照合用プログラム属性格納領域１３Ｒに正しく保存されたかどうかを確認する。
そして正常に読み出せたと判定すれば（分岐ＹＥＳ）、次のステップＳ３に進み、他方、正常に読み出せていないと判定すれば（ステップＳ２、分岐ＮＯ）、ここで図２の処理を終了する。
ステップＳ３では、プログラミング装置１はプログラム属性１４に含まれるプログラムサイズとプログラム属性１４Ｒに含まれるプログラムサイズを照合機能部１６によって照合する。
【００１７】
そして次のステップＳ４でプログラミング装置１は、この照合の結果としてプログラムサイズが一致しているか否かを判定する。ここで一致していると判定した場合は（分岐ＹＥＳ）、次のステップＳ５の処理に移行し、他方、一致していないと判定した場合は（分岐ＮＯ）、オンラインプログラミングに移行できないことを表示装置２に表示し、ここで図２の処理を終了する。
ステップＳ５では、プログラミング装置１はさらにプログラム属性１４に含まれるプログラム作成日時とプログラム属性１４Ｒに含まれるプログラム作成日時を照合機能部１６によって照合する。
そして、ステップＳ６でプログラミング装置１はプログラム作成日時が一致しているか否かを調べ、一致している場合は（分岐ＹＥＳ）、ステップＳ１０でのオンラインプログラミングヘ移行する。他方、プログラム作成日時が一致していない場合は（ステップＳ６、分岐ＮＯ）、さらに次のステップＳ７で、プログラム全体の照合を行うかどうかを選択するためのユーザインタフェースを表示装置２に表示してユーザ（操作者）に選択させる。
【００１８】
ステップＳ７では、操作者によりプログラム全体照合を行うと選択指示された場合は（分岐ＹＥＳ）、次のステップＳ８に進み、他方、操作者によりプログラム全体照合を行わないと選択指示された場合は（分岐ＮＯ）、ここで図２の処理を終了する。
ステップＳ８では、プログラミング装置１はプログラム１２とＰＬＣ２からプログラミング装置１内の照合用プログラム格納領域１１Ｒヘ読み出したプログラム１２Ｒとを照合機能部１５によって照合する。
そしてステップＳ９でプログラミング装置１はステップＳ８でのプログラム全体の照合の結果、プログラム全体が一致しているか否かを判定する。ここでプログラム全体が一致している場合は（ステップＳ９、分岐ＹＥＳ）、次のステップＳ１０のオンラインプログラミングヘ移行する。他方、プログラム全体が不一致の場合は（ステップＳ９、分岐ＮＯ）、ここで図２の処理を終了する。
【００１９】
以上のようにこの実施例では、プログラム属性であるプログラムサイズとプログラム作成日時ともに一致している場合はプログラム全体の照合を行わないので照合が高速に行われ、プログラムサイズは一致しているがプログラム作成日時が不一致の場合だけプログラム全体の照合を行うため、操作者の負担をなるべく減らしながら高精度な照合を行うことができる。
【図面の簡単な説明】
【００２０】
【図１】本発明に関わるシステムの要部の構成の実施例を示すブロック図
【図２】本発明のプログラミング装置がオンラインプログラミングに先立って実行する処理の手順の実施例を示すフローチャート、
【符号の説明】
【００２１】
１                    プログラミング装置
２                    プログラマブルコントローラ（ＰＬＣ）
１１                  プログラム格納領域
１１Ｒ                照合用プログラム格納領域
１２、１２Ｒ          プログラム
１３                  プログラム属性格納領域
１３Ｒ                照合用プログラム属性格納領域
１４、１４Ｒ          プログラム属性
２１                  プログラム格納領域
２２                  プログラム
２３                  プログラム属性格納領域
２４                  プログラム属性
ＣＯＭ１、ＣＯＭ２    通信機能部
【図１】
2007079651.tif 000003
【図２】
2007079651.tif 000004