(57)【特許請求の範囲】
【請求項１】
データバスを介して相互に接続され、ユーザファイルを記憶する内部記憶手段を有する複数の制御装置と、
ユーザファイルを記憶可能で、持ち運び可能な記憶媒体と、
を備える制御システムにおいて、
前記持ち運び可能な記憶媒体は、前記制御装置または前記持ち運び可能な記憶媒体に格納された転送対象となるユーザファイルをファイル名で指定する転送ファイル情報および前記ユーザファイルの転送先を含む転送用パラメータを記憶し、
前記複数の制御装置のうち１つの制御装置は、
前記持ち運び可能な記憶媒体にアクセスするインタフェース手段と、
前記転送用パラメータにしたがって、前記転送ファイル情報で指定されるユーザファイルを前記転送先に転送する転送手段と、
を備え、
前記持ち運び可能な記憶媒体は、第１のパスワード情報をさらに記憶可能であり、
前記制御装置は、
第２のパスワード情報を記憶可能なパスワード情報記憶手段をさらに備え、
前記転送手段は、前記第１および第２のパスワード情報が記憶されているか確認するとともに、記憶されている場合には、前記第２のパスワード情報と、前記第１のパスワード情報とを照合し、前記第１および第２のパスワード情報のうち一方のパスワード情報しか記憶されていない場合に、前記パスワード情報が設定された前記持ち運び可能な記憶媒体または前記制御装置の前記内部記憶手段へのアクセス制限を行うことを特徴とすることを特徴とする制御システム。
【請求項２】
前記転送用パラメータは、前記持ち運び可能な記憶媒体から前記複数の制御装置のうち所定の制御装置へのユーザファイルの転送か、あるいは前記複数の制御装置のうち所定の制御装置から前記持ち運び可能な記憶媒体へのユーザファイルの転送かを示す転送方向情報をさらに含むことを特徴とする請求項１に記載の制御システム。
【請求項３】
前記転送用パラメータに含まれる前記ユーザファイルの転送先は、前記ユーザファイルの転送対象となる制御装置を示す第１の転送先情報と、前記転送対象となる制御装置内でのいずれの内部記憶手段に転送するのかを指定する第２の転送先情報と、を含むことを特徴とする請求項１に記載の制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、制御システムに関するものである。
【背景技術】
【０００２】
制御装置としてのプログラマブルコントローラは、プログラムにしたがって、制御対象を制御することにより所定の処理を実行させて、製品の加工や製造を行っている。このようなプログラマブルコントローラとして、一つのマザーボード上にＣＰＵユニットと、複数の数値制御装置ユニットとをデータバスを介して接続し、制御対象を制御する構成のものが開示されている（たとえば、特許文献１参照）。この従来のプログラマブルコントローラのＣＰＵユニットのデータＲＡＭには、それぞれの数値制御装置ユニットへ転送すべきデータを書込むための２００バイト分のエリアが確保されている。そして、数値制御装置ユニットの立ち上げ時に、ＣＰＵユニットのデータＲＡＭから所定の長さのデータが分割されて、データＲＡＭに書込まれたエリアに対応する数値制御装置ユニットへと一括転送される。
【０００３】
また、プログラマブルコントローラへのデータの書込みやプログラマブルコントローラからのデータの読出しを容易に行うために、プログラムの読み書きを行うことが可能なローダ機能を有するメモリカセットをプログラマブルコントローラに装着して行うようにしたものも提案されている（たとえば、特許文献２参照）。
【０００４】
【特許文献１】特公平８−１６８４６号公報
【特許文献２】特開２００１−１７５３０９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、近年では、ベースユニットに複数のプログラマブルコントローラが装着され、相互にバスを介して接続される構成を有する制御システムも使用されている。この場合、各プログラマブルコントローラは、ユーザプログラムＲＡＭを備えており、このユーザプログラムＲＡＭに格納されているユーザプログラムにしたがって、それぞれのプログラマブルコントローラが独立した処理を行うことが可能な構成となっている。
【０００６】
このような制御システムでも、各プログラマブルコントローラにユーザプログラムやユーザデータを書込んだり、外部装置にユーザデータを読出したりする必要がある。その場合、特許文献１に記載の方法では、ユーザデータをＣＰＵユニットから各数値制御装置ユニットへ送信することは可能であるが、外部装置に読出す場合については開示されていない。
【０００７】
また、ユーザプログラムについては、ＣＰＵユニットに接続されたプログラミングツールを介してユーザプログラムＲＡＭに書込むことが開示されている。このようなユーザプログラムの書込み方法では、制御システム（プログラマブルコントローラ）を作業者の手の届かない位置に設置している場合には、そのプログラマブルコントローラにプログラミングツールを接続して、ユーザプログラムを書込む作業が手間のかかるものとなってしまうという問題点があった。さらに、ユーザプログラムＲＡＭを備えるプログラマブルコントローラが複数接続されたシステムについては、従来提案されているが、このシステムにおけるユーザプログラムを送信するための技術については、特許文献１には開示されていなかった。これは、特許文献１のプログラマブルコントローラの数値制御ユニットには、ユーザプログラムＲＡＭがなく、上記のようなシステムでのユーザプログラムの送信については考慮されていないからである。
【０００８】
一方、特許文献２には、メモリカセットを用いて、プログラマブルコントローラの内蔵メモリとの間でユーザプログラムのやり取りを行うようにしているが、この場合には、上記ユーザプログラムＲＡＭを有する複数のプログラマブルコントローラからなる制御システムでは、プログラマブルコントローラと同一数のメモリカセットを用意する必要があるという問題点があった。また、プログラマブルコントローラごとにメモリカセットを装着する手段が必要となるため、制御システムのコストが高くなってしまうという問題点もあった。
【０００９】
さらに、特許文献１に記載の方法でユーザデータを送信する場合、送信するユーザデータを保持するＣＰＵユニット上のデータＲＡＭには、各数値制御装置ユニットへ転送するための所定の大きさのデータ領域が予め割当てられている。そのため、ユーザプログラムやユーザデータの大きさが、プログラマブルコントローラごとに異なる場合に、使用されていない領域が生じたり、データ領域にユーザプログラムやユーザデータが収まらなくなったりし、有効に記憶領域を使用できないという問題点もあった。また、特許文献１では、メモリの構成やアドレスが固定化されていることで、数値制御装置側のメモリ構成を変更するには、プログラマブルコントローラ側のメモリ構成も変更する必要があり、メモリ効率が悪いという問題点もあった。さらに、プログラマブルコントローラだけでなく、ＮＣ（Numerical  Controller）やＭＣ（Motion  Controller）、ＲＣ（Robot  Controller）、操作端末である表示器などの産業用コントローラなどの制御装置全般について、上記のような問題点があった。
【００１０】
この発明は、上記に鑑みてなされたもので、複数の制御装置がデータバスを介して接続される制御システムで、プログラミングツールを用いることなく外部からのユーザファイル（ユーザプログラムとユーザデータ）を制御装置間で送信することができる制御システムを得ることを目的とする。また、制御システム中の制御装置へのユーザファイルの書込みを行う際に、そのユーザファイルが書込まれる持ち運び可能な記憶媒体中で記憶領域を有効に使用することができるデータ構造を有する制御システムを得ることも目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、この発明にかかる制御システムは、データバスを介して相互に接続され、ユーザファイルを記憶する内部記憶手段を有する複数の制御装置と、ユーザファイルを記憶可能で、持ち運び可能な記憶媒体と、を備える制御システムにおいて、前記持ち運び可能な記憶媒体は、前記制御装置または前記持ち運び可能な記憶媒体に格納された転送対象となるユーザファイルをファイル名で指定する転送ファイル情報および前記ユーザファイルの転送先を含む転送用パラメータを記憶し、前記複数の制御装置のうち１つの制御装置は、前記持ち運び可能な記憶媒体にアクセスするインタフェース手段と、前記転送用パラメータにしたがって、前記転送ファイル情報で指定されるユーザファイルを前記転送先に転送する転送手段と、を備え、前記持ち運び可能な記憶媒体は、第１のパスワード情報をさらに記憶可能であり、前記制御装置は、第２のパスワード情報を記憶可能なパスワード情報記憶手段をさらに備え、前記転送手段は、前記第１および第２のパスワード情報が記憶されているか確認するとともに、記憶されている場合には、前記第２のパスワード情報と、前記第１のパスワード情報とを照合し、前記第１および第２のパスワード情報のうち一方のパスワード情報しか記憶されていない場合に、前記パスワード情報が設定された前記持ち運び可能な記憶媒体または前記制御装置の前記内部記憶手段へのアクセス制限を行うことを特徴とすることを特徴とする。
【発明の効果】
【００１２】
この発明によれば、専用のプログラミングツールを使用することなく容易に持ち運び可能な記憶媒体と制御装置の間でユーザファイルを転送することができるという効果を有する。また、１つの制御装置に持ち運び可能な記憶媒体用のインタフェースを設ければよいので、より安価な制御装置または制御システムを得ることができるという効果も有する。
【発明を実施するための最良の形態】
【００１３】
以下に添付図面を参照して、この発明にかかる制御システムの好適な実施の形態を詳細に説明する。なお、以下の実施の形態では、制御装置としてプログラマブルコントローラを例に挙げて説明するが、これらの実施の形態によりこの発明が限定されるものではない。
【００１４】
実施の形態１．
図１は、この発明にかかる制御システムの概観を模式的に示す図であり、図２は、制御システムの実施の形態１の構成を模式的に示すブロック図である。この制御システムは、ベースユニット１０に複数のプログラマブルコントローラ２０，４０ａ，４０ｂが装着されている。以下に説明する実施の形態では、ベースユニット１０上の最も左側に位置するスロットに装着されるユニット（プログラマブルコントローラ）をマスタプログラマブルコントローラ２０とし、他のスロットに装着されるユニット（プログラマブルコントローラ）をスレーブプログラマブルコントローラ４０（４０ａ，４０ｂ）とする。また、ここでは、マスタプログラマブルコントローラ２０にのみメモリカード装着スロット３１が備えられており、メモリカード３０を着脱することが可能な構成となっている。なお、ベースユニット１０上に取り付けられるプログラマブルコントローラのうち、どのプログラマブルコントローラをマスタプログラマブルコントローラ２０とするかについては、他の方法で定めるようにしてもよい。たとえば、ベースユニット１０が複数のスロットを有し、スロットに複数のプログラマブルコントローラが装着されている場合には、一番左側に装着されているものほど優先順位を高く設定し、この優先順位が最も高いものをマスタプログラマブルコントローラとするようにしてもよい。
【００１５】
図２に示されるように、ベースユニット１０にはデータバス１１が設けられており、データバス１１を介してそれぞれのプログラマブルコントローラ２０，４０間でユーザデータやユーザプログラム（以下、ユーザデータまたはユーザプログラムを含むものをユーザファイルという）を送受信することができる。マスタプログラマブルコントローラ２０は、マスタプログラマブルコントローラ２０内の処理を制御するＭＰＵ（Micro  Processing  Unit）２１と、マスタプログラマブルコントローラ２０内における基本的な処理を実行するシステムプログラムを格納するシステムプログラムＲＯＭ（Read-Only  Memory）２２と、システムプログラムが使用するメモリ領域であるシステムワークＲＡＭ２３と、データバス１１に接続されユーザファイルをフレーム化して所定の宛て先へと送信するとともに、自プログラマブルコントローラ宛のフレームの受信処理を行うデータバスインタフェース（図中、データバスＩ／Ｆと表記）２４と、自プログラマブルコントローラで動作するユーザプログラムを格納するユーザプログラムＲＡＭ（Random  Access  Memory）２５と、ユーザプログラムが使用するデータを格納するユーザデータＲＡＭ２６と、メモリカード３０にアクセスするメモリカードインタフェース（図中、メモリカードＩ／Ｆと表記）２７と、を備える。これらの各処理部間は、バス２８を介して接続されている。
【００１６】
なお、システムプログラムＲＯＭ２２には、メモリカード３０がメモリカード装着スロット３１に装着されたときに、メモリカード３０内のユーザファイルを、自身のマスタプログラマブルコントローラ２０、またはデータバス１１を介して所定の宛て先のスレーブプログラマブルコントローラ４０に送信する処理を実行するプログラムも含まれている。
【００１７】
ここで、請求の範囲における転送手段は、たとえばシステムプログラムＲＯＭ２２中のシステムプログラムを実行するＭＰＵ２１に相当し、同じくインタフェース手段は、たとえばメモリカードインタフェース２７に相当し、同じく内部記憶手段は、たとえばユーザプログラムＲＡＭ２５とユーザデータＲＡＭ２６に相当する。
【００１８】
また、スレーブプログラマブルコントローラ４０は、スレーブプログラマブルコントローラ４０内の処理を制御するＭＰＵ４１と、スレーブプログラマブルコントローラ４０内における基本的な処理を実行するシステムプログラムを格納するシステムプログラムＲＯＭ４２と、システムプログラムが使用するメモリ領域であるシステムワークＲＡＭ４３と、データバス１１に接続されユーザファイルをフレーム化して所定の宛て先へと送信するとともに、自プログラマブルコントローラ宛のフレームの受信処理を行うデータバスインタフェース４４と、自プログラマブルコントローラで動作するユーザプログラムを格納するユーザプログラムＲＡＭ４５と、ユーザプログラムが使用するデータを格納するユーザデータＲＡＭ４６と、を備える。これらの各処理部間は、バス４７を介して接続されている。
【００１９】
ここで、請求の範囲における内部記憶手段は、たとえばユーザプログラムＲＡＭ４５とユーザデータＲＡＭ４６に相当する。
【００２０】
なお、図２には、スレーブプログラマブルコントローラ４０が１つしか描かれていないが、実際には１台以上のスレーブプログラマブルコントローラ４０がデータバス１１に接続された構成となる。
【００２１】
図３〜図５は、メモリカードのデータ構造を模式的に示す図である。図３に示されるように、メモリカード３０内には、含まれるユーザファイル（ユーザプログラムやユーザデータ）を所定のプログラマブルコントローラに転送するための情報が記載される転送用パラメータ７０と、各プログラマブルコントローラ２０，４０ａ，４０ｂに転送させるユーザファイル７１ａ〜７１ｄ（ユーザプログラム７１ａ，７１ｃとユーザデータ７１ｂ，７１ｄ）と、が記憶される。ここでは、ユーザプログラム７１ａ，７１ｃとユーザデータ７１ｂ，７１ｄは、ファイルとして転送用パラメータ７０に続いて格納されている。
【００２２】
図４は、転送用パラメータの詳細を示す図である。この転送用パラメータ７０は、データの書き換えを行うファイルの数を示す転送情報数８０と、転送するファイルに関する詳細を示す転送情報８１ａ〜８１ｄと、を含む。この転送情報８１ａ〜８１ｄは、転送情報数８０と等しい数だけ用意される。この図４では、図３に４つのユーザファイル７１ａ〜７１ｄが用意されているので、それぞれのユーザファイル７１ａ〜７１ｄに対応した転送情報８１ａ〜８１ｄが用意されている。
【００２３】
図５は、転送情報の詳細を示す図である。この転送情報８１は、転送するユーザファイルのファイル名を示す転送ファイル情報９１と、ユーザファイルの転送対象となるプログラマブルコントローラ２０，４０を示す転送プログラマブルコントローラ情報９２と、転送先のプログラマブルコントローラ２０，４０内でのユーザファイルの転送先、より具体的にはユーザプログラムＲＡＭ２５，４５に転送するのか、ユーザデータＲＡＭ２６，４６に転送するのかを指定する転送メモリ情報９３と、を含む。この、メモリカード３０は、請求の範囲における持ち運び可能な記憶媒体に対応している。
【００２４】
図６は、メモリカードに図３のようにユーザファイルが記憶されている場合の転送用パラメータの一例を示す図である。この例では、マスタプログラマブルコントローラ２０用のユーザプログラム７１ａとユーザデータ７１ｂおよびスレーブプログラマブルコントローラ４０ａ用のユーザプログラム７１ｃとユーザデータ７１ｄとを転送するので、転送情報数８０は「４」となる。また、各ユーザファイル７１ａ〜７１ｄに対して、転送ファイル情報９１、転送プログラマブルコントローラ情報９２および転送メモリ情報９３からなる転送情報８１ａ〜８１ｄが書込まれている。たとえばユーザファイル７１ａの転送情報８１ａの場合には、転送ファイル情報９１として「マスタプログラマブルコントローラ２０用ユーザプログラム」が設定され、転送プログラマブルコントローラ情報９２として「マスタプログラマブルコントローラ２０」が設定され、転送メモリ情報９３として「ユーザプログラムＲＡＭ」が設定される。これは、「マスタプログラマブルコントローラ用ユーザプログラム」というファイル名のユーザファイルを、マスタプログラマブルコントローラ２０のユーザプログラムＲＡＭ２５に書込むことを意味している。
【００２５】
このようにメモリカード３０内に転送用パラメータ７０と転送するユーザファイル７１ａ〜７１ｄを記憶することで、転送用パラメータ７０に基づいてマスタプログラマブルコントローラ２０は、ユーザファイル７１ａ〜７１ｄを宛て先のプログラマブルコントローラ２０，４０のメモリ（ユーザプログラムＲＡＭ２５，４５やユーザデータＲＡＭ２６，４６）に書込むことが可能になる。また、図３〜図５に示されるように、各プログラマブルコントローラ２０，４０に転送するユーザプログラムやユーザデータを、ファイル名で指定するようにしているので、背景技術で述べたように、ユーザファイルを書込む領域やその大きさを指定する必要がないので、任意の大きさのファイルを転送することができる。
【００２６】
つぎに、このような制御システムにおける各プログラマブルコントローラのシステムプログラムの動作処理について、図７のフローチャートを参照しながら説明する。まず、制御システムが起動されると、各プログラマブルコントローラ２０，４０のＭＰＵ２１，４１はシステムプログラムＲＯＭ２２，４２に格納されているシステムプログラムを実行し、自身がマスタプログラマブルコントローラ２０かスレーブプログラマブルコントローラ４０かを判別するマスタ／スレーブ判別情報を取得し（ステップＳ１１）、自身がマスタプログラマブルコントローラ２０かを判別する（ステップＳ１２）。
【００２７】
判定の結果、マスタプログラマブルコントローラ２０である場合（ステップＳ１２でＹｅｓの場合）には、マスタプログラマブルコントローラ２０は、メモリカード装着スロット３１にメモリカード３０が装着されているか否かをメモリカードインタフェース２７を介して判定する（ステップＳ１３）。判定の結果、メモリカード３０が装着されている場合（ステップＳ１３でＹｅｓの場合）には、メモリカード３０内の転送用パラメータ７０を読出す処理を行い（ステップＳ１４）、転送用パラメータ７０がメモリカード３０内に存在するかを判定する（ステップＳ１５）。
【００２８】
転送用パラメータ７０が存在する場合（ステップＳ１５でＹｅｓの場合）には、その中から転送情報数８０を取得し（ステップＳ１６）、ついで転送用パラメータ７０中から１つの転送情報８１を取得する（ステップＳ１７）。なお、この転送用パラメータ７０は、システムワークＲＡＭ２３内に読出される。その後、転送情報８１にしたがってユーザファイル（ユーザプログラムやユーザデータ）をメモリカード３０からプログラマブルコントローラ２０，４０に転送する（ステップＳ１８）。以上のようにして、転送用パラメータ７０中の１つの転送情報８１にしたがったユーザファイルの転送処理が終了すると、ステップＳ１６で取得した転送情報数８０分のユーザファイルの転送が完了したかを判定する（ステップＳ１９）。転送情報数８０分のユーザファイルの転送が完了していない場合（ステップＳ１９でＮｏの場合）には、ステップＳ１７へと戻り、転送情報数８０分のユーザファイルの転送処理を実行する。
【００２９】
ここで、たとえばメモリカード３０にユーザファイルが記憶されている場合には、マスタプログラマブルコントローラ２０のＭＰＵ２１は、マスタプログラマブルコントローラ２０用のユーザプログラム７１ａ、そのユーザデータ７１ｂ、スレーブプログラマブルコントローラ４０ａ用のユーザプログラム７１ｃ、そのユーザデータ７１ｄとを順に転送する。なお、メモリカード３０が装着されるマスタプログラマブルコントローラ２０内のユーザプログラムＲＡＭ２５とユーザデータＲＡＭ２６に、それぞれユーザプログラムとユーザデータを書込む場合でも、この明細書では「転送」という言葉を使用する。
【００３０】
上述したステップＳ１８におけるユーザファイルの転送処理における図２に示されるブロック図での処理の流れの概略を説明する。マスタプログラマブルコントローラ２０のＭＰＵ２１は、自プログラマブルコントローラのユーザプログラムＲＡＭ２５またはユーザデータＲＡＭ２６にユーザプログラム７１ａまたはユーザデータ７１ｂを書込む場合には、そのユーザファイルをメモリカード３０から読込んで、転送用パラメータに含まれるその書込み場所にしたがってユーザプログラムＲＡＭ２５またはユーザデータＲＡＭ２６に書込む。
【００３１】
また、マスタプログラマブルコントローラ２０のＭＰＵ２１は、スレーブプログラマブルコントローラ４０ａのユーザプログラムＲＡＭ４５またはユーザデータＲＡＭ４６にユーザプログラム７１ｃまたはユーザデータ７１ｄを書込む場合には、そのユーザファイルをデータバスインタフェース２４に渡す。データバスインタフェース２４では、受け取ったユーザファイルをデータバス１１上で流すことができる大きさに分割し、宛て先を付したフレームにして、データバス１１上に流す。
【００３２】
一方、フレームの宛て先であるスレーブプログラマブルコントローラ４０ａのデータバスインタフェース４４は、データバス１１上を流れるデータ（フレーム）を監視し、自プログラマブルコントローラ宛のフレームを受信する。そして、データバスインタフェース４４は、受信したフレームの宛て先などを外してデータを取り出し、ＭＰＵ４１はそのデータを書込み先のユーザプログラムＲＡＭ４５またはユーザデータＲＡＭ４６に書込む処理を行う。
【００３３】
再び図７に戻って、転送情報数８０分のユーザファイルの転送が完了した場合（ステップＳ１９でＹｅｓの場合）、またはステップＳ１３でメモリカード３０がメモリカード装着スロット３１に装着されない場合（ステップＳ１３でＮｏの場合）、またはステップＳ１５で転送用パラメータ７０がない場合（ステップＳ１５でＮｏの場合）には、マスタプログラマブルコントローラ２０は、スレーブプログラマブルコントローラ４０ａに転送完了を通知する（ステップＳ２０）。その後、ＭＰＵ２１は、ユーザプログラムＲＡＭ２５に格納されているユーザプログラムを実行する（ステップＳ２４）。
【００３４】
一方、ステップＳ１２で、自プログラマブルコントローラがマスタプログラマブルコントローラ２０ではない場合（ステップＳ１２でＮｏの場合）には、スレーブプログラマブルコントローラ４０ａは、マスタプログラマブルコントローラ２０から転送されるユーザファイルを受信し（ステップＳ２１）、受信したユーザファイルをユーザプログラムＲＡＭ４５またはユーザデータＲＡＭ４６に書込む処理を行う（ステップＳ２２）。その後、マスタプログラマブルコントローラ２０からユーザファイルの転送完了の通知を受信したか否かを判定し（ステップＳ２３）、受信していない場合（ステップＳ２３でＮｏの場合）には待ち状態となる。その後、ユーザファイルの転送完了の通知を受信した場合（ステップＳ２３でＹｅｓの場合）には、スレーブプログラマブルコントローラ４０ａはユーザプログラムＲＡＭ４５に格納されているユーザプログラムを実行する（ステップＳ２４）。
【００３５】
この実施の形態１によれば、メモリカード３０を装着すれば、マスタプログラマブルコントローラ２０のＭＰＵ２１がシステムプログラムにしたがって、メモリカード３０に記憶されているユーザファイルを所定のプログラマブルコントローラ２０またはプログラマブルコントローラ４０に転送して、そのユーザプログラムＲＡＭ２５またはユーザプログラムＲＡＭ４５やユーザデータＲＡＭ２６またはユーザデータＲＡＭ４６などのメモリ上に書込むことができるので、専用のプログラミングツールを使用することなく容易に制御システム上のプログラマブルコントローラ２０，４０にユーザファイルを書込むことができるという効果を有する。たとえば、制御システムの使用者によるユーザファイルの書込みの操作もメモリカード３０をマスタプログラマブルコントローラ２０のメモリカード装着スロット３１に装着するだけでよい。また、メモリカード３０をメインプログラマブルコントローラ２０のメモリカード装着スロット３１に装着するだけで、自発的にプログラマブルコントローラ２０，４０のユーザプログラムの書換えを実行することが可能となり、ユーザプログラムの書換えに外部装置を必要とすることがなくなるという効果も有する。
【００３６】
さらに、データバス１１を介して他のスレーブプログラマブルコントローラ４０にユーザファイルを転送するので、すべてのプログラマブルコントローラ２０，４０にメモリカード装着スロット３１とメモリカードインタフェース２７を設ける必要がなく、１つのプログラマブルコントローラ（マスタプログラマブルコントローラ２０）にメモリカード装着スロット３１とメモリカードインタフェース２７を設ければよいので、より安価なプログラマブルコントローラ２０，４０または制御システムを得ることができるという効果も有する。また、各プログラマブルコントローラに書込むユーザファイルは、メモリカード３０中ではアドレスや領域で特定されるのではなく、ファイル名で特定するようにしたので、任意の大きさのファイルをメモリカード３０中に記憶させることができるとともに、メモリカード３０の記憶領域を有効に利用することができるという効果も有する。
【００３７】
実施の形態２．
実施の形態１では、メモリカードに記憶されたユーザファイルをプログラマブルコントローラに書込む場合を示したが、この実施の形態２では、各プログラマブルコントローラのユーザプログラムＲＡＭやユーザデータＲＡＭ内のデータを吸い上げることもできるようにした制御システムについて説明する。
【００３８】
図８は、メモリカード中の転送情報のデータ構造の一例を示す図である。この転送情報８１は、実施の形態１の転送情報において、ユーザファイルのメモリカード３０に対する転送方向を示す転送方向情報９４をさらに含むことを特徴とする。この転送方向情報９４には、たとえばメモリカード３０からユーザプログラムＲＡＭ２５，４５もしくはユーザデータＲＡＭ２６，４６への書込みであるのか、またはユーザプログラムＲＡＭ２５，４５もしくはユーザデータＲＡＭ２６，４６からメモリカードへの読込みであるのかを示す情報が書込まれる。なお、その他の情報は、実施の形態１の場合と同様であるので、その説明を省略する。また、制御システムとメモリカード３０の構成も実施の形態１の図１〜図４と同様であるので、以下の説明ではこれらの図を流用し、その詳細な説明を省略する。
【００３９】
つぎに、このような制御システムにおける各プログラマブルコントローラのシステムプログラムの動作処理について、図９のフローチャートを参照しながら説明する。まず、実施の形態１の図７で説明したステップＳ１１〜Ｓ１７と同じ処理を行って、マスタプログラマブルコントローラ２０のＭＰＵ２１は、装着されたメモリカード３０の転送用パラメータ７０から転送情報数８０と転送情報８１を取得する（ステップＳ５１〜Ｓ５７）。すなわち、システムプログラムを実行したプログラマブルコントローラは、自身がマスタであり、メモリカード装着スロット３１にメモリカード３０が装着されている場合に、メモリカード３０から転送用パラメータ７０を読出し、転送情報数８０と転送情報８１を取得する。
【００４０】
ついで、マスタプログラマブルコントローラ２０のＭＰＵ２１は、メモリカード３０の転送用パラメータ７０から転送方向情報９４を取得し（ステップＳ５８）、ユーザファイルのメモリカード３０への転送か否かを判定する（ステップＳ５９）。転送方向情報９４が書込み（ユーザファイルのメモリカード３０からプログラマブルコントローラ２０，４０への転送）である場合（ステップＳ５９でＮｏの場合）には、実施の形態１で説明したように、転送情報８１にしたがってユーザファイルをメモリカード３０からプログラマブルコントローラ２０，４０に転送する（ステップＳ６０）。一方、転送方向情報９４が読出し（ユーザファイルのプログラマブルコントローラ２０，４０からメモリカード３０への転送）である場合（ステップＳ５９でＹｅｓの場合）には、転送情報８１にしたがってプログラマブルコントローラ２０，４０のユーザプログラムＲＡＭ２５，４５またはユーザデータＲＡＭ２６，４６からユーザファイルを読出してメモリカード３０に転送する（ステップＳ６１）。以上のようにして、転送用パラメータ７０中の１つの転送情報８１にしたがったユーザファイルの転送処理が終了すると、ステップＳ５６で取得した転送情報数８０分のユーザファイルの転送が完了したかを判定する（ステップＳ６２）。転送情報数８０分のユーザファイルの転送が完了していない場合（ステップＳ６２でＮｏの場合）には、ステップＳ５７へと戻り、転送情報数８０分のユーザファイルの転送処理を実行する。
【００４１】
また、転送情報数８０分のユーザファイルの転送が完了した場合（ステップＳ６２でＹｅｓの場合）、またはステップＳ５３でメモリカード３０がメモリカード装着スロット３１に装着されない場合（ステップＳ５３でＮｏの場合）、またはステップＳ５５で転送用パラメータ７０がない場合（ステップＳ５５でＮｏの場合）には、マスタプログラマブルコントローラ２０は、スレーブプログラマブルコントローラ４０に転送完了を通知する（ステップＳ６３）。その後、ＭＰＵ２１はユーザプログラムＲＡＭ２５に格納されているユーザプログラムを実行する（ステップＳ６６）。
【００４２】
一方、ステップＳ５２で、自プログラマブルコントローラがマスタプログラマブルコントローラ２０ではない場合（ステップＳ５２でＮｏの場合）には、スレーブプログラマブルコントローラ４０は、マスタプログラマブルコントローラ２０に装着されたメモリカード３０内のユーザファイルの自プログラマブルコントローラのユーザプログラムＲＡＭ４５またはユーザデータＲＡＭ４６への書込み、または自プログラマブルコントローラのユーザプログラムＲＡＭ４５またはユーザデータＲＡＭ４６内からユーザファイルを読出してマスタプログラマブルコントローラ２０に装着されたメモリカード３０への書込む処理を行う（ステップＳ６４）。その後、マスタプログラマブルコントローラ２０からユーザファイルの転送完了通知を受信したか否かを判定し（ステップＳ６５）、受信しない場合（ステップＳ６５でＮｏの場合）には待ち状態となる。その後、ユーザファイルの転送完了通知を受信した場合（ステップＳ６５でＹｅｓの場合）には、スレーブプログラマブルコントローラ４０はユーザプログラムＲＡＭ４５に格納されているユーザプログラムを実行する（ステップＳ６６）。
【００４３】
なお、この実施の形態２では、メモリカード３０から各プログラマブルコントローラ２０，４０へのユーザファイルの書込みと、各プログラマブルコントローラ２０，４０からメモリカード３０へのユーザファイルの書込みの両方の機能を制御システムについて説明したが、各プログラマブルコントローラ２０，４０からメモリカード３０へのユーザファイルの書込みの機能のみを備えるように構成した制御システムを構築してもよい。
【００４４】
この実施の形態２によれば、実施の形態１の効果に加えて、制御システムを構成する各プログラマブルコントローラ２０，４０の有するユーザファイルを、プログラミングツールを制御システムに接続することなく、容易にマスタプログラマブルコントローラ２０に装着されたメモリカード３０へと読出すこともできるという効果を有する。
【００４５】
実施の形態３．
この実施の形態３では、実施の形態１，２で、メモリカードやプログラマブルコントローラ内のデータを不正に読出したり、書換えたりしないようにパスワードを設定して保護する場合について説明する。
【００４６】
図１０は、制御システムの実施の形態３の構成を模式的に示すブロック図である。この制御システムは、実施の形態１の図２のマスタプログラマブルコントローラ２０において、メモリカード３０が装着された場合に、メモリカード３０を用いた処理の実行の許可を判定するために予め設定されたパスワードを保存するシステムワークＲＯＭ２９をさらに備えることを特徴とする。また、システムプログラムＲＯＭ２２には、メモリカード３０が装着された場合に、メモリカード３０に格納されているパスワード情報と、システムワークＲＯＭ２９に格納されているパスワード情報とを比較して、両者のパスワードの有無や一致状況に応じて、実行できる処理を規定したプログラムが格納されている。なお、実施の形態１の図２と同一の構成には同一の符号を付して、その説明を省略している。また、このシステムワークＲＯＭ２９は、請求の範囲におけるパスワード情報記憶手段に対応し、システムワークＲＯＭ２９に格納されるパスワード情報は、同じく第２のパスワード情報に対応し、メモリカード３０に格納されるパスワード情報は、同じく第１のパスワード情報に対応している。
【００４７】
図１１は、このシステムワークＲＯＭに格納されるパスワード情報の一例を模式的に示す図である。この図に示されるように、システムワークＲＯＭ２９には、外部から特定の権限を有するユーザのみがアクセス可能なパスワード情報１０１が格納されている。このパスワード情報１０１は、たとえば、マスタプログラマブルコントローラ２０ごとに作成されたもの（たとえば、マスタプログラマブルコントローラ２０を識別する情報）でもよいし、マスタプログラマブルコントローラ２０の使用者または管理者を識別する情報でもよい。
【００４８】
図１２は、メモリカードのデータ構造を模式的に示す図である。この図１２に示されるように、メモリカード３０のデータ構造は、実施の形態１の図３において、パスワード情報１０１を有するマスタプログラマブルコントローラ２０を使用可能か否かを判定するためのパスワード情報７２がさらに付加されたデータ構造を有する。なお、実施の形態１の図３と同一の構成要素には同一の符号を付して、その説明を省略している。
【００４９】
ここで、マスタプログラマブルコントローラ２０またはメモリカード３０のうち、いずれかにのみパスワード情報１０１，７２が設定されている場合には、パスワード情報１０１，７２が設定されている方のデータの読出処理や書換処理を行うことができない。また、両者にパスワード情報１０１，７２が設定されているが、両者が一致しない場合には、そこで処理が終了する。さらに、マスタプログラマブルコントローラ２０とメモリカード３０の両方にパスワード情報１０１，７２が設定されており、両者が一致する場合、または両者にパスワード情報１０１，７２が設定されていない場合には、何の制限も受けずに実施の形態１，２で説明した処理を行うことができる。
【００５０】
ここで、このような構成を有する制御システムにおけるパスワード照合処理について、説明する。以下では、（１）メモリカードからプログラマブルコントローラへユーザファイルを転送する場合、（２）プログラマブルコントローラからメモリカードへユーザファイルを転送する場合、に分けて説明する。
【００５１】
（１）メモリカードからプログラマブルコントローラへユーザファイルを転送する場合
図１３は、メモリカードからプログラマブルコントローラへユーザファイルを転送する場合のパスワード照合処理の手順を示すフローチャートである。なお、このパスワード照合処理は、実施の形態１の図７のシステムプログラムの処理におけるステップＳ１３とステップＳ１４との間、または実施の形態２の図９のシステムプログラムの処理におけるステップＳ５３とステップＳ５４との間に実行されるものである。
【００５２】
まず、実施の形態１の図７のステップＳ１３または実施の形態２の図７のステップＳ５３でマスタプログラマブルコントローラ２０のメモリカード装着スロット３１にメモリカード３０が装着されている場合に、マスタプログラマブルコントローラ２０のＭＰＵ２１は、自プログラマブルコントローラ内のシステムワークＲＯＭ２９にパスワード情報１０１が登録されているかを調べる（ステップＳ１０１）。システムワークＲＯＭ２９にパスワード情報１０１が登録されている場合（ステップＳ１０１でＹｅｓの場合）には、装着されたメモリカード３０内のパスワード情報を読出す処理を行い（ステップＳ１０２）、パスワード情報７２があるかを確認する（ステップＳ１０３）。パスワード情報７２がある場合（ステップＳ１０３でＹｅｓの場合）には、マスタプログラマブルコントローラ２０のシステムワークＲＯＭ２９内のパスワード情報１０１と、読出したメモリカード３０内のパスワード情報７２とを照合する（ステップＳ１０４）。照合の結果、両者が一致する場合（ステップＳ１０５でＹｅｓの場合）には、実施の形態１の図７のステップＳ１４または実施の形態２の図７のステップＳ５４のメモリカード３０内の転送用パラメータ７０の読出し処理以降のシステムプログラムの処理を続行し（ステップＳ１０６）、パスワード照合処理が終了する。
【００５３】
また、ステップＳ１０５で２つのパスワード情報が一致しない場合（ステップＳ１０５でＮｏの場合）には、マスタプログラマブルコントローラ２０内のパスワード情報１０１とメモリカード３０内のパスワード情報７２とが一致しないとして、それぞれの場合についてパスワード照合不一致異常を検出し（ステップＳ１０７）、システムプログラムの処理を終了させ（ステップＳ１０８）、実施の形態１の図７または実施の形態２の図９の処理が終了する。
【００５４】
さらに、ステップＳ１０３でメモリカード３０内にパスワード情報７２が存在しない場合（ステップＳ１０３でＮｏの場合）には、マスタプログラマブルコントローラ２０内にのみパスワード情報１０１が存在することになるので、プログラマブルコントローラ２０，４０内のデータ書換え禁止の条件下で、実施の形態１の図７のステップＳ１４または実施の形態２の図７のステップＳ５４のメモリカード３０内の転送用パラメータ７０の読出し処理以降のシステムプログラムの処理を続行し（ステップＳ１０９）、パスワード照合処理が終了する。
【００５５】
また、ステップＳ１０１でマスタプログラマブルコントローラ２０のシステムワークＲＯＭ２９内にパスワード情報１０１が登録されていない場合（ステップＳ１０１でＮｏの場合）には、ＭＰＵ２１は、装着されたメモリカード３０内のパスワード情報７２を読出す処理を行い（ステップＳ１１０）、パスワード情報７２があるかを確認する（ステップＳ１１１）。パスワード情報７２がない場合（ステップＳ１１１でＮｏの場合）には、マスタプログラマブルコントローラ２０内とメモリカード３０内の双方にパスワードが設定されていないことになるので、両者が照合するとして、ステップＳ１０６へと処理が移り、上述したようにシステムプログラムの処理を続行する。
【００５６】
また、ステップＳ１１１で装着されたメモリカード３０内にパスワード情報７２がある場合（ステップＳ１１１でＹｅｓの場合）には、マスタプログラマブルコントローラ２０内にはパスワード情報１０１が存在せず、メモリカード３０内にはパスワード情報７２が存在することになり、メモリカード３０内のデータ読出し禁止の条件下で、実施の形態１の図７のステップＳ１４または実施の形態２の図７のステップＳ５４のメモリカード３０内の転送用パラメータ７０の読出し処理以降のシステムプログラムの処理を続行し（ステップＳ１１２）、パスワード照合処理が終了する。
【００５７】
（２）プログラマブルコントローラからメモリカードへユーザファイルを転送する場合
図１４は、プログラマブルコントローラからメモリカードへユーザファイルを転送する場合のパスワード照合処理の手順を示すフローチャートである。なお、このパスワード照合処理は、実施の形態１の図７のシステムプログラムの処理におけるステップＳ１３とステップＳ１４との間、または実施の形態２の図９のシステムプログラムの処理におけるステップＳ５３とステップＳ５４との間に実行されるものである。
【００５８】
まず、実施の形態１の図７のステップＳ１３または実施の形態２の図７のステップＳ５３でマスタプログラマブルコントローラ２０のメモリカード装着スロット３１にメモリカード３０が装着されている場合に、マスタプログラマブルコントローラ２０のＭＰＵ２１は、自プログラマブルコントローラ内のシステムワークＲＯＭ２９にパスワード情報１０１が登録されているかを調べる（ステップＳ１５１）。システムワークＲＯＭ２９にパスワード情報１０１が登録されている場合（ステップＳ１５１でＹｅｓの場合）には、装着されたメモリカード３０内のパスワード情報を読出す処理を行い（ステップＳ１５２）、パスワード情報７２があるかを確認する（ステップＳ１５３）。パスワード情報７２がある場合（ステップＳ１５３でＹｅｓの場合）には、マスタプログラマブルコントローラ２０のシステムワークＲＯＭ２９内のパスワード情報１０１と、読出したメモリカード３０内のパスワード情報７２とを照合する（ステップＳ１５４）。照合の結果、両者が一致する場合（ステップＳ１５５でＹｅｓの場合）には、実施の形態１の図７のステップＳ１４または実施の形態２の図７のステップＳ５４のメモリカード３０内の転送用パラメータ７０の読出し処理以降のシステムプログラムの処理を続行し（ステップＳ１５６）、パスワード照合処理が終了する。
【００５９】
また、ステップＳ１５５で２つのパスワード情報が一致しない場合（ステップＳ１５５でＮｏの場合）には、マスタプログラマブルコントローラ２０内のパスワード情報１０１とメモリカード３０内のパスワード情報７２とが一致しないとして、それぞれの場合についてパスワード照合不一致異常を検出し（ステップＳ１５７）、システムプログラムの処理を終了させ（ステップＳ１５８）、実施の形態１の図７または実施の形態２の図９の処理が終了する。
【００６０】
さらに、ステップＳ１５３でメモリカード３０内にパスワード情報７２が存在しない場合（ステップＳ１５３でＮｏの場合）には、マスタプログラマブルコントローラ２０内にのみパスワード情報１０１が存在することになるので、プログラマブルコントローラ２０，４０内のデータ読出し禁止の条件下で、実施の形態１の図７のステップＳ１４または実施の形態２の図７のステップＳ５４のメモリカード３０内の転送用パラメータ７０の読出し処理以降のシステムプログラムの処理を続行し（ステップＳ１５９）、パスワード照合処理が終了する。
【００６１】
また、ステップＳ１５１でマスタプログラマブルコントローラ２０のシステムワークＲＯＭ２９内にパスワード情報１０１が登録されていない場合（ステップＳ１５１でＮｏの場合）には、ＭＰＵ２１は、装着されたメモリカード３０内のパスワード情報７２を読出す処理を行い（ステップＳ１６０）、パスワード情報７２があるかを確認する（ステップＳ１６１）。パスワード情報７２がない場合（ステップＳ１６１でＮｏの場合）には、マスタプログラマブルコントローラ２０内とメモリカード３０内の双方にパスワードが設定されていないことになるので、両者が照合するとして、ステップＳ１５６へと処理が移り、上述したようにシステムプログラムの処理を続行する。
【００６２】
また、ステップＳ１６１で装着されたメモリカード３０内にパスワード情報７２がある場合（ステップＳ１６１でＹｅｓの場合）には、マスタプログラマブルコントローラ２０内にはパスワード情報１０１が存在せず、メモリカード３０内にはパスワード情報７２が存在することになり、メモリカード３０内のデータ書換え禁止の条件下で、実施の形態１の図７のステップＳ１４または実施の形態２の図７のステップＳ５４のメモリカード３０内の転送用パラメータ７０の読出し処理以降のシステムプログラムの処理を続行し（ステップＳ１６２）、パスワード照合処理が終了する。
【００６３】
この実施の形態３によれば、メモリカード３０を用いてプログラマブルコントローラ２０，４０のユーザプログラムＲＡＭ２５，４５やユーザデータＲＡＭ２６，４６にアクセスする際に、メモリカード３０とマスタプログラマブルコントローラ２０にパスワード情報を設定して、両者が一致する場合にのみアクセス可能としたので、プログラマブルコントローラ２０，４０内のユーザファイルの不正な書込みや読出しを防止し、安全な制御システムを構築することができるという効果を有する。
【００６４】
また、上述した説明では、制御装置としてプログラマブルコントローラを例に挙げて説明してきたが、プログラマブルコントローラのほかに、ＮＣやＭＣ、ＲＣ、操作端末である表示器などのベースユニット１０上に装着される産業用コントローラであれば、この発明を適用することができる。
【００６５】
なお、上述した実施の形態１〜３では、マスタプログラマブルコントローラ２０にメモリカード装着スロット３１を備え、メモリカード３０を用いてメモリカード３０からデータファイルの書込みまたはメモリカード３０へのデータファイルの読出しを行っているが、持ち運び可能な記憶媒体であれば、メモリカード３０に限定されるものではない。たとえば、メモリカード３０の代わりにＲＦＩＤ（Radio  Frequency  Identification）タグを用いてもよい。この場合には、メモリカードインタフェース２７がＲＦＩＤインタフェースに代わり、ＲＦＩＤタグとの間で所定の無線通信方式で通信を行って、データの読込み／書込みを行う。また、ＵＳＢ（Universal  Serial  Bus）メモリなどを用いてもよい。
【産業上の利用可能性】
【００６６】
以上のように、本発明にかかる制御システムは、それぞれ独立したユーザプログラムを実行する制御装置がバスを介して複数接続された制御システムでのユーザプログラムとユーザデータの読出／書込処理に有用である。
【図面の簡単な説明】
【００６７】
【図１】図１は、この発明による制御システムの概観を模式的に示す図である。
【図２】図２は、この発明による制御システムの実施の形態１の構成を模式的に示すブロック図である。
【図３】図３は、メモリカードのデータ構造を模式的に示す図である。
【図４】図４は、メモリカードのデータ構造を模式的に示す図である。
【図５】図５は、メモリカードのデータ構造を模式的に示す図である。
【図６】図６は、転送用パラメータの一例を示す図である。
【図７】図７は、プログラマブルコントローラのシステムプログラムの動作処理の手順の一例を示すフローチャートである。
【図８】図８は、転送情報のデータ構造の一例を示す図である。
【図９】図９は、プログラマブルコントローラのシステムプログラムの動作処理の手順の一例を示すフローチャートである。
【図１０】図１０は、この発明による制御システムの実施の形態３の構成を模式的に示すブロック図である。
【図１１】図１１は、システムワークＲＯＭに格納されるパスワード情報の一例を模式的に示す図である。
【図１２】図１２は、メモリカードのデータ構造を模式的に示す図である。
【図１３】図１３は、メモリカードからプログラマブルコントローラへユーザファイルを転送する場合のパスワード照合処理の手順を示すフローチャートである。
【図１４】図１４は、プログラマブルコントローラからメモリカードへユーザファイルを転送する場合のパスワード照合処理の手順を示すフローチャートである。
【符号の説明】
【００６８】
１０  ベースユニット
１１  データバス
２０  マスタプログラマブルコントローラ
２１，４１  ＭＰＵ
２２，４２  システムプログラムＲＯＭ
２３，４３  システムワークＲＡＭ
２４，４４  データバスインタフェース
２５，４５  ユーザプログラムＲＡＭ
２６，４６  ユーザデータＲＡＭ
２７  メモリカードインタフェース
２８，４７  バス
２９  システムワークＲＯＭ
３０  メモリカード
３１  メモリカード装着スロット
４０，４０ａ，４０ｂ  スレーブプログラマブルコントローラ
【図１】
0004759048.tif 000002
【図２】
0004759048.tif 000003
【図３】
0004759048.tif 000004
【図４】
0004759048.tif 000005
【図５】
0004759048.tif 000006
【図６】
0004759048.tif 000007
【図７】
0004759048.tif 000008
【図８】
0004759048.tif 000009
【図９】
0004759048.tif 000010
【図１０】
0004759048.tif 000011
【図１１】
0004759048.tif 000012
【図１２】
0004759048.tif 000013
【図１３】
0004759048.tif 000014
【図１４】
0004759048.tif 000015