JP7052755B2 - 制御装置、管理プログラムおよび制御システム - Google Patents

制御装置、管理プログラムおよび制御システム Download PDF

Info

Publication number
JP7052755B2
JP7052755B2 JP2019033812A JP2019033812A JP7052755B2 JP 7052755 B2 JP7052755 B2 JP 7052755B2 JP 2019033812 A JP2019033812 A JP 2019033812A JP 2019033812 A JP2019033812 A JP 2019033812A JP 7052755 B2 JP7052755 B2 JP 7052755B2
Authority
JP
Japan
Prior art keywords
control device
control
public
public setting
information
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
JP2019033812A
Other languages
English (en)
Other versions
JP2020140312A (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 JP2019033812A priority Critical patent/JP7052755B2/ja
Priority to US17/425,049 priority patent/US20220100162A1/en
Priority to PCT/JP2020/004108 priority patent/WO2020175031A1/ja
Priority to EP20763851.1A priority patent/EP3933522A4/en
Priority to CN202080009943.4A priority patent/CN113330375A/zh
Publication of JP2020140312A publication Critical patent/JP2020140312A/ja
Application granted granted Critical
Publication of JP7052755B2 publication Critical patent/JP7052755B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G05B19/058Safety, monitoring
    • 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
    • G05B19/054Input/output
    • 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
    • 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/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/409Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by using manual input [MDI] or by using control panel, e.g. controlling functions with the panel; characterised by control panel details, by setting parameters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • 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/13144GUI graphical user interface, icon, function bloc editor, OI operator interface
    • 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/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31457Factory remote control, monitoring through internet
    • 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/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34038Web, http, ftp, internet, intranet server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic

Description

本発明は、制御対象を制御するための制御プログラムを実行する制御装置と外部機器との間で行われるデータの遣り取りを管理する機能に関する。
様々な製造現場において、PLC(Programmable Logic Controller)などの制御装置が導入されている。このような制御装置は、一種のコンピュータであり、製造装置や製造設備などに応じて設計された制御プログラムが実行される。また、このような制御装置は、HMI(Human Machine Interface)などの外部装置と通信可能に接続される。
このような外部装置として、特開2013-012050号広報(特許文献1)は、制御プログラムの全体を構造的かつ視覚的に表現し、制御プログラムの実行順序および実行状態を容易に把握することができる表示装置を開示する。
また、特開2013-105218号広報(特許文献2)は、産業用の種々のシステムを制御する制御装置と接続して、これに制御指示を行なうとともに、画面データを表示する表示装置であって、デバイス情報を簡単に調べることができる表示装置を開示する。
特開2013-012050号広報 特開2013-105218号広報
外部装置は、制御装置から制御プログラムの実行状況を示す情報や、デバイスに関する情報を得ることで、特許文献1や特許文献2に示す機能を実現する。特許文献1および特許文献2に示すように、制御装置と通信可能に接続された外部装置に対しては、プログラムの実行状況を表示する機能や、デバイス情報を表示する機能など、様々な機能が要求される。
しかし、これらの機能は、それぞれ、製造現場における特定の状況で利用される機能であって、恒常的に利用されるとは限られない。すなわち、外部装置と制御装置との間で遣り取りが求められるデータは、状況に応じて変化する。そのため、外部装置との間で遣り取りされるデータを管理することが求められる。
本願発明は、上述したように、外部装置との間で遣り取りされるデータを管理する機能を提供することを一つの目的とする。
本開示の一例によれば、制御対象を制御するための制御プログラムを実行する制御装置が提供される。制御装置は、制御プログラムの実行に関する1または複数のプロセス値を管理する管理手段と、1または複数のプロセス値についての公開設定に従って、1または複数のプロセス値の少なくとも一部を含むデータを、外部装置との間で遣り取りする通信手段と、制御プログラムの実行結果および制御装置の動作状態のうちの少なくとも一方の情報に応じて、公開設定を動的に決定する公開管理手段とを含む。
この開示によれば、外部装置との間で遣り取りされるデータを制御プログラムの実行結果および制御装置の動作状態のうちの少なくとも一方の情報に応じて管理することができる。
上述の開示において、公開設定は、1または複数のプロセス値のうち、外部装置が参照可能なプロセス値の範囲を規定する情報を含む。
この開示によれば、外部装置が参照できないプロセス値が規定されるため、制御装置のセキュリティレベルを向上させることができる。
上述の開示において、公開設定は、1または複数のプロセス値の各々について、外部装置に対して参照可能であるか否かを規定する情報を含む。
この開示によれば、各プロセス値に対して外部装置からの参照可否が規定されるため、細かな設定が可能である。
上述の開示において、公開設定は、外部装置からの指令に従って、対象のプロセス値が変更可能であるか否かを規定する情報を含む。
この開示によれば、プロセス値を制御装置の外部から変更できるとともに、制御装置の状態によっては、その変更を禁止することができる。
上述の開示において、制御プログラムの実行結果は、制御対象の動作状態を含む。公開管理手段は、動作状態に応じて、公開設定を動的に決定する。
この開示によれば、制御対象の動作状態に従っても公開設定が決定されるため、より詳細な状況に応じたプロセス値の公開設定を規定することができる。
上述の開示において、制御装置の動作状態は、制御プログラムの変更を許可する状態と、制御プログラムの変更を禁止する状態とを含む。
この開示によれば、制御プログラムの変更が許可されており、制御プログラムの変更によりプロセス値がどのように変化したかを確認したいような状況と、制御プログラムが変更されずその制御プログラムの実行状況を確認したいような状況とに応じて公開設定を規定することができる。
上述の開示において、制御装置の動作状態は、制御装置に発生する何らかの不正侵入に対する検知結果に応じて変化する状態であって、インシデントが発生していない状態と、発生しているインシデントの特性に応じた状態とを含む。
この開示によれば、インシデントの特性に応じて公開設定が動的に決定されるため、セキュリティレベルを向上させることができる。
上述の開示において、通信手段は、外部装置との間で遣り取りする1または複数のプロセス値に公開が許可されていないプロセス値が含まれている場合、公開が許可されていない旨の情報を送信する。
この開示によれば、公開が許可されていない旨の情報が送信されるため、外部装置200は、公開が許可されていない旨を特定できる。その結果、公開が許可されていないプロセス値がデータの遣り取りの対象となっていても、外部装置と制御装置との間のデータの遣り取りを正常に行うことができる。
上述の開示において、通信手段は、外部装置との間で遣り取りする1または複数のプロセス値のうち、公開が許可されていないプロセス値については、予め定められたデータに変換して送信する。
この開示によれば、公開が許可されていないプロセス値についても送信されるため、公開が許可されていないプロセス値がデータの遣り取りの対象となっていても、外部装置と制御装置との間のデータの遣り取りを正常に行うことができる。
上述の開示において、通信手段は、OPC-UA(Object Linking and Embedding for Process Control Unified Architecture)に従った通信プロトコルを利用して外部装置との間でデータの遣り取りを行う。
この開示によれば、外部装置のベンダやOS(Operating System)の種類などに依存することなく外部装置との間でデータを遣り取りできる。
上述の開示において、制御装置は、制御プログラムの実行結果および前記制御装置の動作状態のうちの少なくとも一方の情報に従って規定される制御状態と公開設定とを対応付けた公開設定情報を格納する記憶装置と通信可能である。公開管理手段は、制御プログラムの実行結果および制御装置の動作状態のうちの少なくとも一方の情報と公開設定情報とに応じて公開設定を動的に決定する。
この開示によれば、公開設定を決定するための公開設定情報は、制御装置内ではなく、制御装置と通信可能な記憶装置に格納される。そのため、公開設定情報が制御装置内のメモリに格納される場合に比べて、制御装置のメモリを削減することができる。
本開示の別の一例によれば、制御対象を制御するための制御プログラムを実行する制御装置と外部装置との間のデータの遣り取りを管理するための管理プログラムが提供される。管理プログラムはコンピュータに、制御プログラムの実行に関する1または複数のプロセス値を管理するステップと、1または複数のプロセス値についての公開設定に従って、1または複数のプロセス値の少なくとも一部を含むデータを、制御装置と外部装置との間で遣り取りするステップと、制御プログラムの実行結果および制御装置の動作状態のうちの少なくとも一方の情報に応じて、公開設定を動的に決定するステップとを実行させる。
この開示によれば、外部装置との間で遣り取りされるデータを制御プログラムの実行結果および制御装置の動作状態のうちの少なくとも一方の情報に応じて管理することができる。
本開示の別の一例によれば、制御対象を制御するための制御プログラムを実行する実行手段と、制御プログラムの実行に関する1または複数のプロセス値を管理する管理手段と、1または複数のプロセス値についての公開設定に従って、1または複数のプロセス値の少なくとも一部を含むデータを、外部装置との間で遣り取りする通信手段と、制御プログラムの実行結果および実行手段の動作状態のうちの少なくとも一方の情報に応じて、公開設定を動的に決定する公開管理手段とを含む制御システムが提供される。
この開示によれば、外部装置との間で遣り取りされるデータを制御プログラムの実行結果および実行手段の動作状態のうちの少なくとも一方の情報に応じて管理することができる。
上述の開示において、制御システムは、制御プログラムの実行結果および実行手段の動作状態のうちの少なくとも一方の情報に従って規定される制御状態と公開設定とを対応付けた公開設定情報を格納する記憶手段と、公開設定情報を受け付ける受付手段とをさらに含む。公開管理手段は、制御プログラムの実行結果および実行手段の動作状態のうちの少なくとも一方の情報と公開設定情報とに応じて公開設定を動的に決定する。受付手段は、公開設定を規定するためのユーザインターフェイスを提供する。
この開示によれば、受付手段により公開設定を規定するためのユーザインターフェイスが提供されるため、ユーザは、任意の公開設定を規定することができる。
本開示の一例によれば、外部装置との間で遣り取りされるデータを制御プログラムの実行結果および制御装置の動作状態のうちの少なくとも一方の情報に応じて管理することができる。
実施の形態にかかる制御システム1の適用例を示す模式図である。 制御装置100のハードウェア構成の一例を示す模式図である。 外部装置200のハードウェア構成の一例を示す模式図である。 サポート装置400のハードウェア構成の一例を示す模式図である。 外部装置200からのアクセス要求に対して行う処理を実現するための機能構成の一例を示す図である。 公開設定について説明するための図である。 データセット128のデータ構造の一例を示す模式図である。 公開設定情報126Aを受け付けるユーザインターフェイスの一例を示す図である。 変形例における制御システム1aを示す図である。 変形例における制御装置100bの機能構成の一例を示す図である。
以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。なお、以下で説明される各実施の形態および各変形例は、適宜選択的に組み合わせてもよい。
<A.適用例>
図1を参照して、本発明が適用される場面の一例について説明する。図1は、実施の形態にかかる制御システム1の適用例を示す模式図である。制御システム1は、たとえば、製造現場において利用されるシステムであって、制御対象であるフィールド装置300と、フィールド装置300を制御する制御装置100と、制御装置100との間でデータを遣り取りする外部装置200とを含む。
制御装置100は、制御対象を制御するための制御プログラム122を実行するPLC(Programmable Logic Controller)などの装置である。制御装置100は、制御系ネットワーク2を介して、制御対象であるフィールド装置300と通信可能に接続される。制御系ネットワーク2には、データの到達時間が保証される、定周期通信を行うネットワークを採用することが好ましい。このような定周期通信を行うネットワークとしては、EtherCAT(登録商標)、EtherNet/IP(登録商標)、DeviceNet(登録商標)、CompoNet(登録商標)などが知られている。
制御装置100は、情報系ネットワーク4を介して外部装置200と通信可能に接続される。情報系ネットワーク4は、たとえば、ベンダやOS(Operating System)の種類などに依存することなくデータ交換を実現することができる通信規格に従ったネットワークであることが好ましい。このような通信規格としては、たとえば、OPC-UA(Object Linking and Embedding for Process Control Unified Architecture)などが知られている。なお、情報系ネットワーク4に採用される通信規格は、OPC-UAに限定されるわけではない。たとえば、情報系ネットワーク4は、特定のベンダまたはOS特有の通信規格に従ったネットワークであってもよい。
フィールド装置300は、生産工程を自動化するための種々の産業用機器を含む。フィールド装置300は、サーボモータを制御するサーボドライバ、ロボットを制御するロボットコントローラ、データを収集する装置であるセンサ、または、生産工程で利用されるその他の機器を含む。なお、フィールド装置300は、リモートI/O(Input/Output)装置またはI/Oユニットを介して制御装置100と通信可能に接続されてもよい。図1に示す例では、一例として、制御系ネットワーク2を介して、ロボット301Aを制御するロボットコントローラ300A、サーボモータ301Bを制御するサーボドライバ300B、およびセンサ300Cが制御装置100と通信可能に接続されている。
外部装置200は、制御装置100が実行する制御プログラム122によって得られる各種情報を出力する。具体的には、外部装置200は、制御プログラム122の実行の過程で得られるプロセス値124を参照することで、制御装置100が実行する制御プログラム122によって得られる各種情報を出力する。外部装置200は、典型的には、HMI(Human Machine Interface)、PC(Personal Computer)、スマートフォン、タブレット端末、または、表示機能を有するその他の情報処理装置を含む。一例として、図1に示す例においては、情報系ネットワーク4を介してHMI200AおよびHMI200Bが制御装置100と通信可能に接続されている。なお、外部装置200は、情報の入力を受け付け、入力された情報に従って制御装置100に対して内部コマンドなどを生成する機能を備えていてもよい。
外部装置200の役割は、外部装置200を操作する人の立場、あるいは、外部装置200が操作される状況によって異なることがある。フィールド装置300を制御するために制御装置100が制御プログラム122を実行している間、外部装置200は、一例として、制御プログラム122の実行状況を提示する役割を担う。一方、制御システム1の保守および点検を行っている間、外部装置200は,保守および点検に必要な情報の一例として、制御装置100およびフィールド装置300の状態に関する情報を提示する役割を担う。
このように、外部装置200は、制御装置100およびフィールド装置300の状態などに応じて、求められる役割が異なることがある。すなわち、外部装置200は、制御装置100およびフィールド装置300の状態などに応じて、要求される出力内容が異なることがある。
セキュリティの観点からすると、要求される出力内容に限った範囲で制御装置100から外部装置200に情報が出力されることが好ましい。本実施の形態においては、制御装置100と外部装置200との間で遣り取りされるデータに対する管理機能が提供される。以下、管理機能を実現するための制御装置100の機能構成について説明するとともに、管理機能について説明する。
制御装置100は、管理部112と、通信部114と、公開管理部116とを備える。これらの機能は、制御装置100のプロセッサが、管理機能にかかるプログラムを実行することで実現される。なお、図1には、制御装置100が備える機能のうち、制御装置100と外部装置200との間で遣り取りされる情報を管理する機能を実現するための主要な機能のみを示している。
管理部112は、制御プログラム122の実行に関する1または複数のプロセス値124を管理する。図1に示す例では、管理部112は、第1プロセス値124A,第2プロセス値124B,および第3プロセス値124Cを含む複数のプロセス値124を管理する。
プロセス値124は、フィールド装置300から制御装置100に入力されるデータと、制御装置100からフィールド装置300に出力されるデータと、制御プログラム122の実行途中で得られるデータとを含む概念であって、制御装置100が実行する制御プログラム122によって得られる各種情報を含む。プロセス値124は、制御プログラム122の実行によって、その値が更新される。
管理部112は、たとえば、制御プログラム122が実行されることに従って、プロセス値124を更新する。典型的には、管理部112は、I/O(Input/Output)リフレッシュ処理を定周期で実行することで、プロセス値124を定周期で更新する。
通信部114は、1または複数のプロセス値124の少なくとも一部を含むデータを外部装置200との間で遣り取りする。ここで、外部装置200との間で遣り取りするデータをデータセット128と称する。通信部114は、公開管理部116が決定する公開設定126に従って、外部装置200との間でデータセット128を遣り取りする。
公開管理部116は、制御プログラム122の実行結果および制御装置100の動作状態のうちの少なくとも一方の情報に応じて、公開設定126を動的に決定する。
「公開設定」は、プロセス値124の外部装置200に対して公開するか否かを規定する設定、または、プロセス値124の変更を許可するか否かを規定する設定を含む。また、公開設定に従った外部装置200と制御装置100との間のデータの遣り取りは、外部装置200からのアクセス要求を契機に開始されてもよく、また、外部装置200からのアクセス要求とは異なる契機で開始されてもよい。たとえば、外部装置200と制御装置100との通信が確立したことを条件に「公開設定」に従ったデータの遣り取りが開始されてもよい。図1に示す例では、外部装置200と制御装置100との間のデータの遣り取りは、アクセス要求を契機に開始されている。
また、「動作状態」は、制御装置100の「動作環境」に従って規定された状態と、制御装置100が実行する制御プログラム122の実行状態に従って規定された状態とを含む。「動作環境」は、たとえば、セキュリティ環境を含む。また、制御プログラム122の実行状態は、たとえば、制御プログラム122に対する変更が許可されている状態、制御プログラム122が実行されている状態などを含む。
たとえば、公開管理部116は、制御装置100の動作状態が変更されたことに伴って、公開設定126を動的に決定する。通信部114は、外部装置200からのアクセス要求に対して、制御装置100の動作状態の変更伴い公開管理部116が決定した公開設定126に従って、外部装置200との間でプロセス値124を遣り取りする。
このように、図1に示した制御装置100は、制御プログラム122の実行結果および制御装置100の動作状態のうちの少なくとも一方の情報に応じてプロセス値124の公開設定126を規定できるため、プロセス値124に対するセキュリティレベルを向上させることができる。また、制御プログラム122の実行結果および制御装置100の動作状態のうちの少なくとも一方の情報に応じてプロセス値124の公開設定126が動的に決定されるため、公開設定126を変更する手間が発生せず、また、公開設定126の変更に対するヒューマンエラーの発生を防止することができる。
また、制御装置100は、サポート装置400と通信可能に接続されてもよい。サポート装置400は、制御装置100で実行されるプログラムの作成、デバッグ、各種パラメータの設定などの機能をユーザに提供する。サポート装置400と制御装置100とは、典型的には、USB(Universal Serial Bus)ケーブルを用いて接続される。サポート装置400は、公開設定126を決定するための公開設定情報を受け付ける受付部412をさらに備える。
公開設定情報は、制御プログラム122の実行結果および制御装置100の動作状態のうちの少なくとも一方の情報に従って規定される制御装置100のモードと、公開設定126とを対応付けた情報である。受付部412は、公開設定を規定するためのユーザインターフェイスを提供する。すなわち、サポート装置400が受付部412を備えることにより、ユーザは、任意の公開設定を規定することができる。
<B.ハードウェア構成>
図2~図4を参照して、制御システム1に含まれる装置のハードウェア構成について順に説明する。図2は、制御装置100のハードウェア構成の一例を示す模式図である。図3は、外部装置200のハードウェア構成の一例を示す模式図である。図4は、サポート装置400のハードウェア構成の一例を示す模式図である。
(B1.制御装置100のハードウェア構成)
図2を参照して、制御装置100は、主たるコンポーネントとして、CPU(Central Processing Unit)やGPU(Graphical Processing Unit)などのプロセッサ110と、チップセット104と、ストレージ120と、メインメモリ106と、制御系ネットワークインターフェイス(IF)142と、情報系ネットワークIF144と、USBコントローラ146と、メモリカードIF148と、内部バスコントローラ108とを含む。
プロセッサ110は、ストレージ120に格納された各種プログラムを読み出して、メインメモリ106に展開して実行することで、制御プログラム122の実行、および、上述した管理機能を実現する。すなわち、プロセッサ110は、制御プログラム122を実行する実行手段としての機能を有する。チップセット104は、プロセッサ110と各コンポーネントとの間のデータの遣り取りを仲介することで、制御装置100全体としての処理を実現する。
ストレージ120には、制御プログラム122と、動作状態制御プログラム111Aと、OPC-UAプログラム114Aと、公開管理プログラム116Aと、公開設定情報126Aとが格納される。
制御プログラム122は、典型的には、ユーザがサポート装置400を操作して設計することで生成されるユーザプログラムと、制御装置100の基本的な機能を提供するシステムプログラムとから構成される。ユーザプログラムとシステムプログラムとが協働してユーザにおける制御目的を実現することで、フィールド装置300が制御される。
動作状態制御プログラム111Aは、制御装置100の動作状態を制御するためのプログラムである。典型的には、動作状態制御プログラム111Aは、制御装置100の基本的な機能を提供するシステムプログラムの一種である。
OPC-UAプログラム114Aは、制御装置100をOPC-UAサーバとして機能させるためのプログラムであって、制御装置100と外部装置200との間で、OPC-UAに従った通信を行うためのプログラムである。OPC-UAプログラム114Aは、たとえば、システムプログラムの一種として予め制御装置100にインストールされていてもよい。
公開管理プログラム116Aは、制御システム1の管理機能を提供するためのプログラムである。公開管理プログラム116Aは、システムプログラムの一部として予め制御装置100にインストールされていてもよく、また、ユーザがサポート装置400を操作して設計されたユーザプログラムとしてインストールされてもよい。また、公開管理プログラム116Aは、システムプログラムおよびユーザプログラムの両方で構成されたプログラムであってもよい。
公開設定情報126Aは、公開設定を決定するために参照される情報であって、制御プログラム122の実行結果および制御装置100の動作状態のうちの少なくとも一方の情報に従って規定される制御装置100のモードと、公開設定126とを対応付けた情報である。
制御系ネットワークIF142は、フィールド装置300との間のデータの遣り取りを担当する。
情報系ネットワークIF144は、外部装置200との間のデータの遣り取りを担当する。
USBコントローラ146は、USB接続を介して任意の情報処理装置との間のデータの遣り取りを担当する。具体的には、USBコントローラ146は、サポート装置400との間のデータの遣り取りを担当する。サポート装置400は、少なくとも制御装置100にアクセス可能になっており、制御装置100で実行されるプログラムの作成、デバッグ、各種パラメータの設定などの機能をユーザへ提供する。
メモリカードIF148は、メモリカード148Aを着脱可能に構成されており、メモリカード148Aに対して制御プログラムや各種設定などのデータを書込み、あるいは、メモリカード148Aから制御プログラムや各種設定などのデータを読出すことが可能になっている。
内部バスコントローラ108は、制御装置100に搭載される図示しないI/Oユニットなどとの間でデータを遣り取りするインターフェイスである。内部バスには、メーカ固有の通信プロトコルを用いてもよいし、いずれかの産業用ネットワークプロトコルと同一あるいは準拠した通信プロトコルを用いてもよい。
(B2.外部装置200のハードウェア構成)
図3を参照して、外部装置200は、汎用的なアーキテクチャを有するハードウェア構成を有している。すなわち、外部装置200は、一種のパーソナルコンピュータとして実装される。但し、外部装置200を汎用的なハードウェアではなく、専用ハードウェアを用いて実装してもよい。
より具体的には、外部装置200は、プロセッサ210と、ストレージ220と、メインメモリ202と、通信IF240と、タッチパネル260とを備える。これらのコンポーネントは、プロセッサバス204を介して接続されている。
プロセッサ210は、CPUやGPUなどで構成され、ストレージ220に格納されたプログラムを読み出して、メインメモリ202に展開して実行することで、外部装置200を制御する。メインメモリ202は、DRAMやSRAMなどの揮発性記憶装置などで構成される。
ストレージ220は、たとえば、HDDやSSDなどの不揮発性記憶装置などで構成される。ストレージ220は、たとえば、OPC-UAプログラム222を格納する。OPC-UAプログラム222は、外部装置200をOPC-UAクライアントとして機能させるためのプログラムであって、制御装置100と外部装置200との間で、OPC-UAに従った通信を行うためのプログラムである。ここでいう「OPC-UAクライアント」とは、OPC-UAサーバである制御装置100に通信要求(アクセス要求)を送信するアプリケーションである。
通信IF240は、制御装置100とのデータの遣り取りを担当する。タッチパネル260は、ディスプレイである表示部262と、遊技者の操作を受け付ける入力部264とを備える。なお、表示部262と入力部264とが別体で構成されていてもよい。
(B3.サポート装置400のハードウェア構成)
図4を参照して、サポート装置400は、プロセッサ410と、ストレージ420と、メインメモリ402と、入力部404と、表示部406と、光学ドライブ430と、USBコントローラ460とを含む。これらのコンポーネントは、プロセッサバス408を介して接続されている。
プロセッサ410は、CPUやGPUなどで構成され、ストレージ420に格納されたプログラムを読出して、メインメモリ402に展開して実行することで、制御装置100で実行されるプログラムの作成、デバッグ、各種パラメータの設定などの機能をユーザに提供する。
メインメモリ402は、DRAMやSRAMなどの揮発性記憶装置などで構成される。ストレージ420は、例えば、HDDやSSDなどの不揮発性記憶装置などで構成される。
ストレージ420は、基本的な機能を実現するためのOSに加えて、サポート装置400としての機能を提供するためのサポートプログラムを格納する。
入力部404は、キーボードやマウスなどで構成され、ユーザ操作を受け付ける。表示部406は、ディスプレイなどで構成され、プロセッサ410からの処理結果などを出力する。
USBコントローラ460は、USB接続を介して、制御装置100などとの間のデータを遣り取りする。
サポート装置400は、光学ドライブ430を有しており、コンピュータ読取可能なプログラムを非一過的に格納する記録媒体432(例えば、DVD(Digital Versatile Disc)などの光学記録媒体)から、その中に格納されたプログラムが読取られてストレージ420などにインストールされる。
サポート装置400で実行されるサポートプログラムなどは、コンピュータ読取可能な記録媒体432を介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。また、本実施の形態に係るサポート装置400が提供する機能は、OSが提供するモジュールの一部を利用する形で実現される場合もある。
<C.アクセス要求に対する処理>
本実施の形態においては、制御装置100と外部装置200との間の通信には、OPC-UAのパブリッシュ・サブスクライブ(Publish-Subscribe)型の通信モデルが適用される。以下では、この通信モデルが適用される通信をpub/sub通信ともいう。なお、制御装置100と外部装置200との間の通信方式は、パブリッシュ・サブスクライブ型の通信モデルとは異なる通信モデルが適用されたものであってもよい。
本実施の形態にかかるpub/sub通信において、制御装置100はデータを発行するパブリッシャとして機能する。一方、外部装置200はパブリッシャが発行したデータを受信するサブスクライバとして機能する。なお、制御装置100および外部装置200が各々、パブリッシャとしての機能と、サブスクライバとして機能とを両方備えていてもよい。
本実施の形態において、OPC-UAクライアントである外部装置200は、OPC-UAサーバである制御装置100にアクセス要求を送信することで、制御装置100内で管理されるプロセス値124を取得し、取得したプロセス値124に基づいて、制御装置100やフィールド装置300の状態をグラフィカルに表示する。
外部装置200からのアクセス要求は、Read要求とWrite要求とを含む。アクセス要求がRead要求である場合、制御装置100は、公開管理部116が決定する公開設定に従って、アクセス対象のプロセス値を定期的に外部装置200に送信する。アクセス要求がWrite要求である場合、制御装置100は、公開管理部116が決定する公開設定に従って、書き換えするか否かを判断し、書き換えを許可する場合、アクセス対象のプロセス値を指定された値に書き換える。
図5を参照して、外部装置200からのアクセス要求に対して行う制御装置100の処理について説明する。図5は、外部装置200からのアクセス要求に対して行う処理を実現するための機能構成の一例を示す図である。なお、図5に示す各機能は、制御装置100のプロセッサ110がストレージ120に格納された各種プログラムを実行することで実現される。
制御装置100は、動作状態制御部111と、フィールド装置制御部113と、管理部112と、通信部114と、公開管理部116とを含む。
動作状態制御部111は、制御装置100の動作状態を制御する。制御装置100は、複数の動作状態のうちの少なくとも一の動作状態に制御される。動作状態制御部111は、図2に示す動作状態制御プログラム111Aをプロセッサ110が実行することで実現される機能である。動作状態制御プログラム111Aは、制御装置100に予めインストールされており、制御装置100としての機能を提供するためのシステムプログラムの一種である。制御装置100の動作状態は、典型的には、制御装置100のメーカにより規定される状態である。図5に示す例では、動作状態制御部111は、「デバッグモード」、「ランモード」、および「メンテナンスモード」のうちのいずれかの動作状態に制御する。
「デバッグモード」は、制御装置100の立ち上げ時に制御される状態であって、制御装置100にインストールするプログラムのテストを行うときに制御される動作状態である。デバッグモードに制御されている間、制御プログラム122の書き換えは許可される。
「運転モード」は、制御装置100が制御プログラム122を実行しているときに制御され、制御プログラム122の書き換えが禁止されている動作状態である。運転モードには、たとえば、制御装置100がフィールド装置300を制御して、動かすときに制御される。
「保守モード」は、制御装置100が制御プログラム122を実行しておらず、制御装置100の制御プログラム122の書き換えが可能な動作状態である。保守モードには、たとえば、制御装置100に対して保守または点検を行うときに制御される。
すなわち、本実施の形態における制御装置100の動作状態は、「制御プログラム」を中心に規定された状態である。
動作状態制御部111は、典型的には、外部装置200が生成した内部コマンド、制御装置100に設けられたスイッチに対する操作、またはサポート装置400からの指令など、制御装置100に対して直接または間接的に行われる操作により動作状態を移行させる。なお、これらの動作状態は一例であって、制御装置100が制御する動作状態の種類は、2種類以下であっても、4種類以上であってもよく、また、制御装置100が、図5に示した動作状態を必ずしも備えている必要はない。
フィールド装置制御部113は、フィールド装置300を制御する。フィールド装置制御部113は、図2に示す制御プログラム122をプロセッサ110が実行することで実現される機能である。たとえば、フィールド装置制御部113は、フィールド装置300からの入力値を取得し、取得した入力値に基づいてフィールド装置300を操作するための出力値を演算する。
フィールド装置制御部113は、取得した入力値に基づいて制御装置100を含む制御システム1全体の異常検知を行っても良い。また、フィールド装置制御部113は、演算に利用するパラメータや参照する入力値を変更することで段取り替えを行ってもよい。また、フィールド装置制御部113は、取得した入力値に基づいて、フィールド装置300の動作状態を制御してもよい。
フィールド装置制御部113の実行内容は、ユーザが任意に作成したユーザプログラムによって規定される。すなわち、ユーザはサポート装置400などを利用して、任意にフィールド装置制御部113の実行内容を規定することできる。
管理部112は、図1を参照して説明したように、1または複数のプロセス値124を管理する。管理部112は、制御装置100の基本的な機能を提供するシステムプログラムをプロセッサ110が実行することで実現される機能であって、典型的には、I/Oリフレッシュ処理を実行するための機能である。
プロセス値124は、フィールド装置300から取得可能な入力値と、フィールド装置制御部113の演算結果である出力値と、フィールド装置制御部113が実行する演算の途中で得られるデータとを含む。
管理部112は、プロセス値データベース(DB)1240を管理することで、プロセス値124を管理する。具体的には、管理部112は、I/Oリフレッシュ処理を実行することでプロセス値DB1122内のプロセス値124を定周期で更新する。なお、管理部112がプロセス値124を更新する周期は、プロセス値124の属性によって異なっていても良い。また、管理部112は、プロセス値DB1240内のプロセス値124を外部装置200から送られたデータセット128に含まれるプロセス値124に書き換える処理をしてもよい。
管理部112は、プロセス値DB1240内に格納するプロセス値124を定義する定義情報1242を含む。定義情報1242は、たとえば、段取り替えが行われたり、新たなプログラムがインストールされたり、プログラムの修正がされることで更新される。管理部112は、定義情報1242に従って、プロセス値DB1122内のプロセス値124を更新する。
通信部114は、図1を参照して説明したように、1または複数のプロセス値124の少なくとも一部を含むデータセット128を外部装置200との間で遣り取りする。通信部114は、データセット128の生成および送信を行う。通信部114は、図2に示すOPC-UAプログラム114Aをプロセッサ110が実行することで実現される機能である。通信部114は、解析部1142と、書換判定部1144と、データセット生成部1146と、送信部1148とを備える。
解析部1142は、外部装置200から送られたアクセス要求を解析し、アクセス要求がWrite要求である場合、書換判定部1144にアクセス対象を通知する。解析部1142は、アクセス要求がRead要求である場合、データセット128の送信定義1142Aを生成する。送信定義1142Aは、送信周期に関する情報と、アクセス対象に関する情報とを含む。
書換判定部1144は、公開管理部116が決定する公開設定126に従って、書き換えするか否かを判断し、書き換えを許可する場合、アクセス対象のプロセス値を指定された値に書き換えるように、管理部112に指示する。また、書換判定部1144は、判定結果を送信部1148を介して外部装置200に通知する。
データセット生成部1146は、データセット128を生成する。具体的には、公開管理部116が決定した公開設定126と、送信定義1142Aとに従って、プロセス値DB1240から1または複数のプロセス値124を収集し、データセット128を生成する。データセット生成部1146は、生成したデータセット128をバッファ1280に格納する。データセット128のデータ構造については後述する。なお、データセット生成部1146は、管理部112がI/Oリフレッシュ処理を実行する度にデータセット128を生成するようにしてもよく、また、送信定義1142Aに含まれる送信周期に従ってデータセット128を生成してもよい。
送信部1148は、バッファ1280に格納されたデータセット128を送信定義1142Aに従って外部装置200に送信する。また、送信部1148は、書換判定部1144の判定結果を外部装置200に送信する。
公開管理部116は、図1を参照して説明したように、公開設定126を動的に決定する。公開管理部116は、図2に示す公開管理プログラム116Aをプロセッサ110が実行することで実現される機能である。公開管理部116は、モード管理部1162と公開設定決定部1164とを備える。
モード管理部1162は、制御プログラム122の実行結果および制御装置100の動作状態に関する情報を収集し、収集した情報に基づいて、公開設定126を規定するための複数のモード(制御状態)のうち、いずれかのモードに制御する。より具体的には、モード管理部1162は、動作状態制御部111から制御装置100の動作状態に関する情報を収集し、フィールド装置制御部113から制御プログラム122の実行結果に関する情報を収集する。制御プログラム122の実行結果に関する情報は、たとえば、異常に関する情報、段取り替えに関する情報、およびフィールド装置300の動作状態を示す情報などを含む。
公開設定決定部1164は、モード管理部1162が管理するモードの情報と、モードごとの公開設定126を規定する公開設定情報126Aとに基づいて、公開設定126を決定する。公開設定情報126Aについては後述する。たとえば、モード管理部1162が管理するモードが切り替わった場合に、切り替わった後のモードに対応する公開設定126を公開設定情報126Aに基づいて決定する。
公開設定126は、アクセス要求を許可するか否かに関する情報を含む。具体的には、公開設定126は、Read要求に対して、アクセス対象のプロセス値を公開するか否かを示す情報と、Write要求に対して、アクセス対象のプロセス値の書き換えを許可するか否かを示す情報とを含む。
図5には、プロセッサ110がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。あるいは、制御装置100の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOS(Operating System)を並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
また、図5において、上記各機能を異なるプログラムの実行により実現する例を示した。しかし、1または複数のプロセス値を管理する管理部の処理と、制御装置100と外部装置200との間で公開設定126に従ってプロセス値124を含むデータを遣り取りする処理と、公開設定を動的に決定する処理とを実行するプログラムを一つのプログラムで実現してもよい。すなわち、図5に示した各機能を分割して異なるプログラム間で協働して実現してもよく、また、一つのプログラムで実現してもよい。
<D.公開設定>
図6は、公開設定について説明するための図である。公開設定情報126Aは、モードごとの公開設定を規定する情報である。図6を参照して、公開設定情報126Aは、モードごとに、公開設定を規定する。公開設定は、プロセス値を公開するか否かを示す情報と、プロセス値の書き換え(変更)を許可するか否かを示す情報とを含む。
図6に示す例において、「Read」は、プロセス値124の公開を許可することを示す。「Write」は、外部装置200からの指令に従って、プロセス値124の変更を許可することを示す。「Not Published」は、プロセス値124の公開を許可しないことを示す。「Not Published」が設定されている場合、プロセス値124の変更についても許可されない。なお、以下では、「Read」のことを単に公開、「Not Published」のことを単に非公開ともいう。
たとえば、図6に示す例において、モード管理部1162は、メンテナンスモード中はモードBに制御する。公開設定決定部1164は、モードBに制御されている場合、公開設定Bに決定する。公開設定Bにおいて、第1プロセス値および第2プロセス値の各々は、公開され、その値の変更が許可される。
この場合、アクセス要求がWrite要求であって、アクセス対象が第1プロセス値および第2プロセス値である場合、第1プロセス値に対するWrite要求も、第2プロセス値に対するWrite要求も許可される。
<E.データセットのデータ構造>
データセット生成部1146が生成するデータセット128のデータ構造を説明する。すなわち、外部装置200に送信されるデータの構造について説明する。図7は、データセット128のデータ構造の一例を示す模式図である。
データセット128は、ヘッダ1282と、ペイロード1284とから構成される。データセット生成部1146は、公開されるか否かに関わらず、アクセス対象のプロセス値を全てペイロード1284に格納する。データセット生成部1146は、アクセス対象のプロセス値のうち、非公開に設定されたプロセス値については、予め定められたデータに変換してペイロード1284に格納する。図7に示す例では、「0」に変換されている。
データセット生成部1146は、ペイロード1284に格納されたプロセス値の各々について、そのデータが有効(True)であるか無効(False)を示す情報をヘッダ1282に格納する。
データセット128を受信した外部装置200は、ヘッダ1282を参照することで、ペイロード1284に格納されたプロセス値のうち有効なプロセス値がいずれのデータであるかを特定する。
<F.公開設定情報の受付>
図8は、公開設定情報126Aを受け付けるユーザインターフェイスの一例を示す図である。図1に示したように、サポート装置400は、公開設定情報126Aを受け付ける受付部412を備える。受付部412は、公開設定情報126Aを受け付けるユーザインターフェイス440を提供する。ユーザインターフェイス440は、プロセス値受付領域442と、公開設定受付領域444と、決定タブ446と、キャンセルタブ448とを含む。
ユーザは、プロセス値受付領域442を操作することで設定対象のプロセス値を指定し、公開設定受付領域444を操作することで指定したプロセス値について、制御プログラムの実行結果および制御装置100の動作状態ごとに許容するアクセス要求を設定する。
決定タブ446が選択されると、受付部412は、プロセス値受付領域442および公開設定受付領域444が操作されることで受け付けた情報に従って公開設定情報126Aを生成する。生成された公開設定情報126Aは、サポート装置400から制御装置100に対して出力される。なお、キャンセルタブ448が操作されると、受け付けられた各種情報は破棄され、公開設定情報126Aの受け付けが終了される。
<G.作用・効果>
制御装置100は、制御プログラム122の実行結果および制御装置100の動作状態のうちの少なくとも一方の情報に応じてプロセス値124の公開設定126が規定される。そのため、外部装置との間で遣り取りされるデータを制御プログラム122の実行結果および制御装置100の動作状態のうちの少なくとも一方の情報に応じて管理することができる。また、制御装置100は、制御プログラム122の実行結果または制御装置100の動作状態に応じた公開設定126の変更が動的に行われるため、公開設定126を変更する手間を省くことができ、また、公開設定126の変更に対するヒューマンエラーの発生を防止することができる。
また、公開設定126は、図6に示すように、外部装置200に対してプロセス値を公開するか否かを示す情報を含む。換言すると、公開設定126は、外部装置200が参照可能なプロセス値124の範囲を規定する情報を含む。その結果、制御装置100は、プロセス値124に対するセキュリティレベルを向上させることができる。
また、公開設定126は、図6に示すように、プロセス値124の各々について、外部装置200に対して公開するか否かを規定する情報を含む。そのため、各プロセス値124に対して外部装置200からの参照可否が規定されるため、細かな設定が可能である。
また、公開設定126は、図6に示すように、Write要求に対する許可および禁止を規定する情報を含む。そのため、プロセス値124を制御装置100の外部から変更できるとともに、制御装置100の状態によっては、その変更を禁止することができる。たとえば、プロセス値124は、その値を変更することで、制御プログラムが正常に動作しなくなってしまうものを含む。そのため、制御プログラムの実行中にこのようなプロセス値124の変更が許可されると、制御プログラムが停止するという重大事象が生じてしまう。プロセス値124の変更を禁止することが規定できることで、このような重大事象の発生を未然に防ぐことができる。
また、制御装置100の動作状態は、図6に示すように、デバッグモードやメンテナンスモードのように制御プログラム122を変更できる状態と、ランモードのように制御プログラム122を変更できない状態とを含む。制御プログラム122を変更できる状態であるか、或いは、変更できない状態であるかに応じて、公開設定が動的に決定される。制御プログラム122の変更が許可されている場合、ユーザは、制御プログラム122の変更により生じたプロセス値の変更を確認したい。一方、制御プログラムが変更されないような場合、ユーザは、その制御プログラムの実行状況を確認したい。すなわち、制御プログラム122を変更できる状態であるか、或いは、変更できない状態であるかに応じて、公開設定が動的に決定されることで、ユーザの要求に合わせた公開設定を規定することができる。
また、図7に示すように、非公開のプロセス値をアクセス対象としてアクセス要求がされた場合に、データセット生成部1146は、公開されるか否かに関わらず、アクセス対象のプロセス値を全てペイロード1284に格納し、非公開に設定されたプロセス値については、予め定められたデータに変換してペイロード1284に格納する。そのため、公開が許可されていないプロセス値に対するアクセス要求がされたとしても、外部装置200と制御装置100との間のデータの遣り取りを正常に行うことができる。また、本実施の形態においては、ヘッダ1282に、ペイロード1284に格納されたデータの有効性を規定したデータが格納されるため、外部装置200は、制御装置100から送られたデータセット128だけを参照すれば、アクセス要求に対する制御装置100からの返答を特定することができる。
また、制御装置100と外部装置200との間の情報系ネットワーク4は、OPC-UAに従った通信プロトコルのネットワークである。そのため、制御装置100は、外部装置200のベンダやOSの種類などに依存することなく外部装置200との間でデータを遣り取りできる。
また、制御装置100は、公開設定情報を受け付ける受付部412を備えるサポート装置400と通信可能に接続される。また、受付部412は、図8に示すように公開設定126を規定するためのユーザインターフェイス440を提供する。そのため、ユーザは、任意の公開設定を規定することができる。
<H.変形例>
(H1.公開設定の決定方法)
上記実施の形態においては、制御プログラム122の実行結果および制御装置100の動作状態のうちの少なくとも一方の情報に従ってモードを特定し、公開設定126は、モードに応じて決定されるものとした。なお、公開設定の決定方法は、上記実施の形態にかかる方法に限定されるものではなく、制御プログラム122の実行結果および制御装置100の動作状態のうちの少なくとも一方の情報に従って決定されればよい。たとえば、制御装置100の動作状態ごとに公開設定が規定されていてもよい。
また、制御プログラム122の実行に伴い、フィールド装置300の動作状態が規定される場合、フィールド装置300の動作状態ごとに公開設定が規定されていてもよい。たとえば、包装機向けの規格として知られているPackML(Packaging Machine Language)において規定されるモードやステータスに応じて公開設定を規定してもよい。フィールド装置300の動作状態に応じてプロセス値の公開設定を規定されることで、制御装置100の動作状態はランモードで変わりなくとも、フィールド装置300が停止しているか、あるいは動いているかによって公開設定を変更することができる。その結果、制御装置100が制御する制御対象全体ではなく、個々の状態に応じて公開設定を決定でき、より細かな公開設定を行うことができる。
また、公開設定は、プロセス値ごとに規定されているものとしたが、プロセス値に属性を設定し、共通の属性のプロセス値を一のプロセス値群として、プロセス値群ごとに公開設定を規定してもよい。たとえば、フィールド装置Aの制御にかかるすべてのプロセス値を属性Aのプロセス値とし、フィールド装置Bの制御にかかるすべてのプロセス値を属性Bのプロセス値とし、属性Aのプロセス値および属性Bのプロセス値ごとに公開設定を規定してもよい。
また、上記の実施の形態において、公開設定は、制御プログラムの実行結果および制御装置100の動作状態のうちの少なくとも一方の情報に従って決定されるものとした。なお、公開設定は、制御プログラム122の実行結果または制御装置100の動作状態に関する情報に加えて、公開先の情報に従って決定されてもよい。公開先の情報は、外部装置200を識別するためのIPアドレスやMACアドレスといった識別情報、およびユーザ名やパスワードといったユーザのログイン情報を含む。
たとえば、制御装置は、公開先ごとに公開設定情報を有し、アクセス要求をした公開先に対応する公開設定情報に従って公開設定を決定してもよい。
(H2.公開設定に従ったデータの遣り取りの実現方法)
上記実施の形態において、非公開のプロセス値については、予め定められたデータに変換され、ヘッダ1282に無効なプロセス値を特定する情報が格納されるものとした。なお、公開設定に従ったデータの遣り取りの方法は、上記実施の形態にかかる方法に限定されるものではない。
たとえば、ヘッダ1282内に無効なプロセス値を特定可能な情報を格納することなく、制御装置100の予め定められた記憶領域に格納してもよい。この場合、外部装置200は、データセットを受信する度に、制御装置100に対して、データセット内のプロセス値のうち、有効なプロセス値、或いは無効のプロセス値を特定可能な情報の送信を要求するようにしてもよい。
また、制御装置100と外部装置200との間で、無効を示すデータを予め規定し、非公開のプロセス値は、無効を示すデータに変換されて送信されるようにしてもよい。
また、非公開のプロセス値について制御装置100と外部装置200との間でデータの遣り取りをする場合、制御装置100から外部装置200に向けてエラーを通知するようにしてもよい。このように、エラーを返すことで、外部装置200は、公開が許可されていないことを特定できる。その結果、公開が許可されていないプロセス値が外部装置200のアクセス対象となっている場合でも、外部装置200は当該プロセス値がアクセスできない旨の情報を得られるため、外部装置200と制御装置100との間のデータの遣り取りを正常に行うことができる。
また、制御装置100は、データセットごとに公開、非公開、書き換えの許可を規定し、非公開に設定したデータセットについては、送信すること自体を停止するようにしてもよい。また、制御装置100は、データセットを生成する際に付すヘッダに、当該データセットに対する公開設定を書き込んでもよい。この場合、外部装置200は、ヘッダに書き込まれた公開設定を読み取り、公開が許可されていないデータセットを破棄するようにしてもよい。この場合においても、公開が許可されていないプロセス値についてのデータの遣り取りについても正常に行うことができる。
また、制御装置100は、データセットを生成する際に付すヘッダに、当該データセットに格納されているプロセス値の各々に対する公開設定を書き込んでもよい。この場合、外部装置200は、ヘッダに書き込まれた公開設定を読み取り、当該データセットに格納されているプロセス値のうち、公開が許可されているプロセス値を読み込み、公開が許可されていないプロセス値を破棄するようにしてもよい。
すなわち、公開設定に従ったデータの遣り取りを実現する方法は、上記実施の形態に限定されるものではない。
(H3.通信方式の変形例)
上記実施の形態において、pub/sub通信を前提に説明したが、他の方式の通信方式を適用してもよい。具体的には、本実施の形態において、Read要求がされた場合に定周期でデータセットが送信されるものとした。すなわち、一度アクセス要求がされた後は、外部装置200側からのアクセス要求が無くとも、定周期でデータセットが生成されて送信されるものとした。なお、1回のアクセス要求に対しては、1回の回答をするようなコマンドアンドレスポンド方式の通信方式を適用してもよい。
また、上記実施の形態において、「アクセス要求」がされたことを契機に制御装置100からデータセットが送信されるものとした。なお、制御装置100は、「アクセス要求」を契機としなくとも、予め定められたデータセットを定周期またはイベント的に送信してもよい。この場合、外部装置200は、定周期またはイベント的に送信されたデータセットから、アクセス対象のプロセス値を取得するようにしてもよい。
(H4.ユーザインターフェイスの変形例)
上記実施の形態において、サポート装置400は、一のプロセス値を選択し、選択したプロセス値ごとに公開設定を受け付けるものとした。なお、サポート装置400は、共通の属性のプロセス値を一のプロセス値群として、プロセス値群ごとに公開設定を受け付けるようにしてもよい。
また、全てのプロセス値に対して公開設定を受け付けることができるようにする必要はなく、予め定められたプロセス値については公開設定を受け付けることができないようにし、それ以外のプロセス値については公開設定を受け付けるようにしてもよい。また、予め定められたプロセス値については公開設定を受け付けるようにし、それ以外のプロセス値については公開設定を受け付けることできないようにしてもよい。
(H5.OPC-UA通信の実現方法)
上記実施の形態において、制御装置100と外部装置200との間の通信をOPC-UAに従う通信プロトコルで行うものとし、制御装置100にOPC-UAサーバの機能が、外部装置200にOPC-UAクライアントの機能が、各々インストールされているものとした。なお、制御装置100と外部装置200との間の通信をOPC-UAに従う通信プロトコルで行うための実現方法は、上記実施の形態の方法に限られない。たとえば、制御装置100にインストールされたOPC-UAサーバの機能をプロセス間通信(IPC:InterProcess Communication)にアドオンしてもよい。
また、制御装置100と外部装置200との間に専用のゲートウェイを設けることで実現してもよい。また、制御装置100と内部バスを介して通信可能な通信ユニットを設け、通信ユニットにOPC-UAサーバの機能を持たせることで実現してもよい。
(H6.制御システムの変形例)
図5に示す制御装置100の各機能は、制御装置100と通信可能な他の装置が備えていてもよい。図9は、変形例における制御システム1aを示す図である。制御システム1aは、制御装置100が制御装置100aである点、ブローカー500およびデータベースサーバ600を有する点で上記実施の形態にかかる制御システム1と異なる。
制御装置100aは、通信部114に代えて通信部114aを備える点で制御装置100と異なる。また、制御装置100aは、公開設定情報126Aを有していない点で、制御装置100とことなる。制御システム1aにおいて、公開設定情報126Aは、データベースサーバ600に格納されている。
図9に係る制御システム1aは、図5に示す解析部1142、データセット生成部1146、および送信部1148にかかる機能をブローカー500が備える。ブローカーは、外部装置200からのアクセス要求を解析し、解析結果を制御装置100aに通知する。制御装置100aは、アクセス要求がWrite要求である場合、プロセス値の書き換えの判定を行い、判定結果をブローカー500に通知する。また、制御装置100aは、アクセス要求がRead要求である場合、アクセス対象のプロセス値124と、データベースサーバ600に格納された公開設定情報に従って決定した公開設定とをブローカー500へ送る。ブローカー500は、プロセス値124と公開設定とに従ってデータセット128を生成し外部装置200に送る。
このように、図5に示した制御装置100が備える各機能は、制御装置100と通信可能に接続された他の装置によって代替可能であって、制御装置100が全ての機能を有しなくともよい。
また、図9に示した制御装置100aは、データベースサーバ600と通信可能であり、データベースサーバ600に格納された公開設定情報126Aに従って公開設定126を動的に決定する。すなわち、公開設定126を決定するための公開設定情報126Aは、制御装置100a内のストレージ120ではなく、外部に記憶される。そのため、制御装置100aのメモリを削減することができる。
(H7.外部装置の変形例)
上記実施の形態において外部装置200は、HMIのような表示装置を対象として説明したが、SCADA(Supervisory Control and Data Acquisition)装置またはデータベースサーバのように、データの収集を目的として接続された装置であってもよい。
(H8.動作状態の変形例)
図10は、変形例における制御装置100bの機能構成の一例を示す図である。制御装置100bは、動作状態制御部111が動作状態制御部111aである点、およびセキュリティ管理部115を有する点で上記実施の形態にかかる制御装置100と異なる。
セキュリティ管理部115は、制御装置100に発生する何らかの不正侵入を検知する。ここで、「不正侵入の検知」は、何らかのセキュリティ脅威となり得る現象または異常を検知することを意味する。不正侵入の検知は、通常とは異なる現象または状態の発生を検知することを意味するのみである。すなわち、不正侵入を検知したことを以て、直ちに「インシデントが発生したこと」とはならない。
セキュリティ管理部115は、通信部114、および、フィールド装置制御部113を監視することで、制御装置100に発生する何らかの不正侵入を検知する。たとえば、セキュリティ管理部115は、通信部114を介して情報系ネットワーク4から侵入するコンピュータウィルスの検知、通信部114が受けるDDoS(Distributed Denial of Service)攻撃の検知、制御装置100への不正アクセスの検知などを行う。また、セキュリティ管理部115は、制御系ネットワーク2を介して受ける不正な改ざんなどをフィールド装置制御部113を監視することで検知する。
動作状態制御部111aは、セキュリティ管理部115の検知結果に応じて、インシデントが発生していない状態と、発生しているインシデントの特性に応じた状態とのうちのいずれかに制御する。「インシデント」は、重大な事故(アクシデント)に至っている段階と、その手前の重大な事故に至りかねない段階とを含む。
なお、インシデントが発生しているか否か、および、発生しているインシデントの特性の判断は、動作状態制御部111aおよびセキュリティ管理部115のうちのいずれが実行してもよい。図10に示す例では、動作状態制御部111aが実行するものとして説明する。
図10に示す例では、動作状態制御部111aは、不正侵入の検知結果に基づいて、インシデントが発生していないと判断すると、「正常モード」に制御する。インシデントが発生していないとは、典型的には、不正侵入が検知されていないことを意味する。
動作状態制御部111aは、インシデントが発生している場合であっても、インシデントの特性に応じて、「アクシデントモード」と「要注意モード」とのうちのいずれかの状態に制御する。
「アクシデントモード」は、不正侵入の検知結果に基づいて、重大な事故に至っている、あるいは、至る可能性が高いと判断される場合に制御される状態である。たとえば、「アクシデントモード」は、コンピュータウィルスを検知した場合、DDoS攻撃が継続して行われている期間が予め定められた期間を超えた場合に制御される状態である。
「要注意モード」は、不正侵入の検知結果に基づいて、重大な事故に至りかねないと判断される場合に制御される状態である。たとえば、「要注意モード」は、DDoS攻撃が始まってから予め定められた期間を超えるまで制御される状態である。
すなわち、変形例における制御装置100bの動作状態は、「セキュリティ環境」を中心に規定された状態である。
公開管理部116は、動作状態制御部111aが制御する状態に応じて、公開設定を決定する。たとえば、公開管理部116は、「正常モード」のときに最も公開範囲が広くなるように設定し、「要注意モード」のときに次に公開範囲が広くなるように設定し、「アクシデントモード」のときに公開範囲が最も狭くなるように設定する。
これにより、インシデントの特性に応じて公開設定を行うことができ、その結果、制御装置100bは、セキュリティレベルを向上させることができる。
なお、図10に示す例では、「インシデント特性に応じた状態」は、発生しているインシデントの脅威レベルに応じた状態としたが、インシデントの種類に応じた状態としてもよく、また、インシデントの種類およびインシデントの脅威レベルに応じて規定される状態であってもよい。インシデントの種類は、たとえば、「DDoS攻撃」、「なりすまし」、「改ざん」、「ウィルスの侵入」などを含む。
また、インシデント特性に応じた状態は、ユーザがサポート装置400を操作して設計することで生成されるユーザプログラムによって管理される状態であってもよい。すなわち、不正侵入の検知結果に応じて、ユーザが任意にインシデント特性に応じた状態を規定してもよい。
また、上記実施の形態と同様、インシデント特性に応じた状態毎に、ユーザが任意に公開範囲を規定してもよい。すなわち、不正侵入の検知結果に応じて、ユーザは、任意に公開範囲を規定できるようにしてもよい。
また、セキュリティ管理部115の機能は、制御装置100bが備えていなくともよい。たとえば、セキュリティ管理部115の機能の一部または全部の機能は、制御装置100bと内部バスなどを介して接続可能なユニット(装置)に設けられていてもよい。
また、制御装置は、上記実施の形態の動作状態制御部111と、図10に示した変形例の動作状態制御部111aと、両方を備えていてもよい。すなわち、制御装置は、「制御プログラム」の実行状態に従って規定された動作状態と、図10に示した変形例のように「セキュリティ環境」に従って規定された動作状態とに基づいて公開設定を決定してもよい。
<I.付記>
以上のように、上記の実施の形態よび変形例は以下のような開示を含む。
(構成1)
制御対象を制御するための制御プログラムを実行する制御装置(100,100a,100b)であって、
前記制御プログラムの実行に関する1または複数のプロセス値(124)を管理する管理手段(112)と、
前記1または複数のプロセス値についての公開設定(126)に従って、前記1または複数のプロセス値の少なくとも一部を含むデータ(128)を、外部装置(200)との間で遣り取りする通信手段(114)と、
前記制御プログラムの実行結果および前記制御装置の動作状態のうちの少なくとも一方の情報に応じて、前記公開設定を動的に決定する公開管理手段(116)とを備える、制御装置。
(構成2)
前記公開設定は、前記1または複数のプロセス値のうち、前記外部装置が参照可能なプロセス値の範囲を規定する情報を含む、構成1に記載の制御装置。
(構成3)
前記公開設定は、前記1または複数のプロセス値の各々について、前記外部装置に対して参照可能であるか否かを規定する情報を含む、構成1または2に記載の制御装置。
(構成4)
前記公開設定は、前記外部装置からの指令に従って、対象のプロセス値が変更可能であるか否かを規定する情報を含む、構成1~構成3のいずれか1に記載の制御装置。
(構成5)
前記制御プログラムの実行結果は、前記制御対象の動作状態を含み、
前記公開管理手段は、前記動作状態に応じて、前記公開設定を動的に決定する、構成1~構成4のいずれか1に記載の制御装置。
(構成6)
前記制御装置の動作状態は、前記制御プログラムの変更を許可する状態と、前記制御プログラムの変更を禁止する状態とを含む、構成1~構成5のいずれか1に記載の制御装置。
(構成7)
前記制御装置の動作状態は、前記制御装置に発生する何らかの不正侵入に対する検知結果に応じて変化する状態であって、インシデントが発生していない状態と、発生しているインシデントの特性に応じた状態とを含む、構成1~構成6のいずれか1に記載の制御装置。
(構成8)
前記通信手段は、前記外部装置との間で遣り取りする前記1または複数のプロセス値に公開が許可されていないプロセス値が含まれている場合、公開が許可されていない旨の情報を送信する、構成1~構成7のいずれか1に記載の制御装置。
(構成9)
前記通信手段は、前記外部装置との間で遣り取りする前記1または複数のプロセス値のうち、公開が許可されていないプロセス値については、予め定められたデータに変換して送信する、構成1~構成7のいずれか1に記載の制御装置。
(構成10)
前記通信手段は、OPC-UA(Object Linking and Embedding for Process Control Unified Architecture)に従った通信プロトコルを利用して前記外部装置との間でデータの遣り取りを行う、構成1~構成9のいずれか1に記載の制御装置。
(構成11)
前記制御プログラムの実行結果および前記制御装置の動作状態のうちの少なくとも一方の情報に従って規定される制御状態と前記公開設定とを対応付けた公開設定情報(126A)を格納する記憶装置(600)と通信可能であって、
前記公開管理手段は、前記制御プログラムの実行結果および前記制御装置の動作状態のうちの少なくとも一方の情報と前記公開設定情報とに応じて前記公開設定を動的に決定する、構成1~構成10のいずれか1に記載の制御装置。
(構成12)
制御対象を制御するための制御プログラムを実行する制御装置と外部装置との間のデータの遣り取りを管理するための管理プログラム(114A,116A)であって、
前記管理プログラムはコンピュータに、
前記制御プログラムの実行に関する1または複数のプロセス値を管理するステップと、
前記1または複数のプロセス値についての公開設定に従って、前記1または複数のプロセス値の少なくとも一部を含むデータを、前記制御装置と前記外部装置との間で遣り取りするステップと、
前記制御プログラムの実行結果および前記制御装置の動作状態のうちの少なくとも一方の情報に応じて、前記公開設定を動的に決定するステップとを実行させる、管理プログラム。
(構成13)
制御対象を制御するための制御プログラムを実行する実行手段(110)と、
前記制御プログラムの実行に関する1または複数のプロセス値を管理する管理手段(112)と、
前記1または複数のプロセス値についての公開設定に従って、前記1または複数のプロセス値の少なくとも一部を含むデータを、外部装置との間で遣り取りする通信手段(114,114a、500)と、
前記制御プログラムの実行結果および前記実行手段の動作状態のうちの少なくとも一方の情報に応じて、前記公開設定を動的に決定する公開管理手段(116,600)とを備える、制御システム(1,1a)。
(構成14)
前記制御プログラムの実行結果および前記実行手段の動作状態のうちの少なくとも一方の情報に従って規定される制御状態と前記公開設定とを対応付けた公開設定情報(126A)を格納する記憶手段(120,600)と、
前記公開設定情報を受け付ける受付手段(412)とをさらに備え、
前記公開管理手段は、前記制御プログラムの実行結果および前記実行手段の動作状態のうちの少なくとも一方の情報と前記公開設定情報とに応じて前記公開設定を動的に決定し、
前記受付手段は、前記公開設定を規定するためのユーザインターフェイス(440)を提供する、構成13に記載の制御システム。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。また、実施の形態および各変形例において説明された発明は、可能な限り、単独でも、組合せても、実施することが意図される。
1,1a 制御システム、2 制御系ネットワーク、4 情報系ネットワーク、100,100a,100b 制御装置、104 チップセット、106,202,402 メインメモリ、108 内部バスコントローラ、110,210,410 プロセッサ、111,111a 動作状態制御部、111A 動作状態制御プログラム、112 管理部、113 フィールド装置制御部、114,114a 通信部、114A,222 OPC-UAプログラム、115 セキュリティ管理部、116 公開管理部、116A 公開管理プログラム、120,220,420 ストレージ、122 制御プログラム、124 プロセス値、124A 第1プロセス値、124B 第2プロセス値、124C 第3プロセス値、126 公開設定、126A 公開設定情報、128 データセット、142 制御系ネットワークIF、144 情報系ネットワークIF、146,460 USBコントローラ、148 メモリカードIF、148A メモリカード、200 外部装置、204,408 プロセッサバス、240 通信IF、260 タッチパネル、262,406 表示部、264,404 入力部、300 フィールド装置、300A ロボットコントローラ、300B サーボドライバ、300C センサ、301A ロボット、301B サーボモータ、400 サポート装置、412 受付部、430 光学ドライブ、432 記録媒体、440 ユーザインターフェイス、442 プロセス値受付領域、444 公開設定受付領域、446 決定タブ、448 キャンセルタブ、500 ブローカー、600 データベースサーバ、1142 解析部、1142A 送信定義、1144 書換判定部、1146 データセット生成部、1148 送信部、1162 モード管理部、1164 公開設定決定部、1240 プロセス値DB、1242 定義情報、1280 バッファ、1282 ヘッダ、1284 ペイロード。

Claims (13)

  1. 制御対象を制御するための制御プログラムを実行する制御装置であって、
    前記制御プログラムの実行に関する1または複数のプロセス値を管理する管理手段と、
    前記1または複数のプロセス値についての公開設定に従って、前記1または複数のプロセス値の少なくとも一部を含むデータを、外部装置との間で遣り取りする通信手段と、
    前記制御プログラムの実行結果および前記制御装置の動作状態のうちの少なくとも一方の情報に応じて、前記公開設定を動的に決定する公開管理手段とを備え、
    前記制御装置の動作状態は、前記制御装置に発生する何らかの不正侵入に対する検知結果に応じて変化する状態であって、インシデントが発生していない状態と、発生しているインシデントの特性に応じた状態とを含む、制御装置。
  2. 前記公開設定は、前記1または複数のプロセス値のうち、前記外部装置が参照可能なプロセス値の範囲を規定する情報を含む、請求項1に記載の制御装置。
  3. 前記公開設定は、前記1または複数のプロセス値の各々について、前記外部装置に対して参照可能であるか否かを規定する情報を含む、請求項1または2に記載の制御装置。
  4. 前記公開設定は、前記外部装置からの指令に従って、対象のプロセス値が変更可能であるか否かを規定する情報を含む、請求項1~請求項3のいずれか1項に記載の制御装置。
  5. 前記制御プログラムの実行結果は、前記制御対象の動作状態を含み、
    前記公開管理手段は、前記動作状態に応じて、前記公開設定を動的に決定する、請求項1~請求項4のいずれか1項に記載の制御装置。
  6. 前記制御装置の動作状態は、前記制御プログラムの変更を許可する状態と、前記制御プログラムの変更を禁止する状態とを含む、請求項1~請求項5のいずれか1項に記載の制御装置。
  7. 前記通信手段は、前記外部装置との間で遣り取りする前記1または複数のプロセス値に公開が許可されていないプロセス値が含まれている場合、公開が許可されていない旨の情報を送信する、請求項1~請求項6のいずれか1項に記載の制御装置。
  8. 前記通信手段は、前記外部装置との間で遣り取りする前記1または複数のプロセス値のうち、公開が許可されていないプロセス値については、予め定められたデータに変換して送信する、請求項1~請求項6のいずれか1項に記載の制御装置。
  9. 前記通信手段は、OPC-UA(Object Linking and Embedding for Process Control Unified Architecture)に従った通信プロトコルを利用して前記外部装置との間でデータの遣り取りを行う、請求項1~請求項8のいずれか1項に記載の制御装置。
  10. 前記制御プログラムの実行結果および前記制御装置の動作状態のうちの少なくとも一方の情報に従って規定される制御状態と前記公開設定とを対応付けた公開設定情報を格納する記憶装置と通信可能であって、
    前記公開管理手段は、前記制御プログラムの実行結果および前記制御装置の動作状態のうちの少なくとも一方の情報と前記公開設定情報とに応じて前記公開設定を動的に決定する、請求項1~請求項9のいずれか1項に記載の制御装置。
  11. 制御対象を制御するための制御プログラムを実行する制御装置と外部装置との間のデータの遣り取りを管理するための管理プログラムであって、
    前記管理プログラムはコンピュータに、
    前記制御プログラムの実行に関する1または複数のプロセス値を管理するステップと、
    前記1または複数のプロセス値についての公開設定に従って、前記1または複数のプロセス値の少なくとも一部を含むデータを、前記制御装置と前記外部装置との間で遣り取りするステップと、
    前記制御プログラムの実行結果および前記制御装置の動作状態のうちの少なくとも一方の情報に応じて、前記公開設定を動的に決定するステップとを実行させ、
    前記制御装置の動作状態は、前記制御装置に発生する何らかの不正侵入に対する検知結果に応じて変化する状態であって、インシデントが発生していない状態と、発生しているインシデントの特性に応じた状態とを含む、管理プログラム。
  12. 制御対象を制御するための制御プログラムを実行する実行手段と、
    前記制御プログラムの実行に関する1または複数のプロセス値を管理する管理手段と、
    前記1または複数のプロセス値についての公開設定に従って、前記1または複数のプロセス値の少なくとも一部を含むデータを、外部装置との間で遣り取りする通信手段と、
    前記制御プログラムの実行結果および前記実行手段の動作状態のうちの少なくとも一方の情報に応じて、前記公開設定を動的に決定する公開管理手段とを備え、
    前記実行手段の動作状態は、前記実行手段に発生する何らかの不正侵入に対する検知結果に応じて変化する状態であって、インシデントが発生していない状態と、発生しているインシデントの特性に応じた状態とを含む、制御システム。
  13. 前記制御プログラムの実行結果および前記実行手段の動作状態のうちの少なくとも一方の情報に従って規定される制御状態と前記公開設定とを対応付けた公開設定情報を格納する記憶手段と、
    前記公開設定情報を受け付ける受付手段とをさらに備え、
    前記公開管理手段は、前記制御プログラムの実行結果および前記実行手段の動作状態のうちの少なくとも一方の情報と前記公開設定情報とに応じて前記公開設定を動的に決定し、
    前記受付手段は、前記公開設定を規定するためのユーザインターフェイスを提供する、請求項12に記載の制御システム。
JP2019033812A 2019-02-27 2019-02-27 制御装置、管理プログラムおよび制御システム Active JP7052755B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2019033812A JP7052755B2 (ja) 2019-02-27 2019-02-27 制御装置、管理プログラムおよび制御システム
US17/425,049 US20220100162A1 (en) 2019-02-27 2020-02-04 Control device, recording medium storing management program, and control system
PCT/JP2020/004108 WO2020175031A1 (ja) 2019-02-27 2020-02-04 制御装置、管理プログラムおよび制御システム
EP20763851.1A EP3933522A4 (en) 2019-02-27 2020-02-04 CONTROL DEVICE, MANAGEMENT PROGRAM AND CONTROL SYSTEM
CN202080009943.4A CN113330375A (zh) 2019-02-27 2020-02-04 控制装置、管理程序以及控制系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019033812A JP7052755B2 (ja) 2019-02-27 2019-02-27 制御装置、管理プログラムおよび制御システム

Publications (2)

Publication Number Publication Date
JP2020140312A JP2020140312A (ja) 2020-09-03
JP7052755B2 true JP7052755B2 (ja) 2022-04-12

Family

ID=72239388

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019033812A Active JP7052755B2 (ja) 2019-02-27 2019-02-27 制御装置、管理プログラムおよび制御システム

Country Status (5)

Country Link
US (1) US20220100162A1 (ja)
EP (1) EP3933522A4 (ja)
JP (1) JP7052755B2 (ja)
CN (1) CN113330375A (ja)
WO (1) WO2020175031A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022162327A (ja) * 2021-04-12 2022-10-24 オムロン株式会社 制御装置、制御システム、管理方法およびプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005250993A (ja) 2004-03-05 2005-09-15 Omron Corp 情報監視支援装置および情報処理方法ならびに情報監視システムおよび情報監視方法
JP2013206231A (ja) 2012-03-29 2013-10-07 Hitachi Ltd コントローラおよび計算機
JP2017157219A (ja) 2016-03-04 2017-09-07 シーメンス アクチエンゲゼルシヤフトSiemens Aktiengesellschaft 制御データのコントロールされた提供

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5446903A (en) * 1993-05-04 1995-08-29 International Business Machines Corporation Method and apparatus for controlling access to data elements in a data processing system based on status of an industrial process by mapping user's security categories and industrial process steps
JP2003242123A (ja) * 2002-02-21 2003-08-29 Hitachi Ltd 合議型アクセス制御方法
US7536548B1 (en) * 2002-06-04 2009-05-19 Rockwell Automation Technologies, Inc. System and methodology providing multi-tier-security for network data exchange with industrial control components
US8484250B2 (en) * 2005-09-30 2013-07-09 Rockwell Automation Technologies, Inc. Data federation with industrial control systems
JP5054768B2 (ja) * 2006-06-21 2012-10-24 ヴィーブ−システムズ アクチエンゲゼルシャフト 侵入検出のための方法と装置
US8074278B2 (en) * 2007-09-14 2011-12-06 Fisher-Rosemount Systems, Inc. Apparatus and methods for intrusion protection in safety instrumented process control systems
DE102009026443A1 (de) * 2009-05-25 2010-12-02 Robert Bosch Gmbh Verfahren zum Kontrollieren einer Verstelleinrichtung
US8510463B2 (en) * 2010-04-21 2013-08-13 General Electric Company Systems and methods for facilitating communication with a fieldbus device
EP2559221B1 (de) * 2010-05-25 2015-04-01 Siemens Aktiengesellschaft Verfahren und vorrichtung zum austausch von daten sowie netzwerk
US8868643B2 (en) * 2010-09-09 2014-10-21 Fisher-Rosemount Systems, Inc. Methods and apparatus to collect process control data
JP5724679B2 (ja) 2011-06-29 2015-05-27 株式会社ジェイテクト ブロック実行順表示装置
JP5398808B2 (ja) 2011-11-11 2014-01-29 三菱電機株式会社 表示装置
JP5964077B2 (ja) * 2012-02-27 2016-08-03 三菱重工業株式会社 制御プログラム管理システム、及び制御プログラムの変更方法
JP5886173B2 (ja) * 2012-11-14 2016-03-16 株式会社日立産機システム プログラマブルコントローラ
JP6350302B2 (ja) * 2015-01-22 2018-07-04 オムロン株式会社 プログラマブル表示器
CN105182880A (zh) * 2015-09-28 2015-12-23 史仁朋 一种用于水利的自动化控制系统
JP6426666B2 (ja) * 2016-07-27 2018-11-21 ファナック株式会社 プログラマブルコントローラ
US11036199B2 (en) * 2016-12-14 2021-06-15 Omron Corporation Control device, control program, and control method for anomaly detection
US11231714B2 (en) * 2016-12-22 2022-01-25 Macdonald, Dettwiler And Assoiciates Inc. Unobtrusive driving assistance method and system for a vehicle to avoid hazards
JP6926539B2 (ja) * 2017-03-10 2021-08-25 オムロン株式会社 制御装置およびプログラム
US10563500B2 (en) * 2018-04-06 2020-02-18 Baker Hughes, A Ge Company, Llc Performing an action at a wellbore operation based on anonymized data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005250993A (ja) 2004-03-05 2005-09-15 Omron Corp 情報監視支援装置および情報処理方法ならびに情報監視システムおよび情報監視方法
JP2013206231A (ja) 2012-03-29 2013-10-07 Hitachi Ltd コントローラおよび計算機
JP2017157219A (ja) 2016-03-04 2017-09-07 シーメンス アクチエンゲゼルシヤフトSiemens Aktiengesellschaft 制御データのコントロールされた提供

Also Published As

Publication number Publication date
EP3933522A4 (en) 2022-11-23
CN113330375A (zh) 2021-08-31
JP2020140312A (ja) 2020-09-03
WO2020175031A1 (ja) 2020-09-03
US20220100162A1 (en) 2022-03-31
EP3933522A1 (en) 2022-01-05

Similar Documents

Publication Publication Date Title
JP7087120B2 (ja) プロセス工場の少なくとも一部を制御及び/又は監視する方法、プロセス工場の少なくとも一部を制御及び/又は監視する装置、及び、機械アクセス可能媒体
US11888675B2 (en) Systems, devices, and methods for internet of things integrated automation and control architectures
US8478850B2 (en) Platform component architecture (PCA)-based system, method and application designer
WO2016023268A1 (zh) 集中运维的方法、装置及存储介质
CN106326738A (zh) 计算机安全体系架构及相关的计算方法
CN104011727A (zh) 用于管理工业过程的系统和方法
KR102199054B1 (ko) 직렬 포트 기반 사이버 보안 취약점 점검 장치 및 그 방법
JP6060975B2 (ja) ディスプレイ上でのユーザインターフェイスの生成
EP4161015A1 (en) Network management system, method, and apparatus, and electronic device
JP2019523951A (ja) セキュアな通信を行う方法および産業コンピューティング装置
CN115118705A (zh) 一种基于微服务的工业边缘管控平台
JP7052755B2 (ja) 制御装置、管理プログラムおよび制御システム
CN111316272A (zh) 使用行为和深度分析的先进网络安全威胁减缓
JP7265035B2 (ja) アドレス空間の選択的集約
WO2020166329A1 (ja) 制御システム
US20190205182A1 (en) Unified monitoring interface
JP7180500B2 (ja) 制御システム、および設定方法
CN115344889A (zh) 虚拟机的控制台访问方法、装置、设备及介质
EP3021557B1 (en) Control network system
US20220166636A1 (en) Control device and control system
JP6724950B2 (ja) 装置、方法、プログラムおよび記録媒体
CN112631154A (zh) 在云计算环境中安全地执行自动化程序的装置和方法
US20240142952A1 (en) Control system and method for controlling same
US20220075749A1 (en) Systems and methods for dynamic configuration of external devices
EP4307150A1 (en) Control system and method for controlling same

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

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211117

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220314

R150 Certificate of patent or registration of utility model

Ref document number: 7052755

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150