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

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

Info

Publication number
JP6813381B2
JP6813381B2 JP2017019477A JP2017019477A JP6813381B2 JP 6813381 B2 JP6813381 B2 JP 6813381B2 JP 2017019477 A JP2017019477 A JP 2017019477A JP 2017019477 A JP2017019477 A JP 2017019477A JP 6813381 B2 JP6813381 B2 JP 6813381B2
Authority
JP
Japan
Prior art keywords
user program
storage device
volatile storage
server
programmable logic
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
JP2017019477A
Other languages
English (en)
Other versions
JP2018128722A (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.)
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)

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 (4)

  1. ネットワークを介してサーバに接続され、揮発性記憶装置と不揮発性記憶装置と処理部を有するプログラマブルロジックコントローラであって、
    前記サーバは、ユーザによって作成されたユーザプログラムを格納し、
    前記処理部は、前記サーバから電源起動の第1のタイミングで、前記ユーザプログラムをダウンロードして前記揮発性記憶装置に格納し、前記揮発性記憶装置に格納された前記ユーザプログラムを読み出して実行し、
    前記揮発性記憶装置は、電源遮断の第2のタイミングで前記ユーザプログラムを消去し、
    前記不揮発性記憶装置は、前記プログラマブルロジックコントローラの基本動作を制御するシステムプログラムを格納し、
    前記処理部は、前記不揮発性記憶装置から前記システムプログラムを読み出して前記揮発性記憶装置に格納し、前記揮発性記憶装置に格納された前記システムプログラムを読み出して実行し、
    前記処理部は、
    前記サーバの読み出し先を規定したサーバ情報の取得が正常に完了したか否かを判断し、
    前記読み出し先サーバ情報の取得が正常に完了した第3のタイミングで、前記サーバから前記ユーザプログラムの取得処理を実行し、
    前記ユーザプログラムの前記取得処理が正常に完了したか否かを判断し、
    前記取得処理が正常に完了した第4のタイミングで、取得した前記ユーザプログラムの照合処理を実行し、
    前記取得処理が失敗したら、異常処理表示を実行して処理を終了し、
    前記ユーザプログラムの前記照合処理が正常に完了したか否かを判断し、
    前記照合処理が正常に完了し第5のタイミングで、前記ユーザプログラムの実行処理を行い、
    前記照合処理が失敗したら、前記異常処理表示を実行し処理を終了することを特徴とするプログラマブルロジックコントローラ。
  2. 前記不揮発性記憶装置は、前記サーバの読み出し先を規定したサーバ情報と、前記ユーザプログラムの整合性を判断するためのユーザプログラム照合情報を格納し、
    前記処理部は、前記読み出し先サーバ情報を参照して前記サーバから前記ユーザプログラムをダウンロードし、前記ユーザプログラム照合情報を参照して前記ユーザプログラムの前記照合処理を行い、前記照合処理を行った前記ユーザプログラムを前記揮発性記憶装置に格納することを特徴とする請求項1に記載のプログラマブルロジックコントローラ。
  3. 前記不揮発性記憶装置は、前記読み出し先サーバ情報として、少なくとも前記サーバのIPアドレス、前記サーバのポート番号及び前記サーバのMACアドレスを格納することを特徴とする請求項2に記載のプログラマブルロジックコントローラ。
  4. 前記不揮発性記憶装置は、前記ユーザプログラム照合情報として、前記ユーザプログラムの第1のサム値を格納し、
    前記処理部は、前記サーバからダウンロードした前記ユーザプログラムの第2のサム値と、前記不揮発性記憶装置に格納された前記ユーザプログラムの第1のサム値とを比較することにより前記ユーザプログラムの前記照合処理を行うことを特徴とする請求項2に記載のプログラマブルロジックコントローラ。
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 JP2018128722A (ja) 2018-08-16
JP6813381B2 true 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)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7318264B2 (ja) * 2019-03-28 2023-08-01 オムロン株式会社 コントローラシステム
JP7379888B2 (ja) * 2019-07-08 2023-11-15 オムロン株式会社 制御システム、および制御方法
CN117377915A (zh) 2021-06-08 2024-01-09 三菱电机株式会社 控制系统、可编程控制器、控制程序发送方法及控制器程序

Family Cites Families (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 プログラム制御方式
JP3270238B2 (ja) * 1994-03-14 2002-04-02 株式会社東芝 プログラマブルコントローラ及びそのプログラムツール
JPH1015201A (ja) * 1996-06-28 1998-01-20 Sophia Co Ltd 遊技制御装置
JP2006099157A (ja) * 2004-09-28 2006-04-13 Hitachi Ltd 情報処理装置
JP4916170B2 (ja) * 2005-12-26 2012-04-11 株式会社デジタル プログラマブル表示器、サーバおよびそれらのプログラム
JP5268820B2 (ja) * 2009-07-30 2013-08-21 株式会社東芝 監視装置用プログラムの書き換え方法
JP5724679B2 (ja) * 2011-06-29 2015-05-27 株式会社ジェイテクト ブロック実行順表示装置
JP5942446B2 (ja) * 2012-02-01 2016-06-29 オムロン株式会社 サポート装置およびサポートプログラム
DE112014006740T5 (de) * 2014-06-11 2017-05-11 Mitsubishi Electric Corporation Programmbearbeitungsvorrichtung, Programmverwaltungsvorrichtung, und Programmverwaltungsprogramm

Also Published As

Publication number Publication date
JP2018128722A (ja) 2018-08-16

Similar Documents

Publication Publication Date Title
JP6813381B2 (ja) プログラマブルロジックコントローラ
JP7010049B2 (ja) 車両制御装置、プログラムの更新確認方法および更新確認プログラム
TW201721412A (zh) 選擇及載入韌體卷區之技術
JP4784100B2 (ja) 処理装置およびそのファームウェアダウンロード方法。
JP2006221274A (ja) 車両用電子制御装置および制御プログラムの書換え方法
US11366911B2 (en) Cryptography module and method for operating same
JP2019215754A5 (ja)
JP4867186B2 (ja) 制御装置、方法、プログラム及び記憶媒体
JP6708596B2 (ja) 電子制御装置及び制御プログラム検証方法
JP6765343B2 (ja) 書換えシステム、書換え装置及びコンピュータ
JP6582438B2 (ja) 情報処理装置、システム設定方法、及び、コンピュータ・プログラム
JP2021157487A (ja) 外部記憶装置及び情報処理システム
JP2019008693A (ja) 自動車用制御装置
JP5158883B2 (ja) ファームウェア更新方法及びファームウェア更新装置
JP2010086206A (ja) 設定装置及びフィールドネットワークシステム
JP5786386B2 (ja) プログラマブルコントローラシステム、ツール装置、ツール用プログラム及び記録媒体並びにプログラマブルコントローラ
KR101779752B1 (ko) 프로그래머블 로직 컨트롤러
JP6912954B2 (ja) 書換えシステム及びコンピュータ
JP7188622B2 (ja) 自動運転ecu、プログラムの更新確認方法および更新確認プログラム
JP2018181167A (ja) 電子制御装置
GB2576729A (en) Installing application program code on a vehicle control system
JP6897203B2 (ja) 組み込み装置および組み込み装置の制御方法
JP5849449B2 (ja) 情報処理装置およびその制御方法とプログラム
US10365924B2 (en) Electronic device
JP4517607B2 (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 Written amendment

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 Written amendment

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