Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6907976B2 - コントローラ及びデータ保存方法 - Google Patents
[go: Go Back, main page]

JP6907976B2 - コントローラ及びデータ保存方法 - Google Patents

コントローラ及びデータ保存方法 Download PDF

Info

Publication number
JP6907976B2
JP6907976B2 JP2018046420A JP2018046420A JP6907976B2 JP 6907976 B2 JP6907976 B2 JP 6907976B2 JP 2018046420 A JP2018046420 A JP 2018046420A JP 2018046420 A JP2018046420 A JP 2018046420A JP 6907976 B2 JP6907976 B2 JP 6907976B2
Authority
JP
Japan
Prior art keywords
data
memory
management unit
data management
operating system
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
JP2018046420A
Other languages
English (en)
Other versions
JP2019159882A (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 JP2018046420A priority Critical patent/JP6907976B2/ja
Priority to CN201910025757.9A priority patent/CN110275797B/zh
Priority to EP19151798.6A priority patent/EP3540533B1/en
Priority to US16/248,773 priority patent/US20190286349A1/en
Publication of JP2019159882A publication Critical patent/JP2019159882A/ja
Application granted granted Critical
Publication of JP6907976B2 publication Critical patent/JP6907976B2/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/00Program-control systems
    • G05B19/02Program-control systems electric
    • G05B19/04Program control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Program control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0428Safety, monitoring
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0625Power saving in storage systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Program-control systems
    • G05B19/02Program-control systems electric
    • G05B19/04Program control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Program control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • G05B19/0425Safety, monitoring
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 operations
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 operations
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 operations
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1456Hardware arrangements for backup
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 operations
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/2053Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Program-control systems
    • G05B19/02Program-control systems electric
    • G05B19/04Program control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/058Safety, monitoring
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31215Upon modification of data in one database, automatic update of mirror databases
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 operations
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/835Timestamp
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/85Active fault masking without idle spares

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)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Retry When Errors Occur (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Programmable Controllers (AREA)
  • Power Sources (AREA)

Description

本発明は、プロセス管理等のデータのミラーリングを行うコントローラ及びデータ保存方法に関する。
プロセス制御システムにおいては、ロバスト性の観点から、制御対象の状態に関するプロセス管理データをミラーリング(同じ内容を同時に2箇所に記憶すること)データとして別途取り込むことが知られている。例えば特許文献1には、制御対象側の各種センサからのデータを取得するI/Oモジュール204が複数使用される態様において、これらのI/Oモジュール204を監視し制御する複数の制御モジュール206を冗長用として設け、かかる複数の制御モジュール206がI/Oモジュール204に関する情報データベースのミラーリングを実施するようにしたプロセス制御システムが記載されている。
また、プロセス制御システムにおいて、ユーザプログラム(制御プログラム)によって、高頻度で入力されるHMI(Human Machine Interface)データをバッファに取り込むと共にMRAM(Magnetoresistive Random AccessMemory)にも取り込むミラーリング処理が知られている。MRAMは、無限の書き換えを可能にし、高速かつ不揮発性を有することから、停電などの異常に対して強いロバスト性を発揮する。
特開2016−27565号公報
昨今、PLC(Programmable Logic Controller)と、HMIとしてのプログラマブル表示器とを備えて、機械や設備等の制御対象の動作を制御するIPC(産業用PC)システムが知られている。IPCは、Windows(登録商標)等の汎用OSで動作し、一般的にMRAMを備えていないため、HMIデータのミラーリング処理のためにMRAMに代わる技術が必要となる。
例えば、入力毎にHMIデータをディスク(HDD/SSD)にフラッシュ(書き込み)する代替え技術が考えられるが、高頻度での書込ではディスク寿命の問題が発生し、また書込中に電源遮断(電断)が生じるとデータが破損する虞がある。
また、仮想記憶空間にマッピングされるメモリマップドファイルを利用してHMIデータのミラーリング処理を行う代替え技術が考えられるが、ディスクへのフラッシュのタイミングによっては、データロスの問題が発生する。データロスを防ぐためには、HMIデータを高頻度でフラッシュすることになるため、上述と同じく、寿命の点で課題がある。
本発明は、上記に鑑みてなされたもので、専用のオペレーティングシステムでミラーリング処理を行うことで高いロバスト性を確保するコントローラ及びデータ保存方法を提供することを目的とするものである。
本発明に係るコントローラは、第1のオペレーティングシステムと制御対象の制御を行う第2のオペレーティングシステムとで動作する制御部を備えたコントローラであって、前記第1のオペレーティングシステム上で動作するアプリケーションプログラムによって、周期的に入力される第1のデータの取得処理を行う第1データ管理部と、前記第1データ管理部によって前記第1のデータが記憶される第1メモリと、前記第2のオペレーティングシステム上で動作するアプリケーションプログラムによって、前記第1データ管理部とデータの授受を行う第2データ管理部と、前記第2データ管理部によってデータが記憶される第2メモリとを備え、前記第1データ管理部は、取得した前記第1のデータをミラーリングデータとして前記第2データ管理部へ送信し、前記第2のデータ管理部は、前記ミラーリングデータを前記第2メモリに記憶することを特徴とするものである。
また、本発明に係るプロセス管理データ保存方法は、第1のオペレーティングシステムと制御対象の制御を行う第2のオペレーティングシステムとで動作する制御部が、前記第1のオペレーティングシステム上で動作するアプリケーションプログラムによって周期的に入力される第1のデータを取得する取得ステップと、前記取得ステップで取得された前記第1のデータを第1メモリに記憶する第1メモリステップと、前記取得ステップで取得された前記第1のデータをミラーリングデータとして前記第2のオペレーティングシステム側に送信する送信ステップと、前記第2のオペレーティングシステム上で動作するアプリケーションプログラムによって、前記ミラーリングデータを第2メモリに記憶する第2メモリステップとを行うものである。
これらの発明によれば、典型的には汎用の第1のオペレーティングシステム上で動作する第1データ管理部(アプリケーションプログラム)によって、継続的に取得されるようなHMIデータ等の第1のデータが適宜第1メモリに保存されると共に、取得された第1のデータはミラーリングデータとして、共通のプロセッサで動作する第2のオペレーティングシステム側に送信される。ミラーリングデータは、第2のオペレーティングシステム上で動作する第2データ管理部(アプリケーションプログラム)によって、第2メモリに保存されることでミラーリング処理が行われる。第1のデータを第2のオペレーティングシステム側で保存処理することで、第1のデータのデータ破損の防止、データロスの最小化、さらにデータ復旧が可能となる。また、一方のオペレーティングシステム側にフリーズ(ブルースクリーン含む)、異常終了、また電断等の異常が生じた場合でも第1のデータの復旧が可能となり、高いロバスト性が発揮される。
また、本発明は、前記第1データ管理部によって、前記第1のオペレーティングシステムのアプリケーションプログラムの終了時に前記第1メモリの内容が保存される第1不揮発性メモリを備えるものである。この構成によれば、第1のオペレーティングシステム側のアプリケーションプログラムの終了時点で、すなわち直前(最終)の第1のデータが保存されることで、最新データでの復旧が可能となる。
また、本発明は、前記制御部への電源遮断を検知する電断検知部と、前記電源遮断を検知されると、前記第2データ管理部によって、前記第2メモリの内容が保存される第2不揮発性メモリとを備えるものである。この構成によれば、電断等の異常終了時の第1のデータを退避保存可能とすることで、次の起動の際にデータ復旧が可能となる。
また、本発明は、前記制御部への電源遮断を検知する電断検知部と、前記電源遮断を検知されると、前記第2データ管理部によって、前記第2メモリの内容が保存される第2不揮発性メモリとを備え、前記第2データ管理部は、前記第1データ管理部からの要求に応答して前記第2不揮発性メモリの内容を前記第1データ管理部へ送信し、前記第1データ管理部は、前記制御部の起動時に、前記第1不揮発性メモリの内容を読み出して、受信した前記第2不揮発性メモリの内容と比較して、最新の内容を前記第1メモリに復元するものである。この構成によれば、第1のオペレーティングシステム側のアプリケーションプログラムが起動される際に、第1のオペレーティングシステム側で保存した第1のデータと第2のオペレーティングシステム側で保存したミラーリングデータのうち、最新側のデータが復旧に供される。
また、本発明は、前記第2データ管理部によってデータが記憶されるバックアップメモリを備え、前記第2データ管理部は、前記第2のオペレーティングシステムの起動時に前記第2不揮発性メモリの内容を前記バックアップメモリに読み出し、前記第1データ管理部からの要求に応答して前記バックアップメモリの内容を前記第1データ管理部へ送信するものである。この構成によれば、電断後に起動された第2のオペレーティングシステムによって第2不揮発性メモリの内容がバックアップメモリに読み込まれることによって、第1メモリの復旧時に、バックアップメモリの内容が、要求に応答して第1データ管理部へ送信され、データ復旧用に供される。
また、第2のオペレーティングシステムをリアルタイムオペレーティングシステムとすることで、プロセス制御における一連の処理を所定の処理時間で高い応答性をもって実行させるときに好適となる。
本発明によれば、第1のデータを高いロバスト性の下でミラーリングすることができる。
本発明に係るコントローラが適用される一例を示すIPCシステムの概要を示すブロック図である。 本発明に係るコントローラの一実施形態を示すブロック図である。 図2のコントローラの詳細な機能構成図である。 OSが実行する起動処理を示すフローチャートである。 OSが実行する稼働〜終了処理を示すフローチャートである。 リアルタイムOSが実行する電断処理等を示すフローチャートである。 コントローラの他のブロック図である。
図1は、本発明に係るコントローラが適用される一例を示すIPCシステムの概要を示すブロック図である。図1において、IPCシステム10は、パーソナルコンピュータ(PC)1、コントローラとしてのIPC(Industrial Personal Computer)3、及びIPC3の制御プログラムによって生成される制御信号によって動作が制御される各種乃至所要数の制御対象部2を備える。制御対象部2は、典型的には機械や設備等である。PC1は、システム管理者によって作成された、制御対象部2に所望の動作を行わせるためのアプリケーションプログラム、各種動作設定値(保持変数その他)を含む設定データファイルをIPC3側に記憶するためのパーソナルコンピュータである。
PC1とIPC3とはイーサネット(登録商標)L1で接続されて、情報の授受が可能にされている。また、IPC3と各種の制御対象部2とは、EtherCAT(登録商標)L2で接続されて、データの授受が可能にされている。EtherCAT(登録商標)L2は、産業用のオープンなネットワークで、フィールドネットワークとして利用されているものである。
IPC3は、タッチパネルから構成されるディスプレイ103と接続されている。IPC3は、PLC部(Programmable Logic Controller)とHMI部とを備えた構成を有する。IPC3は、ディスプレイ103側からの操作データの入力、制御対象部2乃至図略のセンサその他からの各データの入力、及びこれらの入力データから各制御対象部2の動作を行わせる制御信号(PLCデータ)の生成、出力を行う。なお、以下では、ディスプレイ103側からの操作データ、制御対象部2乃至図略のセンサその他からの各データのうちの、例えば制御信号を作成する際に用いる保持変数、異常やその内容を示すアラームデータ、及び各種のデータのログを含めてHMIデータ(本発明における第1のデータに相当)という。
IPC3内のCPU(プロセッサ)は、本実施形態では、HMIデータの取得、管理に関連する処理を行うWindows(登録商標)等の汎用のOS(Operating System)で動作すると共に、制御対象部2に対する一連の処理を所定の処理時間で高い応答性をもって実行させるに好適な組込式のQNX等のリアルタイムOSで動作する。
図2は、本発明に係るコントローラの一実施形態を示すブロック図である。図3は、図2のコントローラの詳細な機能構成図である。図2及び図3において、IPC3は、OS41上で動作するアプリケーションプログラムである第1RT(RunTime)42を備えたOS部4と、リアルタイムOS51上で動作するアプリケーションプログラムである、揮発性メモリへのミラーリング処理を実行する簡易RAID(Redundant Array of Inexpensive Disks)などのミラーリング処理部52及びPLCデータ531(第2のデータ)の処理用の第2RT(RunTime)53を備えたリアルタイムOS部5とからなるソフトウエア部分とを備えると共に、CPU(プロセッサ)60、メモリ601、ドライブストレージ61及び不揮発性メモリ62を有するハードウェア6を備える。なお、ドライブストレージ61は、HDD又はSSDの意味である。なお、不揮発性メモリ62に代えて、バッテリ付のSRAMなど、他の不揮発性メモリの実現手段を採用してもよい。
OS41及びリアルタイムOS51は、ハイパーバイザ7等を利用した仮想環境上で実行される。リアルタイムOS51は、信頼性の高いOSであり、制御対象部2を安定的に制御可能なものである。OS41は、リアルタイムOS51と比較すると、信頼性の面で劣る一方、汎用性が高く、種々の汎用アプリケーション又はユーザアプリケーションを実行させることができるものである。なお、ハイパーバイザ7とは、OS41、リアルタイムOS51よりも下位のレベルで動作するもので、ハードウェア構成を再現(エミュレート)することにより複数のOS(この例ではOS41、リアルタイムOS51)を制御し、1台のプロセッサ上で複数の仮想環境を構築することができるものである。
図2において、ミラーリング処理は、経時方向に順次入力されるHMIデータ403である保持変数、アラームデータ及びデータログが、OS41上の第1RT42によって、バッファ等に保存されると共にミラーリングデータとしてリアルタイムOS51側に送信される。リアルタイムOS51上のミラーリング処理部52によって、HMIデータ503はバッファ等に保存される。
HMIデータ403は、必要なタイミング、例えば第1RT42の終了時にハードウェア6のドライブストレージ61にファイルAとして保存される。このように適宜のタイミングでの保存処理によって、保存動作を低減し得ることからディスクの長寿命化が図れる。また、ミラーリング処理部52によってミラーリングデータとして保存されたHMIデータ503は、例えば異常発生時、本実施形態では、電源供給が停止したことが検知された時(電断が検知された時)に、不揮発性メモリ62にファイルBとして保存(退避)される。保存を異常発生等のタイミングで行わせることで、リアルタイムOS51の負荷を低減している。なお、リアルタイムOS51上で動作する第2RT53によって作成されるPLCデータ(第2のデータ)も、HMIデータ(第1のデータ)と同様、電断発生時に、不揮発性メモリ62にファイルCとして保存(退避)される。
また、OS41が起動した時、ファイルAであるHMIデータとファイルBであるHMIデータとは、例えば保存時点を示すタイムスタンプを比較されて、最新側のHMIデータが復旧用に供される。なお、タイムスタンプは、公知のように内部タイマ(図略)からの時間情報を対象情報に対する処理の時点で対応付けることで利用可能にされる。
次に、図3を用いて、OS部4側及びリアルタイムOS部5側の機能構成と、HMIデータの流れとを説明する。OS部4は、OS41及びOS41上で動作する第1RT42、例えばHMIアプリ412が実行されることによって、データ管理部411として機能する。OS部4には、さらに保持データバッファ413、通信I/F414を備えている。
データ管理部411は、稼働中に、ディスプレイ103や制御対象部2側から順次入力されてくる、前述のHMIデータを保持データバッファ413に更新的に保存すると共に、ミラーリングデータとして通信I/F414に出力する。また、データ管理部411は、HMIアプリ412の終了時に保持データバッファ413の内容をドライブストレージ61に保存する。また、データ管理部411は、起動時に、ドライブストレージ61に最後に保存されたHMIデータの読み出しと、リアルタイムOS5部側の不揮発性メモリ62に最後に保存されたHMIデータとを読み出し、両方のタイムスタンプを比較することで、最新側のHMIデータを選別し、保持データバッファ413に復元する。
リアルタイムOS5部は、リアルタイムOS51及びリアルタイムOS51上で動作するミラーリング処理部52が実行されることによって、データ管理部511、及び電断検知部512として機能する。電断検知部512は、種々の態様が考えられ、例えば電源ラインの電圧レベルを検出し、閾値と比較する一般的なセンサ構成でもよい。リアルタイムOS部5は、さらにバッファであるミラーリングデータ保持部513、バッファであるバックアップデータ保持部514、及び通信I/F515を備えている。通信I/F414と通信I/F515との間の通信方式は、特に問わず、例えばEthernet(登録商標)や仮想バス(VMBus)であってもよい。
データ管理部511は、稼働中に、通信I/F414から通信I/F515に送信されてきたミラーリングデータであるHMIデータをミラーリングデータ保持部513に格納する。また、データ管理部511は、電断が検知された時、ミラーリングデータ保持部513に格納されているHMIデータを、不揮発性メモリ62に書き込む。なお、電断対策としては種々の態様が採用可能であり、例えば内蔵充電池や公知の保護回路を内装するなどしてCPU60に遮断までの処理時間を確保させるものでもよい。また、データ管理部511は、リアルタイムOS51の起動時に、不揮発性メモリ62の最新のHMIデータをバックアップデータ保持部514に書き込む。また、データ管理部511は、通信I/F414から送信要求を受けると、バックアップデータ保持部514のHMIデータを通信I/F515を介して通信I/F414に送信する。
図4は、OS上で動作するデータ管理部411によって実行される起動処理を示すフローチャートである。HMIアプリ412が起動すると、OS部4のドライブストレージ61に保存されている保持データが読み出されて取得される(ステップS1)。次いで、リアルタイムOS部5に対して、バックアップデータ保持部514に保存されたバックアップデータに対する取得要求が発せられる(ステップS3)。データ管理部411は、取得要求に応答してリアルタイムOS部5側から送信され、取得されたバックアップデータと、ドライブストレージ61に保存されている保持データとのタイムスタンプから、保持データバッファ413への復元の要否を判断する(ステップS5)。すなわち、ドライブストレージ61に保存されている保持データの方が、リアルタイムOS部5側から取得されるバックアップデータよりも時間的に新しい場合、保持データの復元処理は不要となる。なお、この場合、ドライブストレージ61を書き込む態様でもよい。
一方、リアルタイムOS部5側から取得されるバックアップデータの方が、ドライブストレージ61に保存されている保持データよりも時間的に新しい場合、保持データの復元は必要、すなわちリアルタイムOS部5側から取得されたバックアップデータを保持データバッファ413に復元する(ステップS7)。これにより、HMIアプリの起動に応じて直近のバックアップデータが保持データバッファ413に復元されることになる。
図5は、OS上で動作するデータ管理部411によって実行される稼働〜終了処理を示すフローチャートである。起動後のHMIアプリ412は、稼働中において、HMIメインプログラム処理が、新たに入力されてきたHMIデータのデータ更新か、メインプログラム終了通知の受信かの判断を行う(ステップS11)。
HMIメインプログラム処理が、新たに入力されてきたHMIデータのデータ更新と判断された場合、当該HMIデータを保持対象のデータとして、更新処理が指示される(ステップS13)。すなわち、データ管理部411は、保持対象の保持データを保持データバッファ413に更新的に記憶する(ステップS15)。次いで、データ管理部411は、保持対象の保持データをミラーリングデータとしてリアルタイムOS部5側に送信する(ステップS17)。
一方、ステップS11において、HMIメインプログラム処理が、メインプログラム終了通知の受信と判断された場合、保持データバッファ413に保持されている保持データがドライブストレージ61にファイルとして保存される(ステップS19)。この時、タイムスタンプと対応付けて保存処理が行われることが好ましい。
図6は、リアルタイムOS上で動作するデータ管理部511によって実行される電断処理等を示すフローチャートである。まず、起動時に、バックアップデータが不揮発性メモリ62から取得される(ステップ#1)。取得されたバックアップデータは、バックアップデータ保持部514に保持される(ステップ#3)。この処理によって、起動直後から、OS部4からのバックアップデータ取得要求に応答することが可能となる。
次いで、電断通知の有無が判断される(ステップ#5)。電断通知がない場合、続いて、OS部4側からデータ受信の有無が判断される(ステップ#7)。OS部4側からのデータ受信がミラーリングデータの受信である場合、データ管理部511は、受信したミラーリングデータをミラーリングデータ保持部513に保存して(ステップ#9)、ステップ#5にリターンする。一方、OS部4側からデータ受信がバックアップデータ取得要求の受信である場合、データ管理部511は、バックアップデータをOS4側に送信して(ステップ#11)、ステップ#5にリターンする。
これに対し、ステップ#5で電断通知がある場合、データ管理部511は、ミラーリングデータ保持部513に保存されているミラーリングデータを、不揮発性メモリ62に書き込む(ステップ#13)。これにより、電断後の起動時に、電断時のタイムスタンプを付されたミラーリングデータが不揮発性メモリ62から読み込まれてバックアップデータ保持部514に保存される(ステップ#1,#3)。
なお、ミラーリングデータをミラーリングデータ保持部513に書き込む途中で電断が発生した場合を考慮して、ミラーリングデータ保持部513を、例えば2個設けて交互に又は冗長化(2重書き込み)することで、ミラーリングデータの完全性を担保するようにしてもよい。
図7は、コントローラの他のブロック図である。図7に示すIPC3Aは、図2のIPC3と比べて、ミラーリング処理部52を備えていない点、及びミラーリング処理を第2RTアプリ53から不揮発性メモリ62に直接書き込むようにした点である。IPC3Aは,OS41上で動作する第1RT42Aによって、経時方向に順次入力されるHMIデータをバッファすると共に、ミラーリングデータとしてOS41を介して、不揮発性メモリ62に直接書き込む。なお、バッファされたHMIデータは、所定のタイミング、例えば第1RTアプリ42Aが終了する時点でドライブストレージ61に保存される。これにより、ドライブストレージ61は、長寿命化が図られ、またHMIデータの入力毎に高頻度で書き込む場合に比してデータロスが低減され、さらにリアルタイムOS部5A側の負荷が軽減される。
なお、本実施形態では、HMIデータ、ミラーリングデータの保存用として、保持データバッファ413、ミラーリングデータ保持部(バッファ)513で説明したが、揮発性メモリに限らず、不揮発性のメモリであってもよい。また、本実施形態では、CPU60をシングルプロセッサとして説明したが、各OSを制御するマルチプロセッサを採用する態様でもよい。
この発明は、前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
3 IPC(コントローラ)
41 OS(第1のオペレーティングシステム)
411 データ管理部(第1データ管理部)
42 第1RT(アプリケーションプログラム)
412 HMIアプリ(アプリケーションプログラム)
413 保持データバッファ(第1メモリ)
51 リアルタイムOS(第2のオペレーティングシステム)
511 データ管理部(第2データ管理部)
512 電断検知部
513 ミラーリングデータ保持部(第2メモリ)
514 バックアップデータ保持部(バックアップメモリ)
52 ミラーリング処理部(アプリケーションプログラム)
60 CPU(制御部)
61 ドライブストレージ(第1不揮発性メモリ)
62 不揮発性メモリ(第2不揮発性メモリ)

Claims (4)

  1. 第1のオペレーティングシステムと制御対象の制御を行う第2のオペレーティングシステムとで動作する制御部と、
    前記第1のオペレーティングシステム上で動作するアプリケーションプログラムによって、周期的に入力される第1のデータの取得処理を行う第1データ管理部と、
    前記第1データ管理部によって前記第1のデータが記憶される第1メモリと、
    前記第2のオペレーティングシステム上で動作するアプリケーションプログラムによって、前記第1データ管理部とデータの授受を行う第2データ管理部と、
    前記第2データ管理部によってデータが記憶される第2メモリとを備え、
    前記第1データ管理部は、取得した前記第1のデータをミラーリングデータとして前記第2データ管理部へ送信し、
    前記第2データ管理部は、前記ミラーリングデータを前記第2メモリに記憶する、コントローラであって、
    前記制御部への電源遮断を検知する電断検知部と、
    前記第1データ管理部によって、前記第1のオペレーティングシステムのアプリケーションプログラムの終了時に前記第1メモリの内容が保存される第1不揮発性メモリと、
    前記電断検知部によって電源遮断が検知されると、前記第2データ管理部によって、前記第2メモリの内容が保存される第2不揮発性メモリと、を備え、
    前記第2データ管理部は、前記第1データ管理部からの要求に応答して前記第2不揮発性メモリの内容を前記第1データ管理部へ送信し、
    前記第1データ管理部は、前記制御部の起動時に、前記第1不揮発性メモリの内容を読み出して、受信した前記第2不揮発性メモリの内容と比較して、最新の内容を前記第1メモリに復元する、コントローラ。
  2. 前記第2データ管理部によってデータが記憶されるバックアップメモリを備え、
    前記第2データ管理部は、前記第2のオペレーティングシステムの起動時に前記第2不揮発性メモリの内容を前記バックアップメモリに読み出し、前記第1データ管理部からの要求に応答して前記バックアップメモリの内容を前記第1データ管理部へ送信する請求項に記載のコントローラ。
  3. 前記第2のオペレーティングシステムは、リアルタイムオペレーティングシステムである請求項1、または2に記載のコントローラ。
  4. 第1のオペレーティングシステムと制御対象の制御を行う第2のオペレーティングシステムとで動作する制御部が、
    前記第1のオペレーティングシステム上で動作するアプリケーションプログラムによって周期的に入力される第1のデータを取得する取得ステップと、
    前記取得ステップで取得された前記第1のデータを第1メモリに記憶する第1メモリステップと、
    前記取得ステップで取得された前記第1のデータをミラーリングデータとして前記第2のオペレーティングシステム側に送信する送信ステップと、
    前記第2のオペレーティングシステム上で動作するアプリケーションプログラムによって、前記ミラーリングデータを第2メモリに記憶する第2メモリステップとを行うデータ保存方法であって、
    さらに、前記制御部が、
    電源遮断を検知する電断検知ステップと、
    前記第1のオペレーティングシステムのアプリケーションプログラムの終了時に前記第1メモリの内容を第1不揮発性メモリを記憶する第3メモリステップと、
    前記電断検知ステップで前記電源遮断が検知されると、前記第2メモリの内容を第2不揮発性メモリに記憶する第4メモリステップと、
    起動時に、前記第1不揮発性メモリの内容、および前記第2不揮発性メモリの内容を取得し、これらを比較して、最新の内容を前記第1メモリに復元する復元ステップと、
    を行うデータ保存方法。
JP2018046420A 2018-03-14 2018-03-14 コントローラ及びデータ保存方法 Active JP6907976B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018046420A JP6907976B2 (ja) 2018-03-14 2018-03-14 コントローラ及びデータ保存方法
CN201910025757.9A CN110275797B (zh) 2018-03-14 2019-01-11 控制器以及数据保存方法
EP19151798.6A EP3540533B1 (en) 2018-03-14 2019-01-15 Controller and data storage method
US16/248,773 US20190286349A1 (en) 2018-03-14 2019-01-16 Controller and data storage method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018046420A JP6907976B2 (ja) 2018-03-14 2018-03-14 コントローラ及びデータ保存方法

Publications (2)

Publication Number Publication Date
JP2019159882A JP2019159882A (ja) 2019-09-19
JP6907976B2 true JP6907976B2 (ja) 2021-07-21

Family

ID=65033386

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018046420A Active JP6907976B2 (ja) 2018-03-14 2018-03-14 コントローラ及びデータ保存方法

Country Status (4)

Country Link
US (1) US20190286349A1 (ja)
EP (1) EP3540533B1 (ja)
JP (1) JP6907976B2 (ja)
CN (1) CN110275797B (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019121376A1 (de) * 2019-08-07 2021-02-11 Lenze Se (Societas Europaea) Mosaiq

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001051854A (ja) * 1999-08-12 2001-02-23 Hitachi Ltd 情報管理システム
CN101937376B (zh) * 2009-06-30 2016-03-30 联想(北京)有限公司 一种数据管理方法及数据存储装置
US9063886B2 (en) * 2009-09-18 2015-06-23 Apple Inc. Metadata redundancy schemes for non-volatile memories
CN105281061A (zh) 2014-07-07 2016-01-27 基岩自动化平台公司 工业控制系统电缆
US10452321B2 (en) * 2015-01-23 2019-10-22 Hitachi, Ltd. Storage system and control method therefor
JP6479608B2 (ja) * 2015-08-28 2019-03-06 東芝メモリ株式会社 メモリ装置およびメモリ制御方法
JP6971016B2 (ja) * 2016-04-07 2021-11-24 オムロン株式会社 制御装置、制御方法およびプログラム

Also Published As

Publication number Publication date
EP3540533A1 (en) 2019-09-18
JP2019159882A (ja) 2019-09-19
EP3540533B1 (en) 2022-06-15
CN110275797A (zh) 2019-09-24
US20190286349A1 (en) 2019-09-19
CN110275797B (zh) 2023-05-23

Similar Documents

Publication Publication Date Title
JP5224240B2 (ja) 計算機システム及び管理計算機
JP5183542B2 (ja) 計算機システム及び設定管理方法
US20160048120A1 (en) Programmable logic controller system and programmable logic controller
JP2009211517A (ja) 仮想計算機冗長化システム
JP6907976B2 (ja) コントローラ及びデータ保存方法
JP5579257B2 (ja) 主記憶装置における情報を復元するための装置及び方法
JP2010176201A (ja) フラッシュメモリのデータ消失防止装置及びフラッシュメモリのデータ消失防止方法
US8453007B2 (en) Storage device and recovery method
CN117785554A (zh) 设备掉电数据保持方法、系统、设备和可读存储介质
JP2008262426A (ja) 2重化コントローラシステム、そのコントローラ
TWI541724B (zh) 寫入基本輸入輸出系統程式碼的電路與寫入方法
JP2009025967A (ja) 二重化ファームウェアのバックアップ方式、方法、及び、オペレーティングシステム
WO2014112039A1 (ja) 情報処理装置、情報処理装置制御方法及び情報処理装置制御プログラム
KR102267485B1 (ko) 로봇 제어장치, 로봇시스템 및 로봇 제어방법
JP5180578B2 (ja) 業務継続システム
JP2004206239A (ja) Raid装置
JPH09330303A (ja) コンピュータシステムおよびそのシステムにおける障害回復方法
JP5161600B2 (ja) 情報処理装置およびデータ復旧方法
JP6835422B1 (ja) 情報処理装置及び情報処理方法
JP2000347758A (ja) 情報処理装置
JPH07129208A (ja) 数値制御装置
JP2019016218A (ja) 情報処理装置、制御装置および情報処理装置の制御方法
JPH0394352A (ja) データ破壊領域検出処理方式
JPH0395634A (ja) 計算機システム再起動制御方式
JPH04124740A (ja) 計算機における障害情報保存システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200303

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210406

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210526

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210614

R150 Certificate of patent or registration of utility model

Ref document number: 6907976

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250