(57)【要約】【課題】新バージョンのＰＬＣであっても、旧バージョンのユーザプログラム等を用いて実質的に旧バージョンのＰＬＣとして動作するような場合には、既存の旧バージョンのサポートツールと接続可能にすること【解決手段】ＰＬＣ２０と、そのＰＬＣに接続されたサポートツール１０とを備えたシステムであり、ＰＬＣ（ＣＰＵユニット２２）には、格納されたユーザプログラムの機能性を示すアプリバージョン情報を記憶保持させる。サポートツールは、少なくともＰＬＣに記憶保持されたアプリバージョン情報を取得し、取得したアプリバージョン情報に基づいて、ＰＬＣが自己が対応できるか否かを判断するようにした。これにより、新バージョンのＰＬＣであっても、格納されたユーザプログラムが旧バージョンに対応したものの場合、旧バージョンのサポートツールにて、その新バージョンのＰＬＣと接続が保証される。【選択図】        図４
2005038063.tif 000002
【特許請求の範囲】
【請求項１】
プログラマブルコントローラと、そのプログラマブルコントローラに接続されたサポートツールとを備えたシステムにおいて、
前記プログラマブルコントローラには、格納されたユーザプログラムの機能性を示すアプリバージョン情報を記憶保持し、
前記サポートツールは、前記プログラマブルコントローラに記憶保持されたアプリバージョン情報を取得する機能と、その取得したアプリバージョン情報に基づいて、前記プログラマブルコントローラが自己が対応できるバージョンか否かを判断する機能を備えたことを特徴とするプログラマブルコントローラシステム。
【請求項２】
プログラマブルコントローラと、そのプログラマブルコントローラに接続されたサポートツールとを備えたシステムにおいて、
前記プログラマブルコントローラには、格納されたユーザプログラムの機能性を示すアプリバージョン情報と、機器自体の機能性を示すユニットバージョン情報を記憶保持し、
前記サポートツールは、
ユーザプログラムとともにそのユーザプログラムの機能性を示すアプリバージョン情報を記憶する記憶手段と、
前記プログラマブルコントローラに記憶保持されたアプリバージョン情報を取得する機能と、
前記プログラマブルコントローラに記憶保持されたユニットバージョン情報を取得する機能と、
その取得したアプリバージョン情報とユニットバージョン情報の少なくとも一方の情報と、自己が記憶保持する前記アプリバージョン情報に基づいて、前記プログラマブルコントローラが自己が対応できるバージョンか否かを判断する機能を備えたことを特徴とするプログラマブルコントローラシステム。
【請求項３】
前記プログラマブルコントローラに記憶保持される前記アプリバージョン情報は、そのプログラマブルコントローラにユーザプログラムが格納されていない場合には、未格納状態を示す値が格納されることを特徴とする請求項１または２に記載のプログラマブルコントローラシステム。
【請求項４】
前記アプリバージョン情報並びに前記ユニットバージョン情報は、数値データで構成されていることを特徴とする請求項１〜３のいずれか１項に記載のプログラマブルコントローラシステム。
【請求項５】
格納されたユーザプログラムの機能性を示すアプリバージョン情報を記憶保持したプログラマブルコントローラ用のサポートツールであって、
前記プログラマブルコントローラに記憶保持されたアプリバージョン情報を取得する機能と、
その取得したアプリバージョン情報に基づいて、前記プログラマブルコントローラが自己が対応できるバージョンか否かを判断する機能を備えたことを特徴とするサポートツール。
【請求項６】
格納されたユーザプログラムの機能性を示すアプリバージョン情報と、機器自体の機能性を示すユニットバージョン情報を記憶保持したプログラマブルコントローラ用のサポートツールであって、
ユーザプログラムとともにそのユーザプログラムの機能性を示すアプリバージョン情報を記憶する記憶部と、
前記プログラマブルコントローラに記憶保持されたアプリバージョン情報を取得する機能と、
前記プログラマブルコントローラに記憶保持されたユニットバージョン情報を取得する機能と、
その取得したアプリバージョン情報とユニットバージョン情報の少なくとも一方の情報と、前記記憶部に格納された前記アプリバージョン情報に基づいて、前記プログラマブルコントローラが自己が対応できるバージョンか否かを判断する機能を備えたことを特徴とするサポートツール。
【請求項７】
機器の機能性を示すユニットバージョン情報が設定されたプログラマブルコントローラ用のユニットであって、
格納されたユーザプログラムの機能性を示すアプリバージョン情報を記憶保持する記憶手段と、
サポートツールからの読出要求に対するレスポンスとして、前記アプリバージョン情報を返送する機能を備えたことを特徴とするプログラマブルコントローラ用ユニット。
【請求項８】
ユーザプログラムが格納されていない場合には、前記記憶手段に格納するアプリバージョン情報として、未格納状態を示す値が格納されることを特徴とする請求項７に記載のプログラマブルコントローラ用ユニット。
【請求項９】
プログラマブルコントローラに対するサポートツールの接続保証方法であって、
前記プログラマブルコントローラには、格納されたユーザプログラムの機能性を示すアプリバージョン情報を記憶保持させ、
前記サポートツールは、前記プログラマブルコントローラに記憶保持されたアプリバージョン情報を取得し、
その取得したアプリバージョン情報に基づいて、前記プログラマブルコントローラが自己が対応できるバージョンか否かを判断し、
その判断した結果が、対応可能な場合のみ接続を許可して通信を続行することを特徴とする接続保証方法。
【請求項１０】
プログラマブルコントローラに対するサポートツールの接続保証方法であって、
前記プログラマブルコントローラには、格納されたユーザプログラムの機能性を示すアプリバージョン情報と、機器自体の機能性を示すユニットバージョン情報を記憶保持させ、
前記サポートツールは、ユーザプログラムとともにそのユーザプログラムの機能性を示すアプリバージョン情報を記憶保持し、
前記サポートツールは、少なくとも前記プログラマブルコントローラに記憶保持されたユニットバージョン情報を取得し、
その取得したユニットバージョン情報で示す機能性の範囲より、自己が記憶保持する前記アプリバージョン情報で示す機能性の範囲が大きい場合には、接続許可を与えず、
自己が記憶保持する前記アプリバージョン情報で示す機能性の範囲が、前記取得したユニットバージョン情報で示す機能性の範囲以下で、前記プログラマブルコントローラが記憶保持する前記アプリバージョン情報と、自己が記憶保持する前記アプリバージョン情報が一致する場合には、接続を許可することを特徴とする接続保証方法。
【請求項１１】
自己が記憶保持する前記アプリバージョン情報で示す機能性の範囲が、前記取得したユニットバージョン情報で示す機能性の範囲以下で、前記プログラマブルコントローラが記憶保持する前記アプリバージョン情報一致しない場合には、前記プログラマブルコントローラに記憶保持されたアプリバージョン情報が変更されることの許可を受けることを条件に接続を許可することを特徴とする請求項１０に記載の接続保証方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、プログラマブルコントローラシステムおよびサポートツールならびにプログラマブルコントローラ用ユニットおよび接続保証方法に関するものである。
【０００２】
【従来の技術】
生産工場（製造現場）に設置されるＦＡ（ファクトリーオートメーション）システムの制御をつかさどるＰＬＣ（プログラマブルロジックコントローラ）は、入力ユニットで入力した信号をＣＰＵユニットのＩ／Ｏメモリに取り込み（ＩＮリフレッシュ）、予め登録されたラダー言語で組まれたユーザプログラムに基づき論理演算をし（演算実行）、その演算実行結果をＩ／Ｏメモリに書き込んで出力ユニットに送り出し（ＯＵＴリフレッシュ）、その後、いわゆる周辺サービス処理を行うことをサイクリックに繰り返し処理するようになる。
【０００３】
そして、係るユーザプログラムは、ＰＬＣに接続されたサポートツールを介してダウンロードされ、ＰＬＣ（ＣＰＵユニット）のユーザメモリに格納される。また、ＰＬＣに格納されているユーザプログラムを修正等する場合には、サポートツールをＰＬＣに接続するとともに、ＰＬＣに格納されているユーザプログラムをアップロードし、必要な修正をした後、修正後の新ユーザプログラムをＰＬＣに再度ダウンロードすることが行われる。なお、サポートツールは、パーソナルコンピュータ或いは専用の周辺機器などにより実現される。
【０００４】
ところで、ＰＬＣは、生産方式の高度化，多様化並び技術の進歩に伴って新規の機能が付加された新機種の開発や仕様の改善、さらには、搭載ソフトウエアの機能強化などの各種のバージョンアップがされる。このバージョンアップは、処理速度の向上，機能追加などが行われるが、基本的に従来機種との互換性を持ち、旧バージョンのＰＬＣの機能は新バージョンのＰＬＣに継承される。したがって、旧バージョンのＰＬＣで使用していたユーザプログラムは、そのまま新バージョンのＰＬＣに実装することが可能となる。
【０００５】
また、サポートツールは各ＰＬＣに対応するもので、ＰＬＣがバージョンアップされると、それに合わせてサポートツールもバージョンアップされる。すなわち、新バージョンのＰＬＣにおいて機能拡張された場合、旧バージョンのサポートツールでは拡張された機能に対応できず、その拡張された機能をサポートするためには、それに対応したサポートツールが必要となる。もちろん、サポートツールも従来のサポートツールの機能を継承するように設計されるので、バージョンアップされたサポートツールは、旧バージョンのＰＬＣに接続し、ユーザプログラムのダウンロードや作成・修正等が行えるようになっている。
【０００６】
このように、新バージョンのサポートツールは、新旧いずれのバージョンのＰＬＣとの接続性を保証し、旧バージョンのサポートツールは旧バージョンのＰＬＣとの接続のみ保証する。そして、旧バージョンのサポートツールが新バージョンのＰＬＣに接続して所定のサポート処理（ユーザプログラムの追加・更新等）をすることがないように、サポートツールをＰＬＣに接続した際に、両者間の通信でＰＬＣの機種情報をサポートツールが読み出し、サポートツールは自己が保有する対応可能なＰＬＣ機種情報と照合し接続保証できるか否かを判断するようにしている。つまり、ＰＬＣとサポートツールをシリアル通信などの通信回線を介して接続し、ＰＬＣに対してＰＬＣ機種情報を取得する通信コマンドをサポートツールからＰＬＣに発行し、その通信コマンドを受けたＰＬＣは自己のＰＬＣ機種情報をレスポンスとして返信する。サポートツールは、自己が接続可能なＰＬＣ機種情報の一覧を記憶保持しているため、そのレスポンスを受けたサポートツールは、記憶保持した上記一覧のデータとレスポンスとして取得した現在接続しているＰＬＣのＰＬＣ機種情報との照合を図り、接続可能か否かの判断をする。なお、係る機種確認についての技術としては例えば特許文献１に開示されている。
【０００７】
【特許文献１】
特開平１０−９７３１０号公報
【０００８】
【発明が解決しようとする課題】
ところで、新バージョンのＰＬＣは旧バージョンのＰＬＣの機能を継承することから、例えば旧バージョンのユーザプログラムが実装された状態で動作される場合もある。このように、ハード的には新バージョンのＰＬＣであるが実質的に旧バージョンのＰＬＣとして動作している場合であっても、従来の機種情報の確認では、旧バージョンのサポートツールには、新バージョンのＰＬＣのＰＬＣ機種情報が保持していないので接続できなかった。
【０００９】
そのため、ユーザは、このように機能拡張が行われた新バージョンのＰＬＣを使う場合、実装されたユーザプログラムのバージョンの如何にかかわらず、そのＰＬＣに対応した新バージョンのサポートツールを使用しなければならなかった。つまり、新バージョンのＰＬＣを購入・設置する場合には、それとセットでそれに対応した新バージョンのサポートツールを購入するか、サポートツールのバージョンアップを行う必要があった。
【００１０】
しかしながら、ＰＬＣがバージョンアップされたとしても、拡張機能を使う必要はなく、旧バージョンのサポートツールで作成された旧バージョンのユーザプログラムでの運用でできれば十分であるとするユーザも少なくない。このようなユーザにとっては、新バージョンのサポートツールは、自己が使用しない機能をサポートするものであり、そのサポートツールに追加された機能はそのユーザにとって不要なものであることから、当該サポートツールを購入したり、サポートツールのバージョンアップをすることは、無駄なコストと手間がかかることになり、抵抗感を有することが多々ある。
【００１１】
一方、ＰＬＣメーカにとっては、上記した事情に鑑み、新バージョンのＰＬＣを開発した場合でも、旧バージョンのサポートツールで作成された旧バージョンのユーザプログラムで運用できれば十分であるとするユーザのために旧バージョンのＰＬＣも依然として製造・販売するようにしていた。しかし、このように新旧のバージョンのＰＬＣを製造することは、大量生産によるコスト削減効果が期待できず、結果として新バージョン，旧バージョンのいずれのＰＬＣもコスト高となってしまう。
【００１２】
この発明は、新バージョンのＰＬＣであっても、旧バージョンのユーザプログラム等を用いて実質的に旧バージョンのＰＬＣとして動作するような場合には、既存の旧バージョンのサポートツールと接続可能にすることができるプログラマブルコントローラシステムおよびサポートツールならびにプログラマブルコントローラ用ユニットおよび接続保証方法を提供することを目的とする。
【００１３】
【課題を解決するための手段】
この発明によるプログラマブルコントローラシステムでは、プログラマブルコントローラと、そのプログラマブルコントローラに接続されたサポートツールとを備えたシステムにおいて、前記プログラマブルコントローラには、格納されたユーザプログラムの機能性を示すアプリバージョン情報を記憶保持し、前記サポートツールは、前記プログラマブルコントローラに記憶保持されたアプリバージョン情報を取得する機能と、その取得したアプリバージョン情報に基づいて、前記プログラマブルコントローラが自己が対応できるバージョンか否かを判断する機能を備えて構成した。ここで、「自己が対応できる」とは、サポートツールがプグラマブルコントローラに格納されるユーザプログラムに対するサポート処理（作成，追加，修正等）ができることを意味する（以下同じ）。
【００１４】
また、別の解決手段としては、プログラマブルコントローラと、そのプログラマブルコントローラに接続されたサポートツールとを備えたシステムにおいて、前記プログラマブルコントローラには、格納されたユーザプログラムの機能性を示すアプリバージョン情報と、機器自体の機能性を示すユニットバージョン情報を記憶保持させる。そして、前記サポートツールは、ユーザプログラムとともにそのユーザプログラムの機能性を示すアプリバージョン情報を記憶する記憶手段と、前記プログラマブルコントローラに記憶保持されたアプリバージョン情報を取得する機能と、前記プログラマブルコントローラに記憶保持されたユニットバージョン情報を取得する機能と、その取得したアプリバージョン情報とユニットバージョン情報の少なくとも一方の情報と、自己が記憶保持する前記アプリバージョン情報に基づいて、前記プログラマブルコントローラが自己が対応できるバージョンか否かを判断する機能を備えるようにすることもできる。
【００１５】
そして、上記した各発明を前提とし、前記プログラマブルコントローラに記憶保持される前記アプリバージョン情報は、そのプログラマブルコントローラにユーザプログラムが格納されていない場合には、未格納状態を示す値が格納されるようにするとよい。ここで未格納状態は、実施の形態では初期化状態に対応する。
【００１６】
さらに、前記アプリバージョン情報並びに前記ユニットバージョン情報は、数値データで構成されてるようにすると良い。このようにすると、バージョンの新旧を容易に判定できる。
【００１７】
また、本発明に係るサポートツールは、格納されたユーザプログラムの機能性を示すアプリバージョン情報を記憶保持したプログラマブルコントローラ用のサポートツールであって、前記プログラマブルコントローラに記憶保持されたアプリバージョン情報を取得する機能と、その取得したアプリバージョン情報に基づいて、前記プログラマブルコントローラが自己が対応できるバージョンか否かを判断する機能を備えるようにした。
【００１８】
さらに、別の解決手段としては、格納されたユーザプログラムの機能性を示すアプリバージョン情報と、機器自体の機能性を示すユニットバージョン情報を記憶保持したプログラマブルコントローラ用のサポートツールであって、ユーザプログラムとともにそのユーザプログラムの機能性を示すアプリバージョン情報を記憶する記憶部と、前記プログラマブルコントローラに記憶保持されたアプリバージョン情報を取得する機能と、前記プログラマブルコントローラに記憶保持されたユニットバージョン情報を取得する機能と、その取得したアプリバージョン情報とユニットバージョン情報の少なくとも一方の情報と、前記記憶部に格納された前記アプリバージョン情報に基づいて、前記プログラマブルコントローラが自己が対応できるバージョンか否かを判断する機能を備えるように構成することもできる。
【００１９】
さらにまた、本発明に係るプログラマブルコントローラ用ユニットは、機器の機能性を示すユニットバージョン情報が設定されたプログラマブルコントローラ用のユニットであって、格納されたユーザプログラムの機能性を示すアプリバージョン情報を記憶保持する記憶手段と、サポートツールからの読出要求に対するレスポンスとして、前記アプリバージョン情報を返送する機能を備えて構成した。ここで、プログラマブルコントローラ用ユニットは、実施の形態ではＣＰＵユニットを例にとって説明したが、本発明はこれに限ることはなく高機能ユニットその他各種のユニットに適用することができる。
【００２０】
そして、ユーザプログラムが格納されていない場合には、前記記憶手段に格納するアプリバージョン情報として、未格納状態を示す値が格納されるようにするとよい。
【００２１】
さらに、本発明に係る接続保証方法は、プログラマブルコントローラに対するサポートツールの接続保証方法であって、前記プログラマブルコントローラには、格納されたユーザプログラムの機能性を示すアプリバージョン情報を記憶保持させる。そして、前記サポートツールは、前記プログラマブルコントローラに記憶保持されたアプリバージョン情報を取得し、その取得したアプリバージョン情報に基づいて、前記プログラマブルコントローラが自己が対応できるバージョンか否かを判断し、その判断した結果が、対応可能な場合のみ接続を許可して通信を続行するようにした。
【００２２】
また、別の解決手段としては、プログラマブルコントローラには、格納されたユーザプログラムの機能性を示すアプリバージョン情報と、機器自体の機能性を示すユニットバージョン情報を記憶保持させ、前記サポートツールは、ユーザプログラムとともにそのユーザプログラムの機能性を示すアプリバージョン情報を記憶保持し、前記サポートツールは、少なくとも前記プログラマブルコントローラに記憶保持されたユニットバージョン情報を取得し、その取得したユニットバージョン情報で示す機能性の範囲より、自己が記憶保持する前記アプリバージョン情報で示す機能性の範囲が大きい場合には、接続許可を与えず、自己が記憶保持する前記アプリバージョン情報で示す機能性の範囲が、前記取得したユニットバージョン情報で示す機能性の範囲以下で、前記プログラマブルコントローラが記憶保持する前記アプリバージョン情報と、自己が記憶保持する前記アプリバージョン情報が一致する場合には、接続を許可するようにすることもできる。
【００２３】
さらには、自己が記憶保持する前記アプリバージョン情報で示す機能性の範囲が、前記取得したユニットバージョン情報で示す機能性の範囲以下で、前記プログラマブルコントローラが記憶保持する前記アプリバージョン情報と一致しない場合には、前記プログラマブルコントローラに記憶保持されたアプリバージョン情報が変更されることの許可を受けることを条件に接続を許可するステップを付与すると良い。
【００２４】
本発明が対象とするプログラマブルコントローラ（ユニット）や、それ用のサポートツールは、機能性の向上（バージョンアップ）がされるが、新バージョンの製品（プログラマブルコントローラ，サポートツール）は、旧バージョンの製品の機能を継承しており、例えば旧バージョンに従って作成されたユーザプログラムは新バージョンのプログラマブルコントローラに実装することができる。また、同様に新バージョンのサポートツールは、旧バージョンのプログラマブルコントローラに対して接続し、サポート処理をすることができる。
【００２５】
係る前提において上記した各発明によれば、プログラマブルコントローラ（ユニット）に格納されたユーザプログラムに機能性を示すアプリバージョンをそのプログラマブルコントローラ（ユニット）に記憶保持させた。これにより、そのアプリバージョンを取得することにより、そのプログラマブルコントローラが、ユニットバージョンにあったユーザプログラムを格納して動作しているのか、旧バージョンのユーザプログラムを格納し実質的に旧バージョンのプログラマブルコントローラにとして動作しているかを容易に判断できる。
【００２６】
従って、機器自体の機能性を示すユニットバージョンが、サポートツールが対応できない上位のバージョン（新バージョン）であっても、実際に格納されたユーザプログラムのアプリバージョンが対応可能であれば、その旧バージョンのサポートツールを用いてサポート処理を行うことができる。
【００２７】
その結果、ユーザに対しては新バージョンのプログラマブルコントローラの開発に伴い、新バージョンのサポートツールの購入・バージョンアップを強いる必要がなくなり、旧バージョンのユーザプログラムを使用する限り、新バージョンのプログラマブルコントローラを購入し使用しても、旧バージョンのサポートツールを使用し続けることができる。よって、メーカ側も新バージョンのプログラマブルコントローラを開発した場合、比較的早い適当なタイミングで旧バージョンのプログラマブルコントローラを生産中止することが可能となる。
【００２８】
【発明の実施の形態】
図１は、本発明の好適な一実施の形態を実現するシステム全体を示している。図１に示すように、パソコンからなるサポートツール１０とＰＬＣ（ＣＰＵユニット２２）２０が、所定の通信回線３０を介して接続されている。この通信回線３０は、例えば、ＲＳ２３２Ｃなどのシリアル回線を用いて直接ケーブル接続することにより実現される。もちろん、このように直接接続するものに限ることはなく、他の通信回線を用いネットワーク経由でＰＬＣ２０とサポートツール１０とを接続する構成を採っても良い。そして、サポートツール１０で作成（修正も含む）したユーザプログラムは、通信回線３０を介してＰＬＣ２０にダウンロードされる。
【００２９】
ＰＬＣ２０は、複数のユニットから構成される。すなわち、電源供給源の電源ユニット２１，ＰＬＣ全体の制御を統率するＣＰＵユニット２２，ＦＡの生産装置や設備装置の適所に取り付けたスイッチやセンサの信号を入力する入力ユニット２３，アクチュエータなどに制御出力を出す出力ユニット２４，通信ネットワークに接続するための通信ユニット２５などの各種のユニットを適宜組み合わせて構成される。そして、本システムにおいてサポートツール１０からダウンロードされるユーザプログラムは、ＣＰＵユニット２２に記憶保持され、そこにおいて実行される。そして、通信回線３０を通信ユニット２５に接続され、サポートツール１０とＣＰＵユニット２２は、通信ユニット２５を介して通信したり、ＣＰＵユニット２２にシリアル回線のインタフェースを内蔵させることによりサポートツール１０を直接ＣＰＵユニット２２に連結し、ユーザプログラムのダウンロード等を行うようにしたりできる。
【００３０】
サポートツール１０は、パソコンから構成され、図２に示すように、ハードウエア構成としてキーボード，ポインティングデバイス等の入力装置１１と、ディスプレイ等の表示装置１２と、ＣＰＵ１３と、記憶部１４を備えている。本発明との関係で言うと、このサポートツール１０には、接続可能な複数のＰＬＣ機種ごとの機能性の範囲を示すバージョン（アプリバージョンのことでありＰＬＣ機種ごとに異なることもある）が設定されており、このバージョン情報（アプリバージョン）は、記憶部１４内のユーザファイル（後述する）に格納される。そして、このアプリバージョンは、ユーザが選択して設定する。更に、接続されたＰＬＣ２０（ＣＰＵユニット２２）に実装されるユーザプログラムも記憶部１４に格納される。
【００３１】
一方、ＣＰＵユニット２２の内部構造は、図３に示すように構成されている。すなわち、システムプログラムは、システムＲＯＭ２２ａに格納されており、そのシステムプロクラムは、ＭＰＵ２２ｂに呼び出され、そのＭＰＵ２２ｂにおいて、ワークメモリとしてのシステムＲＡＭ２２ｃを適宜使用しながら、プログラムに従った所定の処理を実行する。また、運転時において、ユーザデータの１つであるユーザプログラムは、ユーザメモリ（ＵＭ）２２ｄに格納されている。さらに、Ｉ／Ｏデータやパラメータは、ＩＯメモリ２２ｅに格納されている。
【００３２】
ＰＬＣ機種や、機種としてのハード的なバージョン（ユニットバージョン）情報等は、例えばシステムＲＯＭ２２ａに格納され、サポートツール１０からの呼出要求を受けると、そのレスポンスとしてそれらＰＬＣ機種，バージョン情報をサポートツール１０に返送するようになっている。
【００３３】
つまり、バージョンアップ（機能拡張）したＰＬＣ（ＣＰＵユニット）を製造した場合、そのバージョンアップした機能を用いたユーザプログラムのバージョン（アプリバージョン）は、ユニットバージョンと同じに設定される。また、そのバージョンアップした機能を用いたユーザプログラムに対して対応可能なサポートツール１０には、ユーザプログラムのアプリバージョンと同じアプリバージョンが設定される。これにより、サポートツール１０をＰＬＣ２０に接続した際に通信し、サポートツール１０が両者が保有するアプリバージョンが一致するか否かを判断し、一致する場合には対応可能としてそのまま所定のサポート処理をする。なお、ＰＬＣ機種と称しているが、実際にはＣＰＵユニットの機種名であるため、ＣＰＵ機種と称することもできる。
【００３４】
さらに、本実施の形態では、ＰＬＣ（ＣＰＵユニット）並びにサポートツールに付すバージョン情報は、数値で表し、バージョンアップするごとに数値も大きくする。つまり、数値が大きいほど新しいバージョンであると言えるので、係るバージョンの数値の大小関係を比較することにより、簡単にどちらが新しいバージョンであるかを判別できる。そして、新バージョンのサポートツール１０並びにＰＬＣ２０（ＣＰＵユニット２２）は、旧バージョンの機能を継承しているため、サポートツール１０が取得したＰＬＣ（ＣＰＵユニット）のバージョンの数値が、自己のバージョンの数値よりも小さい場合には、対応できると判断できる。なお、バージョンの数値は、整数のみ（いわゆる「メジャーバージョン」のみ）でもよいし、小数点等を適宜使用したマイナーバージョンも使用することもある。
【００３５】
ここで、本発明では、図４に示すように、ＣＰＵユニット２２のユーザメモリ２２ｄには、ＣＰＵユニット２２に格納したユーザプログラムのバージョン（アプリバージョン）を格納し、サポートツール１０は、ＰＬＣ（ＣＰＵユニット）の機種バージョンと共にアプリバージョンも取得し、アプリバージョンが自己が対応可能な場合には、接続を継続し所定の処理を行えるようにした。つまり、ＰＬＣ自体のバージョンは新バージョンの「１．２」であっても、そこに実装したユーザプログラムのアプリバージョンは旧バージョンの「１．１」の機能で作成したものの場合、係るアプリバージョン「１．１」もＰＬＣ２０（ＣＰＵユニット２２）に記憶保持させる。
【００３６】
そして、サポートツール１０をＰＬＣ２０に接続した際に、ＰＬＣ２０に対してＰＬＣ機種情報呼出要求を発行し、それを受けたＰＬＣは、ＰＬＣ機種と、機器自体のユニットバージョンに加えてアプリバージョンを組にしてレスポンスとして返す。このレスポンスを受けたサポートツール１０のバージョンが１．１であるとすると、現在接続しているＰＬＣは、機器自体のバージョン（ユニットバージョン）は１．２であるので従来では対応できなかったが、アプリバージョンが自己が対応可能な１．１であることを認識すると、接続状態を継続し、そのバージョン１．１の機能の範囲内で処理できるようにした。もちろん、係るバージョンの異同並びに大小関係の判定を行うに際し、ＰＬＣ機種が一致していることは前提である。
【００３７】
これにより、その新バージョン（１．２）のＰＬＣ２０であっても、実質的に旧バージョン（１．１）の機器として動作している場合には、アプリバージョンでそれを認識することにより、旧バージョン対応のサポートツール１０であっても接続し、所定のサポート処理（ユーザプログラムのダウンロード，アップロード，作成，修正等）をすることができるようになる。
【００３８】
さらにまた、サポートツール１０にすでに所定のバージョンで作成したユーザプログラムが格納されており、それをＰＬＣ２０（ＣＰＵユニット２２）にダウンロードするような場合には、係るサポートツール１０に格納されたユーザプログラムのアプリバージョンと、ＰＬＣ（ＣＰＵユニット）のユニットバージョン並びにアプリバージョンとの大小関係を比較し、以下のように処理する。
（１）サポートツール上のユーザデータ中のユーザプログラムのアプリバージョンが、ＰＬＣ上のユニットバージョン以下の場合
（ａ）サポートツール上のユーザデータのアプリバージョンと、ＰＬＣ上のアプリバージョンが等しい場合には接続を許可
（ｂ）サポートツール上のユーザデータ中のユーザプログラムのアプリバージョンと、ＰＬＣ上のアプリバージョンが等しくない場合には接続を禁止，或いは、ＰＬＣ上のアプリバージョンをサポートツール上のアプリバージョンに書き換えた上で接続を許可（その後、ユーザプログラムのダウンロード等をする）
（ｃ）ＰＬＣにユーザプログラムが格納されておらず、アプリバージョンが無い（初期化時の値）場合には、ＰＬＣ上のアプリバージョンをサポートツール上のアプリバージョンに書き換えた上で接続を許可（その後、ユーザプログラムのダウンロード等をする）
（２）サポートツール上のユーザデータ中のユーザプログラムのアプリバージョンが、ＰＬＣ上のユニットバージョンより大きい場合
サポートツール上のユーザプログラムのアプリバージョンが大きいため、ＰＬＣにダウンロードすると誤動作等するおそれがあるので、接続を禁止する。
【００３９】
なお、上記した説明では、ＰＬＣ機種情報呼出要求に対して、ＰＬＣ機種，ユニットバージョン並びにアプリバージョンを組にしてレスポンスとして返す旨説明したが、本発明はこれに限ることはなく、サポートツール１０から１つずつ順に呼出要求を発行し、それを受けたＰＬＣ側から１つずつレスポンスを返すように構成するようにしても良いし、更に任意の組み合わせで情報を取得することももちろんできる。
【００４０】
そして、係る処理を実行するため、具体的には、図５以降のフローチャートに示す処理を実行する機能をＣＰＵ１３に実装するように構成した。すなわち、サポートツール１０は、主にキーボード・ポインティングデバイス等の入力装置１１に対するユーザの操作により各機能のメニューが選択され、その選択されたメニューに従い動作する。そこで、サポートツール全体の処理フローチャートとしては、図５に示すようになる。
【００４１】
すなわち、まず、上記したユーザの操作によるイベントを受付ける（ＳＴ１）。そして、受け付けたイベントの内容が、「オープンされているユーザファイルのＰＬＣ機種、バージョンに基づく接続処理」であるか否か並びに「ＰＬＣ機種の自動認識による接続処理」であるか否かを判断する（ＳＴ２，ＳＴ３）。なお、ここでいうユーザファイルとは、ユーザがサポートツール１０を操作することで作成したデータファイルであり、本実施の形態では記憶部１４に存在する。また、このユーザファイルには本実施の形態で説明しているユーザデータが格納されている。
【００４２】
そして、いずれの処理でもない場合には、終了命令か否かを判断し（ＳＴ４）、終了命令である場合には、所定の終了処理を実行後終了する（ＳＴ５）。このフローチャートでは記載していないが、ユーザ操作によるイベントとしては上記以外の機能を実行するものもあり、係る他の機能のイベントを受け付けた場合には、所定の処理を実行するのはもちろんである。
【００４３】
ここで本発明では、受け付けたイベントが「オープンされているユーザファイルのＰＬＣ機種、バージョンに基づく接続処理」の場合は、ステップ２の分岐判断がＹｅｓとなるので、ステップ６に飛び、当該所定の処理を実行する。つまり、オープンされているサポートツール１０のユーザファイル内に格納されたユーザプログラムのアプリバージョンと、現在接続しようとしているＰＬＣ（ＣＰＵユニット２２）のＰＬＣ機種およびバージョン情報（ユニットバージョン＆アプリバージョン）を取得し、接続可能か否かの判断並びにその判断結果に基づく処理を実行する。具体的には、図６，図７に示すフローチャートを実行するもので、その説明は後述する。
【００４４】
そして、ステップ６で規定する処理を実行したならば、ステップ８に進み、ステップ６の処理においてオンライン接続処理が許可されたか否かを判断し、許可されたならばＰＬＣとのオンライン接続のための処理を開始する（ＳＴ９）。その後、ステップ１０に進み次のユーザ操作によるイベントが入力されるのを待ち、係るイベントが受け付けたならば、受け付けたイベント内容がオフラインへ移行するものか否かを判断し（ＳＴ１１）、移行しない場合にはステップ１０に戻り、移行する場合にはステップ１に戻って次のイベントの受け付けを待つ。
【００４５】
つまり、オンライン接続が許可され、オンライン接続された以降は、オンラインの各機能のメニューが選択された場合には、その選択されたメニューに従い動作する（ＳＴ１０，１１を繰り返し実行する）。この状態において、オフラインへ移行することを要求する操作が選択された場合には、オフライン状態へ移行する（ＳＴ１に戻る）。また、オンライン接続許可がされなかった場合には、ステップ８の分岐判断はＮｏとなるので、ステップ４に進み所定の処理を実行する。
【００４６】
一方、ステップ１で受け付けたイベントが、「ＰＬＣ機種の自動認識による接続処理」の場合には、ステップ３の分岐判断がＹｅｓとなるので、ステップ７に飛び、当該所定の処理を実行する。つまり、現在接続しようとしているＰＬＣ（ＣＰＵユニット２２）のＰＬＣ機種，アプリバージョン情報（アプリバージョン）を取得し、接続可能か否かの判断並びにその判断結果に基づく処理を実行する。具体的には、図８に示すフローチャートを実行するもので、その説明は後述する。
【００４７】
そして、ステップ７で規定する処理を実行したならば、ステップ８に進み、ステップ７の処理においてオンライン接続処理が許可されたか否かを判断し、許可されたならばＰＬＣとのオンライン接続のための処理を開始する（ＳＴ９）。その後ステップ１０に進み、上記したのと同様の処理を行うことになる。また、オンライン接続許可がされなかった場合には、ステップ８の分岐判断はＮｏとなるので、ステップ４に進み所定の処理を実行する。
【００４８】
次に、ステップ６に規定する「オーブンされているユーザファイルのＰＬＣ機種，バージョンに基づく接続処理」の具体的な処理について説明する。図６，図７に示すように、まず、ＰＬＣ２０（ＣＰＵユニット２２）に対し、ＰＬＣ機種（ＣＰＵ機種）を問い合わせる通信コマンドを発行する（ＳＴ２１）。この通信コマンドのレスポンスとして、ＰＬＣ（ＣＰＵユニット）からはＰＬＣ機種（ＣＰＵ機種）が送られてくるので、係るレスポンスを受信したならば、サポートツール１０側のユーザファイル上のＰＬＣ機種と、接続されたＰＬＣ側のＰＬＣ機種が一致するか否かを判断する（ＳＴ２２）。そして、一致しない場合には、このサポートツール１０では現在接続しているＰＬＣ２０（ＣＰＵユニット２２）に対応しておらず、処理ができないので、サポートツール１０の表示装置１２に対して警告メッセージを出力表示し（ＳＴ３３）、処理を終了する。そして、警告メッセージの一例としては、「接続しているＰＬＣ（ＣＰＵユニット）のＰＬＣ機種とユーザファイルのＰＬＣ機種が一致しないため接続できません。ユーザファイルの機種を合わせてください」等がある。
【００４９】
一方、両者のＰＬＣ機種（ＣＰＵ機種）が一致した場合には、ＰＬＣ２０（ＣＰＵユニット２２）に、ユニットバージョンを問い合わせる通信コマンドを発行する（ＳＴ２４）。すると、この通信コマンドのレスポンスとして、ＰＬＣ（ＣＰＵユニット）からはユニットバージョンが送られてくるので、係るレスポンスを受信したならば、取得したユニットバージョンと、サポートツール１０側のユーザファイル上のアプリバージョンを比較し、アプリバージョンがユニットバージョン以下か否かを判断する（ＳＴ２５）。
【００５０】
そして、アプリバージョンの方がユニットバージョンよりも大きい場合には、ＰＬＣにユーザプログラムをダウンロードすることができないので、警告メッセージを出力し、接続を禁止して処理を終了する（ＳＴ２６）。そして、警告メッセージの一例としては、「接続しているＰＬＣ（ＣＰＵユニット）のバージョンがユーザファイルのバージョンよりも小さいため接続できません。ユーザファイルのバージョンを合わせてください」等がある。
【００５１】
一方、ユーザファイルのアプリバージョンがＰＬＣのユニットバージョン以下の場合には、ステップ２５の分岐判断でＹｅｓとなるので、次にユーザファイル上のアプリバージョンと、ＰＬＣ（ＣＰＵユニット）のアプリバージョンが一致しているか否かを判断する（ＳＴ２７）。そして、一致している場合には、対応できているので、ステップ３３に飛び、ＰＬＣ（ＣＰＵユニット）との接続を許可して処理を終了する（ＳＴ３３）。
【００５２】
そして、このように処理を実行した結果、「ＰＬＣとの接続を許可する」と判断された場合は、サポートツール全体のフローチャートに処理が戻る際、「ＰＬＣとの接続を許可する」という状態がサポートツール全体のフローチャートで参照できるようにしておく。
【００５３】
また、ユーザファイル上のアプリバージョンと、ＰＬＣ（ＣＰＵユニット）のアプリバージョンが一致していない場合には、ステップ２７の分岐判断がＮｏとなるので、ステップ２８に飛び、ＰＬＣ（ＣＰＵユニット）のアプリバージョンがＰＬＣ初期化状態、つまり、未使用でユーザプログラムの未登録状態か否かを判断する。そして、初期化状態の場合には、サポートツール１０のユーザプロ具無をＰＬＣ側にダウンロードできるので、ステップ３１に飛び、ＰＬＣ（ＣＰＵユニット）に格納されているユーザデータ中のユーザプムグラムをクリアする通信コマンドを発行し、続いてユーザファイル上のアプリバージョンをＰＬＣ（ＣＰＵユニット）に書き込む通信コマンドを発行する（ＳＴ３２）。これにより、ＰＬＣ側のアプリバージョンは、サポートツール１０にオープンされているユーザファイルのユーザバージョンにセットされる。その後、ステップ３３に進み、ＰＬＣとの接続が許可される。
【００５４】
一方、ステップ２８の分岐判断でＮｏ、つまり、初期化状態でもない場合には、サポートツール１０が接続しているＰＬＣに対応可能であるが、そのまま処理を続行すると現在ＰＬＣ側にセットされているアプリバージョンが変更されてしまうので、その旨ユーザに警告をし、更新することの許可を受けるようにしている。そのため、まず、ステップ２９に進み、所定の更新確認メッセージを表示する。そして、この更新確認メッセージは、例えば、「接続しているＰＬＣ（ＣＰＵユニット）のアプリバージョンがユーザファイルのバージョンよりと一致しないため接続できません。ユーザファイルのバージョンをＣＰＵユニットに書き込みますか？その場合、ＰＬＣ（ＣＰＵユニット）のメモリクリアを行います。」等である。
【００５５】
そして、係るメッセージの後、ユーザからの選択指示を待ち、「アプリバージョンを強制的に書き換える」が選択されたか否かを判断する。そして、選択された場合には、ステップ３１に進み上記した処理を実行する。また、選択されない場合には、接続が禁止され、そのまま処理を終了する。
【００５６】
次に、ステップ７の「ＰＬＣ機種の自動認識による接続処理」の具体的な処理について説明する。図８に示すように、まず、ＰＬＣ（ＣＰＵユニット）にＰＬＣ機種を問い合わせる通信コマンドを発行する（ＳＴ４１）。この通信コマンドのレスポンスとしてＰＬＣ側から返送されてくるＰＬＣ機種情報を取得するので、係る取得した機種情報は自己のサポートツールが対応しているか否かを判断する。つまり、接続しようとしているＰＬＣ機種はこのサポートソフトでサポートしているかどうかをチェックする（ＳＴ４２）。
【００５７】
そして、この分岐判断の結果がＹｅｓの場合は、ＰＬＣ（ＣＰＵユニット）にアプリバージョンを問い合わせる通信コマンドを発行する（ＳＴ４３）。この通信コマンドに対するレスポンスとして、ＰＬＣの現在のアプリバージョンが返送されてくるので、サポートツール１０は、このレスポンスを受信することにより取得した接続しようとするＰＬＣのアプリバージョンが、このサポートソフトでサポートしているかどうかをチェックする（ＳＴ４４）。
【００５８】
そして、サポートしていない場合には、接続を禁止し処理を終了する。また、サポートしている場合には、ステップ４４の分岐判断がＹｅｓとなるので、ＰＬＣ（ＣＰＵユニット）から読み出してきたＰＬＣ機種・アプリバージョンのユーザファイルをサポートツールが自動生成する（ＳＴ４５）。その後、「ＰＬＣとの接続を許可する」という状態にする（ＳＴ４６）。そして、このように処理を実行した結果、「ＰＬＣとの接続を許可する」と判断された場合は、サポートツール全体のフローチャートに処理が戻る際、「ＰＬＣとの接続を許可する」という状態がサポートツール全体のフローチャートで参照できるようにしておく。例えば、ＰＬＣとの接続を許可する状態をあらわすフラグを設け、ステップ３３やステップ４６でそのフラグをセットし、ステップ８では、そのフラグがセットされているかどうかでオンライン接続処理が許可されているかどうかを判断する。
【００５９】
なお、上記した実施の形態では、ユーザプログラムを格納するＣＰＵユニットを適用対象としたが、本発明はこれに限ることはなく、高機能ユニットその他のＰＬＣ用のユニットにも適用できる。
【００６０】
なおまた、アプリバージョンで管理される典型的なものとして、ユーザプログラムがあるため、上記した実施の形態では、ユーザプログラムに対するアプリバージョンのチェックをするようにしたが、アプリバージョンで管理するものとして、ユーザプログラム以外にも、パラメータ（ＣＰＵユニットの基本仕様をユーザがソフト的に定義可能とするデータやネットワーク間でデータの送受信を行なう場合の通信経路に関するデータなど）がある。したがってかかるパラメータ等もチェック・管理対象としても良い。そして、ユーザデータには、係るパラメータも含まれる。
【００６１】
【発明の効果】
以上のように、この発明では、プログラマブルコントローラ（ユニット）に、アプリバージョンを記憶保持させ、少なくともアプリバージョンに基づいてサポートツールが対応可能か否かを判断するようにしたため、新バージョンのプログラマブルコントローラであっても、旧バージョンのユーザプログラム等を用いて実質的に旧バージョンのプログラマブルコントローラとして動作するような場合には、既存の旧バージョンのサポートツールを用いて接続可能となる。
【図面の簡単な説明】
【図１】本発明のシステムの一実施の形態を示す図である。
【図２】サポートツールの内部構成を示す図である。
【図３】ＣＰＵユニットの内部構成を示す図である。
【図４】本実施の形態の概要を説明する図である。
【図５】サポートツールの機能を示すフローチャートである。
【図６】オープンされているユーザファイルのＰＬＣ機種、バージョンに基づく接続処理の具体的なアルゴリズムの一例を示すフローチャートの一部である。
【図７】オープンされているユーザファイルのＰＬＣ機種、バージョンに基づく接続処理の具体的なアルゴリズムの一例を示すフローチャートの一部である。
【図８】ＰＬＣ機種の自動認識による接続処理の具体的なアルゴリズムの一例を示すフローチャートの一部である。
【符号の説明】
１０  サポートツール
１１  入力装置
１２  表示装置
１３  ＣＰＵ
１４  記憶部
２０  ＰＬＣ
２１  電源ユニット
２２  ＣＰＵユニット
２２ａ  システムＲＯＭ
２２ｂ  ＭＰＵ
２２ｃ  ＲＡＭ
２２ｄ  ユーザメモリ
２２ｅ  ＩＯメモリ
２３  入力ユニット
２４  出力ユニット
２５  通信ユニット
３０  通信回線
【図１】
2005038063.tif 000003
【図２】
2005038063.tif 000004
【図３】
2005038063.tif 000005
【図４】
2005038063.tif 000006
【図５】
2005038063.tif 000007
【図６】
2005038063.tif 000008
【図７】
2005038063.tif 000009
【図８】
2005038063.tif 000010