(57)【要約】【課題】演算装置へ供給される電力が遮断されたときに、機能ユニットにおいて、それに応じた処理を実行させるための新規な構成を提供する。【解決手段】制御装置を構成する演算装置は、通信線を介して１または複数の機能ユニットとデータを遣り取りするための通信回路と、１または複数の機能ユニットから取得されるデータを利用した演算処理、および、１または複数の機能ユニットへ送信するデータの生成処理、のうち少なくとも一方を実施するユーザプログラムを実行するためのプロセッサと、通信回路およびプロセッサに接続された監視回路とを含む。監視回路は、演算装置に供給される電力の遮断の検知、および、演算装置に供給される電力を遮断する前の予告通知の受信、の少なくとも一方に基づいて、通信回路から１または複数の機能ユニットに対して、演算装置への電力供給の遮断に応じた処理を実行させるための通知を行う。【選択図】図３
2018060482.tif 000002
【特許請求の範囲】
【請求項１】
制御装置を構成する演算装置であって、
通信線を介して１または複数の機能ユニットとデータを遣り取りするための通信回路と、
前記１または複数の機能ユニットから取得されるデータを利用した演算処理、および、前記１または複数の機能ユニットへ送信するデータの生成処理、のうち少なくとも一方を実施するユーザプログラムを実行するためのプロセッサと、
前記通信回路および前記プロセッサに接続された監視回路とを備え、
前記監視回路は、前記演算装置に供給される電力の遮断の検知、および、前記演算装置に供給される電力を遮断する前の予告通知の受信、の少なくとも一方に基づいて、前記通信回路から前記１または複数の機能ユニットに対して、前記演算装置への電力供給の遮断に応じた処理を実行させるための通知を行う、演算装置。
【請求項２】
前記演算装置への電力供給の遮断に応じた処理は、各機能ユニットの動作を制限する動作状態へ遷移することを含む、請求項１に記載の演算装置。
【請求項３】
前記通信回路から前記通信線を介して、前記演算装置への電力供給の遮断に応じた処理に関連付けられた命令を含む特定のフレームが送信され、前記特定のフレームは、前記１または複数の機能ユニットを順次転送される、請求項１または２に記載の演算装置。
【請求項４】
前記１または複数の機能ユニットの各々は、前記特定のフレームを受信すると、動作状態を示すフラグの値を変更する、請求項３に記載の演算装置。
【請求項５】
前記プロセッサは、プログラムを実行することで、前記ユーザプログラムの実行開始前に、前記通信回路から送信される前記特定のフレームを事前登録する、請求項３または４に記載の演算装置。
【請求項６】
前記監視回路は、前記特定のフレームの送信後、前記通信回路の電力消費を遮断する、請求項３〜５のいずれか１項に記載の演算装置。
【請求項７】
前記演算装置へ電力を供給する電源部をさらに備え、
前記監視回路は、前記電源部への外部電源の供給状態に基づいて、電力の遮断を検知する、請求項１〜６のいずれか１項に記載の演算装置。
【請求項８】
前記演算装置へ電力を供給する電源部をさらに備え、
前記監視回路は、前記電源部へ外部電力を供給する無停電電源装置から前記予告通知を受信する、請求項１〜５のいずれか１項に記載の演算装置。
【請求項９】
前記監視回路は、ＦＰＧＡまたはＡＳＩＣを用いて実装される、請求項１〜８のいずれか１項に記載の演算装置。
【請求項１０】
制御装置であって、
演算装置と、
１または複数の機能ユニットとを備え、
前記演算装置は、
通信線を介して前記１または複数の機能ユニットとデータを遣り取りするための通信回路と、
前記１または複数の機能ユニットから取得されるデータを利用した演算処理、および、前記１または複数の機能ユニットへ送信するデータの生成処理、のうち少なくとも一方を実施するユーザプログラムを実行するためのプロセッサと、
前記通信回路および前記プロセッサに接続された監視回路とを備え、
前記監視回路は、前記演算装置に供給される電力の遮断の検知、および、前記演算装置に供給される電力を遮断する前の予告通知の受信、の少なくとも一方に基づいて、前記通信回路から前記１または複数の機能ユニットに対して、前記演算装置への電力供給の遮断に応じた処理を実行させるための通知を行う、制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１または複数の機能ユニットを含む制御装置を構成する演算装置およびその制御装置に関する。
【背景技術】
【０００２】
様々なＦＡ（Factory Automation）を実現するための主たるコンポーネントとして、ＰＬＣ（プログラマブルコントローラ）などの制御装置が普及している。このような制御装置は、様々な機械や設備の動作を集中して制御するため、何らかの故障や異常などが発生した場合でも、制御動作を継続するといった耐故障性や、制御対象の機械や設備を安全に停止させるフェールセーフ機能などを備える必要がある。
【０００３】
例えば、特開２００９−１４６１６８号公報（特許文献１）は、電源断時に信頼性を向上させるための、バックアップ機能付きのＩＯメモリ仕様とＥＣＣ機能付きのＩＯメモリ仕様とに低コストに対応可能としたＰＬＣ用の部品実装基板を開示する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１４６１６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＰＬＣなどの制御装置は、入出力ユニット、カウンタユニット、温度調整ユニットといった様々な機能ユニットを含む。これらの機能ユニットは、ユーザプログラムなどを実行する演算装置（ＣＰＵ（Central Processing Unit）ユニットと称されることもある）と直接的に接続されることもあるし、フィールドネットワークなどを介して演算装置と接続されることもある。
【０００６】
演算装置に供給される電力が遮断されると、ユーザプログラムを正常に実行できなくなるので、当該演算装置に接続された機能ユニットについても、出力信号を安全な値にするといった演算装置への電力供給の遮断に応じた処理が必要になる。
【０００７】
本発明は、演算装置へ供給される電力が遮断されたときに、機能ユニットにおいて、それに応じた処理を実行させるための新規な構成を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明のある局面に従う、制御装置を構成する演算装置は、通信線を介して１または複数の機能ユニットとデータを遣り取りするための通信回路と、１または複数の機能ユニットから取得されるデータを利用した演算処理、および、１または複数の機能ユニットへ送信するデータの生成処理、のうち少なくとも一方を実施するユーザプログラムを実行するためのプロセッサと、通信回路およびプロセッサに接続された監視回路とを含む。監視回路は、演算装置に供給される電力の遮断、および、演算装置に供給される電力を遮断する予告通知、の少なくとも一方を受けて、通信回路から１または複数の機能ユニットに対して、演算装置への電力供給の遮断に応じた処理を実行させるための通知を行う。
【０００９】
演算装置への電力供給の遮断に応じた処理は、各機能ユニットの動作を制限する動作状態へ遷移することを含んでいてもよい。
【００１０】
通信回路から通信線を介して、演算装置への電力供給の遮断に応じた処理に関連付けられた命令を含む特定のフレームが送信され、特定のフレームは、１または複数の機能ユニットを順次転送されてもよい。
【００１１】
１または複数の機能ユニットの各々は、特定のフレームを受信すると、動作状態を示すフラグの値を変更することであってもよい。
【００１２】
プロセッサは、プログラムを実行することで、ユーザプログラムの実行開始前に、通信回路から送信される特定のフレームを事前登録するようにしてもよい。
【００１３】
監視回路は、特定のフレームの送信後、通信回路の電力消費を遮断するようにしてもよい。
【００１４】
演算装置は、演算装置へ電力を供給する電源部をさらに含み、監視回路は、電源部への外部電源の供給状態に基づいて、電力の遮断を検知するようにしてもよい。
【００１５】
演算装置は、演算装置へ電力を供給する電源部をさらに含み、監視回路は、電源部へ外部電力を供給する無停電電源装置から予告通知を受信するようにしてもよい。
【００１６】
監視回路は、ＦＰＧＡまたはＡＳＩＣを用いて実装されてもよい。
本発明の別の局面に従う制御装置は、演算装置と、１または複数の機能ユニットとを含む。演算装置は、通信線を介して１または複数の機能ユニットとデータを遣り取りするための通信回路と、１または複数の機能ユニットから取得されるデータを利用した演算処理、および、１または複数の機能ユニットへ送信するデータの生成処理、のうち少なくとも一方を実施するユーザプログラムを実行するためのプロセッサと、通信回路およびプロセッサに接続された監視回路とを含む。監視回路は、演算装置に供給される電力の遮断、および、演算装置に供給される電力を遮断する予告通知、の少なくとも一方を受けて、通信回路から１または複数の機能ユニットに対して、演算装置への電力供給の遮断に応じた処理を実行させるための通知を行う。
【発明の効果】
【００１７】
本発明に従えば、演算装置へ供給される電力が遮断されたときに、機能ユニットにおいて、それに応じた処理を実行させるためのより簡素な構成を実現できる。
【図面の簡単な説明】
【００１８】
【図１】本発明の関連技術に従うＰＬＣの要部構成を示す模式図である。
【図２】本実施の形態に従うＰＬＣの要部構成を示す模式図である。
【図３】本実施の形態に従うＰＬＣにおける電力遮断処理の概要を説明する模式図である。
【図４】本実施の形態に従うＰＬＣが提供する電力遮断処理の処理手順を示すシーケンス図である。
【図５】本実施の形態に従うＰＬＣのＣＰＵユニットにおける電力遮断の検知方法の一例を示す模式図である。
【図６】本実施の形態に従うＰＬＣにおいて用いられる電力遮断通知フレームおよびその処理内容を説明するための模式図である。
【図７】本実施の形態に従うＰＬＣにおける電力遮断通知フレームの事前登録に係る処理を説明するための模式図である。
【図８】本実施の形態に従うＰＬＣの別の要部構成を示す模式図である。
【発明を実施するための形態】
【００１９】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【００２０】
以下の説明においては、「制御装置」の典型例として、ＰＬＣ（プラグラマブルコントローラ）を具体例として説明するが、ＰＬＣとの名称に限定されることなく、本明細書に開示された技術的思想は、任意の制御装置に対して適用可能である。
【００２１】
＜Ａ．関連技術＞
まず、本実施の形態に従う制御装置に関連する技術について説明する。
【００２２】
図１は、本発明の関連技術に従うＰＬＣの要部構成を示す模式図である。図１を参照して、本発明の関連技術に従うＰＬＣ２は、典型的には、電源ユニット２３０と、ＣＰＵユニット２００と、１または複数の機能ユニット２５０とから構成される。
【００２３】
電源ユニット２３０は、商用電源などの外部電源２３２からの電力の供給を受けて、所定電圧に変換した上で、その電力をＣＰＵユニット２００などへ供給する。典型的には、電源ユニット２３０には、１００Ｖ〜２４０Ｖの交流電力が入力され、５Ｖの直流電力がＣＰＵユニット２００などへ供給される。
【００２４】
機能ユニット２５０は、ＰＬＣ２による様々な機械や設備の制御を実現するための各種機能を提供する。
【００２５】
ＣＰＵユニット２００は、ＰＬＣ２を構成する一要素であり、ＰＬＣ２全体の処理を制御する演算装置に相当する。ＣＰＵユニット２００は、演算処理部２０２と、バスマスタ回路２１２と、イベント通知回路２１４と、フィールドネットワーク回路２１６とを含む。
【００２６】
演算処理部２０２は、ユーザプログラムを実行するためのプロセッサ２０４と、システムプログラム２０８およびユーザプログラム２１０などを格納するメモリ２０６とを含む。プロセッサ２０４は、システムプログラム２０８およびユーザプログラム２１０を含む様々なプログラムを実行する。
【００２７】
バスマスタ回路２１２は、内部バス２２２を介して、１または複数の機能ユニット２５０とデータを遣り取りするための通信回路である。フィールドネットワーク回路２１６は、フィールドネットワークを介して、他のＰＬＣ、リモートＩ／Ｏ（Input Output）装置、機能ユニットなどとデータの遣り取りを仲介する通信回路である。イベント通知回路２１４は、何らかのイベントが発生すると、専用線２２４を介して、１または複数の機能ユニット２５０へ当該イベントを通知するための通信回路である。
【００２８】
機能ユニット２５０の各々は、バス通信回路２５２と、イベント検知回路２５４と、機能モジュール２５６と、Ｉ／Ｏインターフェイス２５８とを含む。
【００２９】
バス通信回路２５２は、ＣＰＵユニット２００のバスマスタ回路２１２との間で内部バス２２２を介してデータを遣り取りする。より具体的には、バス通信回路２５２は、ＣＰＵユニット２００のバスマスタ回路２１２により指定されたタイミングで、機能ユニット２５０で収集または生成したデータ（以下、「入力データ」とも称す。）をＣＰＵユニット２００へ送信し、ＣＰＵユニット２００により取得または生成されたデータ（以下、「出力データ」とも称す。）をＣＰＵユニット２００から受信する。出力データは、制御対象の機械や設備などへ与えられる指令値に相当する。
【００３０】
機能モジュール２５６は、各機能ユニット２５０の主たる処理を実行する部分であり、制御対象の機械や設備などからのフィールド情報の収集や、制御対象の機械や設備などへの指令信号の出力などを司る。Ｉ／Ｏインターフェイス２５８は、制御対象の機械や設備などとの間の信号の遣り取りを仲介する回路である。
【００３１】
イベント検知回路２５４は、ＣＰＵユニット２００のイベント通知回路２１４からのイベント通知を監視する回路であり、イベント通知を受信すると、そのイベント通知を機能モジュール２５６へ出力する。
【００３２】
ＣＰＵユニット２００のイベント通知回路２１４、機能ユニット２５０のイベント検知回路２５４、および、専用線２２４は、ＣＰＵユニット２００で検知された任意のイベントを機能ユニット２５０へ通知するための構成であり、例えば、ＣＰＵユニット２００へ供給される電力が遮断されると、機能ユニット２５０に対してその電力遮断を示すイベントが通知される。機能ユニット２５０の各々は、当該イベント通知を受けて、ＣＰＵユニット２００への電力供給の遮断に応じた処理を実行する。
【００３３】
このように、図１に示すＰＬＣ２においては、ＣＰＵユニット２００への電力の供給が遮断されると、残留電力による電力供給が維持されている間、ＣＰＵユニット２００に接続されている１または複数の機能ユニット２５０に対して、その電力遮断を通知する。このような電力遮断の通知が行われることで、各機能ユニット２５０は、即座に必要な処理を実行できる。
【００３４】
このようなＣＰＵユニット２００からのイベント通知は、運用上および保守上、有効なものであるが、図１に示すＰＬＣ２においては、このようなイベント通知を送信するために、専用線２２４が必要であり、コスト上、不利である。そこで、以下に説明するような、本実施の形態に従う制御装置が採用されることが好ましい。
【００３５】
＜Ｂ．装置構成＞
次に、本実施の形態に従うＰＬＣの装置構成について説明する。
【００３６】
図２は、本実施の形態に従うＰＬＣの要部構成を示す模式図である。図２を参照して、本実施の形態に従うＰＬＣ１は、典型的には、電源ユニット１３０と、ＣＰＵユニット１００と、１または複数の機能ユニット１５０とから構成される。ＣＰＵユニット１００と１または複数の機能ユニット１５０との間は、通信線の一例であるローカルネットワーク１２６を介して接続されている。
【００３７】
電源ユニット１３０は、ＣＰＵユニット１００などへ電力を供給する電源部であり、商用電源などの外部電源１３２からの電力の供給を受けて、所定電圧に変換した上で、その電力をＣＰＵユニット１００などへ供給する。典型的には、電源ユニット１３０には、１００Ｖ〜２４０Ｖの交流電力が入力され、５Ｖの直流電力がＣＰＵユニット１００などへ供給される。
【００３８】
機能ユニット１５０は、ＰＬＣ１による様々な機械や設備の制御を実現するための各種機能を提供するものであり、典型的には、Ｉ／Ｏユニット、通信ユニット、温度調整ユニット、ＩＤ（Identifier）センサユニットなどを包含し得る。
【００３９】
Ｉ／Ｏユニットとしては、例えば、デジタル入力（ＤＩ）ユニット、デジタル出力（ＤＯ）ユニット、アナログ出力（ＡＩ）ユニット、アナログ出力（ＡＯ）ユニット、パルスキャッチ入力ユニット、および、複数の種類を混合させた複合ユニットなどが挙げられる。
【００４０】
通信ユニットは、他のＰＬＣ、リモートＩ／Ｏ装置、機能ユニットなどとデータの遣り取りを仲介するものであり、例えば、ＥｔｈｅｒＣＡＴ（登録商標）、ＥｔｈｅｒＮｅｔ／ＩＰ（登録商標）、ＤｅｖｉｃｅＮｅｔ（登録商標）、ＣｏｍｐｏＮｅｔ（登録商標）などのプロトコルに従う通信装置などを包含し得る。
【００４１】
温度調整ユニットは、温度計測値などを取得するアナログ入力機能と、制御指令などを出力するアナログ出力機能と、ＰＩＤ（Proportional Integral Differential）制御機能とを含む制御装置である。ＩＤセンサユニットは、ＲＦＩＤ（Radio Frequency IDentifier）などから非接触でデータを読出す装置である。
【００４２】
ＣＰＵユニット１００は、ＰＬＣ１を構成する一要素であり、ＰＬＣ１全体の処理を制御する演算装置に相当する。ＣＰＵユニット１００は、演算処理部１０１と、メモリ１０６と、通信マスタ回路１２０とを含む。
【００４３】
演算処理部１０１は、プロセッサ１０２および監視回路１０４を含む。説明の便宜上、図２には、プロセッサ１０２のみを描くが、複数のプロセッサを実装してもよい。なお、各プロセッサは、複数のコアを有していてもよい。監視回路１０４は、少なくとも主要部についてはハードワイヤードな構成を有することで、プロセッサ１０２より高速な処理を実現する。すなわち、監視回路１０４は、ハードウェアロジックを用いて実現される。例えば、監視回路１０４は、ＰＬＤ（Programmable Logic Device）の一例であるＦＰＧＡ（Field-Programmable Gate Array）や、ＩＣ（Integrated Circuit）の一例であるＡＳＩＣ（Application Specific Integrated Circuit）などを用いて実装されてもよい。
【００４４】
図２に示す構成において、演算処理部１０１は、プロセッサ１０２および監視回路１０４を同一のチップ上に実装したＳｏＣ（System on Chip）から構成される。但し、これに限られるものではなく、プロセッサ１０２および監視回路１０４をそれぞれ異なるチップとして実装してもよいし、あるいは、メモリ１０６および通信マスタ回路１２０の少なくとも一部をさらに同一のチップ上に実装してもよい。
【００４５】
メモリ１０６は、プロセッサ１０２でのプログラムの実行に必要なワーク領域を提供する部位（典型的には、揮発性メモリ）と、プロセッサ１０２で実行されるプログラム自体を格納する部位（典型的には、不揮発性メモリ）とを含む。揮発性メモリとしては、ＤＲＡＭ（Dynamic Random Access Memory）やＳＲＡＭ（Static Random Access Memory）などを用いることができ、不揮発性メモリとしては、フラッシュメモリやハードディスクなどを用いることができる。
【００４６】
メモリ１０６は、システムプログラム１０８およびユーザプログラム１１０などを格納する。システムプログラム１０８は、プロセッサ１０２においてユーザプログラム１１０を実行するためのＯＳ（Operating System）およびライブラリなどを含む。ユーザプログラム１１０は、典型的には、１または複数の機能ユニット１５０から取得されるデータ（入力データ）を利用した演算処理（例えば、論理演算や数値演算）、および、１または複数の機能ユニット１５０へ送信するデータ（出力データ）の生成処理、のうち少なくとも一方を実施する命令群であり、制御対象の機械や設備に応じて任意に作成される。プロセッサ１０２がユーザプログラム１１０を実行することで、ＰＬＣ１による設備や装置などに対する制御が実現される。
【００４７】
監視回路１０４は、プロセッサ１０２および通信マスタ回路１２０に接続され、後述するような、ＣＰＵユニット１００への電力供給が遮断されたときに、１または複数の機能ユニット１５０の各々に対して、電力供給の遮断を通知する。この監視回路１０４における処理の詳細については後述する。
【００４８】
本実施の形態に従うＰＬＣ１において、ローカルネットワーク１２６は、一種の定周期ネットワークであり、ＣＰＵユニット１００の通信マスタ回路１２０の制御下において、１または複数の機能ユニット１５０の各々は、入力データのＣＰＵユニット１００への送信、および、ＣＰＵユニット１００からの出力データの受信を所定周期毎に繰返す。このように、通信マスタ回路１２０は、通信線であるローカルネットワーク１２６を介して１または複数の機能ユニット１５０とデータ（入力データおよび出力データ）を遣り取りする。
【００４９】
このような定周期ネットワークとしては、ＥｔｈｅｒＣＡＴ（登録商標）、ＥｔｈｅｒＮｅｔ／ＩＰ（登録商標）、ＤｅｖｉｃｅＮｅｔ（登録商標）、ＣｏｍｐｏＮｅｔ（登録商標）などの公知のプロトコルに従うネットワークを採用してもよい。
【００５０】
本実施の形態に従うＰＬＣ１において、ローカルネットワーク１２６上では、予め定められたデータ構造を有するフレームが所定周期で順次転送されており、ＣＰＵユニット１００および各機能ユニット１５０は、順次転送されるフレームに対して、指定されたデータを指定された領域に書込み、および、必要なデータを対応する領域から読出す。
【００５１】
通信マスタ回路１２０は、送受信コントローラ１２２と、送受信ポート１２４とを含む。送受信ポート１２４は、ローカルネットワーク１２６と物理的に接続される部位であり、送受信コントローラ１２２からの指令に従って電気信号を生成して、ローカルネットワーク１２６上に送出するとともに、ローカルネットワーク１２６上に生じる電気信号をデジタル信号に変換して送受信コントローラ１２２へ出力する。送受信コントローラ１２２は、ローカルネットワーク１２６を介したデータの遣り取りに加えて、ローカルネットワーク１２６上を転送されるデータの到着時間を保証するための時間管理および送受信タイミング管理などを行う。
【００５２】
機能ユニット１５０の各々は、通信スレーブ回路１６０と、機能モジュール１５６と、Ｉ／Ｏインターフェイス１５８とを含む。
【００５３】
通信スレーブ回路１６０は、ローカルネットワーク１２６を順次転送されるフレームを処理する。すなわち、通信スレーブ回路１６０は、ローカルネットワーク１２６を介して何らかのフレームを受信すると、当該受信したフレームに対するデータ書込みおよび／またはデータ読出しを行った後に、ローカルネットワーク１２６上において次に位置する機能ユニット１５０へ当該フレームを送信する。通信スレーブ回路１６０は、このようなフレームリレーの機能を提供する。
【００５４】
より具体的には、通信スレーブ回路１６０は、送受信コントローラ１６６と、送受信ポート１６２，１６４と、状態レジスタ１６８とを含む。
【００５５】
送受信ポート１６２，１６４は、ローカルネットワーク１２６と物理的に接続される部位であり、送受信コントローラ１６６からの指令に従って電気信号を生成して、ローカルネットワーク１２６上に送出するとともに、ローカルネットワーク１２６上に生じる電気信号をデジタル信号に変換して送受信コントローラ１６６へ出力する。
【００５６】
送受信コントローラ１６６は、ローカルネットワーク１２６上を転送されるフレームに対するデータ書込みおよび／またはデータ読出しを行う。送受信コントローラ１６６は、通信マスタ回路１２０の送受信コントローラ１２２と同期したカウンタを有しており、この同期したカウンタに従って、ローカルネットワーク１２６上でのフレーム転送のタイミングなどを管理する。
【００５７】
状態レジスタ１６８は、各機能ユニット１５０における各種の状態を示すフラグを格納するレジスタであり、例えば、機能ユニット１５０自体の動作モードを示すフラグ、機能ユニット１５０で発生した異常の種別を示すフラグ、機能ユニット１５０での通信状態を示すフラグなどが格納される。
【００５８】
送受信コントローラ１６６は、さらに、特殊命令などを含むフレームを受信すると、当該受信したフレームに含まれる特殊命令にて指定された処理を実行する。このような特殊命令の一つとして、状態レジスタ１６８に格納されている状態値を更新する命令を含み得る。以下の説明するような、本実施の形態に従う処理は、このような特殊命令を利用して実現される。
【００５９】
機能モジュール１５６およびＩ／Ｏインターフェイス１５８は、図１に示す機能モジュール２５６およびＩ／Ｏインターフェイス２５８とそれぞれ実質的に同一であるので、詳細な説明は繰返さない。
【００６０】
＜Ｃ．電力遮断処理の概要＞
次に、本実施の形態に従うＰＬＣ１における処理の概要について説明する。本実施の形態に従うＰＬＣ１のＣＰＵユニット１００は、ＣＰＵユニット１００（特に、プロセッサ１０２）への電力供給の遮断というイベントが発生すると、各機能ユニット１５０に対して、ＣＰＵユニット１００への電力供給の遮断が通知される。この通知を受けた各機能ユニット１５０は、ＣＰＵユニット１００への電力供給の遮断に応じた処理を実行する。このようなＣＰＵユニット１００への電力供給の遮断を検知し、その検知結果に応じて、各機能ユニット１５０に対して、必要な通知を行う一連の処理を、以下では「電力遮断処理」とも総称する。
【００６１】
図３は、本実施の形態に従うＰＬＣ１における電力遮断処理の概要を説明する模式図である。図３（Ａ）には、ＣＰＵユニット１００と各機能ユニット１５０との間でのデータの遣り取りを模式的に示す。図３（Ａ）に示すように、ＣＰＵユニット１００と各機能ユニット１５０との間では、所定周期で、入力データおよび出力データが遣り取りされる。
【００６２】
図３（Ｂ）には、ＣＰＵユニット１００への電力供給が遮断されたときの処理を模式的に示す。ＣＰＵユニット１００の監視回路１０４は、ＣＰＵユニット１００に供給される電力の遮断の検知（電力遮断検知）に基づいて、または、ＣＰＵユニット１００に供給される電力を遮断する予告通知の受信（予告通知受信）に基づいて、１または複数の機能ユニット１５０に対して、ＣＰＵユニット１００への電力供給の遮断に応じた処理を実行させるための通知を行う。この通知は、通信マスタ回路１２０（図２）により、ローカルネットワーク１２６を介して行われる。
【００６３】
通常の入力データおよび出力データを遣り取りするローカルネットワーク１２６を用いた通知であれば、どのような実装形態を採用してもよいが、本実施の形態においては、通信マスタ回路１２０からローカルネットワーク１２６を介して、ＣＰＵユニット１００への電力供給の遮断に応じた処理に関連付けられた命令を含む特定のフレーム（図３（Ｂ）においては、「電力遮断通知フレーム」と記す。）が送信される。この特定のフレームは、１または複数の機能ユニット１５０を順次転送される。
【００６４】
機能ユニット１５０の各々において実行される、ＣＰＵユニット１００への電力供給の遮断に応じた処理としては、任意の処理を規定できるが、本実施の形態においては、機能ユニット１５０の動作を制限する動作状態へ遷移することを含む。以下の説明においては、図３（Ａ）に示す機能ユニット１５０の動作状態を「通常オペレーション状態」と称し、図３（Ｂ）に示すように、電力遮断通知フレームを受信した後の機能ユニット１５０の動作状態を「セーフオペレーション状態」と称す。これらの各状態の名称は、説明の便宜上のためのものであり、このような名称に限定されるものではない。
【００６５】
セーフオペレーション状態における制限された動作は、機能ユニット１５０の種類に応じて予め設計されているか、あるいは、ユーザが予め設定しておくことができる。一例として、セーフオペレーション状態における制限された動作は、各機能ユニット１５０が、予め指定された一定値を出力する、あるいは、何らの値も出力しないといった状態を含み得る。つまり、ＣＰＵユニット１００への電力供給が遮断されることで、ＣＰＵユニット１００が適切に制御することができない状態になると、安全を確保するため、および／または、制御対象の機械や設備を破損しないために、機能ユニット１５０は予め定められた状態で処理を進める。このような状態がセーフオペレーション状態であり、各機能ユニット１５０は、ＣＰＵユニット１００からのイベント通知によって、セーフオペレーション状態へ遷移する。
【００６６】
また、各機能ユニット１５０は、様々な異常検知ロジックを有しており、その一部として、接続先のＣＰＵユニット１００が健全であるか否か、および、ローカルネットワーク１２６での通信が正常であるか否かを監視するロジックを含む。このような異常検知ロジックは、ＣＰＵユニット１００での電力供給が遮断されると異常ログを発生する。機能ユニット１５０の各々が異常ログを発生すると、異常ログが「溢れる」ことになり、運用上や保守上、問題を生じ得る。そこで、セーフオペレーション状態における制限された動作の別の一例としては、このような異常検知ロジックを無効化して、不必要な異常ログをマスクする処理を含めることができる。すなわち、セーフオペレーション状態における制限された動作は、異常検知ロジックの一部または全部を無効化することを含む。
【００６７】
なお、各機能ユニット１５０がセーフオペレーション状態へ遷移した後、ローカルネットワーク１２６を無効化してもよい。すなわち、ローカルネットワーク１２６を運用するために必要な電力供給を遮断することで、ＣＰＵユニット１００へ残留電力が供給される期間を延ばすことができる。
【００６８】
＜Ｄ．電力遮断処理の処理手順＞
次に、本実施の形態に従うＰＬＣ１が提供する電力遮断処理の処理手順について説明する。図４は、本実施の形態に従うＰＬＣ１が提供する電力遮断処理の処理手順を示すシーケンス図である。図４には、図２に示すようなＣＰＵユニット１００および複数の機能ユニット１５０（図４に示す例では、説明の便宜上、２つの機能ユニット）とからなるＰＬＣ１における電力遮断処理の処理手順を示す。
【００６９】
ＣＰＵユニット１００に供給される電力の遮断が生じる（シーケンスＳＱ２）と、ＣＰＵユニット１００の監視回路１０４は、その電力遮断を検知する（シーケンスＳＱ４）。すると、監視回路１０４は、通信マスタ回路１２０に対して、通信起動を指示するとともに、監視回路１０４に予め登録されているフレーム（電力遮断通知フレーム）を送信するように指示する（シーケンスＳＱ６）。
【００７０】
この指示に従って、通信マスタ回路１２０は、１または複数の機能ユニット１５０に対して、ローカルネットワーク１２６を介して電力遮断通知フレームを送信する（シーケンスＳＱ８）。
【００７１】
ローカルネットワーク１２６において最も通信マスタ回路１２０に近い位置に配置されている機能ユニット１５０（図４の「機能ユニット１」）は、上流側から電力遮断通知フレームを受信すると、当該受信した電力遮断通知フレームを下流側へ転送する（シーケンスＳＱ１０）とともに、ＣＰＵユニット１００への電力供給の遮断に応じた処理（例えば、上述したようなセーフオペレーション状態への遷移）を実行する（シーケンスＳＱ１２）。
【００７２】
転送された電力遮断通知フレームを受信した次の機能ユニット１５０（図４の「機能ユニット２」）についても同様に、当該受信した電力遮断通知フレームをさらに下流側へ転送する（シーケンスＳＱ１４）とともに、ＣＰＵユニット１００への電力供給の遮断に応じた処理を実行する（シーケンスＳＱ１６）。
【００７３】
以下、上流側からの電力遮断通知フレームの受信、受信した電力遮断通知フレームの下流側への転送、および、ＣＰＵユニット１００への電力供給の遮断に応じた処理の実行が、各機能ユニット１５０においてそれぞれ実行される。
【００７４】
そして、監視回路１０４は、通信マスタ回路１２０に対する通信起動の指示から所定時間（電源供給継続時間）経過後に、通信マスタ回路１２０に対する電力供給を停止する（シーケンスＳＱ１８）。通信マスタ回路１２０に対する電力供給の停止は、通信マスタ回路１２０に対する電力供給経路にあるスイッチをオフにする、あるいは、通信マスタ回路１２０自体にシャットダウン指令を与えるといった方法で実現できる。このように、監視回路１０４は、特定のフレーム（電力遮断通知フレーム）の送信後、通信マスタ回路１２０の電力消費を遮断する。
【００７５】
通信マスタ回路１２０の電力消費を遮断するまでの時間（電源供給継続時間）は、電力遮断通知フレームがローカルネットワーク１２６に接続されているすべての機能ユニット１５０へ転送されるのに要する時間以上に設定することが好ましい。例えば、ローカルネットワーク１２６に接続可能な機能ユニット１５０の最大数に応じて予め設定されてもよいし、ローカルネットワーク１２６に接続されている機能ユニット１５０の数に応じて動的に設定してもよい。
【００７６】
さらに、通信マスタ回路１２０が、ローカルネットワーク１２６の末端に接続されている機能ユニット１５０からの電力遮断通知フレームについての受信応答を受信したことを条件に、通信マスタ回路１２０の電力消費を遮断するようにしてもよい。
【００７７】
一方、プロセッサ１０２は、監視回路１０４から電力遮断検知のトリガを受信することで、電力遮断を検知すると、不揮発性メモリ上のデータや現在の状態を示すデータを退避する、シャットダウン処理を実行する（シーケンスＳＱ２０）。このシャットダウン処理は、電源ユニット１３０からの残留電力による電力供給が維持されている間に実行される。そして、電源ユニット１３０からの電力供給が途絶えると、あるいは、供給電力が規定の電圧値以下になると、プロセッサ１０２は動作を停止する（シーケンスＳＱ３０）。
【００７８】
このような一連の電力遮断処理を実行することで、各機能ユニット１５０は、セーフオペレーション状態に遷移するので、ＣＰＵユニット１００への電力供給が回復した後に、１または複数の機能ユニット１５０が大量の異常ログを発生するような事態を回避できる。
【００７９】
＜Ｅ．電力遮断の検知方法＞
次に、ＣＰＵユニット１００の監視回路１０４による電力遮断の検知方法の一例について説明する。図５は、本実施の形態に従うＰＬＣ１のＣＰＵユニット１００における電力遮断の検知方法の一例を示す模式図である。
【００８０】
図５（Ａ）は、ＣＰＵユニット１００に供給される電力の遮断を検知する方法の一例として、電源ユニット１３０への外部電源の供給状態に基づいて、電力の遮断を検知する場合の構成例を示す。図５（Ａ）に示す電源ユニット１３０は、商用電源などの外部電源から交流電力を受けて、直流電力を出力する交直変換回路を含む。具体的には、電源ユニット１３０は、整流部１３３と、スイッチング部１３４と、ダイオード１３５と、インダクタ１３６と、キャパシタ１３７とを含む。スイッチング部１３４、ダイオード１３５、インダクタ１３６、および、キャパシタ１３７は、一種のスイッチングレギュレータを構成する。すなわち、電界効果トランジスタなどによって構成されるスイッチング部１３４でのスイッチング動作によって、所定の電圧をもつ直流電力が出力される。
【００８１】
例えば、電源ユニット１３０の整流部１３３の出力側に分圧抵抗１３８を設けるとともに、分圧抵抗１３８に生じる電位と基準電位Ｖｒｅｆとをコンパレータ１３９で比較することで、外部電源からの電力供給の遮断を検知することができる。つまり、基準電位Ｖｒｅｆを適切に設定することで、何らかの原因で外部電源からの電力供給が遮断されると、分圧抵抗１３８に生じる電位が低下し、基準電位Ｖｒｅｆを下回ることになる。この状態において、コンパレータ１３９は、電力遮断検知信号を出力する。演算処理部１０１の監視回路１０４は、電力遮断検知信号が出力されることをもって、ＣＰＵユニット１００に供給される電力の遮断を検知できる。
【００８２】
なお、演算処理部１０１の監視回路１０４には、図５（Ａ）に示すコンパレータ１３９を含めるようにしてもよい。
【００８３】
図５（Ａ）には、電源ユニット１３０の構成例に応じて実際に生じる電圧または電位を計測することで、供給される電力の遮断を検知する方法について例示したが、これに限らず、任意の回路構成および検知回路を採用できる。
【００８４】
図５（Ｂ）は、ＣＰＵユニット１００に供給される電力を遮断する前の予告通知を受ける方法の一例として、電源ユニット１３０へ外部電力を供給する無停電電源装置（ＵＰＳ）から予告通知を受信する場合の構成例を示す。図５（Ｂ）を参照して、外部電源１３２からの電力が無停電電源装置１３１を介して電源ユニット１３０へ供給される構成においては、外部電源１３２からの電力供給が遮断されても、電源ユニット１３０への電力供給が即座に遮断されるということはない。但し、無停電電源装置１３１に内蔵されるバッテリにより確保される電力量は限りがあるので、通常は、無停電電源装置１３１が外部電源１３２からの電力供給の遮断を検知すると、所定時間内に電源ユニット１３０への電力供給が遮断されることを示す予告通知が出力される。演算処理部１０１の監視回路１０４は、この予告通知を受けて、上述したような電力遮断処理の実行を開始する。
【００８５】
なお、図５（Ｂ）には、典型例として、無停電電源装置から予告通知を受信する例を示したが、これに限らず、任意の方法で、ＣＰＵユニット１００に供給される電力を遮断する前の予告通知を受け取るようにしてもよい。
【００８６】
＜Ｆ．ＣＰＵユニットへの電力供給の遮断に応じた処理＞
次に、各機能ユニット１５０にて実行される、ＣＰＵユニット１００への電力供給の遮断に応じた処理について説明する。
【００８７】
（ｆ１：動作状態の遷移）
ＣＰＵユニット１００への電力供給の遮断に応じた処理の一つとして、各機能ユニット１５０の動作状態を「通常オペレーション状態」から「セーフオペレーション状態」へ遷移する処理が想定される。つまり、ＣＰＵユニット１００の監視回路１０４は、各機能ユニット１５０に対して、「通常オペレーション状態」から「セーフオペレーション状態」へ遷移させるための指令を与え、各機能ユニット１５０は、この指令を受けて、動作状態を遷移させる。この動作状態の遷移によって、各機能ユニット１５０は、制御対象の機械や設備に対して予め定められた出力値を出力し、および／または、異常検知ロジックの全部または一部を無効化する。
【００８８】
すなわち、１または複数の機能ユニット１５０は、電力遮断通知フレームを受信すると、「通常オペレーション状態」から「セーフオペレーション状態」へ動作状態を遷移する処理を実行し、その結果、各機能ユニット１５０は、ＣＰＵユニット１００の動作停止に応じた処理を実行するようになる。
【００８９】
図６は、本実施の形態に従うＰＬＣ１において用いられる電力遮断通知フレームおよびその処理内容を説明するための模式図である。
【００９０】
図６（Ａ）には、電力遮断通知フレーム１８０のデータ構造の一例を示す。電力遮断通知フレーム１８０は、ヘッダ部として、データ種別部１８１と、宛先指定部１８２とを含み、データ本体部として、オフセット部１８３と、サイズ部１８４と、データ値部１８５とを含む。
【００９１】
データ種別部１８１は、フレームの種別を示す値を格納する領域であり、図６（Ａ）に示す例では、受信した機能ユニット１５０において指定された命令を実行すべきフレームであることを示す値が格納されている。宛先指定部１８２は、フレームの送信先を示す値を格納する領域であり、ユニキャストの場合にはネットワーク上のアドレスが指定され、マルチキャストの場合には複数の転送先を示す情報が指定され、ブロードキャストの場合には、特定の値が指定される。
【００９２】
図６（Ａ）に示すフレームのデータ本体部には、データを書込むための命令が格納される。具体的には、オフセット部１８３には、データが書込まれる領域の先頭位置を示すオフセット値が格納され、サイズ部１８４には、データが書込まれる領域のサイズが格納され、データ値部１８５には、実際に書込まれるデータの値が格納される。
【００９３】
図６（Ｂ）には、各機能ユニット１５０の通信スレーブ回路１６０に含まれる状態レジスタ１６８の一例を示す。本実施の形態に従うＰＬＣ１において、各機能ユニット１５０は、状態レジスタ１６８に設定されるフラグの値に応じて、動作状態を設定し、あるいは、異常の有無などを判断する。図６（Ｂ）に示す例においては、状態レジスタ１６８の下位から２ビット目（右側から２番目）のビットが、各機能ユニット１５０の動作状態を示すものとする。
【００９４】
各機能ユニット１５０は、図６（Ａ）に示す電力遮断通知フレーム１８０を受信すると、それに含まれた命令に従って、状態レジスタ１６８の内容を更新する。図６（Ｂ）に示す例では、各機能ユニット１５０において、状態レジスタ１６８の下位から２ビット目が更新される。これによって、各機能ユニット１５０は、「通常オペレーション状態」から「セーフオペレーション状態」へ動作状態を遷移させる。
【００９５】
このように、特定のフレームである電力遮断通知フレームは、各機能ユニット１５０を「セーフオペレーション状態」に遷移させるフレームであり、各機能ユニット１５０は、電力遮断通知フレームを受信すると、動作状態を示すフラグの値を変更する。各機能ユニット１５０は、「セーフオペレーション状態」に遷移することで、ＣＰＵユニット１００への電力供給の遮断に応じた処理を実行することになる。
【００９６】
図６に示すように、各機能ユニット１５０の動作状態を示すフラグの値を更新する電力遮断通知フレームを用いることで、ＣＰＵユニット１００の監視回路１０４から送出される電力遮断通知フレームの構成や処理を簡素化できるとともに、各機能ユニット１５０がセーフオペレーション状態として定義されている処理を実行するので、ＣＰＵユニット１００側で各機能ユニット１５０における処理を管理する必要がない。すなわち、ＣＰＵユニット１００に対する電力供給が遮断されたときの処理を、ＣＰＵユニット１００側で管理する必要がないので、システムの設計および保守が容易化できる。
【００９７】
（ｆ２：個別指定）
図６には、状態レジスタ１６８のフラグ値を変更するための電力遮断通知フレームを用いる例について説明したが、電力遮断通知フレームとしては、特定の機能ユニット１５０だけを対象にする命令、および／または、特定の処理を実行させる命令を含めるようにしてもよい。
【００９８】
例えば、ローカルネットワーク１２６に接続されている複数の機能ユニット１５０のうち、特定種類の機能ユニット１５０に対してのみ、不必要な異常ログをマスクするように命令することができる。例えば、通信ユニットなどでは、上位ネットワークおよび下位ネットワークの通信状態を常に監視しているため、ＣＰＵユニット１００に対する電力供給が遮断されることで、大量の異常ログを発生する可能性がある。そのため、このような特定種類の機能ユニット１５０に対してのみ、異常検知ロジックを無効化するような指令を与えるようにしてもよい。
【００９９】
また、ＣＰＵユニット１００への電力供給の遮断に応じた処理として、（１）機能ユニット１５０からの出力信号を予め定められた値に設定する、および、（２）異常検知ロジックの全部または一部を無効化する、などが挙げられるが、これらの処理を具体的に指定するようにしてもよい。例えば、ローカルネットワーク１２６に接続されている機能ユニット１５０の各々からの出力信号をすべてＦＡＬＳＥ（オフまたは「０」）に設定する、すなわち負荷遮断出力に設定することだけが必要なシステム構成においては、すべての機能ユニット１５０に対して、出力信号をＦＡＬＳＥに設定するための指令を含む電力遮断通知フレームを送信するようにしてもよい。
【０１００】
電力遮断通知フレームに機能ユニット１５０別の指令を含ませることで、制御対象の機械や設備に応じた処理を安全に実行させることができる。
【０１０１】
＜Ｇ．電力遮断通知フレームの事前登録＞
上述したように、任意の電力遮断通知フレームを送信するように構成可能である。このような送信される電力遮断通知フレームの自由度を高めるために、システム起動時などに、プロセッサ１０２がシステムプログラム１０８（一種のファームウェア）を実行することで、監視回路１０４が送信すべき電力遮断通知フレームを設定するようにしてもよい。
【０１０２】
図７は、本実施の形態に従うＰＬＣ１における電力遮断通知フレームの事前登録に係る処理を説明するための模式図である。図７（Ａ）を参照して、ＣＰＵユニット１００の起動時において、プロセッサ１０２はシステムプログラム１０８を実行する。システムプログラム１０８の実行によって、ユーザプログラム１１０を実行するための環境が形成される。このシステムプログラム１０８の一部として、監視回路１０４のレジスタ１０４１に電力遮断通知フレーム１８０を登録する処理が含まれる。
【０１０３】
図７（Ｂ）に示すように、監視回路１０４のレジスタ１０４１に電力遮断通知フレーム１８０が事前登録された状態で、プロセッサ１０２はユーザプログラム１１０を実行するとともに、監視回路１０４は、ＣＰＵユニット１００に対する電力供給の遮断を監視する。このように、プロセッサ１０２は、システムプログラム１０８（あるいは、ファームウェア）を実行することで、ユーザプログラム１１０の実行開始前に、通信マスタ回路１２０から送信される特定のフレーム（電力遮断通知フレーム）を事前登録する。
【０１０４】
上述したように、監視回路１０４は、ＣＰＵユニット１００への電力供給の遮断を検知すると、予め登録された電力遮断通知フレーム１８０を通信マスタ回路１２０から送信する。
【０１０５】
このように、ハードウェアロジックである監視回路１０４は、電力供給の遮断を検知する機能に加えて、特定のフレーム（電力遮断通知フレーム）を送信する機能を有している。この特定のフレームは、プロセッサ１０２により実行されるシステムプログラム１０８によって事前に登録される。
【０１０６】
本実施の形態においては、プロセッサ１０２により実行されるシステムプログラム１０８によって、監視回路１０４のレジスタ１０４１に任意の通信フレームを登録できる。そのため、ＰＬＣ１の構成や用途などに応じて、任意の通信フレームを登録するようにしてもよい。
【０１０７】
例えば、ローカルネットワーク１２６に接続されている機能ユニット１５０の数に応じて、電力遮断通知フレームの内容を異ならせてもよい。あるいは、上述したように、特定の機能ユニット１５０に対してのみ処理を行わせるようにしてもよいし、特定の処理のみを機能ユニット１５０に対して行わせるようにしてもよい。
【０１０８】
本実施の形態に従うＣＰＵユニット１００においては、電力供給の遮断検知の機能および電力遮断通知フレームの送信機能については、ハードウェアロジックを用いることで、高速化を実現するとともに、電力遮断通知フレームの内容自体については、システムプログラム１０８によって任意に設定できる構成を採用することで、自由度を高めたシステムを実現できる。
【０１０９】
＜Ｈ．その他の応用例＞
上述においては、ＣＰＵユニット１００とローカルネットワーク１２６を介して接続された１または複数の機能ユニット１５０に対して、特定のフレーム（電力遮断通知フレーム）が送信される構成について主として説明した。しかしながら、フィールドネットワークを介して接続される１または複数の機能ユニット１５０に対しても、同様のスキームを適用可能である。
【０１１０】
図８は、本実施の形態に従うＰＬＣの別の要部構成を示す模式図である。図８を参照して、ＰＬＣ１のＣＰＵユニット１００は、ローカルネットワーク１２６を介して、１または複数の機能ユニット１５０に接続されているとともに、フィールドネットワーク１２８を介してリモートＩ／Ｏ装置（通信カプラユニット１７０および１または複数の機能ユニット１５０）にも接続されている。
【０１１１】
このような構成においても、ＣＰＵユニット１００の監視回路１０４は、ＣＰＵユニット１００に供給される電力の遮断を検知すると、ローカルネットワーク１２６を介して電力遮断通知フレームを送信するともに、フィールドネットワーク１２８を介して電力遮断通知フレームを送信する。これらの電力遮断通知フレームに応答して、ローカルネットワーク１２６に接続されている１または複数の機能ユニット１５０の各々、ならびに、フィールドネットワーク１２８に接続されている１または複数の機能ユニット１５０の各々は、ＣＰＵユニット１００への電力供給の遮断に応じた処理を実行する。
【０１１２】
このように、本実施の形態に従う電力遮断処理は、ＣＰＵユニット１００とローカルネットワーク１２６を介して接続されている機能ユニット１５０だけではなく、フィールドネットワーク１２８を介して接続されている機能ユニット１５０に対しても適用可能である。
【０１１３】
説明の便宜上、図８には、ローカルネットワーク１２６およびフィールドネットワーク１２８の両方を備えるＣＰＵユニット１００を例示するが、フィールドネットワーク１２８のみを備えるＣＰＵユニット１００に対しても、同様に適用可能である。
【０１１４】
＜Ｉ．利点＞
本実施の形態に従うＣＰＵユニット１００によれば、ＣＰＵユニット１００に対して供給される電力が遮断されたときに、入力データおよび出力データを遣り取りする通信線を介して、特定のフレーム（電力遮断通知フレーム）を１または複数の機能ユニット１５０に対して送信することができる。この電力遮断通知フレームにより、各機能ユニット１５０は、ＣＰＵユニット１００への電力供給の遮断に応じた処理を実行する。このような構成を採用することで、図１に示すような、イベントを通知するための専用線が必要ではなくなり、低コスト化を実現できる。また、専用線が必要ないので、汎用的な通信プロトコルを採用する定周期ネットワークなどを採用した場合であっても、各機能ユニット１５０に対して、ＣＰＵユニット１００への電力供給の遮断に応じた処理を実行させることができる。
【０１１５】
本実施の形態に従うＣＰＵユニット１００によれば、電力供給の遮断検知の機能および電力遮断通知フレームを送信する機能を、ハードウェアロジックを用いて実現しているので、供給される電源の遮断が発生してから、各機能ユニット１５０において必要な処理を実行または必要な動作状態へ移行するまでに要する時間を短縮化できる。併せて、プロセッサなどを用いて電力供給の遮断を検知する場合に比較して、検知処理に要する時間のゆらぎを低減できる。このような短時間化および時間ゆらぎの低減に伴って、電源ユニット１３０が確保すべき電源容量を低減でき、電源ユニット１３０に対する低コスト化にも寄与できる。
【０１１６】
本実施の形態に従うＣＰＵユニット１００によれば、電力供給の遮断が検知されてから、各機能ユニット１５０に対して送信さされる電力遮断通知フレームの内容自体については、システムプログラム１０８によって任意に設定できる構成を採用することで、自由度を高めたシステムを実現できる。
【０１１７】
本実施の形態に従うＣＰＵユニット１００によれば、電力供給の遮断が検知されると、監視回路１０４は、各機能ユニット１５０の動作状態を遷移させるための電力遮断通知フレームが送信するだけでよく、ＣＰＵユニット１００に対する電力供給が遮断された後、各機能ユニット１５０がどのような処理を実行するのかについては、機能ユニット１５０毎に予め設定することができる。つまり、各機能ユニット１５０の動作を指示するための特別な通信フレームを予め用意する必要がなく、システムを簡素化できる。
【０１１８】
本実施の形態に従うＰＬＣ１においては、各機能ユニット１５０は、ＣＰＵユニット１００との間で遣り取りされる通信フレームの送受信に関するタイムアウトを常時監視しており、このタイムアウトが発生することで、ＣＰＵユニット１００のダウンを検知することができる。この場合も、各機能ユニット１５０は、動作状態を遷移させるとともに、ＣＰＵユニット１００への電力供給の遮断に応じた処理を実行する。但し、このタイムアウトの監視に基づく方法によれば、検知時間を通信フレームの送信周期より短くすることができず、その結果、ＣＰＵユニット１００の動作が停止する前に、必要な処理を完了させることができない。また、電力供給が遮断されたことを検知するタイミングにもゆらぎが生じ得る。
【０１１９】
これに対して、上述したような特定のフレーム（電力遮断通知フレーム）を送信することで、各機能ユニット１５０は、ＣＰＵユニット１００に対する電力供給の遮断を直ちに知ることができるので、ＣＰＵユニット１００への電力供給の遮断に応じた処理を直ちに開始できる。特に、同一のネットワークに接続されている機能ユニット１５０の総数が多い場合などには、フレーム周期が長くなり、ＣＰＵユニット１００のダウンを検知するまでに相対的に長い時間を要することになるが、このような問題を生じることがない。
【０１２０】
本実施の形態に従うＰＬＣ１においては、特定のフレーム（電力遮断通知フレーム）を送信することで、各機能ユニット１５０は、異常検知ロジックの一部または全部を無効化するので、ＣＰＵユニット１００が復帰したときなどに、異常ログで溢れるといった事態を回避できる。
【０１２１】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１２２】
１，２  ＰＬＣ、１００，２００  ＣＰＵユニット、１０１，２０２  演算処理部、１０２，２０４  プロセッサ、１０４  監視回路、１０６，２０６  メモリ、１０８，２０８  システムプログラム、１１０，２１０  ユーザプログラム、１２０  通信マスタ回路、１２２，１６６  送受信コントローラ、１２４，１６２，１６４  送受信ポート、１２６  ローカルネットワーク、１２８  フィールドネットワーク、１３０，２３０  電源ユニット、１３１  無停電電源装置、１３２，２３２  外部電源、１３３  整流部、１３４  スイッチング部、１３５  ダイオード、１３６  インダクタ、１３７  キャパシタ、１３８  分圧抵抗、１３９  コンパレータ、１５０，２５０  機能ユニット、１５６，２５６  機能モジュール、１５８，２５８  Ｉ／Ｏインターフェイス、１６０  通信スレーブ回路、１６８  状態レジスタ、１７０  通信カプラユニット、１８０  電力遮断通知フレーム、１８１  データ種別部、１８２  宛先指定部、１８３  オフセット部、１８４  サイズ部、１８５  データ値部、２１２  バスマスタ回路、２１４  イベント通知回路、２１６  フィールドネットワーク回路、２２２  内部バス、２２４  専用線、２５２  バス通信回路、２５４  イベント検知回路、１０４１  レジスタ。
【図１】
2018060482.tif 000003
【図２】
2018060482.tif 000004
【図３】
2018060482.tif 000005
【図４】
2018060482.tif 000006
【図５】
2018060482.tif 000007
【図６】
2018060482.tif 000008
【図７】
2018060482.tif 000009
【図８】
2018060482.tif 000010