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

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

Info

Publication number
JP4607080B2
JP4607080B2 JP2006256131A JP2006256131A JP4607080B2 JP 4607080 B2 JP4607080 B2 JP 4607080B2 JP 2006256131 A JP2006256131 A JP 2006256131A JP 2006256131 A JP2006256131 A JP 2006256131A JP 4607080 B2 JP4607080 B2 JP 4607080B2
Authority
JP
Japan
Prior art keywords
command
control program
development support
password
protection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2006256131A
Other languages
English (en)
Other versions
JP2007122695A (ja
Inventor
健 陣川
賢一 山▲崎▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
YKK Corp
Original Assignee
Omron Corp
YKK Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp, YKK Corp filed Critical Omron Corp
Priority to JP2006256131A priority Critical patent/JP4607080B2/ja
Priority to US11/528,489 priority patent/US8392718B2/en
Publication of JP2007122695A publication Critical patent/JP2007122695A/ja
Application granted granted Critical
Publication of JP4607080B2 publication Critical patent/JP4607080B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24161Use of key, in key is stored access level
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24165Use codes to activate features of controller

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Programmable Controllers (AREA)
  • Storage Device Security (AREA)

Description

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

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

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

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

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

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

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

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

Claims (12)

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

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006256131A JP4607080B2 (ja) 2005-09-27 2006-09-21 プログラマブル・コントローラ・システム
US11/528,489 US8392718B2 (en) 2005-09-27 2006-09-27 Programmable controller system and aid device for control program development therefor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005280437 2005-09-27
JP2006256131A JP4607080B2 (ja) 2005-09-27 2006-09-21 プログラマブル・コントローラ・システム

Publications (2)

Publication Number Publication Date
JP2007122695A JP2007122695A (ja) 2007-05-17
JP4607080B2 true JP4607080B2 (ja) 2011-01-05

Family

ID=37903409

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006256131A Active JP4607080B2 (ja) 2005-09-27 2006-09-21 プログラマブル・コントローラ・システム

Country Status (2)

Country Link
US (1) US8392718B2 (ja)
JP (1) JP4607080B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4748326B2 (ja) * 2007-08-09 2011-08-17 オムロン株式会社 分散型制御システム
JP5168012B2 (ja) * 2008-07-28 2013-03-21 株式会社ジェイテクト プログラマブルコントローラのプログラム編集装置
JP5404463B2 (ja) * 2010-02-12 2014-01-29 三菱電機株式会社 制御装置及び管理装置
JP5551767B2 (ja) 2010-04-14 2014-07-16 三菱電機株式会社 エンジニアリングツールと産業製品とのセキュリティ方法、およびセキュリティシステム
CN101872184A (zh) * 2010-06-04 2010-10-27 南大傲拓科技江苏有限公司 可编程控制器的顺序控制图编程及控制方法
JP2012133690A (ja) * 2010-12-24 2012-07-12 Yokogawa Electric Corp 無線フィールド機器、機器管理システム、及び機器管理方法
US9311460B2 (en) * 2011-03-15 2016-04-12 Omron Corporation Programmable controller system, tool device, tool program, storage medium, and programmable controller
JP5696067B2 (ja) * 2012-02-22 2015-04-08 株式会社日立産機システム プログラマブルコントローラ
DE112014006740T5 (de) 2014-06-11 2017-05-11 Mitsubishi Electric Corporation Programmbearbeitungsvorrichtung, Programmverwaltungsvorrichtung, und Programmverwaltungsprogramm
DE102018118566A1 (de) * 2018-07-31 2020-02-06 Zahoransky Ag Bürstenherstellungsmaschine und Verfahren zum Einrichten einer Bürstenherstellungsmaschine

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03129402A (ja) * 1989-07-10 1991-06-03 Mitsubishi Electric Corp プログラマブルコントローラのプログラム作成方法およびプログラミング装置
JPH03290744A (ja) * 1990-04-09 1991-12-20 Fuji Electric Co Ltd プログラマブルコントローラシステム
JP2003030052A (ja) * 2001-07-17 2003-01-31 Sanyo Electric Co Ltd メモリアクセス方法および装置
JP2004171283A (ja) * 2002-11-20 2004-06-17 Digital Electronics Corp 表示制御装置、プログラム、および、そのプログラムが記録された記録媒体

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5326968A (en) 1993-03-12 1994-07-05 Honeywell Inc. Photoelectric sensor with a circular polarizing lens attached to its housing
JP3474605B2 (ja) 1993-06-25 2003-12-08 株式会社トプコン 対象反射物体検出装置
US7904722B2 (en) * 1994-07-19 2011-03-08 Certco, Llc Method for securely using digital signatures in a commercial cryptographic system
US5867106A (en) * 1994-09-02 1999-02-02 Packard Bell Nec Password switch to override remote control
US6367020B1 (en) * 1998-03-09 2002-04-02 Micron Technology, Inc. System for automatically initiating a computer security and/or screen saver mode
CH693544A5 (de) 1998-07-24 2003-09-30 Hera Rotterdam Bv Schichtige Anordnung und Verfahren zur Retroreflexion von Licht.
DE19924470A1 (de) 1999-05-28 2000-09-21 Balluff Gebhard Feinmech Reflexionslichtschranke und Verfahren zum Detektieren eines Objekts in einem Objektraum sowie Reflektoreinheit für eine solche Reflexionslichtschranke
DE10135766B4 (de) 2001-07-23 2006-02-16 Nexpress Solutions Llc Verfahren zum Erfassen eines transparenten Gegenstandes und Detektoreinrichtung
DE10139796A1 (de) 2001-08-14 2003-03-13 Osram Opto Semiconductors Gmbh Verfahren und Vorrichtung zum Messen von Translationsbewegungen zwischen einer Oberfläche und einer Messvorrichtung
SE527662C2 (sv) * 2003-10-02 2006-05-02 Smarttrust Ab Förfarande och mobilt telekommunikationsnätverk f ör detektering av apparatinformation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03129402A (ja) * 1989-07-10 1991-06-03 Mitsubishi Electric Corp プログラマブルコントローラのプログラム作成方法およびプログラミング装置
JPH03290744A (ja) * 1990-04-09 1991-12-20 Fuji Electric Co Ltd プログラマブルコントローラシステム
JP2003030052A (ja) * 2001-07-17 2003-01-31 Sanyo Electric Co Ltd メモリアクセス方法および装置
JP2004171283A (ja) * 2002-11-20 2004-06-17 Digital Electronics Corp 表示制御装置、プログラム、および、そのプログラムが記録された記録媒体

Also Published As

Publication number Publication date
JP2007122695A (ja) 2007-05-17
US20070079370A1 (en) 2007-04-05
US8392718B2 (en) 2013-03-05

Similar Documents

Publication Publication Date Title
JP4607080B2 (ja) プログラマブル・コントローラ・システム
CN101373437B (zh) 通过嵌入式控制器访问安全存储设备而增强***安全
JP3918827B2 (ja) セキュアリモートアクセスシステム
JP4701615B2 (ja) 情報記憶装置
JP4793628B2 (ja) Os起動方法及びこれを用いた装置
US20130124845A1 (en) Embedded device and control method thereof
JP2006221274A (ja) 車両用電子制御装置および制御プログラムの書換え方法
JP4387856B2 (ja) コンピュータロック管理プログラム、コンピュータロック管理方法およびコンピュータロック管理装置
JP2006268861A (ja) ユーザーデータに対するコンピュータのアクセスを制御する方法および制御装置
JP4950337B2 (ja) 指紋読取り装置リセットシステムおよび方法
US20120310379A1 (en) Programmable controller
JP2008262454A (ja) シンクライアント端末のソフトウェアアップデート方法およびシンクライアント端末ならびにシンクライアントシステム
CN100474325C (zh) 可编程控制器***
JP4867927B2 (ja) アクセス制御システム、アクセス制御方法、情報処理装置、及び被アクセス媒体
JP5163522B2 (ja) Usbストレージデバイス、ホストコンピュータ、usbストレージシステム、およびプログラム
JP2007517287A (ja) コンピュータシステムまたはプログラムへのアクセスを開放するための方法
JP5759827B2 (ja) メモリシステム、情報処理装置、メモリ装置、およびメモリシステムの動作方法
JP4229896B2 (ja) 書き換え可能な不揮発性メモリ、電子機器、書き換え可能な不揮発性メモリの書き換え方法、及び書き換えプログラム
CN112966276B (zh) 一种计算机的安全启动方法、装置及介质
JP4887253B2 (ja) 画像処理装置
WO2001026046A1 (fr) Carte a microcircuit, et dispositif, systeme et procede de production de cartes a microcircuit
JP2006018545A (ja) Usbモジュール
JP7230592B2 (ja) 機器セットアップシステム、機器セットアップ方法及び電子機器
JP2004280581A (ja) ソフトウェアの不正使用防止方法
JP4471120B2 (ja) プログラマブル・コントローラ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081219

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100519

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100610

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100915

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101006

R150 Certificate of patent or registration of utility model

Ref document number: 4607080

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131015

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250