JP2018128722A - プログラマブルロジックコントローラ - Google Patents

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

Info

Publication number
JP2018128722A
JP2018128722A JP2017019477A JP2017019477A JP2018128722A JP 2018128722 A JP2018128722 A JP 2018128722A JP 2017019477 A JP2017019477 A JP 2017019477A JP 2017019477 A JP2017019477 A JP 2017019477A JP 2018128722 A JP2018128722 A JP 2018128722A
Authority
JP
Japan
Prior art keywords
user program
storage device
server
programmable logic
logic 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.)
Granted
Application number
JP2017019477A
Other languages
English (en)
Other versions
JP6813381B2 (ja
Inventor
瑛太郎 三田地
Eitaro Mitachi
瑛太郎 三田地
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.)
Hitachi Industrial Equipment Systems Co Ltd
Original Assignee
Hitachi Industrial Equipment Systems Co Ltd
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 Hitachi Industrial Equipment Systems Co Ltd filed Critical Hitachi Industrial Equipment Systems Co Ltd
Priority to JP2017019477A priority Critical patent/JP6813381B2/ja
Publication of JP2018128722A publication Critical patent/JP2018128722A/ja
Application granted granted Critical
Publication of JP6813381B2 publication Critical patent/JP6813381B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Programmable Controllers (AREA)

Abstract

【課題】ユーザプログラムが悪意のある第三者によって読み出されることを防止する。【解決手段】ネットワークを介してサーバに接続され、少なくとも揮発性記憶装置130と処理部(CPU110)を有するプログラマブルロジックコントローラであって、サーバはユーザによって作成されたユーザプログラムを格納し、処理部(CPU110)はサーバからユーザプログラムをダウンロードして揮発性記憶装置130に格納し揮発性記憶装置130に格納されたユーザプログラムを読み出して実行し、揮発性記憶装置130は所定のタイミングでユーザプログラムを消去する。【選択図】図1

Description

本発明は、プログラマブルロジックコントローラに関する。
プログラマブルロジックコントローラに格納されるユーザプログラム(制御プログラム)は通常ユーザによって作成される。ユーザによって作成されるユーザプログラムは制御する設備に応じて異なる。作成されたユーザプログラムはプログラマブルロジックコントローラ内部の不揮発性記憶装置に格納され、ユーザが後から読み出して実行される。
例えば、特許文献1には、ユーザプログラムをプログラマブルロジックコントローラに格納する技術が記載されている。
特開2006−268485号公報
ところで、制御する設備によっては専門の知識やノウハウを用いている場合があり、ユーザが作成したユーザプログラムを第三者に公開することができない場合がある。しかし、ユーザプログラムは、プログラマブルロジックコントローラ内部の不揮発性記憶装置に格納されるのが一般的である。
不揮発性記憶装置は、プログラマブルロジックコントローラの電源を遮断(電源OFF)した後にもデータは消去されずに残っている。このため、悪意のある第三者によって、不揮発性記憶装置に格納されたユーザプログラムが読み出されてしまう恐れがある。
特許文献1には、ユーザプログラムをプログラマブルロジックコントローラ内に格納することが開示されているだけであり、ユーザプログラムが悪意のある第三者によって読み出されることについては言及されていない。
本発明の目的は、ユーザプログラムが悪意のある第三者によって読み出されることを防止することにある。
本発明の一態様では、ネットワークを介してサーバに接続され、少なくとも揮発性記憶装置と処理部を有するプログラマブルロジックコントローラであって、前記サーバは、ユーザによって作成されたユーザプログラムを格納し、前記処理部は、前記サーバから前記ユーザプログラムをダウンロードして前記揮発性記憶装置に格納し、前記揮発性記憶装置に格納された前記ユーザプログラムを読み出して実行し、前記揮発性記憶装置は、所定のタイミングで前記ユーザプログラムを消去することを特徴とする。
本発明によれば、ユーザプログラムが悪意のある第三者によって読み出されることを防止することができる。
実施形態に係るプログラマブルロジックコントローラの構成図である。 実施形態に係るシステムの全体構成図である。 不揮発性記憶装置のアドレス空間を示す図である。 揮発性記憶装置のアドレス空間を示す図である。 読み出し先サーバ情報エリアの詳細を示す図である。 ネットワークにあるサーバからユーザプログラムをダウンロードして実行する処理を説明するためのフローチャートである。 読み出し先サーバのユーザプログラムを取得する処理を説明するためのフローチャートである。 読み出したユーザプログラムを照合する処理を説明するためのフローチャートである。
以下、図面を用いて、本発明の実施形態について説明する。
実施形態では、ユーザプログラム(制御プログラム)をプログラマブルロジックコントローラ内部の不揮発性記憶装置120には格納しない。プログラマブルロジックコントローラを起動(電源ON)した後に、あらかじめ指定したユーザプログラムをネットワーク230上のサーバ220、240からダウンロードし、プログラマブルロジックコントローラ内部の揮発性記憶装置130に格納してユーザプログラムを実行する(図1、図2参照)。
このように、実施形態では、ダウンロードしたユーザプログラムはプログラマブルロジックコントローラ内部の不揮発性記憶装置120には格納せずに、揮発性記憶装置130に格納する。この結果、プログラマブルロジックコントローラの電源が遮断(電源OFF)されると、揮発性記憶装置130に展開されて実行しているユーザプログラムは消えてしまう。これによって、悪意のある第三者の不正なユーザプログラムの読み出しを防止することができる。
最初に、プログラマブルロジックコントローラを起動(電源ON)してから、ネットワークにあるサーバからユーザプログラムをダウンロードして実行するまでの処理について説明する。
図1を参照すると、プログラマブルロジックコントローラは、CPU(処理部)110、不揮発性記憶装置120、揮発性記憶装置130、入力装置140、出力装置150、通信インターフェース160を有する。入力装置140と出力装置150の数は、ユーザの実現したい構成によって任意に追加、削除することが可能である。
図2を参照すると、プログラマブルロジックコントローラ(PLC)210は、図1に示す通信インターフェース160からネットワーク230を介してサーバ220に接続される。
尚、ユーザのシステム構成によっては、サーバ220とサーバ240のように、複数のサーバが配置される場合がある。このように、ユーザプログラムのダウンロードを一つのサーバだけでなく、複数のサーバ220、240から行うようにすることによって、ユーザプログラムの堅牢性をより高めることができる。
図3を参照して、図1で示したプログラマブルロジックコントローラの不揮発性記憶装置120のアドレス空間について説明する。
不揮発性記憶装置120のアドレス空間300は、システムプログラムエリア310、読み出し先サーバ情報エリア320、ユーザプログラムサム値照合用エリア330に分けられる。
ここで、読み出し先サーバ情報エリア320には、サーバ220、240の読み出し先を規定したサーバ情報が格納されている。また、ユーザプログラムサム値照合用エリア330には、ユーザプログラムの整合性を判断するためのユーザプログラム照合情報(サム値)が格納されている。
プログラマブルロジックコントローラは電源起動時、システムプログラムを不揮発性記憶装置120からロードして、ロードしたシステムプログラムを揮発性記憶装置130へ展開して実行する。ここで、システムプログラムとは、プログラマブルロジックコントローラとして動作するためのファームウェアであり、プログラマブルロジックコントローラの基本動作を制御するプログラムである。
図4を参照して、図1で示したプログラマブルロジックコントローラの揮発性記憶装置130のアドレス空間について説明する。
揮発性記憶装置130のアドレス空間400は、ユーザプログラムエリア410、
ユーザプログラム用内部レジスタエリア420、ユーザプログラムサム値計算エリア430、システムプログラム実行エリア440に分けられる。
ここで、ユーザプログラム用内部レジスタエリア420とは、ユーザプログラムで使用する際の一時的な記憶エリアである。ユーザはユーザプログラム用内部レジスタエリア420にユーザプログラムの演算結果等を一時的に格納する。
図5を参照して、図3で示した読み出し先サーバ情報エリア320の詳細について説明する。
読み出し先サーバ情報500は、サーバIPアドレス510、サーバポート番号520、サーバMACアドレス530及び前回更新時間540に分けられる。
図6のフローチャートを参照して、プログラマブルロジックコントローラが起動(電源ON)してから、ネットワーク230にあるサーバ220、240からユーザプログラムをダウンロードして実行するまでの処理について説明する。
プログラマブルコントローラは、電源がONしたらシステムプログラム読出処理を実行する(ステップ600)。具体的には、不揮発性記憶装置120のシステムプログラムエリア310からシステムプログラムを読み出し、揮発性記憶装置130のシステムプログラム実行エリア440に格納する。
次に、ユーザプログラム取得処理を実行する(ステップ610)。具体的には、読み出し先サーバ220、240からユーザプログラムを取得する。
次に、ユーザプログラムの取得処理が正常に完了したか否かを判断する(ステップ620)。ユーザプログラムの取得処理が正常に完了したら、取得したユーザプログラムの照合処理を実行する(ステップ630)。ユーザプログラムの取得処理が失敗したら、異常処理表示を実行して処理を終了する(ステップ660)。
取得したユーザプログラムの照合処理が正常に完了したら、ユーザプログラムの実行処理を行う(ステップ650)。ユーザプログラムの実行処理を行うことによってユーザプログラムが実行され、プログラマブルコントローラとしての制御動作が開始される。
ユーザプログラムの照合処理が失敗したら、異常処理表示を実行し処理を終了する(ステップ660)。
図7のフローチャートを参照して、図6に示すユーザプログラム取得処理610の詳細について説明する。
まず、図6のユーザプログラム取得処理610が実行されると、読み出し先サーバ情報取得処理を実行する(ステップ700)。具体的には、不揮発性記憶装置120の読み出し先サーバ情報エリア320に格納されている読み出し先サーバ情報であるサーバIPアドレス510、サーバポート番号520、サーバMACアドレス530及び前回更新時間540を取得する。
次に、読み出し先サーバ情報の取得が正常に完了したか否かを判断する(ステップ710)。読み出し先サーバ情報を正常に取得できたら、読み出し先サーバ220、240からユーザプログラム取得処理を実行する(ステップ720)。読み出し先サーバ情報の取得に失敗したら、取得失敗とし処理を終了する(ステップ740)。
次に、読み出し先サーバ220、240からユーザプログラムの取得が完了したか否かを判断する(ステップ730)。読み出し先サーバ220、240からユーザプログラムを取得することができたら、正常に取得完了とし処理を終了する(ステップ750)。読み出し先サーバ220、240からユーザプログラムを取得できなかったら、取得失敗とし処理を終了する(ステップ740)。
図8のフローチャートを参照して、図6に示す取得したユーザプログラムの照合処理630について詳細に説明する。
まず、図6のユーザプログラムの照合処理630が実行されると、ユーザプログラムサム値計算処理を実行して、サーバ220、240から読み出したユーザプログラムのサム値を計算する(ステップ800)。
次に、サム値計算結果照合処理で、ステップ800で計算したサム値と、ユーザプログラムサム値照合エリア330(図3参照)に格納されているサム値を照合する。
次に、照合が正常に完了したか否かを判断する(ステップ820)。照合が正常に完了したら、正常に照合完了とし処理を終了する(ステップ830)。照合に失敗したら、照合失敗とし処理を終了する(ステップ840)。
このように、実施形態では、電源起動(電源ON)直後にユーザプログラムをダウンロードするだけでなく、一定のタイミングでダウンロード元のサーバ220、240とユーザプログラムの照合行う。これにより、ユーザプログラムの整合性を常に正しい状態におくことができる。
上述のように、実施形態では、サーバ220、240からダウンロードしたユーザプログラムはプログラマブルロジックコントローラ内部の不揮発性記憶装置120には格納しないで、揮発性記憶装置130に格納する。この結果、プログラマブルロジックコントローラの電源を遮断(電源OFF)すると、プログラマブルロジックコントローラが実行しているユーザプログラムは消えてしまう。これによって、悪意のある第三者の不正なユーザプログラムの読み出しを防止することができる。
尚、上記実施形態の変形例として、例えば、ユーザプログラムを複数有し、プログラマブルロジックコントローラ内部の不揮発性記憶装置120からロードあるいはネットワーク上のサーバ220、240からダウンロードするのかを選択可能に構成することも可能である。この変形例によれば、複数のユーザプログラムのセキュリティレベルを選択することができる。
110:CPU
120:不揮発性記憶装置
130:揮発性記憶装置
140:入力装置
150:出力装置
160:通信インターフェース
210:プログラマブルロジックコントローラ(PLC)
220:サーバ
230:ネットワーク
240:サーバ
300:不揮発性記憶エリア
310:システムプログラムエリア
320:読み出し先サーバ情報エリア
330:ユーザプログラムサム値照合エリア
400:揮発性記憶エリア
410:ユーザプログラムエリア
420:ユーザプログラム用内部レジスタエリア
430:ユーザプログラムサム値計算エリア
440:システムプログラム実行エリア
500:読み出し先サーバ情報エリア
510:サーバIPアドレス
520:サーバポート番号
530:サーバMACアドレス
540:前回更新時間

Claims (5)

  1. ネットワークを介してサーバに接続され、少なくとも揮発性記憶装置と処理部を有するプログラマブルロジックコントローラであって、
    前記サーバは、ユーザによって作成されたユーザプログラムを格納し、
    前記処理部は、前記サーバから前記ユーザプログラムをダウンロードして前記揮発性記憶装置に格納し、前記揮発性記憶装置に格納された前記ユーザプログラムを読み出して実行し、
    前記揮発性記憶装置は、所定のタイミングで前記ユーザプログラムを消去することを特徴とするプログラマブルロジックコントローラ。
  2. 前記プログラマブルロジックコントローラは、不揮発性記憶装置をさらに有し、
    前記不揮発性記憶装置は、前記プログラマブルロジックコントローラの基本動作を制御するシステムプログラムを格納し、
    前記処理部は、前記不揮発性記憶装置から前記システムプログラムを読み出して前記揮発性記憶装置に格納し、前記揮発性記憶装置に格納された前記システムプログラムを読み出して実行することを特徴とする請求項1に記載のプログラマブルロジックコントローラ。
  3. 前記不揮発性記憶装置は、前記サーバの読み出し先を規定したサーバ情報と、前記ユーザプログラムの整合性を判断するためのユーザプログラム照合情報を格納し、
    前記処理部は、前記読み出し先サーバ情報を参照して前記サーバから前記ユーザプログラムをダウンロードし、前記ユーザプログラム照合情報を参照して前記ユーザプログラムの照合を行い、前記照合を行った前記ユーザプログラムを前記揮発性記憶装置に格納することを特徴とする請求項1に記載のプログラマブルロジックコントローラ。
  4. 前記不揮発性記憶装置は、前記読み出し先サーバ情報として、少なくとも前記サーバのIPアドレス、前記サーバのポート番号及び前記サーバのMACアドレスを格納することを特徴とする請求項3に記載のプログラマブルロジックコントローラ。
  5. 前記不揮発性記憶装置は、前記ユーザプログラム照合情報として、前記ユーザプログラムの第1のサム値を格納し、
    前記処理部は、前記サーバからダウンロードした前記ユーザプログラムの第2のサム値と、前記不揮発性記憶装置に格納された前記ユーザプログラムの第1のサム値とを比較することにより前記ユーザプログラムの照合を行うことを特徴とする請求項3に記載のプログラマブルロジックコントローラ。
JP2017019477A 2017-02-06 2017-02-06 プログラマブルロジックコントローラ Active JP6813381B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017019477A JP6813381B2 (ja) 2017-02-06 2017-02-06 プログラマブルロジックコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017019477A JP6813381B2 (ja) 2017-02-06 2017-02-06 プログラマブルロジックコントローラ

Publications (2)

Publication Number Publication Date
JP2018128722A true JP2018128722A (ja) 2018-08-16
JP6813381B2 JP6813381B2 (ja) 2021-01-13

Family

ID=63172899

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017019477A Active JP6813381B2 (ja) 2017-02-06 2017-02-06 プログラマブルロジックコントローラ

Country Status (1)

Country Link
JP (1) JP6813381B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020161048A (ja) * 2019-03-28 2020-10-01 オムロン株式会社 コントローラシステム
WO2021005831A1 (ja) * 2019-07-08 2021-01-14 オムロン株式会社 制御システム、および制御方法
WO2022259384A1 (ja) * 2021-06-08 2022-12-15 三菱電機株式会社 制御システム、プログラマブルコントローラ、制御プログラム送信方法及びコントローラプログラム

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03105525A (ja) * 1989-09-20 1991-05-02 Fujitsu Ltd プログラム制御方式
JPH07253875A (ja) * 1994-03-14 1995-10-03 Toshiba Corp プログラマブルコントローラ及びそのプログラムツール
JPH1015201A (ja) * 1996-06-28 1998-01-20 Sophia Co Ltd 遊技制御装置
JP2006099157A (ja) * 2004-09-28 2006-04-13 Hitachi Ltd 情報処理装置
JP2007179115A (ja) * 2005-12-26 2007-07-12 Digital Electronics Corp プログラマブル表示器、制御プログラムおよびそのプログラムを記録した記録媒体、ならびにサーバ、サーバプログラムおよびそのプログラムを記録した記録媒体
JP2011034156A (ja) * 2009-07-30 2011-02-17 Toshiba Corp 監視装置用プログラムの書き換え方法
JP2013012050A (ja) * 2011-06-29 2013-01-17 Jtekt Corp ブロック実行順表示装置
JP2013161106A (ja) * 2012-02-01 2013-08-19 Omron Corp サポート装置およびサポートプログラム
WO2015189931A1 (ja) * 2014-06-11 2015-12-17 三菱電機株式会社 プログラム編集装置、プログラム管理装置、プログラム編集プログラムおよびプログラム管理プログラム

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03105525A (ja) * 1989-09-20 1991-05-02 Fujitsu Ltd プログラム制御方式
JPH07253875A (ja) * 1994-03-14 1995-10-03 Toshiba Corp プログラマブルコントローラ及びそのプログラムツール
JPH1015201A (ja) * 1996-06-28 1998-01-20 Sophia Co Ltd 遊技制御装置
JP2006099157A (ja) * 2004-09-28 2006-04-13 Hitachi Ltd 情報処理装置
JP2007179115A (ja) * 2005-12-26 2007-07-12 Digital Electronics Corp プログラマブル表示器、制御プログラムおよびそのプログラムを記録した記録媒体、ならびにサーバ、サーバプログラムおよびそのプログラムを記録した記録媒体
JP2011034156A (ja) * 2009-07-30 2011-02-17 Toshiba Corp 監視装置用プログラムの書き換え方法
JP2013012050A (ja) * 2011-06-29 2013-01-17 Jtekt Corp ブロック実行順表示装置
JP2013161106A (ja) * 2012-02-01 2013-08-19 Omron Corp サポート装置およびサポートプログラム
WO2015189931A1 (ja) * 2014-06-11 2015-12-17 三菱電機株式会社 プログラム編集装置、プログラム管理装置、プログラム編集プログラムおよびプログラム管理プログラム

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020161048A (ja) * 2019-03-28 2020-10-01 オムロン株式会社 コントローラシステム
WO2020195638A1 (ja) * 2019-03-28 2020-10-01 オムロン株式会社 コントローラシステム
CN113557507A (zh) * 2019-03-28 2021-10-26 欧姆龙株式会社 控制器系统
US20220147632A1 (en) * 2019-03-28 2022-05-12 Omron Corporation Controller system
JP7318264B2 (ja) 2019-03-28 2023-08-01 オムロン株式会社 コントローラシステム
US11768940B2 (en) 2019-03-28 2023-09-26 Omron Corporation Controller system
WO2021005831A1 (ja) * 2019-07-08 2021-01-14 オムロン株式会社 制御システム、および制御方法
JP2021012573A (ja) * 2019-07-08 2021-02-04 オムロン株式会社 制御システム、および制御方法
JP7379888B2 (ja) 2019-07-08 2023-11-15 オムロン株式会社 制御システム、および制御方法
WO2022259384A1 (ja) * 2021-06-08 2022-12-15 三菱電機株式会社 制御システム、プログラマブルコントローラ、制御プログラム送信方法及びコントローラプログラム
JP7511758B2 (ja) 2021-06-08 2024-07-05 三菱電機株式会社 制御システム、制御プログラム送信方法及びプログラム

Also Published As

Publication number Publication date
JP6813381B2 (ja) 2021-01-13

Similar Documents

Publication Publication Date Title
US7711944B2 (en) Method and apparatus for securely updating and booting code image
JP6373888B2 (ja) 情報処理装置及び制御方法
KR102036411B1 (ko) 보안 엘리먼트의 비휘발성 메모리 내로의 데이터의 로딩의 보안화
JP2018128722A (ja) プログラマブルロジックコントローラ
CN113127011A (zh) 电子设备及电子设备的操作方法
JP2006221274A (ja) 車両用電子制御装置および制御プログラムの書換え方法
JP2010015265A (ja) プログラム書き換え装置およびプログラム書き換え方法
US11366911B2 (en) Cryptography module and method for operating same
US20120310379A1 (en) Programmable controller
WO2018100633A1 (ja) 制御装置およびプログラム更新方法
JP6708596B2 (ja) 電子制御装置及び制御プログラム検証方法
JP2019008693A (ja) 自動車用制御装置
JP2018195329A (ja) 情報処理装置
JP2007011929A (ja) 不揮発性メモリのデータ更新方法、制御装置、及びデータ更新プログラム
US20210397705A1 (en) Return-oriented programming protection
JP5786386B2 (ja) プログラマブルコントローラシステム、ツール装置、ツール用プログラム及び記録媒体並びにプログラマブルコントローラ
JP6334776B1 (ja) 電子制御装置
JP4910402B2 (ja) 不揮発性メモリの書き換え装置及び書き換え方法
WO2020043361A1 (en) Installing application program code on a vehicle control system
CN111079194A (zh) 计算装置和用于该计算装置的运行方法
KR101779752B1 (ko) 프로그래머블 로직 컨트롤러
JP2011039825A (ja) ファームウェア更新方法及びファームウェア更新装置
TWI859387B (zh) 系統晶片及其操作方法、以及電子裝置
JP7341376B2 (ja) 情報処理装置、情報処理方法、及び、情報処理プログラム
JP7287844B2 (ja) 情報処理装置、セキュリティ強度の切替方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190226

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200326

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200630

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200817

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201217

R150 Certificate of patent or registration of utility model

Ref document number: 6813381

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150