(57)【特許請求の範囲】
【請求項１】
ネットワークを経由して若しくは直接ツールが接続され、該ツールから送信されたユーザ情報に基づきアクセスを許可するプログラマブルコントローラまたはプログラマブル表示器において、
ユーザを認証するためのユーザ情報を記憶したユーザ認証テーブルを格納するメモリカードを着脱自在に装着するメモリカード装着手段と、
上記メモリカードが上記メモリカード装着手段に装着されているか否かを調べ、該メモリカードが装着されていないと判断した場合はログイン失敗のレスポンスを上記ツールに送信する一方、上記メモリカードが装着されていると判断した場合であって、かつ、上記ツールから送信されたユーザ情報が該メモリカードに格納されたユーザ認証テーブルのユーザ情報と一致した場合は、該ツールによるアクセスを許可する制御手段と、
を具備することを特徴とするプログラマブルコントローラまたはプログラマブル表示器。
【請求項２】
上記メモリカードに格納されたユーザ認証テーブルは、
上記ユーザ情報として、ユーザ識別コード、パスワードを記憶し、
上記制御手段は、
上記ツールから送信されたユーザ情報に含まれるユーザ識別コードおよびパスワードが上記ユーザ認証テーブルに記憶されたユーザ識別コードおよびパスワードと一致した場合に該ツールによるアクセスを許可する
ことを特徴とする請求項１記載のプログラマブルコントローラまたはプログラマブル表示器。
【請求項３】
上記メモリカードに格納されたユーザ認証テーブルは、
上記ユーザ情報として、ユーザ識別コード、パスワード、アクセスレベルを記憶し、
上記制御手段は、
上記ツールから送信されたユーザ情報に含まれるユーザ識別コードおよびパスワードが上記ユーザ認証テーブルに記憶されたユーザ識別コードおよびパスワードと一致し、上記ツールから送信されたユーザ情報に含まれるアクセス対象のアクセスレベルが上記アクセスレベルの許可範囲内にある場合に該ツールによるアクセスを許可する
ことを特徴とする請求項１記載のプログラマブルコントローラまたはプログラマブル表示器。
【請求項４】
上記メモリカードに格納されたユーザ認証テーブルは、
上記ユーザ情報として、ユーザ識別コード、パスワード、アクセスレベルを記憶し、
上記ツールから送信されたコマンドメッセージには、当該コマンドメッセージの送信元アドレスが含まれており、
上記ツールから送信されたログイン要求コマンドを含むコマンドメッセージには、ユーザ識別コードおよびパスワードを含むユーザ情報が含まれており、
上記制御手段は、
上記ツールからログイン要求コマンドを含むコマンドメッセージを受信すると、当該コマンドメッセージ内のユーザ情報に含まれるユーザ識別コードおよびパスワードが上記ユーザ認証テーブルに記憶されたユーザ識別コードおよびパスワードと一致した場合に上記ツールから送信されたユーザ情報に含まれるユーザ識別コードおよび送信元アドレスが記録されるとともに、該ユーザ識別コードおよび送信元アドレスに対応して上記メモリカードに格納されたユーザ認証テーブルのアクセスレベルが転記されるログインユーザテーブルを作成し、
上記ツールから受信したコマンドメッセージ中の送信元アドレスが上記ログインユーザテーブルに記憶されている場合、当該コマンドメッセージの要求サービスが上記ログインユーザテーブルにおいて上記送信元アドレスに対応するアクセスレベルの範囲内である場合は当該要求サービスに基づくアクセスを実行し、一方、当該コマンドメッセージの要求サービスが上記ログインユーザテーブルにおいて上記送信元アドレスに対応するアクセスレベルの範囲内でない場合はアクセスを許可しないこと
を特徴とする請求項１記載のプログラマブルコントローラまたはプログラマブル表示器。
【請求項５】
上記制御手段は、
上記ログインユーザテーブルに上記ユーザ識別コードおよび送信元アドレスおよびアクセスレベルを含むログイン情報が記憶されてから予め設定された時間内に上記ツールからアクセスがない場合は上記ログインユーザテーブルに記憶された上記ログイン情報を削除する削除手段と、
を具備することを特徴とする請求項４記載のプログラマブルコントローラまたはプログラマブル表示器。
【請求項６】
ネットワークを経由して若しくは直接ツールが接続され、該ツールから送信されたユーザ情報に基づきアクセスを許可するプログラマブルコントローラまたはプログラマブル表示器におけるユーザ認証方法において、
ユーザを認証するためのユーザ情報を記憶させたメモリカードをプログラマブルコントローラまたはプログラマブル表示器に装着されているか否かを調べ、該メモリカードが装着されていないと判断した場合はログイン失敗のレスポンスを上記ツールに送信する一方、上記メモリカードが装着されていると判断した場合であって、かつ、上記ツールから送信されるユーザ情報が上記メモリカードに記憶させたユーザ情報と一致した場合は、該ツールによるアクセスを許可するようにした
ことを特徴とするプログラマブルコントローラまたはプログラマブル表示器におけるユーザ認証方法。
【請求項７】
上記メモリカードに格納されたユーザ認証テーブルのユーザ識別コード、パスワードが、上記ツールから送信されたユーザ情報に含まれるユーザ識別コードおよびパスワードと一致した場合に、該ツールによるアクセスを許可するようにした
ことを特徴とする請求項６記載のプログラマブルコントローラまたはプログラマブル表示器におけるユーザ認証方法。
【請求項８】
上記メモリカードには上記ユーザ情報を記憶したユーザ認証テーブルが格納されており、
上記ユーザ情報として、ユーザ識別コード、パスワード、アクセスレベルを記憶し、
上記ツールから送信されたコマンドメッセージには、当該コマンドメッセージの送信元アドレスが含まれており、
上記ツールから送信されたログイン要求コマンドを含むコマンドメッセージには、ユーザ識別コードおよびパスワードを含むユーザ情報が含まれており、
上記ツールからログイン要求コマンドを含むコマンドメッセージを受信すると、当該コマンドメッセージ内のユーザ情報に含まれるユーザ識別コードおよびパスワードが上記ユーザ認証テーブルに記憶されたユーザ識別コードおよびパスワードと一致した場合に上記ツールから送信されたユーザ情報に含まれるユーザ識別コードおよび該ツールの送信元アドレスが記録されるとともに、該ユーザ識別コードおよび送信元アドレスに対応して上記メモリカードに格納されたユーザ認証テーブルのアクセスレベルが転記されるログインユーザテーブルを作成し、
上記ツールから受信したコマンドメッセージ中の送信元アドレスが上記ログインユーザテーブルに記憶されている場合、当該コマンドメッセージの要求サービスが上記ログインユーザテーブルにおいて上記送信元アドレスに対応するアクセスレベルの範囲内である場合は当該要求サービスに基づくアクセスを実行し、一方、当該コマンドメッセージの要求サービスが上記ログインユーザテーブルにおいて上記送信元アドレスに対応するアクセスレベルの範囲内でない場合はアクセスを許可しないこと
を特徴とする請求項６記載のプログラマブルコントローラまたはプログラマブル表示器におけるユーザ認証方法。
【請求項９】
上記ログインユーザテーブルに上記ユーザ識別コードおよび送信元アドレスおよびアクセスレベルを含むログイン情報が記憶されてから予め設定された時間内に上記ツールからアクセスがない場合は上記ログインユーザテーブルに記憶された上記ログイン情報を削除する
ことを特徴とする請求項８記載のプログラマブルコントローラまたはプログラマブル表示器におけるユーザ認証方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ネットワークを経由して若しくは直接ツールが接続され、該ツールから送信されたユーザ情報に基づきアクセスを許可するプログラマブルコントローラまたはプログラマブル表示器およびそのユーザ認証方法に関し、特に、パスワード等の漏洩に基づく不正操作を有効に防止するようにしてセキュリティを高めたプログラマブルコントローラまたはプログラマブル表示器およびそのユーザ認証方法に関する。
【０００２】
【従来の技術】
従来、ユーザが所定のプログラミング装置（以下、ツールという）を用いてプログラマブルコントローラ（以下、ＰＬＣという）若しくはプログラマブル表示器（以下、ＰＴという）を操作する場合は、パスワードと呼ばれる任意の文字列をツールから入力することでＰＬＣ若しくはＰＴへのアクセスが可能になるように構成されている。
【０００３】
すなわち、従来のＰＬＣ若しくはＰＴにおいては、ＰＬＣ若しくはＰＴの内部メモリに予め上記パスワードを記憶しており、ＰＬＣ若しくはＰＴを操作するツールから所定のパスワードが入力されると、この入力されたパスワードと上記ＰＬＣ若しくはＰＴの内部メモリに予め記憶されているパスワードとを照合し、両者が一致した場合にのみ上記ツールによる上記ＰＬＣ若しくはＰＴ内の内部メモリに対するアクセスやユーザプログラムの作成等を可能にしている。
【０００４】
【発明が解決しようとする課題】
しかしながら、最近、上記ツールによるＰＬＣ若しくはＰＴへのアクセスは、ＰＬＣ若しくはＰＴに直接接続されるツールからだけではなく、インターネット等のネットワークを経由しても可能になっており、この場合、
１）上記パスワードが漏洩すると、第三者によるＰＬＣ若しくはＰＴへの不正なアクセスが可能になり、その結果ＰＬＣ若しくはＰＴの内部データの盗用やデータ破壊等が引き起こされる虞がある
２）上記パスワードを知っているものはＰＬＣ若しくはＰＴの全てのエリアに対してアクセス可能になり、その結果、誤操作によりＰＬＣ若しくはＰＴの内部データやパラメータ更にはプログラムを破壊する危険性がある
３）上記パスワードは単一のパスワードであるためＰＬＣ若しくはＰＴのユーザ毎にアクセスレベルを設定するといった柔軟な設定を行うことができない
等の問題があった。
【０００５】
そこで、この発明は、パスワード等の漏洩に基づく不正操作を有効に防止するようにしてＰＬＣ若しくはＰＴのセキュリティを高めることを目的とする。
【０００６】
また、この発明は、ユーザ毎にアクセスレベルを設定することで各ユーザに対応した柔軟な設定を可能にすることを目的とする。
【０００７】
また、この発明は、パスワード等の漏洩に基づく不正操作を有効に防止するようにしてセキュリティを高めたＰＬＣまたはＰＴおよびそのユーザ認証方法を提供することを目的とする。
【０００８】
【課題を解決するための手段】
この発明のプログラマブルコントローラまたはプログラマブル表示器は、ネットワークを経由して若しくは直接ツールが接続され、該ツールから送信されたユーザ情報に基づきアクセスを許可するプログラマブルコントローラまたはプログラマブル表示器において、ユーザを認証するためのユーザ情報を記憶したユーザ認証テーブルを格納するメモリカードを着脱自在に装着するメモリカード装着手段と、上記メモリカードが上記メモリカード装着手段に装着されているか否かを調べ、該メモリカードが装着されていないと判断した場合はログイン失敗のレスポンスを上記ツールに送信する一方、上記メモリカードが装着されていると判断した場合であって、かつ、上記ツールから送信されたユーザ情報が該メモリカードに格納されたユーザ認証テーブルのユーザ情報と一致した場合は、該ツールによるアクセスを許可する制御手段と、を具備することを特徴とする。
【０００９】
ここで、ネットワークを経由して若しくは直接接続されるツールとは、プログラマブルコントローラの内部メモリに対するアクセスやユーザプログラム等の作成を行うプログラミング装置を含む。また、アクセスとは、ログイン時のアクセスとログイン中のアクセスとを含む。
【００１０】
また、上記ユーザ認証テーブルに記憶されるユーザ情報は、ユーザ識別コード、パスワード、あるいは、更にアクセスレベルを含み、制御手段は、上記ツールから送信されたユーザ情報に含まれるユーザ識別コードおよびパスワードが上記ユーザ認証テーブルに記憶されたユーザ識別コードおよびパスワードと一致した場合に該ツールによるアクセスを許可したり、アクセス対象のアクセスレベルがアクセスレベルの許可範囲内にあるときアクセスを許可したりする。
【００１１】
上記メモリカードに格納されたユーザ認証テーブルは、上記ユーザ情報として、ユーザ識別コード、パスワード、アクセスレベルを記憶し、上記ツールから送信されたコマンドメッセージには、当該コマンドメッセージの送信元アドレスが含まれており、上記ツールから送信されたログイン要求コマンドを含むコマンドメッセージには、ユーザ識別コードおよびパスワードを含むユーザ情報が含まれており、上記制御手段は、上記ツールからログイン要求コマンドを含むコマンドメッセージを受信すると、当該コマンドメッセージ内のユーザ情報に含まれるユーザ識別コードおよびパスワードが上記ユーザ認証テーブルに記憶されたユーザ識別コードおよびパスワードと一致した場合に上記ツールから送信されたユーザ情報に含まれるユーザ識別コードおよび送信元アドレスが記録されるとともに、該ユーザ識別コードおよび送信元アドレスに対応して上記メモリカードに格納されたユーザ認証テーブルのアクセスレベルが転記されるログインユーザテーブルを作成し、上記ツールから受信したコマンドメッセージ中の送信元アドレスが上記ログインユーザテーブルに記憶されている場合、当該コマンドメッセージの要求サービスが上記ログインユーザテーブルにおいて上記送信元アドレスに対応するアクセスレベルの範囲内である場合は当該要求サービスに基づくアクセスを実行し、一方、当該コマンドメッセージの要求サービスが上記ログインユーザテーブルにおいて上記送信元アドレスに対応するアクセスレベルの範囲内でない場合はアクセスを許可しない。
【００１２】
上記制御手段は、上記ログインユーザテーブルに上記ユーザ識別コードおよび送信元アドレスおよびアクセスレベルを含むログイン情報が記憶されてから予め設定された時間内に上記ツールからアクセスがない場合は上記ログインユーザテーブルに記憶された上記ログイン情報を削除する削除手段と、を具備する。
【００１３】
また、この発明のプログラマブルコントローラまたはプログラマブル表示器におけるユーザ認証方法は、ネットワークを経由して若しくは直接ツールが接続され、該ツールから送信されたユーザ情報に基づきアクセスを許可するプログラマブルコントローラまたはプログラマブル表示器におけるユーザ認証方法において、ユーザを認証するためのユーザ情報を記憶させたメモリカードをプログラマブルコントローラまたはプログラマブル表示器に装着されているか否かを調べ、該メモリカードが装着されていないと判断した場合はログイン失敗のレスポンスを上記ツールに送信する一方、上記メモリカードが装着されていると判断した場合であって、かつ、上記ツールから送信されるユーザ情報が上記メモリカードに記憶させたユーザ情報と一致した場合は、該ツールによるアクセスを許可するようにしたことを特徴とする。
【００１４】
ここで、ネットワークを経由して若しくは直接接続されるツールとは、プログラマブル表示器の内部メモリに対するアクセスやユーザプログラム等の作成を行うプログラミング装置を含む。
【００１５】
また、上記メモリカードに格納されたユーザ認証テーブルのユーザ識別コード、パスワードが、上記ツールから送信されたユーザ情報に含まれるユーザ識別コードおよびパスワードと一致した場合に、該ツールによるアクセスを許可するようにする。
【００１６】
また、上記メモリカードには上記ユーザ情報を記憶したユーザ認証テーブルが格納されており、上記ユーザ情報として、ユーザ識別コード、パスワード、アクセスレベルを記憶し、上記ツールから送信されたコマンドメッセージには、当該コマンドメッセージの送信元アドレスが含まれており、上記ツールから送信されたログイン要求コマンドを含むコマンドメッセージには、ユーザ識別コードおよびパスワードを含むユーザ情報が含まれており、上記ツールからログイン要求コマンドを含むコマンドメッセージを受信すると、当該コマンドメッセージ内のユーザ情報に含まれるユーザ識別コードおよびパスワードが上記ユーザ認証テーブルに記憶されたユーザ識別コードおよびパスワードと一致した場合に上記ツールから送信されたユーザ情報に含まれるユーザ識別コードおよび該ツールの送信元アドレスが記録されるとともに、該ユーザ識別コードおよび送信元アドレスに対応して上記メモリカードに格納されたユーザ認証テーブルのアクセスレベルが転記されるログインユーザテーブルを作成し、上記ツールから受信したコマンドメッセージ中の送信元アドレスが上記ログインユーザテーブルに記憶されている場合、当該コマンドメッセージの要求サービスが上記ログインユーザテーブルにおいて上記送信元アドレスに対応するアクセスレベルの範囲内である場合は当該要求サービスに基づくアクセスを実行し、一方、当該コマンドメッセージの要求サービスが上記ログインユーザテーブルにおいて上記送信元アドレスに対応するアクセスレベルの範囲内でない場合はアクセスを許可しない。
【００１７】
また、上記ログインユーザテーブルに上記ユーザ識別コードおよび送信元アドレスおよびアクセスレベルを含むログイン情報が記憶されてから予め設定された時間内に上記ツールからアクセスがない場合は上記ログインユーザテーブルに記憶された上記ログイン情報を削除する。
【００１８】
【発明の実施の形態】
以下、この発明に係わるプログラマブルコントローラまたはプログラマブル表示器およびそのユーザ認証方法の実施の形態を添付図面を参照して詳細に説明する。
【００１９】
図１は、この発明をプログラマブルコントローラに適用した一実施の形態の全体構成を示すブロック図である。
【００２０】
図１において、このプログラマブルコントローラ（ＰＬＣ）１０は、ＭＰＵ（超小型演算処理装置：Micro Processing Unit）１１、メモリカードインタフェース（メモリカー ドＩ／Ｆ）１２、表示部１３、内部メモリ１４、データメモリ１５、システムプログラムメモリ１６、ツールインタフェース（ツールＩ／Ｆ）１７、バスインタフェース（バスＩ／Ｆ）１８、バス１９を具備して構成される。
【００２１】
そして、メモリカードＩ／Ｆ１２には、メモリカード２０が装着自在に接続されるように構成されており、また、ツールＩ／Ｆ１７には、ツール３０が接続可能に構成され、また、バスＩ／Ｆ１８には、ネットワークインタフェースユニット（ネットワークＩ／Ｆユニット）４０、インターネット５０を介してツール６０が接続可能に構成されている。なお、このツール６０は、シリアル回線やイーサーネット等のネットワークを介してＰＬＣ１０のバスＩ／Ｆ１８に接続されるように構成してもよい。
【００２２】
ここで、ＭＰＵ１１は、システムプログラムメモリ１６に格納されたシステムプログラムに基づき動作し、このＰＬＣ１０の全体動作を統括制御するものである。
【００２３】
また、メモリカードＩ／Ｆ１２は、このＰＬＣ１０に装着されたメモリカード２０から所望の情報を読み取るためのインタフェースを構成するものである。
【００２４】
ここで、このメモリカード２０には、ユーザＩＤ（ユーザ識別情報）、パスワード、アクセスレベル等を記憶したユーザ認証テーブルが格納されている。
【００２５】
また、表示部１３は、このＰＬＣ１０の動作状態等の各種情報を表示するものであり、また、内部メモリ１４は、このＰＬＣ１０の動作に係わる各種情報を記憶するもので、この発明に係わるログインユーザテーブルは、この内部メモリ１４内に記憶される。
【００２６】
また、データメモリ１５は、揮発性のメモリであるＲＡＭ（Random Access Memory）から構成され、このＰＬＣ１０のユーザプログラム、各種パラメータデータ等を記憶するものであり、また、システムプログラムメモリ１６は、不揮発性のメモリであるＲＯＭ（Read Only Memry）から構成され、このＰＬＣ１０のシステムプログラムを記憶するもので ある。
【００２７】
また、ツールＩ／Ｆ１７は、このＰＬＣ１０に接続されるツール３０とのインタフェースを構成するものであり、バスＩ／Ｆ１８は、このＰＬＣ１０のバス１９に接続され、ネットワークＩ／Ｆユニット４０等とのインタフェースを構成するものである。
【００２８】
さて、図１に示すＰＬＣ１０は、ツールＩ／Ｆ１７を経由して接続されるツール３０若しくはバスＩ／Ｆ１８、ネットワークＩ／Ｆユニット４０、インターネット５０を経由して接続されたツール６０を使用して、このＰＬＣ１０のデータメモリ１５に記憶された各種データおよびユーザプログラム等に対するアクセスを行うことができるように構成されている。
【００２９】
そして、ツール３０若しくはツール６０を使用したＰＬＣ１０へのアクセスに際しては、
１）ユーザＩＤ、パスワード、アクセスレベルを含むユーザ情報を記憶したユーザ認証テーブルを格納するメモリカード２０をＰＬＣ１０に装着する
２）ツール３０若しくはツール６０からユーザＩＤ、パスワードを含むユーザ情報を記載したログイン要求コマンドをＰＬＣ１０へ送信する
操作を行ない、ここで、メモリカード２０のユーザ認証テーブルのユーザＩＤ、パスワードとログイン要求コマンドのユーザＩＤ、パスワードが一致するとツール３０若しくはツール６０によるＰＬＣ１０へのアクセスを許可し、メモリカード２０のユーザ認証テーブルのユーザＩＤ、パスワードとログイン要求コマンドのユーザＩＤ、パスワードが一致しないとツール３０若しくはツール６０によるＰＬＣ１０へのアクセスは禁止される。
【００３０】
このような構成によると、ツール３０若しくはツール６０の操作者は、不正に上記パスワードを取得したとしても、メモリカード２０がないとＰＬＣ１０へのアクセスはできない。
【００３１】
つまり、この実施の形態においては、メモリカード２０をＰＬＣ１０をアクセスするための物理的な鍵として機能させるように構成したもので、このメモリカード２０をＰＬＣ１０に装着しない限り、ＰＬＣ１０にログインできないように構成されている。
【００３２】
また、ＰＬＣ１０の内部メモリ１４には、上記ＰＬＣ１０に対するログインによりユーザＩＤおよびこのログインの送信元アドレスが書き込まれ、更に、メモリカード２０のユーザ認証テーブルのアクセスレベルが転記されるログインユーザテーブルが記憶されており、ツール３０若しくはツール６０からのＰＬＣ１０へのアクセスに際しては、このログインユーザテーブルに記憶されたアクセスレベルに基づき各ユーザによりアクセスが制限される。
【００３３】
図２は、図１に示したメモリカード２０に格納されたユーザ認証テーブルの一例を示す図である。
【００３４】
図２に示すユーザ認証テーブル２１は、ユーザＩＤに対応してパスワードおよびアクセスレベルが記憶されている。
【００３５】
すなわち、図２に示すユーザ認証テーブル２１においては、ユーザＩＤ「ＵＳＥＲ０１２」に対応してパスワード「ＰＬＣＰＡＳＳＷＤ」およびアクセスレベルが記憶され、また、ユーザＩＤ「ＳＵＺＵＫＩ５５５」に対応してパスワード「ＳＹＳＴＥＭ＿ＭＡＮ」およびアクセスレベルが記憶されている。
【００３６】
ここで、アクセスレベルは、ユーザＩＤにより識別される各ユーザにおいて許可されているアクセス範囲を示すもので、その具体的内容の一例は図３に示される。
【００３７】
図３においては、例えば、ＩＤ「ＵＳＥＲ０１２」で識別されるユーザに対応するアクセスレベルの内容を示すものである。
【００３８】
図３においては、アクセスレベルが、アクセス対象である「エリア種別」に対応して「アドレス範囲」、「読出し」、「書込み」、「実行許可」の項目で記述されている。
【００３９】
すなわち、図３においては、エリア種別「データメモリ」に対して、アドレス範囲「０００００−６５０００」の読出しおよび書込みが「可」であり、エリア種別「プログラム」に対して、アドレス範囲「タスク１，２」の読出しおよび書込みは「不可」であるが、実行は「可」であり、エリア種別「タイマ」に対してはアドレス範囲「０−１５０」の読出しおよび書込みが「可」であり、エリア種別「図面データ」に対して、アドレス範囲「１，２，５」の読出しおよび書込みが「可」であることを示している。
【００４０】
ここで、エリア種別「データメモリ」は、図１に示したデータメモリ１５のデータメモリ領域に対応し、エリア種別「プログラム」は、図１に示したデータメモリ１５に格納されたユーザプログラムに対応し、エリア種別「タイマ」は、図１に示したデータメモリ１５のタイマ領域に対応し、エリア種別「図面データ」は、図１に示したデータメモリ１５の図面データ格納領域に対応する。
【００４１】
ところで、この実施の形態のＰＬＣ１０においては、ツール３０若しくはツール６０からＰＬＣ１０へのアクセスは、図４に示すような形式のコマンドメッセージを用いて行なわれ、このコマンドメッセージに対するＰＬＣ１０からツール３０若しくはツール６０への返信は、図５に示す形式のレスポンスメッセージを用いて行なわれる。
【００４２】
ここで、図４に示すコマンドメッセージは、ヘッダ部とデータ部からなり、ヘッダ部には、メッセージ種別を示す（この場合はコマンドを示す）メッセージ情報、ＰＬＣ１０のアドレスである送信先アドレス、ツール３０若しくはツール６０のアドレスである送信元アドレスを含み、データ部には要求サービスを示すコマンドコードが含まれている。
【００４３】
また、図５に示すレスポンスメッセージも、ヘッダ部とデータ部からなり、ヘッダ部には、メッセージ種別を示す（この場合はレスポンスを示す）メッセージ情報、ツール３０若しくはツール６０のアドレスである送信先アドレス、ＰＬＣ１０のアドレスである送信元アドレスを含み、データ部には要求されたサービスを示すコマンドコードおよびこの要求されたサービスの結果を示す正常実行やエラー終了等のレスポンスコードが含まれている。
【００４４】
なお、上記コマンドメッセージやレスポンスメッセージは、アプリケーション層のものであり、このコマンドメッセージやレスポンスメッセージが実際にシリアル回線やネットワークを流れる際には各通信ネットワークに応じた物理層、データリンク層、ネットワーク層などのヘッダが上記コマンドメッセージやレスポンスメッセージに付加される。
【００４５】
図６は、図１に示したＰＬＣ１０の内部メモリ１４に記憶されるログインユーザテーブルの一例を示した図である。
【００４６】
図６において、このログインユーザテーブル６００は、ユーザＩＤに対応して送信元アドレス、アクセスレベルが記憶されている。
【００４７】
すなわち、図６に示すログインユーザテーブル６００においては、ユーザＩＤ「ＵＳＥＲ０１２」に対応して送信元アドレス「３Ａ５７９Ｆ」およびアクセスレベルが記憶され、また、ユーザＩＤ「ＳＵＺＵＫＩ５５５」に対応して送信元アドレス「８６ＣＥ５３」およびアクセスレベルが記憶されている。
【００４８】
ここで、送信元アドレスは、ツール３０若しくはツール６０からのログインコマンド要求受付時に図４に示したコマンドメッセージの送信元アドレスに基づき記憶されるものであり、アクセスレベルは上記メモリカード２０を用いたログイン時にメモリカード２０のユーザ認証テーブル２１に記憶されたアクセスレベルを転記したものである。
【００４９】
図７は、図４に示したコマンドメッセージをツール３０若しくはツール６０から受信した場合のＰＬＣ１０の動作を説明するフローチャートである。
【００５０】
図７において、まず、コマンドの受信か、すなわち、図４に示すコマンドメッセージの受信かを調べ（ステップ７０１）、ここで、コマンドメッセージの受信でない場合は（ステップ７０１でＮＯ）、ステップ７０１へ戻り、コマンドメッセージの受信を待つ。
【００５１】
そして、ステップ７０１で、コマンドメッセージの受信と判断されると（ステップ７０１でＹＥＳ）、次に、上記コマンドメッセージの送信元アドレスがログインされているか、すなわち、上記コマンドメッセージの送信元アドレスがＰＬＣ１０の内部メモリ１４のログインユーザテーブルに記憶されているかを調べる（ステップ７０２）。
【００５２】
ここで、上記コマンドメッセージの送信元アドレスがＰＬＣ１０の内部メモリ１４のログインユーザテーブルに記憶されていない場合は（ステップ７０２でＮＯ）、このユーザのログインは済んでいないので、ツール３０若しくはツール６０へ、図５に示した形式でエラーレスポンスを返信し（ステップ７０６）、この処理を終了する。
【００５３】
この場合、ツール３０若しくはツール６０は、後に詳述するユーザＩＤおよびパスワードを入力したログイン要求コマンドを送信することになる。
【００５４】
また、ステップ７０２で、上記コマンドメッセージの送信元アドレスがログインユーザテーブルに記憶されていると判断された場合は（ステップ７０２でＹＥＳ）、既にこの送信元アドレスのユーザはログインが済んでいるので、既にスタートしているカウント中のタイマをリセットしてリスタートし（ステップ７０３）、以後のログイン継続時間を更新する。次に、ログインユーザテーブルを参照して上記コマンドメッセージの要求サービスが当該ユーザに許可されたアクセスレベルの範囲内かを調べる（ステップ７０４）。
【００５５】
ここで、上記コマンドメッセージの要求サービスが当該ユーザに許可されたアクセスレベルの範囲内でない場合は（ステップ７０４でＮＯ）、このコマンドメッセージによるアクセスは許可できないので、ツール３０若しくはツール６０エラーレスポンスを送信し（ステップ７０６）、この処理を終了する。
【００５６】
また、ステップ７０４で、上記コマンドメッセージの要求サービスが当該ユーザに許可されたアクセスレベルの範囲内であると判断された場合は（ステップ７０４でＹＥＳ）、上記コマンドメッセージの要求サービスに基づくアクセスを実行し（ステップ７０５）、この処理を終了する。
【００５７】
すなわち、図７に示す処理においては、ツール３０若しくはツール６０からのコマンドメッセージの送信元アドレスが既にＰＬＣ１０の内部メモリ１４のログインユーザテーブルに記憶されていてログインが終了している場合は、再度ログインを要求することなくこのコマンドメッセージに基づくアクセスを許可するが、上記コマンドメッセージの送信元アドレスがＰＬＣ１０の内部メモリ１４のログインユーザテーブルに記憶されていず、ログインが終了していない場合は、ツール３０若しくはツール６０に対してエラーレスポンスを送信してログイン要求コマンドを要求するように構成されている。
【００５８】
そして、ログインが既に終了している場合でも、上記コマンドメッセージに基づく要求サービスが、１つでも上記アクセスレベルの範囲から外れている場合は、このコマンドメッセージに基づくアクセスを許可せずに、ツール３０若しくはツール６０に対してエラーレスポンスを送信するように構成されている。
【００５９】
図８は、図１に示したＰＬＣ１０のログイン要求コマンドに基づくログイン処理を示すフローチャートである。
【００６０】
図１に示したツール３０若しくはツール６０からＰＬＣ１０に対して最初にアクセスする場合は、まず、ＰＬＣ１０にメモリカード２０を装着し、その後、ツール３０若しくはツール６０からユーザＩＤおよび所定のパスワードを入力してログイン要求コマンドメッセージをＰＬＣ１０に送信する。
【００６１】
ＰＬＣ１０は、ツール３０若しくはツール６０からのログイン要求コマンドメッセージを受け付けると（ステップ８０１）、まず、このＰＬＣ１０にメモリカード２０が装着されているかを調べる（ステップ８０２）。
【００６２】
ここで、このＰＬＣ１０にメモリカード２０が装着されていない場合は（ステップ８０２でＮＯ）、ログインが許可できないので、ログイン失敗のレスポンスをツール３０若しくはツール６０に送信し（ステップ８０７）、この処理を終了する。
【００６３】
また、ステップ８０２で、このＰＬＣ１０にメモリカード２０が装着されていると判断された場合は（ステップ８０２でＹＥＳ）、次に、このメモリカード２０内にパスワードを記録したユーザ認証テーブルがあるか、すなわち、このメモリカード２０内に、ユーザＩＤ、パスワード、アクセスレベル等を記憶したユーザ認証テーブルが格納されているかを調べる（ステップ８０３）。
【００６４】
ここで、このメモリカード２０内にユーザ認証テーブルがない場合は（ステップ８０３でＮＯ）、このメモリカード２０ではアクセスを許可できないので、ログイン失敗のレスポンスをツール３０若しくはツール６０に送信し（ステップ８０７）、この処理を終了する。
【００６５】
ステップ８０３で、このメモリカード２０内にユーザ認証テーブルがあると判別された場合は（ステップ８０３でＹＥＳ）、ツール３０若しくはツール６０から通知されたユーザＩＤおよびパスワードとメモリカード２０のユーザ認証テーブル内のユーザＩＤおよびパスワードとが一致するかの照合を行う（ステップ８０４）。
【００６６】
そして上記照合の結果、ユーザＩＤおよびパスワードの照合がＯＫ、すなわち一致すると判断されると（ステップ８０５でＹＥＳ）、ＰＬＣ１０の内部メモリ１４のログインユーザテーブルにユーザＩＤおよび送信元アドレスを含むログインデータを記録し、ログイン成功のレスポンスをツール３０若しくはツール６０に送信し（ステップ８０６）、この処理を終了する。
【００６７】
なお、ステップ８０４の照合によりユーザＩＤおよびパスワードの照合が一致しないと判断されると（ステップ８０５でＮＯ）、この場合も、ＰＬＣ１０へのアクセスを許可できないので、ログイン失敗のレスポンスをツール３０若しくはツール６０に送信し（ステップ８０７）、この処理を終了する。
【００６８】
図９は、図８に示したステップ８０４の照合によりユーザＩＤおよびパスワードの照合がＯＫと判断された場合のログインデータ記録処理の詳細を示すフローチャートである。
【００６９】
図９においては、まず、ツール３０若しくはツール６０から受け付けたログイン要求コマンドメッセージに含まれるユーザＩＤおよび送信元アドレスをＰＬＣ１０の内部メモリ１０４（図１０参照）のログインユーザテーブルに記録し（ステップ９０１）、次に、メモリカードのユーザ認証テーブルに記憶されている当該ユーザのアクセスレベルをＰＬＣ１０の内部メモリ１０４のログインユーザテーブルに当該ユーザＩＤに対応して転記する（ステップ９０２）。
【００７０】
そして、所定の計時時間が設定されたタイマをスタートさせる（ステップ９０３）。その後、タイマはタイムアウトしたかを調べる（ステップ９０４）。
【００７１】
そして、ステップ９０４で、タイムアウトしていないと判断されると（ステップ９０４でＮＯ）、ステップ９０４に戻り、再び、ツール３０若しくはツール６０から同一の送信元アドレスのコマンドメッセージを受信したかを調べる。
【００７２】
このようにして、ステップ９０４で、ツール３０若しくはツール６０から同一の送信元アドレスのコマンドメッセージを受信した、すなわち、ステップ９０３でスタートしたタイマがタイムアウトする前に、ツール３０若しくはツール６０から同一の送信元アドレスのコマンドメッセージを受信した場合は（ステップ９０４でＹＥＳ）、ステップ９０３に戻り、タイマを再スタートさせる。
【００７３】
ステップ９０４で、タイムアウトしたと判断されると、すなわち、ステップ９０３でスタートしたタイマの計時時間の間にツール３０若しくはツール６０から同一の送信元アドレスのコマンドメッセージを受信しない場合は（ステップ９０４でＹＥＳ）、ＰＬＣ１０の内部メモリ１０４のログインユーザテーブルからこのユーザに対応するログインデータを削除し（ステップ９０５）、この処理を終了する。
【００７４】
すなわち、ツール３０若しくはツール６０からのログイン要求コマンドによりログインデータをＰＬＣ１０の内部メモリ１０４のログインユーザテーブルに一旦記録した場合は、同一の送信元アドレスからのコマンドに対してはメモリカード２０を用いたログインを再び行うことなくアクセスを許可するが、最初にログインしてから一定時間の間に新たなコマンドを送信しない場合は、内部メモリ１０４のログインユーザテーブルからこの送信元アドレスに対応するログインデータを削除する。
【００７５】
この場合は、再び、メモリカード２０をＰＬＣ１０に装着してツール３０若しくはツール６０からユーザＩＤおよびパスワードを入力してログイン要求コマンドを送信する必要がある。
【００７６】
図１０は、この発明をプログラマブル表示器に適用した他の実施の形態の全体構成を示すブロック図である。
【００７７】
図１０において、このプログラマブル表示器（ＰＴ）１００は、ＭＰＵ（超小型演算処理装置：Micro Processing Unit）１０１、メモリカードインタフェース（メモリカード Ｉ／Ｆ）１０２、表示部１０３、内部メモリ１０４、データメモリ１０５、システムプログラムメモリ１０６、ツールインタフェース（ツールＩ／Ｆ）１０７、ネットワークインタフェース（ネットワークＩ／Ｆ）１０８、バス１０９を具備して構成される。
【００７８】
そして、メモリカードＩ／Ｆ１０２には、メモリカード２００が装着自在に接続されるように構成されており、また、ツールＩ／Ｆ１０７には、ツール３００が接続可能に構成され、また、ネットワークＩ／Ｆ１０８には、インターネット４００を介してツール５００が接続可能に構成されている。なお、このツール５００は、シリアル回線やイーサーネット等のネットワークを介してＰＴ１００のネットワークＩ／Ｆ１０８に接続されるように構成してもよい。
【００７９】
ここで、ＭＰＵ１０１は、システムプログラムメモリ１０６に格納されたシステムプログラムに基づき動作し、このＰＴ１００の全体動作を統括制御するものである。
【００８０】
また、メモリカードＩ／Ｆ１０２は、このＰＴ１００に装着されたメモリカード２００から所望の情報を読み取るためのインタフェースを構成するものである。
【００８１】
ここで、このメモリカード２００には、ユーザＩＤ（ユーザ識別情報）、パスワード、アクセスレベル等を記憶したユーザ認証テーブルが格納されている。
【００８２】
また、表示部１０３は、このＰＴ１００に接続される外部装置（図示せず）の状態に関するグラフィック表示を行うものであり、また、内部メモリ１０４は、このＰＴ１００の操作に係わる各種情報を記憶するもので、この発明に係わるログインユーザテーブルは、この内部メモリ１０４内に記憶される。
【００８３】
また、データメモリ１０５は、揮発性のメモリであるＲＡＭ（Random Access Memory）から構成され、このＰＴ１００の各種データ等を記憶するものであり、また、システムプログラムメモリ１０６は、不揮発性のメモリであるＲＯＭ（Read Only Memry）から構成され、このＰＴ１００のシステムプログラムを記憶するものである。
【００８４】
また、ツールＩ／Ｆ１０７は、このＰＴ１００に接続されるツール３００とのインタフェースを構成するものであり、ネットワークＩ／Ｆ１０８は、このＰＴ１００のバス１０９に接続され、インターネット４００とのインタフェースを構成するものである。
【００８５】
さて、図１０に示すＰＴ１００は、ツールＩ／Ｆ１０７を経由して接続されるツール３００若しくはネットワークＩ／Ｆ１０８、インターネット４００を経由して接続されたツール５００を使用して、このＰＴ１００のデータメモリ１０５に記憶された各種データに対するアクセスを行うことができるように構成されている。
【００８６】
そして、ツール３００若しくはツール５００を使用したＰＴ１００へのアクセスに際しては、
１）ユーザＩＤ、パスワード、アクセスレベルを含むユーザ情報を記憶したユーザ認証テーブルを格納するメモリカード２００をＰＴ１００に装着する
２）ツール３００若しくはツール５００からユーザＩＤ、パスワードを含むユーザ情報を記載したログイン要求コマンドをＰＴ１００へ送信する
操作を行ない、ここで、メモリカード２００のユーザ認証テーブルのユーザＩＤ、パスワードとログイン要求コマンドのユーザＩＤ、パスワードが一致するとツール３００若しくはツール５００によるＰＴ１００へのアクセスを許可し、メモリカード２００のユーザ認証テーブルのユーザＩＤ、パスワードとログイン要求コマンドのユーザＩＤ、パスワードが一致しないとツール３００若しくはツール５００によるＰＴ１００へのアクセスは禁止される。
【００８７】
このような構成によると、ツール３００若しくはツール５００の操作者は、不正に上記パスワードを取得したとしても、メモリカード２００がないとＰＴ１００へのアクセスはできない。
【００８８】
つまり、この実施の形態においても、メモリカード２００をＰＴ１００をアクセスするための物理的な鍵として機能させるように構成したもので、このメモリカード２００をＰＴ１００に装着しない限り、ＰＴ１００にログインできないように構成されている。
【００８９】
また、ＰＴ１００の内部メモリ１０４には、上記ＰＴ１００に対するログインによりユーザＩＤおよびこのログインの送信元アドレスが書き込まれ、更に、メモリカード２００のユーザ認証テーブルのアクセスレベルが転記されるログインユーザテーブルが記憶されており、ツール３００若しくはツール５００からのＰＴ１００へのアクセスに際しては、このログインユーザテーブルに記憶されたアクセスレベルに基づき各ユーザによりアクセスが制限される。
【００９０】
なお、メモリカード２００に格納されるユーザ認証テーブルは、図２および図３で説明したユーザ認証テーブル２１と同様の構成のものを用いることができ、また、ＰＴ１００とツール３００若しくはツール５００との間の通信においては、図４に示したコマンドメッセージおよび図５に示したレスポンスメッセージと同様のメッセージを用いて行うことができる。
【００９１】
また、ＰＴ１００の内部メモリ１０４に記憶されるログインユーザテーブルも図６に示したログインユーザテーブル６００と同様の構成のものを用いることができる。
【００９２】
更に、コマンドメッセージをツール３００若しくはツール５００から受信した場合におけるＰＴ１００の動作もＰＬＣ１０に関して図７のフローチャートで説明したものと同様である。
【００９３】
図１１は、図１０に示したＰＴ１００のログイン要求コマンドに基づくログイン処理を示すフローチャートである。
【００９４】
図１０に示したツール３００若しくはツール５００からＰＴ１００に対して最初にアクセスする場合は、まず、ＰＴ１００にメモリカード２００を装着し、その後、ツール３００若しくはツール５００からユーザＩＤおよび所定のパスワードを入力してログイン要求コマンドメッセージをＰＴ１００に送信する。
【００９５】
ＰＴ１００は、ツール３００若しくはツール５００からのログイン要求コマンドメッセージを受け付けると（ステップ１１０１）、まず、このＰＴ１００にメモリカード２００が装着されているかを調べる（ステップ１１０２）。
【００９６】
ここで、このＰＴ１００にメモリカード２００が装着されていない場合は（ステップ１１０２でＮＯ）、ログインが許可できないので、ログイン失敗のレスポンスをツール３００若しくはツール５００に送信し（ステップ１１０７）、この処理を終了する。
【００９７】
また、ステップ１１０２で、このＰＴ１００にメモリカード２００が装着されていると判断された場合は（ステップ１１０２でＹＥＳ）、次に、このメモリカード２００内にパスワードを記録したユーザ認証テーブルがあるか、すなわち、このメモリカード２００内に、ユーザＩＤ、パスワード、アクセスレベル等を記憶したユーザ認証テーブルが格納されているかを調べる（ステップ１１０３）。
【００９８】
ここで、このメモリカード２００内にユーザ認証テーブルがない場合は（ステップ１１０３でＮＯ）、このメモリカード２００ではアクセスを許可できないので、ログイン失敗のレスポンスをツール３００若しくはツール５００に送信し（ステップ１１７）、この処理を終了する。
【００９９】
ステップ１１０３で、このメモリカード２００内にユーザ認証テーブルがあると判別された場合は（ステップ１１０３でＹＥＳ）、ツール３００若しくはツール５００から通知されたユーザＩＤおよびパスワードとメモリカード２００のユーザ認証テーブル内のユーザＩＤおよびパスワードとが一致するかの照合を行う（ステップ１１０４）。
【０１００】
そして上記照合の結果、ユーザＩＤおよびパスワードの照合がＯＫ、すなわち一致すると判断されると（ステップ１１０５でＹＥＳ）、ＰＴ１００の内部メモリ１０４のログインユーザテーブルにユーザＩＤおよび発信元アドレスを含むログインデータを記録し、ログイン成功のレスポンスをツール３００若しくはツール５００に送信し（ステップ１１０６）、この処理を終了する。
【０１０１】
なお、ステップ１１０４の照合によりユーザＩＤおよびパスワードの照合が一致しないと判断されると（ステップ１１０５でＮＯ）、この場合も、ＰＴ１００へのアクセスを許可できないので、ログイン失敗のレスポンスをツール３００若しくはツール５００に送信し（ステップ１１０７）、この処理を終了する。
【０１０２】
なお、図１１に示したステップ１１０４の照合によりユーザＩＤおよびパスワードの照合がＯＫと判断された場合のログインデータ記録処理の詳細は、図９に示したフローチャートの処理と同様である。
【０１０３】
このように、この発明においては、メモリカードにユーザＩＤを持たない操作者は、ＰＬＣ若しくはＰＴを使用することができず、安価なセキュリティシステムが構築される。システム担当、システム利用者等、ユーザ別にアクセスレベルを変えて、ユーザの担当職務や熟練度に応じて操作可能な範囲を制限でき、誤操作によるデータの紛失、破壊や不用意なデータの書き換え等を防ぐことができる。また、用途等に応じてユーザ認証テーブルの内容が異なるメモリカードを複数枚用意して、差し替え使用することにより、用途等に応じてアクセス可能なユーザやアクセスレベルを簡単に変更することができる。
【０１０４】
なお、上述の実施の形態では、ユーザが最初にログイン要求コマンドによりログインし、その後ログイン中に再度アクセスしてコマンドメッセージによりアクセスレベルの範囲内の処理を行うように設定した場合について説明した。しかし、この発明では、最初のログインの際にユーザがログイン要求コマンドとコマンドメッセージを併せて送信して場合にも、ＰＬＣまたはＰＴ側でユーザがログイン要求コマンドによりログイン処理し、引き続きコマンドメッセージの処理を行うようにしてもよい。
【０１０５】
【発明の効果】
以上説明したようにこの発明によれば、
１）メモリカードをＰＬＣ若しくはＰＴをアクセスするための物理的な鍵として機能させるように構成したから、パスワード等の漏洩に基づく不正操作を有効に防止することができ、これによりＰＬＣ若しくはＰＴのセキュリティを高めることができる
２）ユーザ毎にアクセスレベルを設定することで各ユーザに対応した柔軟な設定が可能になる
等の効果を奏する。
【図面の簡単な説明】
【図１】この発明をプログラマブルコントローラに適用した一実施の形態の全体構成を示すブロック図である。
【図２】図１に示したメモリカードに格納されたユーザ認証テーブルの一例を示す図である。
【図３】図２に示したユーザ認証テーブルに記憶されるアクセスレベルの具体例を示す図である。
【図４】図１に示したツールからＰＬＣへ送信されるコマンドメッセージの形式の一例を示す図である。
【図５】図１に示したＰＬＣからツールへ送信されるレスポンスメッセージの形式の一例を示す図である。
【図６】図１に示したＰＬＣの内部メモリに記憶されるログインユーザテーブルの一例を示した図である。
【図７】図４に示したコマンドメッセージをツールから受信した場合のＰＬＣの動作を説明するフローチャートである。
【図８】図１に示したＰＬＣのログイン要求コマンドに基づくログイン処理を示すフローチャートである。
【図９】図８に示した照合処理によりユーザＩＤおよびパスワードの照合がＯＫと判断された場合のログインデータ記録処理の詳細を示すフローチャートである。
【図１０】この発明をプログラマブル表示器に適用した他の実施の形態の全体構成を示すブロック図である。
【図１１】図１０に示したＰＴのログイン要求コマンドに基づくログイン処理を示すフローチャートである。
【符号の説明】
１０    プログラマブルコントローラ（ＰＬＣ）
１１    ＭＰＵ（超小型演算処理装置：Micro Processing Unit）
１２    メモリカードインタフェース（メモリカードＩ／Ｆ）
１３    表示部
１４    内部メモリ
１５    データメモリ
１６    システムプログラムメモリ
１７    ツールインタフェース（ツールＩ／Ｆ）
１８    バスインタフェース（バスＩ／Ｆ）
１９    バス
２０    メモリカード
２１    ユーザ認証テーブル
３０    ツール
４０    ネットワークインタフェースユニット（ネットワークＩ／Ｆユニット）
５０    インターネット
６０    ツール
１００    プログラマブル表示器（ＰＴ）
１０１    ＭＰＵ（超小型演算処理装置：Micro Processing Unit）
１０２    メモリカードインタフェース（メモリカードＩ／Ｆ）
１０３    表示部
１０４    内部メモリ
１０５    データメモリ
１０６    システムプログラムメモリ
１０７    ツールインタフェース（ツールＩ／Ｆ）
１０８    ネットワークインタフェース（ネットワークＩ／Ｆ）
１０９    バス
２００    メモリカード
３００    ツール
４００    インターネット
５００    ツール
６００    ログインユーザテーブル
【図１】
0003931959.tif 000002
【図２】
0003931959.tif 000003
【図３】
0003931959.tif 000004
【図４】
0003931959.tif 000005
【図５】
0003931959.tif 000006
【図６】
0003931959.tif 000007
【図７】
0003931959.tif 000008
【図８】
0003931959.tif 000009
【図９】
0003931959.tif 000010
【図１０】
0003931959.tif 000011
【図１１】
0003931959.tif 000012