JP2018055583A - 制御装置、制御方法およびプログラム - Google Patents

制御装置、制御方法およびプログラム Download PDF

Info

Publication number
JP2018055583A
JP2018055583A JP2016193717A JP2016193717A JP2018055583A JP 2018055583 A JP2018055583 A JP 2018055583A JP 2016193717 A JP2016193717 A JP 2016193717A JP 2016193717 A JP2016193717 A JP 2016193717A JP 2018055583 A JP2018055583 A JP 2018055583A
Authority
JP
Japan
Prior art keywords
power
storage unit
unit
information
file 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.)
Granted
Application number
JP2016193717A
Other languages
English (en)
Other versions
JP6790686B2 (ja
Inventor
孝昌 見置
Takamasa Mioki
孝昌 見置
瑞樹 森
Mizuki Mori
瑞樹 森
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
Omron Tateisi Electronics Co
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, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2016193717A priority Critical patent/JP6790686B2/ja
Priority to EP17185689.1A priority patent/EP3301526B1/en
Priority to CN201710695107.6A priority patent/CN107885305B/zh
Priority to US15/678,647 priority patent/US10698463B2/en
Publication of JP2018055583A publication Critical patent/JP2018055583A/ja
Application granted granted Critical
Publication of JP6790686B2 publication Critical patent/JP6790686B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/266Arrangements to supply power to external peripherals either directly from the computer or under computer control, e.g. supply of power through the communication port, computer controlled power-strips
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/406Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
    • G05B19/4067Restoring data or position after power failure or other interruption
    • 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/045Programme control other than numerical control, i.e. in sequence controllers or logic controllers using logic state machines, consisting only of a memory or a programmable logic device containing the logic for the controlled machine and in which the state of its outputs is dependent on the state of its inputs or part of its own output states, e.g. binary decision controllers, finite state controllers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/263Arrangements for using multiple switchable power supplies, e.g. battery and AC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • 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/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • 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/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0638Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17748Structural details of configuration resources
    • H03K19/1776Structural details of configuration resources for memories
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17748Structural details of configuration resources
    • H03K19/17772Structural details of configuration resources for powering on or off
    • 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/15Plc structure of the system
    • G05B2219/15097Power supply
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/205Hybrid memory, e.g. using both volatile and non-volatile memory
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J9/00Circuit arrangements for emergency or stand-by power supply, e.g. for emergency lighting
    • H02J9/04Circuit arrangements for emergency or stand-by power supply, e.g. for emergency lighting in which the distribution system is disconnected from the normal source and connected to a standby source
    • H02J9/06Circuit arrangements for emergency or stand-by power supply, e.g. for emergency lighting in which the distribution system is disconnected from the normal source and connected to a standby source with automatic change-over, e.g. UPS systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Automation & Control Theory (AREA)
  • Manufacturing & Machinery (AREA)
  • Human Computer Interaction (AREA)
  • Power Engineering (AREA)
  • Library & Information Science (AREA)
  • Programmable Controllers (AREA)
  • Retry When Errors Occur (AREA)
  • Safety Devices In Control Systems (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】部品点数の増大を抑制しつつ、電断が発生した後に電断前の状態に安定して復帰することができる制御装置を提供する。【解決手段】PLC1の制御部30は、電断時に保持すべき電断時保持情報42を生成し、生成した電断時保持情報42をメインメモリ16に格納する。制御部30は、不揮発性メモリ14に対して対象情報の読み込みおよび書き込みを行なうためのファイルシステム部34を含む。ファイルシステム部34は、不揮発性メモリ14に対して対象情報の読み込みおよび書き込みのいずれかの処理を行なっている場合に電断通知を受けたとき、当該処理を中止し、予備電源部から供給される電力を用いて、メインメモリ16に格納された電断時保持情報42を不揮発性メモリ14に書き込む。【選択図】図3

Description

本技術は、設備または機械を制御する制御装置、制御方法およびプログラムに関する。
従来、設備または機械を制御するためのFA(Factory Automation)関連装置の一例としてPLC(Programmable Logic Controller、あるいは、プログラマブルコントローラとも称される)が知られている。
PLCは、設備または機械を制御するための制御プログラムが参照する設定情報などの情報を適宜不揮発性メモリに書き込み、必要なタイミングで当該情報を読み出す。
特開2010−176386号公報(特許文献1)には、停電等の外部電源からの電力供給が遮断される電断時における情報の破損を防止するために、書き込み前のデータ領域およびデータ値と、書き込み後のデータ領域およびデータ値とを二重に持つ技術が開示されている。
特開2010−176386号公報
ところで、電断後に再度PLCを起動させる際、電断前の状態に復帰することが好ましい。しかしながら、特開2010−176386号公報には、情報の破損を防止する技術が開示されているものの、電断前の状態に復帰するために用いられる電断時に保持すべき情報(以下、電断時保持情報という)を電断時に書き込むことについて開示されていない。そのため、再度PLCを起動させたときに、電断前の状態に安定して復帰することができないという問題が生じる。
そこで、電断時以外の通常時に使用される不揮発性メモリとは別に、電断時保持情報を記憶するための専用不揮発性メモリを設けるととともに、制御プログラムを実行するプロセッサとは別に、電断時保持情報を専用不揮発性メモリに格納するように構成された専用プロセッサを設けることが考えられる。しかしながら、この場合、専用不揮発性メモリおよび専用プロセッサの分だけ部品点数が多くなるという問題が生じる。
本発明は、部品点数の増大を抑制しつつ、電断が発生した後に電断前の状態に安定して復帰することができる制御装置、制御方法およびプログラムを提供することを目的とする。
本技術のある局面に従う設備または機械を制御する制御装置は、揮発性記憶部と、不揮発性記憶部と、外部電源からの電力供給が遮断される電断時に電力を供給するための予備電源部と、電断時に保持すべき電断時保持情報を生成し、生成した電断時保持情報を揮発性記憶部に格納するための制御部とを備える。制御部は、不揮発性記憶部に対して対象情報の読み込みおよび書き込みを行なうためのファイルシステム部を含む。ファイルシステム部は、不揮発性記憶部に対して対象情報の読み込みおよび書き込みのいずれかの処理を行なっている場合に外部電源からの電力供給が遮断されたことを示す電断通知を受けたとき、不揮発性記憶部に対する当該処理を中止し、予備電源部から供給される電力を用いて、揮発性記憶部に格納された電断時保持情報を不揮発性記憶部に書き込む。
好ましくは、不揮発性記憶部は、第1の領域と第2の領域とを含む。ファイルシステム部は、電断通知を受けた場合、第1の領域に対象情報の読み込みおよび書き込みのいずれかの処理を行なっているときに当該処理を中止し、第2の領域に対象情報の読み込みおよび書き込みのいずれかの処理を行なっているときに当該処理を続けて行なう。
好ましくは、ファイルシステム部は、対象情報を複数の記録単位に分割し、不揮発性記憶部に対して記録単位で読み込みおよび書き込みを行なう。ファイルシステム部は、電断通知を受けたときの処理対象の記録単位についての処理が完了した後に、電断時保持情報を不揮発性記憶部に書き込む。
好ましくは、ファイルシステム部は、不揮発性記憶部に対して対象情報を書き込む場合には、当該対象情報に付属する付属情報を不揮発性記憶部に書き込む。ファイルシステム部は、不揮発性記憶部に対して対象情報の書き込みを行なっているときに電断通知を受けた場合には、当該対象情報に対応する付属情報を、電断通知を受けるまでに不揮発性記憶部に書き込んだ情報に応じて更新する。
本技術の別の局面に従う、設備または機械を制御する制御装置での制御方法は、電断時に保持すべき電断時保持情報を生成し、生成した電断時保持情報を揮発性記憶部に格納するステップと、不揮発性記憶部に対して対象情報の読み込みおよび書き込みのいずれかの処理を行なっている場合に外部電源からの電力供給が遮断されたことを示す電断通知を受けたとき、不揮発性記憶部に対する当該処理を中止し、予備電源部から供給される電力を用いて、揮発性記憶部に格納された電断時保持情報を不揮発性記憶部に書き込むステップとを備える。
本技術のさらに別の局面に従う、設備または機械を制御するための制御装置において実行されるプログラムは、電断時に保持すべき電断時保持情報を生成し、生成した電断時保持情報を揮発性記憶部に格納するステップと、不揮発性記憶部に対して対象情報の読み込みおよび書き込みのいずれかの処理を行なっている場合に外部電源からの電力供給が遮断されたことを示す電断通知を受けたとき、不揮発性記憶部に対する当該処理を中止し、予備電源部から供給される電力を用いて、揮発性記憶部に格納された電断時保持情報を不揮発性記憶部に書き込むステップとを、制御装置のプロセッサに実行させる。
本発明によれば、部品点数の増大を抑制しつつ、電断が発生した後に電断前の状態に安定して復帰することができる。
本発明の実施の形態に従うPLCのハードウェア構成の一例を示す模式図である。 図1に示すPLCにおいて実行されるソフトウェア構成の一例を示す模式図である。 図1に示すPLCの主たる機能的構成の一例を示す模式図である。 図1に示すPLCにおける電断時の処理手順の一例を示すシーケンス図である。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
<PLCのハードウェア構成>
図1は、本実施の形態に従うPLC1のハードウェア構成の一例を示す模式図である。PLC1は、設備または機械の動作を制御するために用いられる制御装置である。図1に示すPLC1は、基本的には、汎用アーキテクチャに従うコンピューティングエレメントによって構成されており、汎用のパーソナルコンピュータに類似したハードウェア構成を有している。
図1を参照して、PLC1は、プロセッサ10と、システムコントローラ12と、不揮発性メモリ14と、メインメモリ16と、ネットワークインターフェース(Interface:図中「I/F」と記す。)18と、入出力インターフェース20と、電源ユニット24と、電断検知部26と、予備電源部28とを備える。
プロセッサ10は、各種プログラムを実行する算術論理演算装置であり、典型的には、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)などを含み得る。プロセッサ10は、システムコントローラ12から内部クロックに従って順次供給される命令コードを解釈して実行する。プロセッサ10は複数個が実装されていてもよく、あるいは、単一のプロセッサ10内に複数の演算コアが実装されていてもよい。すなわち、いわゆるマルチプロセッサであってもよいし、マルチコアであってもよい。
システムコントローラ12は、プロセッサ10と周辺装置との間で内部的なデータを遣り取りするととともに、プロセッサ10に必要な命令コードを生成する。さらに、システムコントローラ12は、プロセッサ10での演算処理の実行の結果得られたデータなどをキャッシュする機能を有する。システムコントローラ12は、典型的には、LSI(Large Scale Integration)などによって実装される。
メインメモリ16は、たとえばRAM(Random Access Memory)などの揮発性記憶部であり、プロセッサ10においてプログラムを実行するために必要なワークデータや外部との遣り取りによって取得されたデータなどを一時的に格納する。メインメモリ16は、典型的には、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)といった揮発性の記憶装置によって実装される。
不揮発性メモリ14は、プロセッサ10によって実行されるプログラムやプロセッサ10によるプログラムの実行により生成された情報を不揮発的に格納するストレージデバイス(不揮発性記憶部)である。
ネットワークインターフェース18は、他の装置との間でデータを遣り取りするためのインターフェースであり、例えば、上位コンピュータまたは上位ネットワークに接続するためのポート、フィールドネットワークまたはフィールドバスを介して各種フィールド機器(設備、機械、センサなど)に接続するためのポート、他の制御装置との間でデータを遣り取りするためのポートなどを含み得る。ネットワークインターフェース18は、任意の規格に従うデバイスを用いることができ、例えば、Ethernet(登録商標)、EtherCAT(登録商標)などの有線方式、あるいは、無線LAN(Local Area Network)、Bluetooth(登録商標)などの無線方式のいずれであってもよい。
入出力インターフェース20は、入出力ユニットに相当するものであり、フィールド機器との間で、フィールド信号(デジタル入出力信号、アナログ入出力信号、パルス信号など)を遣り取りする。
メモリカードインターフェイス22は、メモリカード3(例えば、SDカード(登録商標)など)に対して情報の読み出しおよび書き込みを行なう。
電源ユニット24は、外部電源2から供給される電力を所定の電圧に変換して各部へ供給する。電源ユニット24は、典型的には、スイッチングレギュレータなどを含む。電源ユニット24は、電源ボタンを含み、電源ボタンに対するユーザ操作に応じて、所定の電圧を各部へ供給するオン状態と、所定の電圧を各部に供給しないオフ状態とを切り替える。
電断検知部26は、電源ユニット24の動作状態を監視しており、電断開始タイミングを検知した場合に電断信号をシステムコントローラ12に出力する。電断開始タイミングとは、外部電源2から電源ユニット24を介して所定の電圧が各部に供給される状態から当該電圧が各部に供給されない状態に変化したタイミングである。電断開始タイミングには、電源ユニット24に含まれる電源ボタンが操作されることによりオン状態からオフ状態に切り替えられたタイミング、および、停電等により外部電源2から電源ユニット24への電力供給が遮断されたタイミングが含まれる。
予備電源部28は、電断開始タイミングから所定の時間(たとえば、数10msec〜数100msec)だけ、所定の電圧を各部に供給する。予備電源部28は、たとえばコンデンサなどの蓄電器によって構成され、電断開始タイミングより前に電源ユニット24から供給される電力に基づいて充電し、電断開始タイミングから放電する。
<PLCのソフトウェア構成>
図2は、PLC1において実行されるソフトウェア構成の一例を示す模式図である。図2を参照して、PLC1において実行されるソフトウェアは、リアルタイムOS(Operating System)100と、PLC制御プログラム110と、ユーザプログラム120との3階層となっている。
リアルタイムOS100は、コンピュータアーキテクチャに応じて設計されており、プロセッサ10がPLC制御プログラム110およびユーザプログラム120を実行するための基本的な実行環境を提供する。
リアルタイムOS100は、不揮発性メモリ14に対する情報の読み出しおよび書き込みの機能を提供するファイルシステム102を含む。
PLC制御プログラム110は、リアルタイムOS100の上層で動作し、ユーザプログラム120へ必要な機能を提供するためのプラットフォームである。PLC制御プログラム110は、周辺機器とのインターフェース制御機能などを実現する複数のサブシステムから構成される。
PLC制御プログラム110に含まれるサブシステムとしては、たとえば、スケジューラプログラム、出力処理プログラム、入力処理プログラム、シーケンス命令演算プログラムおよびモーション演算プログラムなどが含まれる。
スケジューラプログラムは、各実行サイクルでの処理開始および処理中断後の処理再開を制御する。
出力処理プログラムは、ユーザプログラム120の実行によって生成された出力データを、ネットワークインターフェース18および/または入出力インターフェース20へ転送するのに適した形式に再配置する。
入力処理プログラムは、ネットワークインターフェース18および/または入出力インターフェース20によって受信された入力データを、ユーザプログラム120が使用するのに適した形式に再配置する。
シーケンス命令演算プログラムは、ユーザプログラム120で使用されるある種のシーケンス命令が実行されるときに呼び出されて、その命令の内容を実現するために実行されるプログラムである。
モーション演算プログラムは、ユーザプログラム120による指示に従って実行され、設備または機械を駆動するためのモータドライバに対して出力する指令値を算出するプログラムである。
ユーザプログラム120は、PLC制御プログラム110の上層で動作し、設備または機械を制御するためのプログラムである。
リアルタイムOS100およびPLC制御プログラム110は、PLC1の製造段階で不揮発性メモリ14に格納される。ただし、ユーザは、リアルタイムOS100およびPLC制御プログラム110が格納されたメモリカード3(図1参照)をPLC1に接続し、当該メモリカード3から不揮発性メモリ14にリアルタイムOS100およびPLC制御プログラム110をインストールしてもよい。
ユーザプログラム120は、制御対象となる設備または機械に応じてユーザによって任意に設計され、PLC1に実装される。
<PLCの機能的構成>
図3は、PLC1の主たる機能的構成の一例を示す模式図である。図3を参照して、PLC1は、プログラム実行部32とファイルシステム部34とを含む制御部30を備える。
制御部30は、制御対象となる設備または機械を制御する。制御部30は、図1に示すプロセッサ10が図2に示すソフトウェアを実行することにより実現される機能ブロックである。プログラム実行部32は、プロセッサ10が主に図2に示すPLC制御プログラム110およびユーザプログラム120を実行することにより実現される機能ブロックである。ファイルシステム部34は、プロセッサ10が図2に示すファイルシステム102を実行することにより実現される機能ブロックである。
制御部30は、プログラム実行部32における処理に用いられる各種の情報を、ワークメモリとして用いられるメインメモリ16に随時格納する。
メインメモリ16に格納される情報には、プログラム実行部32の稼働中に継続的に保持すべき継時的保持情報40と、電断後の起動の際に電断前の状態に復帰するために必要な、電断時に保持すべき電断時保持情報42とが含まれる。
継時的保持情報40には、たとえば、ユーザプログラム120本体、PLC制御プログラム110本体、PLC制御プログラム110のサブシステムのバイナリ情報、制御用設定情報、内部履歴情報を含む。
制御用設定情報は、PLC制御プログラム110によって設定および参照される情報のうち、電断時に保持する必要がなく、任意のタイミングで保持しておけばよい情報である。制御用設定情報は、たとえば、PLC制御プログラム110のサブシステムの初期化ファイルやネットワーク構成情報である。
内部履歴情報とは、PLC制御プログラム110により設定および参照され、PLC1の内部で発生したイベントを示す情報(ログ情報)である。不具合解析用の情報なども内部履歴情報に含まれる。
電断時保持情報42には、たとえば、保持変数、制御用フラグが含まれる。保持変数は、ユーザプログラム120により設定および参照され、制御対象となる設備または機械の状態に関連するパラメータである。たとえば、PLC1がロボットのアームの制御に使用されている場合、当該パラメータには、ロボットのアームの位置情報などが含まれる。メインメモリ16に格納される保持変数は、制御対象の状態変化に応じて制御部30により更新される。電断後にPLC1が起動したとき、保持変数は、PLC1が電断直前の制御対象の状態を把握するために必要とされる。
制御用フラグは、PLC制御プログラム110により設定および参照され、ユーザプログラム120の動作状態と連動して変化するフラグパラメータである。メインメモリ16に格納される制御用フラグは、ユーザプログラム120の動作状態に応じて制御部30により更新される。電断後にPLC1が起動したとき、制御用フラグは、PLC制御プログラム110をユーザプログラム120の動作状態を電断直前の状態に復帰させるために必要とされる。
プログラム実行部32は、ユーザプログラム120またはPLC制御プログラム110に従って、メインメモリ16に格納された情報のうちの少なくとも一部を対象情報として、不揮発性メモリ14に対する対象情報の読み出しおよび書き込みをファイルシステム部34に指示する。
具体的には、プログラム実行部32は、メインメモリ16に格納された継時的保持情報40のうち、不揮発性メモリ14に書き込むべき情報を特定する。プログラム実行部32は、特定した継時的保持情報40の不揮発性メモリ14への書き込み指示をファイルシステム部34に出力する。
プログラム実行部32は、電断検知部26から電断信号を受けると、メインメモリ16から電断時保持情報42を読み出し、読み出した電断時保持情報42の書き込み指示と電断通知とをファイルシステム部34に出力する。
ファイルシステム部34は、不揮発性メモリ14のファイルシステム管理領域14aに対する情報の管理を行なう。具体的には、ファイルシステム部34は、プログラム実行部32からの指示に従って、指示された対象情報の不揮発性メモリ14に対する読み出しおよび書き込みを行なう。ファイルシステム部34は、指示された対象情報について順次処理を行なう。
ファイルシステム部34は、対象情報に対応する書込信号を不揮発性メモリ14に出力することにより、不揮発性メモリ14に対象情報を書き込む。このとき、ファイルシステム部34は、対象情報を複数の記録単位に分割し、記録単位ごとに不揮発性メモリ14に対して読み出しまたは書き込みを行なう。記録単位は、予め定められたサイズを有している。
ファイルシステム部34は、不揮発性メモリ14への対象情報の書き込みに先立って、当該対象情報に付属する付属情報をヘッダーとして不揮発性メモリ14に書き込む。付属情報には、対象情報が書き込まれるメモリ領域のアドレスなどが含まれる。
ファイルシステム部34は、プログラム実行部32から継時的保持情報40または電断時保持情報42の書き込み指示を受けた場合、当該指示に従って、不揮発性メモリ14のファイルシステム管理領域14aに継時的保持情報40または電断時保持情報42を順次書き込む。
ただし、ファイルシステム部34は、電断時保持情報42の書き込み指示と電断通知とを受けた場合にその前に指示された継時的保持情報40に対する処理(書き込みまたは読み出し)を行なっているときには、当該継時的保持情報40に対する処理を中止し、電断時保持情報42の書き込み処理を開始する。
電断通知を受ける場合、外部電源2から電源ユニット24を介した電力供給が遮断され、予備電源部28から電力がPLC1に供給される。予備電源部28から電力が供給される時間(以下、予備電源保持期間という)は限られている。そのため、継時的保持情報40の処理が完了してから電断時保持情報42の書き込みを開始した場合、電断時保持情報42の書き込みが完了する前に予備電源保持期間が終了する可能性がある。
しかしながら、ファイルシステム部34は、電断通知を受けた場合、処理中の継時的保持情報40よりも電断時保持情報42を優先させて書き込みを行なう。また、通常想定される電断時保持情報42の書き込みに要する時間よりも予備電源保持期間が長くなるように、予備電源部28における蓄電可能量が設定される。これにより、電断時保持情報42をより確実に不揮発性メモリ14に書き込むことができる。
ファイルシステム部34は、電断通知を受けたときに処理している対象情報の記録単位に対する処理を完了させた後、残りの記録単位のデータを破棄することにより、継時的保持情報40に対する処理を中止すればよい。上述したように、ファイルシステム部34は、記録単位ごとに処理を行なうように設計されている。そのため、電断通知を受けたときも記録単位の区切りで処理を中止することにより、ファイルシステム部34に対して、記録単位の途中で処理を中止する設計を別途組み込む必要がなく、ファイルシステム部34を容易に設計することができる。
また、ファイルシステム部34は、電断通知を受けた場合に不揮発性メモリ14への継時的保持情報40の書き込みを中止したとき、不揮発性メモリ14に既に書き込みが終了した情報に応じて付属情報を更新する。
<電断時の処理手順>
図4は、PLC1における電断時の処理手順の一例を示すシーケンス図である。図4に示す例では、不揮発性メモリ14に対して継時的保持情報40を書き込んでいる最中(つまり、ファイルシステム部34が継時的保持情報40の書き込み信号を不揮発性メモリ14に出力している最中)の時刻t1に電断が生じたものとする。
時刻t1において、電断検知部26は、電断を検知し、電断信号を制御部30に出力する。このとき、予備電源部28は、電力の供給を開始する。電断信号を受けたプログラム実行部32は、メインメモリ16から電断時保持情報42を読み出し、読み出した電断時保持情報42と電断通知とをファイルシステム部34に出力する。
電断通知を受けたファイルシステム部34は、不揮発性メモリ14に対する継時的保持情報40の書き込みの中止処理を行なう。具体的には、ファイルシステム部34は、電断通知を受けたときに書き込み中の記録単位の処理のみ継続して行ない、当該記録単位より後の記録単位のデータを破棄する。また、ファイルシステム部34は、電断通知を受けたときに処理中の継時的保持情報40に対応する付属情報を、処理済のデータに応じて更新する。
電断通知を受けたときに書き込み中の記録単位の処理が完了し、かつ、付属情報の更新が完了した時刻t2から、ファイルシステム部34は、電断時保持情報42の書き込み信号を不揮発性メモリ14に出力し、電断時保持情報42の書き込みを開始する。その後、ファイルシステム部34は、時刻t3において、電断時保持情報42の書き込みを完了する。ここで、上述したように、通常想定される電断時保持情報42の書き込みに要する時間よりも予備電源保持期間が長くなるように、予備電源部28における蓄電可能量が設定される。これにより、予備電源保持期間が終了する時刻t4よりも前の時刻t3に、ファイルシステム部34は、電断時保持情報42の書き込みを完了することができる。その結果、電断時保持情報42をより確実に不揮発性メモリ14に保存することができ、PLC1は、電断後に起動したときに、電断前の状態に復帰することができる。
<変形例>
上記の説明では、ファイルシステム部34は、電断通知を受けた場合に継時的保持情報40の処理(読み出しまたは書き込み)を行なっているとき、常に当該処理を中止するものとした。しかしながら、ユーザプログラムの内容によっては、一部の継時的保持情報40を電断時保持情報42よりも優先させたい場合があり得る。
そこで、ファイルシステム部34は、不揮発性メモリ14のファイルシステム管理領域14aを第1の領域と第2の領域との二つの領域に分割してもよい。ファイルシステム部34は、第1の領域に継時的保持情報40を書き込んでいる最中に電断通知を受けた場合、上記説明と同様に、当該継時的保持情報40の処理を中止する。
一方、ファイルシステム部34は、第2の領域に継時的保持情報40を書き込んでいる最中に電断通知を受けた場合、当該継時的保持情報40の処理を中止することなく、当該継時的保持情報40の書き込み処理を引き続き行なう。ファイルシステム部34は、当該継時的保持情報40の全ての書き込み処理が完了した後に、電断時保持情報42の書き込みを開始する。この場合、電断時保持情報42を不揮発性メモリに書き込むことができない場合があり得るが、電断時保持情報42よりも優先される継時的保持情報40を不揮発性メモリ14に書き込むことができる。
なお、プログラム実行部32は、継時的保持情報40の書き込み指示をファイルシステム部34に出力する場合、当該継時的保持情報40の優先度に応じて、第1の領域および第2の領域のいずれに書き込むべきかを指定すればよい。
また、電断時保持情報42には、少なくとも電断時に保持すべき情報が含まれていればよく、その他に必ずしも断電時に必要とされない情報(たとえば、内部履歴情報(ログ情報))が含まれていてもよい。
<利点>
以上のように、本実施の形態に従うPLC1の制御部30は、電断時に保持すべき電断時保持情報42を生成し、生成した電断時保持情報42をメインメモリ16に格納する。また、制御部30は、不揮発性メモリ14に対して対象情報の読み込みおよび書き込みを行なうためのファイルシステム部34を含む。ファイルシステム部34は、不揮発性メモリ14に対して対象情報の読み込みおよび書き込みのいずれかの処理を行なっている場合に電断通知を受けたとき、当該処理を中止し、予備電源部28から供給される電力を用いて、メインメモリ16に格納された電断時保持情報42を不揮発性メモリ14に書き込む。
これにより、電断時保持情報42をより確実に不揮発性メモリ14に保存することができ、PLC1は、電断後に起動したときに、電断前の状態に安定して復帰することができる。
また、電断時以外の通常時に使用される不揮発性メモリ14(つまり、継時的保持情報40が書き込まれる不揮発性メモリ14)に対して電断時保持情報42が書き込まれる。さらに、不揮発性メモリ14に対して継時的保持情報40の読み出しおよび書き込みを行なうファイルシステム部34が電断時保持情報42の書き込み処理を行なう。そのため、継時的保持情報40のための不揮発性メモリおよびプロセッサと、電断時保持情報42のための不揮発性メモリおよびプロセッサとを分ける必要がなく、部品点数の増大を抑制することができる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 PLC、2 外部電源、3 メモリカード、10 プロセッサ、12 システムコントローラ、14 不揮発性メモリ、16 メインメモリ、18 ネットワークインターフェース、20 入出力インターフェース、22 メモリカードインターフェイス、24 電源ユニット、26 電断検知部、28 予備電源部、30 制御部、32 プログラム実行部、34 ファイルシステム部。

Claims (6)

  1. 設備または機械を制御するための制御装置であって、
    揮発性記憶部と、
    不揮発性記憶部と、
    外部電源からの電力供給が遮断される電断時に電力を供給するための予備電源部と、
    電断時に保持すべき電断時保持情報を生成し、生成した前記電断時保持情報を前記揮発性記憶部に格納するための制御部とを備え、
    前記制御部は、前記不揮発性記憶部に対して対象情報の読み込みおよび書き込みを行なうためのファイルシステム部を含み、
    前記ファイルシステム部は、前記不揮発性記憶部に対して対象情報の読み込みおよび書き込みのいずれかの処理を行なっている場合に前記外部電源からの電力供給が遮断されたことを示す電断通知を受けたとき、前記不揮発性記憶部に対する当該処理を中止し、前記予備電源部から供給される電力を用いて、前記揮発性記憶部に格納された前記電断時保持情報を前記不揮発性記憶部に書き込む、制御装置。
  2. 前記不揮発性記憶部は、第1の領域と第2の領域とを含み、
    前記ファイルシステム部は、前記電断通知を受けた場合、前記第1の領域に対象情報の読み込みおよび書き込みのいずれかの処理を行なっているときに当該処理を中止し、前記第2の領域に対象情報の読み込みおよび書き込みのいずれかの処理を行なっているときに当該処理を続けて行なう、請求項1に記載の制御装置。
  3. 前記ファイルシステム部は、対象情報を複数の記録単位に分割し、前記不揮発性記憶部に対して記録単位で読み込みおよび書き込みを行ない、
    前記ファイルシステム部は、前記電断通知を受けたときの処理対象の記録単位についての処理が完了した後に、前記電断時保持情報を前記不揮発性記憶部に書き込む、請求項1または2に記載の制御装置。
  4. 前記ファイルシステム部は、前記不揮発性記憶部に対して対象情報を書き込む場合には、当該対象情報に付属する付属情報を前記不揮発性記憶部に書き込み、
    前記ファイルシステム部は、前記不揮発性記憶部に対して対象情報の書き込みを行なっているときに前記電断通知を受けた場合には、当該対象情報に対応する前記付属情報を、前記電断通知を受けるまでに前記不揮発性記憶部に書き込んだ情報に応じて更新する、請求項1から3のいずれか1項に記載の制御装置。
  5. 設備または機械を制御するための制御装置での制御方法であって、
    前記制御装置は、揮発性記憶部と、不揮発性記憶部と、外部電源からの電力供給が遮断される電断時に電力を供給するための予備電源部とを備え、
    前記制御方法は、
    電断時に保持すべき電断時保持情報を生成し、生成した前記電断時保持情報を前記揮発性記憶部に格納するステップと、
    前記不揮発性記憶部に対して対象情報の読み込みおよび書き込みのいずれかの処理を行なっている場合に前記外部電源からの電力供給が遮断されたことを示す電断通知を受けたとき、前記不揮発性記憶部に対する当該処理を中止し、前記予備電源部から供給される電力を用いて、前記揮発性記憶部に格納された前記電断時保持情報を前記不揮発性記憶部に書き込むステップとを備える、制御方法。
  6. 設備または機械を制御するための制御装置において実行されるプログラムであって、
    前記制御装置は、揮発性記憶部と、不揮発性記憶部と、外部電源からの電力供給が遮断される電断時に電力を供給するための予備電源部とを備え、
    電断時に保持すべき電断時保持情報を生成し、生成した前記電断時保持情報を前記揮発性記憶部に格納するステップと、
    前記不揮発性記憶部に対して対象情報の読み込みおよび書き込みのいずれかの処理を行なっている場合に前記外部電源からの電力供給が遮断されたことを示す電断通知を受けたとき、前記不揮発性記憶部に対する当該処理を中止し、前記予備電源部から供給される電力を用いて、前記揮発性記憶部に格納された前記電断時保持情報を前記不揮発性記憶部に書き込むステップとを、前記制御装置のプロセッサに実行させる、プログラム。
JP2016193717A 2016-09-30 2016-09-30 制御装置、制御方法およびプログラム Active JP6790686B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2016193717A JP6790686B2 (ja) 2016-09-30 2016-09-30 制御装置、制御方法およびプログラム
EP17185689.1A EP3301526B1 (en) 2016-09-30 2017-08-10 Controller, control method, and program
CN201710695107.6A CN107885305B (zh) 2016-09-30 2017-08-15 控制装置、控制方法以及记录介质
US15/678,647 US10698463B2 (en) 2016-09-30 2017-08-16 Controller, control method, and program for power cut state restoration

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016193717A JP6790686B2 (ja) 2016-09-30 2016-09-30 制御装置、制御方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2018055583A true JP2018055583A (ja) 2018-04-05
JP6790686B2 JP6790686B2 (ja) 2020-11-25

Family

ID=59772352

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016193717A Active JP6790686B2 (ja) 2016-09-30 2016-09-30 制御装置、制御方法およびプログラム

Country Status (4)

Country Link
US (1) US10698463B2 (ja)
EP (1) EP3301526B1 (ja)
JP (1) JP6790686B2 (ja)
CN (1) CN107885305B (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110154090A (zh) * 2019-06-25 2019-08-23 深圳市三宝创新智能有限公司 一种用于桌面机器人的断电姿态归位装置
JP7290508B2 (ja) * 2019-08-07 2023-06-13 ファナック株式会社 工作機械システム
US11237610B2 (en) * 2019-11-20 2022-02-01 Intel Corporation Handling loss of power for uninterruptible power supply efficiency
JP2021091047A (ja) * 2019-12-11 2021-06-17 セイコーエプソン株式会社 識別番号設定システム、識別番号設定方法およびロボットシステム
CN111026676B (zh) * 2019-12-27 2023-08-01 中煤科工集团重庆研究院有限公司 利用存储单元地址携带时间信息的存储方法及存储系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03256693A (ja) * 1990-03-08 1991-11-15 Fanuc Ltd ロボットの停電制御方式
JP2005115857A (ja) * 2003-10-10 2005-04-28 Sony Corp ファイル記憶装置
CN101187879B (zh) * 2007-12-27 2011-01-12 威盛电子股份有限公司 电子系统及其数据处理方法
US7733712B1 (en) * 2008-05-20 2010-06-08 Siliconsystems, Inc. Storage subsystem with embedded circuit for protecting against anomalies in power signal from host
JP4811685B2 (ja) 2009-01-29 2011-11-09 横河電機株式会社 制御用コントローラ
CN103262054B (zh) * 2010-12-13 2015-11-25 桑迪士克科技股份有限公司 用于自动提交存储器的装置、系统和方法
JP5979024B2 (ja) * 2013-01-29 2016-08-24 オムロン株式会社 交信装置、rfidシステムおよびデータ書込みプログラム

Also Published As

Publication number Publication date
EP3301526B1 (en) 2021-10-27
CN107885305B (zh) 2021-01-01
CN107885305A (zh) 2018-04-06
EP3301526A1 (en) 2018-04-04
JP6790686B2 (ja) 2020-11-25
US20180095513A1 (en) 2018-04-05
US10698463B2 (en) 2020-06-30

Similar Documents

Publication Publication Date Title
JP6790686B2 (ja) 制御装置、制御方法およびプログラム
JP5229326B2 (ja) マルチコアcpuにおける消費電力制御方法,消費電力制御プログラム及び情報処理システム
US9043806B2 (en) Information processing device and task switching method
WO2012124197A1 (ja) 制御装置およびシステムプログラムならびに記録媒体
JP6971016B2 (ja) 制御装置、制御方法およびプログラム
JP5962088B2 (ja) Plcシミュレーションシステム、plcシミュレータ、制御プログラム、および記録媒体
JPWO2019097800A1 (ja) コントロール装置
JPH04133102A (ja) プログラマブル・コントローラ及びその制御方法
JP5834935B2 (ja) 安全制御装置及び安全制御方法
CN111095138B (zh) 控制装置、控制装置的控制方法、信息处理程序及记录介质
JP2010079355A (ja) 複数plc間の協調制御システム
JP2008226111A (ja) 2重化コントローラシステム、その稼動系コントローラ
JP5365875B2 (ja) 産業用コントローラ
JP6396084B2 (ja) エンジニアリング装置、エンジニアリングシステム、およびダウンロード処理方法
CN110275797B (zh) 控制器以及数据保存方法
KR102267485B1 (ko) 로봇 제어장치, 로봇시스템 및 로봇 제어방법
US10540222B2 (en) Data access device and access error notification method
JP2010134830A (ja) プログラマブルコントローラ、cpuユニット、アナログ入力ユニットおよびアナログ出力ユニット
JP2015191606A (ja) 情報処理装置、情報処理装置の制御方法及び情報処理装置の制御プログラム
JP5849731B2 (ja) 情報処理装置及びデータ格納方法
JP2010128514A (ja) プラントコントロールシステム
CN110908339B (zh) 数值控制装置
JP6596455B2 (ja) 自動車用電子制御装置
JP2009093270A (ja) コンピュータシステム及びその起動方法
JP5194360B2 (ja) 情報処理装置およびその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190705

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200629

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200908

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200928

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201019

R150 Certificate of patent or registration of utility model

Ref document number: 6790686

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150