JP5414812B2 - プログラマブルコントローラ - Google Patents

プログラマブルコントローラ Download PDF

Info

Publication number
JP5414812B2
JP5414812B2 JP2011553694A JP2011553694A JP5414812B2 JP 5414812 B2 JP5414812 B2 JP 5414812B2 JP 2011553694 A JP2011553694 A JP 2011553694A JP 2011553694 A JP2011553694 A JP 2011553694A JP 5414812 B2 JP5414812 B2 JP 5414812B2
Authority
JP
Japan
Prior art keywords
key data
plc
user program
unit
programmable controller
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
JP2011553694A
Other languages
English (en)
Other versions
JPWO2011099146A1 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2011099146A1 publication Critical patent/JPWO2011099146A1/ja
Application granted granted Critical
Publication of JP5414812B2 publication Critical patent/JP5414812B2/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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • 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/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13195Protected programs, running these programs

Landscapes

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

Description

本発明は、ユーザプログラムに基づいて産業用機器を制御するプログラマブルコントローラ(以下、単にPLC)および前記ユーザプログラムを作成するプログラミング装置に関する。
PLCは、PLCメーカにより出荷された後、装置メーカによって産業用機器に組み込まれ、エンドユーザの工場に設置される。PLCに産業用機器の制御を実行させるためのユーザプログラムは、装置メーカによってプログラミング装置を用いて作成され、PLCに書き込まれる。一般に、組み込み対象の産業用機器が技術的に洗練された動作を実行できるようにユーザプログラムは装置メーカによって種々の技術的な工夫がなされている。ユーザプログラムの出来不出来は、装置メーカがエンドユーザに提供する産業用機器あるいはその産業用機器に組み込まれたPLCの製品的価値を左右する。
しかしながら、エンドユーザやエンドユーザ以外の他人がこのユーザプログラムをPLCから読み出して複製し、複製したユーザプログラムを空のPLCに組み込むと、同等の制御を行うPLCを労せずして何台でも作成できる。このことは、装置メーカの正当な利益の享受を妨げる。したがって、PLCには、同等の制御を行うPLCを不正に複製することを防止する仕組みを備えることが要望されている。
例えば、特許文献1には、汎用比較命令の第1のオペランドにハードウェア固有データが出現する入出力メモリの所定アドレスをセットし、第2のオペランドには保護対象プログラム部分を動作させたいPLCのハードウェア固有データをセットし、この汎用比較命令の実行結果を入力条件として保護対象プログラム部分を実行可能とする技術が開示されている。この技術によれば、装置メーカが第1のオペランドとしてのアドレスを決定し、かつこのアドレスを非公開とすることによって、装置メーカが作成したユーザプログラムを装置メーカが用意した特定のPLCでしか実行できないようにすることができる。
特開2009−70144号公報
一方、エンドユーザ側では、PLCが故障した際、故障したPLCを予備のPLCに交換して、できるだけ迅速に産業用機器を再稼動させたいという要望がある。しかしながら、上記特許文献1の技術によれば、故障したPLCと同じアドレスに同じハードウェア固有データをセットしたPLCでしか故障したPLCのユーザプログラムを動作させることができないので、PLC毎に予備のPLCを用意しておくか、さもなくば装置メーカに連絡して交換用のPLCを入手しなければならず、エンドユーザにとって保守性が悪いという問題があった。
また、特許文献1の技術のほかに、不正コピーを防ぐためにPLCからのユーザプログラムの読み出し権限をパスワードで管理することも考えられるが、この技術によると、パスワードがエンドユーザから漏洩した場合には不正コピーを防ぐことができないし、かといってエンドユーザがパスワード管理を厳しくすると保守性を犠牲にすることになってしまう。
本発明は、上記に鑑みてなされたものであって、可及的に高い保守性を備え、かつ不正な装置複製を防ぐことができるPLCおよびプログラミング装置を得ることを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、ユーザプログラムに基づいて産業用機器を制御するプログラマブルコントローラにおいて、第1キーデータが書き込まれ、アクセスプロテクトされた着脱可能な第1記憶部と、前記ユーザプログラム第2キーデータと対応づけて書き込まれた第2記憶部と、電源が投入されたとき、自PLCの起動処理をファームウェアプログラムに基づいて実行する起動処理部と、前記起動処理の完了後に前記ユーザプログラムを実行するユーザプログラム実行部と、を備え、前記起動処理部は、自PLCに装着されている前記第1記憶部が記憶する第1キーデータと前記第2記憶部に記憶されているユーザプログラムに対応づけられている第2キーデータとを読み出して、前記読み出した二つのキーデータの照合に基づいて前記起動処理を続行するか前記起動処理を停止して異常処理を実行するかを決定する起動処理停止決定部、を備える、ことを特徴とする。
本発明によれば、可及的に高い保守性を備え、かつ不正な装置複製を防ぐことができるという効果を奏する。
図1は、不正なPLC複製を防ぐことができる様子を説明する図である。 図2は、高い保守性を有することを説明する図である。 図3は、本発明の実施の形態のPLCのハードウェア構成を説明する図である。 図4は、本発明の実施の形態のPLCの機能構成を説明する図である。 図5は、本発明の実施の形態のプログラミング装置のハードウェア構成を説明する図である。 図6は、本発明の実施の形態のプログラミング装置の機能構成を説明する図である。 図7は、第1キーデータ設定処理を説明するフローチャートである。 図8は、第2キーデータ設定処理を説明するフローチャートである。 図9は、PLC起動処理を説明するフローチャートである。
以下に、本発明にかかるプログラマブルコントローラおよびプログラミング装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態.
本発明の実施の形態では、高い保守性を備え、かつ不正なPLC複製を防ぐことができるようにするために、PLCは、エンドユーザには非公開でかつエンドユーザによるアクセスが禁止された第1キーデータを記憶するキー記憶装置が装着され、第1キーデータに対応する第2キーデータが対応付けられたユーザプログラムを記憶し、第1キーデータと第2キーデータとの照合結果がOKでなければ自PLCの起動処理が完了しないように構成されている。まず、理解を助けるために、本発明の実施の形態の特徴を概要的に説明する。なお、以下では、第1キーデータと第2キーデータとが同一であった場合、照合結果OKであると判定されるとして説明する。
図1は、本発明の実施の形態によって不正なPLC複製を防ぐことができる様子を説明する図である。ここでは、装置メーカが用意したPLC(PLC1a)からユーザプログラム12を読み出して、読み出したユーザプログラム12を空のPLC(PLC1b)に書き込むことによって、PLC1bにPLC1aと同等の制御をさせようとされている場合について説明する。PLC1aおよびPLC1b(以下、PLC1と総称)には、着脱可能でかつエンドユーザはアクセスできない仕組みを備えた記憶装置であるキー記憶装置10が装着されている。装置メーカは、予め、PLC1aのキー記憶装置10にはエンドユーザには非公開のデータである第1キーデータ11を書き込んでおき、ユーザプログラム12には第1キーデータ11と同じ値のデータである第2キーデータ13を埋め込んでおく。
PLC1は、電源が投入されると、PLC1自身が備える記憶領域のチェックなどを含むPLC起動処理の一環として、第1キーデータ11と第2キーデータ13とを照合し、双方が一致するか否かを判定する。PLC1は、双方のキーデータが一致した場合、PLC起動処理を最後まで実行し、ユーザプログラムを起動することが可能な状態に移行する。この状態でRUN指示が入力されると、PLC1はユーザプログラム12を起動する。PLC1は、第1キーデータ11と第2キーデータ13とが一致しなかった場合、PLC起動処理を停止する。
図1の場合、ユーザプログラム12のコピー元であるPLC1aは、第1キーデータ11と第2キーデータ13とが一致(照合結果OK)となり、PLC起動処理が無事に完了してユーザプログラム12を起動することができる状態となる。一方、ユーザプログラム12のコピー先であるPLC1bは、PLC1aに装着されていたキー記憶装置10が装着されることなく電源が投入されると、第1キーデータ11と第2キーデータ13とが照合不一致(照合結果NG)となり、PLC起動処理を停止し、ユーザプログラム12を起動できる状態には移行しない。
なお、第1キーデータ11と第2キーデータ13との照合を、RUN指示が入力されたタイミングで実行したり、特許文献1に開示されている技術ようにユーザプログラム12が起動された後に実行したりする構成も考えられるが、本発明の実施の形態では、リバースエンジニアリングによって第1キーデータ11と第2キーデータ13とが解読されることを困難にするために、上記したようにPLC起動処理中に照合を行うようにしている。
また、特許文献1に開示されている技術のように、ユーザプログラム12にキーデータを照合するための汎用比較命令を含めるように構成されていると、該汎用比較命令を削除することによって複製されたユーザプログラム12を不正使用することができるが、本発明の実施の形態では、ユーザプログラム12に基づいてキーデータの照合が行われる構成とはなっていないので、第2キーデータ13が埋め込まれている位置が判明して該第2キーデータ13が削除されたとしても、照合結果NGとなるので、ユーザプログラム12の不正な使用を防ぐことができる。
このように、本発明の実施の形態によれば、装置メーカが用意したキー記憶装置10がないとユーザプログラム12を実行することができないので、同じ制御を実行するPLC1が何台も複製されることを防ぐことができる。
図2は、本発明の実施の形態が高い保守性を有することを説明する図である。ここでは、エンドユーザがPLC1aをPLC1bに交換する場合について説明する。まず、図2(a)に示すように、エンドユーザは、PLC1aから第1キーデータ11を記憶するキー記憶装置10を抜き取り、プログラミング装置(以下、プログラミングツール)2を用いてPLC1aに組み込まれているユーザプログラム12を第2キーデータ13ごと読み出す。そして、エンドユーザは、図2(b)に示すように、PLC1bにPLC1aから抜き取ったキー記憶装置10を装着し、読み出したユーザプログラム12をプログラミングツール2を用いてPLC1bに書き込む。そしてエンドユーザがPLC1bの電源を投入すると、PLC1bは第1キーデータ11と第2キーデータ13とを照合する。第1キーデータ11および第2キーデータ13は夫々PLC1aに記憶されていたものと同じであるので、照合結果OKとなり、PLC1bは、PLC起動処理を完了してユーザプログラム12の起動を行うことができる状態となる。
このように、本発明の実施の形態によれば、キー記憶装置10を差し替えるとともにユーザプログラム12をコピーすれば別のPLC1に同じ制御を実行させることができるので、PLC1が故障した際などにおいては、エンドユーザは短時間でPLC1を交換することができる。また、交換用として用意されるPLC1bは、特許文献1に開示されている技術のように装置メーカによって予めハードウェア固有データが所定アドレスにセットされたもの(すなわち装置メーカによって専用に用意されたもの)である必要がなく、本発明の実施の形態が適用された構成を備えるものであればどのようなPLC1であってもよい。例えば、エンドユーザは、夫々異なる制御を実行する複数のPLC1を使用する場合がある。その場合であっても、予備のPLC1を1つ用意しておけば、複数のPLC1のうちのどのPLC1が故障しても予備のPLC1と交換することができる。また、エンドユーザはパスワード入力を行うことなく簡単にPLC1を交換することができる。このように、本発明の実施の形態は、エンドユーザにとっての保守性が高いものとなっている。
図3は、上記説明したPLC1のハードウェア構成を説明する図である。図示するように、PLC1は、CPU(Central Processing Unit)14と、EEPROM(Electrically Erasable Programmable Read Only Memory)15と、SRAM(Static Random Access Memory)16と、通信インタフェース(I/F)17と、キー記憶装置I/F18と、を備えている。CPU14、EEPROM15、SRAM16、通信I/F17、およびキー記憶装置I/F18は夫々バスを介して互いに接続されている。
キー記憶装置I/F18は、前述のキー記憶装置10にアクセスするためのインタフェースである。PLC1は、装着されたキー記憶装置10が記憶する第1キーデータ11にキー記憶装置I/F18を介してアクセスする。
なお、前述したように、キー記憶装置10が記憶している第1キーデータ11は、エンドユーザが読み書きすることができないようになっている。そのための仕組みとして、ここでは、キー記憶装置10のアクセスはエンドユーザに対しては非公開の専用の通信プロトコル(伝送路の物理条件、伝達、相手の特定、情報表現のうちの少なくとも一つが専用設計された通信プロトコル)を用いて行うように構成されているものとする。
EEPROM15は、第2キーデータ13が埋め込まれたユーザプログラム12と、PLC1のシステムプログラムであるファームウェア19とを記憶している。
SRAM16には、ファームウェア展開領域、ユーザプログラム展開領域、デバイスデータ記憶領域が確保されている。ファームウェア19は、EEPROM15から読み出されてSRAM16のファームウェア展開領域に展開され、CPU14は、SRAM16に展開されたファームウェア19に基づいてPLC1の前記したPLC起動処理を含む基本動作を実行する。CPU14は、PLC起動処理を完了した後、操作者からのRUN指示が図示しない入力インタフェースやプログラマブル表示器を介して入力されると、ユーザプログラム12を起動する(ユーザプログラム起動処理)。具体的には、CPU14は、ユーザプログラム起動処理として、EEPROM15から読み出してSRAM16のユーザプログラム展開領域に展開し、展開されたユーザプログラム12を起動する。CPU14は、ユーザプログラム起動処理によって起動されたユーザプログラム12による制御に基づいて産業用機器を制御するためのデバイスデータを生成し、生成したデバイスデータをSRAM16のデバイスデータ記憶領域に格納する。
通信I/F17は、プログラミングツール2との間の通信を実行するための通信インタフェースである。
図4は、ファームウェア19がCPU14により実行されることによって実現されるPLC1の機能の構成を説明する図である。図示するように、PLC1は、PLC起動処理を実行するPLC起動処理部31と、ユーザプログラム起動処理を実行するユーザプログラム実行部32とを備えている。PLC起動処理部31は、さらに、前記した専用の通信プロトコルを用いてキー記憶装置10にアクセスして第1キーデータ11を読み出す第1キーデータ読み出し部33と、第1キーデータ読み出し部33が読み出した第1キーデータ11とユーザプログラム12に埋め込まれている第2キーデータ13とを照合し、照合結果に基づいてPLC起動処理を続行するかPLC起動処理を停止して異常処理を実行するかを決定するキーデータ照合部34とを備えている。
なお、異常処理とは、PLC1を強制終了することであってもよいし、PLC起動処理を停止した後、プログラマブル表示器などに操作者に対する警告を出力することであってもよい。
図5は、プログラミングツール2のハードウェア構成を説明する図である。図示するように、プログラミングツール2は、CPU21、ROM22、RAM23、入力部24、表示部25、および通信I/F26を備えた、通常のコンピュータと等しい構成となっている。CPU21、ROM22、RAM23、入力部24、表示部25、および通信I/F26は、夫々バスを介して互いに接続されている。
CPU21は、後述するプログラミングツール2の機能を実現するためのコンピュータプログラムであるプログラミングツールプログラム27を実行する。表示部25は、液晶モニタなどの表示装置であり、CPU21からの指示に基づいて、操作画面などの操作者に対する出力情報を表示する。入力部24は、マウスやキーボードを備えて構成され、操作者からのプログラミングツール2の操作が入力される。入力部24へ入力された操作情報は、CPU21へ送られる。通信I/F26は、PLC1との間の通信を実行するための通信インタフェースである。
プログラミングツールプログラム27はROM22に格納されており、バスラインを介してRAM23へロードされる。CPU21はRAM23内にロードされたプログラミングツールプログラム27を実行する。
なお、プログラミングツールプログラム27は、DISKなどの記憶装置に格納しておいてもよい。また、プログラミングツールプログラム27は、DISKなどの記憶装置にロードしてもよい。また、プログラミングツールプログラム27をインターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供または配布するように構成しても良い。また、プログラミングツール2で実行されるプログラミングツールプログラム27をインターネット等のネットワーク経由で提供または配布するように構成してもよい。また、プログラミングツールプログラム27を、ROM22等に予め組み込んでプログラミングツール2に提供するように構成してもよい。
図6は、プログラミングツールプログラム27をCPU21が実行することによって実現するプログラミングツール2の機能の構成を説明する図である。
図6に示すように、プログラミングツール2は、操作者による操作に基づいて、ユーザプログラム12を作成したり、作成したユーザプログラム12をPLC1が備えるEEPROM15に書き込んだり、EEPROM15に書き込まれているユーザプログラム12を読み出したりするユーザプログラム設定部41を備えている。ここで、ユーザプログラム設定部41は、作成されたユーザプログラム12に第2キーデータ13を埋め込む第2キーデータ設定部42をさらに備えている。
また、プログラミングツール2は、専用の通信プロトコルを用いてキー記憶装置10にアクセスして第1キーデータ11を読み書きする第1キーデータ設定部43と、第1キーデータ設定部43の操作者による使用を制限する(許可/不許可する)機能制限部44とを備えている。機能制限部44による制限方式としては、ここでは、パスワードとしてのアクセス対象のキー記憶装置10が記憶している第1キーデータ11の入力を求め、入力されたパスワードがキー記憶装置10が記憶している第1キーデータ11と合致した場合に第1キーデータ設定部43の使用を許可する、パスワード認証方式を採用する。このようなパスワード認証方式によって、キー記憶装置10にアクセスできる操作者を第1キーデータ11を書き込んだ操作者(すなわち装置メーカ)だけに限定することができる。
次に、本発明の実施の形態のPLC1およびプログラミングツール2の動作を説明する。図7は、装置メーカの操作者によってプログラミングツール2が操作されて第1キーデータ11が設定される動作(第1キーデータ設定処理)を説明するフローチャートである。なお、ここでは、第1キーデータ設定処理は、キー記憶装置10が装着されたPLC1とプログラミングツール2とが接続された状態で実行されることとする。
機能制限部44が起動されて第1キーデータ設定処理が開始されると、図7に示すように、機能制限部44は、パスワードとしての第1キーデータ11の入力を受け付ける(ステップS1)。すると、機能制限部44は、第1キーデータ設定部43を介してPLC1に装着されたキー記憶装置10にアクセスしてキー記憶装置10が記憶する第1キーデータ11を読み出し、入力された第1キーデータ11と読み出した第1キーデータ11とが合致するか否かを判定する(ステップS2)。
双方の第1キーデータ11が合致しなかった場合(ステップS2、No)、機能制限部44は、操作者によるキー記憶装置10へのアクセスを不許可とし(ステップS3)、第1キーデータ設定処理を終了する。双方の第1キーデータ11が合致した場合(ステップS2、Yes)、機能制限部44は、操作者によるキー記憶装置10へのアクセスを許可、すなわち第1キーデータ設定部43の操作を許可する(ステップS4)。
そして、第1キーデータ設定部43は、操作者からの新しい設定値としての第1キーデータ11の入力を受け付けると(ステップS5)、入力された第1キーデータ11の設定値でキー記憶装置10が記憶する第1キーデータ11を上書きし(ステップS6)、第1キーデータ設定処理が終了となる。
なお、第1キーデータ11が未設定のキー記憶装置10に第1キーデータ11を設定する場合は、ステップS1〜ステップS4のようなパスワード認証を経ることなく第1キーデータ11を設定できるようにしてもよい。その場合、機能制限部44がステップS1の前に第1キーデータ11が未設定であるか否かを判定し、未設定であった場合、ステップS5に移行し、未設定ではなかった場合、ステップS1に移行するようにするとよい。
また、PLCメーカは、キー記憶装置10に初期値としての第1キーデータ11が設定された状態で装置メーカに出荷し、装置メーカはステップS1においてPLCメーカから知らされた初期値を入力することによってパスワード認証をクリアするようにしてもよい。
図8は、装置メーカの操作者によってプログラミングツール2が操作されて第2キーデータ13が設定される動作(第2キーデータ設定処理)を説明するフローチャートである。なお、第2キーデータは、プログラミングツール2がPLC1に接続され、EEPROM15に格納されている状態のユーザプログラム12に直接設定されるようにしても構わないし、プログラミングツール2がPLC1に接続されておらず、プログラミングツール2のRAM23のデータ格納領域や図示しない外部記憶装置に格納されている状態のユーザプログラム12に設定されるようにしても構わない。
図8に示すように、ユーザプログラム設定部41のうちの第2キーデータ設定部42が起動されて第2キーデータ設定処理がスタートすると、まず、第2キーデータ設定部42は、操作者からの第2キーデータ13の設定値の入力を受け付ける(ステップS11)。すると、第2キーデータ設定部42は、入力された第2キーデータ13の設定値をユーザプログラム12に埋め込み(ステップS12)、第2キーデータ設定処理が終了となる。
ここで、ユーザプログラム12における第2キーデータ13の埋め込み箇所はエンドユーザに対しては非公開としておく。また、第2キーデータ設定部42は、ユーザプログラム12に難読化処理を施すことによって、第2キーデータ13の埋め込み箇所の特定を困難にするようにしてもよい。第2キーデータ13の埋め込み箇所の特定を困難にすることによって、PLC1の不正な複製をより困難にする効果が得られる。
次に、図9は、PLC起動処理を説明するフローチャートである。図示するように、PLC1の電源が投入されてPLC起動処理がスタートすると、まず、PLC起動処理部31によって、ファームウェア19がSRAM16に確保されているファームウェア展開領域に展開される(ステップS21)。ステップS21以降、CPU14は、SRAM16上に展開されたファームウェア19に基づいて動作する。
そして、PLC起動処理の一環として、第1キーデータ読み出し部33は、PLC1に装着されているキー記憶装置10から第1キーデータ11を読み出す(ステップS22)。そして、キーデータ照合部34は、ユーザプログラム12に埋め込まれている第2キーデータ13を読み出す(ステップS23)。そして、キーデータ照合部34は、第1キーデータ読み出し部33が読み出した第1キーデータ11とユーザプログラム12に埋め込まれていた第2キーデータ13とが合致するか否かを判定する(ステップS24)。
第1キーデータ11と第2キーデータ13とが合致しなかった場合(ステップS24、No)、PLC起動処理部31はPLC起動処理を停止し、異常処理を実行する(ステップS25)。
一方、第1キーデータ11と第2キーデータ13とが合致した場合(ステップS24、Yes)、PLC起動処理部31は、そのままPLC起動処理を続行し(ステップS26)、PLC起動処理が完了する。
なお、以上の説明においては、キーデータ照合部34は第1キーデータ11と第2キーデータ13とが等しい場合に照合結果OKとする、として説明したが、キーデータ照合部34に所定の変換アルゴリズムを備えられ、キーデータ照合部34は該変換アルゴリズムを適用して一方もしくは双方のキーデータを変換し、該変換アルゴリズム適用後のキーデータが互いに一致する場合に照合OKとするようにしてもよい。
また、機能制限部44は、アクセス対象のキー記憶装置10が記憶している第1キーデータ11をパスワードとして第1キーデータ設定部43の使用を許可/不許可するとして説明したが、機能制限部44が使用するパスワードは第1キーデータ11だけに限定しない。例えば、キー記憶装置10に第1キーデータ11の他にパスワードとして使用されるデータを記憶させておき、機能制限部44は、アクセス対象のキー記憶装置10が記憶している前記データの入力を受け付けるようにしてもよい。また、前記データと第1キーデータ11との組み合わせを照合に用いるパスワードとして使用されるようにしてもよい。
また、第1キーデータ設定処理は、キー記憶装置10が装着されたPLC1とプログラミングツール2とが接続された状態で実行されるとして説明したが、プログラミングツール2にもキー記憶装置I/Fが備えられ、該キー記憶装置I/Fを介して第1キーデータ設定処理が実行されるように構成してもよい。なお、キー記憶装置I/Fは、USBメモリであってもよいし、専用設計のハードウェアであってもよい。
このように、本発明の実施の形態によれば、PLC1は、電源が投入されたとき、自PLCに装着されているアクセスプロテクトされた着脱可能なキー記憶装置10が記憶する第1キーデータ11とEEPROM15が記憶するユーザプログラム12に対応付けられている第2キーデータ13とを読み出して、読み出した第1キーデータ11と第2キーデータ13とを照合し、照合結果に基づいてPLC起動処理を続行するかPLC起動処理を停止して異常処理を実行するかを決定するようにしたので、可及的に高い保守性を備え、かつ不正な装置複製を防ぐことができるPLCを得ることができる。
また、プログラミングツール2は、キー記憶装置10に記憶されている第1キーデータ11を読み書きする第1キーデータ設定部43と、ユーザによる第1キーデータ設定部43の操作を許可/不許可する機能制限部44と、ユーザによる第2キーデータ13の入力を受け付け、前記受け付けた第2キーデータ13をユーザプログラム12に対応付ける第2キーデータ設定部42と、を備えるように構成したので、装置メーカ以外のユーザが第1キーデータを設定することが困難であるので、PLC1の不正な装置複製を防ぐことができる。
以上のように、本発明にかかるPLCとプログラミング装置は、ユーザプログラムに基づいて産業用機器を制御するPLCおよび前記ユーザプログラムを作成するプログラミング装置に適用して好適である。
1 PLC
2 プログラミングツール
10 キー記憶装置
11 第1キーデータ
12 ユーザプログラム
13 第2キーデータ
14 CPU
15 EEPROM
16 SRAM
17 通信I/F
18 キー記憶装置I/F
19 ファームウェア
21 CPU
22 ROM
23 RAM
24 入力部
25 表示部
26 通信I/F
27 プログラミングツールプログラム
31 PLC起動処理部
32 ユーザプログラム実行部
33 第1キーデータ読み出し部
34 キーデータ照合部
41 ユーザプログラム設定部
42 第2キーデータ設定部
43 第1キーデータ設定部
44 機能制限部

Claims (10)

  1. ユーザプログラムに基づいて産業用機器を制御するプログラマブルコントローラ(PLC)において、
    1キーデータが書き込まれ、アクセスプロテクトされた着脱可能な第1記憶部と、
    記ユーザプログラムが第2キーデータと対応づけて書き込まれた第2記憶部と、
    電源が投入されたとき、自PLCの起動処理をファームウェアプログラムに基づいて実行する起動処理部と、
    前記起動処理の完了後に前記ユーザプログラムを実行するユーザプログラム実行部と、
    を備え、
    前記起動処理部は、
    自PLCに装着されている前記第1記憶部が記憶する第1キーデータと前記第2記憶部に記憶されているユーザプログラムに対応づけられている第2キーデータとを読み出して、前記読み出した二つのキーデータの照合に基づいて前記起動処理を続行するか前記起動処理を停止して異常処理を実行するかを決定する起動処理停止決定部、
    を備える、
    ことを特徴とするプログラマブルコントローラ。
  2. 前記起動処理停止決定部は、前記読み出した二つのキーデータが一致したとき、前記起動処理を続行することを決定し、前記読み出した二つのキーデータが一致しなかったとき、前記起動処理を停止して異常処理を実行することを決定する、
    ことを特徴とする請求項1に記載のプログラマブルコントローラ。
  3. 前記第1記憶部は、アクセスに専用の通信プロトコルを必要とすることによってアクセスプロテクトされている、ことを特徴とする請求項1に記載のプログラマブルコントローラ。
  4. 前記第2キーデータは、前記ユーザプログラムに埋め込まれて前記第2記憶部に記憶されていることによって該ユーザプログラムと対応づけられている、ことを特徴とする請求項1に記載のプログラマブルコントローラ。
  5. 前記第2キーデータが埋め込まれたユーザプログラムは難読化されている、ことを特徴とする請求項4に記載のプログラマブルコントローラ。
  6. 前記ユーザプログラムはプログラミング装置によって作成され、
    前記プログラミング装置は、
    前記第1記憶部に記憶されている前記第1キーデータを読み書きする第1キーデータ設定部と、
    前記ユーザによる第2キーデータの入力を受け付け、前記受け付けた第2キーデータを前記作成したユーザプログラムに対応付ける第2キーデータ設定部と、
    ーザによる前記第1キーデータ設定部の操作を許可/不許可する機能制限部と、
    を備えることを特徴とする請求項1に記載のプログラマブルコントローラ。
  7. 前記機能制限部は、前記ユーザが前記第1記憶部に記憶されている第1キーデータを更新する際、前記ユーザからのパスワードの入力を受け付け、前記受け付けたパスワードに基づいて前記第1キーデータ設定部の操作を許可/不許可する、
    ことを特徴とする請求項6に記載のプログラマブルコントローラ。
  8. 前記機能制限部は、前記受け付けたパスワードと前記第1記憶部に記憶されている第1キーデータとが一致するか否かを判定し、前記受け付けたパスワードと前記第1記憶部に記憶されている第1キーデータとが一致したとき、前記第1キーデータ設定部の操作を許可し、前記受け付けたパスワードと前記第1記憶部に記憶されている第1キーデータとが一致しなかったとき、前記第1キーデータ設定部の操作を許可しない、ことを特徴とする請求項7に記載のプログラマブルコントローラ。
  9. 前記第2キーデータ設定部は、前記受け付けた第2キーデータを前記作成したユーザプログラムに埋め込むことによって前記受け付けた第2キーデータを前記作成したユーザプログラムに対応付ける、ことを特徴とする請求項6に記載のプログラマブルコントローラ。
  10. 前記第2キーデータ設定部は、前記受け付けた第2キーデータを対応付けたユーザプログラムを難読化する、ことを特徴とする請求項9に記載のプログラマブルコントローラ。
JP2011553694A 2010-02-12 2010-02-12 プログラマブルコントローラ Active JP5414812B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/052081 WO2011099146A1 (ja) 2010-02-12 2010-02-12 プログラマブルコントローラおよびプログラミング装置

Publications (2)

Publication Number Publication Date
JPWO2011099146A1 JPWO2011099146A1 (ja) 2013-06-13
JP5414812B2 true JP5414812B2 (ja) 2014-02-12

Family

ID=44367449

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011553694A Active JP5414812B2 (ja) 2010-02-12 2010-02-12 プログラマブルコントローラ

Country Status (7)

Country Link
US (1) US20120310379A1 (ja)
JP (1) JP5414812B2 (ja)
KR (1) KR101440707B1 (ja)
CN (1) CN102763046B (ja)
DE (1) DE112010005256T5 (ja)
TW (1) TWI437391B (ja)
WO (1) WO2011099146A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9311460B2 (en) * 2011-03-15 2016-04-12 Omron Corporation Programmable controller system, tool device, tool program, storage medium, and programmable controller
JP5786386B2 (ja) * 2011-03-15 2015-09-30 オムロン株式会社 プログラマブルコントローラシステム、ツール装置、ツール用プログラム及び記録媒体並びにプログラマブルコントローラ
WO2013035203A1 (ja) * 2011-09-09 2013-03-14 三菱電機株式会社 プログラマブル表示器
KR101888382B1 (ko) * 2011-12-16 2018-09-21 삼성전자 주식회사 복수 키 활용 지원 저장 장치
WO2015092817A1 (en) * 2013-12-20 2015-06-25 Cyient Limited A system and method for securing an industrial control system
CN109765838B (zh) * 2019-03-04 2020-12-15 杭州电子科技大学 可编程逻辑控制器组态文件的生成方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61206035A (ja) * 1985-03-09 1986-09-12 Meruko:Kk コンピユ−タプログラムの盗用防止装置
JPH06110512A (ja) * 1992-09-25 1994-04-22 Matsushita Electric Works Ltd プログラマブルコントローラ
JP2003022141A (ja) * 2001-07-05 2003-01-24 Qubit Co Inc 不正防止方法及び不正防止プログラム
JP2005038068A (ja) * 2003-07-17 2005-02-10 Ricoh Co Ltd ソフトウェア違法コピー防止システム

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61206036A (ja) * 1985-03-11 1986-09-12 Hitachi Ltd 述語論理型言語処理方式
JPH06222815A (ja) * 1993-01-26 1994-08-12 Matsushita Electric Works Ltd プログラマブルコントローラ
US6237103B1 (en) * 1998-09-30 2001-05-22 International Business Machines Corporation Power sequencing in a data processing system
US7110580B2 (en) * 2000-05-19 2006-09-19 Nextgenid, Inc. Distributed biometric access control method and apparatus
JP3526293B2 (ja) * 2001-11-30 2004-05-10 三菱電機株式会社 プログラマブルコントローラ
GB2385156B (en) * 2002-02-06 2005-08-10 Inventec Corp Automatic storage and retrieval system and method
US8335920B2 (en) * 2005-07-14 2012-12-18 Imation Corp. Recovery of data access for a locked secure storage device
JP4851182B2 (ja) * 2005-12-28 2012-01-11 ルネサスエレクトロニクス株式会社 マイクロコンピュータ、マイクロコンピュータに対するプログラム書込み方法、及び書込み処理システム
WO2007094697A1 (en) * 2006-02-10 2007-08-23 Siemens Aktiengesellschaft Security key with instructions
CN101034427A (zh) * 2006-03-09 2007-09-12 环隆电气股份有限公司 保护软件使用权的方法及电脑可读取的记录媒体
CA2655500A1 (en) * 2006-06-19 2007-12-27 Liquid Computing Corporation Token based flow control for data communication
CN101005361B (zh) * 2007-01-22 2010-11-03 北京飞天诚信科技有限公司 一种服务器端软件保护方法及***
CN101329658B (zh) * 2007-06-21 2012-12-05 西门子(中国)有限公司 加密、解密方法,及应用所述方法的plc***
CN100576227C (zh) * 2007-07-10 2009-12-30 侯同济 一种软件加密注册防盗版方法
US8185941B2 (en) * 2007-07-31 2012-05-22 Hewlett-Packard Development Company, L.P. System and method of tamper-resistant control
JP2009070144A (ja) 2007-09-13 2009-04-02 Omron Corp Plcにおけるプログラミング方法
US20110105222A1 (en) * 2008-06-23 2011-05-05 Gagner Mark B Managing wagering game content
US8516237B2 (en) * 2010-01-12 2013-08-20 Oracle America, Inc. Method and system for providing information to a subsequent operating system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61206035A (ja) * 1985-03-09 1986-09-12 Meruko:Kk コンピユ−タプログラムの盗用防止装置
JPH06110512A (ja) * 1992-09-25 1994-04-22 Matsushita Electric Works Ltd プログラマブルコントローラ
JP2003022141A (ja) * 2001-07-05 2003-01-24 Qubit Co Inc 不正防止方法及び不正防止プログラム
JP2005038068A (ja) * 2003-07-17 2005-02-10 Ricoh Co Ltd ソフトウェア違法コピー防止システム

Also Published As

Publication number Publication date
US20120310379A1 (en) 2012-12-06
KR101440707B1 (ko) 2014-09-17
KR20120119217A (ko) 2012-10-30
TW201128333A (en) 2011-08-16
TWI437391B (zh) 2014-05-11
CN102763046A (zh) 2012-10-31
CN102763046B (zh) 2015-12-16
JPWO2011099146A1 (ja) 2013-06-13
DE112010005256T5 (de) 2013-05-02
WO2011099146A1 (ja) 2011-08-18

Similar Documents

Publication Publication Date Title
JP5414812B2 (ja) プログラマブルコントローラ
JP4769608B2 (ja) 起動検証機能を有する情報処理装置
WO2013142574A1 (en) Hardware and software association and authentication
JP2011165175A (ja) ソフトウェアのダウンロード方法
JP4607080B2 (ja) プログラマブル・コントローラ・システム
JPWO2009013825A1 (ja) 情報処理装置、及び改竄検証方法
JP2007507016A (ja) シリアルインターフェイスを介したフラッシュプログラミングによる電子制御装置のソフトウェアアップデート方法およびこれに対応する状態自動装置
JP2008200943A (ja) 画像形成装置
JP6011500B2 (ja) 制御装置、セキュリティー管理システム及びセキュリティー管理方法
CN103348355A (zh) 用于管理安全状态转换的方法和设备
JP4501781B2 (ja) プログラマブルコントローラ
WO2007088605A1 (ja) 部品情報復元方法、部品情報管理方法及び電子装置
WO2019059148A1 (ja) Bios管理装置、bios管理システム、bios管理方法、及び、bios管理プログラムが格納された記録媒体
JP5759827B2 (ja) メモリシステム、情報処理装置、メモリ装置、およびメモリシステムの動作方法
JP2021002204A (ja) 正当性確認機器
JP2001256118A (ja) マイクロコンピュータシステムの保護方法,メモリ装置,マイクロコンピュータシステム
JP5419123B2 (ja) 電子機器システム及びファームウェアの更新方法
JP5659926B2 (ja) コンピュータシステムおよびオペレーティングシステム起動方法
US11022948B2 (en) Safety control device and method for changing a range of functions of a safety control device
WO2023002635A1 (ja) 情報処理装置、情報処理方法、及び、情報処理プログラム
JP2012194679A (ja) プログラマブルコントローラシステム、ツール装置、ツール用プログラム及び記録媒体並びにプログラマブルコントローラ
WO2020235172A1 (ja) 制御装置、データ不能化プログラム、および制御システム
JP2009199497A (ja) プログラム管理装置、プログラム管理方法及びプログラム管理プログラム
JP6138636B2 (ja) プログラマブルコントローラ、プログラミング装置、およびそれらのシステム
JP5895271B2 (ja) ソフトウェアのダウンロード方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130521

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130704

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: 20131015

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131112

R150 Certificate of patent or registration of utility model

Ref document number: 5414812

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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