JP7127585B2 - セーフティシステムおよびメンテナンス方法 - Google Patents

セーフティシステムおよびメンテナンス方法 Download PDF

Info

Publication number
JP7127585B2
JP7127585B2 JP2019045175A JP2019045175A JP7127585B2 JP 7127585 B2 JP7127585 B2 JP 7127585B2 JP 2019045175 A JP2019045175 A JP 2019045175A JP 2019045175 A JP2019045175 A JP 2019045175A JP 7127585 B2 JP7127585 B2 JP 7127585B2
Authority
JP
Japan
Prior art keywords
safety
support device
safety program
unit
user
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
JP2019045175A
Other languages
English (en)
Other versions
JP2020149244A (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
Original Assignee
Omron 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 filed Critical Omron Corp
Priority to JP2019045175A priority Critical patent/JP7127585B2/ja
Priority to CN202080017595.5A priority patent/CN113498494A/zh
Priority to EP20770639.1A priority patent/EP3940465A4/en
Priority to PCT/JP2020/005796 priority patent/WO2020184064A1/ja
Priority to US17/434,958 priority patent/US20220171359A1/en
Publication of JP2020149244A publication Critical patent/JP2020149244A/ja
Application granted granted Critical
Publication of JP7127585B2 publication Critical patent/JP7127585B2/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
    • 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/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0428Safety, monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/20Administration of product repair or maintenance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption

Description

本発明は、セーフティシステムに対するリモートメンテナンス機能に関する。
様々な製造現場で使用される設備や機械を安全に使用するためには、IEC 61508などの国際規格に従って機能安全を実現しなければならない。
このような機能安全は、セーフティコントローラにてセーフティプログラムを実行することで実現されることもある。例えば、特開2010-055652号公報(特許文献1)は、安全コントローラのプログラム開発支援装置を開示する。
特開2010-055652号公報
通常、セーフティプログラムに従ってセーフティ制御を実行するコントローラなどに対する各種メンテンサンスを行うための環境が提供される。このようなセーフティ制御に対するメンテナンスを実施するための環境は、IEC 62061などの国際規格に従って、構成されなければならない。
この結果、セーフティ制御に関するメンテナンスは、コントローラが配置された現場で行わざるを得ず、メンテナンス効率や生産性を向上させる制約となっている。
本発明の一つの目的は、セーフティプログラムに従ってセーフティ制御を実行する処理実行部に対するリモートメンテナンスをより安全に実施できる構成を提供することである。
本発明のある局面に従うセーフティシステムは、セーフティプログラムに従ってセーフティ制御を実行する処理実行部と、処理実行部が保持するセーフティプログラムに対する外部アクセスを仲介する通信部と、ユーザ操作に従って、ネットワークを介してセーフティプログラムを通信部へ転送するサポート装置と、サポート装置から転送されたセーフティプログラムに関する情報をユーザに提示する提示手段とを含む。通信部は、ユーザからの指示を条件として、サポート装置から転送されたセーフティプログラムを処理実行部へ転送する。
本発明によれば、サポート装置から転送されたセーフティプログラムに関する情報をユーザに提示し、当該ユーザが転送の指示を行った場合に、はじめてセーフティプログラムが処理実行部へ転送される。そのため、リモートメンテナンスにおいても、現場のユーザと連携しつつ、セーフティプログラムの更新が行われるため、リモートメンテナンスをより安全に実施できる。
サポート装置は、入力された第1のパスワードをセーフティプログラムに付与して通信部へ転送するようにしてもよい。通信部は、ユーザから入力された第2のパスワードが第1のパスワードと一致していることを条件に、サポート装置から転送されたセーフティプログラムを処理実行部へ転送するようにしてもよい。
この構成によれば、サポート装置からセーフティプログラムを転送したユーザと、セーフティプログラムを受信した通信装置に関与するユーザとの間の連携を条件として、セーフティプログラムを処理実行部へ転送できるので、リモートメンテナンスをより安全に実施できる。
第1のパスワードは、任意の文字列、予め定められた候補のうち任意の1つ、およびサポート装置によりランダムに決定された値のいずれかであってもよい。この構成によれば、セーフティシステムでの使用状況や要求などに応じて、適切な形式の第1のパスワードを用いることができる。
通信部は、ユーザに対するユーザ認証の成功、および、当該ユーザ認証の成功したユーザに所定の操作権限が設定されていることを条件に、サポート装置から転送されたセーフティプログラムを処理実行部へ転送するようにしてもよい。この構成によれば、通常のユーザ認証以上の認証処理を要求されないので、ユーザの手続を簡素化できる。
通信部は、ユーザからの転送を拒否する指示に応答して、サポート装置から転送されたセーフティプログラムを破棄するようにしてもよい。この構成によれば、セーフティプログラムの転送が拒否された場合に、通信部が不要なセーフティプログラムを保持していることで生じるリスクを無くすことができる。
セーフティプログラムに関する情報は、セーフティプログラムの更新者、セーフティプログラムの更新日時、およびセーフティプログラムの転送先のうち、少なくとも1つを含んでいてもよい。この構成によれば、ユーザは、セーフティプログラムの詳細を把握した上で、セーフティシステムの転送の許否を判断できる。
提示手段は、通信部とネットワーク接続された表示操作装置、処理実行部の露出面に配置されたインジケータ、および通信部の露出面に配置されたインジケータのうち、少なくとも1つを含んでいてもよい。この構成によれば、様々な形態で、ユーザに対して必要な情報を提示できる。
通信部は、電子的な鍵を保持していてもよい。サポート装置は、通信部が電子的な鍵で復号可能なように、セーフティプログラムを暗号化した上で通信部へ転送するようにしてもよい。この構成によれば、目的の通信部に確実にセーフティプログラムを転送できるとともに、転送中にセーフティプログラムの書き換えなどを防止できる。
通信部は、電子的な鍵として秘密鍵を保持していてもよい。サポート装置は、秘密鍵と対になる公開鍵を保持していてもよい。この構成によれば、通信部およびサポート装置での鍵の管理を容易化できる。
サポート装置は、セーフティプログラムを転送する必要がある場合にワンタイム鍵を生成し、ワンタイム鍵を公開鍵で暗号化して通信部へ送信し、セーフティプログラムをワンタイム鍵で暗号化して通信部へ送信するようにしてもよい。この構成によれば、セーフティプログラムをワンタイム鍵で暗号化できるので、鍵の流出によるセキュリティリスクの増大を防止できるとともに、鍵管理を容易化できる。
本発明の別の局面に従えば、コントローラシステムにおけるメンテナンス方法が提供される。コントローラシステムは、セーフティプログラムに従ってセーフティ制御を実行する処理実行部と、処理実行部が保持するセーフティプログラムに対する外部アクセスを仲介する通信部と、サポート装置とを含む。メンテナンス方法は、サポート装置が、ユーザ操作に従って、ネットワークを介してセーフティプログラムを通信部へ転送するステップと、サポート装置から転送されたセーフティプログラムに関する情報をユーザに提示するステップと、ユーザからの指示を条件として、サポート装置から転送されたセーフティプログラムを処理実行部へ転送するステップとを含む。
本発明によれば、セーフティプログラムに従ってセーフティ制御を実行する処理実行部に対するリモートメンテナンスをより安全に実施できる。
本実施の形態に従うセーフティシステムの構成例を示す外観図である。 本実施の形態に従うセーフティシステムにおけるリモートメンテナンスの概要を説明するための模式図である。 本実施の形態に従うセーフティシステムを構成する制御ユニットのハードウェア構成例を示す模式図である。 本実施の形態に従うセーフティシステムを構成する中継ユニットのハードウェア構成例を示す模式図である。 本実施の形態に従うセーフティシステムを構成するセーフティユニットのハードウェア構成例を示す模式図である。 本実施の形態に従うセーフティシステムに対するメンテナンスの要件を説明するための図である。 本実施の形態に従うセーフティシステムに接続されるサポート装置のハードウェア構成例を示す模式図である。 本実施の形態に従うセーフティシステムとサポート装置とを直接接続して行うメンテナンスを説明するための図である。 セーフティシステムに対するサポート装置からのリモートメンテナンスにおける課題を説明するための図である。 本実施の形態に従うセーフティシステムに対するサポート装置からのリモートメンテナンスの一形態を説明するための図である。 本実施の形態に従うセーフティシステムに対するサポート装置からのリモートメンテナンスの別の一形態を説明するための図である。 本実施の形態に従うセーフティシステムに対するサポート装置からのリモートメンテナンスの改良形態の一例を説明するための図である。 図12に示すリモートメンテナンスにおいて表示操作装置に提示されるユーザインターフェイス例を示す模式図である。 図12に示すリモートメンテナンスにおける処理手順を示すシーケンス図である。 本実施の形態に従うセーフティシステムに対するサポート装置からのリモートメンテナンスの改良形態の別の一例を説明するための図である。 図15に示すリモートメンテナンスにおける処理手順を示すシーケンス図である。 本実施の形態に従うセーフティシステムに対するサポート装置からのリモートメンテナンスの改良形態のさらに別の一例を説明するための図である。 図17に示すリモートメンテナンスにおいて表示操作装置に提示されるユーザインターフェイス例を示す模式図である。 図17に示すリモートメンテナンスにおける処理手順を示すシーケンス図である。 本実施の形態に従うセーフティシステムに対するサポート装置からのリモートメンテナンスの改良形態のさらに別の一例を説明するための図である。 図20に示される操作権限情報の一例を示す図である。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
<A.適用例>
まず、本実施の形態に従うセーフティシステム1の全体構成について説明する。
図1は、本実施の形態に従うセーフティシステム1の構成例を示す外観図である。図1を参照して、セーフティシステム1は、制御ユニット100と、中継ユニット200と、セーフティユニット300と、1または複数の機能ユニット400と、電源ユニット450とを含む。
制御ユニット100と中継ユニット200との間は、任意のデータ伝送路(例えば、PCI Expressあるいはイーサネット(登録商標)など)を介して接続されている。制御ユニット100とセーフティユニット300および1または複数の機能ユニット400との間は、内部バス10(図2参照)を介して接続されている。
制御ユニット100は、セーフティシステム1において中心的な処理を実行する。制御ユニット100は、任意に設計された要求仕様に従って、制御対象を制御するための制御演算を実行する。後述のセーフティユニット300で実行される制御演算との対比で、制御ユニット100で実行される制御演算を「標準制御」とも称す。図1に示す構成例において、制御ユニット100は、1または複数の通信ポートを有している。制御ユニット100は、標準制御プログラムに従って標準制御を実行する処理実行部に相当する。
中継ユニット200は、制御ユニット100に接続され、他の装置との間の通信機能を担当する。図1に示す構成例において、中継ユニット200は、1または複数の通信ポートを有している。中継ユニット200が提供する通信機能の詳細については、後述する。
セーフティユニット300は、制御ユニット100とは独立して、制御対象に関するセーフティ機能を実現するための制御演算を実行する。セーフティユニット300で実行される制御演算を「セーフティ制御」とも称す。通常、「セーフティ制御」は、IEC 61508などに規定されたセーフティ機能を実現するための要件を満たすように設計される。「セーフティ制御」は、設備や機械などによって人の安全が脅かされることを防止するための処理を総称する。セーフティユニット300は、セーフティプログラムSPGに従ってセーフティ制御を実行する処理実行部に相当する。
機能ユニット400は、セーフティシステム1による様々な制御対象に対する制御を実現するための各種機能を提供する。機能ユニット400は、典型的には、I/Oユニット、セーフティI/Oユニット、通信ユニット、モーションコントローラユニット、温度調整ユニット、パルスカウンタユニットなどを包含し得る。I/Oユニットとしては、例えば、デジタル入力(DI)ユニット、デジタル出力(DO)ユニット、アナログ出力(AI)ユニット、アナログ出力(AO)ユニット、パルスキャッチ入力ユニット、および、複数の種類を混合させた複合ユニットなどが挙げられる。セーフティI/Oユニットは、セーフティ制御に係るI/O処理を担当する。
電源ユニット450は、セーフティシステム1を構成する各ユニットに対して、所定電圧の電源を供給する。
本実施の形態に従うセーフティシステム1においては、セーフティ制御を実行するセーフティユニット300に対するリモートメンテナンスが可能になっている。
図2は、本実施の形態に従うセーフティシステム1におけるリモートメンテナンスの概要を説明するための模式図である。図2を参照して、セーフティシステム1には、ネットワークを介してサポート装置500が接続可能になっている。
より具体的には、サポート装置500は、通信部に相当する中継ユニット200とネットワーク接続される。中継ユニット200は、制御ユニット100が保持する標準制御プログラム、および、セーフティユニット300が保持するセーフティプログラムSPGに対する、サポート装置500からの外部アクセスを仲介する。
サポート装置500は、サポート装置500で実行されるアプリケーションによって、セーフティプログラムSPGに対するリモートメンテナンスが可能になっている。リモートメンテナンスの典型的な処理として、サポート装置500は、ユーザ操作に従って、ネットワークを介してセーフティプログラムSPGを中継ユニット200へ転送する。中継ユニット200は、転送されたセーフティプログラムSPGをセーフティユニット300へ転送する。
本明細書において、「メンテナンス」は、セーフティ制御を担当するセーフティユニット300の状態、あるいは、セーフティユニット300で実行されるセーフティプログラムSPGを、監視あるいは変更する操作を包括する概念である。「メンテナンス」は、基本的には、操作者OP1(ユーザ)がサポート装置500を操作することによって実行される。本明細書において、「リモートメンテナンス」との用語は、サポート装置500を操作する操作者OP1が、メンテナンスの対象となるセーフティシステム1(セーフティユニット300)を直接的に確認(目視)することができない場所にいる状態で、メンテナンスを実施することを意味する。
本実施の形態においては、リモートメンテナンスにおいて、セーフティシステム1が配置されている現場の作業者OP2の安全の確保をより確実化するために、リモートメンテナンスの実施の条件として、現場の作業者OP2の確認および指示を含める。
より具体的には、セーフティシステム1は、サポート装置500から転送されたセーフティプログラムSPGに関する情報を現場の作業者OP2(ユーザ)に提示する。そして、中継ユニット200は、現場の作業者OP2(ユーザ)からの指示を条件として、サポート装置500から転送されたセーフティプログラムSPGをセーフティユニット300へ転送する。
このような現場の作業者OP2へのセーフティプログラムSPGに関する情報の提示、および、現場の作業者OP2からの指示をセーフティプログラムSPGの反映の条件とすることで、現場の作業者OP2の関与を高めて、安全性の確保をより確実化できる。
<B.各ユニットのハードウェア構成例>
次に、本実施の形態に従うセーフティシステム1を構成する各ユニットのハードウェア構成例について説明する。
(b1:制御ユニット100)
図3は、本実施の形態に従うセーフティシステム1を構成する制御ユニット100のハードウェア構成例を示す模式図である。図3を参照して、制御ユニット100は、主たるコンポーネントとして、CPU(Central Processing Unit)やGPU(Graphical Processing Unit)などのプロセッサ102と、チップセット104と、主記憶装置106と、二次記憶装置108と、通信コントローラ110と、USB(Universal Serial Bus)コントローラ112と、メモリカードインターフェイス114と、ネットワークコントローラ116,118,120と、内部バスコントローラ122と、インジケータ124とを含む。
プロセッサ102は、二次記憶装置108に格納された各種プログラムを読み出して、主記憶装置106に展開して実行することで、標準制御に係る制御演算、および、後述するような各種処理を実現する。チップセット104は、プロセッサ102と各コンポーネントとの間のデータの遣り取りを仲介することで、制御ユニット100全体としての処理を実現する。
主記憶装置106は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などの揮発性記憶装置などで構成される。二次記憶装置108は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)などの不揮発性記憶装置などで構成される。
二次記憶装置108には、システムプログラムに加えて、システムプログラムが提供する実行環境上で動作する制御プログラムが格納される。
通信コントローラ110は、中継ユニット200との間のデータの遣り取りを担当する。通信コントローラ110としては、例えば、PCI Expressあるいはイーサネットなどに対応する通信チップを採用できる。
USBコントローラ112は、USB接続を介して任意の情報処理装置との間のデータの遣り取りを担当する。
メモリカードインターフェイス114は、メモリカード115を着脱可能に構成されており、メモリカード115に対して制御プログラムや各種設定などのデータを書込み、あるいは、メモリカード115から制御プログラムや各種設定などのデータを読出すことが可能になっている。
ネットワークコントローラ116,118,120の各々は、ネットワークを介した任意のデバイスとの間のデータの遣り取りを担当する。ネットワークコントローラ116,118,120は、EtherCAT(登録商標)、EtherNet/IP(登録商標)、DeviceNet(登録商標)、CompoNet(登録商標)などの産業用ネットワークプロトコルを採用してもよい。
内部バスコントローラ122は、セーフティシステム1を構成するセーフティユニット300や1または複数の機能ユニット400との間のデータの遣り取りを担当する。内部バス10(図2参照)には、メーカ固有の通信プロトコルを用いてもよいし、いずれかの産業用ネットワークプロトコルと同一あるいは準拠した通信プロトコルを用いてもよい。
インジケータ124は、制御ユニット100の動作状態などを通知するものであり、ユニットの露出面に配置された1または複数のLEDなどで構成される。
図3には、プロセッサ102がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。あるいは、制御ユニット100の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOS(Operating System)を並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
(b2:中継ユニット200)
図4は、本実施の形態に従うセーフティシステム1を構成する中継ユニット200のハードウェア構成例を示す模式図である。図4を参照して、中継ユニット200は、主たるコンポーネントとして、CPUやGPUなどのプロセッサ202と、チップセット204と、主記憶装置206と、二次記憶装置208と、通信コントローラ210と、通信インターフェイス212と、メモリカードインターフェイス214と、ネットワークコントローラ216,218と、インジケータ224とを含む。
プロセッサ202は、二次記憶装置208に格納された各種プログラムを読み出して、主記憶装置206に展開して実行することで、後述するような各種通信機能を実現する。チップセット204は、プロセッサ202と各コンポーネントとの間のデータの遣り取りを仲介することで、中継ユニット200全体としての処理を実現する。
二次記憶装置208には、システムプログラムに加えて、システムプログラムが提供する実行環境上で動作する通信処理プログラムが格納される。
通信コントローラ210は、制御ユニット100との間のデータの遣り取りを担当する。通信コントローラ210としては、制御ユニット100に通信コントローラ210と同様に、例えば、PCI Expressあるいはイーサネットなどに対応する通信チップを採用できる。
通信インターフェイス212は、USB接続を介して任意の情報処理装置との間のデータの遣り取りを担当する。
メモリカードインターフェイス214は、メモリカード215を着脱可能に構成されており、メモリカード215に対して制御プログラムや各種設定などのデータを書込み、あるいは、メモリカード215から制御プログラムや各種設定などのデータを読出すことが可能になっている。
ネットワークコントローラ216,218の各々は、ネットワークを介した任意のデバイスとの間のデータの遣り取りを担当する。ネットワークコントローラ216,218は、イーサネットなどの汎用的なネットワークプロトコルを採用してもよい。
インジケータ224は、中継ユニット200の動作状態などを通知するものであり、ユニットの露出面に配置された1または複数のLEDなどで構成される。
図4には、プロセッサ202がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。あるいは、中継ユニット200の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOSを並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
(b3:セーフティユニット300)
図5は、本実施の形態に従うセーフティシステム1を構成するセーフティユニット300のハードウェア構成例を示す模式図である。図5を参照して、セーフティユニット300は、主たるコンポーネントとして、CPUやGPUなどのプロセッサ302と、チップセット304と、主記憶装置306と、二次記憶装置308と、メモリカードインターフェイス314と、内部バスコントローラ322と、インジケータ324とを含む。
プロセッサ302は、二次記憶装置308に格納された各種プログラムを読み出して、主記憶装置306に展開して実行することで、セーフティ制御に係る制御演算、および、後述するような各種処理を実現する。チップセット304は、プロセッサ302と各コンポーネントとの間のデータの遣り取りを仲介することで、セーフティユニット300全体としての処理を実現する。
二次記憶装置308には、システムプログラムに加えて、システムプログラムが提供する実行環境上で動作するセーフティプログラムが格納される。
メモリカードインターフェイス314は、メモリカード315を着脱可能に構成されており、メモリカード315に対してセーフティプログラムや各種設定などのデータを書込み、あるいは、メモリカード315からセーフティプログラムや各種設定などのデータを読出すことが可能になっている。
内部バスコントローラ322は、内部バス10(図2参照)を介した制御ユニット100との間のデータの遣り取りを担当する。
インジケータ324は、セーフティユニット300の動作状態などを通知するものであり、ユニットの露出面に配置された1または複数のLEDなどで構成される。
図5には、プロセッサ302がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。あるいは、セーフティユニット300の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOSを並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
<C.セーフティシステム1に対するメンテナンス>
次に、本実施の形態に従うセーフティシステム1に対するメンテナンスについて説明する。
図6は、本実施の形態に従うセーフティシステム1に対するメンテナンスの要件を説明するための図である。図6には、典型例として、セーフティユニット300(以下、「デバイス」とも称される。)に格納されているユーザプログラム(セーフティプログラムSPG)を、サポート装置500で作成したユーザプログラム(セーフティプログラムSPG)で書き換えるような場合を想定する。
図6に示す要件は、IEC 62061:2005の「6.11.2 Software Based Parameterization」などに規定されているものである。
1.メンテナンスを行う操作者が権限を有していること(例えば、パスワードを用いた権限確認。)
2.サポート装置500からデバイスへ送られるセーフティプログラムSPGがデバッグ済みのプログラムであること
3.書き換え対象デバイスがユニークに識別できること(例えば、サポート装置500とデバイスとの直接接続。あるいは、対象デバイスが有しているユニークな名前やシリアル番号での特定。)
4.サポート装置500から書き換えたファイルとデバイス上のファイルとが一致していること(例えば、チェックサムを用いた確認。)
5.現場の作業者が安全であること(例えば、誤作動や停止によって、けがをするといった事態を生じないこと)
標準制御を実行する制御ユニット100に対するメンテナンスではなく、セーフティ制御を実行するセーフティユニット300に対するメンテナンスについては、上述したような、より厳しい要件が課されることになる。
本実施の形態においては、セーフティシステム1が配置された現場においてメンテナンスを実施することに加えて、遠隔地に配置されたサポート装置500を操作して、セーフティシステム1をメンテナンスすることが可能になっている。以下、遠隔地に配置されたサポート装置500を操作することで行うメンテナンスを「リモートメンテナンス」とも称す。
要件1である「メンテナンスを行う操作者が権限を有していること」は、セーフティプログラムSPGの送信元(あるいは、送信者)が正しいことを保証することを意味する。
要件3である「書き換え対象デバイスがユニークに識別できること」は、セーフティプログラムSPGの転送先が正しいことを保証することを意味する。
要件4である「サポート装置500から書き換えたファイルとデバイス上のファイルとが一致していること」は、セーフティユニット300への転送後のセーフティプログラムSPGが正しいことを保証することを意味する。
セーフティユニット300に対するリモートメンテナンスを実現するためには、特に、上述した要件3を考慮することが好ましい。また、要件5についても考慮することが好ましい。
以下、セーフティシステム1に対するリモートメンテナンスを実現するための構成について説明する。
<D.サポート装置500のハードウェア構成例>
次に、本実施の形態に従うセーフティシステム1に接続されるサポート装置500のハードウェア構成例について説明する。
図7は、本実施の形態に従うセーフティシステム1に接続されるサポート装置500のハードウェア構成例を示す模式図である。サポート装置500は、一例として、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコン)を用いて実現される。
図7を参照して、サポート装置500は、CPUやGPUなどのプロセッサ502と、主記憶装置504と、入力部506と、出力部508と、二次記憶装置510と、光学ドライブ512と、通信インターフェイス520とを含む。これらのコンポーネントは、プロセッサバス518を介して接続されている。
プロセッサ502は、二次記憶装置510に格納されたプログラム(一例として、OS5102およびサポートプログラム5104)を読出して、主記憶装置504に展開して実行することで、後述するような各種処理を実現する。
二次記憶装置510には、基本的な機能を実現するためのOS5102に加えて、サポート装置500としての機能を提供するためのサポートプログラム5104が格納される。サポートプログラム5104は、コンピュータである情報処理装置(実質的にはプロセッサ502)により実行されることで、本実施の形態に従うサポート装置500を実現する。
二次記憶装置510には、サポートプログラム5104が実行されることで提供される開発環境においてユーザにより作成されるプロジェクト5106が格納される。さらに、二次記憶装置510には、後述するような鍵(秘密鍵および公開鍵)や証明書などが格納されていてもよい。
本実施の形態において、サポート装置500は、セーフティシステム1に含まれる各デバイスに対する設定および各デバイスで実行されるプログラムの作成が統合的に可能な開発環境を提供する。プロジェクト5106は、このような統合的な開発環境によって生成されるデータを含む。典型的には、プロジェクト5106は、標準制御ソースプログラム5108と、セーフティソースプログラム5112とを含む。
標準制御ソースプログラム5108は、オブジェクトコードに変換された上で、制御ユニット100へ転送され、標準制御プログラムとして格納される。セーフティソースプログラム5110は、オブジェクトコードに変換された上で、セーフティユニット300へ転送され、セーフティプログラムとして格納される。
入力部506は、キーボードやマウスなどで構成され、ユーザ操作を受け付ける。出力部508は、ディスプレイ、各種インジケータ、プリンタなどで構成され、プロセッサ502からの処理結果などを出力する。
通信インターフェイス520は、USBやイーサネットなどの任意の通信媒体を介して、セーフティシステム1との間のデータを遣り取りする。
サポート装置500は、光学ドライブ512を有しており、コンピュータ読取可能な命令を非一過的に格納する記録媒体514(例えば、DVD(Digital Versatile Disc)などの光学記録媒体)から、その中に格納されたプログラムが読取られて二次記憶装置510などにインストールされる。
サポート装置500で実行されるサポートプログラム5104などは、コンピュータ読取可能な記録媒体514を介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。また、本実施の形態に従うサポート装置500が提供する機能は、OSが提供するモジュールの一部を利用する形で実現される場合もある。
図7には、プロセッサ502がプログラムを実行することで、サポート装置500として必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。
なお、セーフティシステム1が稼動中において、サポート装置500は、セーフティシステム1から取り外されていてもよい。
<E.セーフティプログラムの転送先が正しいことを保証するための構成(要件3)>
まず、要件3である「書き換え対象デバイスがユニークに識別できること」を実現するための構成について説明する。
(e1:課題)
図8は、本実施の形態に従うセーフティシステム1とサポート装置500とを直接接続して行うメンテナンスを説明するための図である。図8を参照して、サポート装置500とセーフティシステム1(セーフティユニット300)とを現場において直接接続する場合には、サポート装置500を操作する操作者は、接続先のデバイス(セーフティユニット300)を目視により確認できるので、この目視および接続操作によって、書き換え対象デバイスをユニークに識別できる。
図9は、セーフティシステム1に対するサポート装置500からのリモートメンテナンスにおける課題を説明するための図である。図9を参照して、サポート装置500は、ネットワーク4を介してセーフティシステム1と電気的に接続されているとする。
ネットワーク4において、セーフティシステム1は、中継ユニット200に割り当てられたネットワークアドレス(典型的には、IPアドレス)により特定されることになる。
サポート装置500は、予め登録された転送先となるデバイス(セーフティユニット300)の名称と、IPアドレスとが対応付けられたリストLSを有しており、操作者は、リストLSを参照して、転送先となるセーフティユニット300を選択する。図9に示す例では、IPアドレスとして「192.168.250.1」(Safety_1)が選択されている。そして、サポート装置500は、操作者の操作に従って、選択されたIPアドレスを有するデバイスに対して、セーフティプログラムSPGを転送する。
ここで、IPアドレスは、各デバイスに対して任意に設定することができ、あるいは、ルータなどが動的に割り当てることもある。そのため、別のセーフティシステム2に対して、「192.168.250.1」が誤って設定されている可能性がある。
あるいは、なりすましなどによって、別のセーフティシステム2が転送先であると偽装されることもある。
このように、IPアドレスの指定だけでは、誤った設定やなりすましなどによって、セーフティプログラムSPGの転送先が正しいことを保証できない。すなわち、セーフティプログラムSPGを誤ったシステムへ転送しても気付かない可能性がある。
(e2:解決形態1)
図8に示すような課題に対する解決形態1として、鍵による暗号化を利用した形態について説明する。
図10は、本実施の形態に従うセーフティシステム1に対するサポート装置500からのリモートメンテナンスの一形態を説明するための図である。図10に示す構成においては、セーフティシステム1の中継ユニット200は、電子的な鍵を保持しており、サポート装置500は、中継ユニット200が保持している電子的な鍵で復号可能なように、メンテナンスに必要なデータ(典型的には、セーフティプログラムSPG)を暗号化して、中継ユニット200へ転送する。
より具体的には、セーフティシステム1に対して、公開鍵基盤に従う秘密鍵および公開鍵からなる鍵ペアが予め用意される。秘密鍵は、中継ユニット200に格納され、対応する公開鍵は、サポート装置500に格納される。すなわち、中継ユニット200は、電子的な鍵として秘密鍵を保持しており、サポート装置500は、秘密鍵と対になる公開鍵を保持している。
例えば、IPアドレスとして「192.168.250.1」(Safety_1)を有するセーフティシステム1(中継ユニット200)は、秘密鍵SK1を格納しており、サポート装置500が保持しているリストLSにある「192.168.250.1」のエントリには、対応する公開鍵PK1が関連付けられている。なお、公開鍵PK1の偽装を防止するために、公開鍵PK1を認証局が認証することで生成したサーバ証明書をサポート装置500に格納するようにしてもよい。
このように、中継ユニット200は、電子的な鍵として、秘密鍵SK1を保持している。また、サポート装置500は、秘密鍵SK1と対にある公開鍵PK1、および、公開鍵PK1に対して発行されたサーバ電子証明書の少なくとも一方を保持している。
リモートメンテナンスにおいて、サポート装置500は、操作者の操作に従って、選択されたIPアドレスを有するデバイスに対して、セーフティプログラムSPGを転送する際には、選択された転送先の公開鍵でセーフティプログラムSPGを暗号化する。暗号化により生成された暗号化済みセーフティプログラムSSP(転送データ)が転送先へ転送される。
暗号化済みセーフティプログラムSSP(転送データ)が本来の転送先であるセーフティシステム1へ転送された場合には、セーフティシステム1の中継ユニット200が格納している秘密鍵SK1を用いた復号が可能となる。
一方、暗号化済みセーフティプログラムSSP(転送データ)が誤った転送先であるセーフティシステム2へ転送された場合には、セーフティシステム2の中継ユニット200が格納している秘密鍵SK2では復号が行えない。あるいは、セーフティシステム2の中継ユニット200においては、何らの秘密鍵も保持していないことも想定され、この場合においても、転送データを復号することはできない。
また、仮に、転送データを何らかの方法で受信したとしても、セーフティシステム2においては転送データを復号することはできない。
このように、サポート装置500は、選択した転送先に予め関連付けられた鍵を有しているセーフティシステム1に対して転送データを転送したときに限って、当該転送先では復号できるので、誤った転送先にセーフティプログラムSPGを送信してしまうことがない。これにより、転送先での誤ったIPアドレスの設定やIPアドレスのなりすましなどがあっても、正しい転送先にセーフティプログラムSPGを転送できる。そして、中継ユニット200は、サポート装置500から転送されたデータ(暗号化済みセーフティプログラムSSP)を秘密鍵SK1で復号できた場合に、当該復号したデータ(セーフティプログラムSPG)をセーフティユニット300へ転送する。
なお、中継ユニット200は、復号したセーフティプログラムSPGに対してウィルススキャンなどを実行した後に、セーフティユニット300へ転送するようにしてもよい。これは、サポート装置500での暗号化の直前にウィルスに感染している可能性を考慮したものである。
(e3:解決形態2)
上述の解決形態1においては、転送先の公開鍵を用いて転送データを生成する構成について例示したが、暗号化および復号に係る処理を効率化して、転送速度を高める観点からは、共通鍵をさらに用いるようにしてもよい。
図11は、本実施の形態に従うセーフティシステム1に対するサポート装置500からのリモートメンテナンスの別の一形態を説明するための図である。図11に示す構成においても、図10に示す構成と同様に、セーフティシステム1に対して秘密鍵および公開鍵からなる鍵ペアが予め用意される。
まず、セーフティプログラムSPGは、サポート装置500において、都度生成されるワンタイム鍵である共通鍵TCKにより暗号化されて、暗号化済みセーフティプログラムSSP(転送データ)が生成される。併せて、共通鍵TCKについては、選択された転送先の公開鍵で暗号化されることで、暗号化済み共通鍵STCが生成される。
サポート装置500から選択された転送先には、暗号化済みセーフティプログラムSSPおよび暗号化済み共通鍵STCが転送される。
このように、サポート装置500は、セーフティプログラムSPGを転送する必要がある場合に、ワンタイム鍵である共通鍵TCKを生成する。そして、サポート装置500は、ワンタイム鍵である共通鍵TCKを公開鍵で暗号化して(暗号化済み共通鍵STC)、中継ユニット200へ送信する。併せて、サポート装置500は、セーフティプログラムSPGを共通鍵TCKで暗号化して(暗号化済みセーフティプログラムSSP)、中継ユニット200へ送信する。
転送先のセーフティシステム1の中継ユニット200は、サポート装置500から受信した暗号化済み共通鍵STCを自デバイスの秘密鍵SK1で共通鍵TCKに復号する。そして、転送先のセーフティシステム1の中継ユニット200は、復号した共通鍵TCKでサポート装置500から受信した暗号化済みセーフティプログラムSSP(転送データ)をセーフティプログラムSPGに復号する。
一方、暗号化済みセーフティプログラムSSPおよび暗号化済み共通鍵STCが誤った転送先であるセーフティシステム2へ転送された場合には、セーフティシステム2の中継ユニット200が格納している秘密鍵SK2では復号が行えない。あるいは、セーフティシステム2の中継ユニット200においては、何らの秘密鍵も保持していないことも想定され、この場合においても、転送データを復号することはできない。
また、仮に、サポート装置500からのデータを何らかの方法で受信したとしても、セーフティシステム2においては転送データを復号することはできない。
このように、サポート装置500は、選択した転送先に予め関連付けられた鍵を有しているセーフティシステム1に対して転送データを転送したときに限って、当該転送先では復号できるので、誤った転送先にセーフティプログラムSPGを送信してしまうことがない。これにより、転送先での誤ったIPアドレスの設定やIPアドレスのなりすましなどがあっても、正しい転送先にセーフティプログラムSPGを転送できる。
(e4:認証局の利用)
サポート装置500が利用する各デバイスの公開鍵は、転送先となるセーフティシステム1(あるいは、中継ユニット200)から直接的または間接的に取得してもよい。あるいは、認証局(CA:Certificate Authority)に公開鍵を登録するとともに、認証局が発行する公開鍵に対するサーバ証明書を各デバイスの公開鍵として用いるようにしてもよい。認証局を利用することで、公開鍵の偽装などを防止することができる。
<F.現場の作業者が安全であることを保証するための構成(要件5)>
まず、要件5である「現場の作業者が安全であること」を実現するための構成について説明する。
(f1:課題)
上述の図10および図11に示す解決形態では、操作者がサポート装置500を操作することで、新たなセーフティプログラムSPGがセーフティユニット300へ転送されることになる。通常、サポート装置500の操作者は、セーフティユニット300が配置された現場を担当する作業者と連絡を取りつつ、セーフティプログラムSPGの書き換え操作を行うため、作業者に対する安全には問題がない。
但し、このような遣り取りをシステムに担保することがより好ましい。すなわち、現場の作業者が安全であることを保証できるシステムを構築することが好ましい。
(f2:解決形態1)
上述したような要件5をシステム的に保証する解決形態1として、サポート装置500から転送された新たなセーフティプログラムSPGをセーフティユニット300に反映するために、現場の作業者の明示的な操作を条件とする構成例を示す。
図12は、本実施の形態に従うセーフティシステム1に対するサポート装置500からのリモートメンテナンスの改良形態の一例を説明するための図である。図12に示す構成は、上述の図10に示す構成に対して改良を加えたものに相当する。図12に示すセーフティシステム1には、現場の作業者の操作を受け付ける表示操作装置600が接続されている。具体例として、表示操作装置600は、中継ユニット200とネットワーク接続されている。
図12に示す構成においては、リモートメンテナンスにおいてサポート装置500から転送されたセーフティプログラムSPGがそのままセーフティユニット300へ転送するのではなく、一旦、中継ユニット200に格納される。そして、現場の作業者からの明示的な指示を受けて、セーフティプログラムSPGは、中継ユニット200からセーフティユニット300へ転送される。
より具体的には、リモートメンテナンスにおいて、サポート装置500は、操作者の操作に従って、選択されたIPアドレスを有するデバイスに対して、セーフティプログラムSPGを転送する際には、選択された転送先の公開鍵でセーフティプログラムSPGを暗号化する。暗号化により生成された暗号化済みセーフティプログラムSSP(転送データ)が転送先へ転送される。暗号化済みセーフティプログラムSSP(転送データ)が本来の転送先であるセーフティシステム1へ転送された場合には、セーフティシステム1の中継ユニット200が格納している秘密鍵SK1を用いた復号が可能となる。
セーフティシステム1の中継ユニット200は、秘密鍵SK1を用いて転送データをセーフティプログラムSPGに復号できると、復号したセーフティプログラムSPGを一旦内部に格納する。そして、セーフティシステム1の中継ユニット200は、復号したセーフティプログラムSPGに関する情報を表示操作装置600へ通知する。
現場の作業者は、表示操作装置600を参照してセーフティプログラムSPGの妥当性を確認するとともに、自身を含む現場の作業者が安全であることを確認した後に、表示操作装置600に対して転送承諾を指示する。この転送承諾に従って、表示操作装置600は、中継ユニット200に転送指示を送信する。
中継ユニット200は、表示操作装置600からの転送指示に従って、先に格納しているセーフティプログラムSPGをセーフティユニット300へ転送する。これにより、セーフティプログラムSPGの書き換え処理が完了する。
このように、中継ユニット200は、現場の作業者からの指示を条件として、サポート装置500から転送されたセーフティプログラムSPGをセーフティユニット300へ転送する。セーフティユニット300へのセーフティプログラムSPGの反映を現場の作業者の明示的な操作を条件とすることで、現場の作業者の安全をより確実に確保できる。
図13は、図12に示すリモートメンテナンスにおいて表示操作装置600に提示されるユーザインターフェイス例を示す模式図である。図13を参照して、表示操作装置600は、中継ユニット200からのセーフティプログラムSPGに関する情報を提示する。すなわち、表示操作装置600は、サポート装置500から転送されたセーフティプログラムSPGに関する情報をユーザに提示する。
一例として、表示操作装置600が提供するユーザインターフェイス画面は、セーフティプログラムSPGの変更操作者を示す情報602と、セーフティプログラムSPGの変更日時を示す情報604と、セーフティプログラムSPGの転送先を示す情報606とを含む。
現場の作業者は、表示操作装置600上に提示される情報を確認するとともに、自身を含む現場の作業者が安全であることを確認した後に、表示操作装置600上の承諾ボタン608を押下する。この承諾ボタン608に押下に応答して、表示操作装置600は、中継ユニット200に対して転送指示を送信する。すると、中継ユニット200からセーフティユニット300に対してセーフティプログラムSPGが転送される。
このように、サポート装置500から転送されたセーフティプログラムSPGの情報が表示操作装置600上に提示される。そして、現場の作業者は、セーフティプログラムSPGの妥当性、および、現場の作業者が安全であることを確認してから、セーフティプログラムSPGの転送を承諾する。そして、中継ユニット200は、現場の作業者からの転送承諾に応答して、セーフティプログラムSPGをセーフティユニット300へ転送する。
一方、何らかの理由で、現場の作業者が拒否ボタン610を押下した場合には、表示操作装置600は、中継ユニット200に対して転送中止を送信する。すると、中継ユニット200は、格納しているセーフティプログラムSPGを破棄してもよい。このように、中継ユニット200は、ユーザからの転送を拒否する指示に応答して、サポート装置500から転送されたセーフティプログラムSPGを破棄してもよい。
なお、図13に示されるユーザインターフェイスにおいては、セーフティプログラムSPGに関する情報として、セーフティプログラムSPGの更新者、セーフティプログラムSPGの更新日時、およびセーフティプログラムSPGの転送先が提示されているが、これらの全部の情報ではなく、少なくとも一部を提示するようにしてもよい。
図14は、図12に示すリモートメンテナンスにおける処理手順を示すシーケンス図である。図14を参照して、操作者によるサポート装置500の操作(シーケンスSQ100)に従って、サポート装置500は、セーフティプログラムSPGの作成・編集処理を実行する(シーケンスSQ102)。
続いて、操作者による転送先の選択および転送の操作(シーケンスSQ104)に従って、サポート装置500は、選択された中継ユニット200とネットワーク接続し、転送先の公開鍵でセーフティプログラムSPGを暗号化して暗号化済みセーフティプログラムSSP(転送データ)を生成する(シーケンスSQ106)。そして、サポート装置500は、選択された転送先へ転送データを転送する(シーケンスSQ108)。
転送先の中継ユニット200は、サポート装置500から転送データを受信すると、当該受信したデータを自デバイスの秘密鍵SK1でセーフティプログラムSPGに復号する(シーケンスSQ110)。
そして、中継ユニット200は、復号したセーフティプログラムSPGに関する情報を表示操作装置600へ通知する(シーケンスSQ112)。表示操作装置600は、中継ユニット200からの情報に基づいて、セーフティプログラムSPGに関する情報を提示する(シーケンスSQ114)。さらに、表示操作装置600は、現場の作業者からの操作を受け付けると(シーケンスSQ116)、その受け付けた操作の内容(転送承諾または転送拒否)を中継ユニット200へ送信する(シーケンスSQ118)。
中継ユニット200は、表示操作装置600から転送承諾の指示を受信した場合(シーケンスSQ120においてYES)には、復号したセーフティプログラムSPGをセーフティユニット300へ転送する(シーケンスSQ122)。この中継ユニット200からセーフティユニット300へのセーフティプログラムSPGの転送は、内部バス10を介して実行される。セーフティユニット300は、中継ユニット200からのセーフティプログラムSPGを格納する(シーケンスSQ124)。そして、セーフティユニット300は、格納したセーフティプログラムSPGに従ってセーフティ制御を実行する。
これにより、サポート装置500からセーフティユニット300に対するリモートメンテナンスが完了する。
一方、中継ユニット200は、表示操作装置600から転送拒否の指示を受信した場合(シーケンスSQ120においてNO)には、格納しているセーフティプログラムSPGを破棄する(シーケンスSQ126)。この場合には、サポート装置500からセーフティユニット300に対するリモートメンテナンスは途中終了する。
(f3:解決形態2)
上述した解決形態1と同様の技術思想を上述の図11に示す構成にも適用してもよい。すなわち、上述の図11に示すような構成において、サポート装置500から転送された新たなセーフティプログラムSPGをセーフティユニット300に反映するために、現場の作業者の明示的な操作を条件とするようにしてもよい。
図15は、本実施の形態に従うセーフティシステム1に対するサポート装置500からのリモートメンテナンスの改良形態の別の一例を説明するための図である。図15に示す構成は、上述の図11に示す構成に対して改良を加えたものに相当する。図15に示すセーフティシステム1には、現場の作業者の操作を受け付ける表示操作装置600が接続されている。
図15に示す構成においては、まず、セーフティプログラムSPGは、サポート装置500において、都度生成されるワンタイム鍵である共通鍵TCKにより暗号化されて、暗号化済みセーフティプログラムSSP(転送データ)が生成される。併せて、共通鍵TCKについては、選択された転送先の公開鍵で暗号化されることで、暗号化済み共通鍵STCが生成される。
サポート装置500から選択された転送先には、暗号化済みセーフティプログラムSSPおよび暗号化済み共通鍵STCが転送される。サポート装置500は、共通鍵TCKでメンテナンスに必要なデータを暗号化するとともに、中継ユニット200が保持する鍵(秘密鍵SK1)で復号可能なように共通鍵TCKを暗号化して、中継ユニット200へ送信する。
転送先のセーフティシステム1の中継ユニット200は、サポート装置500から受信した暗号化済み共通鍵STCを自デバイスの秘密鍵SK1で共通鍵TCKに復号する。そして、転送先のセーフティシステム1の中継ユニット200は、復号した共通鍵TCKでサポート装置500から受信した暗号化済みセーフティプログラムSSP(転送データ)をセーフティプログラムSPGに復号する。
セーフティシステム1の中継ユニット200は、セーフティプログラムSPGに復号できると、復号したセーフティプログラムSPGを一旦内部に格納する。そして、セーフティシステム1の中継ユニット200は、復号したセーフティプログラムSPGに関する情報を表示操作装置600へ通知する。
現場の作業者は、表示操作装置600を参照してセーフティプログラムSPGの妥当性を確認するとともに、自身を含む現場の作業者が安全であることを確認した後に、表示操作装置600に対して転送承諾を指示する。この転送承諾に従って、表示操作装置600は、中継ユニット200に転送指示を送信する。
中継ユニット200は、表示操作装置600からの転送指示に従って、先に格納しているセーフティプログラムSPGをセーフティユニット300へ転送する。これにより、セーフティプログラムSPGの書き換え処理が完了する。
このように、セーフティユニット300へのセーフティプログラムSPGの反映を現場の作業者の明示的な操作を条件とすることで、現場の作業者の安全をより確実に確保できる。
図16は、図15に示すリモートメンテナンスにおける処理手順を示すシーケンス図である。図16を参照して、操作者によるサポート装置500の操作(シーケンスSQ100)に従って、サポート装置500は、セーフティプログラムSPGの作成・編集処理を実行する(シーケンスSQ102)。
続いて、操作者による転送先の選択および転送の操作(シーケンスSQ104)に従って、サポート装置500は、ワンタイム鍵として共通鍵TCKを生成する(シーケンスSQ130)。そして、サポート装置500は、生成した共通鍵TCKでセーフティプログラムSPGを暗号化して暗号化済みセーフティプログラムSSP(転送データ)を生成する(シーケンスSQ132)。また、サポート装置500は、転送先の公開鍵で共通鍵TCKを暗号化して暗号化済み共通鍵STCを生成する(シーケンスSQ134)。
最終的に、サポート装置500は、暗号化済みセーフティプログラムSSPおよび暗号化済み共通鍵STCを選択された転送先へ転送する(シーケンスSQ136)。
転送先の中継ユニット200は、サポート装置500から暗号化済み共通鍵STCを受信すると、当該受信した暗号化済み共通鍵STCを自デバイスの秘密鍵SK1で共通鍵TCKに復号する(シーケンスSQ140)。
また、中継ユニット200は、暗号化済みセーフティプログラムSSP(転送データ)を共通鍵TCKでセーフティプログラムSPGに復号する(シーケンスSQ142)。
そして、中継ユニット200は、復号したセーフティプログラムSPGに関する情報を表示操作装置600へ通知する(シーケンスSQ112)。表示操作装置600は、中継ユニット200からの情報に基づいて、セーフティプログラムSPGに関する情報を提示する(シーケンスSQ114)。さらに、表示操作装置600は、現場の作業者からの操作を受け付けると(シーケンスSQ116)、その受け付けた操作の内容(転送承諾または転送拒否)を中継ユニット200へ送信する(シーケンスSQ118)。
中継ユニット200は、表示操作装置600から転送承諾の指示を受信した場合(シーケンスSQ120においてYES)には、復号したセーフティプログラムSPGをセーフティユニット300へ転送する(シーケンスSQ122)。この中継ユニット200からセーフティユニット300へのセーフティプログラムSPGの転送は、内部バス10を介して実行される。セーフティユニット300は、中継ユニット200からのセーフティプログラムSPGを格納する(シーケンスSQ124)。そして、セーフティユニット300は、格納したセーフティプログラムSPGに従ってセーフティ制御を実行する。
これにより、サポート装置500からセーフティユニット300に対するリモートメンテナンスが完了する。
一方、中継ユニット200は、表示操作装置600から転送拒否の指示を受信した場合(シーケンスSQ120においてNO)には、格納しているセーフティプログラムSPGを破棄する(シーケンスSQ126)。この場合には、サポート装置500からセーフティユニット300に対するリモートメンテナンスは途中終了する。
(f4:解決形態3)
上述の構成において、表示操作装置600においてさらに認証処理を付加してもよい。認証処理を付加することで、セーフティユニット300へのセーフティプログラムSPGの転送指示をより確実なものとすることができる。
図17は、本実施の形態に従うセーフティシステム1に対するサポート装置500からのリモートメンテナンスの改良形態のさらに別の一例を説明するための図である。図17に示す構成は、上述の図12に示す構成に対して認証処理を追加したものに相当する。
図17に示す構成においては、リモートメンテナンスにおいてサポート装置500から転送されるセーフティプログラムSPGには、予め設定された送信パスワードSPWが付与されている。すなわち、サポート装置500は、操作者から入力されたパスワードをセーフティプログラムSPGに付与して中継ユニット200へ転送する。
一方、現場の作業者は、表示操作装置600を参照してセーフティプログラムSPGの妥当性を確認するとともに、自身を含む現場の作業者が安全であることを確認した後に、表示操作装置600に対して受信パスワードRPWを入力する。現場の作業者から入力された受信パスワードRPWがセーフティプログラムSPGに付与された送信パスワードSPWと一致する場合に限って、セーフティプログラムSPGが中継ユニット200からセーフティユニット300へ転送される。
より具体的には、リモートメンテナンスにおいて、操作者は、セーフティプログラムSPGの転送前または転送時に、送信パスワードSPWをサポート装置500に入力する。送信パスワードSPWは、通常、現場の作業者との間で共有されたものが用いられる。そして、サポート装置500は、操作者の操作に従って、選択されたIPアドレスを有するデバイスに対して、セーフティプログラムSPGおよび入力された送信パスワードSPWを、選択された転送先の公開鍵で暗号化する。暗号化により生成された転送データが転送先へ転送される。暗号化済みセーフティプログラムSSP(転送データ)が本来の転送先であるセーフティシステム1へ転送された場合には、セーフティシステム1の中継ユニット200が格納している秘密鍵SK1を用いた復号が可能となる。
セーフティシステム1の中継ユニット200は、秘密鍵SK1を用いて転送データをセーフティプログラムSPGおよび送信パスワードSPWに復号できると、復号したセーフティプログラムSPGおよび送信パスワードSPWを一旦内部に格納する。そして、セーフティシステム1の中継ユニット200は、復号したセーフティプログラムSPGに関する情報を表示操作装置600へ通知する。
現場の作業者は、表示操作装置600を参照してセーフティプログラムSPGの妥当性を確認するとともに、自身を含む現場の作業者が安全であることを確認した後に、表示操作装置600に対して受信パスワードRPWを入力する。入力された受信パスワードRPWは中継ユニット200へ送信される。
中継ユニット200は、表示操作装置600からの受信パスワードRPWと、先に格納している送信パスワードSPWとを照合する。両パスワードが一致した場合には、中継ユニット200は、セーフティプログラムSPGをセーフティユニット300へ転送する。これにより、セーフティプログラムSPGの書き換え処理が完了する。このように、中継ユニット200は、現場の作業者から入力された受信パスワードRPWが送信パスワードSPWと一致していることを条件に、サポート装置500から転送されたセーフティプログラムSPGをセーフティユニット300へ転送する。
一方、表示操作装置600からの受信パスワードRPWと、先に格納している送信パスワードSPWとが一致しなかった場合には、中継ユニット200は、格納しているセーフティプログラムSPGを破棄してもよい。
図18は、図17に示すリモートメンテナンスにおいて表示操作装置600に提示されるユーザインターフェイス例を示す模式図である。図18を参照して、表示操作装置600は、中継ユニット200からのセーフティプログラムSPGに関する情報を提示するとともに、受信パスワードRPWの入力を促す。一例として、表示操作装置600が提供するユーザインターフェイス画面は、セーフティプログラムSPGの変更操作者を示す情報602と、セーフティプログラムSPGの変更日時を示す情報604と、セーフティプログラムSPGの転送先を示す情報606と、パスワード入力欄612とを含む。
現場の作業者は、表示操作装置600上に提示される情報を確認するとともに、自身を含む現場の作業者が安全であることを確認した後に、受信パスワードRPWをパスワード入力欄612に入力する。その上で、送信ボタン614を押下する。この送信ボタン614に押下に応答して、表示操作装置600は、パスワード入力欄612に入力されている受信パスワードRPWを中継ユニット200へ送信する。すると、中継ユニット200は、表示操作装置600からの受信パスワードRPWと格納している送信パスワードSPWとを照合する。両パスワードが一致した場合には、中継ユニット200は、セーフティプログラムSPGをセーフティユニット300へ転送する。
一方、何らかの理由で、現場の作業者が拒否ボタン610を押下した場合には、表示操作装置600は、中継ユニット200に対して転送中止を送信する。すると、中継ユニット200は、格納しているセーフティプログラムSPGを破棄してもよい。
図19は、図17に示すリモートメンテナンスにおける処理手順を示すシーケンス図である。図19を参照して、操作者によるサポート装置500の操作(シーケンスSQ100)に従って、サポート装置500は、セーフティプログラムSPGの作成・編集処理を実行する(シーケンスSQ102)。また、操作者は、セーフティプログラムSPGに付与すべき送信パスワードSPWを入力する(シーケンスSQ103)。
続いて、操作者による転送先の選択および転送の操作(シーケンスSQ104)に従って、サポート装置500は、選択された中継ユニット200とネットワーク接続し、転送先の公開鍵でセーフティプログラムSPGおよび送信パスワードSPWを暗号化して暗号化済み転送データを生成する(シーケンスSQ107)。そして、サポート装置500は、選択された転送先へ転送データを転送する(シーケンスSQ108)。
転送先の中継ユニット200は、サポート装置500から転送データを受信すると、当該受信したデータを自デバイスの秘密鍵SK1でセーフティプログラムSPGおよび送信パスワードSPWに復号する(シーケンスSQ111)。
そして、中継ユニット200は、復号したセーフティプログラムSPGに関する情報を表示操作装置600へ通知する(シーケンスSQ112)。表示操作装置600は、中継ユニット200からの情報に基づいて、セーフティプログラムSPGに関する情報を提示する(シーケンスSQ114)。さらに、表示操作装置600は、現場の作業者からの受信パスワードRPWを受け付けると(シーケンスSQ117)、その受け付けた受信パスワードRPWを中継ユニット200へ送信する(シーケンスSQ119)。なお、転送拒否の指令が中継ユニット200へ送信されることもある。
中継ユニット200は、表示操作装置600から受信した受信パスワードRPWが予め格納している送信パスワードSPWと一致する場合(シーケンスSQ121においてYES)には、復号したセーフティプログラムSPGをセーフティユニット300へ転送する(シーケンスSQ122)。この中継ユニット200からセーフティユニット300へのセーフティプログラムSPGの転送は、内部バス10を介して実行される。セーフティユニット300は、中継ユニット200からのセーフティプログラムSPGを格納する(シーケンスSQ124)。そして、セーフティユニット300は、格納したセーフティプログラムSPGに従ってセーフティ制御を実行する。
これにより、サポート装置500からセーフティユニット300に対するリモートメンテナンスが完了する。
一方、中継ユニット200は、表示操作装置600から受信した受信パスワードRPWが予め格納している送信パスワードSPWと一致しない場合(シーケンスSQ121においてNO)には、格納しているセーフティプログラムSPGを破棄する(シーケンスSQ126)。この場合には、サポート装置500からセーフティユニット300に対するリモートメンテナンスは途中終了する。
上述したように、サポート装置500は、操作者により入力された任意の送信パスワードSPWを転送データに含めて中継ユニット200へ送信する。表示操作装置600は、サポート装置500から送信されたセーフティプログラムSPGに関する情報を提示するとともに、現場の作業者に受信パスワードRPWの入力を促す。現場の作業者が入力した受信パスワードRPWに基づくパスワード認証が成功すると、中継ユニット200からセーフティユニット300へのセーフティプログラムSPGの転送が開始される。一方、現場の作業者が入力した受信パスワードRPWに基づくパスワード認証が失敗すると、セーフティプログラムSPGはセーフティユニット300へ転送されない。
このように、セーフティユニット300へのセーフティプログラムSPGの反映は、サポート装置500の操作者と現場の作業者との間のパスワードの一致を条件とするために、セーフティユニット300へのセーフティプログラムSPGの誤転送の可能性をほぼゼロにできる。
(f5:解決形態3の変形例)
上述した解決形態3については、以下のような変形などが可能である。
(1)解決形態3は、上述の図12に示す構成をベースに説明したが、図15に示す構成に対しても同様に適用可能である。さらに、図12および図15に示される構成に限らず、サポート装置500および現場のそれぞれで入力されたパスワードを照合できる構成であれば、どのような構成を採用してもよい。
(2)解決形態3においては、中継ユニット200が送信パスワードSPWおよび受信パスワードRPWを用いたパスワード認証を実行する構成を例示するが、パスワード認証を実行する主体はいずれであってもよい。例えば、中継ユニット200に代えて、表示操作装置600でパスワード認証を実行してもよいし、制御ユニット100あるいはセーフティユニット300でパスワード認証を実行してもよい。さらに、セーフティシステム1とは別に配置された任意の情報処理装置において、パスワード認証を実行してもよい。
このように、パスワード認証は、システム構成に応じて、任意の実行主体が実行すればよい。
(3)送信パスワードSPWおよび受信パスワードRPWとしては、任意の形態を採用できる。例えば、任意の文字列をパスワードとして採用することもできるし、予め用意された複数の候補(数字、絵柄、写真など)から任意に選択されるものであってもよい。解決形態3において、送信パスワードSPWおよび受信パスワードRPWは、情報の秘匿化を目的とするのではなく、サポート装置500の操作者と現場の作業者との意思疎通を確認することを目的とするので、厳密な暗号化強度は要求されなくてもよい。
さらに、サポート装置500が送信パスワードSPWをランダムに選択または決定してもよい。この場合には、サポート装置500により送信パスワードSPWが決定または選択されると、サポート装置500の操作者は、電話などの手段により、送信パスワードSPWを現場の作業者に伝える。この際、サポート装置500の操作者は、セーフティユニット300へのセーフティプログラムSPGの転送予定などを連絡することが想定される。現場の作業者は、サポート装置500の操作者からの連絡内容に従って、受信パスワードRPWを表示操作装置600に入力する。このような送信パスワードSPWの生成方法を採用することで、サポート装置500の操作者と現場の作業者とのコミュニケーションをより確実に行わせることができる。
上述したように、送信パスワードSPWは、任意の文字列、予め定められた候補のうち任意の1つ、およびサポート装置500によりランダムに決定された値のいずれかであってもよい。
(4)上述した送信パスワードSPWおよび受信パスワードRPWを用いて認証を行う構成に代えて、表示操作装置600を操作する現場の作業者に対するユーザ認証を利用してもよい。
図20は、本実施の形態に従うセーフティシステム1に対するサポート装置500からのリモートメンテナンスの改良形態のさらに別の一例を説明するための図である。図20に示す構成は、上述の図12に示す構成に対してユーザ認証処理および権限認証処理を追加したものに相当する。
図20に示すリモートメンテナンスにおいては、表示操作装置600を操作する作業者が操作権限を有している場合に限って、転送指示を送信できる。
図20に示す構成においては、リモートメンテナンスにおいてサポート装置500から転送されるセーフティプログラムSPGには、予め設定された操作権限情報OPAが付与されている。中継ユニット200が受信しれた操作権限情報OPAは、表示操作装置600へ転送される。
一方、現場の作業者は、表示操作装置600を操作する際に、自身のユーザ名UIDおよびユーザ認証パスワードUPWを入力する。表示操作装置600は、入力されたユーザ名UIDおよびユーザ認証パスワードUPWに基づいて、ユーザ認証を実行する。ユーザ認証が成功すると、表示操作装置600は、中継ユニット200から受信した操作権限情報OPAを参照して、ユーザ認証が成功した作業者が操作権限を有しているか否かを判断する(権限認証)。
図21は、図20に示される操作権限情報OPAの一例を示す図である。図21を参照して、操作権限情報OPAは、ユーザ名毎に操作権限が設定されているか否かを示す情報を含む。すなわち、操作権限情報OPAは、転送指示を許可するアカウント情報である。
図21に示す例においては、ユーザ名「User_1」の作業者に対しては、操作権限が設定されている一方で、ユーザ名「User_2」の作業者に対しては、操作権限が設定されていない。
図21に示す例では、アカウント情報として、ユーザアカウント(ユーザ名)単位で操作権限の付与を規定する例を示すが、これに限らず、ユーザグループ単位あるいはロール単位で操作権限の付与を規定するようにしてもよい。
表示操作装置600は、ユーザ認証が成功した作業者が操作権限を有している場合に限って、中継ユニット200への転送指示の送信を有効化する。そして、中継ユニット200は、表示操作装置600から転送指示を受けると、セーフティユニット300へのセーフティプログラムSPGの転送を開始する。
このように、中継ユニット200は、作業者(ユーザ)に対するユーザ認証の成功、および、当該ユーザ認証の成功した作業者(ユーザ)に所定の操作権限が設定されていることを条件に、サポート装置500から転送されたセーフティプログラムSPGをセーフティユニット300へ転送する。
図20および図21に示すようなユーザ認証処理および権限認証処理を利用して、転送指示の送信者を制限することで、セーフティシステム1が配置されている現場の作業者OP2の安全の確保をさらに確実化できる。
なお、図20においては、ユーザ名UIDおよびユーザ認証パスワードUPWを用いる例を説明したが、ユーザ認証の実現方法はどのようなものであってもよい。例えば、生体情報(例えば、顔認証や指紋認証)を用いるようにしてもよい。
また、図20においては、表示操作装置600がユーザ認証を実行する構成例を示すが、ユーザ認証の実行主体はいずれであってもよい。同様に、ユーザアカウントの管理(ユーザの追加や登録など)の実行主体はいずれであってもよい。例えば、ユーザ認証および/またはユーザアカウントの管理を、セーフティシステム1を構成する制御ユニット100、中継ユニット200およびセーフティユニット300のうち、いずれのユニットで実行するようにしてもよい。さらに、セーフティシステム1以外の外部サーバ(例えば、シングルサインオンサーバなど)が実行するようにしてもよい。
(f6:その他の変形例)
上述の説明においては、表示操作装置600が、現場の作業者へ情報を提示するとともに、現場の作業者からの指示を受け付ける構成例について説明したが、これに限らず任意のユニットまたはデバイスで現場の作業者からの指示を受け付けるようにしてもよい。
例えば、セーフティシステム1を構成する制御ユニット100、中継ユニット200およびセーフティユニット300のいずれかに配置された表示デバイスおよび入力デバイスを用いるようにしてもよい。具体的には、いずれかのユニットの露出面に配置されたインジケータ(例えば、7セグメント表示デバイスやLEDなど)あるいはディスプレイを介して、サポート装置500から転送されたセーフティプログラムSPGに関する情報を提示してもよい。この場合、いずれかのユニットの露出面に配置されたインジケータが、サポート装置500から転送されたセーフティプログラムSPGに関する情報をユーザに提示する。すなわち、制御ユニット100の露出面に配置されたインジケータ、および、セーフティユニット300の露出面に配置されたインジケータは、セーフティプログラムSPGに関する情報をユーザに提示する。
また、いずれかのユニットの露出面に配置されたボタンやディップスイッチなどを介して、現場の作業者からの指示を受け付けるようにしてもよい。さらに、セーフティシステム1または表示操作装置600と無線通信する携帯端末などを介して、現場の作業者からの指示を受け付けるようにしてもよい。
<G.その他の形態>
上述の実施の形態においては、セーフティプログラムSPGを実行するセーフティユニット300と、サポート装置500との間でデータを遣り取りする中継ユニット200とは独立したユニットからなるシステムについて例示した。このような中継ユニット200とセーフティユニット300とを別体とした場合には、既存のシステムに対して、中継ユニット200を追加することで、上述したようなリモートメンテナンスを容易に実現できる。
但し、必ずしも、中継ユニット200とセーフティユニット300とを別体にする必要はなく、両者を一体化した構成を採用してもよい。さらに、制御ユニット100と、中継ユニット200と、セーフティユニット300とのすべてを一体化した構成を採用してもよい。この場合には、筐体をコンパクト化できるなどの利点がある。
<H.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
[構成1]
セーフティプログラム(SPG)に従ってセーフティ制御を実行する処理実行部(300)と、
前記処理実行部が保持する前記セーフティプログラムに対する外部アクセスを仲介する通信部(200)と、
ユーザ操作に従って、ネットワーク(4)を介して前記セーフティプログラムを前記通信部へ転送するサポート装置(500)と、
前記サポート装置から転送されたセーフティプログラムに関する情報をユーザに提示する提示手段(600)とを備え、
前記通信部は、ユーザからの指示を条件として、前記サポート装置から転送されたセーフティプログラムを前記処理実行部へ転送する、セーフティシステム。
[構成2]
前記サポート装置は、入力された第1のパスワード(SPW)を前記セーフティプログラムに付与して前記通信部へ転送し、
前記通信部は、ユーザから入力された第2のパスワード(RPW)が前記第1のパスワードと一致していることを条件に、前記サポート装置から転送されたセーフティプログラムを前記処理実行部へ転送する、構成1に記載のセーフティシステム。
[構成3]
前記第1のパスワードは、任意の文字列、予め定められた候補のうち任意の1つ、および前記サポート装置によりランダムに決定された値のいずれかである、構成1または2に記載のセーフティシステム。
[構成4]
前記通信部は、ユーザに対するユーザ認証の成功、および、当該ユーザ認証の成功したユーザに所定の操作権限が設定されていることを条件に、前記サポート装置から転送されたセーフティプログラムを前記処理実行部へ転送する、構成1に記載のセーフティシステム。
[構成5]
前記通信部は、ユーザからの転送を拒否する指示に応答して、前記サポート装置から転送されたセーフティプログラムを破棄する、構成1~4のいずれか1項に記載のセーフティシステム。
[構成6]
前記セーフティプログラムに関する情報は、前記セーフティプログラムの更新者、前記セーフティプログラムの更新日時、および前記セーフティプログラムの転送先のうち、少なくとも1つを含む、構成1~5のいずれか1項に記載のセーフティシステム。
[構成7]
前記提示手段は、前記通信部とネットワーク接続された表示操作装置、前記処理実行部の露出面に配置されたインジケータ、および前記通信部の露出面に配置されたインジケータのうち、少なくとも1つを含む、構成1~6のいずれか1項に記載のセーフティシステム。
[構成8]
前記通信部は、電子的な鍵を保持しており、
前記サポート装置は、前記通信部が前記電子的な鍵で復号可能なように、前記セーフティプログラムを暗号化した上で前記通信部へ転送する、構成1~7のいずれか1項に記載のセーフティシステム。
[構成9]
前記通信部は、前記電子的な鍵として秘密鍵(SK1)を保持しており、
前記サポート装置は、前記秘密鍵と対になる公開鍵(PK1)を保持している、構成8に記載のセーフティシステム。
[構成10]
前記サポート装置は、
前記セーフティプログラムを転送する必要がある場合にワンタイム鍵(TCK)を生成し、
前記ワンタイム鍵を前記公開鍵で暗号化して前記通信部へ送信し、
前記セーフティプログラムを前記ワンタイム鍵で暗号化して前記通信部へ送信する、構成9に記載のセーフティシステム。
[構成11]
コントローラシステム(1)におけるメンテナンス方法であって、
前記コントローラシステムは、
セーフティプログラム(SPG)に従ってセーフティ制御を実行する処理実行部(300)と、
前記処理実行部が保持する前記セーフティプログラムに対する外部アクセスを仲介する通信部(200)と、
サポート装置(500)とを備え、
前記メンテナンス方法は、
前記サポート装置が、ユーザ操作に従って、ネットワークを介して前記セーフティプログラムを前記通信部へ転送するステップ(SQ108;SQ136)と、
前記サポート装置から転送されたセーフティプログラムに関する情報をユーザに提示するステップ(SQ114)と、
ユーザからの指示を条件として、前記サポート装置から転送されたセーフティプログラムを前記処理実行部へ転送するステップ(SQ116,SQ118,SQ120,SQ122,SQ124;SQ117,SQ119,SQ121,SQ122,SQ124)とを備える、メンテナンス方法。
<I.利点>
本実施の形態に係るセーフティシステム1によれば、サポート装置500から中継ユニット200へ転送されたセーフティプログラムSPGをセーフティユニット300に反映する条件として、現場の作業者の確認および指示を要求する。このような条件を採用することで、現場から離れた位置にいるサポート装置500の操作者と、現場の作業者との間で連携が必要となり、これによって、IEC 62061に規定される要件を満足しつつ、リモートメンテナンスを実施できる。特に、現場の作業者の安全の確保をより確実化できる。さらに、リモートメンテナンスの効率を高めることともに、それによって、生産設備の生産性を向上させることができる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1,2 セーフティシステム、4 ネットワーク、10 内部バス、100 制御ユニット、102,202,302,502 プロセッサ、104,204,304 チップセット、106,206,306,504 主記憶装置、108,208,308,510 二次記憶装置、110,210 通信コントローラ、112 USBコントローラ、114,214,314 メモリカードインターフェイス、115,215,315 メモリカード、116,118,120,216,218 ネットワークコントローラ、122,322 内部バスコントローラ、124,224,324 インジケータ、200 中継ユニット、212,520 通信インターフェイス、300 セーフティユニット、400 機能ユニット、450 電源ユニット、500 サポート装置、506 入力部、508 出力部、512 光学ドライブ、514 記録媒体、518 プロセッサバス、600 表示操作装置、602,604,606 情報、608 承諾ボタン、610 拒否ボタン、612 パスワード入力欄、614 送信ボタン、2010 特開、5102 OS、5104 サポートプログラム、5106 プロジェクト、5108 標準制御ソースプログラム、5110,5112 セーフティソースプログラム、LS リスト、OP1 操作者、OP2 作業者、OPA 操作権限情報、PK1 公開鍵、RPW 受信パスワード、SK1,SK2 秘密鍵、SPG セーフティプログラム、SPW 送信パスワード、SSP 暗号化済みセーフティプログラム、STC 暗号化済み共通鍵、TCK 共通鍵、UID ユーザ名、UPW ユーザ認証パスワード。

Claims (11)

  1. セーフティプログラムに従ってセーフティ制御を実行する処理実行部と、
    前記処理実行部が保持する前記セーフティプログラムに対する外部アクセスを仲介する通信部と、
    ユーザ操作に従って、ネットワークを介して前記セーフティプログラムを前記通信部へ転送するサポート装置と、
    前記サポート装置から転送されたセーフティプログラムに関する情報をユーザに提示する提示手段とを備え、
    前記サポート装置は、入力された第1のパスワードを前記セーフティプログラムに付与して前記通信部へ転送し、
    前記通信部は、ユーザから入力された第2のパスワードが前記第1のパスワードと一致していることを条件として、前記サポート装置から転送されたセーフティプログラムを前記処理実行部へ転送する、セーフティシステム。
  2. 前記第1のパスワードは、任意の文字列、予め定められた候補のうち任意の1つ、および前記サポート装置によりランダムに決定された値のいずれかである、請求項に記載のセーフティシステム。
  3. セーフティプログラムに従ってセーフティ制御を実行する処理実行部と、
    前記処理実行部が保持する前記セーフティプログラムに対する外部アクセスを仲介する通信部と、
    ユーザ操作に従って、ネットワークを介して前記セーフティプログラムを前記通信部へ転送するサポート装置と、
    前記サポート装置から転送されたセーフティプログラムに関する情報をユーザに提示する提示手段とを備え、
    前記通信部は、ユーザに対するユーザ認証の成功、および、当該ユーザ認証の成功したユーザに所定の操作権限が設定されていることを条件として、前記サポート装置から転送されたセーフティプログラムを前記処理実行部へ転送する、セーフティシステム。
  4. 前記通信部は、ユーザからの転送を拒否する指示に応答して、前記サポート装置から転送されたセーフティプログラムを破棄する、請求項1~のいずれか1項に記載のセーフティシステム。
  5. 前記セーフティプログラムに関する情報は、前記セーフティプログラムの更新者、前記セーフティプログラムの更新日時、および前記セーフティプログラムの転送先のうち、少なくとも1つを含む、請求項1~のいずれか1項に記載のセーフティシステム。
  6. 前記提示手段は、前記通信部とネットワーク接続された表示操作装置、前記処理実行部の露出面に配置されたインジケータ、および前記通信部の露出面に配置されたインジケータのうち、少なくとも1つを含む、請求項1~のいずれか1項に記載のセーフティシステム。
  7. 前記通信部は、電子的な鍵を保持しており、
    前記サポート装置は、前記通信部が前記電子的な鍵で復号可能なように、前記セーフティプログラムを暗号化した上で前記通信部へ転送する、請求項1~のいずれか1項に記載のセーフティシステム。
  8. 前記通信部は、前記電子的な鍵として秘密鍵を保持しており、
    前記サポート装置は、前記秘密鍵と対になる公開鍵を保持している、請求項に記載のセーフティシステム。
  9. 前記サポート装置は、
    前記セーフティプログラムを転送する必要がある場合にワンタイム鍵を生成し、
    前記ワンタイム鍵を前記公開鍵で暗号化して前記通信部へ送信し、
    前記セーフティプログラムを前記ワンタイム鍵で暗号化して前記通信部へ送信する、請求項に記載のセーフティシステム。
  10. コントローラシステムにおけるメンテナンス方法であって、
    前記コントローラシステムは、
    セーフティプログラムに従ってセーフティ制御を実行する処理実行部と、
    前記処理実行部が保持する前記セーフティプログラムに対する外部アクセスを仲介する通信部と、
    サポート装置とを備え、
    前記メンテナンス方法は、
    前記サポート装置が、ユーザ操作に従って、入力された第1のパスワードを前記セーフティプログラムに付与して、ネットワークを介して前記通信部へ転送するステップと、
    前記サポート装置から転送されたセーフティプログラムに関する情報をユーザに提示するステップと、
    ユーザから入力された第2のパスワードが前記第1のパスワードと一致していることを条件として、前記サポート装置から転送されたセーフティプログラムを前記処理実行部へ転送するステップとを備える、メンテナンス方法。
  11. コントローラシステムにおけるメンテナンス方法であって、
    前記コントローラシステムは、
    セーフティプログラムに従ってセーフティ制御を実行する処理実行部と、
    前記処理実行部が保持する前記セーフティプログラムに対する外部アクセスを仲介する通信部と、
    サポート装置とを備え、
    前記メンテナンス方法は、
    前記サポート装置が、ユーザ操作に従って、ネットワークを介して前記セーフティプログラムを前記通信部へ転送するステップと、
    前記サポート装置から転送されたセーフティプログラムに関する情報をユーザに提示するステップと、
    ユーザに対するユーザ認証の成功、および、当該ユーザ認証の成功したユーザに所定の操作権限が設定されていることを条件として、前記サポート装置から転送されたセーフティプログラムを前記処理実行部へ転送するステップとを備える、メンテナンス方法。
JP2019045175A 2019-03-12 2019-03-12 セーフティシステムおよびメンテナンス方法 Active JP7127585B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2019045175A JP7127585B2 (ja) 2019-03-12 2019-03-12 セーフティシステムおよびメンテナンス方法
CN202080017595.5A CN113498494A (zh) 2019-03-12 2020-02-14 安全系统和维护方法
EP20770639.1A EP3940465A4 (en) 2019-03-12 2020-02-14 SECURITY SYSTEM AND MAINTENANCE PROCEDURE
PCT/JP2020/005796 WO2020184064A1 (ja) 2019-03-12 2020-02-14 セーフティシステムおよびメンテナンス方法
US17/434,958 US20220171359A1 (en) 2019-03-12 2020-02-14 Safety system and maintenance method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019045175A JP7127585B2 (ja) 2019-03-12 2019-03-12 セーフティシステムおよびメンテナンス方法

Publications (2)

Publication Number Publication Date
JP2020149244A JP2020149244A (ja) 2020-09-17
JP7127585B2 true JP7127585B2 (ja) 2022-08-30

Family

ID=72427257

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019045175A Active JP7127585B2 (ja) 2019-03-12 2019-03-12 セーフティシステムおよびメンテナンス方法

Country Status (5)

Country Link
US (1) US20220171359A1 (ja)
EP (1) EP3940465A4 (ja)
JP (1) JP7127585B2 (ja)
CN (1) CN113498494A (ja)
WO (1) WO2020184064A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018129354A1 (de) * 2018-11-21 2020-05-28 Phoenix Contact Gmbh & Co. Kg Verfahren zum Bearbeiten von Anwendungsprogrammen auf einem verteilten Automatisierungssystem

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007518145A (ja) 2003-09-19 2007-07-05 フィッシャー−ローズマウント システムズ, インコーポレイテッド プロセス制御及び安全システムのソフトウェアオブジェクトの承認のための統合型電子署名
JP2009124520A (ja) 2007-11-16 2009-06-04 Fujitsu Ltd データ送付方法および電子機器
JP2016072675A (ja) 2014-09-26 2016-05-09 Kddi株式会社 管理装置、車両、管理方法およびコンピュータプログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4924851B2 (ja) 2009-12-09 2012-04-25 オムロン株式会社 安全コントローラのプログラム開発支援装置
JP5194053B2 (ja) * 2010-05-20 2013-05-08 京セラドキュメントソリューションズ株式会社 認証プログラム、プログラムセット、認証方法及び認証装置並びにソフトウェア有効期限変更装置
EP2461613A1 (en) * 2010-12-06 2012-06-06 Gemalto SA Methods and system for handling UICC data
US9037511B2 (en) * 2011-09-29 2015-05-19 Amazon Technologies, Inc. Implementation of secure communications in a support system
US9443421B2 (en) * 2012-11-13 2016-09-13 Panasonic Intellectual Property Corporation Of America Method used in a system for remotely controlling an appliance
WO2014097444A1 (ja) * 2012-12-20 2014-06-26 三菱電機株式会社 制御システム及びプログラム送信装置及び認証サーバ及びプログラム保護方法及びプログラム送信方法及びプログラム送信装置のプログラム
JP5900390B2 (ja) * 2013-01-31 2016-04-06 株式会社オートネットワーク技術研究所 アクセス制限装置、車載通信システム及び通信制限方法
JP6062809B2 (ja) * 2013-06-13 2017-01-18 株式会社日立製作所 資産管理システム及び資産管理方法
WO2015045172A1 (ja) * 2013-09-30 2015-04-02 富士通株式会社 情報処理装置及び情報処理方法
CN106104605B (zh) * 2014-04-14 2020-03-17 万事达卡国际股份有限公司 用于在不带有安全元件的移动设备中生成高级存储密钥的方法及系统
JP6169543B2 (ja) * 2014-08-26 2017-07-26 株式会社オプティム リモートコントロールシステム及び、リモートコントロール方法
CN104168329A (zh) * 2014-08-28 2014-11-26 尚春明 云计算及互联网中的用户二次认证方法、装置和系统
JP6278278B2 (ja) * 2015-08-27 2018-02-14 横河電機株式会社 無線中継機器、無線通信システム、及び無線通信方法
JP6711042B2 (ja) * 2016-03-14 2020-06-17 富士通株式会社 復号プログラム、暗号化プログラム、復号装置、暗号化装置、復号方法、および暗号化方法
DE102017111928A1 (de) * 2017-05-31 2018-12-06 Endress+Hauser Conducta Gmbh+Co. Kg Verfahren zur autorisierten Aktualisierung eines Feldgeräts der Automatisierungstechnik

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007518145A (ja) 2003-09-19 2007-07-05 フィッシャー−ローズマウント システムズ, インコーポレイテッド プロセス制御及び安全システムのソフトウェアオブジェクトの承認のための統合型電子署名
JP2009124520A (ja) 2007-11-16 2009-06-04 Fujitsu Ltd データ送付方法および電子機器
JP2016072675A (ja) 2014-09-26 2016-05-09 Kddi株式会社 管理装置、車両、管理方法およびコンピュータプログラム

Also Published As

Publication number Publication date
WO2020184064A1 (ja) 2020-09-17
CN113498494A (zh) 2021-10-12
JP2020149244A (ja) 2020-09-17
US20220171359A1 (en) 2022-06-02
EP3940465A4 (en) 2022-12-21
EP3940465A1 (en) 2022-01-19

Similar Documents

Publication Publication Date Title
US20170033931A1 (en) Method and system for producing a secure communication channel for terminals
JP2017505048A (ja) 電子署名方法、システムおよび装置
US20170076085A1 (en) Instrument control system, instrument control device, instrument control method, and non-transitory computer readable recording medium recorded with program
US8832446B2 (en) Secure data transfer in an automation network
US11916903B2 (en) Method for setting up authorization verification for a first device
JP7127585B2 (ja) セーフティシステムおよびメンテナンス方法
US11068579B2 (en) Method and system of performing an authorization mechanism between a service terminal system and a helpdesk system
US9940480B2 (en) Securing delegated remote management with digital signature
WO2020158247A1 (ja) セーフティシステムおよびメンテナンス方法
JP7334492B2 (ja) セーフティシステムおよびメンテナンス方法
CN113055340A (zh) 鉴权方法及设备
CN112004978B (zh) 密钥信息生成系统及密钥信息生成方法
CN105763518A (zh) 一种基于b/s架构的远程数据加密方法
JP2016192759A (ja) 保守作業認証システム、画像形成装置及び保守作業管理装置
JP2007156516A (ja) アクセス制御装置、アクセス制御プログラムおよびアクセス制御方法
JP6162611B2 (ja) 通信制御サーバ、通信制御方法、及びプログラム
JP7351873B2 (ja) 情報処理装置、情報処理方法および情報処理プログラム
WO2022190422A1 (ja) 制御システムおよびその制御方法
JP6895489B2 (ja) 鍵情報生成システム及び鍵情報生成方法
WO2020017643A1 (ja) 電子署名システム、証明書発行システム、鍵管理システム、証明書発行方法及びプログラム
JP5791580B2 (ja) プログラマブル表示器および認証システム
KR101834514B1 (ko) 고객측 단말과 서비스 제공 단말 간의 통신에 보안을 제공하는 보안 관리 장치
KR101551065B1 (ko) 직원 인증 관리 시스템 및 직원 인증 관리 방법
KR101576584B1 (ko) 입력수단을 구비한 보안 usb 장치
CN115314212A (zh) 用于与系统时间无关认证交互的方法、装置和火焰监测器

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220225

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220801

R150 Certificate of patent or registration of utility model

Ref document number: 7127585

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150