(57)【要約】【課題】不揮発性外部記録媒体を用いてユーザプログラムの読み出し、書き換えが可能でありつつ、正当な権限を有さない操作者によるユーザプログラムの不正な読み出し、書き換えを防止するセキュリティ機能を有するプログラマブルコントローラを提供する。【解決手段】不揮発性外部記録媒体の装着可能なポートを有するプログラマブルコントローラにおいて、不揮発性外部記録媒体によるプログラムの複製転送、比較照合、運転許可を行うために、プログラマブルコントローラに不揮発性外部記録媒体を装着した際、プログラマブルコントローラ本体並びに外部記憶媒体に設定されたキーコードの一致照合を行う。【選択図】  図2
2015072645.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性外部記録媒体を装着可能なプログラマブルコントローラにおいて、
前記プログラマブルコントローラは、該プログラマブルコントローラに前記不揮発性外部記録媒体が接続された後、プログラマブルコントローラと外部記憶媒体とにそれぞれ記憶されているキーコードを照合することを特徴とするプログラマブルコントローラ。
【請求項２】
請求項１記載のプログラマブルコントローラであって、
前記照合の結果、キーコードが一致した場合には、プログラマブルコントローラから不揮発性記録媒体にユーザプログラムを転送し、
キーコードが一致しない場合には、プログラマブルコントローラと不揮発性外部記録媒体との間の情報の複製及び転送をさせないことを特徴とするプログラマブルコントローラ。
【請求項３】
請求項１記載のプログラマブルコントローラであって、
不揮発性外部記録媒体とプログラマブルコントローラが接続された後であって前記キーコードの照合の前に、不揮発性外部記録媒体に所定のキーコードが記録されているか否かを判別し、
記録されていない場合には、プログラマブルコントローラと不揮発性外部記録媒体との間の情報の複製及び転送をさせないことを特徴とするプログラマブルコントローラ。
【請求項４】
請求項１記載のプログラマブルコントローラであって、
不揮発性外部記録媒体とプログラマブルコントローラが接続された後であって前記キーコードの照合の前に、不揮発性外部記録媒体に所定のキーコードが記録されているか否かを判別し、
記録されている場合には、更にプログラマブルコントローラに所定のキーコードが記録されているか否かを判別し、
該キーコードが記録されていない場合には、前記不揮発性外部記録媒体にユーザプログラム及びキーコードを転送することを可能とすることを特徴とするプログラマブルコントローラ。
【請求項５】
請求項１乃至４のいずれかのプログラマブルコントローラであって、
前記キーコードは、前記不揮発性外部記録媒体を前記プログラマブルコントローラ以外に接続した場合には認識できないことを特徴とするプログラマブルコントローラ。
【請求項６】
請求項１に記載のプログラマブルコントローラであって、
前記不揮発性外部記録媒体は、前記プログラマブルコントローラが通電中若しくは運転中であっても抜き挿し可能で、かつ前記複製転送、前記照合、前記運転を実行可能であることを特徴とするプログラマブルコントローラ。
【請求項７】
請求項１乃至６いずれかに記載のプログラマブルコントローラであって、
前記プログラマブルコントローラは、本体部にスイッチを有し、
該スイッチの設定によって不揮発性外部記録媒体の認証用キーコードを設定できることを特徴とするプログラマブルコントローラ。
【請求項８】
請求項１乃至請求項３のいずれかに記載のプログラマブルコントローラであって、
前記プログラマブルコントローラは、該プログラマブルコントローラに前記不揮発性外部記録媒体が接続された後、キーコードとは別にパスワード入力を要求することを特徴とするプログラマブルコントローラ。
【請求項９】
請求項２記載のプログラマブルコントローラであって、
前記情報は、ユーザプログラムであることを特徴とするプログラマブルコントローラ。
【請求項１０】
請求項２記載のプログラマブルコントローラであって、
前記情報は、プログラマブルコントローラの内部機器に関するデータであることを特徴とするプログラマブルコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルコントローラに関する。
【背景技術】
【０００２】
本技術分野の背景技術として、WO２０１１/０９９１４６がある。この公報には、「ユーザプログラム１２に基づいて産業用機器を制御するＰＬＣ１において、第１キーデータ１１を記憶するアクセスプロテクトされた着脱可能な第１記憶部１０と、前記ユーザプログラム１２を第２キーデータ１３と対応づけて記憶する第２記憶部１５と、電源が投入されたとき、自ＰＬＣ１の起動処理を実行する起動処理部３１と、を備え、前記起動処理部３１は、自ＰＬＣ１に装着されている前記第１記憶部１０が記憶する第１キーデータ１１と前記第２記憶部１５に記憶されているユーザプログラム１２に対応づけられている第２キーデータ１３とを読み出して、前記読み出した二つのキーデータの照合に基づいて前記起動処理を続行するか前記起動処理を停止して異常処理を実行するかを決定する起動処理停止決定部３４、を備える。」と記載されている。
【０００３】
プログラマブルコントローラは、各種産業用機械メーカやユーザによって各々の対象の機械、装置、設備が所望の動作となるようユーザプログラム（制御プログラム）を作成し、作成したユーザプログラムをプログラマブルコントローラに組み込む。一般にこのユーザプログラムは、対象の機械、装置、設備が最適かつ合理的な動作となるような製造技術上のノウハウも含まれている。そのため、エンドユーザに機械、装置、設備を納入する際などユーザプログラムの無断複製や不当な改ざんを防止する目的や装置の保守作業者による不用意な誤操作でのプログラムの改変を防止する目的で、例えばユーザプログラムにパスワード保護をかけ、正当な権限を有さない操作者によるユーザプログラムの不正な読み出し、書き換えを防止するなどの措置がとられている。
【０００４】
一方で、量産設備メーカや同機能の設備を多数保有するユーザは、同じユーザプログラムを簡便に複数台に複製転送（コピー）したいという要求がある。
【０００５】
プログラマブルコントローラのユーザプログラムは、近年では一般的にパソコン上のプログラミングソフトウェアで作成し、パソコンとプログラマブルコントローラを通信ケーブルで接続し、通信でプログラムを転送（プログラマブルコントローラに書き込み）を行う。例えばフィールドで装置のプログラムの更新を行う際に、装置１台毎に上記の通りパソコンと通信ケーブルを接続してプログラム転送の操作を行うのは効率的ではなく、また近年のUSB（Universal  Serial  Bus）メモリやSD（Secure  Digital）メモリカードの小型化、低価格化に伴いこれらの不揮発性外部記録媒体を直接プログラマブルコントローラへ装着しユーザプログラムの読み出し、書き換えがパソコンレスで簡便にできることへの要求も少なくない。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】WO  2011/099146  A1
【発明の概要】
【発明が解決しようとする課題】
【０００７】
正当権限者のユーザプログラムの読み出し、書き換えの利便性を向上しつつ、正当権限を持たない者による不正行為を防止することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係るプログラマブルコントローラは、不揮発性外部記録媒体を装着可能であり、プログラマブルコントローラに不揮発性外部記録媒体が接続された後、プログラマブルコントローラと外部記憶媒体とにそれぞれ記憶されているキーコードを照合することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、正当権限者のユーザプログラムの読み出し、書き換えの利便性を向上しつつ、正当権限を持たない者による不正行為を防止することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明にかかるプログラマブルコントローラの構成を示す図である。
【図２】本発明にかかるプログラマブルコントローラの処理手順を示すフロー図である。
【図３】本発明にかかるプログラマブルコントローラの処理手順を示すフロー図である。
【発明を実施するための形態】
【００１１】
以下に、本発明にかかるプログラマブルコントローラの実施の形態を、図面に基づいて説明する。
【００１２】
図１は、本発明にかかるプログラマブルコントローラの構成を示す図である。プログラマブルコントローラ１にはパソコンとの通信ポート（例えばシリアル通信ポート２、LAN通信ポート3、USB通信ポート４）が設けてあり、従来からの手法通りパソコン（図示せず）と通信ケーブル（図示せず）でいずれかの通信ポートを接続し、通信でユーザプログラムを転送（プログラマブルコントローラ１に書き込み若しくはプログラマブルコントローラ１から読み出し）を行う。更に本発明にかかるプログラマブルコントローラ１には不揮発性外部記録媒体７を装着可能なポート５を設けてある。    
不揮発性外部記録媒体７を装着可能なポート５にUSB（Universal  Serial  Bus）メモリやSD（Secure  Digital）メモリカードなど市販の不揮発性外部記録媒体７を装着することで、以下の（１）〜（４）に示す操作が可能になる機能を具備している。
【００１３】
（１）プログラマブルコントローラ１の動作（運転）状態に影響を与えることなくプログラマブルコントローラ１本体内蔵メモリに記録されているユーザプログラムを不揮発性外部記録媒体７に複製転送（コピー）する機能
（２）不揮発性外部記録媒体７に記録されているユーザプログラムをプログラマブルコントローラ１本体内蔵メモリに複製転送（コピー）し、ユーザの指示したタイミングで新たに書き換えられたユーザプログラムで運転を開始する機能
（３）プログラマブルコントローラ１本体内蔵メモリに記録されているユーザプログラムを書き換えることなく不揮発性外部記録媒体７に記録されているユーザプログラムで運転を開始する機能
（４）プログラマブルコントローラ１の動作（運転）状態に影響を与えることなくプログラマブルコントローラ１本体内蔵メモリに記録されているユーザプログラムと不揮発性外部記録媒体７に記録されているユーザプログラムとを比較照合する機能
従って、本願発明に係るプログラマブルコントローラ１においても、従来からの手法通りパソコンと通信ケーブルを接続し、通信でユーザプログラムの転送（書き込み、読み出し、照合）を行うことができるとともに、不揮発性外部記録媒体７を用いることでパソコン並びに通信ケーブルを用いることなく、いわゆるパソコンレスでユーザプログラムの転送（書き込み、読み出し、照合）を行うことができるといった利便性を有している。
【００１４】
ここで、プログラマブルコントローラ１本体内蔵メモリに記録されているプログラムには、一般的に用いられるパスワードによる読み出し（表示）、書き換え（上書き）の制限をかけることができ、ユーザプログラムの保護セキュリティを確保している。しかしながら、前述の通り不揮発性外部記録媒体７を用いパソコンレスでユーザプログラムの転送（書き込み、読み出し、照合）を行える利便性の反面、パスワードで保護されたユーザプログラムをパスワードで保護された状態のまま不揮発性外部記録媒体７へ複製転送（コピー）し、別のプログラマブルコントローラへパスワードで保護された状態のまま複製転送（コピー）することもパソコンレスで簡便に行うことができてしまう。すなわち悪意のあるユーザがプログラム自体はパスワードで保護された状態のいわゆるブラックボックス化されたままで、別のプログラマブルコントローラに複製転送（コピー）し、無断使用、不正利用することも可能となっている。
【００１５】
そこで本発明に係るプログラマブルコントローラ１は、不揮発性外部記録媒体７にユーザプログラムとは別のキーコードを記録し、プログラマブルコントローラ１に不揮発性外部記録媒体７を装着した際にこのキーコードの照合を行い、同キーコードが一致した場合には前述のユーザプログラムに関わる操作を可能とする反面、同キーコードが不一致若しくは不揮発性外部記録媒体７にキーコードが記録されていない場合には、プログラマブルコントローラ１は不揮発性外部記録媒体７を認識せずに前述のユーザプログラムに関わる操作を一切出来なくするといったセキュリティ機能を付加した。
【００１６】
図２を用いて、同キーコードを用いたセキュリティ機能の実現手順を説明する。まず、パソコン上でユーザプログラムを作成する際は、プログラマブルコントローラ１のセキュリティ設定として不揮発性外部記録媒体７によるユーザプログラムの転送機能を有効にするか無効にするかのいずれかを選択し、同機能を有効にする場合には、ユーザプログラムの保護セキュリティパスワードとは異なる不揮発性外部記録媒体７認証用のキーコードを設定し、当該ユーザプログラムを不揮発性外部記録媒体７に保存する（Ｓ１）。なお、この操作の際にキーコードのデータは読み取り専用の隠しファイルとしてユーザプログラムと別ファイルとして保存される。
【００１７】
次に、ユーザプログラムとキーコードのデータが保存された不揮発性外部記録媒体７をプログラマブルコントローラ１に装着する（Ｓ２）。プログラマブルコントローラ１は同不揮発性外部記録媒体７にキーコードのデータが存在するか否か確認する（Ｓ４）。
【００１８】
不揮発性外部記録媒体７にキーコードのデータが存在しない場合、プログラマブルコントローラ１は不揮発性外部記録媒体７を認識せず、同不揮発性外部記録媒体７を用いたユーザプログラムに関わる操作は一切出来なくなる（Ｃ１）。
【００１９】
不揮発性外部記録媒体７にキーコードのデータが存在する場合、プログラマブルコントローラ１内にキーコードが存在するか否かを確認する（Ｓ５）。
【００２０】
プログラマブルコントローラ１内部にキーコードのデータが存在しない場合には、同プログラムコントローラは新品若しくは不揮発性外部記録媒体７を用いたユーザプログラムの転送に対して保護されていない状態と判断できるので、不揮発性外部記録媒体７に保存されたプログラムはプログラマブルコントローラ１にキーコードのデータとともに転送複製（書き込み）される（Ｃ２）。
【００２１】
プログラマブルコントローラ１内部にキーコードのデータが存在する場合、プログラマブルコントローラ１内部に記録されたキーコードのデータとの照合を行う（Ｓ５）。
【００２２】
キーコードの照合の結果、両者が不一致であれば、プログラマブルコントローラ１は不揮発性外部記録媒体７を認識せず、同不揮発性外部記録媒体７を用いたユーザプログラムに関わる操作は一切出来なくなる（Ｃ１）。両者が一致していれば、不揮発性外部記録媒体７に保存されたプログラムはプログラマブルコントローラ１にユーザプログラムのみ転送複製（コピー）される（Ｃ３）が、この場合には、キーコードのデータはプログラマブルコントローラ１にコピー（上書き）されない。
【００２３】
このように、読み出し操作では不揮発性外部記録媒体７にはキーコードのデータは転送されない点が本発明によるセキュリティ上重要なポイントとなる。以上の手順により、不正な不揮発性外部記録媒体によるユーザプログラムの不当な書き換え（改ざん）を防ぐことができる。
【００２４】
（Ｃ３）により不揮発性外部記録媒体７にユーザプログラムのみを転送複製した場合、その転送複製された不揮発性記録媒体７から更に同ユーザプログラムを別のプログラマブルコントローラ１に転送複製（書き込み）しようとしても、この不揮発性外部記録媒体７はキーコードを備えていないため、プロセスの（Ｓ３）においてプログラマブルコントローラ１が同不揮発性外部記録媒体７を認識せず、操作停止（Ｃ１）に導かれるのでユーザプログラムの転送はできない。これにより不当な不揮発性外部記録媒体７によるユーザプログラムの漏洩（無断盗用）を防ぐことができる。
【００２５】
また、図３に示すように、不揮発性外部記録媒体７に保存されたユーザプログラムをパソコン上のプログラミングツールで読み出し・編集しようとしても、同不揮発性外部記録媒体７にはキーコードのデータが存在しないため、読み出し（閲覧・編集）ができないようになっている。これにより、不当な手段によって転送複製（読み出し）されたユーザプログラムの不当な改ざんを防ぐことができる。
【００２６】
以上のように、本発明のプログラマブルコントローラ１は、いわゆるパソコンレスでユーザプログラムの転送、書き込み、読み出し、照合などを行うことができるという利便性を維持しつつ、パスワード保護に加えて、不揮発性外部記録媒体７認証用のキーコードを用いた二重のセキュリティ機能によって、正当権限を持たない者による不正なユーザプログラムの読み出し、書き換え操作を防止することができる。  
尚、USBメモリやSDメモリなどの不揮発性外部記録媒体７は、パソコンや携帯電話などに広く使われている市販の不揮発性外部記録媒体であり、これらはパソコンなどの機器本体が通電稼働中であっても抜き挿し、認識可能である。  
本発明によるプログラマブルコントローラ１においても、不揮発性外部記録媒体７を挿入した状態でプログラマブルコントローラ１の電源を投入した場合（プログラマブルコントローラ１起動時）のみならず、プログラマブルコントローラ１の通電中若しくは運転中であっても不揮発性外部記録媒体７を抜き挿し可能であり、不揮発性外部記録媒体７によるユーザプログラムの転送（書き込み、読み出し、照合）も可能である。
【００２７】
また、これまでユーザプログラムを保護対象として説明してきたが、プログラマブルコントローラ内部デバイスのデータ値（各デバイスの初期設定値（パラメータ値）や現在値情報など）も対象となり得る。
【００２８】
本発明の第２の実施例は、プログラマブルコントローラ１の本体に、不揮発性外部記録媒体７によるユーザプログラムの転送（書き込み、読み出し、照合）の選択機能とセキュリティキーとしての機能を割り当てたスイッチを設けた例である。
【００２９】
図１に示すディップスイッチ6の上位2ビットを機能選択のビットとして用い、同2ビットの組み合わせ（ON-ON、ON-OFF、OFF-ON、OFF-OFF）によって不揮発性外部記録媒体７をプログラマブルコントローラ１に装着した際の動作（不揮発性外部記録媒体からユーザプログラム書き込み、不揮発性外部記録媒体へのユーザプログラム読み出し、不揮発性外部記録媒体とプログラマブルコントローラのユーザプログラム照合、不揮発性外部記録媒体に保存されたユーザプログラムでの運転）を選択し得る機能を有している。すなわちこの2ビットを設定した後に不揮発性外部記録媒体７をプログラマブルコントローラ１に装着することでユーザプログラムの転送機能の選択を行っている。
【００３０】
ディップスイッチ6の下位6ビットは実施例1におけるプログラマブルコントローラ１に記録されているキーコードに相当するもので、同6ビットを予め設定したキーコード（パソコン上でユーザプログラムを作成、不揮発性外部記録媒体７に保存する際に設定した、不揮発性外部記録媒体７認証用のキーコード）と同じ値に設定した後に、不揮発性外部記録媒体７をプログラマブルコントローラ１に装着することで、実施例１同様に不揮発性外部記録媒体７に保存されたキーコードのデータと同6ビットで示される値との照合を行い、両者が一致した場合には実施例１同様にユーザプログラムの転送が可能とするものである。図１におけるディップスイッチ6は８ビットのディップスイッチであり、機能選択に上位2ビット、キーコードに下位6ビットを割り当ててあることから、ファイル転送機能は4種類、キーコードは64通り（2の6乗通り）としている。しかしながら、本発明によるプログラマブルコントローラ１は本例に限定されるものではなく、更に桁数の大きいディップスイッチの使用、ロータリースイッチなど複数種類スイッチとの組み合わせ、ディップスイッチのビット操作パターン（スイッチ操作を周辺ソフトウェアから定義化でき、プログラマブルコントローラ１本体に記憶させておく）による方式などが考えられ、無限にキーコードの種類を増やすことが可能である。本実施例によるプログラマブルコントローラ１は、いわゆるパスワード方式と同様にセキュリティが属人化しやすく、設定する操作者が設定を複雑にすればするほど解除も複雑になる反面、不正行為に対する保護効果が高くなる。
【符号の説明】
【００３１】
１・・・プログラマブルコントローラ
２・・・シリアル通信ポート
３・・・LAN通信ポート
４・・・USB通信ポート
５・・・不揮発性外部記録媒体装着ポート
６・・・ディップスイッチ
７・・・不揮発性外部記録媒体
【図１】
2015072645.tif 000003
【図２】
2015072645.tif 000004
【図３】
2015072645.tif 000005