説明

プログラマブル・コントローラ・システム

【課題】 より高いセキュリティレベルを備えたユーザ認証機能を有するPLCシステムを提供すること。
【解決手段】 作業コマンドの前後に所定の非公開のパスワード付きのプロテクト解除コマンド、プロテクト設定コマンドをそれぞれ付加して、それらのコマンドをプログラマブル・コントローラへと発行する付加機能を有するソフトウェアモジュールが存在する。制御プログラム開発支援装置プログラムモジュールが組み込まれたパソコンは、その起動時に付加機能を持つソフトウェアモジュールが当該パソコンの外部記憶装置に存在する場合には、そのモジュールを制御プログラム開発支援装置プログラムモジュールの一部としてリンクし、付加機能が動作するように仕組まれている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラマブル・コントローラ(以下、PLCと言う)と制御プログラム開発支援装置として機能するパソコンとを通信手段を介して結んでなるPLCシステムに係り、特に、ユーザ認証機能を有するPLCシステムに関する。
【背景技術】
【0002】
プログラマブル・コントローラ(以下、PLCと言う)と制御プログラム開発支援装置として機能するパソコンとを通信手段を介して結んでなるPLCシステムは、従来より知られている。
【0003】
このようなPLCシステムの一例が図15に示されている。同図に示されるように、このPLCシステムは、PLC2と制御プログラム開発支援装置1として機能するパソコン1aとを通信手段(例えば、RS232C等)を介して結んでなるものである。なお、図において、A1はパスワード記憶領域、A2はユーザプログラム記憶領域である。
【0004】
制御プログラム開発支援装置1はRS232C等の通信手段を介してPLC2との間で通信を行うことができ、この通信を介して、ユーザプログラム記憶領域A2に格納されているプログラムの読み出しや書き込みが可能である。さらに、制御プログラム開発支援装置1は、PLC2の動作を設定するメモリエリアのデータをモニタしたり、制御対象からの入力データや制御対象への出力データを格納するメモリエリアのデータをモニタすることなどが実現されている。
【0005】
このPLCシステムには、ユーザ認証機能が組み込まれている。この種のユーザ認証機能を有するPLCシステムについては、様々な文献に記載されている(例えば、特許文献1参照)。
【0006】
すなわち、PLC2内には、パスワード記憶領域A1とユーザプログラム領域A2とが設けられている。制御プログラム開発支援装置1からPLC2に対してプログラム読み出しのための通信コマンドが発行されたときに、PLC2内のパスワード記憶領域A1になんらかのパスワード情報が書き込まれていると、PLC2は制御プログラム開発支援装置1に対して、プログラム読み出し不可を意味するレスポンスコードを返送する。
【0007】
制御プログラム開発支援装置1には、パスワード設定機能とパスワード解除機能とが組み込まれている。パスワード設定機能が作動すると、PLC2のパスワード記憶領域A1に対してパスワード情報の書き込みが行われる。パスワードの解除機能が作動すると、PLC2のパスワード記憶領域A1から制御プログラム開発支援装置1へとパスワード情報が読み出される。このとき、制御プログラム開発支援装置1において、パスワード設定状態を解除するために入力されたパスワード情報とPLC2から読み出されたパスワード情報との一致が確認されると、PLC2上のパスワード記憶領域A1の初期化(パスワード設定状態が解除された状態)が可能となる。
【特許文献1】特開2003−162507公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
しかしながら、このような従来のユーザ認証機能(パスワードを用いて正規のユーザかどうかを判定する機能)を有するPLCシステムにあっては、次のような問題点が指摘されている。
【0009】
すなわち、第1には、ユーザ認証の仕組みが一般的な(マニュアルに記載されておりユーザがだれでも知りうる)仕様であるため、悪意を持った第三者がユーザ認証のしくみを分析し、パスワード入力を繰り返し試行すること等により正規のユーザになりすますことができる可能性がある。
【0010】
第2には、パスワードを知っている正規のユーザがプログラムの読み出しのためにパスワード入力によってプロテクトを解除した後に、プロテクトを再設定し忘れることがあり、結果、パスワードを知らない者もプログラムの読み出しが可能となると言った状況が起こり得る。
【0011】
この発明は、従来のユーザ認証機能を有するPLCシステムにおける上述の問題点に着目してなされたものであり、その目的とするところは、より高いセキュリティレベルを備えたユーザ認証機能を有するPLCシステムを提供することにある。
【0012】
この発明のさらに他の目的並びに作用効果については、明細書の以下の記述を参照することにより、当業者であれば容易に理解されるであろう。
【課題を解決するための手段】
【0013】
この発明のPLCシステムは、パスワードプロテクト機能を持つPLCと、パソコンに制御プログラム開発支援装置プログラムモジュールを組み込んでなる制御プログラム開発支援装置と、それらを結ぶ通信手段とを含んでいる。
【0014】
PLCには、パスワード記憶手段と、通信手段を介してプロテクト設定コマンドが到来するのに応答して、パスワード記憶手段に指定のパスワードを書き込むことにより、プロテクト設定状態を記憶するプロテクト設定手段と、通信手段を介してパスワード解除コマンドが到来するのに応答して、パスワード記憶手段に記憶されたパスワードを消去乃至初期化することにより、プロテクト解除状態を記憶するプロテクト解除手段と、通信手段を介してプログラム書き込みコマンドやプログラム読み出しコマンド等の作業コマンドが到来するのに応答して、プロテクトが解除されていることを条件として、指定された作業を実行する作業実行手段と、が設けられている。
【0015】
制御プログラム開発支援装置には、所定の操作に応答して、プログラム書き込みコマンドやプログラム読み出しコマンド等の作業コマンドを生成する作業コマンド生成手段と、作業コマンド生成手段により作業コマンドが生成されるのに応答して、その作業コマンドの前後に所定の非公開のパスワード付きのプロテクト解除コマンド、プロテクト設定コマンドをそれぞれ付加して、それらのコマンドをPLCへと発行する付加機能を実行する付加機能実行手段と、が設けられている。
【0016】
さらに、付加機能実行手段は、制御プログラム開発支援装置としての機能を実現する制御プログラム開発支援装置プログラムモジュールとは異なるソフトウェアモジュールとして付加機能を実行するように構成されており、制御プログラム開発支援装置プログラムモジュールは、その起動時に付加機能を持つソフトウェアモジュールが当該パソコンの外部記憶装置に存在するか否かをチェックし、付加機能を持つソフトウェアモジュールが存在する場合には、付加機能を持つソフトウェアモジュールを制御プログラム開発支援装置プログラムモジュールのプログラムの一部としてリンクし、付加機能が動作するように仕組まれている。
【0017】
本発明PLCシステムの好ましい実施の形態にあっては、制御プログラム開発支援装置プログラムモジュールが組み込まれたパソコンには、所定のパスワードコードを記憶させたメモリを内蔵するハードウェアキーが着脱自在に装着されており、付加機能を持つソフトウェアモジュールは、ハードウェアキーの認証を、付加機能実行の条件とするように仕組まれている。
【0018】
本発明PLCシステムの好ましい他の実施の形態にあっては、付加機能実行手段にて使用される非公開のパスワードは、ハードウェアキー内のパスワードと対応したパスワードとされる。
【0019】
本発明PLCシステムの好ましい他の実施の形態にあっては、制御プログラム開発支援装置は、所定の操作に応答して、プロテクト設定用の通信コマンドを発行するプロテクト設定コマンド発行手段と、所定の操作に応答して、プロテクト解除用の通信コマンドを発行するプロテクト解除コマンド発行手段と、をさらに有し、付加機能を有するソフトウェアモジュールがパソコンに存在しないときには、従来の手動によるプロテクト設定又は解除が可能とされている。
【0020】
別の一面から見た本発明は、パスワードプロテクト機能を持つプログラマブル・コントローラに対して通信を介して接続可能であって、パソコンに制御プログラム開発支援装置プログラムモジュールを組み込むことで構成される制御プログラム開発支援装置として捉えることもできる。
【0021】
この制御プログラム開発支援装置には、所定の操作に応答して、プログラム書き込みコマンドやプログラム読み出しコマンド等の作業コマンドを生成する作業コマンド生成手段と、作業コマンド生成手段により作業コマンドが生成されるのに応答して、その作業コマンドの前後に所定の非公開のパスワード付きのプロテクト解除コマンド、プロテクト設定コマンドをそれぞれ付加して、それらのコマンドをプログラマブル・コントローラへと発行する付加機能を実行する付加機能実行手段と、が設けられている。
【0022】
付加機能実行手段は、制御プログラム開発支援装置としての機能を実現する制御プログラム開発支援装置プログラムモジュールとは異なるソフトウェアモジュールとして付加機能を実行するように構成されており、制御プログラム開発支援装置プログラムモジュールは、その起動時に付加機能を持つソフトウェアモジュールが当該パソコンの外部記憶装置に存在するか否かをチェックし、付加機能を持つソフトウェアモジュールが存在する場合には、付加機能を持つソフトウェアモジュールを制御プログラム開発支援装置プログラムモジュールのプログラムの一部としてリンクし、付加機能が動作するように仕組まれている。
【0023】
本発明装置の好ましい実施の形態にあっては、制御プログラム開発支援装置プログラムモジュールが組み込まれたパソコンには、所定のパスワードコードを記憶させたメモリを内蔵するハードウェアキーが着脱自在に装着されており、付加機能を持つソフトウェアモジュールは、ハードウェアキーの認証を、付加機能実行の条件とするように仕組まれている。
【0024】
本発明装置の好ましい他の実施の形態にあっては、付加機能実行手段にて使用される非公開のパスワードは、ハードウェアキー内のパスワードと対応したパスワードとされる
【0025】
本発明装置の好ましい他の実施の形態にあっては、所定の操作に応答して、プロテクト設定用の通信コマンドを発行するプロテクト設定コマンド発行手段と、所定の操作に応答して、プロテクト解除用の通信コマンドを発行するプロテクト解除コマンド発行手段と、をさらに有し、付加機能を有するソフトウェアモジュールがパソコンに存在しないときには、手動によるプロテクト設定又は解除が可能とされている。
【0026】
さらに別の一面から見た本発明は、パスワードプロテクト機能を持つプログラマブル・コントローラに対して通信を介して接続可能であって、パソコンに制御プログラム開発支援装置プログラムモジュールを組み込むことで構成される制御プログラム開発支援装置として捉えることもできる。
【0027】
この制御プログラム開発支援装置には、所定の操作に応答して、プログラム書き込みコマンドやプログラム読み出しコマンド等の作業コマンドを生成する作業コマンド生成手段と、作業コマンド生成手段により作業コマンドが生成されるのに応答して、その作業コマンドの前後に所定の非公開のパスワード付きのプロテクト解除コマンド、プロテクト設定コマンドをそれぞれ付加して、それらのコマンドをプログラマブル・コントローラへと発行する付加機能を実行する付加機能実行手段と、が設けられている。
【0028】
さらに、この制御プログラム開発支援装置は、所定のパスワードコードを記憶させたメモリを内蔵するハードウェアキーが着脱可能に構成されている。
【0029】
制御プログラム開発支援装置プログラムモジュールは、その起動時にハードウェアキーの認証を行なう機能を持つソフトウェアモジュールが当該パソコンの外部記憶装置に存在するか否かをチェックし、ハードウェアキーの認証を行なう機能を持つソフトウェアモジュールが存在する場合には、ハードウェアキーの認証を行なう機能を持つソフトウェアモジュールを制御プログラム開発支援装置プログラムモジュールのプログラムのプログラムの一部としてリンクし、ハードウェアキーの認証機能が動作するように仕組まれている。
【0030】
本発明装置の好ましい実施の形態にあっては、付加機能実行手段は、ハードウェアキーの認証を、付加機能実行の条件とするように仕組まれている。
【0031】
本発明装置の好ましい他の実施の形態にあっては、付加機能実行手段にて使用される非公開のパスワードは、ハードウェアキー内のパスワードと対応したパスワードとされる。
【0032】
本発明装置の好ましい他の実施の形態にあっては、所定の操作に応答して、プロテクト設定用の通信コマンドを発行するプロテクト設定コマンド発行手段と、所定の操作に応答して、プロテクト解除用の通信コマンドを発行するプロテクト解除コマンド発行手段と、をさらに有し、ハードウェアキーの認証を行なう機能を有するソフトウェアモジュールがパソコンに存在しないときには、手動によるプロテクト設定又は解除が可能とされている。
【発明の効果】
【0033】
この発明によれば、PLC単体のプロテクトのしくみだけではなく、ハードウェアキーの認証のためのソフトウェアモジュールが制御プログラム開発支援装置を構成するパソコンにインストールされていることおよびハードウェアキーが装着されてことを条件にプロテクトの設定/解除が自動的にできるようになるため、次のような作用効果を奏する。
(1)一般的に知られているプロテクトの仕様を解析して実行したとしてもハードウェアキーに対応したパスワードでないとパスワード解除ができない。また、パスワードの解除後に再設定する必要がないためプロテクトの再設定のし忘れという状態がない。したがって、セキュリティレベルが向上する。
(2)既存のPLCのパスワードプロテクトの仕組みを変更することなしに制御プログラム開発支援装置に機能を追加するのみで実現できる。そのため、既存のパスワードプロテクトの仕組みを持つPLCであれば本発明によるプロテクト機能が実現でき、PLCに対するユーザの追加投資が不要となる。
(3)PLCや制御プログラム開発支援装置は汎用品を用いることができるため、PLCおよび制御プログラム開発支援装置を提供するメーカがユーザ毎に専用の商品を提供する必要がなくなるため、メーカの商品管理・維持の面でコスト的なメリットがある。
【発明を実施するための最良の形態】
【0034】
以下に、この発明に係るユーザ認証機能を有するPLCシステムの好適な実施の一形態を添付図面を参照しながら詳細に説明する。
【0035】
本発明システムの模式的構成図が図1に示されている。同図に示されるように、このPLCシステムは、PLC2と制御プログラム開発支援装置1として機能するパソコン1aとを通信手段(例えば、RS232C等)を介して結んでなるものである。なお、図において、A1はパスワード記憶領域、A2はユーザプログラム記憶領域である。ユーザが制御プログラム開発支援装置1上で作成したプログラム(ユーザが作成したプログラムという意味でユーザプログラムと呼ばれる)は、PLC2上のユーザプログラム記憶領域A2に格納される。
【0036】
制御プログラム開発支援装置1内には、本発明の要部であるところの付加機能を持つソフトウェアモジュール10が組み込まれている。このモジュール10の機能については、のちに、詳細に説明する。パソコン1aには、ハードウェアキー11が着脱自在に装着されている。このハードウェアキー11としては、例えばパソコンのUSBソケットに装着可能なUSBプラグ付のケースを有するフラッシュメモリ(通称:USBメモリ)等の着脱自在なメモリ媒体で構成されており、このハードウェアキー11の中には、所定のパスワードコード11a(図3参照)が記憶されている。
【0037】
制御プログラム開発支援装置のソフトウェア構成図が図2に示されている。同図において、1は制御プログラム開発支援装置(プログラムモジュール)、10は付加機能を有するソフトウェアモジュール、F1はソフトウェア的に実現されるプログラムの読み出し機能、F2はソフトウェア的に実現されるプログラムの書き込み機能である。ここで、プログラムの読み出し機能F1の読み出し対象となるプログラムは、PLC2上のユーザプログラム記憶領域A2に格納されているユーザプログラムのことである。また、プログラムの書き込み機能F2の書き込み対象となるプログラムは、制御プログラム開発支援装置1上に存在するユーザプログラムのことである。
【0038】
図から明らかなように、付加機能を有するソフトウェアモジュール10内には、ハードウェアキー用ドライバ10aと、ハードウェアキー用ドライバとのインタフェース(I/F)10bと、のちに詳述する付加機能10cと、ハードウェアキー認証モジュール10dとが含まれている。
【0039】
のちに詳細に説明するように、制御プログラム開発支援装置1内には、パスワードの設定又は解除をユーザの操作時(例えば、ユーザプログラム読み出し操作時、ユーザプログラムの書き込み操作時等)に自動的に行う仕組みを付加機能として有する。
【0040】
この付加機能は、より具体的には、ユーザの操作が例えば「ユーザプログラム読み出し操作」であったときには、ユーザプログラムの読み出し時にパスワードプロテクトの解除・設定の期間が最小となるように、以下の手順で所定の動作を実行するものである。

第1のステップ: RS232C等の通信を利用して、PLCに対してプログラム読み出しのための通信コマンドを送り込み、そのレスポンスを待って、PLC側にプロテクトが設定されているか、解除されているかを判定する。

第2のステップ: 第1のステップでプロテクトが設定されていると判定されるときには、PLC内のパスワード記憶領域を初期化する一方、第1のステップでプロテクトが解除されていると判定されるときには、続く第3のステップへ直ちに移行する。

第3のステップ: プログラムを読み出す処理を実行する。その後、先のステップ(第2のステップ)において、プロテクトが設定されていたときには、パスワード記憶領域にパスワードを書き込んで処理を終了する。
【0041】
のちに詳細に説明するように、このような付加機能は、制御プログラム開発支援装置における以下の内部処理にて実現される。

第1のステップ: 制御プログラム開発支援装置が起動される。

第2のステップ: 制御プログラム開発支援装置は初期処理の中で、付加機能を有するソフトウェアモジュールファイルがパソコン内の補助記憶装置に存在するか否かをチェックする。

第3のステップ: 付加機能を有するソフトウェアモジュールがパソコン内の補助記憶装置に存在する場合には、制御プログラム開発支援装置が実行されているパソコンのメモリ空間に読み出され、制御プログラム開発支援装置モジュールにリンクされる。以後、付加機能が実行可能な状態となる。

第4のステップ: 付加機能を有するソフトウェアモジュールがパソコン内の補助記憶装置に存在しない場合には、以後の処理を継続する。
【0042】
また、付加機能を有するソフトウェアモジュールは、ハードウェアキーを認証し、付加機能を実行する条件とすることができる。具体的には、付加機能を有するソフトウェアモジュール内には、ハードウェアキーを認証する処理が含まれている。ハードウェアキーが認証された場合には、付加機能が実行可能な状態となる。
【0043】
さらに、パスワード記憶領域の記憶情報と照合されたり、あるいは、パスワード記憶領域への書き込みに使用されるパスワード情報は、ハードウェアキー内の認証情報と対応したパスワードとし、従来のPLCシステムにおける制御プログラム開発支援装置を用いてユーザが設定したり解除したりすることができないパスワードとすることができる。このパスワード情報は、セキュリティの観点からは、付加機能を有するソフトウェアモジュール内に持たせる方が望ましい。
【0044】
次に、制御プログラム開発支援装置1を構成するパソコン1aの構成図が図3に示されている。同図に示されるように、パソコン1aは、パソコン本体12と、マウスやキーボード等の入力装置13と、CRTや液晶ディスプレイ等で構成される表示装置14とを有する。
【0045】
パソコン本体12とPLCのCPUユニット20とはインタフェース(RS232C等)126を介してデータのやり取りが可能となっている。また、パソコン本体12には、ハードウェアキー11が着脱自在に装着されている。ハードウェアキー11はパソコンのパラレルポート、シリアルポートなどに接続されるもので、内部にメモリを具備し、そのメモリにはパスワードコード11aが格納されている。
【0046】
パソコン本体12内には、システム全体を統括制御するためのCPU121と、メモリ122と、ハードディスク等の補助記憶装置123と、表示制御用メモリ124と、それらを繋ぐシステムバス125とが内蔵されている。
【0047】
補助記憶装置123内には制御プログラム開発支援装置プログラムモジュール、付加機能を持つソフトウェアモジュール等が格納され、制御プログラム開発支援装置プログラムの起動指令により、メモリ122上に展開される。
【0048】
図示の例にあっては、メモリ122内には、制御プログラム開発支援装置プログラムモジュール122aと、ハードウェアキーにバス経由でアクセスするためのハードウェアキー用ドライバ122bと、ハードウェアキーの認証を行うためのパスワードコード122dを備えたハードウェア認証モジュール122cと、ハードウェアキー認証フラグメモリエリア122eと、ユーザプログラムデータエリア122fとが含まれている。図示されていないが、付加機能を実行するソフトウェアモジュールもメモリ122上に展開されている。
【0049】
ソフトウェアの構成要素としては、制御プログラム開発支援装置プログラムモジュール122aと、ハードウェアキー用ドライバ122bと、ハードウェアキー認証モジュール122cとを備えている。
【0050】
なお、ハードウェアキー認証モジュール122cが備えているパスワードコード122dとハードウェアキーに格納されているパスワードコード11aは同じコードであり、ユーザによって予め設定されているものとする。また、ハードウェアキー11がハードウェア認証モジュール122cにより正しく認証された場合、CPUのメモリ空間上にあるハードウェアキー認証フラグメモリエリア122eにハードウェアキー認証が正しく行われたことを意味する値がセットされる。
【0051】
次に、PLCのCPUユニットの構成図が図4に示されている。このPLCは所謂ビルディングブロック型のもので、CPUユニットの他に、I/Oユニット、特殊機能ユニット等々を含んでPLCの全体が構成されており、図4ではそれらユニットの中で、CPUユニット20のみが取り出して示されている。
【0052】
同図に示されるように、CPUユニット20は、CPUユニットの全体を統括するマイクロプロセッサ20aと、PLCとしての機能を実現するに必要な各種のシステムプログラムを格納させたROM20bと、各種演算の途中結果等の一時記憶エリア等として使用されるワークRAM20cと、異常通知の設定や異常ステータス等を格納するためのデータ格納用の不揮発性メモリ20dと、ユーザが作成した制御プログラム(ユーザプログラム)を格納するためのユーザメモリ20eと、外部I/O割付用メモリやユーザプログラムで使用されるデータメモリ等として機能する入出力メモリ(IOM)20fと、ユーザプログラム(命令)実行処理、通信ユニットインタフェース処理、メモリアクセスバス調停処理等を実行するためのASIC20gとを含んでいる。
【0053】
この種のPLCの基本的な機能乃至処理については、既に、各種の文献などにより周知であるから詳細な説明は省略するが、例えば、図13に示されるように、電源ON時処理(ステップ1301)を実行した後、共通処理(ステップ1302)に続いて、演算処理(ステップ1303)、I/Oリフレッシュ処理(ステップ1304)、周辺サービス処理(ステップ1305)を繰り返し実行するように構成されている。
【0054】
次に、制御プログラム開発支援装置の処理全体を示すゼネラルフローチャートが、図5に示されている。同図にされるように、制御プログラム開発支援装置の処理の全体は、ユーザ操作による起動指示を受け付けた直後に実行される起動時処理(ステップ501)と、起動時処理(ステップ501)に続いて繰り返し実行される定常時処理(ステップ502)と、終了操作を待って(ステップ503YES)実行される終了時処理(ステップ504)とから構成されている。
【0055】
起動時処理(ステップ501)の詳細が図6に示されている。同図において処理が開始されると、ハードウェアおよびソフトウェア全体の初期処理(ステップ601)を行った後、パソコン上のメモリ空間に割り当てられる「ハードウェアキー認証フラグメモリエリア」122eを初期化する(ステップ602)。このメモリエリア122eは、パソコン1aに装着されるハードウェアキー11が認証済または未認証の2値を持ち、初期化処理においては未認証の値をセットする。
【0056】
続いて、ハードウェア認証モジュール122cが補助記憶装置123に存在するか否かをチェックし(ステップ603)、存在する場合は(ステップ603YES)、ハードウェア認証モジュール122cを制御プログラム開発支援装置プログラムモジュール122aの一部として動作するように、パソコン1aのメモリ空間に読み出す(ステップ604)。ステップ603は、付加機能を持つソフトウェアモジュールがパソコンに存在するかどうかを確認するための処理である。なぜなら、ハードウェア認証モジュール122cは付加機能を持つソフトウェアモジュールに含まれているからである。付加機能を持つソフトウェアモジュールに含まれているならば何れいずれのソフトウェアモジュールでもデータファイルでも良い。
【0057】
続いて、ハードウェアキー用ドライバ(ソフトウェアモジュール)122bを介して、ハードウェアキー11がパソコン1aに装着されているか否かをチェックする(ステップ605)。ここで、ハードウェアキー11がパソコン1aに装着されている場合は(ステップ606YES)、ハードウェアキー用ドライバ(ソフトウェアモジュール)122bを介して、ハードウェアキー11のメモリ上に格納されているパスワードコード11aを読み出して(ステップ607)、ハードウェアキー認証モジュール122c内に存在するパスワードコード122dとを比較する。
【0058】
ここで、ハードウェアキー11のパスワードコード11aとハードウェアキー認証モジュール122c内のパスワードコード122dとが一致する場合には(ステップ608YES)、ハードウェアキー認証フラグメモリエリア122eに認証済の値をセットする(ステップ609)。
【0059】
これに対して、ハードウェア認証モジュール122cが存在しない場合は(ステップ603NO)、起動時処理(図5、ステップ501)を直ちに終了して、定常時処理(図5、ステップ502)へと移行し、従前通りのセキュリティレベルを有する制御プログラム開発支援装置として動作する。
【0060】
なお、ハードウェア認証モジュール122cが存在しても(ステップ603YES)、ハードウェアキー11が存在しないか(ステップ606NO)、あるいは、ハードウェアキー11のメモリ上に格納されているパスワードコード11aとハードウェア認証キー認証モジュール122c内に存在するパスワードコード122dとが一致しない場合についても(ステップ608NO)、従前通りのセキュリティレベルを有する制御プログラム開発支援装置として動作する。
【0061】
従って、制御プログラム開発支援装置1に加え、ハードウェアキー11およびハードウェアキー認証モジュール122cが存在し、ハードウェアキー11およびハードウェアキー認証モジュール122c内にそれぞれ持つパスワードコードが一致する場合に限り、本発明のセキュリティレベルの高いパスワードプロテクト機能が動作することが理解されるであろう。
【0062】
定常時処理(ステップ502)の詳細を示すフローチャートが図7に示されている。同図に示されるように、この定常時処理においては、パソコン1aの入力装置13を構成するキーボードやマウスによる機能選択操作(ステップ701)によりいずれの機能が選択されたかを判定し(ステップ702,704,706,708,709,711)、それらの判定結果に応じて、PLCとの接続処理(ステップ703)、PLCプログラムの読み出し処理(ステップ705)、PLCプログラムの書き込み処理(ステップ707)、PLCプログラムのプロテクト設定処理(ステップ710)、又はPLCプログラムのプロテクト解除処理(ステップ712)のいずれかを択一的に実行する。なお、図7および図7の説明文中のPLCプログラムとは、PLC2のユーザプログラム記憶領域A2に格納されるユーザプログラムのことである。
【0063】
PLCとの接続処理(ステップ703)の詳細フローチャートが図8示されている。同図において、処理が開始されると、ハードウェアキー認証フラグメモリエリア122eの内容を読み出すと共に(ステップ801)、その内容に基づいてハードウェアキー認証フラグメモリエリア122eが認証状態であるか否かを判定する(ステップ802)。なお、図8および図8の説明文中のプログラムとは、図7および図7の説明文中のPLCプログラムのことである。
【0064】
ここで、ハードウェアキー認証フラグメモリエリア122eが認証状態であると判定されると(ステップ802YES)、CPUユニット20に対してプログラム読み出しの通信コマンドを発行する(ステップ803)。このとき、CPUユニット20からはプログラム読み出しの通信コマンドのレスポンスとして、正常に読み出せるか、プロテクト中で読み出せないかのいずれかが返ってくる。そのレスポンスに基づいてプログラムはプロテクト中であるか否かの判定を行う(ステップ804)。
【0065】
ここで、プログラムがプロテクト中でないと判定されると(ステップ804NO)、強制的にハードウェアキー11のパスワード11aをプログラムにセットするか否かの問い合わせが表示装置14を介してオペレータに対してなされ(ステップ807)、オペレータからの返答を待って(ステップ808)、強制的にハードウェアキー11のパスワードコード11aをセットすべきか否かを判定する(ステップ809)。
【0066】
ここで、強制的にハードウェアキー11のパスワード11aをセットすべきとの返答の場合には(ステップ809YES)、ハードウェアキー認証モジュール122c内のパスワードコード122dをセットしてCPUユニット20へ強制的なプロテクト設定の通信コマンドを発行する(ステップ810)。
【0067】
しかるのち、オンライン接続時の初期処理(モニタ開始処理など)を実行して(ステップ811)、PLC2との接続処理は終了する。
【0068】
これに対して、ハードウェアキー認証フラグメモリエリア122eが認証状態でないときには(ステップ802NO)、コマンド発行処理(ステップ803,810)はいずれもスキップされて、直ちにオンライン接続時の初期処理(モニタ開始処理など)が実行されて(ステップ811)、PLC2との接続処理は終了する。
【0069】
なお、ハードウェアキー認証フラグメモリエリアが認証状態であったとしても(ステップ802YES)、プログラムがプロテクト中であったときには(ステップ804YES)、通信コマンド発行処理(ステップ810)はスキップされて、オンライン接続時の初期処理(モニタ開始処理など)が実行される(ステップ811)。
【0070】
これにより、ハードウェアキー11が正しく認証されている場合は、オンライン接続時に自動的にパスワードを設定することで、以後、ハードウェアキー11が正しく認証されている制御プログラム開発支援装置に限り、プログラムの読み出しや書き込みが可能な状態を作り出す。
【0071】
PLCプログラムの読み出し処理(ステップ705)の詳細フローチャートが図9に示されている。同図において、処理が開始されると、先ず、ハードウェアキー認証フラグエリア122eの内容を読み出し(ステップ901)、続いてハードウェアキー認証メモリエリア122eが認証状態か否かをチェックする(ステップ902)。なお、図8および図8の説明文中のプログラムとは、図7および図7の説明文中のPLCプログラムのことである。
【0072】
ここで、ハードウェアキー認証フラグメモリエリア122eが認証状態であると判定されると(ステップ902YES)、続いてCPUユニット20へプログラムプロテクト解除の通信コマンドを発行したのち(ステップ903)、続いてCPUユニット20からの返信に基づいて、プログラムは既にプロテクト中であるか否かの判定を行う(ステップ904)。
【0073】
ここで、プログラムがプロテクト中ではないと判定されると(ステップ904NO)、CPUユニット20へプログラム読み出しの通信コマンドを発行する(ステップ905)。しかるのち、CPUユニット20へとプログラムプロテクト設定の通信コマンドを発行して処理を終了する(ステップ907)。これに対して、プログラムがプロテクト中であると判定されると(ステップ904YES)、プログラムがプロテクト中である旨を表示装置14を介して表示したのち(ステップ906)、処理を終了する。
【0074】
このようにプログラム読み出し処理にあっては、ハードウェアキー認証フラグメモリエリア122eを読み出し(ステップ901)、ハードウェア認証フラグメモリエリアが認証状態か否かをチェックする(ステップ902)。認証状態の場合は(ステップ902YES)、プログラムプロテクトを解除する通信コマンドを通信インタフェース126を介しCPUユニット20へ発行する(ステップ903)。その後、プログラムを読み出す通信コマンドを通信インタフェース126を介しCPUユニット20へ発行し、プログラムを読み出す。そして、プログラムプロテクトをセットする通信コマンドを通信インタフェース126を介しCPUユニット20へ発行する。
【0075】
これにより、プログラムのプロテクト状態をプログラム読み出し処理の直前および直後にそれぞれ解除・設定することにより、他に接続している制御プログラム開発支援装置からのアクセスを禁止する。
【0076】
PLCプログラムの書き込み処理(ステップ707)の詳細フローチャートが図10に示されている。同図において、処理が開始されると、先ず、ハードウェアキー認証フラグエリア122eの内容を読み出し(ステップ1001)、続いてハードウェアキー認証メモリエリア122eが認証状態か否かをチェックする(ステップ1002)。
【0077】
ここで、ハードウェアキー認証フラグメモリエリア122eが認証状態であると判定されると(ステップ1002YES)、続いてCPUユニット20へプログラムプロテクト解除の通信コマンドを発行したのち(ステップ1003)、続いてCPUユニット20からの返信に基づいて、プログラムは既にプロテクト中であるか否かの判定を行う(ステップ1004)。
【0078】
ここで、プログラムがプロテクト中ではないと判定されると(ステップ1004NO)、CPUユニット20へプログラム書き込みの通信コマンドを発行する(ステップ1005)。しかるのち、CPUユニット20へとプログラムプロテクト設定の通信コマンドを発行して処理を終了する(ステップ1007)。これに対して、プログラムがプロテクト中であると判定されると(ステップ1004YES)、プログラムがプロテクト中である旨を表示装置14を介して表示したのち(ステップ1006)、処理を終了する。
【0079】
このようにプログラム書き込み処理にあっては、ハードウェアキー認証フラグメモリエリア122eを読み出し(ステップ1001)、ハードウェア認証フラグメモリエリアが認証状態か否かをチェックする(ステップ1002)。認証状態の場合は(ステップ1002YES)、プログラムプロテクトを解除する通信コマンドを通信インタフェース126を介しCPUユニット20へ発行する(ステップ1003)。その後、プログラムを書き込む通信コマンドを通信インタフェース126を介しCPUユニット20へ発行し、プログラムを書き込む。そして、プログラムプロテクトをセットする通信コマンドを通信インタフェース126を介しCPUユニット20へ発行する。
【0080】
これにより、プログラムのプロテクト状態をプログラム書き込み処理の直前および直後にそれぞれ解除・設定することにより、他に接続している制御プログラム開発支援装置からのアクセスを禁止する。
【0081】
PLCプログラムのプロテクト設定処理(ステップ710)の詳細フローチャートが図11に示されている。図11に示される処理は、従前通りのセキュリティレベルを有する制御プログラム開発支援装置として動作する場合のプロテクト設定処理を説明するものである。本処理は、図6に示す起動時の処理において、ハードウェアキー11またはハードウェアキー認証モジュール122cが存在しないか、存在してもハードウェアキー11およびハードウェアキー認証モジュール122c内にそれぞれ持つパスワードコード11a,122dが一致していない場合に動作するようになっている。なお、図11および図11の説明文中のプログラムとは、図7および図7の説明文中のPLCプログラムのことである。
【0082】
同図において、処理が開始されると、CPUユニット20へプログラム読み出しの通信コマンドを発行したのち(ステップ1101)、その通信コマンドに対するレスポンスに基づいてプログラムはプロテクト中であるか否かをチェックする(ステップ1102)。
【0083】
ここで、CPUユニット20からのレスポンスに基づいて、プログラムがプロテクト中であると判定されると(ステップ1102YES)、プログラムがプロテクト中である旨を表示装置14を介して表示したのち(ステップ1103)、オペレータからの設定済みのパスワード入力を待機する(ステップ1104)。
【0084】
オペレータによってパスワードが入力されると、CPUユニット20に対して、パスワード取得の通信コマンドを発行したのち(ステップ1105)、CPUユニット20からのレスポンスを待って、入力されたパスワードとCPUユニット20上のパスワードとの照合を行う(ステップ1106)。
【0085】
ここで、入力されたパスワードとCPUユニット20上のパスワードとが一致すると判定されると(ステップ1106YES)、オペレータからの新規パスワードの入力を待って(ステップ1107)、CPUユニット20へプログラムプロテクト設定(新規パスワード含む)の通信コマンドを発行して処理を終了する(ステップ1110)。これに対して、入力されたパスワードとCPUユニット20上のパスワードとが一致しないと判定されると(ステップ1106NO)、パスワード不一致の旨が表示装置14を介して表示される(ステップ1109)。
【0086】
なお、プログラムはプロテクト中ではないと判定されると(ステップ1102NO)、オペレータからの新規パスワード入力を待って(ステップ1108)、CPUユニット20へプログラムプロテクト設定(新規パスワード含む)の通信コマンドを発行して処理を終了する(ステップ1110)。
【0087】
PLCプログラムのプロテクト解除処理(ステップ712)の詳細フローチャートが図12に示されている。図12に示される処理は、従前通りのセキュリティレベルを有する制御プログラム開発支援装置として動作する場合のプロテクト解除処理を説明するものである。本処理についても、図6に示す起動時の処理において、ハードウェアキー11またはハードウェアキー認証モジュール122cが存在しないか、存在してもハードウェアキー11およびハードウェアキー認証モジュール122c内にそれぞれ持つパスワードコード11a,122dが一致していない場合に動作するようになっている。
【0088】
同図において、処理が開始されると、CPUユニット20へプログラム読み出しの通信コマンドを発行したのち(ステップ1201)、その通信コマンドに対するレスポンスに基づいてプログラムはプロテクト中であるか否かをチェックする(ステップ1202)。
【0089】
ここで、CPUユニット20からのレスポンスに基づいて、プログラムがプロテクト中であると判定されると(ステップ1202YES)、オペレータからの設定済みのパスワード入力を待機する(ステップ1203)。
【0090】
オペレータによってパスワードが入力されると、CPUユニット20に対して、パスワード取得の通信コマンドを発行したのち(ステップ1204)、CPUユニット20からのレスポンスを待って、入力されたパスワードとCPUユニット20上のパスワードとの照合を行う(ステップ1205)。
【0091】
ここで、入力されたパスワードとCPUユニット20上のパスワードとが一致すると判定されると(ステップ1205YES)、CPUユニット20へプログラムプロテクト解除の通信コマンドを発行して処理を終了する(ステップ1206)。これに対して、入力されたパスワードとCPUユニット20上のパスワードとが一致しないと判定されると(ステップ1205NO)、パスワード不一致の旨が表示装置14を介して表示される(ステップ1208)。
【0092】
なお、プログラムはプロテクト中ではないと判定されると(ステップ1202NO)、プロテクト中ではない旨を表示装置14を介して表示したのち(ステップ1207)処理を終了する。
【0093】
次に、PLC(CPUユニット20)の処理全体を概略的に示すフローチャートが図13に示されている。同図に示されるように、電源ON時処理(ステップ1301)と、共通処理(ステップ1302)と、演算処理(ステップ1303)と、I/Oリフレッシュ処理(ステップ1304)と、周辺サービス処理(ステップ1305)とを含んでいる。電源ON時処理では、PLCを構成するユニットの接続状態を認識する処理等が行なわれる。共通処理では、メモリに異常がないかをチェックする処理等が行なわれる。演算処理では、ユーザプログラムが実行される。I/Oリフレッシュ処理では、PLCを構成するユニットとのデータ交換等が行なわれる。周辺サービス処理では、パソコンなどの外部機器との通信処理等が行なわれる。さらに、同図に示されるように、電源ON時処理(ステップ1301)を実行した後、共通処理(ステップ1302)に続いて、演算処理(ステップ1303)、I/Oリフレッシュ処理(ステップ1304)、周辺サービス処理(ステップ1305)を繰り返し実行するように構成されている。そして、この発明に係る種々の処理は、主として、周辺サービス処理にて実行される。
【0094】
周辺サービス処理の詳細フローチャートが図14に示されている。このPLCのCPUユニット20には、ユーザ認証機能が組み込まれている。
【0095】
同図において、処理が開始されると、先ず、機能選択処理(ステップ1401)が実行される。この処理は、制御プログラム開発支援装置1から到来するコマンドの種別を解読することにより、CPUユニット20側で実行すべき機能を認識するものである。
【0096】
先に説明したように、この実施形態のPLCシステムの場合には、プログラム書き込み用の通信コマンド、プログラム読み出し用の通信コマンド、プロテクト設定用の通信コマンド、プロテクト解除用の通信コマンド等々が使用されるので、図示例にあっては、それらのコマンドに対応する処理部分だけを取り出して詳細に示している。
【0097】
すなわち、プログラム書き込み機能が選択されると(ステップ1402YES)、CPUユニット20の側では所定のプログラム書き込み処理(ステップ1403)が実行され、ユーザプログラム領域(図1,A2)に対するプログラムの書き込み処理が実行される。る。このプログラム書き込み処理(ステップ1403)では、プロテクトが解除されていることを条件として、制御プログラム開発支援装置1から到来するユーザプログラムをユーザプログラム領域(図1、A2)に書き込む処理を実行する。なお、ユーザプログラムがプロテクト設定されている場合には、書き込み不能を示すレスポンスを制御プログラム開発支援装置1へと返すこととなる。
【0098】
プログラム読み出し機能が選択されると(ステップ1404YES)、CPUユニット20の側では所定のプログラム読み出し処理(ステップ1405)が実行される。このプログラム読み出し処理(ステップ1405)では、プロテクトが解除されていることを条件として、ユーザプログラム領域(図1、A2)に書き込まれているユーザプログラムを制御プログラム開発支援装置1へと送出する処理を実行する。なお、ユーザプログラムがプロテクト設定されている場合には、読み出し不能を示すレスポンスを制御プログラム開発支援装置1へと返すこととなる。
【0099】
プロテクト設定機能が選択されると(ステップ1406YES)、CPUユニット20の側では所定のプロテクト設定処理(ステップ1407)が実行される。このプロテクト設定処理(ステップ1407)では、制御プログラム開発支援装置1から送られてくるパスワードコードをパスワード記憶領域(図1、A1)に書き込むことにより、プロテクト設定状態を記憶する処理を実行する。なお、既に、プロテクト設定されている場合には、その旨を示すレスポンスを制御プログラム開発支援装置1へと返すこととなる。
【0100】
プロテクト解除機能が選択されると(ステップ1408YES)、CPUユニット20の側では所定のプロテクト解除処理(ステップ1409)が実行される。このプロテクト解除処理(ステップ1409)では、パスワード記憶領域(図1、A1)に書き込まれているパスワードコードを消去乃至初期化することにより、プロテクト解除状態を記憶する処理を実行する。なお、既に、プロテクト解除されている場合には、その旨を示すレスポンスを制御プログラム開発支援装置1へと返信することとなる。
【0101】
これまでに述べた実施例においては、付加機能をもつソフトウェアモジュールは付加機能を実行する部分と、ハードウェアキーを認証する機能を実行する部分とを含んでいた。以下では、付加機能を実行する部分は、予め制御プログラム開発支援装置プログラムモジュール内に組み込まれており、制御プログラム開発支援装置プログラムモジュールとは異なるソフトウェアモジュールとしてハードウェアキーを認証する機能を実行するソフトウェアモジュールが存在する実施例について述べる。この実施例の模式的構成図とソフトウェア構成図がそれぞれ図16と図17に示されている。図16と図17は、それぞれ前述の実施例の図1と図2に対応する。
【0102】
この実施例の模式的構成図が図16に示されている。なお、図1と同じ構成要素については、図1と同じ符号を付してある。図16に示されるように、このPLCシステムは、PLC2と制御プログラム開発支援装置1として機能するパソコン1aとを通信手段(例えば、RS232C等)を介して結んでなるものである。なお、図において、A1はパスワード記憶領域、A2はユーザプログラム記憶領域である。ユーザが制御プログラム開発支援装置1上で作成したユーザプログラムは、PLC2上のユーザプログラム記憶領域A2に格納される。
【0103】
制御プログラム開発支援装置1内には、付加機能を実行する部分が予め組み込まれている制御プログラム開発支援装置プログラムモジュールと、ハードウェアキーを認証する機能を持つソフトウェアモジュールが含まれている。ここで付加機能とは、前述の実施例で説明されている付加機能のことであり、その説明は省略する。パソコン1aには、ハードウェアキー11が着脱自在に装着されている。このハードウェアキー11としては、例えばパソコンのUSBソケットに装着可能なUSBプラグ付のケースを有するフラッシュメモリ(通称:USBメモリ)等の着脱自在なメモリ媒体で構成されており、このハードウェアキー11の中には、所定のパスワードコード11a(図3参照)が記憶されている。
【0104】
制御プログラム開発支援装置のソフトウェア構成図が図17に示されている。なお、図2と同じ構成要素については、図2と同じ符号を付してある。図17において、1は制御プログラム開発支援装置(プログラムモジュール)、3はハードウェアキーを認証する機能を有するソフトウェアモジュール、F1はソフトウェア的に実現されるプログラムの読み出し機能、F2はソフトウェア的に実現されるプログラムの書き込み機能である。ここで、プログラムの読み出し機能F1の読み出し対象となるプログラムは、PLC2上のユーザプログラム記憶領域A2に格納されているユーザプログラムのことである。また、プログラムの書き込み機能F2の書き込み対象となるプログラムは、制御プログラム開発支援装置1上に存在するユーザプログラムのことである。
【0105】
図から明らかなように、ハードウェアキーを認証する機能を有するソフトウェアモジュール3内には、ハードウェアキー用ドライバ3aと、ハードウェアキー用ドライバとのインタフェース(I/F)3bと、ハードウェアキー認証モジュール3dとが含まれている。このハードウェアキー用ドライバ3aと、ハードウェアキー用ドライバとのインタフェース(I/F)3bと、ハードウェアキー認証モジュール3dは、それぞれ図2のハードウェアキー用ドライバ10aと、ハードウェアキー用ドライバとのインタフェース(I/F)10bと、ハードウェアキー認証モジュール10dと同じである。また、制御プログラム開発支援装置プログラムモジュール内に予め組み込まれている付加機能1cは、図2の付加機能10cと同じである。
【0106】
この実施例における制御プログラム開発支援装置の構成図は図3と同等である。この実施例においては、ハードウェアキーを認証する機能を有するソフトウェアモジュールは、図3の補助記憶装置123に格納され、制御プログラム開発支援装置プログラムの起動指令によりメモリ122上に展開される。付加機能を実行する部分は予め制御プログラム開発支援装置プログラムモジュールに組み込まれているため、図3のメモリ122上では制御プログラム開発支援装置プログラムモジュール122aに含まれている。
【0107】
この実施例における制御プログラム開発支援装置の処理全体を示すゼネラルフローチャートは図5と同等である。ただし、起動時処理(ステップ501)の詳細を説明する図6のステップ603の処理が異なる。前述の実施例におけるステップ603は、付加機能をもつソフトウェアモジュールがパソコンに存在するかどうかを確認するためのステップであった。この実施例におけるステップ603はハードウェアキーの認証を行なう機能を持つソフトウェアモジュールがパソコンに存在するかどうかを確認するためのステップである。具体的には、ハードウェアキーの認証を行なう機能を持つソフトウェアモジュールに含まれるハードウェアキー認証モジュールが補助記憶装置に存在するかどうかを判定している。つまり、ハードウェアキー認証モジュールが存在すればハードウェアキーの認証を行なう機能を持つソフトウェアモジュールが存在すると判定する。また、ハードウェアキー認証モジュールが存在しなければ、ハードウェアキーの認証を行なう機能を持つソフトウェアモジュールが存在しないと判定する。
【0108】
この実施例における制御プログラム開発支援装置の処理を説明するフローチャートは、上述した以外のところは図6〜図12と同等であり、その説明は省略する。
【産業上の利用可能性】
【0109】
本発明によれば、PLC単体のプロテクトのしくみだけではなく、ハードウェアキーの認証のためのソフトウェアモジュールおよびハードウェアキーを、制御プログラム開発支援装置が動作するパソコンにインストールすることを条件にプロテクトの設定/解除が自動的にできるようになるため、次のような作用効果を奏する。
(1)一般的に知られているプロテクトの仕様を解析して実行したとしてもハードウェアキーに対応したパスワードでないとパスワード解除ができない。また、パスワードの解除後に再設定する必要がないためプロテクトの再設定のし忘れという状態がない。したがって、セキュリティレベルが向上する。
(2)既存のPLCのパスワードプロテクトの仕組みを変更することなしに制御プログラム開発支援装置に機能を追加するのみで実現できる。そのため、既存のパスワードプロテクトの仕組みを持つPLCであれば本発明によるプロテクト機能が実現でき、PLCに対するユーザの追加投資が不要となる。
(3)PLCや制御プログラム開発支援装置は汎用品を用いることができるためPLCおよび制御プログラム開発支援装置を提供するメーカがユーザ毎に専用の商品を提供する必要がなくなるため、メーカの商品管理・維持の面でコスト的なメリットがある。
【図面の簡単な説明】
【0110】
【図1】本発明システムの模式的構成図である。
【図2】制御プログラム開発支援装置のソフトウェア構成図である。
【図3】制御プログラム開発支援装置の構成図である。
【図4】PLCのCPUユニットの構成図である。
【図5】制御プログラム開発支援装置の処理全体を示すゼネラルフローチャートである。
【図6】起動時処理の詳細フローチャートである。
【図7】定常時処理の詳細フローチャートである。
【図8】PLCとの接続処理の詳細フローチャートである。
【図9】PLCプログラムの読み出し処理の詳細フローチャートである。
【図10】PLCプログラムの書き込み処理の詳細フローチャートである。
【図11】PLCプログラムのプロテクト設定処理の詳細フローチャートである。
【図12】PLCプログラムのプロテクト解除処理の詳細フローチャートである。
【図13】PLCの処理全体を示すゼネラルフローチャートである。
【図14】周辺サービス処理の詳細フローチャートである。
【図15】従来システムの模式的構成図である。
【図16】本発明に係る他の実施例の模式的構成図である。
【図17】本発明に係る他の実施例の制御プログラム開発支援装置のソフトウェア構成図である。
【符号の説明】
【0111】
1 制御プログラム開発支援装置
1a パソコン
2 PLC
10 付加機能を持つソフトウェアモジュール
10a ハードウェアキー用ドライバ
10b ハードウェアキー用ドライバとのインタフェース
10c 付加機能
11 ハードウェアキー
11a パスワードコード
12 メモリ
13 入力装置
14 表示装置
20 PLCのCPUユニット
20a MPU
20b ROM
20c ワークRAM
20d データ格納用不揮発性メモリ
20e ユーザメモリ(UM)
20f 入出力メモリ(IOM)
20g ASIC
121 パソコンのCPU
122 メモリ
122a 制御プログラム開発支援装置プログラムモジュール
122b ハードウェアキー用ドライバ
122c ハードウェアキー認証モジュール
122d パスワードコード
122e ハードウェアキー認証フラグメモリエリア
122f ユーザプログラムデータエリア
123 補助記憶装置
124 表示制御用メモリ
125 バス
126 インタフェース(通信用)
A1 パスワード記憶領域
A2 ユーザプログラム領域
F1 プログラムの読み出し機能
F2 プログラムの書き込み機能

【特許請求の範囲】
【請求項1】
パスワードプロテクト機能を持つプログラマブル・コントローラと、パソコンに制御プログラム開発支援装置プログラムモジュールを組み込んでなる制御プログラム開発支援装置と、それらを結ぶ通信手段とを含み、
プログラマブル・コントローラには、
パスワード記憶手段と、
通信手段を介してプロテクト設定コマンドが到来するのに応答して、パスワード記憶手段に指定のパスワードを書き込むことにより、プロテクト設定状態を記憶するプロテクト設定手段と、
通信手段を介してパスワード解除コマンドが到来するのに応答して、パスワード記憶手段に記憶されたパスワードを消去乃至初期化することにより、プロテクト解除状態を記憶するプロテクト解除手段と、
通信手段を介してプログラム書き込みコマンドやプログラム読み出しコマンド等の作業コマンドが到来するのに応答して、プロテクトが解除されていることを条件として、指定された作業を実行する作業実行手段と、が設けられており、
制御プログラム開発支援装置には、
所定の操作に応答して、プログラム書き込みコマンドやプログラム読み出しコマンド等の作業コマンドを生成する作業コマンド生成手段と、
作業コマンド生成手段により作業コマンドが生成されるのに応答して、その作業コマンドの前後に所定の非公開のパスワード付きのプロテクト解除コマンド、プロテクト設定コマンドをそれぞれ付加して、それらのコマンドをプログラマブル・コントローラへと発行する付加機能を実行する付加機能実行手段と、が設けられており、さらに
付加機能実行手段は、制御プログラム開発支援装置としての機能を実現する制御プログラム開発支援装置プログラムモジュールとは異なるソフトウェアモジュールとして付加機能を実行するように構成されており、
制御プログラム開発支援装置プログラムモジュールは、その起動時に付加機能を持つソフトウェアモジュールが当該パソコンの外部記憶装置に存在するか否かをチェックし、付加機能を持つソフトウェアモジュールが存在する場合には、付加機能を持つソフトウェアモジュールを制御プログラム開発支援装置プログラムモジュールのプログラムの一部としてリンクし、付加機能が動作するように仕組まれている、
ことを特徴とするプログラマブル・コントローラ・システム。
【請求項2】
制御プログラム開発支援装置プログラムモジュールが組み込まれたパソコンには、
所定のパスワードコードを記憶させたメモリを内蔵するハードウェアキーが着脱自在に装着されており、
付加機能を持つソフトウェアモジュールは、ハードウェアキーの認証を、付加機能実行の条件とするように仕組まれている、
ことを特徴とする請求項1に記載のプログラマブル・コントローラ・システム。
【請求項3】
付加機能実行手段にて使用される非公開のパスワードは、ハードウェアキー内のパスワードと対応したパスワードとされる、
ことを特徴とする請求項2に記載のプログラマブル・コントローラ・システム。
【請求項4】
前記制御プログラム開発支援装置は、
所定の操作に応答して、プロテクト設定用の通信コマンドを発行するプロテクト設定コマンド発行手段と、
所定の操作に応答して、プロテクト解除用の通信コマンドを発行するプロテクト解除コマンド発行手段と、をさらに有し、
付加機能を有するソフトウェアモジュールがパソコンに存在しないときには、手動によるプロテクト設定又は解除が可能とされている、ことを特徴とする請求項1〜3のいずれかに記載のプログラマブル・コントローラ・システム。
【請求項5】
パスワードプロテクト機能を持つプログラマブル・コントローラに対して通信を介して接続可能であって、パソコンに制御プログラム開発支援装置プログラムモジュールを組み込むことで構成される制御プログラム開発支援装置であって、
所定の操作に応答して、プログラム書き込みコマンドやプログラム読み出しコマンド等の作業コマンドを生成する作業コマンド生成手段と、
作業コマンド生成手段により作業コマンドが生成されるのに応答して、その作業コマンドの前後に所定の非公開のパスワード付きのプロテクト解除コマンド、プロテクト設定コマンドをそれぞれ付加して、それらのコマンドをプログラマブル・コントローラへと発行する付加機能を実行する付加機能実行手段と、が設けられており、さらに
付加機能実行手段は、制御プログラム開発支援装置としての機能を実現する制御プログラム開発支援装置プログラムモジュールとは異なるソフトウェアモジュールとして付加機能を実行するように構成されており、
制御プログラム開発支援装置プログラムモジュールは、その起動時に付加機能を持つソフトウェアモジュールが当該パソコンの外部記憶装置に存在するか否かをチェックし、付加機能を持つソフトウェアモジュールが存在する場合には、付加機能を持つソフトウェアモジュールを制御プログラム開発支援装置プログラムモジュールのプログラムの一部としてリンクし、付加機能が動作するように仕組まれている、
ことを特徴とする制御プログラム開発支援装置。
【請求項6】
制御プログラム開発支援装置プログラムモジュールが組み込まれたパソコンには、
所定のパスワードコードを記憶させたメモリを内蔵するハードウェアキーが着脱自在に装着されており、
付加機能を持つソフトウェアモジュールは、ハードウェアキーの認証を、付加機能実行の条件とするように仕組まれている、
ことを特徴とする請求項5に記載の制御プログラム開発支援装置。
【請求項7】
付加機能実行手段にて使用される非公開のパスワードは、ハードウェアキー内のパスワードと対応したパスワードとされる、
ことを特徴とする請求項6に記載の制御プログラム開発支援装置。
【請求項8】
所定の操作に応答して、プロテクト設定用の通信コマンドを発行するプロテクト設定コマンド発行手段と、
所定の操作に応答して、プロテクト解除用の通信コマンドを発行するプロテクト解除コマンド発行手段と、をさらに有し、
付加機能を有するソフトウェアモジュールがパソコンに存在しないときには、手動によるプロテクト設定又は解除が可能とされている、ことを特徴とする請求項5〜7のいずれかに記載の制御プログラム開発支援装置。
【請求項9】
パスワードプロテクト機能を持つプログラマブル・コントローラに対して通信を介して接続可能であって、パソコンに制御プログラム開発支援装置プログラムモジュールを組み込むことで構成される制御プログラム開発支援装置であって、
所定の操作に応答して、プログラム書き込みコマンドやプログラム読み出しコマンド等の作業コマンドを生成する作業コマンド生成手段と、
作業コマンド生成手段により作業コマンドが生成されるのに応答して、その作業コマンドの前後に所定の非公開のパスワード付きのプロテクト解除コマンド、プロテクト設定コマンドをそれぞれ付加して、それらのコマンドをプログラマブル・コントローラへと発行する付加機能を実行する付加機能実行手段と、が設けられており、さらに
所定のパスワードコードを記憶させたメモリを内蔵するハードウェアキーが着脱可能に構成されており、
制御プログラム開発支援装置プログラムモジュールは、その起動時にハードウェアキーの認証を行なう機能を持つソフトウェアモジュールが当該パソコンの外部記憶装置に存在するか否かをチェックし、ハードウェアキーの認証を行なう機能を持つソフトウェアモジュールが存在する場合には、ハードウェアキーの認証を行なう機能を持つソフトウェアモジュールを制御プログラム開発支援装置プログラムモジュールのプログラムの一部としてリンクし、ハードウェアキーの認証機能が動作するように仕組まれている、
ことを特徴とする制御プログラム開発支援装置。
【請求項10】
付加機能実行手段は、ハードウェアキーの認証を、付加機能実行の条件とするように仕組まれている、
ことを特徴とする請求項9に記載の制御プログラム開発支援装置。
【請求項11】
付加機能実行手段にて使用される非公開のパスワードは、ハードウェアキー内のパスワードと対応したパスワードとされる、
ことを特徴とする請求項10に記載の制御プログラム開発支援装置。
【請求項12】
所定の操作に応答して、プロテクト設定用の通信コマンドを発行するプロテクト設定コマンド発行手段と、
所定の操作に応答して、プロテクト解除用の通信コマンドを発行するプロテクト解除コマンド発行手段と、をさらに有し、
ハードウェアキーの認証を行なう機能を有するソフトウェアモジュールがパソコンに存在しないときには、手動によるプロテクト設定又は解除が可能とされている、
ことを特徴とする請求項9〜11のいずれかに記載の制御プログラム開発支援装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2007−122695(P2007−122695A)
【公開日】平成19年5月17日(2007.5.17)
【国際特許分類】
【出願番号】特願2006−256131(P2006−256131)
【出願日】平成18年9月21日(2006.9.21)
【出願人】(000002945)オムロン株式会社 (3,542)
【出願人】(000006828)YKK株式会社 (263)
【Fターム(参考)】