(57)【要約】【課題】本発明は、再起動処理の実行中に再度電源断が生じた場合であっても、終了処理を適切に実行することができる制御装置、および制御方法を提供する。【解決手段】ＰＬＣ１０では、ＣＰＵモジュール１４と、電源断検知部１７と、保持電源回路４１と、電力検知部１８とを備えている。ＣＰＵモジュール１４は、電源断検知部１７が電源断を検知した場合に、保持電源回路４１から供給される電力で終了処理を実行し、電源断検知部１７が電源断からの復帰を検知した場合に、電力検知部１８で保持電源回路４１が基準量以上の電力量を保持していることを条件にリブート処理を実行する。【選択図】図１
2019159987.tif 000002
【特許請求の範囲】
【請求項１】
制御対象となる機器の制御を行う制御部と、
電源から前記制御部への電力供給が遮断される電源断を検知する電源断検知部と、
前記電源断時に前記制御部へ電力を供給するための保持電源部と、
前記保持電源部に保持されている電力量を検知する電力検知部とを備え、
前記制御部は、
前記電源断検知部が前記電源断を検知した場合に、前記保持電源部から供給される電力で終了処理を実行し、
前記電源断検知部が前記電源断からの復帰を検知した場合に、前記電力検知部で前記保持電源部が基準量以上の電力量を保持していることを条件に再起動処理を実行する、制御装置。
【請求項２】
前記制御部は、前記終了処理を開始してから一定時間経過後に前記再起動処理を実行するか否かの判定タイミングを設定し、当該判定タイミングに前記電源断からの復帰および前記保持電源部の電力量を判定する、請求項１に記載の制御装置。
【請求項３】
前記判定タイミングは、前記終了処理において少なくともバックアップ処理が実行された後のタイミングとする、請求項２に記載の制御装置。
【請求項４】
前記基準量は、前記終了処理を実行するために必要な電力量によって設定される、請求項１〜請求項３のいずれか１項に記載の制御装置。
【請求項５】
制御対象となる機器の制御を行う制御部と、
電源から前記制御部への電力供給が遮断される電源断を検知する電源断検知部と、
前記電源断時に前記制御部へ電力を供給するための保持電源部と、
前記保持電源部に保持されている電力量を検知する電力検知部とを備える制御装置の制御方法であって、
前記電源断検知部が前記電源断を検知した場合に、前記保持電源部から供給される電力で終了処理を実行するステップと、
前記電源断検知部が前記電源断からの復帰を検知した場合に、前記電力検知部で前記保持電源部が基準量以上の電力量を保持していることを条件に再起動処理を実行するステップとを含む、制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、設備または機械を制御する制御装置、および制御方法に関する。
【背景技術】
【０００２】
設備または機械を制御するためのＦＡ（Factory Automation）等に用いられる制御装置の一つとしてＰＬＣ（Programmable Logic Controller、あるいは、プログラマブルコントローラとも称される）がある。ＰＬＣは、電源断時にデータをバックアップ可能な構成となっているのが一般的である。
【０００３】
たとえば、特開２０１４−１６０３７７号公報（特許文献１）に開示されたＰＬＣの電源切替部は、ＤＣ電源に対して共通接続される互いに並列の２本の電源ラインを備えている。第１電源ラインには、ダイオードを介してＤＣ／ＤＣコンバータが接続されている。このＤＣ／ＤＣコンバータは、入力された電圧（２０Ｖ〜２８Ｖ）を、主回路の動作電圧である３．３Ｖに降圧しつつ、定電圧化して出力する。
【０００４】
一方、第２電源ラインと接地との間には、バックアップ動作用の電源としてコンデンサが設けられている。コンデンサは、スイッチを介してＤＣ／ＤＣコンバータの入力段に接続されている。ＤＣ電源が投入されている間は、スイッチがオフされ、コンデンサはＤＣ／ＤＣコンバータから切り離される。電源断が検知されると、スイッチがオンされ、コンデンサを電源元としてＤＣ／ＤＣコンバータが一定時間、定電圧を生成する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−１６０３７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１では、コンデンサを電源元としてＤＣ／ＤＣコンバータが一定時間、定電圧を生成してバックアップ動作（終了処理）を実行中に電源が復帰してリブート（再起動処理）を行う場合、コンデンサで充電している電力量が低下した状態でリブートが実行される。そのため、リブートの実行中に再度電源断が生じた場合には、コンデンサに充電している電力量では、バックアップ動作を適切に実行することができない問題があった。
【０００７】
この発明は上記の問題点を考慮してなされたものであり、その主な目的は、再起動処理（リブート）の実行中に再度電源断が生じた場合であっても、終了処理（バックアップ動作）を適切に実行することができる制御装置、および制御方法を提供することである。その他の課題および有利な効果は、以下の課題を解決するための手段および実施の形態において説明する。
【課題を解決するための手段】
【０００８】
本開示の一例によれば、制御対象となる機器の制御を行う制御部と、電源から制御部への電力供給が遮断される電源断を検知する電源断検知部と、電源断時に制御部へ電力を供給するための保持電源部と、保持電源部に保持されている電力量を検知する電力検知部とを備え、制御部は、電源断検知部が電源断を検知した場合に、保持電源部から供給される電力で終了処理を実行し、電源断検知部が電源断からの復帰を検知した場合に、電力検知部で保持電源部が基準量以上の電力量を保持していることを条件に再起動処理を実行する。そのため、制御装置では、再起動処理中に再度電源断が生じた場合であっても、終了処理を適切に実行することができる。
【０００９】
好ましくは、制御部は、終了処理を開始してから一定時間経過後に再起動処理を実行するか否かの判定タイミングを設定し、当該判定タイミングに電源断からの復帰および保持電源部の電力量を判定する。そのため、制御部は、終了処理中の不適切なタイミングで再起動処理が実行されることを回避することができる。
【００１０】
好ましくは、判定タイミングは、終了処理において少なくともバックアップ処理が実行された後のタイミングとする。そのため、制御部は、バックアップ処理中に再起動処理が実行されデータを保存できない事態を回避することができる。
【００１１】
好ましくは、基準量は、終了処理を実行するために必要な電力量によって設定される。そのため、制御部は、再起動処理を実行して再度電源断が発生しても終了処理に必要な電力量を保持電源部に十分充電することができる。
【００１２】
本開示の別の一例によれば、制御対象となる機器の制御を行う制御部と、電源から制御部への電力供給が遮断される電源断を検知する電源断検知部と、電源断時に制御部へ電力を供給するための保持電源部と、保持電源部に保持されている電力量を検知する電力検知部とを備える制御装置の制御方法であって、電源断検知部が電源断を検知した場合に、保持電源部から供給される電力で終了処理を実行するステップと、電源断検知部が電源断からの復帰を検知した場合に、電力検知部で保持電源部が基準量以上の電力量を保持していることを条件に再起動処理を実行するステップとを含む。そのため、制御装置では、再起動処理中に再度電源断が生じた場合であっても、終了処理を適切に実行することができる。
【発明の効果】
【００１３】
本技術に係る制御装置、および制御方法によれば、電力検知部で保持電源部が基準量以上の電力量を保持していることを条件に再起動処理を実行するので、再起動処理の実行中に再度電源断が生じた場合であっても、終了処理を適切に実行することができる。
【図面の簡単な説明】
【００１４】
【図１】ＰＬＣの全体構成の一例を示すブロック図である。
【図２】図１の電源回路の構成を示すブロック図である。
【図３】電源断から復帰時にリブートを行わない場合のＰＬＣおよび電源回路の状態を説明するためのタイミングチャートである。
【図４】電源断から復帰時にリブートを行う場合のＰＬＣおよび電源回路の状態を説明するためのタイミングチャートである。
【図５】比較対象のＰＬＣおよび電源回路の状態を説明するためのタイミングチャートである。
【図６】電源断処理を説明するためフローチャートである。
【発明を実施するための形態】
【００１５】
以下において、本実施の形態について図面を参照して詳しく説明する。なお、図中同一符号は同一または相当部分を示す。
【００１６】
（適用例）
［ＰＬＣの全体構成］
本実施の形態では、設備または機械を制御するための制御装置の一つとしてＰＬＣについて説明する。図１は、ＰＬＣの全体構成の一例を示すブロック図である。図１を参照して、ＰＬＣ１０は、ＰＬＣ本体１１と、電源ユニット１２とを備える。電源ユニット１２は外部から入力された交流（ＡＣ）電圧を直流（ＤＣ）電圧に変換し、この直流（ＤＣ）電圧を必要に応じて所定の電圧レベルの直流（ＤＣ）電圧にさらに変換して出力する。電源ユニット１２として汎用電源を利用することができる。ＰＬＣ１０は、図示しない１以上の入出力ユニットをさらに増設した構成であってもよい。
【００１７】
ＰＬＣ本体１１は、電源回路１３と、ＣＰＵ（Central Processing Unit）モジュール１４と、入力モジュール１５と、出力モジュール１６と、電源断検知部１７と、電力検知部１８と、電源端子２０，２１，２２とを備える。
【００１８】
電源端子２０には、電源ユニット１２から直流電圧が供給される。この直流電圧は電源回路１３を介して、ＣＰＵモジュール１４、電源断検知部１７、電力検知部１８、ならびに入力モジュール１５の一部および出力モジュール１６の一部に供給される。電源回路１３は、電源断の際にデータをバックアップするなどの処理を含む終了処理を行うため、電源遮断後の一定時間のあいだ上記のモジュール群に駆動電圧を供給することが可能である。電源回路１３の詳細は、図２で詳しく説明する。
【００１９】
入力モジュール１５は、制御対象の１つ以上の機器からの各種のデータ等を表す入力データ２３を取り込む。出力モジュール１６は、ＣＰＵモジュール１４の指令に従って制御対象の機器を制御するための出力データ２４を出力する。入力モジュール１５および出力モジュール１６を構成する回路のうち電源断の際にデータのバックアップや各種周辺デバイスの保護が必要な部分については、電源回路１３から駆動電圧が供給される。入力モジュール１５および出力モジュール１６のその他の回路部分は、電源端子２１，２２をそれぞれ介して供給された直流電圧によって動作する。
【００２０】
ＣＰＵモジュール１４は、入力モジュール１５を介して受信した入力データ２３に基づいて演算を行い、演算結果に基づく出力データ２４を、出力モジュール１６を介して出力する。したがって、ＣＰＵモジュール１４は、制御対象となる１つ以上の機器の制御を行う制御部である。
【００２１】
ＣＰＵモジュール１４は、ＣＰＵ、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、および不揮発性メモリ等を含む一般的なマイクロコンピュータ（マイクロコントローラなどとも称する）によって構成される。ＣＰＵは、各種プログラムを実行する算術論理演算装置であり、システムコントローラから内部クロックに従って順次供給される命令コードを解釈して実行する。ＣＰＵは複数個が実装されていてもよく、あるいは、単一のＣＰＵ内に複数の演算コアが実装されていてもよい。すなわち、いわゆるマルチプロセッサであってもよいし、マルチコアであってもよい。ＣＰＵモジュール１４は、さらに、ＡＳＩＣ（Application Specific Integrated Circuit）またはＦＰＧＡ（Field Programmable Gate Array）などによって構成された回路を含む場合もある。
【００２２】
電源断検知部１７は、電源端子２０から入力される直流電圧の電圧レベルを監視し、入力直流電圧の電圧レベルが基準値未満になった場合に、ＣＰＵモジュール１４に電源断を通知するための信号（電源断検知信号）を出力する。ＣＰＵモジュール１４は、電源断検知部１７から電源断の通知を受け取った場合、電源断から復帰する際に必要となる電源断の直前の装置の状態を示すデータを内蔵の不揮発性メモリ（不図示）に格納するなどの処理を含む終了処理を実行する。この終了処理を実行する間、ＣＰＵモジュール１４等を動作させるための電源として、コンデンサが電源回路１３に設けられる。
【００２３】
電力検知部１８は、電源回路１３のコンデンサに充電している電力量を監視し、充電している電力量が基準量以上の場合に、充電完了検知フラグがＨｉｇｈ状態の情報がＣＰＵモジュール１４に出力される。ＣＰＵモジュール１４は、Ｈｉｇｈ状態の充電完了検知フラグを受け取るまで、電源断から復帰するリブート処理を実行しない。つまり、ＣＰＵモジュール１４は、電源回路１３のコンデンサの電力量が基準量未満の場合には、電源が復帰してもリブート処理を実行しない。ここで、基準量は、終了処理に必要な電力量に設定される。
【００２４】
［電源回路の構成］
図２は、図１の電源回路の構成を示すブロック図である。図２を参照して、電源回路１３は、第１のノード（node：節点）としての電圧入力ノード３１と、第２のノードとしての電圧出力ノード３２と、配線４０と、ＤＣ／ＤＣ変換器３３，３５と、充電部としてのコンデンサ３４ａ，３４ｂと、整流素子としてのダイオード３６，３７，３８とを含む。
【００２５】
電圧入力ノード３１は、図１の電源端子２０に接続されることによって、電源ユニット１２から電圧レベルＶ１の直流電圧が入力される。電圧出力ノード３２からは、ＣＰＵモジュール１４等を駆動するための直流電圧が出力される。
【００２６】
ＤＣ／ＤＣ変換器３３は、電圧入力ノード３１に入力された電圧レベルＶ１の直流電圧に基づいて、この入力電圧を電圧レベルＶ３の直流電圧に昇圧して出力する。ＤＣ／ＤＣ変換器３３の種類は特に限定されない。たとえば、昇圧チョッパなどの非絶縁型の変換器を用いることもできるし、フォワードコンバータなどの絶縁型の変換器を用いることもできる。
【００２７】
コンデンサ３４ａ，３４ｂは、ＤＣ／ＤＣ変換器３３とＤＣ／ＤＣ変換器３５との間を接続する配線と接地ＧＮＤとの間に並列に接続される。コンデンサ３４ａ，３４ｂは、ＤＣ／ＤＣ変換器３３の出力電圧を充電するともに充電された電圧を放電可能な充電部として用いられる。コンデンサ３４ａ，３４ｂの放電電圧はＤＣ／ＤＣ変換器３５に入力される。なお、バックアップ電源としてコンデンサが用いられる理由は、コンパクトでかつ低コストであることが求められるＰＬＣではコンデンサが適しているからである。また、二つのコンデンサ３４ａ，３４ｂを並列に接続して必要な電力量を確保しているが、必要な電力量を確保できるのであれば一つのコンデンサで構成してもよく、さらの多くの電力量を確保する必要があれば、より多くのコンデンサを並列に接続してもよい。
【００２８】
コンデンサ３４ａ，３４ｂの種類は特に限定されないが、電源断時のデータバックアップや各種周辺デバイスの保護に必要な時間だけ電源供給が可能なだけの電気エネルギーを蓄積可能なものを選択する必要がある。図２の電源回路１３の構成の場合には、ＤＣ／ＤＣ変換器３３による昇圧電圧をコンデンサ３４ａ，３４ｂに供給することによって、より多くの電気エネルギーをコンデンサ３４ａ，３４ｂに蓄積することができる。このためコンデンサ３４ａ，３４ｂの容量をより小さくすることが可能になっている。
【００２９】
ＤＣ／ＤＣ変換器３５は、コンデンサ３４ａ，３４ｂの放電電圧を電圧レベルＶ１よりも小さな電圧レベルＶ２の直流電圧に変換して出力する。ＤＣ／ＤＣ変換器３５の種類は特に限定されない。たとえば、降圧チョッパなどの非絶縁型の変換器を用いることもできるし、フライバックコンバータなどの絶縁型の変換器を用いることもできる。
【００３０】
ＤＣ／ＤＣ変換器３３、コンデンサ３４ａ，３４ｂ、およびＤＣ／ＤＣ変換器３５が保持電源回路４１を構成している。この保持電源回路４１が、電源断時に終了処理を実行するための電力をＣＰＵモジュール１４等に供給する。電力検知部１８は、保持電源回路４１の保持電源電圧を測定し、測定した電圧と基準電圧とを比較することで、コンデンサ３４ａ，３４ｂに充電されている電力量が基準量以上か否かを検知している。
【００３１】
ダイオード３６は、ＤＣ／ＤＣ変換器３５の出力ノード４６と電圧出力ノード３２との間に接続される。ＤＣ／ＤＣ変換器３５から電圧出力ノード３２の方向がダイオード３６の順方向となっている。
【００３２】
ダイオード３８は、電圧入力ノード３１とＤＣ／ＤＣ変換器３３の入力ノード４２との間に接続される。電圧入力ノード３１からＤＣ／ＤＣ変換器３３の方向がダイオード３８の順方向となっている。ダイオード３８は、電源端子２０に逆極性の電源ユニットを誤って接続したときにＤＣ／ＤＣ変換器３３，３５などが破損しないようにするためのものである。したがって、ダイオード３８は必ず設けなければならないわけではない。
【００３３】
配線４０は、上記のダイオード３８、ＤＣ／ＤＣ変換器３３、ＤＣ／ＤＣ変換器３５、およびダイオード３６を介した電流経路と並列に、電圧入力ノード３１と電圧出力ノード３２との間を接続する別の電流経路である。配線４０の途中にダイオード３７が設けられる。電圧入力ノード３１から電圧出力ノード３２の方向がダイオード３７の順方向となっている。
【００３４】
上記の電源回路１３の構成において、電源ユニット１２から供給される直流電圧の電圧レベルＶ１は、例えば２４［Ｖ］である。ＤＣ／ＤＣ変換器３３の出力電圧の電圧レベルＶ３は、たとえば５０［Ｖ］である。ＤＣ／ＤＣ変換器３５の出力電圧の電圧レベルＶ２は、例えば１４［Ｖ］である。この場合、ダイオード３６，３７および配線等における電圧降下を無視すれば、後述するようにＣＰＵモジュール１４等には、通常時には電圧レベルＶ１（たとえば、２４Ｖ）の直流電圧が入力され、電源断時には電圧レベルＶ２（たとえば、１４Ｖ）の直流電圧が入力される。したがって、ＣＰＵモジュール１４等は、電圧レベルＶ１およびＶ２を含む電源電圧の範囲で動作可能である必要がある。
【００３５】
なお、ＰＬＣ本体１１が、Peripheral Component Interconnect (PCI) Express（ＰＣＩｅ）に準拠したインターフェースを介して接続されるのであれば、外部から供給される直流電圧の電圧レベルＶ１が、例えば１２［Ｖ］となり、ＤＣ／ＤＣ変換器３３で１２Ｖの電圧レベルＶ１を５０Ｖの電圧レベルＶ３に変換する必要がある。
【００３６】
［電源断時の動作］
次に、電源断時のＰＬＣ１０の動作について説明する。図３は、電源断から復帰時にリブートを行わない場合のＰＬＣおよび電源回路の状態を説明するためのタイミングチャートである。図４は、電源断から復帰時にリブートを行う場合のＰＬＣおよび電源回路の状態を説明するためのタイミングチャートである。まず、電源断の発生により電源ユニット１２から供給される直流電圧の電圧レベルが２４Ｖから０Ｖに変化する。電源断検知部１７は、電源端子２０から入力される直流電圧の電圧レベルが基準値未満になったことで電源断の発生を検知し、Ｈｉｇｈ状態からＬｏｗ状態に変化した電源断検知信号をＣＰＵモジュール１４に出力して電源断を通知する。
【００３７】
電源断の発生により電源回路１３では、保持電源回路４１からＣＰＵモジュール１４等に対して電力の供給を開始する。そのため、コンデンサ３４ａ，３４ｂに充電した電力をＣＰＵモジュール１４等に対して供給することで、保持電源回路４１の保持電源電圧Ｖが低下し始め、電源復帰時まで低下する。電力検知部１８は、保持電源電圧Ｖが、終了処理に必要な電力量（基準量）に対応する基準電圧Ｖｓ未満になった時点で、コンデンサ３４ａ，３４ｂに充電されている電力量が基準量未満となったと検知する。電力検知部１８は、コンデンサ３４ａ，３４ｂに充電されている電力量が基準量未満になったことを検知した場合、充電完了検知フラグをＨｉｇｈ状態からＬｏｗ状態に変化させてＣＰＵモジュール１４に通知する。
【００３８】
ＣＰＵモジュール１４は、Ｌｏｗ状態の電源断検知信号を受信してからＡ期間後に終了処理を開始する。さらに、ＣＰＵモジュール１４は、終了処理の開始から各種周辺デバイスを保護する処理などを実行して、Ｂ期間後に電源断の際のデータをバックアップするバックアップ処理を開始する。
【００３９】
終了処理の実行中に電源が復帰して、電源ユニット１２から供給される直流電圧の電圧レベルが０Ｖから２４Ｖに変化すると、電源断検知部１７は、直流電圧の電圧レベルが基準値以上になったことで電源復帰を検知（電源断非検知）し、Ｌｏｗ状態からＨｉｇｈ状態に変化した電源断検知信号をＣＰＵモジュール１４に出力して電源復帰を通知する。
【００４０】
ＰＬＣ１０は、設備または機械を制御するための制御装置であるため、可能な限り稼働している状態を継続する必要があり、終了処理中に電源が復帰した場合にはリブート（再起動）処理を実行する。図３では、終了処理の実行中に電源が復帰した場合、バックアップ処理が実行された後のタイミングでリブート処理を行うか否かのリブート判定を行う。リブート判定では、電源断検知信号がＨｉｇｈ状態で、かつ充電完了検知フラグはＨｉｇｈ状態であるか否かに基づいて判定する。
【００４１】
本実施の形態に係るＰＬＣ１０でのリブート判定について説明する前に、コンデンサの電力量を考慮せずにリブート判定を行う比較対象のＰＬＣについて説明する。図５は、比較対象のＰＬＣおよび電源回路の状態を説明するためのタイミングチャートである。比較対象のＰＬＣは、電力検知部を有しておらず、保持電源回路のコンデンサに充電されている電力量を考慮せずに、リブート判定のタイミングで電源断検知信号がＨｉｇｈ状態であればリブート処理を開始する。
【００４２】
しかし、図５に示すように、リブート判定のタイミングにおいて、保持電源電圧Ｖが、終了処理に必要な電力量（基準量）に対応する基準電圧Ｖｓ未満であるので、リブート処理中に再度電源断が発生すると終了処理に必要な電力量がコンデンサに充電されていない（電力不足）。そのため、電力不足の状態で、リブート処理中に再度電源断が発生して終了処理を実行しても、適切な終了処理を行うことができず、電源断時のデータが保存できない、各種周辺デバイスが破壊されるなどの不具合が生じる可能性がある。
【００４３】
そこで、本実施の形態に係るＰＬＣ１０では、電力検知部１８を設け、コンデンサ３４ａ，３４ｂの電力量を考慮してリブート判定を行っている。具体的に、ＣＰＵモジュール１４は、リブート判定のタイミング（判定タイミング）において、電源断検知信号がＨｉｇｈ状態で、かつ充電完了検知フラグはＨｉｇｈ状態であるか否かについて判定している。リブート判定のタイミングは、例えば、図３に示すように終了処理を開始してからＣ期間経過後に行っている。つまり、リブート判定のタイミングは、終了処理において少なくともバックアップ処理が実行された後のタイミングである。そのため、バックアップ処理中などの不適切なタイミングに、突然リブート処理が開始されてデータを保存できずにリブート処理が実行されることを防止できる。
【００４４】
図３では、リブート判定のタイミングに電源断検知信号はＨｉｇｈ状態であるが、充電完了検知フラグはＬｏｗ状態であるので、ＣＰＵモジュール１４は、リブート処理を実行しない。つまり、リブート判定のタイミングでリブート処理を実行して再度電源断が発生すると終了処理に必要な電力量がコンデンサ３４ａ，３４ｂに充電されておらず電力不足となるので、ＣＰＵモジュール１４は、リブート処理を実行しない。なお、ＣＰＵモジュール１４は、充電完了検知フラグがＨｉｇｈ状態になるのを待って、再度リブート判定を行ってもよい。
【００４５】
一方、図４では、リブート判定のタイミングに電源断検知信号はＨｉｇｈ状態で、かつ充電完了検知フラグがＨｉｇｈ状態であるので、ＣＰＵモジュール１４は、リブート処理を実行する。つまり、リブート判定のタイミングでリブート処理を実行して再度電源断が発生しても終了処理に必要な電力量がコンデンサ３４ａ，３４ｂに充電されており電力十分となっているので、ＣＰＵモジュール１４は、リブート処理を実行することができる。
【００４６】
［電源断処理について］
次に、図３，図４で説明したリブート判定を含む電源断処理についてフローチャートを用いて説明する。図６は、電源断処理を説明するためフローチャートである。まず、ＣＰＵモジュール１４は、電源断検知部１７から通知された電源断検知信号がＬｏｗ状態か否かを判定する（ステップＳ１０１）。電源断検知信号がＬｏｗ状態でない場合（ステップＳ１０１でＮＯ）、ＣＰＵモジュール１４は、電源断が発生していないとして処理をステップＳ１０１に戻す。
【００４７】
電源断検知信号がＬｏｗ状態である場合（ステップＳ１０１でＹＥＳ）、ＣＰＵモジュール１４は、電源断が発生したと判定して、保持電源回路４１からの電力供給により終了処理の実行を開始する（ステップＳ１０２）。
【００４８】
次に、ＣＰＵモジュール１４は、処理のタイミングが、終了処理に含まれるバックアップ処理が実行された後のリブート判定タイミングか否かを判定する（ステップＳ１０３）。リブート判定タイミングでない場合（ステップＳ１０３でＮＯ）、ＣＰＵモジュール１４は、バックアップ処理中であるとして処理をステップＳ１０３に戻す。
【００４９】
リブート判定タイミングである場合（ステップＳ１０３でＹＥＳ）、ＣＰＵモジュール１４は、リブート判定の一方の条件として電源断検知部１７から通知された電源断検知信号がＨｉｇｈ状態か否かを判定する（ステップＳ１０４）。電源断検知信号がＨｉｇｈ状態である場合（ステップＳ１０４でＹＥＳ）、ＣＰＵモジュール１４は、電源が復帰しているので、リブート判定の他方の条件として充電完了検知フラグがＨｉｇｈ状態か否かを判定する（ステップＳ１０５）。
【００５０】
充電完了検知フラグがＨｉｇｈ状態である場合（ステップＳ１０５でＹＥＳ）、ＣＰＵモジュール１４は、リブート処理中に再度電源断が発生しても終了処理に必要な電力量がコンデンサ３４ａ，３４ｂに充電されているとしてリブート処理を実行する（ステップＳ１０７）。充電完了検知フラグがＨｉｇｈ状態でない場合（ステップＳ１０５でＮＯ）、ＣＰＵモジュール１４は、リブート処理中に再度電源断が発生すると終了処理に必要な電力量がコンデンサ３４ａ，３４ｂに充電されていないとしてリブート処理を実行せずに処理を終了する。
【００５１】
ステップＳ１０４に戻って、電源断検知信号がＨｉｇｈ状態でない場合（ステップＳ１０４でＮＯ）、ＣＰＵモジュール１４は、まだ電源が復帰していないので終了処理が終了しているか否かを判定する（ステップＳ１０８）。終了処理が終了していない場合（ステップＳ１０８でＮＯ）、ＣＰＵモジュール１４は、終了処理中に電源が復帰するか否かを監視するため、処理をステップＳ１０４に戻す。終了処理が終了している場合（ステップＳ１０８でＹＥＳ）、ＣＰＵモジュール１４は、処理を終了する。
【００５２】
以上のように、本実施形態に係るＰＬＣ１０では、制御対象となる機器の制御を行うＣＰＵモジュール１４と、電源ユニット１２からＣＰＵモジュール１４への電力供給が遮断される電源断を検知する電源断検知部１７と、電源断時にＣＰＵモジュール１４へ電力を供給するための保持電源回路４１と、保持電源回路４１に保持されている電力量を検知する電力検知部１８とを備えている。ＣＰＵモジュール１４は、電源断検知部１７が電源断を検知した場合に、保持電源回路４１から供給される電力で終了処理を実行し、電源断検知部１７が電源断からの復帰を検知した場合に、電力検知部１８で保持電源回路４１が基準量以上の電力量を保持していることを条件にリブート処理を実行する。そのため、ＰＬＣ１０では、リブート処理中に再度電源断が生じた場合であっても、終了処理を適切に実行することができる。
【００５３】
ＣＰＵモジュール１４は、終了処理を開始してから一定時間経過後に再起動処理を実行するか否かのリブート判定のタイミングを設定し、当該リブート判定のタイミングに電源断からの復帰および保持電源回路４１の電力量を判定するようにしてもよい。これにより、終了処理中の不適切なタイミングでリブート処理が実行されることを回避することができる。
【００５４】
リブート判定のタイミングは、終了処理において少なくともバックアップ処理が実行された後のタイミングとしてもよい。これにより、バックアップ処理中にリブート処理が実行されデータを保存できない事態を回避することができる。
【００５５】
基準量は、終了処理を実行するために必要な電力量によって設定してもよい。これにより、リブート処理を実行して再度電源断が発生しても終了処理に必要な電力量がコンデンサ３４ａ，３４ｂに十分充電されている。
【００５６】
本実施形態に係るＰＬＣ１０の制御方法は、電源断検知部１７が電源断を検知した場合に、保持電源回路４１から供給される電力で終了処理を実行するステップと、電源断検知部１７が電源断からの復帰を検知した場合に、電力検知部１８で保持電源回路４１が基準量以上の電力量を保持していることを条件に再起動処理を実行するステップとを含む。
【００５７】
（変形例）
保持電源回路４１は、ＤＣ／ＤＣ変換器３３、コンデンサ３４ａ，３４ｂ、およびＤＣ／ＤＣ変換器３５を含む構成であると説明した。しかし、これに限定されるものではなく、保持電源回路４１は、終了処理を実行するために必要な電力量を保持できる構成であればコンデンサ以外の蓄電構成を採用してもよい。
【００５８】
基準量は、終了処理を実行するために必要な電力量によって設定されると説明したが、マージンなどを考慮してより大きい電力量を設定してもよい。
【００５９】
リブート判定のタイミングは、終了処理を開始してから一定時間経過後のタイミング、終了処理において少なくともバックアップ処理が実行された後のタイミングであると説明したが、リブート処理の実行により終了処理に影響を与えないタイミングであればいずれのタイミングであってもよい。また、終了処理後においてリブート処理を実行する場合にもリブート判定を行ってもよい。
【００６０】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００６１】
１０  ＰＬＣ、１１  ＰＬＣ本体、１２  電源ユニット、１３  電源回路、１４  ＣＰＵモジュール、１５  入力モジュール、１６  出力モジュール、１７  電源断検知部、１８  電力検知部、３１  電圧入力ノード、３２  電圧出力ノード、３３  ＤＣ／ＤＣ変換器、３４  コンデンサ、３５  ＤＣ／ＤＣ変換器、３６，３７，３８  ダイオード、４０  配線、４１  保持電源回路。
【図１】
2019159987.tif 000003
【図２】
2019159987.tif 000004
【図３】
2019159987.tif 000005
【図４】
2019159987.tif 000006
【図５】
2019159987.tif 000007
【図６】
2019159987.tif 000008