JP6433623B2 - データ処理装置、データ処理方法及びデータ処理プログラム - Google Patents

データ処理装置、データ処理方法及びデータ処理プログラム Download PDF

Info

Publication number
JP6433623B2
JP6433623B2 JP2018516316A JP2018516316A JP6433623B2 JP 6433623 B2 JP6433623 B2 JP 6433623B2 JP 2018516316 A JP2018516316 A JP 2018516316A JP 2018516316 A JP2018516316 A JP 2018516316A JP 6433623 B2 JP6433623 B2 JP 6433623B2
Authority
JP
Japan
Prior art keywords
data
network
controller
sequence number
tracking data
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.)
Expired - Fee Related
Application number
JP2018516316A
Other languages
English (en)
Other versions
JPWO2017195356A1 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2017195356A1 publication Critical patent/JPWO2017195356A1/ja
Application granted granted Critical
Publication of JP6433623B2 publication Critical patent/JP6433623B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40169Flexible bus arrangements
    • H04L12/40176Flexible bus arrangements involving redundancy
    • H04L12/40182Flexible bus arrangements involving redundancy by using a plurality of communication lines
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2005Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication controllers
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2025Failover techniques using centralised failover control functionality
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2048Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share neither address space nor persistent storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40169Flexible bus arrangements
    • H04L12/40176Flexible bus arrangements involving redundancy
    • H04L12/40195Flexible bus arrangements involving redundancy by using a plurality of nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/4026Bus for use in automation systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Hardware Redundancy (AREA)
  • Safety Devices In Control Systems (AREA)

Description

本発明は、データ処理装置、データ処理方法及びデータ処理プログラムに関する。
発電所や化学工場などのプラントでは、バルブの開閉などの制御がコントローラによって自動化されている。コントローラには、プラントの継続運転のために高い信頼性が求められる。このため、これらのプラントでは、コントローラを二重化することによって信頼性を維持している。
まず、図7を用いて、コントローラを二重化したシステムの構成と動作を説明する。
図7に示すシステムでは、コントローラ100aとコントローラ100bが制御ネットワーク101に接続されている。以下、コントローラ100aとコントローラ100bを区別する必要がないときは、コントローラ100aとコントローラ100bを総称してコントローラ100という。
制御ネットワーク101には、HMI(Human Machine Interface)102が接続されている。
また、コントローラ100は、プロセス入出力ユニット106a、106b、106c(以下、PIOユニット106a、106b、106cという)とI/O(Input/Output)ネットワーク103を介して接続されている。
PIOユニット106a、106b、106cを区別する必要がないときは、PIOユニット106a、106b、106cを総称して、PIOユニット106という。
PIOユニット106aは、入出力端104aで取得したプラント109の状態を示すデータを、周期的にコントローラ100へ送信する。
PIOユニット106bは、入出力端104bで取得したプラント109の状態を示すデータを、周期的にコントローラ100へ送信する。
PIOユニット106cは、入出力端104cで取得したプラント109の状態を示すデータを、周期的にコントローラ100へ送信する。
コントローラ100a及びコントローラ100bは、それぞれ、PIOユニット106a、106b、106cからデータを受信する。
HMI102は、作業員に対してプラント109の制御状態を表示し、作業員の入力に応じてプラント109の制御のための指令をコントローラ100a及びコントローラ100bへ送信する。HIM102は、例えば、パネルコンピュータである。
コントローラ100aは、PIOユニット106から受信したデータ(プラント109の状態)とHMI102から受信した指令をもとに演算を行い、演算結果を示すデータを周期的にPIOユニット106へ送信する。また、コントローラ100aは、HMI102にプラント109の状態を送信する。コントローラ100bは、コントローラ100aが正常に動作している間は待機しており、コントローラ100aに異常が発生した場合に、コントローラ100aを代替する。コントローラ100aを現用コントローラ100ともいい、コントローラ100bを待機コントローラ100ともいう。また、図面上は、コントローラ100aを「現用」と表記し、コントローラ100bを「待機」と表記することがある。
PIOユニット106aは、コントローラ100aからの演算結果を、入出力端104aからプラント109に送信する。
PIOユニット106bは、コントローラ100aからの演算結果を、入出力端104bからプラント109に送信する。
PIOユニット106cは、コントローラ100aからの演算結果を、入出力端104cからプラント109に送信する。
なお、コントローラ100とPIOユニット106との間で送受信されるデータをプロセスデータと呼ぶ。
また、コントローラ100aとコントローラ100bは、トラッキングバス105を介して接続されている。コントローラ100aは異常が発生したときに、直ちにコントローラ100bが制御を継続できるようにするため、コントローラ100aの内部のデータを送信している。
図7に示すシステムでは、上記のコントローラ100の対と複数のPIOユニット106との組み合わせが複数存在している。コントローラ100の対は制御ネットワーク101を介してHMI102と接続されている。また、コントローラ100の対はトラッキングバス105を介して接続されている。
次に、図8を用いて、図7のシステムの動作の詳細を説明する。
PIOユニット106は、プロセスデータをプロセスデータ周期tで周期的にコントローラ100に送信している。以下では、プロセスデータをPD#nとも表記する。PD#nにおける「n」は、何回目に送信されたプロセスデータかを示すシーケンス番号である。つまり、n=1、2…である。
コントローラ100は、制御周期tで周期的にプロセスデータ取得処理、演算処理、プロセスデータ送信処理、トラッキングデータ送信処理を行う。
PIOユニット106は、プロセスデータ送信1にて、PD#1をコントローラ100に送信する。
コントローラ100a及びコントローラ100bは、PD#1を受信する(図8のPD#1の吹き出し)。そして、コントローラ100a及びコントローラ100bは、それぞれ、受信したPD#1を内部のメモリに格納する。
時刻tにおいてコントローラ100aは、プロセスデータ取得処理を行う。プロセスデータ取得処理は、コントローラ100内のプロセッサがコントローラ100内のメモリからプロセスデータを読み出す処理である。時刻tでは、プロセスデータ取得処理として、コントローラ100a内のプロセッサが、最も最近に受信したプロセスデータであるPD#1をメモリから読み出し、読み出したPD#1をプロセッサ内のバッファに保存する。
次に、コントローラ100a内のプロセッサがPD#1を用いた演算を行う。なお、演算結果は、HMI102から受信した指令(目標値)と、それまでにPIOユニット106に送信したデータの系列(演算に用いる系列のサイズはシステムにより異なる)と、演算に用いるPIOデータのみにより定まるものとする。
さらに、コントローラ100aは、プロセスデータ送信処理にて、演算結果をPIOユニット106へ送信する(送信の矢印の図示は省略)。
最後に、コントローラ100aは、トラッキングデータ送信処理を行う。トラッキングデータ送信処理では、コントローラ100aは、トラッキングデータをコントローラ100bに送信する。トラッキングデータは、演算結果及びコントローラ100aの内部状態を通知するデータである。図8では、図示を省略しているが、コントローラ100bは、トラッキングデータを受信し、受信したトラッキングデータを内部のメモリに格納する。
次に、時刻tにおいて、コントローラ100bは、最も最近に受信したプロセスデータであるPD#2を用いて演算を行う。但し、コントローラ100bは、演算結果をPIOユニット106に送信しない。つまり、コントローラ100bでは、プロセスデータ送信処理の時間は存在するが、実際には、演算結果は送信されない。
次に、時刻tにおいて、コントローラ100bは、トラッキングデータ取得処理を行う。トラッキングデータ取得処理では、コントローラ100b内のプロセッサが、トラッキングデータをメモリから読み出し、読み出したトラッキングデータをプロセッサ内のバッファに保存する。そして、コントローラ100b内のプロセッサは、トラッキングデータに基づき、以下を更新する。
・PIOユニット106への出力値(演算結果)
・内部状態
仮に、コントローラ100bがトラッキングデータを用いた上記の更新を行わない場合は、コントローラ100aとコントローラ100bとが異なるプロセスデータの系列を用いて演算することになる。このような状況でコントローラ100aが故障し、コントローラ100bに制御が引き継がれた場合に、コントローラ100bからPIOユニット106へ送信する値が急激に変化する現象(擾乱という)が生じ、不都合である。
図7のシステムでは、コントローラ100aとコントローラ100bとが、制御ネットワーク101とは別のトラッキングバス105により一対一で接続されている。このため、構成が複雑である。
特許文献1では、図7に示すシステムにおいて、構成を簡素化するために、トラッキングバス105を制御ネットワーク101と共用する方法が開示されている。
特開2007−323457号公報
特許文献1では、トラッキングバスを他のネットワークと統合する手法が提案されているが、コントローラ100aが演算を行う度に、コントローラ100aがコントローラ100bにトラッキングデータを送信する。このため、トラッキングデータの送信によりネットワーク帯域が圧迫されるという課題がある。
本発明は、このような課題を解決することを主な目的の一つとしている。より具体的には、本発明は、トラッキングデータの送信によってネットワーク帯域が圧迫される事態を回避することを主な目的とする。
本発明に係るデータ処理装置は、
上位装置と接続されている第1のネットワークを介してバックアップ装置と接続され、前記第1のネットワークと異なる第2のネットワークを介して機器と接続されているデータ処理装置であって、
前記機器から繰り返し送信される、シーケンス番号が設定されている被演算データを前記第2のネットワークを介して前記機器から受信し、受信した前記被演算データに対する演算を行い、演算結果を前記第2のネットワークを介して前記機器に送信する演算管理部と、
前記演算管理部が演算を行う度に、前記演算管理部が次に演算を行う被演算データのシーケンス番号を次シーケンス番号として算出し、算出した前記次シーケンス番号を前記第1のネットワークを介して前記バックアップ装置に通知するシーケンス番号管理部と、
前記演算管理部による演算結果と前記データ処理装置の内部状態とを通知するトラッキングデータの送信権が前記データ処理装置に一時的に付与されている場合に、前記トラッキングデータを前記第1のネットワークを介して前記バックアップ装置に送信するトラッキングデータ管理部とを有する。
本発明によれば、トラッキングデータの送信が抑制され、トラッキングデータの送信によってネットワーク帯域が圧迫される事態を回避することができる。
実施の形態1に係るシステム構成例を示す図。 実施の形態1に係るコントローラ11のハードウェア構成例を示す図。 実施の形態1に係るコントローラ11の機能構成例を示す図。 実施の形態1に係る動作例を示すデータフロー図。 実施の形態1に係るコントローラ11aの動作例を示すフローチャート図。 実施の形態1に係るコントローラ11bの動作例を示すフローチャート図。 従来のシステム構成例を示す図。 従来の動作例を示すデータフロー図。
実施の形態1.
***構成の説明***
図1は、本実施の形態に係るシステム構成例を示す。
制御ネットワーク101、HMI102、I/Oネットワーク103、入出力端104a、入出力端104b、入出力端104c、PIOユニット106a、PIOユニット106b、PIOユニット106c、プラント109は、図7に示したものと同じである。本実施の形態でも、PIOユニット106a、106b、106cを区別する必要がないときは、PIOユニット106a、106b、106cを総称して、PIOユニット106という。
コントローラ11aとコントローラ11bは、制御ネットワーク101を介してHMI102に接続されている。HMI102は、上位装置に相当する。制御ネットワーク101は、第1のネットワークに相当する。
また、コントローラ11aとコントローラ11bは、I/Oネットワーク103を介してPIOユニット106a、106b、106cと接続されている。PIOユニット106a、106b、106cは、それぞれ機器に相当する。また、I/Oネットワーク103は第2のネットワークに相当する。
コントローラ11aは、PIOユニット106から受信したデータ(プラント109の状態)とHMI102から受信した指令をもとに演算を行い、演算結果を示すデータを周期的にPIOユニット106へ送信する。また、コントローラ11aは、HMI102にプラント109の状態を送信する。コントローラ11bは、コントローラ11aが正常に稼動している間は待機しており、コントローラ11aに異常が発生した場合に、コントローラ11aを代替する。コントローラ11aを現用コントローラ11ともいい、コントローラ11bを待機コントローラ11ともいう。また、図面上は、コントローラ11aを「現用」と表記し、コントローラ11bを「待機」と表記することがある。
コントローラ11aは、データ処理装置に相当する。また、コントローラ11aにより行われる動作は、データ処理方法に相当する。
コントローラ11bは、コントローラ11aをバックアップし、バックアップ装置に相当する。
以下、コントローラ11aとコントローラ11bを区別する必要がないときは、コントローラ11aとコントローラ11bを総称してコントローラ11という。
図2は、コントローラ11のハードウェア構成例を示す。
コントローラ11は、コンピュータである。
コントローラ11は、ハードウェアとして、プロセッサ201、メモリ202、ROM(Read Only Memory)203、PIOインタフェース204及び制御ネットワークインタフェース205を備える。
ROM203には、後述する制御部303の機能を実現するプログラムが記憶されている。
そして、制御部303の機能を実現するプログラムはROM203からメモリ202にロードされ、プロセッサ201により実行される。
PIOインタフェース204は、I/Oネットワーク103とのインタフェースである。PIOインタフェース204は、PIOユニット106からのプロセスデータを受信し、また、PIOユニット106へのプロセスデータをPIOユニット106に送信する。
制御ネットワークインタフェース205は、制御ネットワーク101とのインタフェースである。コントローラ11aの制御ネットワークインタフェース205は、コントローラ11bにプロセスデータのシーケンス番号を通知するメッセージを送信し、また、トラッキングデータを送信する。また、コントローラ11bの制御ネットワークインタフェース205は、コントローラ11aからシーケンス番号を通知するメッセージを受信し、また、トラッキングデータを受信する。
図3は、コントローラ11の機能構成例を示す。
受信部301は、制御ネットワーク101又はI/Oネットワーク103からデータを受信する。
送信部302は、制御ネットワーク101又はI/Oネットワーク103にデータを送信する。
より具体的には、現用コントローラ11の受信部301は、I/Oネットワーク103を介して、PIOユニット106からプロセスデータを受信する。また、コントローラ11aの受信部301は、制御ネットワーク101を介して、HMI102から指令を受信する。また、コントローラ11aの送信部302は、制御ネットワーク101を介して、シーケンス番号を通知するメッセージ及びトラッキングデータをコントローラ11bに送信する。
また、コントローラ11bの受信部301は、I/Oネットワーク103を介して、PIOユニット106からプロセスデータを受信する。コントローラ11bの受信部301は、制御ネットワーク101を介して、HMI102から指令を受信する。また、コントローラ11bの受信部301は、制御ネットワーク101を介して、シーケンス番号を通知するメッセージ及びトラッキングデータをコントローラ11aから受信する。
受信部301及び送信部302は、PIOインタフェース204及び制御ネットワークインタフェース205により実現される。
制御部303は、コントローラ11の動作を制御する。
制御部303は、プロセスデータ管理部304、時間計測部305、シーケンス番号管理部306、トラッキングデータ管理部307で構成される。
現用コントローラ11では、プロセスデータ管理部304は、PIOユニット106から繰り返し送信される、シーケンス番号が設定されているプロセスデータ(被演算データの例)をI/Oネットワーク103及び受信部301を介してPIOユニット106から受信する。そして、プロセスデータ管理部304は、受信したプロセスデータに対する演算を行い、演算結果を送信部302及びI/Oネットワーク103を介してPIOユニット106に送信する。
待機コントローラ11では、プロセスデータ管理部304は、現用コントローラ11から通知された次シーケンス番号(後述)に基づき、演算に用いるプロセスデータを選択する。そして、選択したプロセスデータに対する演算を行う。待機コントローラ11では、プロセスデータ管理部304は、演算結果は送信しない。
現用コントローラ11のプロセスデータ管理部304は、演算管理部に相当する。また、現用コントローラ11のプロセスデータ管理部304により行われる処理は演算管理処理に相当する。
現用コントローラ11では、時間計測部305は、後述する時間tを計測する。
現用コントローラ11では、シーケンス番号管理部306は、プロセスデータ管理部304が演算を行う度に、プロセスデータ管理部304が次に演算を行うプロセスデータのシーケンス番号を次シーケンス番号として算出する。そして、シーケンス番号管理部306は、算出した次シーケンス番号を送信部302及び制御ネットワーク101を介して待機コントローラ11に通知する。
また、待機コントローラ11では、シーケンス番号管理部306は、現用コントローラ11から通知された次シーケンス番号を記憶部308に格納する。
現用コントローラ11のシーケンス番号管理部306により行われる処理はシーケンス番号管理処理に相当する。
現用コントローラ11では、トラッキングデータ管理部307は、トラッキングデータの送信権が現用コントローラ11に一時的に付与されている場合に、トラッキングデータを送信部302及び制御ネットワーク101を介して待機コントローラ11に送信する。トラッキングデータは、プロセスデータ管理部304による演算結果と現用コントローラ11の内部状態とを通知するデータである。
より具体的には、現用コントローラ11のトラッキングデータ管理部307は、送信権が現用コントローラ11に一時的に付与されている場合に、過去にトラッキングデータを待機コントローラ11に送信したことがあるか否かを判定する。そして、トラッキングデータを待機コントローラ11に送信したことがない場合に、プロセスデータ管理部304による最新の演算結果と現用コントローラ11の現在の内部状態とを通知するトラッキングデータを待機コントローラ11に送信する。
待機コントローラ11では、トラッキングデータ管理部307は、制御ネットワーク101及び受信部301を介してトラッキングデータを受信し、受信したトラッキングデータを記憶部308に格納する。また、待機コントローラ11では、トラッキングデータ管理部307は、トラッキングデータに基づき、演算結果の更新及び待機コントローラ11の内部状態の更新を行う。
現用コントローラ11のトラッキングデータ管理部307により行われる処理はトラッキングデータ管理処理に相当する。
プロセスデータ管理部304、時間計測部305、シーケンス番号管理部306及びトラッキングデータ管理部307の機能は、例えばプログラムにより実現される。プロセスデータ管理部304、時間計測部305、シーケンス番号管理部306及びトラッキングデータ管理部307の機能を実現するプログラムは、プロセッサ201により実行される。プロセスデータ管理部304、時間計測部305、シーケンス番号管理部306及びトラッキングデータ管理部307の機能を実現するプログラムは、データ処理プログラムに相当する。
記憶部308は、受信したプロセスデータ、プロセスデータ管理部304による演算結果、時間計測部305の計測時間、次シーケンス番号、トラッキングデータ等を記憶する。
記憶部308は、メモリ202により実現される。
***動作の説明***
次に、本実施の形態に係る動作を、図4を用いて説明する。
本実施の形態では、トラッキングデータの送信権という概念を導入する。
現用コントローラ11には、トラッキングデータの送信権が一時的に付与される。現用コントローラ11は、トラッキングデータの送信権が付与されている間のみ、トラッキングデータを送信することができる。トラッキングデータの送信権が付与されていないときは、現用コントローラ11は、トラッキングデータを送信することができない。つまり、現用コントローラ11は、トラッキングデータ送信処理をスキップする。
制御ネットワーク101上に送信権は同時に1つしか存在しない。あらかじめ任意に定められた1つのノードがシステムで最初に送信権を持つものとする。以下では、HMI102が最初に送信権を持つものとする。
システム起動後、HMI102は、複数の現用コントローラ11の中から1つの現用コントローラ11を選択し、選択した現用コントローラ11にトラッキングデータの送信権を送信する。
図4では、HMI102は、コントローラ11aに送信権を送信している。
そして、時刻t400において、コントローラ11aの受信部301が、PD#1を受信する。
コントローラ11aでは、時間計測部305が、PD#1を時刻t400で受信してから、実際に時刻t401で使用するまでの時間tを計測する。
時刻t401において、コントローラ11aのプロセスデータ管理部304が、図8に示した従来のコントローラ100aと同様にプロセスデータの取得処理を行う。さらに、プロセスデータ管理部304が、図8に示した従来のコントローラ100aと同様に演算を行い、時刻t412において、送信部302が、演算結果を通知するプロセスデータをPIOユニット106に送信する。
またコントローラ11aでは、プロセスデータ送信後の時刻t413において、シーケンス番号管理部306が、次シーケンス番号Pnextを計算する。次シーケンス番号Pnextは、前述したように、プロセスデータ管理部304が次に演算を行うプロセスデータのシーケンス番号である。
具体的には、シーケンス番号管理部306は、式1に従って次シーケンス番号Pnextを計算する。式1において、Plastは、最後の演算で使用したプロセスデータのシーケンス番号を示す。また、tは制御周期であり、tはプロセスデータ周期であり、tは時間計測部305が計測した時間である。
そして、シーケンス番号管理部306は、送信部302及び制御ネットワーク101を介して、コントローラ11bに次シーケンス番号Pnextを通知する。
Figure 0006433623
図4の例では、コントローラ11aはシーケンス番号4(PD#4)をコントローラ11bに通知する。さらに、このとき、コントローラ11aのトラッキングデータ管理部307は、以下の2つの条件を満たすか否かを判定する。以下の2つの条件を満たす場合は、コントローラ11aのトラッキングデータ管理部307は、コントローラ11bに対してトラッキングデータを送信する。
・システムが起動してからコントローラ11bに対して1度もトラッキングデータを送信していない。
・コントローラ11aがトラッキングデータの送信権を持っている。
コントローラ11aは、トラッキングデータを送信後、HMI102にトラッキングデータの送信権を返却する。
時刻t403において、コントローラ11bがPD#5を受信するが、PD#5は、コントローラ11aから通知された次シーケンス番号であるPD#4よりも大きいので、コントローラ11bはPD#5を破棄する。
上記の動作により、以降は演算に使用するプロセスデータがコントローラ11aとコントローラ11bとで一致するため、トラッキングデータの通信が不要となる。
次に、図5のフローチャートを参照して、コントローラ11aの動作例を説明する。
ステップS100において、受信部301が、PIOユニット106から送信されたプロセスデータをI/Oネットワーク103から受信する。そして、プロセスデータ管理部304が、プロセスデータを記憶部308に格納する。
なお、ステップS100と同時に、時間計測部305が時間tの計測を開始する。
次に、ステップS110において、プロセスデータ管理部304が記憶部308からプロセスデータを取得し、プロセスデータを用いた演算を行う。
また、ステップS110と同時に、時間計測部305が時間tの計測を停止する。
次に、ステップS120において、送信部302がI/Oネットワーク103から演算結果を通知するプロセスデータをPIOユニット106に送信する。
次に、ステップS130において、シーケンス番号管理部306が上記の式1に従い、次シーケンス番号Pnextを計算し、送信部302が制御ネットワーク101からコントローラ11bに次シーケンス番号Pnextを通知する。
次に、ステップS140において、トラッキングデータ管理部307が、コントローラ11aにトラッキングデータの送信権が付与されているか否かを判定する。
コントローラ11aにトラッキングデータの送信権が付与されている場合は、トラッキングデータ管理部307は、システム起動後にコントローラ11bにトラッキングデータを送信したことがあるか否かを判定する。
コントローラ11bにトラッキングデータを送信していない場合は、送信部302が制御ネットワーク101からコントローラ11bにトラッキングデータを送信する。
最後に、ステップS170において、送信部302がHMI102にトラッキングデータの送信権を返却する。
次に、図6のフローチャートを参照して、コントローラ11bの動作例を説明する。
ステップS200において受信部301がトラッキングデータを受信すると、ステップS210において、トラッキングデータ管理部307がトラッキングデータに従って、コントローラ11bの内部状態及び演算結果を更新する。また、トラッキングデータ管理部307は、更新後の内部状態及び演算結果を記憶部308に格納する。
また、ステップS220においてコントローラ11aから次シーケンス番号Pnextが通知された場合に、ステップS230において、シーケンス番号管理部306が次シーケンス番号Pnextを記憶部308に格納する。
また、ステップS240において受信部301がプロセスデータを受信すると、ステップS250において、プロセスデータ管理部304がプロセスデータを記憶部308に格納する。
次に、ステップS260において、プロセスデータ管理部304が、ステップS240で受信されたプロセスデータのシーケンス番号が次シーケンス番号Pnextに一致するか否かを判定する。
ステップS240で受信されたプロセスデータのシーケンス番号が次シーケンス番号Pnextに一致しない場合は、ステップS270において、プロセスデータ管理部304は、プロセスデータを破棄する。
一方、ステップS240で受信されたプロセスデータのシーケンス番号が次シーケンス番号Pnextに一致する場合は、プロセスデータ管理部304は、プロセスデータを用いた演算を行う。そして、プロセスデータ管理部304は、演算結果を記憶部308に格納する。
***実施の形態の効果の説明***
このように、本実施の形態では、現用コントローラ11は、トラッキングデータの送信権が付与されている場合のみ、トラッキングデータを待機コントローラ11に送信する。このため、トラッキングデータの送信によってネットワーク帯域が圧迫される事態を回避することができる。
本実施の形態で説明した手法を用いない場合は、制御周期tの度に、現用コントローラから待機コントローラにトラッキングデータが送信される。このため、本実施の形態で説明した手法を用いない場合に、1組の現用コントローラと待機コントローラの間のトラッキングデータの通信に要する帯域は、制御周期tの繰り返し数nと、トラッキングデータのデータサイズdを乗じた値である。たとえばn=50(回)、データサイズd=240Mbpsとすると、トラッキングデータの通信に要する帯域は12Gbpsである。1Gbpを超える通信を実現するための方式(10GBASE−Tなど)は、普及が進みつつあるものの依然高価であるため、本実施の形態で説明した手法を用いない場合は、制御ネットワーク101のコストが高くなる。
本実施の形態では、1組の現用コントローラと待機コントローラとの間でトラッキングデータが1回送信されるのみである。このため、1組の現用コントローラと待機コントローラ11との間のトラッキングデータの通信に要する帯域は、トラッキングデータのデータサイズd(240Mbps)のみである。
このため、本実施の形態によれば、広く普及しており安価な1000BASE−Tで制御ネットワーク101を構成することができる。
また、本実施の形態では、現用コントローラ11のプロセスデータ管理部304によりプロセスデータを用いた演算が行われる度に、待機コントローラ11に次シーケンス番号が通知される。このため、トラッキングデータの送信回数が減少しても、待機コントローラ11では、現用コントローラ11と同じプロセスデータを用いた演算を継続することができる。
また、本実施の形態によれば、トラッキングバスを制御ネットワークと統合することで、1台の現用コントローラ11に対して複数台の待機コントローラ11を接続することができる。このため、より信頼性の高いシステムを構築できる。
***ハードウェア構成の説明***
最後に、コントローラ11のハードウェア構成の補足説明を行う。
図2に示すプロセッサ201は、プロセッシングを行うIC(Integrated Circuit)である。
プロセッサ201は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)等である。
図2に示すメモリ202は、RAM(Random Access Memory)である。
また、ROM23の代わりに、フラッシュメモリ、HDD(Hard Disk Drive)を用いてもよい。
図2に示すPIOインタフェース204及び制御ネットワークインタフェース205は、データを受信するレシーバー及びデータを送信するトランスミッターを含む。
PIOインタフェース204及び制御ネットワークインタフェース205は、それぞれ、例えば、通信チップ又はNIC(Network Interface Card)である。
また、ROM203には、OS(Operating System)も記憶されている。
そして、OSの少なくとも一部がプロセッサ201により実行される。
プロセッサ201はOSの少なくとも一部を実行しながら、プロセスデータ管理部304、時間計測部305、シーケンス番号管理部306及びトラッキングデータ管理部307(以下、これらをまとめて「部」という)の機能を実現するプログラムを実行する。
プロセッサ201がOSを実行することで、タスク管理、メモリ管理、ファイル管理、通信制御等が行われる。
また、コントローラ11は、プロセッサ201を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、「部」の機能を実現するプログラムの実行を分担する。それぞれのプロセッサは、プロセッサ201と同じように、プロセッシングを行うICである。
また、「部」の処理の結果を示す情報やデータや信号値や変数値が、メモリ202、プロセッサ201内のレジスタ及びキャッシュメモリの少なくともいずれかに記憶される。
また、「部」の機能を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD等の可搬記憶媒体に記憶されてもよい。
また、「部」を、「回路」又は「工程」又は「手順」又は「処理」に読み替えてもよい。
また、コントローラ11は、ロジックIC(Integrated Circuit)、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、FPGA(Field−Programmable Gate Array)といった電子回路により実現されてもよい。
この場合は、「部」は、それぞれ電子回路の一部として実現される。
なお、プロセッサ及び上記の電子回路を総称してプロセッシングサーキットリーともいう。
11 コントローラ、100 コントローラ、101 制御ネットワーク、102 HMI、103 I/Oネットワーク、104 入出力端、105 トラッキングバス、106 PIOユニット、109 プラント、201 プロセッサ、202 メモリ、203 ROM、204 PIOインタフェース、205 制御ネットワークインタフェース、301 受信部、302 送信部、303 制御部、304 プロセスデータ管理部、305 時間計測部、306 シーケンス番号管理部、307 トラッキングデータ管理部、308 記憶部。

Claims (5)

  1. 上位装置と接続されている第1のネットワークを介してバックアップ装置と接続され、前記第1のネットワークと異なる第2のネットワークを介して機器と接続されているデータ処理装置であって、
    前記機器から繰り返し送信される、シーケンス番号が設定されている被演算データを前記第2のネットワークを介して前記機器から受信し、受信した前記被演算データに対する演算を行い、演算結果を前記第2のネットワークを介して前記機器に送信する演算管理部と、
    前記演算管理部が演算を行う度に、前記演算管理部が次に演算を行う被演算データのシーケンス番号を次シーケンス番号として算出し、算出した前記次シーケンス番号を前記第1のネットワークを介して前記バックアップ装置に通知するシーケンス番号管理部と、
    前記演算管理部による演算結果と前記データ処理装置の内部状態とを通知するトラッキングデータの送信権が前記データ処理装置に一時的に付与されている場合に、前記トラッキングデータを前記第1のネットワークを介して前記バックアップ装置に送信するトラッキングデータ管理部とを有するデータ処理装置。
  2. 前記トラッキングデータ管理部は、
    前記送信権が前記データ処理装置に一時的に付与されている場合に、過去に前記トラッキングデータを前記バックアップ装置に送信したことがあるか否かを判定し、前記トラッキングデータを前記バックアップ装置に送信したことがない場合に、前記トラッキングデータを前記第1のネットワークを介して前記バックアップ装置に送信する請求項1に記載のデータ処理装置。
  3. 前記トラッキングデータ管理部は、
    前記送信権が前記データ処理装置に一時的に付与されている場合に、前記演算管理部による最新の演算結果と前記データ処理装置の現在の内部状態とを通知するトラッキングデータを前記第1のネットワークを介して前記バックアップ装置に送信する請求項1に記載のデータ処理装置。
  4. 上位装置と接続されている第1のネットワークを介してバックアップ装置と接続され、前記第1のネットワークと異なる第2のネットワークを介して機器と接続されているコンピュータが、
    前記機器から繰り返し送信される、シーケンス番号が設定されている被演算データを前記第2のネットワークを介して前記機器から受信し、受信した前記被演算データに対する演算を行い、演算結果を前記第2のネットワークを介して前記機器に送信し、
    演算を行う度に、次に演算を行う被演算データのシーケンス番号を次シーケンス番号として算出し、算出した前記次シーケンス番号を前記第1のネットワークを介して前記バックアップ装置に通知し、
    演算結果と前記コンピュータの内部状態とを通知するトラッキングデータの送信権が前記コンピュータに一時的に付与されている場合に、前記トラッキングデータを前記第1のネットワークを介して前記バックアップ装置に送信するデータ処理方法。
  5. 上位装置と接続されている第1のネットワークを介してバックアップ装置と接続され、前記第1のネットワークと異なる第2のネットワークを介して機器と接続されているコンピュータに、
    前記機器から繰り返し送信される、シーケンス番号が設定されている被演算データを前記第2のネットワークを介して前記機器から受信し、受信した前記被演算データに対する演算を行い、演算結果を前記第2のネットワークを介して前記機器に送信する演算管理処理と、
    前記演算管理処理により演算が行われる度に、前記演算管理処理により次に演算が行われる被演算データのシーケンス番号を次シーケンス番号として算出し、算出した前記次シーケンス番号を前記第1のネットワークを介して前記バックアップ装置に通知するシーケンス番号管理処理と、
    前記演算管理処理による演算結果と前記コンピュータの内部状態とを通知するトラッキングデータの送信権が前記コンピュータに一時的に付与されている場合に、前記トラッキングデータを前記第1のネットワークを介して前記バックアップ装置に送信するトラッキングデータ管理処理とを実行させるデータ処理プログラム。
JP2018516316A 2016-05-13 2016-05-13 データ処理装置、データ処理方法及びデータ処理プログラム Expired - Fee Related JP6433623B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/064317 WO2017195356A1 (ja) 2016-05-13 2016-05-13 データ処理装置、データ処理方法及びデータ処理プログラム

Publications (2)

Publication Number Publication Date
JPWO2017195356A1 JPWO2017195356A1 (ja) 2018-09-13
JP6433623B2 true JP6433623B2 (ja) 2018-12-05

Family

ID=60267254

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018516316A Expired - Fee Related JP6433623B2 (ja) 2016-05-13 2016-05-13 データ処理装置、データ処理方法及びデータ処理プログラム

Country Status (5)

Country Link
US (1) US20200235958A1 (ja)
EP (1) EP3447643A4 (ja)
JP (1) JP6433623B2 (ja)
CN (1) CN109074298A (ja)
WO (1) WO2017195356A1 (ja)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8359112B2 (en) * 2006-01-13 2013-01-22 Emerson Process Management Power & Water Solutions, Inc. Method for redundant controller synchronization for bump-less failover during normal and program mismatch conditions
JP4645839B2 (ja) * 2006-01-18 2011-03-09 日本電気株式会社 セキュリティ通信装置およびシーケンスナンバー管理方法
JP2007323457A (ja) 2006-06-02 2007-12-13 Toshiba Corp 二重化コントローラのデータ伝送方法
JP5187249B2 (ja) * 2008-07-17 2013-04-24 富士通株式会社 冗長化システム用コネクションリカバリ装置,方法および処理プログラム
JP2010152591A (ja) * 2008-12-25 2010-07-08 Nec Corp データベースシステム、データ処理方法及びデータ処理プログラム
JP2011198205A (ja) * 2010-03-23 2011-10-06 Railway Technical Research Institute 二重系制御システム
WO2012176337A1 (ja) * 2011-06-24 2012-12-27 富士通株式会社 情報処理システム、情報処理システムの制御方法、管理装置および系切替プログラム
US9983958B2 (en) * 2014-07-25 2018-05-29 Netapp, Inc. Techniques for dynamically controlling resources based on service level objectives

Also Published As

Publication number Publication date
CN109074298A (zh) 2018-12-21
US20200235958A1 (en) 2020-07-23
WO2017195356A1 (ja) 2017-11-16
EP3447643A1 (en) 2019-02-27
JPWO2017195356A1 (ja) 2018-09-13
EP3447643A4 (en) 2019-06-05

Similar Documents

Publication Publication Date Title
US10484464B2 (en) Connection control device, connection control system, and non-transitory computer readable medium
US9853906B2 (en) Network prioritization based on node-level attributes
US10318363B2 (en) System and method for energy reduction based on history of reliability of a system
JP6398329B2 (ja) 制御装置、制御方法及びプログラム
US8230137B2 (en) Network processor, reception controller and data reception processing method performing direct memory access transfer
CN113746763B (zh) 一种数据处理的方法、装置和设备
KR101627081B1 (ko) 프로그래머블 로직 컨트롤러
JP6433623B2 (ja) データ処理装置、データ処理方法及びデータ処理プログラム
JP2019033369A (ja) データ処理装置及びその制御方法、並びにプログラム
JP2016201795A (ja) シンクノード状態の監視方法、装置及びシステム
JP6717184B2 (ja) 車載制御装置
CN115904719A (zh) 数据采集方法、装置、电子设备及存储介质
JP2017150989A (ja) 目標追尾装置
CN113010285B (zh) 用于处理数据的方法、装置、设备、介质和产品
US11342960B2 (en) Relay device, relay method, and computer program
JP2015156104A (ja) 自立制御システム、自立制御装置、自立制御方法およびプログラム
US8699347B2 (en) Communication apparatus, communication system, communication method, and a computer-readable medium
JP2013011987A (ja) 異常状態検知装置及び異常状態検知方法
CN110785967B (zh) 管理装置、通信系统、管理方法及存储介质
CN107977294B (zh) 监控电子元件温度的方法及装置
US20230359539A1 (en) Improved software monitoring of real-time services
US11734206B2 (en) Information processing device
KR101928420B1 (ko) 사물인터넷 단말의 상태 데이터 전송 방법
EP3721349B1 (en) Data from a source device to a data requester
KR20060080666A (ko) 다중 프로세서 시스템에서 부하를 분배하기 위한 장치 및방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180518

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20180518

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20180803

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180821

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181106

R150 Certificate of patent or registration of utility model

Ref document number: 6433623

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees