(57)【特許請求の範囲】
【請求項１】
複数台のプログラマブルコントローラによって構築されたネットワーク上の任意のプログラマブルコントローラと接続され、各プログラマブルコントローラへ作成したユーザプログラムを転送する開発支援装置において、
作成したユーザプログラムを各プログラマブルコントローラに転送する際、転送先プログラマブルコントローラに格納されたユーザプログラム内に登録された当該ユーザプログラムの識別番号を内包しているパスワード命令を読み出して、その読み出したパスワード命令に内包されている識別番号と上記転送すべきユーザプログラムに含まれている当該ユーザプログラムの識別番号とを照合し、上記プログラマブルコントローラに格納されたユーザプログラム内に登録されたパスワード命令に内包されている識別番号と上記転送すべきユーザプログラムに含まれている当該ユーザプログラムの識別番号とが対応している場合に、当該プログラマブルコントローラへ上記転送すべきユーザプログラムを転送する
ことを特徴とする開発支援装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、複数台のデータ処理装置によって構築されたネットワーク上の任意のデータ処理装置と接続され、各データ処理装置へ作成したプログラムを転送する開発支援装置に関する。
【０００２】
【従来の技術】
近年、プログラマブルコントローラ等のデータ処理装置のシステムでは、ネットワーク化による大規模システム化が進められており、一台の開発支援装置で複数のデータ処理装置を遠隔地から管理する必要性が高まっている。
【０００３】
このように大規模システム化したネットワーク上にある複数のデータ処理装置に開発支援装置からプログラムを転送する場合には、次の２つの方法が考えられる。
【０００４】
一つは、作業者が各データ処理装置の場所まで逐一移動して各データ処理装置に開発支援装置を接続してプログラムの転送処理を行い、終了すると別のデータ処理装置の場所に移動して同じ作業を繰り替えす方法である。
【０００５】
他の一つは、ネットワーク上の１つのデータ処理装置に開発支援装置を接続したままで、その開発支援装置が各データ処理装置の持つノード番号等のＩＤ番号を指定することで各データ処理装置毎に通信経路を確立して、対象とするデータ処理装置にプログラムを転送し、終了するとノード番号を変更して、別のデータ処理装置と通信経路を確立し、プログラムを転送するという方法である。
【０００６】
【発明が解決しようとする課題】
しかし、近年のこのような大規模システム化したネットワーク上では、データ処理装置の台数が数十台、数百台と増大して複雑化しているため、上記第１の方法では、データ処理装置間を移動するのに労力と時間を要する一方、上記第２の方法では、データ処理装置間の移動の労力はいらないものの全データ処理装置にプログラムを転送するまで開発支援装置から離れることができないと共に、システムを熟知していないオペレータにとってはデータ処理装置と転送すべきプログラムとの関連付けが困難となり、転送先データ処理装置を間違える等して、プログラムを誤って上書きしてしまう、等の問題があった。
【０００７】
本発明はこのような問題に着目してなされたもので、転送先データ処理装置を間違えることなくプログラム転送可能な開発支援装置を提供することを目的とする。
【０００８】
【課題を解決するための手段】
上記目的を達成するため、請求項１記載の発明では、複数台のプログラマブルコントローラによって構築されたネットワーク上の任意のプログラマブルコントローラと接続され、各プログラマブルコントローラへ作成したユーザプログラムを転送する開発支援装置において、作成したユーザプログラムを各プログラマブルコントローラに転送する際、転送先プログラマブルコントローラに格納されたユーザプログラム内に登録された当該ユーザプログラムの識別番号を内包しているパスワード命令を読み出して、その読み出したパスワード命令に内包されている識別番号と上記転送すべきユーザプログラムに含まれている当該ユーザプログラムの識別番号とを照合し、上記プログラマブルコントローラに格納されたユーザプログラム内に登録されたパスワード命令に内包されている識別番号と上記転送すべきユーザプログラムに含まれている当該ユーザプログラムの識別番号とが対応している場合に、当該プログラマブルコントローラへ上記転送すべきユーザプログラムを転送することを特徴とする。
【０００９】
請求項２記載の発明では、請求項１記載の開発支援装置において、上記データ処理装置は、プログラマブルコントローラであり、各プログラマブルコントローラに格納されたプログラム内に登録された識別番号登録回路のオペランドがパスワードとして使用できることを特徴とする。
【００１６】
【実施例】
以下、本発明に係る開発支援装置の実施例を図面に基づいて説明する。
【００１７】
尚、以下の実施例では、プログラマブルコントローラ（以下、「ＰＣ」という。）をデータ処理装置とし、その複数台のＰＣによって構築されたＰＣネットワークに本発明に係る開発支援装置が接続されたものとして説明する。
【００１８】
図１は、本発明に係る開発支援装置とＰＣネットワークとの接続を示している。
【００１９】
このＰＣネットワークは、複数台（図１では、便宜上４台とする。）のＰＣ１〜４が伝送線５を介し接続されて構築されている。各ＰＣ１〜４は、ＣＰＵユニット１１，２１，３１，４１や、通信ユニット１２，２２，３２，４２、Ｉ／Ｏユニット１３、２３、３３、４３等を有している。また、各ＰＣ１〜４には、識別番号として“００１〜００４”のノード番号が設定されている。
【００２０】
そして、ＰＣ１には、本発明に係る開発支援装置６が接続ケーブル７を介して接続されている。
【００２１】
図２は、本発明に係る開発支援装置６の第１実施例の具体的な構成を、ＰＣ１のＣＰＵユニット１１の構成と共に示している。
【００２２】
この開発支援装置６は、ラダープログラム等のＰＣで実行されるユーザプログラムを作成して接続ケーブル７を介し各ＰＣ１〜４へ転送するもので、ＣＰＵ６１と、システムプログラムメモリ６２と、外部記憶装置６３と、ディスプレイ等の出力装置６４と、キーボード等の入力装置６５と、内部メモリ６６と、インタフェース６７とを有している。
【００２３】
ＣＰＵ６１は、システムプログラムメモリ６２に格納されたシステムプログラムを実行することによってプログラム作成手段およびプログラム転送手段として機能して、入力装置６５によって入力したラダー回路等に基づきユーザプログラムを作成すると共に、プログラム転送手段として機能して後述の図４に示すプログラム転送処理を行うものである。なお、ユーザプログラムの作成時には、各ユーザプログラムに転送先ＰＣのノード番号と一致したプログラムの識別番号を後述するラダー回路によって登録するように構成されている。
【００２４】
外部記憶装置６３は、ＣＰＵ６１によって作成された識別番号を有する上記ユーザプログラムを記憶しておくものである。
【００２５】
また、ＰＣ１のＣＰＵユニット１１側は、一般的に構成されており、マイクロプロセッサ１１ａと、Ｉ／Ｏメモリ１１ｂと、システムプログラムメモリ１１ｃと、ワークメモリ１１ｄと、ユーザプログラムメモリ１１ｅと、インタフェース１１ｆとをバス１１ｇで接続して構成されている。
【００２６】
そして、このワークメモリ１１ｄ内には、他のＰＣ２〜４と同様に、このＰＣ１の識別番号としてＰＣネットワークにおけるノード番号“００１”が予め登録されている。
【００２７】
図３は、開発支援装置における各ＰＣへ転送すべきユーザプログラムの作成時にプログラムの識別番号を各ユーザプログラムに登録するための識別番号登録回路Ｒを示している。
【００２８】
この識別番号登録回路Ｒは、ＣＰＵ６１がユーザプログラムの作成時にユーザプログラム内に組み込むもので、当該プログラムの識別番号の登録を示す命令語“ＰＲＴＣＴ”と、当該プログラムの識別番号として各ユーザプログラムの転送先ＰＣのノード番号が設定されるオペランド“０００”とから構成されている。
【００２９】
なお、識別番号登録回路Ｒによってユーザプログラム内に登録された識別番号は、後述するプログラム転送の際の各ＰＣ１〜４の識別番号との照合処理のときだけでなく、このユーザプログラムが各ＰＣ１〜４に転送されて各ＰＣ１〜４内のユーザプログラムメモリに格納された際に、当該ユーザプログラムを読出す際のパスワードとしても使用できる。
【００３０】
次に、このように構成された第１実施例の開発支援装置におけるプログラム転送処理について説明する。
【００３１】
図４は、このように構成された第１実施例の開発支援装置におけるプログラム転送処理を示している。
【００３２】
プログラム転送処理が開始すると（ステップ１００）、まず、開発支援装置６のＣＰＵ６１は、上記のようにして作成したユーザプログラムの内、ＰＣへ転送すべきユーザプログラムを外部記憶装置６３から内部メモリ６６にロードすると共に、転送先として指定された転送先ＰＣのノード番号等に基づいて当該転送先ＰＣとの間に接続先ＰＣ１を介し通信経路を確立する（ステップ１１０）。つまり、例えば、図１において、転送先ＰＣとしてノード番号“００３”のＰＣ３が指定された場合、開発支援装置６は、接続先ＰＣ１を介して転送先ＰＣ３との間に通信経路を確立する。
【００３３】
次に、開発支援装置６のＣＰＵ６１は、その転送先ＰＣ３のＣＰＵユニットのワークメモリにアクセスして、そのワークメモリに予め登録されている当該転送先ＰＣ３の識別番号であるノード番号を読出すと共に（ステップ１２０）、開発支援装置６の内部メモリ６６にロードされた当該転送先ＰＣ３に転送すべきユーザプログラムに登録された識別番号を読出して（ステップ１３０）、その転送先ＰＣ３のノード番号と転送すべきユーザプログラムの識別番号とが一致しているか否かを照合する（ステップ１４０）。
【００３４】
その結果、転送先ＰＣ３のノード番号と転送すべきプログラムの識別番号とが一致している場合には（ステップ１４０“Ｙ”）、ＣＰＵ６１は、当該転送先ＰＣ３へそのノード番号と一致した識別番号を有するユーザプログラムを転送して（ステップ１５０）、その転送処理を終了する一方（ステップ１７０）、転送先ＰＣ３のノード番号と転送すべきプログラムの識別番号とが一致しない場合には（ステップ１４０“Ｎ”）、照合不一致のエラーメッセージを本装置６のディスプレイ等の出力装置６４上に表示して（ステップ１６０）、その転送処理を終了する（ステップ１７０）。
【００３５】
従って、この第１実施例によれば、転送先ＰＣとの通信経路確立後、当該転送先ＰＣへユーザプログラムを転送する前に、転送先ＰＣのノード番号と転送すべきプログラムの識別番号とが一致しているか否かを判断して、一致している場合には当該転送先ＰＣへユーザプログラムを転送するようにしたため、プログラム転送処理時におけるシステムを熟知していないオペレータのヒューマンエラーを排除して、設計者の意図した的確なプログラム転送処理を行うことができ、プログラムの誤転送や、上書きミス等を防止できる。
【００３６】
尚、この第１実施例では、各ＰＣの識別番号としてノード番号を採用し、しかも転送すべきユーザプログラムの識別番号として転送先ＰＣのノード番号を登録して、転送先ＰＣのノード番号と転送すべきプログラムの識別番号とが一致した場合にのみプログラムの転送を行うように説明したが、本発明では、これに限る必要はない。
【００３７】
つまり、各ＰＣの識別番号として各ＰＣのノード番号以外の識別番号を採用するようにしても良く、また転送先ＰＣの識別番号と転送すべきプログラムの識別番号とを一致させる必要もなく、何等か一定の関係や対応を付けるようにしても良い。
【００３８】
また、この第１実施例では、各ＰＣのワークメモリに登録されたノード番号を各ＰＣの識別番号として説明したが、各ＰＣの識別番号をワークメモリ内に登録できない場合等は、各ＰＣのメモリに格納されたプログラム内に登録された当該プログラムのパスワード命令を各ＰＣの識別番号として使用するようにしても良い。この場合、開発支援装置は、転送先ＰＣとの通信経路確立後、当該メモリのプログラムにアクセスして、そのパスワード命令を本装置内に読出してきて、そのパスワード命令と転送すべきプログラムの識別番号とを照合し、対応している場合にはその転送先ＰＣへ当該プログラムを転送するようにする。
【００３９】
次に、本発明に係る開発支援装置の第２実施例を図面に基づいて説明する。
【００４０】
この第２実施例の開発支援装置は、転送先ＰＣとの通信経路確立後の通信処理に特徴のある上記第１実施例のものとは異なり、後述のリンクテーブルを使用した転送先ＰＣとの通信経路確立までの処理に特徴のあるもので、ハード構成は図１および図２に示す上記第１実施例のものと同様であるため、上記第１実施例の図１および図２に基づいて、この第２実施例特有のリンクテーブルや本実施例の動作について説明する。
【００４１】
図５は、この第２実施例特有のリンクテーブルを示している。
【００４２】
このリンクテーブルＴは、本装置で作成したユーザプログラムの内、今回の処理で転送対象とするＰＣに転送すべきユーザプログラムのファイル名と、そのユーザプログラムの転送先ＰＣに予め登録されたノード番号等の識別（ＩＤ）番号とを予めリンクさせて登録したテーブルで、各ＰＣ１〜４に転送すべき各ユーザプログラムファイルが格納される外部記憶装置６３等の同一ディレクトリ内に格納されるものである。
【００４３】
尚、この外部記憶装置６３のディレクトリ内には、本装置で作成したユーザプログラムがそのファイル名に対応して記憶されており、今回の転送対象以外のユーザプログラムも共に格納されている。
【００４４】
次に、このように構成された第２実施例に係る開発支援装置等のプログラム転送処理を図面を参照して説明する。
【００４５】
図６は、開発支援装置内のプログラム転送処理を示している。
【００４６】
まず、ディレクトリ指定手段としての入力装置６５等によって本装置で作成したユーザプログラムのファイルが格納された外部記憶装置６３のディレクトリが指定され、そのディレクトリ名がこの開発支援装置６内に入力すると（ステップ２００）、この開発支援装置６内では、ＣＰＵ６１がプログラム転送手段として機能して、そのディレクトリに格納されているプログラムファイル名を外部記憶装置６３から読出し、そのファイル名が上記図５に示すリンクテーブルＴに登録されているか否かに基づいて、指定された外部記憶装置６３のディレクトリ内に転送すべきプログラムファイルが格納されているか否かを判断する（ステップ２１０）。
【００４７】
そして、指定した外部記憶装置６３のディレクトリ内に転送すべきプログラムファイルが格納されていないと判断した場合には（ステップ２１０の“Ｎ”）、このプログラム転送処理を終了する一方、転送すべきプログラムファイルが格納されていると判断した場合には（ステップ２１０“Ｙ”）、そのプログラムファイルを外部記憶装置６３から読み出すと共に（ステップ２２０）、読み出したプログラムファイルのファイル名を図５に示すリンクテーブルＴを参照して転送先ＰＣの識別（ＩＤ）番号に変換して取得する（ステップ２３０）。
【００４８】
次いで、この開発支援装置６のＣＰＵ６１は、接続ケーブル７を介して本装置が接続されている接続先ＰＣ１との接続処理を行って通信経路を確立し（ステップ２４０）、続いて転送元アドレスを開発支援装置の識別番号とし、かつ、転送先アドレスを転送先ＰＣの識別番号として、読み出したプログラムファイルの転送依頼を当該接続先ＰＣ１へ送出する（ステップ２５０）。
【００４９】
そして、その転送依頼が接続先ＰＣ１によって許可された場合には（ステップ２６０“Ｙ”）、転送元識別番号を開発支援装置の識別番号とし、かつ、転送先識別番号を転送先ＰＣの識別番号とした当該プログラムファイルを接続先ＰＣへ転送し（ステップ２７０）、正常に転送できない場合には（ステップ２８０“Ｎ”）、再度転送を繰り返す一方（ステップ２７０）、正常に転送できた場合には（ステップ２８０“Ｙ”）、上記ステップ２１０に戻ってディレクトリ内にまだ転送すべきプログラムファイルがあるか否かを判断して（ステップ２１０）、転送すべきプログラムファイルがある場合には上記と同様の処理を繰り返す。
【００５０】
図７は、接続先ＰＣ１におけるプログラム転送処理を示している。
【００５１】
接続先ＰＣ１では、まず、開発支援装置６から送られてきたプログラムファイル中の転送先識別番号をチェックして（ステップ３００）、転送先識別番号が自ノード宛てのものであるか否かを判断する（ステップ３１０）。
【００５２】
そして、自ノード宛てのものでない場合には（ステップ３１０“Ｎ”）、この転送先識別番号が示すＰＣに転送すべきプログラムファイルを転送し（ステップ３２０）、その後転送先ＰＣから開発支援装置宛てに送られてくるレスポンスデータを受信して（ステップ３３０）、受信したレスポンスデータを開発支援装置６に転送し（ステップ３４０）、接続先ＰＣでの処理を終了する。
【００５３】
その一方、転送先識別番号が自ノード宛てのものである場合には（ステップ３１０“Ｙ”）、他のＰＣ２〜３と同様に、次の図８で詳細に説明する転送先ＰＣでのプログラム受信処理を行う（ステップ３５０）。
【００５４】
図８は、図７のステップ３５０で示した転送先ＰＣにおけるプログラム受信処理を示している。
【００５５】
転送先ＰＣでは、まず、接続先ＰＣ１を介して開発支援装置６から送られてきたプログラム転送の許可依頼を受信して（ステップ３５１）、プログラム受信処理が可能か否かを判断する（ステップ３５２）。
【００５６】
ここで、受信処理が可能でない場合には（ステップ３５２“Ｎ”）、「処理不可」のレスポンスを開発支援装置６宛てに転送して（ステップ３５８）、プログラム受信処理を終了する一方、受信処理が可能である場合には（ステップ３５２“Ｙ”）、「処理可」のレスポンスを開発支援装置６宛てに転送して（ステップ３５３）、開発支援装置６から送られてきたプログラムを受信し（ステップ３５４）、このプログラム受信処理が正常に終了したか否かを判断する（ステップ３５５）。
【００５７】
そして、このプログラム受信処理が正常に終了したと判断した場合には（ステップ３５５“Ｙ”）、「正常終了」のレスポンスを開発支援装置６に転送する一方（ステップ３５６）、正常に終了していないと判断した場合には（ステップ３５５“Ｎ”）、「プログラム書込失敗」のレスポンスを開発支援装置６に転送して（ステップ３５７）、この転送先ＰＣでの受信処理を終了する。
【００５８】
従って、この第２実施例によれば、ユーザプログラムが格納されたディレクトリ名を入力すれば、リンクテーブルを参照して、そのディレクトリに格納されたプログラムファイルの内、このリンクテーブルに登録されているプログラムファイルについてのみ、そのファイル名に対応した転送先ＰＣと通信経路の確立、プログラムの転送、通信経路の解放を繰返して、プログラム転送処理が行われるため、ユーザプログラムが格納されたディレクトリ名の入力という一度の処理だけで複数のＰＣに対応するプログラムを自動的に転送することができ、作業者はＰＣ間を移動する必要もなくなり、また転送先ＰＣの切り替え作業も自動で不必要となり、本装置動作中でも本装置から離れて別の作業を行うことが可能となる。
【００５９】
尚、この第２実施例では、ディレクトリ名を指定することによって転送すべきユーザプログラム等が格納されたユーザプログラムのファイルを指定するようにして説明したが、本発明では、これに限らず、例えば、予め転送すべきユーザプログラムファイル等が格納されたディレクトリを決めておき、ディレクトリ名の指定なしに当該ディレクトリからリンクテーブルを参照して上記のようにユーザプログラムを転送するようにしても良い。
【００６０】
また、この第２実施例では、上記第１実施例と同様、各ＰＣの識別番号としてノード番号を採用し、しかも各ＰＣのワークメモリに登録されたノード番号を各ＰＣの識別番号として説明したが、本発明ではこれに限らず、各ＰＣの識別番号として各ＰＣのノード番号以外の識別番号を採用するようにしても良く、また各ＰＣの識別番号をワークメモリ内に登録できない場合等は、各ＰＣのメモリに格納されたプログラム内に登録された当該プログラムのパスワード命令等を各ＰＣの識別番号として使用するようにしても良い。
【００６１】
【発明の効果】
以上説明したように、請求項１記載の発明では、データ処理装置との通信経路確立後、当該データ処理装置へプログラムを転送する前に、データ処理装置に格納されたプログラム内に登録された識別番号登録回路と転送すべきプログラムの識別番号登録回路とが一致しているか否かを判断して、一致している場合には当該データ処理装置へプログラムを転送するようにしたため、プログラム転送処理時におけるシステムを熟知していないオペレータのヒューマンエラーを排除して、設計者の意図した的確なプログラム転送処理を行うことができ、プログラムの誤転送や、上書きミス等を防止できる。
【図面の簡単な説明】
【図１】本発明に係る開発支援装置とＰＣネットワークとの接続を示す説明図。
【図２】本発明に係る開発支援装置の第１実施例の具体的な構成を示す説明図。
【図３】ユーザプログラムに組み込まれる識別（ＩＤ）番号を登録するための識別番号登録回路Ｒを示す説明図。
【図４】第１実施例の開発支援装置によるプログラム転送処理を示すフローチャート。
【図５】第２実施例の開発支援装置の外部記憶装置内に格納されるリンクテーブルを示す説明図。
【図６】開発支援装置内のプログラム転送処理を示すフローチャート。
【図７】接続先ＰＣにおけるプログラム転送処理を示すフローチャート。
【図８】転送先ＰＣにおけるプログラム受信処理を示すフローチャート。
【符号の説明】
１〜４  ＰＣ
１１〜４１  ＣＰＵユニット
１２〜４２  通信ユニット
１３〜４３  Ｉ／Ｏユニット
５  ＰＣネットワーク
６  開発支援装置
６１  ＣＰＵ（プログラム作成手段、プログラム転送手段）
６３  外部記憶装置（プログラム格納手段、リンクテーブル記憶手段）
６５  入力装置（ディレクトリ指定手段）
【図１】
0003642594.tif 000002
【図２】
0003642594.tif 000003
【図３】
0003642594.tif 000004
【図４】
0003642594.tif 000005
【図５】
0003642594.tif 000006
【図６】
0003642594.tif 000007
【図７】
0003642594.tif 000008
【図８】
0003642594.tif 000009