JP7540233B2 - 制御装置 - Google Patents

制御装置 Download PDF

Info

Publication number
JP7540233B2
JP7540233B2 JP2020133505A JP2020133505A JP7540233B2 JP 7540233 B2 JP7540233 B2 JP 7540233B2 JP 2020133505 A JP2020133505 A JP 2020133505A JP 2020133505 A JP2020133505 A JP 2020133505A JP 7540233 B2 JP7540233 B2 JP 7540233B2
Authority
JP
Japan
Prior art keywords
information
backup
control device
program
time
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
JP2020133505A
Other languages
English (en)
Other versions
JP2022029907A (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 JP2020133505A priority Critical patent/JP7540233B2/ja
Priority to US18/018,430 priority patent/US20230305931A1/en
Priority to PCT/JP2021/028435 priority patent/WO2022030402A1/ja
Priority to EP21854299.1A priority patent/EP4194975A4/en
Priority to CN202180058900.XA priority patent/CN116171411A/zh
Publication of JP2022029907A publication Critical patent/JP2022029907A/ja
Application granted granted Critical
Publication of JP7540233B2 publication Critical patent/JP7540233B2/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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1461Backup scheduling policy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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
    • 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/13197Host and remote version of ladder program, avoid different versions
    • 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/31333Database to backup and restore factory controllers
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Automation & Control Theory (AREA)
  • Computer Security & Cryptography (AREA)
  • Programmable Controllers (AREA)

Description

この開示は、制御装置およびプログラムに関し、特に、情報をバックアップ可能な環境を提供する制御装置およびプログラムに関する。
産業機械に関する情報のバックアップに関して、例えば特許文献1(国際公開第2017/115426号)の産業システムでは、プログラマブルコントローラはネットワークを介してデータ管理装置に接続されている。プログラマブルコントローラのCPUは、制御プログラムを含むプロジェクトデータを要求する信号をデータ管理装置から受信したら、プロジェクトデータを記憶部から読み出して、データ管理装置のデータバックアップ部に送信する(図1と段落0041、0068参照)。
特許文献2(国際公開第2014/174546号)に開示のPLC(プログラマブルロジックコントローラ)システムでは、PLCのCPUは、機器が内部メモリに保有する機器設定情報を変更した旨の通知を受けると、バックアップ対象の機器の内部メモリに保有されている機器設定情報を読出し、PLCの外部記憶媒体に記憶される機器設定情報に上書き保存、すなわちバックアップを行う(段落0019参照)。
国際公開第2017/115426号 国際公開第2014/174546号
特許文献1は、プログラマブルコントローラに記憶されている制御プログラムをバックアップするために、プログラマブルコントローラとは別に設けられたデータ管理装置を必要とする。これに対して、特許文献2では、PLCは、データ管理装置のような別の装置を利用することなく機器の内部メモリに格納されている機器設定情報をバックアップする。しかし、特許文献2のPLCは、外部の機器から機器設定情報を変更した旨の通知を受けることを必要とするから、PLCは通知を受ける仕組みを備える必要がある。
本開示は、簡単な構成で、情報のバックアップを実現可能な制御装置およびプログラムを提供することを1つの目的とする。
本開示において制御装置は、対象を制御する制御装置であって、対象を制御するための情報を格納するための記憶部と、記憶部の情報が変更されたことを検出する変更検出部と、を備え、制御装置は、稼働時において、変更検出部が記憶部の情報が変更されたことを検出すると当該記憶部に格納された情報のバックアップ処理を実施する。
上述の開示によれば、制御装置は、制御装置が備える記憶部の情報が稼働時に変更されると、当該記憶部の情報のバックアップ処理を実施するという簡単な構成で、情報のバックアップを実現できる。
上述の開示において、変更検出部は、記憶部に格納される情報に対するユーザ操作に基づき、当該情報が変更されたことを検出する。
上述の開示によれば、制御装置は、記憶部の情報に対するユーザ操作を検出することで、当該情報の変更を検出できる。
上述の開示において、変更検出部は、記憶部に格納される情報から算出された算出値に基づき、当該情報が変更されたことを検出する。
上述の開示によれば、制御装置は、記憶部の情報から算出される値に基づき、当該情報の変更を検出できる。
上述の開示において、記憶部に格納される情報は、対象を制御するための制御プログラム、制御のための設定データ、および制御に関連する機械学習のデータのうちの少なくとも1つを含む。
上述の開示によれば、制御装置は、記憶部の情報の変更が検出されると、対象を制御するための制御プログラム、制御のための設定データ、および制御に関連する機械学習のデータのうちの少なくとも1つをバックアップできる。
上述の開示において、制御装置は、対象を含むネットワーク構成に通信可能に接続され、記憶部に格納される情報は、ネットワーク構成に接続されている当該制御装置および対象を含む機器の識別子を含むネットワーク構成データを含む。
上述の開示によれば、制御装置は、記憶部の情報の変更が検出されると、ネットワーク構成に接続されている当該制御装置および対象を含む機器の識別子を含むネットワーク構成データをバックアップできる。これにより、例えば、ネットワーク接続された制御装置および対象の機器が変更される、すなわち制御装置および対象の機器の識別子を含むネットワーク構成データが変更される都度、当該ネットワーク構成データをバックアップしておくことができる。
上述の開示において、バックアップ処理は、記憶部の情報を複写し、複写された情報を記憶媒体に格納する処理を含み、記憶媒体は、制御装置にネットワークを介して接続された上位システムが備える記憶媒体を含む。
上述の開示によれば、バックアップされた情報を、上位システムの記憶媒体に格納することができる。
上述の開示において、複数の制御装置は、対象を含むネットワーク構成に通信可能に接続され、各制御装置は、自制御装置の記憶部に格納される情報が変更されたことを検出したとき、バックアップ処理を他の制御装置に実施させるための要求を、ネットワーク構成を介して送信する。
上述の開示によれば、ネットワーク構成に接続される1の制御装置で情報の変更が検出されると、ネットワーク構成に接続される複数の制御装置にバックアップ処理を実施させることができる。
上述の開示において、複数の制御装置は、時刻同期し、各複数の制御装置は、バックアップ処理において、情報を、同期した時刻に基づいた時間を関連付けてバックアップする。
上述の開示によれば、各制御装置がバックアップした情報を、制御装置間で同期した時刻に基づく時間を関連付けて管理できる。
上述の開示において、複数の制御装置は、時刻同期し、稼働時において、複数の制御装置のうち1の制御装置の変更検出部が自装置の記憶部の情報が変更されたことを検出すると、複数の制御装置は、それぞれ、同期した時刻に基づく指定時間に、自装置の記憶部に格納された情報のバックアップ処理を実施する。
上述の開示によれば、記憶部に格納された情報のバックアップ処理を実施する時期として、同期した時刻に基づく指定時間が設定されて、複数の制御装置は当該指定時間にバックアップ処理を一斉に実施することができる。
上述の開示において、上記の1の制御装置は、変更検出部が自装置の記憶部の情報が変更されたことを検出したとき、他の制御装置に、上記の指定時間の通知を送信する。
上述の開示によれば、上記の他の制御装置は、1の制御装置から、上記のバックアップ処理を一斉に実施するための指定時間の通知を取得できる。
上述の開示において、制御装置は、さらに、プロセッサと、予め定められた周期内で、プロセッサに優先度に従い実行させる複数のプログラムを管理するスケジューラと、を備え、スケジューラが管理する複数のプログラムは、周期においてプロセッサで実行される優先度が高いプログラムであって、制御の処理を含む第1処理のための第1のプログラムと、第1のプログラムより実行の優先度が低く、周期においてプロセッサの空き時間において実行される第2処理のための第2のプログラムを含み、第1のプログラムは、対象を制御するための制御プログラムを含み、第2のプログラムは、バックアップ処理を実施するバックアッププログラムを含み、スケジューラは、各周期が有する空き時間のトータルの長さが、バックアップ処理の所要時間に相当する1以上の周期のそれぞれの空き時間において、プロセッサに、バックアッププログラムを実行させる。
上述の開示によれば、スケジューラは、制御プログラムを周期的に実行する制御装置の稼働時において、各周期が有するプロセッサの空き時間のトータルの長さが、バックアップ処理の所要時間に相当する1以上の周期のそれぞれの空き時間において、プロセッサに、バックアッププログラムを実行させる。したがって、稼働時において、予め定められた周期内で、制御プログラムの実行を保障しながら、情報のバックアップを実施可能な環境を提供できる。
上述の開示において、制御装置は、さらに、各周期が有する空き時間のトータルの長さが、バックアップ処理の所要時間に相当する1以上の周期を決定する。
上述の開示によれば、バックアップ処理の所要時間に相当する周期の数を、各周期が有する空き時間のトータルの長さから決定できる。
上述の開示において、制御装置は、さらに、バックアップ処理の所要時間と空き時間とに基づき、バックアッププログラムに、各周期内の空き時間におけるバックアップ対象の情報量を設定する。
上述の開示によれば、バックアッププログラムに設定するべき、各周期内の空き時間においてバックアップするべき情報量を、バックアップ処理の所要時間と空き時間とに基づき設定できる。
上述の開示において、バックアップ処理は、記憶部の情報を複写した複写情報を保持し、その後、記憶部の情報が変更される毎に、複写情報と変更後情報との差分情報を導出し、導出された1以上の差分情報と複写情報を統合する差分バックアップを含む。
上述の開示によれば、記憶部の情報が変更される毎、差分情報を取得しておくことで、変更の都度、バックアップする必要はなくなり、制御装置にかかる負荷の上昇を回避できる。
上述の開示において、差分バックアップは、上述のその後の変更回数が閾値を超えたとき、1以上の差分情報と複写情報を統合する。
上述の開示によれば、差分バックアップを実行するか否かを、それまでの変更回数に基づき決定できる。これにより、取得されていた差分情報を用いて差分バックアップをする場合に、バックアップまたは統合の処理にかかる負荷を抑制可能な範囲で、差分情報を取得しておくことができる。
上述の開示において、差分バックアップは、複写情報の情報量に対する1以上の差分情報の情報量が占める割合が閾値を超えたとき、1以上の差分情報と複写情報を統合する。
上述の開示によれば、差分バックアップを実行するか否かを、それまでの変更で取得された差分情報の情報量が、元の情報である複写情報に占める割合に基づき決定できる。これにより、取得されていた差分情報を用いて差分バックアップをする場合に、バックアップまたは統合の処理にかかる負荷を抑制可能な範囲で、差分情報を取得しておくことができる。
上述の開示において、バックアップされた1以上の情報の識別子を示すUIを表示する手段と、バックアップされた1以上の情報から、リストア対象の情報を指定するユーザ操作を受付ける手段と、をさらに備える。
上述の開示によれば、制御装置は、UIを介し、バックアップされた1つ以上の情報のうちからリストアするべき情報を選択するためのツールを、ユーザに提供できる。
上述の開示において、バックアップされた1以上の情報の識別子に、当該情報がバックアップされた時間を関連付ける。
上述の開示によれば、バックアップされた情報を識別するために、当該情報がバックアップされた時間を用いることができる。
上述の開示において、記憶部は、情報を格納する揮発性の記憶領域を有する。
上述の開示によれば、制御装置の揮発性の記憶領域に格納されている情報をバックアップ対象とすることができる。
この開示では、対象を制御するための制御装置が備えるプロセッサが実行するプログラムが提供される。制御装置は、対象を制御するための情報を格納するための記憶部を備え、プログラムは実行されると、プロセッサに、記憶部の情報が変更されたことを検出させ、制御装置が稼働時において、情報が変更されたことが検出されたことに応じて、記憶部に格納された情報のバックアップ処理を実施させる。
上述の開示によれば、プログラムが実行されることにより、制御装置が備える記憶部の情報が稼働時に変更されると当該記憶部の情報のバックアップ処理を実施するという簡単な構成で、情報のバックアップを実現できる。
本開示によれば、簡単な構成で、情報のバックアップを実現可能な環境を提供できる。
本実施の形態に係る情報のバックアップを実現するPLCを備える制御システムの構成を模式的に示す図である。 本実施の形態に従うネットワークシステムの全体構成の一例を示す模式図である。 本実施の形態に係るPLCのハードウェア構成例を示すブロック図である。 本実施の形態に係るHMIのハードウェア構成を概略的に示す図である。 本実施の形態に係るサポート装置のハードウェア構成を概略的に示す図である。 本実施の形態に係るバックアップを実現する構成を制御周期と関連付けて示す図である。 本実施の形態に係る、バックアップおよびリストアを実現するためのコンポーネントを簡略化して示すブロック図である。 本実施の形態に係るフレームの構成例を示す図である。 バックアップ管理情報の一例を示す図である。 N個の制御周期および単位情報量Mを用いたバックアップのシーンを模式的に示す図である。 本実施の形態に係る変更検知とバックアップ管理情報の更新の処理フローチャートである。 本実施の形態に係る変更検知とバックアップ管理情報の更新の処理フローチャートである。 本実施の形態に係るバックアップ処理のフローチャートである。 バックアップ処理における追加の変更が検出されるケースを模式的に示す図である。 図13のステップS37の処理の一例を示すフローチャートである。 図13のステップS37の処理の他の例を示すフローチャートである。 本実施の形態に係る差分バックアップの処理フローチャートである。 本実施の形態に係る差分バックアップの手順を模式的に示す図である。 本実施の形態に係る機械学習データのバックアップを模式的に示す図である。 本実施の形態に係る機械学習データのバックアップを模式的に示す図である。 本実施の形態に係るリストアを実施する時期を模式的に示す図である。 本実施の形態に係るリストア処理のフローチャートである。 本実施の形態に係る「リストア対象データ」の選択画面の一例を示す図である。 バックアップまたはリストアのために表示されるUIを構成する画面の一例を示す図である。 本実施の形態に係るユーザに対する通知内容の一例を示す図である。 本実施の形態に係るユーザに対する通知内容の一例を示す図である。 本実施の形態に係る利点を説明する図である。 本実施の形態にかかるPLC100の間で時刻同期したバックアップデータが取得されるケースを説明する図である。
以下に、図面を参照しつつ、実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
<A.適用例>
まず、本発明が適用される場面の一例について説明する。図1は、本実施の形態に係る情報のバックアップを実現するPLC(プログラマブルロジックコントローラ)を備える制御システム1の構成を模式的に示す図である。図1では、FA(Factory Automation:ファクトリオートメーション)に適用され得る制御システム1は、ネットワークにPLC100A、100Bおよび100Cおよび制御の対象である複数のフィールド機器90が通信可能に接続されるネットワーク構成を備える。より具体的には、PLC100A、100Bおよび100Cは、コントロールレベルのネットワークであるネットワーク11に接続される。ネットワーク11には、さらに、ネットワーク11に接続される装置および生産ラインを管理するよう構成されるHMI(Human Machine Interface)280が通信可能に接続される。ネットワーク11では装置間でデータを遣り取りできるデータリンクが形成される。PLC100A、100Bおよび100Cは、それぞれ、ネットワーク110を介して、センサ、アクチュエータといった1または複数のフィールド機器90を通信可能に接続する。以下では、PLC100A、100Bおよび100Cに共通する実施例の説明では、PLC100A、100Bおよび100CをPLC100と総称する場合もある。
フィールド機器90は、ネットワーク110を介してPLC100に接続されることに加えて、PLC100に関連した入出力ユニット(図示せず)を介してPLC100に直接接続される場合もある。フィールド機器90の各々は、製造装置または生産ラインなど(以下、「フィールド」とも総称する。)に対して何らかの物理的な作用を与えるアクチュエータ、およびフィールドとの間で情報を遣り取りする入出力装置などを含む。
ネットワーク110を介して、PLC100とフィールド機器90との間で遣り取りされるデータは、数100μsecオーダ~数10msecオーダのごく短い周期で更新されることになる。なお、このような遣り取りされるデータの更新処理は、後述するIOリフレッシュ71によって実現される。
PLC100は、サポート装置500が接続され得る。サポート装置500は、ユーザが制御システム1を運用するのを支援する支援ツールを提供する。支援ツールは、制御プログラムの実行環境またはPLC100との通信環境等の準備の設定ツールを含む。支援ツールは、例えばUI(User Interface)によりユーザに提供される。
HMI280は、SCADA(Supervisory Control And Data Acquisition)機能を提供することにより、SCADAによって処理されたシステムを監視または制御するためのデータをグラフィカル表示するとともに、ユーザ操作を受付ける。制御システム1においては、PLC100、サポート装置500およびHMI280が別体として構成されているが、これらの機能の全部または一部を単一の装置に集約するような構成を採用してもよい。サポート装置500は、ネットワーク11に接続さてもよく、または、PLC100に内蔵されてもよく、または、ポータブル端末として提供されてもよい。
制御システム1のネットワーク11に接続されるPLC100A、100Bおよび100Cは、それぞれ、異なる工程3A、3Bおよび3Cに備えられる。限定されないが、例えば、工程3Aは製品(ワーク)の組立工程を示し、工程3Bは組立てられた製品の塗装工程を示し、工程3Cが塗装された製品の検査工程を示す。
本実施の形態では、「制御装置」の典型例として、PLCを具体例として説明するが、PLCの名称に限定されることなく、本明細書に開示された技術思想は、任意の制御装置に対して適用可能である。
図1では、PLC100が備える記憶部の情報をバックアップするための構成を、PLC100Aを代表して説明するが、他のPLC100BおよびPLC100Cについても同様の構成を適用することができる。PLC100Aは、自装置の主記憶装置106に格納された情報をバックアップするためにバックアップ実行部621と、変更検出部601とを備える。より具体的には、主記憶装置106に格納される情報は、制御対象のフィールド機器90を制御するための情報を含む。変更検出部601は、主記憶装置106に格納される情報が変更されたことを検出する。バックアップ実行部621は、PLC100Aが稼働時において、変更検出部601が主記憶装置106の情報が変更されたことを検出すると、変更の検出をトリガとして、主記憶装置106に格納される当該情報のバックアップ処理を実施する。
本実施の形態において、PLC100の「稼働時」とは、当該PLC100がフィールド機器90を制御するためのプログラムを、後述する制御周期70に従い周期的に実行することにより対象を制御可能な状態にあるときを含む。したがって、PLC100の非稼働時は、PLC100がプログラムを実行しない状態、より特定的には、制御周期70に従う周期的な制御が停止している状態にあるときを含む。
本実施の形態では、バックアップされるべき対象情報を「対象情報」とも称する。主記憶装置106は対象情報206を格納する。対象情報206は、対象(フィールド機器90)を制御するための情報を含む、より具体的には、対象情報206は、例えば、フィールド機器90を制御するための制御プログラム154、制御のための設定データ155、コンフィグデータ156、および制御に関連する機械学習のデータなどを含む。制御プログラム154は、例えばインタプリタのスクリプトを有し得る1以上のUPG(User Program)を含む。より具体的には、主記憶装置106の制御プログラム154のコードは、インタプリタ方式で実行可能なソースコードまたは中間コード、またはネイティブコード等の実行可能なバイナリコードを含み得る。設定データ155は、制御のためのデータであって、例えばフィールド機器90のセンサの閾値などを含む。コンフィグデータ156は、図1に示すネットワーク構成に接続されているPLC100およびフィールド機器90を含む機器それぞれの識別子を含むネットワーク構成データに相当する。より具体的には、PLC100に接続されるフィールド機器90を識別する情報(台数、機種など)、ネットワーク11に接続されるPLC100を識別する情報(台数、機種など)を有する。
機械学習のデータとしては、例えば、機械学習処理を実現するための学習プログラム157およびモデルデータ158を含む。なお、対象情報206は、フィールド機器90を制御するための制御プログラム154、制御のための設定データ155、コンフィグデータ156および制御に関連する機械学習のデータのうちの少なくとも1つを含んで構成されてもよい。
変更検出部601は、主記憶装置106に格納される対象情報206に対するユーザ操作に基づき、対象情報206が変更されたことを検出する、または、対象情報206から算出される算出値に基づき、対象情報206が変更されたことを検出する。
より具体的には、変更検出部601は、対象情報206に対するユーザ操作に基づき、対象情報206の変更を検出する。このような対象情報206を変更するユーザ操作は、例えば、サポート装置500、HMI280またはPLC100Aが受付けたユーザ操作を含み得る。サポート装置500またはHMI280は、対象情報206を変更するユーザ操作を受付けたとき、受付けたユーザ操作内容をPLC100Aに送信する。PLC100Aは、ユーザ操作内容に基づき、主記憶装置106の対象情報206を変更(追加、削除、書換など)する。このようなユーザ操作はオンラインエディト操作を含む。オンラインエディット操作は、PLC100Aを稼働させながら、ユーザが、主記憶装置106の設定データ155の閾値などの設定値を変更(調整)する、フィールド機器90の変更に伴いコンフィグデータ156を変更する、または、UPGの命令コードを変更(追加、削除を含む)するなどの編集の操作を含む。なお、操作対象のデータは、これらに限定されない。また、変更検出部601は、例えば、対象情報206が格納される主記憶装置106の記憶領域E1のバイナリコードから、予め定められた関数を用いて値を定期的に算出し、算出する毎に、算出値と前回算出された値とを比較し、比較の結果に基づき、対象情報206が変更されたか否かを検出してもよい。予め定められた関数によって算出される値は、例えば、ハッシュ値またはチェックサム値を含む。
バックアップ実行部621が実施するバックアップ処理は、主記憶装置106の記憶領域E1の情報を複写して、複写された情報を、記憶領域E1とは異なる予め定められた記憶領域に格納する(書き込む)処理を含む。このように複写された情報の格納先の記憶領域を構成する記憶媒体を「バックアップ先媒体」とも称する。「バックアップ先媒体」は、不揮発性の記憶領域を有する不揮発性記憶媒体を含む。例えば、不揮発性記憶媒体は、例えば、PLC100Aに脱着自在に接続され得るメモリカード116を含む。
バックアップ実行部621は、PLC100Aの停止時ではなく、稼働時においてバックアップ処理を実施する。したがって、PLC100Aは、生産ラインの運転中などPLC100Aの稼働時に、対象情報206の変更が検出されることをトリガとして対象情報206のバックアップを実施できる。
図1では、「バックアップ先媒体」としてメモリカード116を用いたが、「バックアップ先媒体」は対象情報206を保存可能な不揮発性記憶媒体であればよく、メモリカード116に限定されない。本開示では、「バックアップ先媒体」は、不揮発性記憶媒体であればよく、PLC100Aに備えられる媒体に限定されず、例えば、サポート装置500またはHMI280が備える記憶媒体、または後述する上位システム300が備える記憶媒体を含む。上位システム300が、クラウド上のコンピューティング装置を含む場合は、「バックアップ先媒体」は、クラウド環境が提供する記憶媒体を含み得る。
主記憶装置106は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などの主に揮発性記憶装置で構成される。「バックアップ先媒体」は、メモリカード116、ROM(Read Only Memory)、フラッシュメモリ、磁気記憶装置(ハードディスクドライブ、フレキシブルディスク、磁気テープなど)、光ディスク等を含む。
また、本実施の形態では、変更検出部601による検出対象の対象情報206が格納される記憶部は、揮発性記憶媒体の一例である主記憶装置106としたが、当該記憶部は主記憶装置106に限定されない。また、変更検出部601による検出対象の対象情報206が格納される記憶部は、揮発性記憶媒体に限定されず不揮発性記憶媒体を含んで構成されてもよい。
PLC100Aは、メモリカード116にバックアップされた対象情報206を、「バックアップ先媒体」から、元の記憶媒体である例えば主記憶装置106に転送(格納)するためのリストアを実施する。この場合、バックアップされた情報を予め定められた処理を施した後に、元の記憶媒体に格納してもよい。予め定められた処理は、圧縮された情報の伸張(解凍)およびウィルスチェックなどを含む。以下、本実施の形態のより具体的な応用例について説明する。
<B.ハードウェアの構成例>
本実施の形態に従うFAに適用され得る制御システム1を備えるネットワークシステム10の一例を説明する。図2は、本実施の形態に従うネットワークシステム10の全体構成の一例を示す模式図である。
図2では、図1の制御システム1と、その周辺部を含む具体的な構成が示される。図2を参照して、ネットワークシステム10では、ネットワークが複数レベルに接続されており、限定されないが、例えば4つのレベルのネットワーク11、12、13および14が設けられている。
ネットワーク11は、コントロールレベルのネットワークである。ネットワーク11は、図1に示した複数のPLC100A、100Bおよび100CとHMI280に追加して、装置/ライン管理装置190が接続される。装置/ライン管理装置190およびHMI280は、ネットワークに接続される装置および生産ラインを管理する機器に相当する。ネットワーク11は、主として、制御系に係る情報の伝送を主たる機能として提供する。図2では、ネットワーク11に接続されるPLC100は3台としているが、台数は限定されない。
ネットワーク12は、装置およびラインを管理する装置/ライン管理装置190、製造計画等を管理する製造管理装置380および390が接続される。装置/ライン管理装置190、製造管理装置380および390は、ネットワーク12を介して、製造計画等の管理情報の遣り取り、および装置またはラインの情報を遣り取りする。
ネットワーク13は、コンピュータレベルのネットワークとして提供される。ネットワーク13には、製造管理装置380および390、ならびに記憶部450を用いてデータを管理する製造実行システム(EMS:Manufacturing Execution System)400が接続される。製造管理装置380および390、ならびに製造実行システム400は、ネットワーク13を介して、生産管理および情報系のデータを遣り取りする。記憶部450は時系列DB(データベースの略)のデータを格納する領域を含む。
製造実行システム400は、ネットワーク13を介して収集するフィールド機器90からの入力値である観測値を、観測された順番に従う時系列のデータとして時系列DBに格納する。
ネットワーク14は、インターネットなどの外部ネットワークを含む。ネットワーク14には、製造実行システム400とクラウド上の外部装置などが接続される。製造実行システム400は、クラウド上の装置とデータを遣り取りすることにより、時系列DBのデータをクラウドコンピューティング装置に転送する。
図1に示された上位システム300は、装置/ライン管理装置190、製造管理装置380および390、製造実行システム400およびクラウド環境に備えられるコンピューティング装置を含む。
図2のネットワークシステム10において、ネットワーク12およびそれ以下のレベルにあるネットワーク11およびネットワーク110は、「ファクトリーネットワーク」とも称され、機器を現実に制御するためのデータを遣り取りする制御系通信を提供する。一方、ネットワーク13およびそれ以上のレベルにあるネットワーク14は、「コーポレートネットワーク」とも称され、生産ライン/工場での生産活動などを監視・管理・制御するためのデータを遣り取りする情報系通信を提供する。
ファクトリーネットワークに属するネットワーク11および12のプロトコルとしては、汎用的なEthernet(登録商標)上に制御用プロトコルを実装した産業用オープンネットワークであるEtherNet/IP(登録商標)を用いてもよい。また、ネットワーク110のプロトコルとしては、マシンコントロール用ネットワークの一例であるEtherCAT(登録商標)を採用してもよい。なお、ネットワーク11のプロトコル(第1のプロトコル)とネットワーク110のプロトコル(第2のプロトコル)とは、同じであってもよいし、異なっていてもよい。このようなマシンコントロールに適したネットワーク技術を採用することで、機器間の伝送に要する時間が保証されたリアルタイム性を提供できる。
ネットワーク13および14のプロトコルとしては、接続先の多様性を担保するために、汎用的なEthernetなどが用いられる。汎用的なEthernetを採用することで、送信可能なデータ量などの制限を排除できる。
<C.制御システム1における時刻同期>
図2に示すネットワークシステム10において、制御システム1が備えるPLC100は、フィールド機器90において収集または生成されたデータ(入力データ)を収集する処理(入力処理)、フィールド機器90に対する指令などのデータ(出力データ)を生成する処理(制御演算処理)および、生成した出力データを対象のフィールド機器90へ送信する処理(出力処理)などを実行する。このような入力処理および出力処理は、IOリフレッシュ71に相当する。
ネットワーク110では、データの到着時間が保証される必要があるため、各PLC100と、当該PLC100に接続されるフィールド機器90とは互いに時刻同期されたタイマを有している。
また、PLC100A、100Bおよび100Cも、それぞれ、互いに時刻同期されたタイマ101A、101Bおよび101Cを有している。これにより、制御システム1は、互いに異なるPLC100に接続される複数のフィールド機器90の、すなわち異なる工程間における複数のフィールド機器90の同期した時刻に基づく協調制御を実現する。以下では、タイマ101A、101Bおよび101Cに共通した説明では、タイマ101と総称する。
本実施の形態に従う制御システム1において、ネットワーク110に接続される複数のPLC100および1または複数のフィールド機器90の間では、送受信タイミングが同期されている。具体的には、PLC100および1または複数のフィールド機器90の各々は、互いに時刻同期されたタイマを備えることによって、当該タイマに従って、データの送信または受信のタイミングを決定する。
なお、本実施の形態では「タイミング」は何らかの事象が生じる時期、時間または時間よりも短い時間の幅を示すような、例えばある瞬間などの概念を表す。また、「時刻同期」とはお互いが有するタイマ,時間データ等を同期させることを示す。
<D.PLC100の構成>
図3は、本実施の形態に係るPLC100のハードウェア構成例を示すブロック図である。
PLC100は、プロセッサ102と、チップセット104と、主記憶装置106と、二次記憶装置108と、上位ネットワークコントローラ105と、USB(Universal Serial Bus)コントローラ107と、メモリカードインターフェイス114と、フィールドネットワークコントローラ118と、カウンタ126と、RTC(Real Time Clock)128と、操作パネル129を接続する入出力I/F(Interface)127とを含む。操作パネル129は、情報を表示するディスプレイを備えたタッチパネルとして提供される。ユーザは、操作パネル129を介してPLC100に対し指示などの情報を入力することができる。
プロセッサ102は、CPU(Central Processing Unit)、MPU(microprocessor unit)、GPU(Graphics Processing Unit)などで構成され、二次記憶装置108に格納された各種プログラムを読出して、主記憶装置106に展開して実行することで、制御対象に応じた制御、および、後述するような各種処理を実現する。二次記憶装置108は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)などの不揮発性記憶装置で構成される。
チップセット104は、プロセッサ102と各デバイスを制御することで、PLC100全体としての処理を実現する。
二次記憶装置108は、OS(Operating System)151を含む基本的な機能を実現するためのシステムプログラムに加えて、後述するスケジューラ640を実現するためのスケジューラプログラム152、IOリフレッシュ71を実現するためのIOリフレッシュプログラム153、制御対象の製造装置や設備に応じて作成されるUPGおよびMCE(Motion Control Engine)を含む制御プログラム154、設定データ155、コンフィグデータ156、学習プログラム157およびモデルデータ158を格納する。さらに、二次記憶装置108は、後述するような各種プログラムおよびデータを格納する。
上位ネットワークコントローラ105は、上位のネットワーク11を介して、HMI280、製造実行システム400またはクラウド上の装置(図2参照)などとの間でデータを遣り取りする。USBコントローラ107は、USB接続を介してサポート装置500との間のデータの遣り取りを制御する。
メモリカードインターフェイス114は、メモリカード116を着脱可能に構成されており、装着されたメモリカード116に対して対象情報206を含む各種データを書込み、メモリカード116から各種データを読出すことが可能になっている。
カウンタ126は、PLC100における各種処理の実行タイミングを管理するための時刻基準として用いられる。カウンタ126は、典型的には、所定周期毎にカウンタ値をインクリメントまたはデクリメントする。RTC128は、計時機能を有する一種のカウンタであり、現在時刻をプロセッサ102などへ提供する。タイマ101は、カウンタ126とRTC128の一方、または両者の組合せによって構成される。
フィールドネットワークコントローラ118は、ネットワーク110を介したPLC100とフィールド機器90との間のデータの遣り取りを制御する。なお、ネットワーク110上の各フィールド機器90も、PLC100のカウンタ126と時刻同期するためのカウンタ(図示しない)を有している。
制御システム1は、機器間の時刻同期に用いるカウンタ126など各種カウンタを、典型的には、所定周期毎にカウンタ値をインクリメントまたはデクリメントする。カウンタとしては、ハードウェアタイマーである高精度イベントタイマー(HPET:High Precision Event Timer)または専用回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。
図3を参照して、二次記憶装置108は、さらに、バックアップ処理の実施を管理するバックアップ管理プログラム170、リストア処理の実施を管理するリストア管理プログラム180、バックアップ管理情報165およびバックアップ設定情報166を格納する。
バックアップ管理プログラム170は、バックアッププログラム159、変更管理プログラム160、情報管理プログラム161、およびバックアップ通知プログラム162を含む。バックアッププログラム159は、後述する差分バックアップを実施するための差分バックアッププログラム1591を含む。リストア管理プログラム180は、リストアプログラム163、およびリストア処理プログラム164を含む。
コンフィグデータ156は、最新のネットワーク構成情報を示す。より具体的には、プロセッサ102はIOリフレッシュ71によってネットワーク11またはネットワーク110に接続される機器(PLC100、フィールド機器90)から受信するデータから識別子を抽出し、抽出した識別子とコンフィグデータ156が示す識別情報を用いてコンフィグデータ156を管理する。また、プロセッサ102は、コンフィグデータ156に対するユーザ操作を受付け、受付けたユーザ操作に基づきコンフィグデータ156の識別情報などを変更(編集)する。これにより、ネットワーク構成に接続される機器が変更(追加、削除、リプレースなど)される場合、コンフィグデータ156によって、ネットワーク構成の最新の構成情報を示すことができる。コンフィグデータ156の変更の方法は、これらに限定されない。
学習プログラム157は、実行されると、モデルデータ158が示す学習モデルを参照した推論処理を実現する。推論処理としては、限定されないが、例えば、フィールド機器90を含む監視対象の異常検知の推論処理が含まれる。より具体的には、推論処理において、プロセッサ102は、IOリフレッシュ71により収集された入力データから監視対象の状態値に基づく特徴量を算出し、特徴量の学習モデル(推論モデルともいう)からの外れ度合いを評価し、評価結果に従い、異常の有無を検知(推論)する。学習モデルのモデルデータ158は、公知のデータマイニング方法により決定することができる。外れ度合いに基づく推論処理に適用可能な手法としては、k近傍法、LoF(local outlier factor)法、iForest(isolation forest)法などがある。また、他の手法として、DBT(Deep Binary Tree)を用いることもできる。推論処理は、モデルデータ158を、学習の結果またはルールベースに基づき適宜更新し得る。
変更管理プログラム160は、実行されると、対象情報206に変更があったか否かを検出する。情報管理プログラム161は、実行されると、バックアップ管理情報165およびバックアップ設定情報166を管理する。バックアップ通知プログラム162は、実行されると、バックアップに関する各種通知を出力する処理を実施する。リストアプログラム163は、実行されるとリストアを実施する。リストア処理プログラム164は、実行されると、リストアに関連する処理を実施する。
バックアップ管理情報165は、対象情報206のバックアップを管理するための情報を含む。バックアップ設定情報166は、バックアップを実施するために設定された情報を含む。
図3に示されるように、PLC100の稼働時には、二次記憶装置108のプログラムは、主記憶装置106へ読出されて展開されて、プロセッサ102によって実行される。また、PLC100の稼働時には、二次記憶装置108のデータまたは情報は主記憶装置106へ読出される、または、実行されるプログラムによって、適宜、二次記憶装置108から主記憶装置106へ読出される。より具体的には、PLC100の稼働時には、制御プログラム154、設定データ155、コンフィグデータ156、学習プログラム157およびモデルデータ158を含む対象情報206は、二次記憶装置108から読出されて、主記憶装置106の記憶領域E1に格納される。
<E.HMI280の構成>
図4は、本実施の形態に係るHMI280のハードウェア構成を概略的に示す図である。図4を参照して、HMI280は、CPU281、ROM(Read Only Memory)282、RAM(Random Access Memory)283、各種のプログラムおよびデータを不揮発的に格納するためのフラッシュROM284、時計285、ユーザの操作を受付けるための操作キー286、データリーダ/ライタ287、タッチスクリーン288および通信インタフェース289を備える。なお、これらの各部は、内部バスを介して互いに接続される。
タッチスクリーン288は、ディスプレイ481およびオペレータの入力を受付けるためのタッチパネル482を含む。通信インタフェース419は、HMI280とネットワーク11に接続されたPLC100との通信を制御する。データリーダ/ライタ287は、CPU281と外部の記憶媒体であるメモリカード420との間のデータ伝送を仲介する。
<F.サポート装置500の構成>
図5は、本実施の形態に係るサポート装置500のハードウェア構成を概略的に示す図である。図5を参照して、サポート装置500は、CPU510、DRAM(Dynamic Random Access Memory)などの揮発性の記憶装置で構成されるメモリ512、タイマ513、HDDなどの不揮発性に記憶装置で構成されるハードディスク514、入力インタフェース518、表示コントローラ520、通信インタフェース524、データリーダ/ライタ526を含む。これらの各部は、バス528を介して互いにデータ通信が可能なように接続されている。
入力インタフェース518は、CPU510とキーボード523、マウス(図示せず)、タッチパネル(図示せず)などの入力装置との間のデータ伝送を仲介する。表示コントローラ520は、ディスプレイ522と接続され、CPU510における処理の結果などを表示する。通信インタフェース524は、USBを介してPLC100または装置/ライン管理装置190と通信する。データリーダ/ライタ526は、CPU510と外部の記憶媒体であるメモリカード516との間のデータ伝送を仲介する。
なお、図4のメモリカード420および図5のメモリカード516は、揮発性記憶媒体または不揮発性記憶媒体を含み、例えば、CF(Compact Flash)、SD(Secure Digital)などの汎用的な半導体記憶デバイス、またはフレキシブルディスク(Flexible Disk)などの磁気記憶媒体、またはCD-ROM(Compact Disk Read Only Memory)などの光学記憶媒体を含む。
<G.周期制御>
本実施の形態では、予め定められた周期内において、制御プログラム154の実行を保障しながら、対象情報206のバックアップを実施可能な環境が提供される。図6は、本実施の形態に係るバックアップを実現する構成を制御周期70と関連付けて示す図である。このような周期内におけるバックアップ処理は、各PLC100について同様に実施される。
図6を参照して、PLC100は、ネットワーク110を介して1または複数のフィールド機器90と通信するとともに、ネットワーク11を介してHMI280および図示しない他のPLC100と通信する。また、PLC100は、サポート装置500と通信するとともに、ネットワーク11~14を介して上位システム300と通信する。図6では、サポート装置500は、ネットワーク11を介してPLC100に接続されるが、ネットワーク11を介さずにUSBコントローラ107によってPLC100に接続されてもよい。
上位システム300は、PLC100とデータを遣り取りすることにより、制御システム1を管理するよう構成される。上位システム300は、図2に示された、装置/ライン管理装置190、製造管理装置380および390、記憶部450を備える製造実行システム400、およびクラウド上の外部装置の少なくとも1つを含んで構成される。図6では、上位システム300は、製造実行システム400を含んで構成されるとする。
PLC100は、制御周期70などの予め定められた周期内で、PLC100が備えるプロセッサ102に優先度に従い実行させる複数のプログラムを管理するスケジューラ640を実行する。スケジューラ640が管理する複数のプログラムは、主に、第1のプログラムと第2のプログラムとを含む。第1のプログラムは、制御周期70においてプロセッサで実行される優先度が高いプログラムであって、IOリフレッシュ71のプログラムおよびフィールド機器90を制御する第1処理(制御演算処理72等に相当する)のための制御プログラム154、例えばUPG、MCEなどを含み得る。MCEは、フィールド機器90がロボットを含む場合に、ロボットの目標軌跡に従う移動(駆動)させるための指令値を生成(算出)するプログラムである。
第2のプログラムは、第1のプログラムより実行の優先度が低く、制御周期70におけるプロセッサ102の空き時間において実行される第2処理のプログラムを含む。より具体的には、第2処理はバックアップ処理を含み、第2のプログラムはバックアップ管理プログラム170を含む。
スケジューラ640が、制御周期70において、実行の優先度に従い、プロセッサ102が実行するプログラムを切り替えることにより、各制御周期70において、フィールド機器90とデータを遣り取りするIOリフレッシュ71を実施するとともに、フィールド機器90から収集したフィールド値に基づいてUPG154を実行する制御演算処理72を実施する。フィールド機器90から収集されるフィールド値は、制御対象の状態を示す状態値を含み得る。PLC100は、制御プログラム154の命令を実行することにより、フィールド値に基いた制御演算処理72を実施し、制御演算処理72による算出値をIOリフレッシュ71によりフィールド機器90に送信する。この算出値は、フィールド機器90を制御するための制御指令に相当する。制御指令は、制御に関する値であればよく、限定されないが、制御プログラム154間で共有される値(例えば、制御対象の挙動を示す値(状態値)など)または制御対象に与えられる値(例えば、指令値、制御量など)を含む。
スケジューラ640は、制御周期70において、第1のプログラムの実行が完了してIOリフレッシュ71および制御演算処理72が終了すると、当該制御周期70の空き時間73において、プロセッサ102にバックアップ管理プログラム170を実行されることにより、バックアップ管理部620がバックアップ処理を実施する。より具体的には、空き時間73において、変更管理プログラム160が実行されて変更検出部601(図1参照)が実現される。変更検出部601は、主記憶装置106の対象情報206の変更を検出したとき、プロセッサ102はバックアッププログラム159を実行することにより、主記憶装置106の対象情報206のバックアップを実施する。このように、制御周期70の空き時間73において、バックアップ管理部620によって、主記憶装置106に格納される対象情報206のバックアップをすることが可能となる。
バックアップ管理部620は、バックアップを完了するのに必要な制御周期70の数(例えば、N(≧1))と、N個の制御周期70のそれぞれでバックアップ可能な単位情報量Mとを決定する。以下では、バックアップを完了するのに必要な制御周期70の数Nを決定する処理を「バックアップ周期数決定」と称し、決定されたN個の各制御周期70においてバックアップ可能な単位情報量Mを決定する処理を「バックアップ単位量決定」と称する。
より具体的には、バックアップ管理部620は、各制御周期70が有する空き時間73のトータルの長さが、バックアップ処理の所要時間に相当するN個の周期を決定する。例えば、バックアップ管理部620は、対象情報206を全てバックアップするための所要時間を、バックアップすべきトータル情報量、主記憶装置106の読出し速度および「バックアップ先媒体」のメモリカード116の書込速度などに基づき算出し、(所要時間/各制御周期70の空き時間73)に基づき、バックアップの完了に必要な制御周期70の数Nを算出する。また、バックアップ管理部620は、(バックアップすべきトータル情報量/N)に基づき、単位情報量Mを算出し、算出された単位情報量Mを、バックアッププログラム159のパラメータに、例えばバックアッププログラム159の引数に設定する。なお、「バックアップ先媒体」は、メモリカード116ではなく、サポート装置500またはHMI280が備える記憶媒体、または上位システム300が備える記憶部450(図2参照)などの他の記憶媒体ある場合は、バックアップ管理部620は、さらにネットワークの転送速度および他の記憶媒体の書込速度に基づき、必要な制御周期70の数Nおよび単位情報量Mを決定する。
PLC100は、制御周期70内において、制御プログラム154の実行を保障しながら、N個の制御周期70それぞれにおける空き時間73でバックアッププログラム159を実行する。これにより、単位情報量Mのバックアップ処理がN回実行されて、「対象情報」のバックアップを完了することができる。なお、本実施の形態では、各制御周期70の空き時間73は一定であるが、空き時間73は、IOリフレッシュ71または制御演算処理72の所要時間を計測することにより可変に設定されてもよい。
以下に、対象情報206のバックアップの具体例と、「バックアップ先媒体」に格納された対象情報206をリストアするための環境を説明する。図24は、バックアップまたはリストアのために表示されるUIを構成する画面の一例を示す図である。図24の画面は、以下の説明中において適宜参照される。
<H.コンポーネントの構成>
図7は、本実施の形態に係る、バックアップおよびリストアを実現するためのコンポーネントを簡略化して示すブロック図である。図6を参照して、コンポーネントは、バックアップ管理プログラム170を実行することにより、主記憶装置106の対象情報206をバックアップする処理を管理するバックアップ管理部620、リストア管理プログラム180を実行することにより、メモリカード116に格納されたバックアップデータ613を主記憶装置106にリストアするための処理を管理するリストア管理部630、スケジューラプログラム152を実行することにより実現されるスケジューラ640を含む。
バックアップ管理部620は、変更管理プログラム160を実行することにより実現される変更管理部600、バックアッププログラム159が実行されることにより実現されるバックアップ実行部621、バックアップ通知プログラム162が実行されることにより実現されるバックアップ通知部622、および情報管理プログラム161が実行されることにより実現される情報管理部610を含む。バックアップ実行部621は、差分バックアッププログラム1591が実行されることにより実現される差分バックアップ実行部623を含む。リストア管理部630は、リストアプログラム163およびリストア処理プログラム164、それぞれが実行されることにより実現されるリストア実行部631およびリストア通知部632を含む。スケジューラ640は、図6に示した各制御周期70において、IOリフレッシュ71および制御演算処理72が終了後の空き時間73において、バックアップ管理部620の各コンポーネントのプログラムをプロセッサ102に実行させる。
情報管理部610は、バックアップ管理情報165およびバックアップ設定情報166を管理する。バックアップ設定情報166は、「バックアップ先媒体」の指定と、「対象情報」の指定とを含む。これら情報は、例えばユーザ操作により設定される。「バックアップ先媒体」を指定する情報は、例えば、1または複数の「バックアップ先媒体」の識別子であって、当該識別子は記憶媒体のネットワークシステム10におけるアドレスなどを含む。対象情報206を指定する情報は、例えば、バックアップ対象のプログラムまたはデータの識別子を含む。例えば、記憶領域E1ではフォルダ構成でデータが管理される場合は、当該識別子はフォルダの識別子(URL:Uniform Resource Locatorなど)を含んでよい。
変更管理部600は、対象情報206のバックアップをバックアップ実行部621に実施させるために、変更特定情報1650を出力する。より具体的には、変更検出部601は、主記憶装置106の対象情報206に対するユーザ操作の有無、または、対象情報206から算出される算出値に基づき、対象情報206が変更されたことを検出する。変更検出部601は、これら変更を検出したとき、変更特定情報1650を、ユーザ操作内容を用いて生成し出力する。
対象情報206を変更するユーザ操作は、オンラインエディト操作を含み得る。図24には、オンラインエディト操作のためにHMI280のタッチスクリーン288によって提供されるGUI(Graphical User Interface)の一例が示される。ユーザは、例えば、図24(A)のメニュー画面から項目として“設定調整”を選択操作すると、図24(E)または図24(F)が切替表示され、ユーザは図24(E)または図24(F)のボタンを操作することにより、例えば設定データ155を編集(変更)することができる。設定データ155と同様に、ユーザ操作は、制御プログラム154、コンフィグデータ156、学習プログラム157およびモデルデータ158のオンラインエディト操作を含み得る。
変更通知部602は、自装置の変更検出部601が主記憶装置106の対象情報206の変更を検出した場合、予め定められたユーザ操作を受付けたときは、変更通知フレーム90B(図8(B))を生成し、ネットワーク11を介して送信する。変更通知フレーム90Bは、バックアップ処理を他のPLC100に実施させる要求を含む。変更通知フレーム90Bの詳細は後述する。
変更管理部600は、さらに、ネットワーク11を介して、他のPLC100から受信する変更通知フレーム90Bを解析し、解析結果に基づく変更特定情報1650を出力する。
バックアップ実行部621は、変更管理部600から出力される変更特定情報1650を受付ける。バックアップ実行部621は、変更特定情報1650を受付けたとき、主記憶装置106の対象情報206をバックアップする。より具体的には、バックアップ実行部621は、変更特定情報1650が有するバックアップの実行有無1657(図9)が“実行する”を示すとき、バックアップ設定情報166に基づき対象情報206を読出し(複写し)、読出された対象情報206をバックアップ設定情報166により指定された「バックアップ先媒体」に格納する。例えば、「バックアップ先媒体」としてメモリカード116が指定される場合、バックアップ実行部621は、対象情報206を、バックアップデータ613としてメモリカード116に格納する。これにより、対象情報206のバックアップが実施される。
バックアップ通知部622は、バックアップ処理にかかる各種通知をネットワーク11を介して送信するとともに、当該通知を、HMI280、サポート装置500および自装置であるPLC100の操作パネル129が備えるディスプレイを介して、ユーザに出力する。
情報管理部610は、変更管理部600から出力される変更特定情報1650を受付ける。情報管理部610は、受付けた変更特定情報1650に基づく情報を、バックアップ管理情報165として登録する。
リストア実行部631は、リストアを実施し、リストア通知部632は、リストアにかかる各種通知をネットワーク11を介して送信するとともに、当該通知を、HMI280、サポート装置500および自装置であるPLC100の操作パネル129が備えるディスプレイを介してユーザに出力する。
図7には、プロセッサ102がプログラムを実行することで必要なコンポーネントの機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASIC(Application specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。あるいは、PLC100の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOS(Operating System)を並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
(h1.フレームの構成)
図8は、本実施の形態に係るフレームの構成例を示す図である。本実施の形態では、PLC100は、バックアップまたはリストアに関連して、例えば図8のフレームを用いて他のPLC100と通信する。PLC100間の通信は、フレーム形式に限定されず、例えばパケット形式等であってもよい。
図8(A)の通知フレーム90Aを参照して、フレームは、基本的に、ヘッダ91と、各種の通知を示すペイロードを格納する本体92を有する。ヘッダ91には、フレーム90Aのタイプ93、宛先94および送信元95を示す情報が格納される。図8(B)の変更通知フレーム90Bは、本体92に変更特定情報1650を格納する。また、変更通知フレーム90Bのヘッダ91において、タイプ93は“バックアップ要求”を示し、送信元95は送信元のPLC100を識別する情報を示し、宛先94は、ネットワーク11に接続される他の1以上のPLC100を識別する情報を示す。ここでは、変更通知フレーム90Bの宛先94は、ネットワーク11に接続された全てのPLC100を指定する、例えばマルチキャストアドレスが設定される。PLC100の変更管理部600は、ネットワーク11を介して変更通知フレーム90Bを受信したとき、当該変更通知フレーム90Bの本体92から変更特定情報1650を抽出し、出力する。
図8(C)のリストア通知フレーム90Cは、リストアの実行を各PLC100に要求するために、ヘッダ91のタイプ93は“リストア要求”を示し、本体92にリストア命令172と、リストア対象のデータを識別する番号1651、およびリストア実行を予約する予約時間167を含む。
(h2.バックアップ管理情報165)
図9は、バックアップ管理情報165の一例を示す図である。バックアップ管理情報165は複数のレコードが登録されるテーブル形式を有し、各レコードは、当該レコードを識別する番号1651および変更特定情報1650を含む。各レコードの変更特定情報1650は、自PLC100の変更管理部600により生成された変更特定情報1650、または他のPLC100から受信された変更通知フレーム90Bから抽出された変更特定情報1650を含む。情報管理部610は、変更管理部600から変更特定情報1650を受付けると、受付けた変更特定情報1650に基づくレコードを生成し、バックアップ管理情報165のテーブルに登録する。図9を参照して、バックアップ管理情報165のレコードの変更特定情報1650は、変更時間1652、変更対象グループ1653、変更対象1654、操作端末1655、作業者1656、バックアップの実行有無1657、およびバックアップを実行する理由1658を示すデータを含む。
レコードの変更特定情報1650の変更時間1652は、変更特定情報1650を受付けた時間であって、より具体的には、対象情報206の変更が検出された時間またはバックアップ処理を実施した時間を示す。変更対象グループ1653は、バックアップ処理を同期して(同時に)実施するべき1つ以上のPLC100を指定する情報を示す。ここでは、制御システム1の全てのPLC100が指定されている。
変更対象1654は、変更特定情報1650を生成したPLC100を特定する識別子を示す。例えば、PLC100Bが図9のバックアップ管理情報165を有する場合、変更対象1654は基本的にPLC100Bの識別子を示すが、PLC100Bが当該変更特定情報1650を他のPLC100から、変更通知フレーム90Bとして受信した場合は、変更対象1654は他のPLC100の識別子を示す。例えば、図9の番号1651が“3”を示すレコードの変更対象1654は“PLCA”を示すことから、当該レコードの変更特定情報1650は、PLC100BがPLC100Aから変更通知フレーム90Bとして受信した情報であることが示される。
操作端末1655および作業者1656は、それぞれ、変更特定情報1650に対応した「対象情報」を変更するユーザ操作を受付けた端末(HMI280、サポート装置500、PLC)の識別子およびユーザの識別子を示す。
バックアップの実行有無1657は、バックアップ処理の実施をプロセッサ102に指示する命令の有無を示すとともに、バックアップ実行部621にバックアップを実行させるためのバックアップ命令を含む。より具体的には、バックアップの実行有無1657に“実行する”が設定されている場合は、バックアップの実行有無1657はバックアップ命令を含み、バックアップの実行有無1657に“実行しない”が設定されている場合、バックアップの実行有無1657はバックアップ命令を含まない。理由1658は、対象情報206が変更された理由(例えば、生産量の変更、生産品種の変更など)を示す。
例えば、番号1651が“3”のレコードのバックアップの実行有無1657が“実行する”を示す場合、バックアップ実行部621は、バックアップ命令に従い対象情報206をバックアップすると、情報管理部610は、図9に示すように、メモリカード116にバックアップされた対象情報206のバックアップデータ613と、番号1651が“3”を示すレコードとを関連付け(紐づけ)る。
このように、情報管理部610は、自装置のPLC100の変更検出部601によって、対象情報206の変更を検出した場合に変更特定情報1650を生成しバックアップ管理情報165として格納する。また、情報管理部610は、他のPLC100における対象情報206の変更が検出されたことを示す変更通知フレーム90Bから抽出した変更特定情報1650をバックアップ管理情報165として格納する。したがって、情報管理部610は、図9のバックアップ管理情報165によって、自装置のPLC100において対象情報206を変更した履歴と、対象情報206についてバックアップを実施した履歴とを管理することができる。
(h3.バックアップ管理情報165に基づくバックアップ)
バックアップ実行部621は、変更管理部600から変更特定情報1650を受付けると、変更特定情報1650を解析し、解析結果に基づき、バックアップの実行有無1657が“YES”を示すと判断したとき、バックアップ命令に従いバックアップを開始する。より具体的には、バックアップ管理部620は「バックアップ周期決定」および「バックアップ単位量決定」により決定した制御周期70の周期数Nと単位情報量Mをスケジューラ640に出力するとともに、単位情報量Mをバックアッププログラム159に設定する。スケジューラ640は、N個の制御周期70それぞれにおける空き時間73でバックアッププログラム159を実行し、バックアッププログラム159は、実行されると、対象情報206の単位情報量Mをバックアップする。これにより、バックアッププログラム159の実行により実現されるバックアップ実行部621によって、対象情報206は、N個の制御周期70それぞれの空き時間73において、単位情報量Mずつバックアップされ、その結果、N個の制御周期70をかけて対象情報206がバックアップされる。
図10は、N個の制御周期70および単位情報量Mを用いたバックアップのシーンを模式的に示す図である。図10では、対象情報206は、それぞれが単位情報量Mを有した3個の単位情報91A、91Bおよび91Cに分割され、周期数Nとして3個の制御周期70でバックアップされるケースが示される。図10では、3個の制御周期70をかけて、制御周期70を維持しながら対象情報206のバックアップは完了する。このように、対象情報206を複数個の単位情報に分割しながらバックアップすることを、「分割バックアップ」とも称する。
<I.変更検知とバックアップ管理情報の更新>
図11と図12は、本実施の形態に係る変更検知とバックアップ管理情報165の更新の処理フローチャートである。図11は、制御システム1に1台のPLC100が接続されるケースの処理を示し、図12は、制御システム1に複数台のPLC100が接続されるケースの処理を示す。
図11を参照して、PLC100は、変更検出部601によって自装置の対象情報206を監視し、変更検出部601によって対象情報206の変更が検出されると(ステップS1、S2でYES)、PLC100は、変更管理部600によって、ユーザ操作内容から変更特定情報1650を取得し、取得された変更特定情報1650のレコードを、情報管理部610によって、バックアップ管理情報165に登録しバックアップ管理情報165を更新する(ステップS3)。変更検出部601によって、対象情報206の変更が検出されないと(ステップS2でNO)、ステップS1に戻る。
図12を参照して、制御システム1の1台のPLC100は、変更検出部601によって自装置の対象情報206を監視し、変更検出部601によって対象情報206の変更が検出されると(ステップS5、S6でYES)、PLC100は、変更管理部600によって、ユーザ操作内容から変更特定情報1650を取得し、取得された変更特定情報1650のレコードを、情報管理部610によって、バックアップ管理情報165に登録しバックアップ管理情報165を更新する(ステップS7)。
ステップS7において、ユーザ操作内容から取得された変更特定情報1650のバックアップの実行有無1657が“実行する”を示す場合は、PLC100は、バックアップ通知部622によって、変更特定情報1650を含む変更通知フレーム90Bを生成しネットワーク11に送信する(ステップS8)。
また、変更通知に602は、対象情報206の変更が検出されたことを、操作パネル129のディスプレイを介して、またはHMI280,サポート装置500を介してユーザに通知してもよい。
<J.バックアップ処理>
図13は、本実施の形態に係るバックアップ処理のフローチャートである。図14は、バックアップ処理における追加の変更が検出されるケースを模式的に示す図である。図13を参照して、複数台のPLC100を接続するネットワーク構成を備える制御システム1におけるバックアップ処理を説明する。制御システム1のあるPLC100は、変更管理部600によって、“実行する”を示すとともにバックアップ命令を含むバックアップの実行有無1657を有する変更通知フレーム90Bを受信すると(ステップS31)、バックアップ命令に従いバックアップ実行部621によって、対象情報206のバックアップを実施する。なお、PLC100が、対象情報206をバックアップするケースは、他のPLC100からの変更通知フレーム90Bを受信したときに限定されない。例えば、変更検出部601によって、自装置の対象情報206の変更が検出された場合は対象情報206のバックアップが実施されてもよい。
ステップS31において変更通知フレーム90Bを受信し、その後から予め定められた設定時間内において、PLC100は、変更検出部601によって、対象情報206に対する追加変更があるかの判断を繰返す(ステップS32、S33でNO)。PLC100は、変更検出部601によって、設定時間内における対象情報206に対する追加の変更を検出すると、追加変更後の対象情報206についてのバックアップは実施せずに、先に延ばす先送り32aを実施する。
図14を参照して、先送り32aを説明する。より具体的には、ステップS31において対象情報206に対する変更である第1変更120が検出された場合、PLC100は、バックアップ実行部621によって、第1変更120による変更部分を含む対象情報206を表す対象情報120Bのバックアップを実施する。当該バックアップが完了するまでに検出された対象情報206(すなわち、対象情報120B)に対する変更内容を表す第2変更131および第3変更132を有した対象情報206)のバックアップは、図14の「第2変更+第3変更を有した対象情報」133のバックアップとして先送りされる。
PLC100は、変更管理部600によって、設定時間が経過したことを検出すると(ステップS33でYES)、バックアップ実行部621によって、バックアップを実施するタイミングを決定する(ステップS34)。より具体的には、PLC100は、バックアップ管理部620によって、「バックアップ周期決定」および「バックアップ単位量決定」の処理を実施して、バックアップのタイミングである周期数Nおよび単位情報量Mを決定する(ステップS34)。バックアップ管理部620は、図24(B)または図24(D)のGUIを介して受付けたユーザ操作に基づき、“ユーザによる実行許可の設定”がなされるか否かを判断する(ステップS35)。ユーザは、このようなGUIを操作することにより、バックアップ実行の許可を設定する(または、許可の設定を取り消す)ことができる。
PLC100は、ユーザ操作に基づき“ユーザによる実行許可の設定”はなされていないと判断する場合(ステップS35でNO)、バックアップ管理部620は、図24(B)または図24(D)のGUIを介したユーザ操作に基づき、“ユーザによる実行許可の設定”がされたか否かを判断する(ステップS36)。“ユーザによる実行許可の設定”がされたと判断される場合(ステップS35でYES、ステップS36でYES)、ステップS37に移行する。PLC100は、バックアップ管理部620によって、GUIを介して受付けたユーザ操作に基づき、“ユーザによる実行許可の設定”がされないと判断する場合(ステップS36でNO)、バックアップを実施せずに図13の処理を終了する。
ステップS37では、PLC100は、バックアップを実施するとともにバックアップ完了の通知を出力する(ステップS37)。より具体的には、PLC100は、バックアップ実行部621によって、対象情報206について、N個の制御周期70それぞれの空き時間73において、単位情報量Mずつ分割バックアップする。対象情報206のバックアップが完了すると、PLC100は、バックアップ通知部622によって、バックアップ完了通知のフレーム90Aをネットワーク11に送信する。バックアップ完了通知のフレーム90Aの宛先94には、ステップS31で受信した変更通知フレーム90Bの変更特定情報1650が有する変更対象グループ1653が示すPLC100のアドレスが設定される。
PLC100は、制御システム1全体におけるバックアップが完了すると判断されない(ステップS39でNO)間は、制御システム1全体のバックアップ完了を待つ(ステップS38)。より具体的には、PLC100は、自装置の対象情報206のバックアップが完了したとき、バックアップ管理部620によって変更対象グループ1653が示す1以上のPLC100の全てからバックアップ完了通知のフレーム90Aを、受信済みかを判断する。受信済みと判断されたとき、PLC100は、制御システム1全体のバックアップが成功したか否かを判断する(ステップS39でYES)。
例えば、PLC100は、自装置の対象情報206のバックアップが完了してから、予め定められた時間が経過するまでに、バックアップ管理部620によって、変更対象グループ1653が示す1以上のPLC100の全てからバックアップ完了を通知する通知フレーム90Aを受信できたとき、バックアップ処理は成功したと判断し(ステップS40でYES)、図13の処理は終了する。一方、変更対象グループ1653が示す1以上のPLC100の全てからバックアップ完了を通知する通知フレーム90Aを受信できなかったとき、PLC100は、バックアップ処理は成功と判断せず(ステップS40でNO)、PLC100は、制御システム1全体のバックアップ失敗をユーザに通知し(ステップS41)、図13の処理を終了する。
<K.分割バックアップ>
図15は、図13のステップS37の処理の一例を示すフローチャートである。図15を参照して、分割バックアップを「バックアップ先媒体」がメモリカード116とするケースについて説明する。
PLC100は、バックアップ実行部621によって、バックアップを開始するとき、バックアップ通知部622によって、自装置におけるバックアップの開始を通知する通知フレーム90Aを、ネットワーク11を介して他のPLC100に送信する(ステップS51)。PLC100は、バックアップ管理部620によって、対象情報206の情報量を取得する(ステップS52)とともに、バックアップ設定情報166により指定された「バックアップ先媒体」であるメモリカード116の空き容量を取得する。PLC100は、バックアップ管理部620によって、対象情報206情報量とメモリカード116の空き容量とを比較し、比較結果に基づき、バックアップ用のメモリの空き容量が十分であるかを判断する(ステップS53)。PLC100は、バックアップ管理部620によって、対象情報206をバックアップするためのメモリカード116の空き容量は十分でないと判断すると(ステップS53でNO)、PLC100は、バックアップ通知部622によって、メモリ不足によりバックアップ不可の通知をユーザに出力する(ステップS62)。
対象情報206をバックアップするためのバックアップ用のメモリの空き容量は十分であると判断されると(ステップS53でYES)、PLC100は、バックアップ管理部620によって、「バックアップ周期数決定」と「バックアップ単位量決定」を実施する(ステップS54、S55)。これにより、N個の制御周期70および単位情報量Mが決定される。
PLC100は、バックアップ管理部620によって、制御周期70の数であるN個および単位情報量Mを、バックアップ設定情報166が示すバックアップ許容の閾値と比較し、比較結果に基づき、分割バックアップは実施可能か否かを判断する(ステップS56)。PLC100は、比較結果が制御周期70のN個または単位情報量Mが当該閾値を超えることを示すときは、分割バックアップは実施可能と判断し(ステップS56でNO)、バックアップ通知部622によって、稼働時の分割バックアップの実施は不可の通知をユーザに出力する(ステップS63)。
PLC100は、比較結果が制御周期70のN個および単位情報量Mが当該閾値以下であることを示すときは、分割バックアップは実施可能と判断し(ステップS56でYES)、PLC100は、分割バックアップが実行されるように、スケジューラ640によって、N個の制御周期70それぞれにおける空き時間73でバックアッププログラム159を実行する(ステップS57)。これにより、バックアップ実行部621によって分割バックアップが開始する。
PLC100は、分割バックアップの処理の完了を待ちながら(ステップS58)、PLC100は、バックアップ管理部620によって、分割バックアップが予め定められたバックアップ待ち時間内に完了するか否かを判断する(ステップS59でNO、S64でNO)。
バックアップ管理部620によって、分割バックアップが当該バックアップ待ち時間内に完了したことが判断されると(S59でYES)、PLC100は、バックアップ通知部622によって、バックアップ完了を他のPLC100に通知するための通知フレーム90Aを、ネットワーク11を介して送信する(ステップS59a)。PLC100は、バックアップ管理部620によって、他のPLC100全てからバックアップ完了の通知フレーム90Aを受信するか否かに基づき、バックアップが成功したか否かを判断する(ステップS60)。バックアップ管理部620によって、分割バックアップがバックアップ待ち時間内に完了せずタイムアウトと判断されると(ステップS64でYES)、または、他のPLC100全てからバックアップ完了の通知を受信せずバックアップ成功と判断されないときは(ステップS60でNO)、バックアップ通知部622によって、バックアップは失敗した旨の通知をユーザに出力する(ステップS65)。
PLC100は、バックアップ管理部620によって、他のPLC100全てからバックアップ完了の通知フレーム90Aを受信したとき、分割バックアップは成功したと判断し(ステップS60でYES)、PLC100は、バックアップ通知部622によって、バックアップ成功の通知をユーザに出力する(ステップS61)。
(k1.上位システムへの分割バックアップ)
図16は、図13のステップS37の処理の他の例を示すフローチャートである。図16を参照して、バックアップ設定情報166において、PLC100の非ローカルメモリである、例えば上位システム300が提供する記憶媒体が「バックアップ先媒体」として設定されているケースを説明する。より具体的には、バックアップ設定情報166において、例えば、製造実行システム400が備える記憶部450が「バックアップ先媒体」として設定されているケースを説明する。
PLC100は、バックアップ管理部620によって、「バックアップ周期数決定」と「バックアップ単位量決定」を実施する(ステップS101、S102)。より具体的には、バックアップ管理部620は、対象情報206を全てバックアップするための所要時間を、対象情報206のトータル情報量、主記憶装置106の読出し速度、「バックアップ先媒体」である記憶部450の書込速度、およびPLC100と製造実行システム400の間のネットワークの転送速度などに基づき算出し、(算出された所要時間/各制御周期70の空き時間73)に基づき、制御周期70の周期数Nと、周期数Nに基づく単位情報量Mとを算出する。
PLC100は、バックアップ管理部620によって、決定された制御周期70のN個および単位情報量Mを、バックアップ設定情報166が示す上位システムへのバックアップ許容の閾値と比較し、比較結果に基づき、分割バックアップを、実施可能か否かを判断する(ステップS103)。比較結果が、制御周期70のN個または単位情報量Mは閾値を超えることを示すときは、分割バックアップは実施可能と判断されず(ステップS103でNO)、PLC100は、バックアップ通知部622によって、稼働時の上位システムへの分割バックアップの実施は不可の通知をユーザに出力する(ステップS109)。
比較結果が、制御周期70のN個および単位情報量Mは閾値以下であることを示すときは、分割バックアップは実施可能と判断され(ステップS103でYES)、PLC100は、上位システムへの分割バックアップを実行するために、スケジューラ640に、N個の制御周期70それぞれにおける空き時間73でバックアッププログラム159を実行させる(ステップS104)。PLC100は、バックアップ完了を待つ(ステップS105)。PLC100は、バックアップ管理部620によって、分割バックアップが、予め定められたバックアップ待ち時間内に完了するか否かを判断する(ステップS106、S110)。
バックアップ管理部620によって、分割バックアップが当該バックアップ待ち時間内に完了したことが判断されると(S106でYES)、PLC100は、バックアップ通知部622によって、他のPLC100にバックアップ完了を通知する通知フレーム90Aを送信する(ステップS106a)。PLC100は、バックアップ管理部620によって、他のPLC100全てからバックアップ完了の通知フレーム90Aを受信するか否かに基づき、バックアップが成功したか否かを判断する(ステップS107)。バックアップ管理部620によって、分割バックアップがバックアップ待ち時間内に完了しないと判断される(ステップS106でNO、ステップS110でYES)、または、他のPLC100全てからバックアップ完了の通知フレーム90Aが受信されないときは(ステップS107でNO)、PLC100は、バックアップ通知部622によって、バックアップは失敗した旨の通知をユーザに出力する(ステップS111)。
バックアップ管理部620によって、分割バックアップは成功したと判断されたときは(ステップS107でYES)、PLC100はバックアップ通知部622によって、バックアップ成功の通知をユーザに出力する(ステップS108)。
本実施の形態では、「バックアップ先媒体」として、メモリカード116のようなPLC100のローカルメモリと上位システムが備える非ローカルメモリの記憶媒体とを組合せてもよい。このような組合せでは、対象情報206をPLC100のローカルメモリと、非ローカルメモリ(例えば、上位システム300が備える記憶媒体)との両者においてバックアップし格納しておくことができる。
<L.差分バックアップ>
図17は、本実施の形態に係る差分バックアップの処理フローチャートである。図18は、本実施の形態に係る差分バックアップの手順を模式的に示す図である。本実施の形態では、稼働時において、PLC100は、差分バックアップ実行部623によって、対象情報206の差分バックアップを実施する。差分バックアップでは、変更検出部601によって対象情報206の変更が検出される毎に、PLC100は、バックアップ管理部620によって、変更後の対象情報206をベースデータ、すなわち変更前である元の対象情報206と比較し、比較結果に基づき、対象情報206のうち変更された部分情報に相当する“差分”を取得する。
図18を参照して、時間Tにおいて、バックアップ実行部621は、対象情報206の“データ1”を全てバックアップする(ステップT1、T2)。ステップT1、T2では、バックアップ実行部621は、図15の分割バックアップを実施する。分割バックアップでは、“データ1”を圧縮し、“圧縮データ1”を分割バックアップによって、「バックアップ先媒体」のメモリカード116に格納する。この“圧縮データ1”は、差分を検出するためのベースデータとなる。なお、ベースデータは、“データ1”を複写したデータであれば、圧縮されない形式であってもよい。
その後の時間T+1において、変更検出部601が“データ1”の変更を検出すると、バックアップ管理部620によって、オリジナルの“データ1”の変更回数が閾値を超えているか否かを判断する。変更回数は閾値を超えていないと判断すると、バックアップ管理部620は、変更後の“データ1a”とメモリカード116の“圧縮データ1”とを比較し、比較結果に基づく変更内容に相当した“差分1”を取得する。差分バックアップ実行部623は、“差分1”を圧縮した“圧縮差分1”を主記憶装置106の所定記憶領域に格納する(ステップT3)。
バックアップ管理部620は、“圧縮差分1”と“圧縮データ1”とを比較することにより、“圧縮データ1”のデータ量に対する“圧縮差分1”のデータ量が占める割合を算出し、算出された割合、すなわち変更割合を閾値と比較する。バックアップ管理部620は、比較の結果に基づき変更割合は閾値以下であると判断すると、差分バックアップ実行部623に“圧縮差分1”を用いたバックアップを実施させないが、変更割合が閾値を超えると判断すると、“圧縮差分1”に基づきバックアップを実施させる(ステップT4)。
より具体的には、バックアップ管理部620は、“圧縮差分1”に基づきバックアップするための所要時間を、“圧縮差分1”の情報量、主記憶装置106の読出し速度、メモリカード116の書込速度、および“圧縮差分1”をメモリカード116の“圧縮データ1”にマージする処理時間などに基づき算出し、(算出された所要時間/各制御周期70の空き時間73)に基づき、バックアップ処理の完了に必要な制御周期70の数Nを算出するとともに、(“圧縮差分1”の情報量/N)に基づき、単位情報量Mを算出し、差分バックアッププログラム1591に周期数Nと単位情報量Mをパラメータ(引数)として設定する。ここでは、マージとは、“圧縮差分1”と“圧縮データ1”が示すプログラムまたはデータを、予め決められたルールに従って、一つに統合することによって、“データ1a”を表すデータを取得することを含む。
PLC100は、スケジューラ640によって、N個の制御周期70それぞれにおける空き時間73で差分バックアッププログラム1591を実行する。差分バックアッププログラム1591が実行されることで実現される差分バックアップ実行部623により、各空き時間73において、“圧縮差分1”を単位情報量Mずつ転送しながら単位情報量Mの差分のマージ処理が実施される。
その後の時間T+n(n≧2)において、バックアップとマージ処理が実施される(ステップT5、T6)。より具体的には、PLC100は、変更検出部601によって“データ1”の変更を検出されると、バックアップ管理部620によって、オリジナルの“データ1”の変更回数が閾値を超えているか否かを判断する。変更回数が閾値を超えると判断されると、差分バックアップ実行部623によって、バックアップおよびマージ処理が実施される。例えば、閾値が2回を示す場合、3回分の変更で取得されて主記憶装置106の所定記憶領域に格納されていた“差分1”、“差分2”および“差分3”の情報について、バックアップとマージ処理が実施される(ステップT5、T6)。
ステップT5、T6において、より具体的には、PLC100は、バックアップ管理部620によって、制御周期70の数Nと単位情報量Mを算出する。例えば、バックアップ管理部620は、バックアップするための所要時間を算出する。所要時間は、例えば、“差分1”、“差分2”および“差分3”の情報量、主記憶装置106の読出し速度、メモリカード116の書込速度、および“差分1”、“差分2”および“差分3”をメモリカード116の“圧縮データ1”にマージする処理時間などに基づき算出する。そして、バックアップ管理部620は、(算出された所要時間/各制御周期70の空き時間73)に基づき、バックアップ処理の完了に必要な制御周期70の数Nを算出する。また、バックアップ管理部620は、(“差分1”、“差分2”および“差分3”のトータル情報量/N)に基づき、単位情報量Mを算出する。バックアップ管理部620は、算出された周期数Nと単位情報量Mを差分バックアッププログラム1591にパラメータ(引数)として設定する。
スケジューラ640は、N個の制御周期70それぞれにおける空き時間73で差分バックアッププログラム1591を実行し、差分バックアッププログラム1591の実行により実現される差分バックアップ実行部623は、N個の各制御周期70それぞれの空き時間73において、“差分1”、“差分2”および“差分3”を単位情報量Mずつ転送しながらマージ処理を実施する。
なお、“差分1”、“差分2”および“差分3”のトータル情報量が、上限閾値以上である場合は、“差分1”、“差分2”および“差分3”を単位情報量Mずつ転送しながらマージ処理を実施することに代えて、変更後の“データ1b”について、ステップT1およびT2に示した手順で、バックアップしてもよい。この場合は、変更後の“データ1b”は、バックアップされることにより“圧縮データ2”としてメモリカード116に格納することができる。
図17を参照して、差分バックアップを説明する。PLC100は、変更検出部601によって、ベースデータ(「対象情報」)の変更を検出すると、バックアップ管理部620は、検出された変更回数をカウントアップする(ステップS120)。
PLC100は、バックアップ管理部620によって、変更回数を閾値と比較し(ステップS121)、比較の結果に基づき、変更回数は閾値以下であると判断すると(ステップS121でYES)、ベースデータに対する変更割合を算出する(ステップS122)。PLC100は、バックアップ管理部620によって、算出された変更割合を閾値と比較し、比較の結果に基づき、変更割合が閾値以下であると判断すると(ステップS123でYES)、差分バックアップは実施されない。一方、PLC100は、バックアップ管理部620によって、上記の比較の結果に基づき、変更回数は閾値を超えたと判断すると(ステップS121でNO)、または、変更割合が閾値を超えたと判断する(ステップS123でNO)、バックアップのためにステップS124に移行する。
ステップS124では、バックアップ管理部620は、バックアップ設定情報166が「実行許可問い合わせ」を含むか否かを判断し(ステップS124)、「実行許可問い合わせ」を含むと判断すると(ステップS124でYES)、バックアップ通知部622は「実行許可問い合わせ」の通知をHMI280またはサポート装置500を介してユーザに出力し(ステップS125)、バックアップ管理部620は、HMI280またはサポート装置500などを介して受付けたユーザ操作に基づき、バックアップ実行が拒否されたか否かを判断する(ステップS126)。
PLC100は、情報管理部610によって、バックアップ設定情報166が「実行許可問い合わせ」のユーザによる設定を含むか否かを判断する(ステップS124)。バックアップ設定情報166は「実行許可問い合わせ」の設定を含まないと判断されると(ステップS124でNO)、または、PLC100は、受付けたユーザ操作に基づきバックアップ実行は拒否されていないと判断すると(ステップS126でNO)、ステップS127に移行する。
ステップS127では、PLC100は、バックアップ通知部622によって、現在のベースデータを用いて差分バックアップを開始する旨の通知をユーザに出力する(ステップS127)。PLC100は、変更回数のカウントするカウンタをリセットするとともに、差分バックアップ実行部623により、差分バックアップを開始する(ステップS128)。ステップS128では、図18で示した差分バックアップが実施される。
PLC100は、バックアップ管理部620によって、差分バックアップが、予め定められたバックアップ待ち時間内に完了するか否かを判断する(ステップS130でNO、S135でNO)。
バックアップ管理部620によって、差分バックアップが当該バックアップ待ち時間内に完了したことが判断されると(S130でYES)、PLC100は、バックアップ通知部622によって、他のPLC100にバックアップ成功を通知するために、通知フレーム90Aをネットワーク11に送信する(ステップS130a)。PLC100は、バックアップ管理部620によって、他のPLC100全てからバックアップ成功の通知を含む通知フレーム90Aを受信するか否かに基づき、バックアップが成功したか否かを判断する(ステップS131)。バックアップ管理部620によって、差分バックアップがバックアップ待ち時間内に完了しないと判断される(ステップS135でYES)、または、他のPLC100全てからバックアップ成功の通知を含む通知フレーム90Aを受信しないと判断される(ステップS131でNO)場合は、PLC100は、バックアップ通知部622によって、バックアップは失敗した旨の通知をユーザに出力する(ステップS136)。
バックアップ管理部620によって、差分バックアップは成功したと判断されるときは(ステップS131でYES)、PLC100は、上位システムへのバックアップが設定されているか否かを判断する(ステップS132)。より具体的には、PLC100は、情報管理部610によって、バックアップ設定情報166が「バックアップ先媒体」として“上位システム”の記憶媒体のユーザ設定を含むか否かを判断し、PLC100は、その判断結果に基づき、上位システムへのバックアップが設定されているか否かを判断する。
上位システムへのバックアップが設定されていないと判断されると(ステップS132でNO)、PLC100は、差分バックアップの処理を終了するが、上位システムへのバックアップが設定されていると判断されると(ステップS132でYES)、PLC100は、バックアップ実行部621を含むバックアップ管理部620によって、主記憶装置106の対象情報206を、図16で示した処理手順に従い、上位システムの記憶媒体、例えば記憶部450にバックアップする(ステップS133)。上位システムへのバックアップ中は、PLC100は、バックアップ管理部620によって、主記憶装置106の対象情報206の状態を“上書き禁止”に設定するが、上位システムへのバックアップが完了すると、バックアップ管理部620によって、主記憶装置106の対象情報206の状態を“上書き禁止”から、変更可能なように“上書き可能”に戻す(ステップS134)。
<M.機械学習のデータのバックアップ>
対象情報206は、対象の制御に関連した機械学習のデータを含み得る。ユーザは、HMI280のタッチスクリーン288に提示される図24(C)のGUIを操作することにより、稼働時において、PLC100に対して、機械学習のデータのバックアップを許可することができる。
図19および図20は、本実施の形態に係る機械学習のデータのバックアップを模式的に示す図である。例えばモデルデータ158が更新されるケースを説明する。図19を参照して、本実施の形態では、学習プログラム157を実行することにより実現されるモデルデータ158を用いた推論処理およびモデルデータ158の更新処理は、IOリフレッシュ71および制御演算処理72の制御周期70とは独立した周期または異なる周期で実施され得る。推論処理の結果は、例えばMCEの制御演算処理72に用いられて、モデルデータ158は、例えばUPGの制御演算処理72によって更新される。モデルデータ158が更新されると、変更検出部601は、主記憶装置106に格納される情報が変更されたことを検出する(処理75)。バックアップ実行部621は、変更の検出をトリガとして、主記憶装置106に格納されるモデルデータ158を含む対象情報206のバックアップを実行する(処理76)。
図20を参照して、モデルデータ158が更新される毎にバックアップを実施するケースを、より具体的に説明する。図20を参照して、モデルデータ158は、異なる特性を有したモデルデータとして、たとえばモデルデータを更新可能な可変モデル15aとモデルデータが更新不可である固定モデル15bを含む。可変モデル15aを更新する方法としては、例えば機械学習の追加学習などによって自律的に変更するケース、外部の装置からモデルデータをPLC100にダウンロードすることにより変更するケース、および図19に示すようにUPGの制御演算処理72によって変更するケースなどを含む。
図20では、モデルデータ158について、時間t1で1回目の更新、その後の時間t2において2回目の更新、その後の時間t3において3回目の更新が、それぞれ異なる方法で実施される。時間t1,t2およびt3でモデルデータ158が更新される毎に、変更検出部601は対象情報206の変更を検出し、バックアップ実行部621は対象情報206のバックアップを実施する。これにより、モデルデータ158が更新される毎に、更新方法によらず、モデルデータ158をバックアップにより保存しておくことができる。なお、機械学習のデータのうち更新され得るデータは、学習プログラム157であってもよく、またモデルデータ158と学習プログラム157の両方であってもよい。
機械学習データのバックアップには、バックアップ実行部621による分割バックアップまたは差分バックアップ実行部623による差分バックアップのいずれかの方法を用いることができる。
「バックアップ先媒体」は、バックアップ設定情報166により予め指定されるとしているが、「バックアップ先媒体」は、変更されてもよい。例えば、PLC100は、バックアップ管理部620によって、バックアップ設定情報166が指定する「バックアップ先媒体」に空き容量がなくなりバックアップできないと判断した場合は、PLC100は、バックアップ通知部622によって、バックアップできない旨の通知をユーザに出力するとともに、「バックアップ先媒体」の古いバックアップデータ613を削除することを含むアドバイスをユーザに出力してもよい。
<N.リストア>
PLC100は、「バックアップ先媒体」としての例えばメモリカード116に保存(格納)されたバックアップデータ613(図9参照)を、メモリカード116から読出し主記憶装置106に格納することによって、主記憶装置106において対象情報206を復元する、いわゆるリストアを実施することができる。
図21は、本実施の形態に係るリストアを実施する時期を模式的に示す図である。バックアップは、PLC100が稼働時に実施されたのに対して、リストアはPLC100の非稼働時の時間191に実施される。時間191は、リストア通知フレーム90Cの予約時間167により予約することができる。
非稼働時は、例えば、ネットワーク110に接続されるフィールド機器90を交換するために制御システム1を停止する時、製品の不良・不具合が多発し制御システム1を停止する時、制御システム1が備えられる生産ラインの変更時、他工場で同じ生産ラインを再現する時、および生産する製品の変更または製品の生産量を変更するために生産ラインを停止する時等を含む。
(n1.リストア処理)
本実施の形態では、リストアの対象となるバックアップデータ613を、「リストア対象データ」とも称する。ユーザは、HMI280またはサポート装置500によって表示されるバックアップ管理情報165から、「リストア対象データ」を選択する。
図22は、本実施の形態に係るリストア処理のフローチャートである。図22を参照して、PLC100は、リストア管理部630によって、「リストア対象データ」を選択するための選択画面を、HMI280またはサポート装置500を介して表示する(ステップS71)。
図23は、本実施の形態に係る「リストア対象データ」の選択画面の一例を示す図である。ステップS71では、図23の選択画面を含むGUIが表示される。選択画面では、バックアップ管理情報165のレコードの一覧が表示される。ユーザは、選択画面におけるレコードの識別子である番号1651の一覧のうち、「リストア対象データ」に対応するレコードの番号を、図中矢印のポインタ等で指定操作する。PLC100は、リストア管理部630によって、ユーザの指定操作を受付けて、指定された番号1651に紐づけされたメモリカード116のバックアップデータ613を、「リストア対象データ」と決定する(ステップS72)。図23のGUIでは、バックアップされた1以上の情報の番号1651に、当該情報がバックアップされた時間を表す変更時間1652が関連付けされるので、ユーザは関連付けされた変更時間1652または理由1658等を選択の基準とすることができる。なお、図23の選択画面を含むGUIは、PLC100の操作パネル129に出力されてもよい。この場合、PLC100は、バックアップされた1以上の対象情報206(バックアップデータ613)の識別子である番号1651を示すUIを表示する手段として操作パネル129と、バックアップされた1以上の対象情報206から、リストア対象の情報を指定するユーザ操作を、操作パネル129を介して受付ける手段として入出力I/F127の回路を備える。
図23のGUIは、例えばHMI280よって、タッチスクリーン288のディスプレイ481に表示される。図23のGUIは、バックアップされた1以上の情報(バックアップデータ613)について、当該情報を識別する番号1651、変更時間1652、理由1658等を含む。PLC100は、リストア管理部630によって、バックアップされた1以上の情報のうちから、リストア対象の情報を指定するユーザ操作を、タッチスクリーン288のタッチパネル48等を介して受付ける。
PLC100は、リストア時のネットワーク構成がバックアップ時のネットワーク構成と同じであるかを判断する(ステップS74)。より具体的には、PLC100は、リストア管理部630によって、ユーザが指定した番号に基づき、「バックアップ先媒体」であるメモリカード116を検索し、ユーザ指定の番号に一致した番号1651に対応したバックアップデータ613を読出す。PLC100は、リストア管理部630によって、当該バックアップデータ613が有するコンフィグデータ156が示す構成を、現在のコンフィグデータ156(例えば、二次記憶装置108のコンフィグデータ156)が示す構成と比較し、比較の結果に基づき、両構成は一致するか否かを判断する(ステップS74)。両構成は一致しないと判断されると(ステップS74でNO)、PLC100は、リストア通知部632によって、当該判断結果に基づくエラー情報と対処方法をアドバイスする通知を、HMI280またはサポート装置500を介してユーザに出力し(ステップS80e)、処理を終了する。
両構成は一致すると判断されると(ステップS74でYES)、リストア通知部632は、他のPLC100にリストアの実施を要求するためのリストア通知フレーム90Cを生成してネットワーク11に送信する(ステップS75)。他のPLC100は、リストア実行部631によって、受信したリストア通知フレーム90Cの本体92内の識別子の番号1651と予約時間167に基づき、「リストア対象データ」を特定するとともに、リストアを実施する時間191を予約する。これにより、制御システム1の時刻同期したPLC100全てにおいて、同じ時間に変更が検出されてバックアップされたバックアップデータ613について、同じ時間191を予約して、予約時間においてリストアを実施することができる。
PLC100は、リストア管理部630によって、PLC100の動作モードに基づきPLC100は制御システムとして稼働時であるか否かを判断する(ステップS76)。稼働時でないと判断されると(ステップS76でNO)、ステップS79に移行する。稼働時と判断されると(ステップS76でYES)、PLC100の制御システム1としての動作が停止するか否かを、PLC100の動作モードに基づき判断する(ステップS77)。PLC100または制御システム1は、ユーザ操作に基づき動作モードを稼働→停止に切り替えることができる。
制御システム1は停止していないと判断されると(ステップS77でNO)、PLC100は、リストア通知部632によって、当該判断に基づくエラー情報と対処方法をアドバイスする通知をHMI280またはサポート装置500を介してユーザに出力する(ステップS80e)。
PLC100は、リストア管理部630によって、ユーザ操作に基づき動作モードを停止に切り替えると(ステップS78)、リストア実行部631により、リストアを開始する(ステップS79)。より具体的には、リストア実行部631は、ステップS72においてユーザが指定したバックアップデータ613を「リストア対象データ」として、主記憶装置106へリストアを開始するとともに、リストア通知部632は他のPLC100にリストア開始を通知するためのリストア通知フレーム90Cを送信する(ステップS79)。PLC100は、リストア管理部630によって、自装置であるPLC100のリストアが予め定められた待ち時間内に完了したと判断すると、リストア通知部632によって、他のPLC100にリストア完了の通知を送信する。
PLC100は、リストア管理部630によって、上記の予め定められた待ち時間内に、自装置のリストアが完了し、かつ他のPLC100全てからリストア完了の通知を含むフレーム90Aを受信したか否かに基づき、制御システム1全体のリストアが完了したか否かを判断する(ステップS80、S80a)。
制御システム1の全体のリストアが完了したことが判断されると(S80aでYES)、PLC100は、リストア通知部632によって、リストア成功の通知をHMI280またはサポート装置500を介してユーザに出力する(ステップS80b)。制御システム1の全体のリストアが完了しないことが判断されると(S80aでNO、S80cでYES)、PLC100は、バックアップ通知部622によって、バックアップ失敗の通知をHMI280またはサポート装置500を介してユーザに出力する(ステップS80d)。
図22の処理では、「リストア対象データ」(バックアップデータ613)は、PLC100のローカルの記憶媒体(メモリカード116)に格納されるケースを説明したが、同じバックアップデータ613がローカルの記憶媒体と上位システムの記憶部450の両方に格納されている場合は、基本的にローカルの記憶媒体のバックアップデータ613を「リストア対象データ」に設定する。ローカルの記憶媒体にバックアップデータ613が格納されず上位システムの記憶部450のみにバックアップデータ613が格納される場合は、上位システムの記憶部450のバックアップデータ613が「リストア対象データ」に設定される。
図25と図26は、本実施の形態に係るユーザに対する通知内容の一例を示す図である。図25はバックアップにおいて提示され得る通知内容230の一例を示し、図26はリストアにおいて提示され得る通知内容240の一例を示す。
これら通知は、設定変更に伴うバックアップの実行理由と対処案を含む。例えば、機械学習データの変更に対する対処案を含む。また、リストアの実行および設定に関する対処案を含む。
<O.プログラム>
バックアップまたはリストアは、プロセッサ102がバックアップ管理プログラム170またはリストア管理プログラム180を含むプログラムを実行することにより提供される構成を例示したが、これらの提供される構成の一部または全部を、専用のハードウェア回路(たとえば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。あるいは、PLC100の主要部を、汎用的なアーキテクチャに従うハードウェアを用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOSを並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
バックアップ管理プログラム170およびリストア管理プログラム180を含むプログラムは、2次記憶装置108等のコンピュータその他装置、機械等が記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的または化学的作用によって蓄積する媒体である。プロセッサ102は、これら記憶媒体から、上記に述べたバックアップまたはリストアにかかるプログラムを取得してもよい。または、PLC100には、バックアップ管理プログラム170またはリストア管理プログラム180を含むプログラムが、上位ネットワークを介してダウンロードされることより供給されてもよい。
<P.利点>
図27は、本実施の形態に係る利点を説明する図である。図27のグラフは、縦軸に制御システム1を備える生産ラインによる製品の生産量がとられ、横軸は時間を示す。製品の種類の変更または生産量の変更に伴い、生産ラインの構成、すなわち制御システム1のネットワーク構成が変化する。例えば、PLC100に接続されるフィールド機器90の種類の変更または台数の変更などが生じる。
このような背景において、図27の時間T2において生産ラインの構成を変更して生産量をX→Yに変更する場合、ユーザは、制御プログラム154および設定データ155などとして、過去に同じ生産量の変更が実施されたとき(図27の時間T1)に主記憶装置106に格納されていた制御プログラム154および設定データ155などを再利用したいとのニーズがある。
本実施の形態では、時間T1に、バックアップを実施することにより「バックアップ先媒体」に、制御プログラム154および設定データ155などを含むバックアップデータ613を格納し、その後の時間T2において、時間T1に対応のバックアップデータ613(図9の番号1651が“3”に紐づけされたバックアップデータ613)をリストアすることにより、当該ニーズを満たすことができる。
図28は、本実施の形態にかかるPLC100の間で時刻同期したバックアップデータが取得されるケースを説明する図である。図28には、PLC100AとPLC100Bの間で、バックアップデータ613が時刻同期して格納される状態が模式的に示される。図28の(A)では、PLC100Aによりメモリカード116に変更時間1652(図9の変更時間1652に相当)それぞれに関連付けて、当該時間でバックアップされた対象情報206であるバックアップデータ613が格納される。図28の(B)では、PLC100Bによりメモリカード116に変更時間1652それぞれに関連付けて、当該時間でバックアップされた対象情報206であるバックアップデータ613が格納される。本実施の形態では、PLC100Aと100Bは、時刻同期しているので、制御システム1は、異なるPLC100AおよびPLC100B(異なる工程)で個別に取得されたバックアップデータ613を、バックアップデータ613の変更時間1652が示す時間軸をPLC100AおよびPLC100B間でほぼ完全に一致させて取得できる。したがって、リストア時には、変更時間1652を指定することによって、PLC100AおよびPLC100Bにおいて、指定された変更時間1652に対応のバックアップデータ613をリストアできる。なお、図28では、PLC100AとPLC100Bのバックアップデータ613を例示したが、PLC100Cについても、バックアップデータ613を、変更時間1652が示す時間軸を他のPLC100AおよびPLC100Bとの間でほぼ完全に一致させて取得できる。
図28によれば、各PLC100では、バックアップ処理が実施された後に、変更時間1652を用いて、各PLC100のバックアップデータ613を紐付けることが可能であるが、紐づけの方法は、これに限定されない。例えば、各PLC100では、稼働時において、同期した時刻に基づく予め定められた時間において、変更検出部601が主記憶装置106の対象情報206が変更されたことを検出すると、バックアップ実行部621は当該主記憶装置106に格納された情報のバックアップ処理を実施する。この予め定められた時間は、ユーザがUIを介して全てのPLC100に共通に指定した時間を含み得る。より具体的には、例えば、稼働中に、複数のPLC100のうち1のPLC100が、自装置の対象情報206が変更されたことを検出すると、同期した時刻に基づく(少し先の)ある時間を、バックアップ処理を実施すべき指定時間とする旨の通知を、他のPLC100に送信する。これにより、複数のPLC100は、指定時間において一斉にバックアップ処理を実施することができる。この同期した時刻に基づく(少し先の)ある時間は、動的または静的に設定され得る。このある時間の動的な設定は、例えば、稼働時の制御周期70の空き時間73の長さに応じた設定を含み得る。また、このある時間の静的な設定は、例えば、上記のUIを介してユーザが指定した時間に基づく設定を含み得る。
これにより、予め定められた時間または指定時間におけるバックアップと同時に、各PLC100のバックアップデータ613を予め定められた時間または指定時間で紐付けることができる。このような紐づけの方法は、適宜組み合わせて実施されてもよい。
本実施の形態によれば、生産ラインを再現または複製するというニーズに応えることもできる。具体的には、フィールド機器90を含む複数の産業機械を組み合わせて生産ラインが構成される場合、複数のPLC100がネットワークで接続され、1つの生産ラインを稼働させる。生産ラインの動作は生産量の変動や産業機械の動作状況に応じて、人が調整する場合がある。また、近年の機械学習の進化に伴い、PLC100に搭載された機械学習により自律的に機械学習のデータが調整される場合もある。日々の生産において生産量の変動や産業機械の動作状況に応じて調整が行われているなかで、過去の生産ラインの状態を再現したい、または生産ラインを複製したいとのニーズがある。この点に関し、本実施の形態では、生産ラインを構成している複数の産業機械を制御するための制御プログラム、制御のための設定データ、また制御に関する機械学習のデータを対象情報206として複数のPLC間で関連付けてバックアップしておくことが可能となるから、当該ニーズに応えることが可能になる。
<Q.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
[構成1]
対象(90)を制御する制御装置(100、100A、100B、100C)であって、
前記対象を制御するための情報(206)を格納するための記憶部(106,108)と、
前記記憶部の情報が変更されたことを検出する変更検出部(601)と、を備え、
前記制御装置は、稼働時において、前記変更検出部が前記記憶部の情報が変更されたことを検出すると当該記憶部に格納された前記情報のバックアップ処理を実施する、制御装置。
[構成2]
前記変更検出部は、
前記記憶部に格納される情報に対するユーザ操作に基づき、当該情報が変更されたことを検出する、構成1に記載の制御装置。
[構成3]
前記変更検出部は、
前記記憶部に格納される情報から算出された算出値に基づき、当該情報が変更されたことを検出する、構成1または2に記載の制御装置。
[構成4]
前記記憶部に格納される情報は、前記対象を制御するための制御プログラム(154)、前記制御のための設定データ(155)、および前記制御に関連する機械学習のデータ(157,158)のうちの少なくとも1つを含む、構成1から3のいずれか1項に記載の制御装置。
[構成5]
前記制御装置は、前記対象を含むネットワーク(110,11)構成に通信可能に接続され、
前記記憶部に格納される情報は、前記ネットワーク構成に接続されている当該制御装置および前記対象を含む機器の識別子を含むネットワーク構成データ(156)を含む、構成1から4のいずれか1に記載の制御装置。
[構成6]
前記バックアップ処理は、前記記憶部の情報を複写し、複写された情報を記憶媒体に格納する処理を含み、
前記記憶媒体は、前記制御装置にネットワークを介して接続された上位システム(300)が備える記憶媒体を含む、構成1から5のいずれか1に記載の制御装置。
[構成7]
複数の前記制御装置は、前記対象を含むネットワーク構成(110,11)に通信可能に接続され、
各前記制御装置は、自制御装置の前記記憶部に格納される情報が変更されたことを検出したとき、前記バックアップ処理を他の制御装置に実施させるための要求(90B)を、前記ネットワーク構成を介して送信する、構成1から6のいずれか1に記載の制御装置。
[構成8]
前記複数の制御装置は、時刻同期し、
各前記複数の制御装置は、前記バックアップ処理において、前記情報を、同期した時刻に基づいた時間を関連付けてバックアップする、構成7に記載の制御装置。
[構成9]
前記複数の制御装置は、時刻同期し、
稼働時において、前記複数の制御装置のうち1の制御装置の前記変更検出部が自装置の前記記憶部の情報が変更されたことを検出すると、前記複数の制御装置は、それぞれ、同期した時刻に基づく指定時間に、自装置の前記記憶部に格納された前記情報のバックアップ処理を実施する、構成7または8に記載の制御装置。
[請求項10]
前記1の制御装置は、前記変更検出部が自装置の前記記憶部の情報が変更されたことを検出したとき、他の前記制御装置に、前記指定時間の通知を送信する、構成9に記載の制御装置。
[構成11]
前記制御装置は、さらに、
プロセッサ(102)と、
予め定められた周期(70)内で、前記プロセッサに優先度に従い実行させる複数のプログラムを管理するスケジューラ(640)と、を備え、
前記スケジューラが管理する複数のプログラムは、
前記周期において前記プロセッサで実行される優先度が高いプログラムであって、前記制御の処理を含む第1処理(71,72)のための第1のプログラムと、
前記第1のプログラムより実行の優先度が低く、前記周期においてプロセッサの空き時間(73)において実行される第2処理のための第2のプログラムを含み、
前記第1のプログラムは、前記対象を制御するための制御プログラム(154)を含み、
前記第2のプログラムは、前記バックアップ処理を実施するバックアッププログラム(170、159)を含み、
前記スケジューラは、
各周期が有する空き時間のトータルの長さが、前記バックアップ処理の所要時間に相当する1以上の周期(N)のそれぞれの前記空き時間において、前記プロセッサに、前記バックアッププログラムを実行させる、構成1から10のいずれか1項に記載の制御装置。
[構成12]
前記制御装置は、さらに、
各周期が有する空き時間のトータルの長さが、前記バックアップ処理の所要時間に相当する前記1以上の周期を決定する、構成11に記載の制御装置。
[構成13]
前記制御装置は、さらに、
前記バックアップ処理の所要時間と前記空き時間とに基づき、前記バックアッププログラムに、前記各周期内の前記空き時間におけるバックアップ対象の情報量(M)を設定する、構成11または12に記載の制御装置。
[構成14]
前記バックアップ処理は、
前記記憶部の情報を複写した複写情報を保持し、その後、前記記憶部の情報が変更される毎に、前記複写情報と変更後情報との差分情報を導出し、導出された1以上の差分情報と前記複写情報を統合する差分バックアップ(623)を含む、構成1から13のいずれか1に記載の制御装置。
[構成15]
前記差分バックアップは、
前記その後の変更回数が閾値を超えたとき、前記1以上の差分情報と前記複写情報を統合する、構成14に記載の制御装置。
[構成16]
前記差分バックアップは、
前記複写情報の情報量に対する前記1以上の差分情報の情報量が占める割合が閾値を超えたとき、前記1以上の差分情報と前記複写情報を統合する、構成14または15に記載の制御装置。
[構成17]
バックアップされた1以上の前記情報の識別子(1651)を示すUIを表示する手段(129)と、
バックアップされた1以上の前記情報から、リストア対象の情報を指定するユーザ操作を受付ける手段(127)と、をさらに備える、構成1から16のいずれか1に記載の制御装置。
[構成18]
前記バックアップされた1以上の情報の識別子に、当該情報がバックアップされた時間(1652)を関連付ける、構成17に記載の制御装置。
[構成19]
前記記憶部は、前記情報を格納する揮発性の記憶領域(106)を有する、構成1から18のいずれか1に記載の制御装置。
[構成20]
対象(90)を制御するための制御装置(100,100A、100B、100C)が備えるプロセッサ(102)が実行するプログラムであって、
前記制御装置は、前記対象を制御するための情報を格納するための記憶部(106,108)を備え、
前記プログラムは、実行されると、
前記プロセッサに、
前記記憶部の情報が変更されたことを検出させ、
前記制御装置が稼働時において、前記情報が変更されたことが検出されたことに応じて、前記記憶部に格納された前記情報のバックアップ処理を実施させる、プログラム。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
1 制御システム、3A,3B,3C 工程、10 ネットワークシステム、11,12,13,14,110 ネットワーク、70 制御周期、71 IOリフレッシュ、72 制御演算処理、73 空き時間、90 フィールド機器、90A 通知フレーム、90B 変更通知フレーム、90C リストア通知フレーム、91 ヘッダ、92 本体、93 タイプ、94 宛先、95 送信元、101,101A,513 タイマ、102 プロセッサ、106 主記憶装置、116,420,516 メモリカード、120B,206 対象情報、152 スケジューラプログラム、153 IOリフレッシュプログラム、154 制御プログラム、155 設定データ、156 コンフィグデータ、157 学習プログラム、158 モデルデータ、159 バックアッププログラム、160 変更管理プログラム、161 情報管理プログラム、162 バックアップ通知プログラム、163 リストアプログラム、164 リストア処理プログラム、165 バックアップ管理情報、166 バックアップ設定情報、167 予約時間、170 バックアップ管理プログラム、172 リストア命令、180 リストア管理プログラム、190 ライン管理装置、280 HMI、300 上位システム、380 製造管理装置、400 製造実行システム、450 記憶部、500 サポート装置、600 変更管理部、601 変更検出部、602 変更通知部、610 情報管理部、613 バックアップデータ、620 バックアップ管理部、621 バックアップ実行部、622 バックアップ通知部、623 差分バックアップ実行部、630 リストア管理部、631 リストア実行部、632 リストア通知部、640 スケジューラ、1591 差分バックアッププログラム、1650 変更特定情報、1651 番号、1652 変更時間、1653 変更対象グループ、1654 変更対象、1655 操作端末、1656 作業者、1657 バックアップの実行有無n1658 理由、E1 記憶領域、M 単位情報量、N 周期数。

Claims (19)

  1. 対象を制御する制御装置であって、
    前記対象を制御するための情報を格納するための記憶部と、
    前記記憶部の情報が変更されたことを検出する変更検出部と、を備え、
    前記制御装置は、稼働時において、前記変更検出部が前記記憶部の情報が変更されたことを検出すると当該記憶部に格納された前記情報のバックアップ処理を実施し、
    複数の前記制御装置は、前記対象を含むネットワーク構成に通信可能に接続され、
    各前記制御装置は、自制御装置の前記記憶部に格納される情報が変更されたことを検出したとき、前記バックアップ処理を他の制御装置に実施させるための要求を、前記ネットワーク構成を介して送信し、
    前記複数の制御装置は、時刻同期し、
    前記稼働時において、前記複数の制御装置のうち1の制御装置の前記変更検出部が自装置の前記記憶部の情報が変更されたことを検出すると、前記複数の制御装置は、それぞれ、同期した時刻に基づく指定時間に、自装置の前記記憶部に格納された前記情報のバックアップ処理を実施し、
    前記1の制御装置は、前記変更検出部が自装置の前記記憶部の情報が変更されたことを検出したとき、他の前記制御装置に、前記指定時間の通知を送信する、制御装置。
  2. 前記変更検出部は、
    前記記憶部に格納される情報に対するユーザ操作に基づき、当該情報が変更されたことを検出する、請求項1に記載の制御装置。
  3. 前記変更検出部は、
    前記記憶部に格納される情報から算出された算出値に基づき、当該情報が変更されたことを検出する、請求項1または2に記載の制御装置。
  4. 前記記憶部に格納される情報は、前記対象を制御するための制御プログラム、前記制御のための設定データ、および前記制御に関連する機械学習のデータのうちの少なくとも1つを含む、請求項1から3のいずれか1項に記載の制御装置。
  5. 前記制御装置は、前記対象を含むネットワーク構成に通信可能に接続され、
    前記記憶部に格納される情報は、前記ネットワーク構成に接続されている当該制御装置および前記対象を含む機器の識別子を含むネットワーク構成データを含む、請求項1から4のいずれか1項に記載の制御装置。
  6. 前記バックアップ処理は、前記記憶部の情報を複写し、複写された情報を記憶媒体に格納する処理を含み、
    前記記憶媒体は、前記制御装置にネットワークを介して接続された上位システムが備える記憶媒体を含む、請求項1から5のいずれか1項に記載の制御装置。
  7. 前記複数の制御装置は、時刻同期し、
    各前記複数の制御装置は、前記バックアップ処理において、前記情報を、同期した時刻に基づいた時間を関連付けてバックアップする、請求項1から6のいずれか1項に記載の制御装置。
  8. 前記制御装置は、さらに、
    プロセッサと、
    予め定められた周期内で、前記プロセッサに優先度に従い実行させる複数のプログラムを管理するスケジューラと、を備え、
    前記スケジューラが管理する複数のプログラムは、
    前記周期において前記プロセッサで実行される優先度が高いプログラムであって、前記制御の処理を含む第1処理のための第1のプログラムと、
    前記第1のプログラムより実行の優先度が低く、前記周期においてプロセッサの空き時間において実行される第2処理のための第2のプログラムを含み、
    前記第1のプログラムは、前記対象を制御するための制御プログラムを含み、
    前記第2のプログラムは、前記バックアップ処理を実施するバックアッププログラムを含み、
    前記スケジューラは、
    各周期が有する空き時間のトータルの長さが、前記バックアップ処理の所要時間に相当する1以上の周期のそれぞれの前記空き時間において、前記プロセッサに、前記バックアッププログラムを実行させる、請求項1からのいずれか1項に記載の制御装置。
  9. 前記制御装置は、さらに、
    各周期が有する空き時間のトータルの長さが、前記バックアップ処理の所要時間に相当する前記1以上の周期を決定する、請求項に記載の制御装置。
  10. 前記制御装置は、さらに、
    前記バックアップ処理の所要時間と前記空き時間とに基づき、前記バックアッププログラムに、前記各周期内の前記空き時間におけるバックアップ対象の情報量を設定する、請求項またはに記載の制御装置。
  11. 前記バックアップ処理は、
    前記記憶部の情報を複写した複写情報を保持し、その後、前記記憶部の情報が変更される毎に、前記複写情報と変更後情報との差分情報を導出し、導出された1以上の差分情報と前記複写情報を統合する差分バックアップを含む、請求項1から10のいずれか1項に記載の制御装置。
  12. 前記差分バックアップは、
    前記その後の変更回数が閾値を超えたとき、前記1以上の差分情報と前記複写情報を統合する、請求項11に記載の制御装置。
  13. 前記差分バックアップは、
    前記複写情報の情報量に対する前記1以上の差分情報の情報量が占める割合が閾値を超えたとき、前記1以上の差分情報と前記複写情報を統合する、請求項11または12に記載の制御装置。
  14. バックアップされた1以上の前記情報の識別子を示すUIを表示する手段と、
    バックアップされた1以上の前記情報から、リストア対象の情報を指定するユーザ操作を受付ける手段と、をさらに備える、請求項1から13のいずれか1項に記載の制御装置。
  15. 前記バックアップされた1以上の情報の識別子に、当該情報がバックアップされた時間を関連付ける、請求項14に記載の制御装置。
  16. 前記記憶部は、前記情報を格納する揮発性の記憶領域を有する、請求項1から15のいずれか1項に記載の制御装置。
  17. 対象を制御する制御装置であって、
    前記対象を制御するための情報を格納するための記憶部と、
    前記記憶部の情報が変更されたことを検出する変更検出部と、を備え、
    前記制御装置は、稼働時において、前記変更検出部が前記記憶部の情報が変更されたことを検出すると当該記憶部に格納された前記情報のバックアップ処理を実施し、
    前記制御装置は、さらに、
    プロセッサと、
    予め定められた周期内で、前記プロセッサに優先度に従い実行させる複数のプログラムを管理するスケジューラと、を備え、
    前記スケジューラが管理する複数のプログラムは、
    前記周期において前記プロセッサで実行される優先度が高いプログラムであって、前記制御の処理を含む第1処理のための第1のプログラムと、
    前記第1のプログラムより実行の優先度が低く、前記周期においてプロセッサの空き時間において実行される第2処理のための第2のプログラムを含み、
    前記第1のプログラムは、前記対象を制御するための制御プログラムを含み、
    前記第2のプログラムは、前記バックアップ処理を実施するバックアッププログラムを含み、
    前記スケジューラは、
    各周期が有する空き時間のトータルの長さが、前記バックアップ処理の所要時間に相当する1以上の周期のそれぞれの前記空き時間において、前記プロセッサに、前記バックアッププログラムを実行させ、
    前記制御装置は、さらに、
    前記バックアップ処理の所要時間と前記空き時間とに基づき、前記バックアッププログラムに、前記各周期内の前記空き時間におけるバックアップ対象の情報量を設定する、制御装置。
  18. 対象を制御する制御装置であって、
    前記対象を制御するための情報を格納するための記憶部と、
    前記記憶部の情報が変更されたことを検出する変更検出部と、を備え、
    前記制御装置は、稼働時において、前記変更検出部が前記記憶部の情報が変更されたことを検出すると当該記憶部に格納された前記情報のバックアップ処理を実施し、
    前記バックアップ処理は、
    前記記憶部の情報を複写した複写情報を保持し、その後、前記記憶部の情報が変更される毎に、前記複写情報と変更後情報との差分情報を導出し、導出された1以上の差分情報と前記複写情報を統合する差分バックアップを含み、
    前記差分バックアップは、
    前記その後の変更回数が閾値を超えたとき、前記1以上の差分情報と前記複写情報を統合する、制御装置。
  19. 対象を制御する制御装置であって、
    前記対象を制御するための情報を格納するための記憶部と、
    前記記憶部の情報が変更されたことを検出する変更検出部と、を備え、
    前記制御装置は、稼働時において、前記変更検出部が前記記憶部の情報が変更されたことを検出すると当該記憶部に格納された前記情報のバックアップ処理を実施し、
    前記バックアップ処理は、
    前記記憶部の情報を複写した複写情報を保持し、その後、前記記憶部の情報が変更される毎に、前記複写情報と変更後情報との差分情報を導出し、導出された1以上の差分情報と前記複写情報を統合する差分バックアップを含み、
    前記差分バックアップは、
    前記複写情報の情報量に対する前記1以上の差分情報の情報量が占める割合が閾値を超えたとき、前記1以上の差分情報と前記複写情報を統合する、制御装置。
JP2020133505A 2020-08-06 2020-08-06 制御装置 Active JP7540233B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2020133505A JP7540233B2 (ja) 2020-08-06 2020-08-06 制御装置
US18/018,430 US20230305931A1 (en) 2020-08-06 2021-07-30 Control device and non-transitory machine readable storage medium
PCT/JP2021/028435 WO2022030402A1 (ja) 2020-08-06 2021-07-30 制御装置およびプログラム
EP21854299.1A EP4194975A4 (en) 2020-08-06 2021-07-30 CONTROL DEVICE AND PROGRAM
CN202180058900.XA CN116171411A (zh) 2020-08-06 2021-07-30 控制装置及程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020133505A JP7540233B2 (ja) 2020-08-06 2020-08-06 制御装置

Publications (2)

Publication Number Publication Date
JP2022029907A JP2022029907A (ja) 2022-02-18
JP7540233B2 true JP7540233B2 (ja) 2024-08-27

Family

ID=80117511

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020133505A Active JP7540233B2 (ja) 2020-08-06 2020-08-06 制御装置

Country Status (5)

Country Link
US (1) US20230305931A1 (ja)
EP (1) EP4194975A4 (ja)
JP (1) JP7540233B2 (ja)
CN (1) CN116171411A (ja)
WO (1) WO2022030402A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220108167A1 (en) * 2020-10-07 2022-04-07 Commvault Systems, Inc. Artificial intelligence-based information management system performance metric prediction

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001527232A (ja) 1997-12-19 2001-12-25 ハネウェル・インコーポレーテッド 制御の混乱を最小化した、冗長コントローラの同期を取るためのシステム及び方法
JP2005202774A (ja) 2004-01-16 2005-07-28 Mitsubishi Electric Corp 生産設備保全システム、生産設備用制御装置および情報処理装置
JP2014146077A (ja) 2013-01-25 2014-08-14 Omron Corp 制御装置および制御装置の動作方法
JP2014174616A (ja) 2013-03-06 2014-09-22 Mitsubishi Electric Corp Faシステムおよび制御装置
WO2016163455A1 (ja) 2015-04-07 2016-10-13 三菱電機株式会社 統合監視制御装置および統合監視制御システム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4599740B2 (ja) * 2000-04-21 2010-12-15 ソニー株式会社 情報処理装置および方法、記録媒体、プログラム、並びに記録媒体
JP5250955B2 (ja) * 2006-10-05 2013-07-31 富士通株式会社 データ処理システムのバックアップ制御装置及びシステム
US8489210B2 (en) * 2009-03-24 2013-07-16 Rockwell Automation Technologies, Inc. Electronic operator interface based controller and device automatic downloads
US20120102088A1 (en) * 2010-10-22 2012-04-26 Microsoft Corporation Prioritized client-server backup scheduling
WO2014174546A1 (ja) 2013-04-22 2014-10-30 三菱電機株式会社 プログラマブルロジックコントローラシステム及びプログラマブルロジックコントローラ
US9760445B1 (en) * 2014-06-05 2017-09-12 EMC IP Holding Company LLC Data protection using change-based measurements in block-based backup
CN105765472B (zh) * 2014-11-05 2017-12-05 三菱电机株式会社 远程控制装置以及控制系统
US10572347B2 (en) * 2015-09-23 2020-02-25 International Business Machines Corporation Efficient management of point in time copies of data in object storage by sending the point in time copies, and a directive for manipulating the point in time copies, to the object storage
WO2017115426A1 (ja) 2015-12-28 2017-07-06 三菱電機株式会社 データ管理装置、データ管理方法及びデータ管理プログラム
JP6378264B2 (ja) * 2016-07-29 2018-08-22 ファナック株式会社 自動バックアップ装置、自動バックアップ方法及びプログラム
US10484163B2 (en) * 2017-10-13 2019-11-19 Cisco Technology, Inc. Measure and improve clock synchronization using combination of transparent and boundary clocks
JP6984482B2 (ja) * 2018-02-22 2021-12-22 オムロン株式会社 通信システム、通信装置および通信方法
US11354196B2 (en) * 2019-05-16 2022-06-07 Acronis International Gmbh System and method of determining a backup schedule based on data analysis and machine learning

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001527232A (ja) 1997-12-19 2001-12-25 ハネウェル・インコーポレーテッド 制御の混乱を最小化した、冗長コントローラの同期を取るためのシステム及び方法
JP2005202774A (ja) 2004-01-16 2005-07-28 Mitsubishi Electric Corp 生産設備保全システム、生産設備用制御装置および情報処理装置
JP2014146077A (ja) 2013-01-25 2014-08-14 Omron Corp 制御装置および制御装置の動作方法
JP2014174616A (ja) 2013-03-06 2014-09-22 Mitsubishi Electric Corp Faシステムおよび制御装置
WO2016163455A1 (ja) 2015-04-07 2016-10-13 三菱電機株式会社 統合監視制御装置および統合監視制御システム

Also Published As

Publication number Publication date
EP4194975A4 (en) 2024-08-28
CN116171411A (zh) 2023-05-26
WO2022030402A1 (ja) 2022-02-10
US20230305931A1 (en) 2023-09-28
EP4194975A1 (en) 2023-06-14
JP2022029907A (ja) 2022-02-18

Similar Documents

Publication Publication Date Title
CN107436594B (zh) 使用基于控制器的元属性的自动化历史记录器配置方法
CN100524133C (zh) 获得仿真系统瞬像的方法
US7818615B2 (en) Runtime failure management of redundantly deployed hosts of a supervisory process control data acquisition facility
EP1800194B1 (en) Maintaining transparency of a redundant host for control data acquisition systems in process supervision
US20060056285A1 (en) Configuring redundancy in a supervisory process control system
EP4064045A1 (en) Method for real-time updating of process software
JP7540233B2 (ja) 制御装置
JP6849029B2 (ja) データ収集システム、データ収集方法、及びプログラム
JP2020149630A (ja) 制御システム、設定装置、および設定プログラム
JP2021519539A (ja) ノード、ネットワークシステム、およびデータ同期方法
WO2021230285A1 (ja) データ処理装置、データ処理装置の制御方法、データ処理装置の制御に用いられるコンピュータプログラム、及び、その記録媒体
JP7441006B2 (ja) 制御装置、制御プログラム、および制御システム
WO2023248548A1 (ja) 制御システム、中継装置および通信方法
JPWO2019244327A1 (ja) 管理装置、管理方法及びプログラム
WO2023248547A1 (ja) 制御システム、中継装置および通信方法
WO2022190560A1 (ja) 制御装置、制御システム、方法およびプログラム
JP7499269B2 (ja) ノードデータを転送するための集約サーバおよび方法
EP4145232A1 (en) Operation of measuring devices in a process plant
JP2024073818A (ja) 制御システムおよび情報処理方法
WO2020026738A1 (ja) サポート装置およびサポートプログラム
JP2020191141A (ja) プログラマブルロジックコントローラおよびメインユニット
JP5975861B2 (ja) エンジニアリング装置およびエンジニアリング方法
JP2020027460A (ja) サポート装置、サポートプログラム、制御システム
TW201911148A (zh) 產業工廠用資料再生裝置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230607

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240404

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240729

R150 Certificate of patent or registration of utility model

Ref document number: 7540233

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150