(57)【要約】      （修正有）【課題】プログラマブルコントローラの誤操作を抑止する。【解決手段】実施形態のプログラマブルコントローラ１００は、接続インターフェース部１０４と、記憶部１０１と、制御部１０３と、を備える。接続インターフェース部は、外部記憶部１５１、１６１と接続可能とする。記憶部は、認証用の情報を記憶する。制御部は、接続インターフェース部に外部記憶部が接続された際に、外部記憶部に記憶された識別情報と、認証用の情報と、に基づいて、外部記憶部が認証された場合に、自装置に対する制御を受け付ける。【選択図】図２
2015103186.tif 000002
【特許請求の範囲】
【請求項１】
外部記憶部と接続可能な接続インターフェース部と、
認証用の情報を記憶する記憶部と、
前記接続インターフェース部に前記外部記憶部が接続された際に、前記外部記憶部に記憶された識別情報と、前記認証用の情報と、に基づいて、前記外部記憶部が認証された場合に、自装置に対する制御を受け付ける制御部と、
を備えるプログラマブルコントローラ。
【請求項２】
前記制御部は、さらに、前記接続インターフェース部に前記外部記憶部が接続された際に、前記外部記憶部に前記識別情報が記憶されていない場合、又は前記識別情報と、前記認証用の情報と、に基づいて前記外部記憶部が認証できなかった場合に、前記自装置に設けられた操作部からの制御を受け付けない、
請求項１に記載のプログラマブルコントローラ。
【請求項３】
前記制御部は、さらに、前記外部記憶部が認証された場合に、前記外部記憶部が接続されたことに対応する制御を行う、
請求項１又は２に記載のプログラマブルコントローラ。
【請求項４】
前記制御部は、さらに、前記接続インターフェース部に、命令が格納されている前記外部記憶部が接続された際に、前記外部記憶部に記憶された識別情報と、前記認証用の情報と、に基づいて、前記外部記憶部が認証された場合に、前記外部記憶部に記憶されている命令を実行する、
請求項３に記載のプログラマブルコントローラ。
【請求項５】
前記制御部は、さらに、前記接続インターフェース部に前記外部記憶部が接続された際に、前記外部記憶部に、複数のプログラマブルコントローラに対応する複数の前記識別情報が記憶されている場合、前記複数の前記識別情報のうち、自装置に対応する前記識別情報と、前記認証用の情報と、に基づいて、前記外部記憶部が認証された場合に、前記外部記憶部で、前記自装置に対応する前記識別情報と対応付けられている命令を実行する、
請求項４に記載のプログラマブルコントローラ。
【請求項６】
外部装置と通信可能な通信インターフェース部を、さらに備え、
前記記憶部は、前記外部記憶部に対して前記識別情報を書き込む外部装置から、前記通信インターフェース部を介して受信した前記認証用の情報を記憶する、
請求項１乃至５のいずれか１つに記載のプログラマブルコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、プログラマブルコントローラに関する。
【背景技術】
【０００２】
工場や公共設備に設けられた自動機械や、身近な機械などの様々な機械の制御を行うためにプログラマブルコントローラが用いられている。プログラマブルコントローラは、機械に設けられたセンサなどの情報を入力情報として取り込み、演算し、当該機械のアクチュエータへ命令値として出力する仕組みを備えている。
【０００３】
プログラマブルコントローラは、汎用ＰＣとの大きな機器構成の差異として、演算命令用に専用ＬＳＩを備え、ＭＰＵを低動作クロックで動作させるため、汎用ＰＣのように高温となることはない。また、製品寿命が短いファンなどが実装されることはなく、組込み型で使用される場合、機器サイズの制約が厳しいのが一般的である。
【０００４】
このように、プログラマブルコントローラは、通常の汎用ＰＣと比べて、要求される動作環境温度が高く、リアルタイム性（一定期間内での演算を終えてＩ/Ｏに対して入出力を完了させる）ことが要求される他、小型な機器である必要がある。
【０００５】
また、プログラマブルコントローラは、機器サイズが小型であるほど適用されるアプリケーションの幅が広がる。このため、近年、プログラマブルコントローラの機器サイズの小型化が進んでいる。
【０００６】
しかしながら、プログラマブルコントローラは、緊急停止用のスイッチや機器の状態を示すＬＥＤなどを機器に搭載する必要があるが、機器サイズが小さくなると操作スイッチ間の間隔が狭くなり外部からの操作が困難となる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００１−１８４１０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
さらに、従来技術においては、実行する動作を切り替える手法は提案されているが、操作部が小さいために、切り替え等の操作が難しい上に、ユーザが意図せずに操作部に触れることにより、誤操作が生じる可能性があった。
【課題を解決するための手段】
【０００９】
実施形態のプログラマブルコントローラは、接続インターフェース部と、記憶部と、制御部と、を備える。接続インターフェース部は、外部記憶部と接続可能とする。記憶部は、認証用の情報を記憶する。制御部は、接続インターフェース部に外部記憶部が接続された際に、外部記憶部に記憶された識別情報と、認証用の情報と、に基づいて、外部記憶部が認証された場合に、自装置に対する制御を受け付ける。
【図面の簡単な説明】
【００１０】
【図１】図１は、第１の実施形態のプログラマブルコントローラの外観例を示した図である。
【図２】図２は、第１の実施形態のプログラマブルコントローラ及び外部メモリの構成を示したブロック図である。
【図３】図３は、第１の実施形態にかかるプログラマブルコントローラにおける外部メモリの接続に関する処理の手順を示すフローチャートである。
【図４】図４は、第１の実施形態にかかるエンジニアリングツールを用いた鍵情報と、錠情報とを作成する際の概念を示した図である。
【図５】図５は、第２の実施形態にかかるプログラマブルコントローラ、及び外部メモリの構成を示すブロック図である。
【図６】図６は、第２の実施形態にかかるプログラマブルコントローラにおける外部メモリの接続に関する処理の手順を示すフローチャートである。
【図７】図７は、複数のプログラマブルコントローラに対応する外部メモリの概念を示した図である。
【図８】図８は、第３の実施形態にかかるプログラマブルコントローラ、及び外部メモリの構成を示すブロック図である。
【図９】図９は、第３の実施形態にかかるプログラマブルコントローラにおける外部メモリの接続に関する処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１１】
（第１の実施形態）
図１は、第１の実施形態のプログラマブルコントローラの外観例を示した図である。図１に示されるように、第１の実施形態のプログラマブルコントローラ１００は、緊急停止等に用いるスイッチ群（緊急停止用スイッチ１０７、小型スイッチ群１０８）や、機器の状態を表すＬＥＤ群１１２の他、外部機器と接続するための通信Ｉ／Ｆ（例えば、ＵＳＢコネクタ）や、外部メモリ（例えばＳＤカード）を接続するインターフェースとなる外部メモリ用カードスロット１０４を備えている。
【００１２】
ところで、プログラマブルコントローラの制御対象である機械（システム）の規模が大きくなると、制御対象の機械の状態を検出するためのセンサにおいても、検出精度にばらつきが生じる。このため、本実施形態のプログラマブルコントローラ１００は、接続されている各種センサから受け取った情報を、外部メモリ用カードスロット１０４から接続される外部メモリに蓄積することとした。その後、プログラマブルコントローラ１００から、情報が蓄積された外部メモリを取り外し、ユーザは外部メモリに蓄積された情報を精査することで、センサ等の状態の確認の他に、機械（システム）のモニタリングを実現している。
【００１３】
プログラマブルコントローラ１００は、従来と比べて小型化傾向にあるため、正面の操作パネル上で、外部メモリを接続するための外部メモリ用カードスロット１０４が占める面積が大きくなる。外部メモリ用カードスロット１０４自体は小さくできないために、その他の構成（例えば、小型スイッチ群１０８など）が小さく設置されることになるが、小さいスイッチではユーザが操作しにくい。そこで、本実施形態のプログラマブルコントローラ１００は、外部メモリ用カードスロット１０４に対する外部メモリの着脱に、スイッチ機能を持たせることとした。
【００１４】
図２は、第１の実施形態のプログラマブルコントローラ及び外部メモリの構成を示したブロック図である。図２に示されるように、プログラマブルコントローラ１００は、不揮発性メモリ１０１と、ＣＰＵ１０３と、外部メモリ用カードスロット１０４と、演算処理用ＡＳＩＣ１０５と、通信Ｉ／Ｆ１０６と、緊急停止用スイッチ１０７と、小型スイッチ群１０８と、システム用メモリ１０９と、ＬＥＤ群１１２と、を備えている。
【００１５】
外部メモリ用カードスロット１０４は、第１の外部メモリ１５１や、第２の外部メモリ１６１等と接続可能な接続インターフェース部として機能し、ＣＰＵ１０３は、外部メモリ用カードスロット１０４に接続された第１の外部メモリ１５１や、第２の外部メモリ１６１を検出可能とする。
【００１６】
演算処理用ＡＳＩＣ１０５は、プログラマブルコントローラ１００が、機械を制御するための演算を行うために設けられた電子回路とする。
【００１７】
通信Ｉ／Ｆ１０６は、プログラマブルコントローラ１００と外部装置（例えば、エンジニアリングツールなど）と接続した際に、当該外部機器と通信可能なインターフェース部とする。
【００１８】
緊急停止用スイッチ１０７は、プログラマブルコントローラ１００、又はプログラマブルコントローラ１００が制御している機器等を緊急停止させるためのスイッチとする。小型スイッチ群１０８は、プログラマブルコントローラ１００を制御するためのスイッチ群とする。本実施形態の緊急停止用スイッチ１０７は、常に制御可能とするものではなく、外部メモリ用カードスロット１０４に接続されている外部メモリに応じて、制御可能か否かが切り替えられる。換言すると、外部メモリ用カードスロット１０４に、当該プログラマブルコントローラ１００に対応する外部メモリが接続されている場合に限り、緊急停止用スイッチ１０７等が受付可能となる。これにより、セキュリティを向上させることができる。
【００１９】
不揮発性メモリ１０１は、第１の錠情報１０２を記憶する。第１の錠情報１０２は、プログラマブルコントローラ１００に固有の情報であり、プログラマブルコントローラ１００の機器シリアル番号や、ＭＡＣアドレスなどの機器固有値に基づいて算出された情報とする。なお、第１の錠情報１０２は、ＣＰＵ１０３で算出した後に書き込んでも良いし、通信Ｉ／Ｆ１０６を介して接続された外部装置で算出して不揮発性メモリ１０１に書き込んでも良い。第１の錠情報１０２は、外部メモリ用カードスロット１０４に接続された外部メモリの認証に用いられる。
【００２０】
システム用メモリ１０９には、ユーザプログラム１１０と、システムプログラム１１１と、を記憶する。システムプログラム１１１は、ＯＳやファームウェアなどＣＰＵ１０３が起動した際に実行するプログラムとする。ユーザプログラム１１０は、システムプログラム１１１上で動作するプログラムであり、プログラマブルコントローラ１００が制御する機械に対応するプログラム等とする。
【００２１】
ＣＰＵ１０３は、プログラマブルコントローラ１００全体を制御する。例えば、ＣＰＵ１０３は、バスを介して接続されている不揮発性メモリ１０１、システム用メモリ１０９、演算処理用ＡＳＩＣ１０５、ＬＥＤ群１１２等の制御を行う。
【００２２】
さらに、ＣＰＵ１０３は、起動時にシステム用メモリ１０９に記憶されているシステムプログラム１１１を実行した上で、必要に応じてユーザプログラム１１０を実行する。
【００２３】
ＣＰＵ１０３は、実行されたシステムプログラム１１１に従って、様々な制御を行い、換言すれば制御部として機能する。例えば、ＣＰＵ１０３は、外部メモリ用カードスロット１０４に外部メモリが接続されているか否かを検出する。
【００２４】
そして、ＣＰＵ１０３は、外部メモリ用カードスロット１０４に外部メモリに鍵情報が格納されているか否かを判定する。
【００２５】
第１の外部メモリ１５１に記憶されている第１の鍵情報１５２は、接続先のプログラマブルコントローラとの間で認証を行うために用いられる。
【００２６】
本実施形態では、外部メモリ用カードスロット１０４に第１の外部メモリ１５１が接続された場合に、ＣＰＵ１０３が、第１の外部メモリ１５１に記憶されている第１の鍵情報１５２と、プログラマブルコントローラ１００の不揮発性メモリ１０１に記憶されている第１の錠情報１０２と、に基づいて、接続されている第１の外部メモリ１５１がプログラマブルコントローラ１００に対応しているか否かを認証する。なお、接続された第１の外部メモリ１５１に鍵情報が格納されていない場合は、プログラマブルコントローラ１００は、ユーザからの制御（緊急停止用スイッチ１０７や小型スイッチ群１０８に対する操作）を受け付けないものとする。
【００２７】
そして、本実施形態のプログラマブルコントローラ１００は、外部メモリがＣＰＵ１０３により適切に認証が行われた場合に、ユーザから制御（緊急停止用スイッチ１０７や小型スイッチ群１０８に対する操作）を受け付けることが可能となる。
【００２８】
一方、本実施形態のプログラマブルコントローラ１００においては、ＣＰＵ１０３が、外部メモリ用カードスロット１０４に外部メモリが接続された際に、外部メモリに鍵情報が記憶されていない場合、又は鍵情報と錠情報とに基づいて外部メモリが適切な認証ができないと判断した場合に、プログラマブルコントローラ１００に設けられた操作部（例えば、緊急停止用スイッチ１０７や、小型スイッチ群１０８）からの制御（操作）を受け付けない（禁止する）。
【００２９】
例えば、第２の外部メモリ１６１に記憶された第２の鍵情報１６２が、他のプログラマブルコントローラ用であって、プログラマブルコントローラ１００用でないため、プログラマブルコントローラ１００の不揮発性メモリ１０１に記憶された錠情報１０２との間で認証できなった場合、プログラマブルコントローラ１００は、第２の外部メモリ１６１が外部メモリ用カードスロット１０４に接続されている間、操作部（例えば、緊急停止用スイッチ１０７や、小型スイッチ群１０８）からの制御を受け付けない。
【００３０】
つまり、本実施形態のプログラマブルコントローラ１００では、外部メモリの着脱が、ユーザが操作可能か否かを切り替える、いわばロックの切り替えスイッチとして機能する。上述したようにプログラマブルコントローラ１００は、小型化傾向にあるため、各種スイッチも小さくなり、操作が難しくなっている。そこで、本実施形態では、外部メモリの着脱を、１つの操作手段として機能させることとした。さらには、第三者が購入した外部メモリを用いて、プログラマブルコントローラ１００の不正操作を行うのを防止するために、外部メモリに格納した鍵情報で認証を行うこととした。これにより、操作性の向上の他に、安全性を向上させることができる。なお、本実施形態では、外部メモリの着脱を、ロックの切り替えスイッチとして機能させたが、他の機能を備えさせても良い。
【００３１】
次に、本実施形態にかかるプログラマブルコントローラ１００における、外部メモリの接続に関する処理について説明する。図３は、本実施形態にかかるプログラマブルコントローラ１００における上述した処理の手順を示すフローチャートである。
【００３２】
まず、プログラマブルコントローラ１００のＣＰＵ１０３は、外部メモリ用カードスロット１０４に外部メモリが接続されたか否かを判定する（ステップＳ３０１）。接続されていないと判定した場合（ステップＳ３０１：Ｎｏ）、ステップＳ３０４に進む。
【００３３】
一方、外部メモリ用カードスロット１０４に外部メモリが接続されていると判定された場合（ステップＳ３０１：Ｙｅｓ）、ＣＰＵ１０３は、外部メモリに鍵情報が格納されているか否かを判定する（ステップＳ３０２）。鍵情報が格納されていないと判定した場合（ステップＳ３０２：Ｎｏ）、ステップＳ３０４に進む。
【００３４】
一方、外部メモリ用カードスロット１０４に接続されている外部メモリに鍵情報が格納されていると判定された場合（ステップＳ３０２：Ｙｅｓ）、ＣＰＵ１０３は、外部メモリに格納されている鍵情報が、不揮発性メモリ１０１に格納されている錠情報と対応しているか否かに基づいて、外部メモリの認証を行う（ステップＳ３０３）。鍵情報が錠情報に対応していない、換言すれば認証に失敗したと判定した場合（ステップＳ３０３：Ｎｏ）、ステップＳ３０４に進む。
【００３５】
そして、ステップＳ３０４においては、ＣＰＵ１０３は、操作部（例えば、緊急停止用スイッチ１０７や、小型スイッチ群１０８）からの操作（制御）を受け付けないように制御して処理を終了する。
【００３６】
一方、鍵情報が錠情報に対応している、換言すれば認証に成功したと判定した場合（ステップＳ３０３：Ｙｅｓ）、ＣＰＵ１０３は、外部メモリが接続されたことに対応する制御を実行する。本実施形態では、操作部を用いた操作を利用可能にさせる制御を行う（ステップＳ３０５）。
【００３７】
これにより、ＣＰＵ１０３は、操作部（例えば、緊急停止用スイッチ１０７や、小型スイッチ群１０８）からの操作（制御）の受け付けを開始する（ステップＳ３０６）。
【００３８】
次に、鍵情報の設定手法について説明する。本実施形態では、エンジニアリングツールを用いた鍵情報と、錠情報とを作成して、プログラマブルコントローラ１００を利用するための鍵情報を設定する。図４は、本実施形態にかかるエンジニアリングツールを用いた鍵情報と、錠情報とを作成する際の概念を示した図である。図４に示されるように、エンジニアリングツール４００には、外部メモリを接続するためのカードスロット４０１と、プログラマブルコントローラ１００と接続するための通信Ｉ／Ｆ４０２と、を備えている。エンジニアリングツール４００は、プログラマブルコントローラ１００を提供している機器ベンダーが配布したプログラムが搭載されている。そして、エンジニアリングツール４００が当該プログラムを実行することで、以下の処理を行う。
【００３９】
そして、エンジニアリングツール４００は、プログラマブルコントローラ１００の不揮発性メモリ１０１に錠情報が無い場合に、プログラマブルコントローラ１００から受け取った機器シリアル番号や、ＭＡＣアドレスなどの機器固有値から、第１の錠情報を生成して、プログラマブルコントローラ１００の不揮発性メモリ１０１に書き込む。さらに、エンジニアリングツール４００は、不揮発性メモリ１０１に錠情報がある、又は錠情報を書き込んだ場合に、当該錠情報に対応する第１の鍵情報を生成して、カードスロット４０１に接続された外部メモリに対して、第１の鍵情報を書き込む。
【００４０】
また、エンジニアリングツール４００は、外部メモリに対して、複数のプログラマブルコントローラに対応する、複数の鍵情報を書き込んでも良い。これにより、１つの外部メモリで、複数のプログラマブルコントローラを利用することができる。
【００４１】
これにより、プログラマブルコントローラ１００で利用可能な外部メモリを生成できる。なお、外部メモリの生成は、エンジニアリングツール４００に限定するものではなく、プログラマブルコントローラ１００側で行っても良い。
【００４２】
さらには、プログラマブルコントローラ１００が外部メモリと接続されたことをトリガーとして、ＣＰＵ１０３が、プログラマブルコントローラ１００が制御している機器の情報（センサからの情報）の書き込みを開始してもよい。これにより、プログラマブルコントローラ１００の制御対象の機器の状態を、ユーザが認識することができる。例えば、ユーザが外部メモリに書き込まれた情報を解析することで、うまく動いていないセンサや、センサが断線しているか否かを詳細に解析できる。
【００４３】
（第２の実施形態）
第１の実施形態では、外部メモリが接続された際にプログラマブルコントローラが実行する制御が予め定められている例について説明した。しかしながら、外部メモリが接続された際に実行する制御を、外部メモリに応じて異ならせても良い。本実施形態では、接続された外部メモリに応じて、実行する制御を異ならせる例について説明する。
【００４４】
図５は、第２の実施形態にかかるプログラマブルコントローラ、及び外部メモリの構成を示すブロック図である。以下の説明では、上述した第１の実施形態と同一の構成要素には同一の符号を付してその説明を省略している。
【００４５】
第１の外部メモリ１５１には、第１の鍵情報５０１と対応付けて、第１の命令情報５０２が格納されている。第１の命令情報５０２は、第１の外部メモリ１５１が接続された際に、第１の鍵情報５０１で認証が行われた場合に、プログラマブルコントローラ１００が実行する命令とする。第１の命令情報としては、例えば、プログラマブルコントローラ１００に対する設定の変更などが考えられる。
【００４６】
一方、第２の外部メモリ１６１には、第１の鍵情報５０１と対応付けて、第２の命令情報５０３が格納されている。第２の命令情報５０３は、第２の外部メモリ１６１が接続された際に、第１の鍵情報５０１で認証が行われた場合に、プログラマブルコントローラ１００が実行する命令とする。
【００４７】
つまり、プログラマブルコントローラ１００は、第１の外部メモリ１５１が外部メモリ用カードスロット１０４に接続され、適切に認証が行われた場合に、第１の命令情報５０２を実行し、第２の外部メモリ１６１が外部メモリ用カードスロット１０４に接続され、適切に認証が行われた場合に、第２の命令情報５０３を実行する。このように、ユーザは、プログラマブルコントローラ１００に対して、実行させたい制御（命令）に対応する外部メモリを接続することで、当該制御を実行させることができる。これにより、プログラマブルコントローラ１００の操作部が小さくとも、ユーザはプログラマブルコントローラ１００で所望の操作を行うことができる。
【００４８】
次に、本実施形態にかかるプログラマブルコントローラ１００における、外部メモリの接続に関する処理について説明する。図６は、本実施形態にかかるプログラマブルコントローラ１００における上述した処理の手順を示すフローチャートである。
【００４９】
まずは、第１の実施形態の図３のステップＳ３０１〜Ｓ３０３までと同様に、ＣＰＵ１０３が、外部メモリに格納されている鍵情報が、不揮発性メモリ１０１に格納されている錠情報と対応しているか否かに基づいた外部メモリの認証まで行う（ステップＳ６０１〜Ｓ６０３）。鍵情報が錠情報に対応していない、換言すれば認証に失敗したと判定した場合（ステップＳ６０３：Ｎｏ）、ステップＳ６０４に進む。
【００５０】
そして、ステップＳ６０４においては、ＣＰＵ１０３は、操作部（例えば、緊急停止用スイッチ１０７や、小型スイッチ群１０８）からの操作（制御）を受け付けずに処理を終了する。
【００５１】
一方、鍵情報が錠情報に対応している、換言すれば認証に成功したと判定した場合（ステップＳ６０３：Ｙｅｓ）、ＣＰＵ１０３は、認証が行われた鍵情報と対応付けられた命令情報を実行する（ステップＳ６０５）。
【００５２】
その後、ＣＰＵ１０３は、操作部（例えば、緊急停止用スイッチ１０７や、小型スイッチ群１０８）からの操作（制御）の受け付けを開始する（ステップＳ６０６）。
【００５３】
また、外部メモリには、格納する鍵情報は１つに制限するものではなく、複数のプログラマブルコントローラを制御できるように、複数の鍵情報を格納しても良い。図７は、複数のプログラマブルコントローラに対応する外部メモリの概念を示した図である。図７に示される制御システムにおいては、第１のプログラマブルコントローラ７１０と、第２のプログラマブルコントローラ７１１と、第３のプログラマブルコントローラ７１２と、が設けられているものとする。
【００５４】
そして、第１のプログラマブルコントローラ７１０には、アクチュエータを制御するための複数のインターフェース装置（Ｉ／Ｏ）７０１Ａ〜７０１Ｄが接続されている。また、第２のプログラマブルコントローラ７１１には、アクチュエータを制御するための複数のインターフェース装置（Ｉ／Ｏ）７０２Ａ〜７０２Ｄが接続されている。さらに、第３のプログラマブルコントローラ７１２には、アクチュエータを制御するための複数のインターフェース装置（Ｉ／Ｏ）７０３Ａ〜７０３Ｃが接続されている。
【００５５】
そして、第１のプログラマブルコントローラ７１０は、不揮発性メモリに、第１の錠情報７２０を記憶し、第２のプログラマブルコントローラ７１１は、不揮発性メモリに、第２の錠情報７２１を記憶し、第３のプログラマブルコントローラ７１２は、不揮発性メモリに、第３の錠情報７２２を記憶する。
【００５６】
そして、外部メモリ７５０は、第１の錠情報７２０に対応する第１の鍵情報７５２と、第２の錠情報７２１に対応する第２の鍵情報７５４と、第３の錠情報７２２に対応する第３の鍵情報７５６と、を記憶している。これにより、外部メモリ７５０は、第１のプログラマブルコントローラ７１０〜第３のプログラマブルコントローラ７１２の各々に接続した際に、適切な認証を行うことができる。
【００５７】
そして、各プログラマブルコントローラ７１０〜７１２では、外部メモリ７５０が接続された際に、認証が行われた鍵情報と対応付けられた命令情報が実行される。つまり、第１のプログラマブルコントローラ７１０では第１の命令情報７５１が実行され、第２のプログラマブルコントローラ７１１では第２の命令情報７５３が実行され、第３のプログラマブルコントローラ７１２では第３の命令情報７５５が実行される。
【００５８】
これにより、ユーザは、複数のプログラマブルコントローラで作業を行わないと行けない場合に、各プログラマブルコントローラで行わなければならない作業に対応する命令を、各プログラマブルコントローラに対応する鍵情報と対応付けて、外部メモリに予め記憶させることで、各プログラマブルコントローラに外部メモリを接続した際に当該作業が行われるために、作業負担を軽減できる。
【００５９】
第２の実施形態では、従来において小型スイッチ等の設定を切り替えが必要だった操作を、外部メモリに記憶させ、当該外部メモリを接続することで実現できるため、操作誤りを防止できる。
【００６０】
（第３の実施形態）
第２の実施形態では、各プログラマブルコントローラに対応する命令を外部メモリに格納する例について説明した。しかしながら、外部メモリに鍵情報と対応付けて格納するのを命令に関する情報に制限するものではない。そこで、第３の実施形態では、システムプログラムを格納する例について説明する。
【００６１】
図８は、第３の実施形態にかかるプログラマブルコントローラ、及び外部メモリの構成を示すブロック図である。以下の説明では、上述した第１の実施形態と同一の構成要素には同一の符号を付してその説明を省略している。
【００６２】
第１の外部メモリ８０１には、第１の鍵情報８１２と対応付けて、第１のシステムプログラム８１１が格納され、第２の鍵情報８１４と対応付けて、第２のシステムプログラム８１３が格納されている。第１のシステムプログラム８１１は、外部メモリ８０１がプログラマブルコントローラ１００に接続された際に、プログラマブルコントローラ１００で更新したいシステムプログラムとする。第２のシステムプログラム８１３は、外部メモリ８０１がプログラマブルコントローラ１００以外の他のプログラマブルコントローラに接続された際に、当該他のプログラマブルコントローラで更新したいシステムプログラムとする。
【００６３】
本実施形態では、プログラマブルコントローラ１００において、認証が行われた鍵情報とシステムプログラムが対応付けられている場合に、ＣＰＵ１０３が、当該システムプログラムを用いて、システム用メモリ１０９に格納されているシステムプログラムを更新する。
【００６４】
ところで、制御システムにおいては、プログラマブルコントローラ毎に接続される機械が異なるために、プログラマブルコントローラ毎に更新するシステムプログラムが異なる場合がある。このような場合でも、外部メモリ８０１にプログラマブルコントローラに対応する鍵情報に対応付けてシステムコントローラを格納することで、各プログラマブルコントローラは、対応するシステムプログラムを更新できる。その際に、ユーザは、プログラマブルコントローラに対して、外部メモリ８０１を接続するだけでよいため、操作負担を軽減できる。
【００６５】
次に、本実施形態にかかるプログラマブルコントローラ１００における、外部メモリの接続に関する処理について説明する。図９は、本実施形態にかかるプログラマブルコントローラ１００における上述した処理の手順を示すフローチャートである。
【００６６】
まずは、第１の実施形態の図３のステップＳ３０１〜Ｓ３０３までと同様に、ＣＰＵ１０３が、外部メモリに格納されている鍵情報が、不揮発性メモリ１０１に格納されている錠情報と対応しているか否かに基づいた外部メモリの認証まで行う（ステップＳ９０１〜Ｓ９０３）。鍵情報が錠情報に対応していない、換言すれば認証に失敗したと判定した場合（ステップＳ９０３：Ｎｏ）、処理を終了する。
【００６７】
一方、鍵情報が錠情報に対応している、換言すれば認証に成功したと判定した場合（ステップＳ９０３：Ｙｅｓ）、ＣＰＵ１０３は、認証が行われた鍵情報と対応付けられたシステムプログラムで、システム用メモリ１０９内を更新する（ステップＳ９０４）。
【００６８】
本実施形態では、これにより、外部メモリを接続することで、システムプログラムが更新されるため、プログラマブルコントローラのメンテナンスを容易にすることができる。さらには、第２の実施形態と同様に、外部メモリに複数のプログラマブルコントローラに対応する複数のシステムプログラムを格納することで、１つの外部メモリで、複数のプログラマブルコントローラのメンテナンスを実現できる。
【００６９】
（第３の実施形態の変形例）
第３の実施形態では、鍵情報と対応付けられたシステムプログラムで更新を行う例について説明したが、鍵情報と対応付けられたシステムプログラムで更新を行うことに制限するものではない。変形例では、鍵情報と対応付けられたシステムプログラムを実行する例について説明する。
【００７０】
当該変形例においては、第１の外部メモリ８０１が接続された際に、ＣＰＵ１０３は、システム用メモリ１０９に格納されているシステムプログラム１１１の代わりに、第１の外部メモリ８０１に格納されている第１のシステムプログラム８１１を実行する。これにより、ユーザは、外部メモリ８０１の接続で、実行するプログラムを切り替えることができる。
【００７１】
第３の実施形態およびその変形例においては、プログラマブルコントローラに対応する鍵情報と対応付けられたシステムプログラムに限って実行させることができる。システムプログラムの実行により、システムプログラムのアップデートの他、ユーザプログラムの更新、シミュレーションモード、ログ機能、オンラインアップデートなどの、従来スイッチ番号の組み合わせで実現していた機能を、外部メモリの着脱で実現しても良い。このように、複数のプログラマブルコントローラの個々のメンテナンスを１つの外部メモリで実現できる。
【００７２】
上述した実施形態においては、プログラマブルコントローラに対する操作を、外部メモリの着脱で実現できるため、操作負担を軽減できる。
【００７３】
さらには、現在構築されるシステムは複雑かつ高度化されており、ひとつの制御システムは複数のプログラマブルコントローラにより構成されている。このためシステム担当者は個々のプログラマブルコントローラ毎に対して異なった操作手順を用いてシステムを保守する必要があった。このため、従来は、煩雑な操作をシステム保守員に強いるため、保守が困難で作業の手離れが悪いという問題が生じていた。
【００７４】
これに対して、上述した実施形態では、プログラマブルコントローラに実行させたい命令を、当該プログラマブルコントローラの鍵情報と対応付けておけば、当該外部メモリを接続した際に、当該命令が実行されるため、保守作業を容易にすることができる。
【００７５】
従来においては、プログラマブルコントローラは機器サイズが小型であるほど適用されるアプリケーションの幅が広がるため近年、機器サイズの小型化が進んでいた。そして、プログラマブルコントローラとしてはスイッチ群や、機器の状態を示すＬＥＤ等を搭載すると、スイッチ間の間隔が狭くなり、操作が難しかった。
【００７６】
これに対して、上述した実施形態のプログラマブルコンピュータにおいては、外部メモリが接続されている間に限り、操作を受け付け可能とすることで、誤操作を抑止することができる。
【００７７】
さらには、外部メモリの着脱で、プログラマブルコントローラの操作を実現できるため操作負担を軽減できる。さらには、小型化した際に発生するプログラマブルコントローラにおいて誤操作に基づく誤動作を抑止できる。
【００７８】
さらには、外部メモリに鍵情報を格納して、認証を行うことで、安全性を向上させることができる。
【００７９】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００８０】
１００…プログラマブルコントローラ、１０１…不揮発性メモリ、１０２…第１の錠情報、１０３…ＣＰＵ、１０４…外部メモリ用カードスロット、１０５…演算処理用ＡＳＩＣ、１０６  通信Ｉ／Ｆ、１０７…緊急停止用スイッチ、１０８…小型スイッチ群、１０９…システム用メモリ、１１０…ユーザプログラム、１１１…システムプログラム、１１２…ＬＥＤ群、１５１…第１の外部メモリ、１５２…第１の鍵情報、１６１…第２の外部メモリ、１６２…第２の鍵情報、４００…エンジニアリングツール、４０１…カードスロット、４０２…通信Ｉ／Ｆ、５０１…第１の鍵情報、５０２…第１の命令情報、５０３…第２の命令情報、８０１…外部メモリ、８１１…第１のシステムプログラム、８１２…第１の鍵情報、８１３…第２のシステムプログラム、８１４…第２の鍵情報。
【図１】
2015103186.tif 000003
【図２】
2015103186.tif 000004
【図３】
2015103186.tif 000005
【図４】
2015103186.tif 000006
【図５】
2015103186.tif 000007
【図６】
2015103186.tif 000008
【図７】
2015103186.tif 000009
【図８】
2015103186.tif 000010
【図９】
2015103186.tif 000011