(57)【要約】【課題】退避されたログ情報の世代管理を行いつつ、ログ情報の取得を継続する。【解決手段】１以上の被制御機器を制御する制御機器であって、前記制御機器又は前記被制御機器のログ情報を取得する取得手段と、前記取得手段により取得された前記ログ情報を、該ログ情報の種別毎に、所定のログ記憶領域に記憶させるログ記憶手段と、前記制御機器で所定のイベントが発生したか否かを判定する判定手段と、前記判定手段により所定のイベントが発生したと判定された場合、該イベントに対応する種別のログ情報が記憶される前記ログ記憶領域に記憶されているログ情報のうち、所定の件数のログ情報を退避させる退避手段と、を有し、前記ログ記憶手段は、前記取得手段により取得された前記ログ情報を、該ログ情報の種別に対応する前記ログ記憶領域のうち、前記退避手段により退避させた前記ログ情報が記憶されている記憶領域以外の記憶領域に記憶させる。【選択図】図４
2018045344.tif 000002
【特許請求の範囲】
【請求項１】
１以上の被制御機器を制御する制御機器であって、
前記制御機器又は前記被制御機器のログ情報を取得する取得手段と、
前記取得手段により取得された前記ログ情報を、該ログ情報の種別毎に、所定のログ記憶領域に記憶させるログ記憶手段と、
前記制御機器で所定のイベントが発生したか否かを判定する判定手段と、
前記判定手段により所定のイベントが発生したと判定された場合、該イベントに対応する種別のログ情報が記憶される前記ログ記憶領域に記憶されているログ情報のうち、所定の件数のログ情報を退避させる退避手段と、
を有し、
前記ログ記憶手段は、
前記取得手段により取得された前記ログ情報を、該ログ情報の種別に対応する前記ログ記憶領域のうち、前記退避手段により退避させた前記ログ情報が記憶されている記憶領域以外の記憶領域に記憶させる、制御機器。
【請求項２】
前記判定手段により所定のイベントが発生したと判定された場合、該イベントに対応する種別のログ情報を退避させるか否かを判定する退避判定手段を有し、
前記退避手段は、
前記退避判定手段によりログ情報を退避させると判定された場合、前記イベントに対応する種別のログ情報が記憶される前記ログ記憶領域に記憶されているログ情報のうち、所定の件数のログ情報を退避させる、請求項１に記載の制御機器。
【請求項３】
前記退避判定手段は、
前記イベントに対応する種別が、前記制御機器に接続された情報処理装置により設定された種別であるか否かを判定する、請求項２に記載の制御機器。
【請求項４】
前記退避手段は、
前記イベントに対応する種別のログ情報が記憶される前記ログ記憶領域に記憶されているログ情報のうち、前記制御機器に接続された情報処理装置により設定された件数のログ情報を退避させる、請求項１乃至３の何れか一項に記載の制御機器。
【請求項５】
前記ログ記憶手段は、
前記取得手段により取得された前記ログ情報を、該ログ情報の種別に対応する前記ログ記憶領域のうち、前記退避手段により退避させた前記ログ情報が記憶されている記憶領域以外の記憶領域にサイクリックに記憶させる、請求項１乃至４の何れか一項に記載の制御機器。
【請求項６】
前記制御機器に接続された情報処理装置からの要求に応じて、前記退避手段により退避させた前記ログ情報を前記情報処理装置に送信するログ送信手段を有し、
前記ログ記憶手段は、
前記取得手段により取得された前記ログ情報を、該ログ情報の種別に対応する前記ログ記憶領域のうち、前記退避手段により退避させた前記ログ情報であって、かつ、前記ログ送信手段により前記情報処理装置に送信されていない前記ログ情報が記憶されている記憶領域以外の記憶領域に記憶させる、請求項１乃至５の何れか一項に記載の制御機器。
【請求項７】
前記所定のイベントは、前記制御機器における故障又は前記制御機器と接続される情報処理装置からの要求である、請求項１乃至６の何れか一項に記載の制御機器。
【請求項８】
１以上の被制御機器と、該被制御機器を制御する制御機器とを有する制御システムであって、
前記制御機器又は前記被制御機器のログ情報を取得する取得手段と、
前記取得手段により取得された前記ログ情報を、該ログ情報の種別毎に、所定のログ記憶領域に記憶させるログ記憶手段と、
前記制御機器で所定のイベントが発生したか否かを判定する判定手段と、
前記判定手段により所定のイベントが発生したと判定された場合、該イベントに対応する種別のログ情報が記憶される前記ログ記憶領域に記憶されているログ情報のうち、所定の件数のログ情報を退避させる退避手段と、
を有し、
前記ログ記憶手段は、
前記取得手段により取得された前記ログ情報を、該ログ情報の種別に対応する前記ログ記憶領域のうち、前記退避手段により退避させた前記ログ情報が記憶されている記憶領域以外の記憶領域に記憶させる、制御システム。
【請求項９】
１以上の被制御機器を制御する制御機器に用いられる制御方法であって、
前記制御機器又は前記被制御機器のログ情報を取得する取得手段と、
前記取得手段により取得された前記ログ情報を、該ログ情報の種別毎に、所定のログ記憶領域に記憶させるログ記憶手順と、
前記制御機器で所定のイベントが発生したか否かを判定する判定手順と、
前記判定手順により所定のイベントが発生したと判定された場合、該イベントに対応する種別のログ情報が記憶される前記ログ記憶領域に記憶されているログ情報のうち、所定の件数のログ情報を退避させる退避手順と、
を有し、
前記ログ記憶手順は、
前記取得手段により取得された前記ログ情報を、該ログ情報の種別に対応する前記ログ記憶領域のうち、前記退避手順により退避させた前記ログ情報が記憶されている記憶領域以外の記憶領域に記憶させる、制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御機器、制御システム、及び制御方法に関する。
【背景技術】
【０００２】
例えばＰＬＣ（Programmable Logic Controller）等の制御装置において、各種操作や各種動作のログ情報、波形記録のログ情報等をメモリに格納する技術が知られている。また、制御装置のメモリに格納されているログ情報を、例えばＰＣ（パーソナルコンピュータ）等の外部装置に送信する技術が知られている。
【０００３】
更に、制御装置に障害や異常等が発生した場合に、当該障害や異常等の発生を示すログ情報を含む所定の件数のログ情報を不揮発性のメモリに退避させる技術が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−４９５５２号公報
【特許文献２】特開２０１０−６１３６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の従来技術では、例えば、障害や異常等の発生に伴い退避したログ情報（退避ログ情報）の世代管理を行いつつ、ログ情報の取得を継続することができなかった。したがって、例えば、制御装置においてログ情報の取得を継続する一方で、制御装置内のメモリで世代毎にログ情報を管理し、かつ、外部装置に送信された退避ログ情報を世代毎に分析することができなかった。
【０００６】
本発明の実施の形態は、上記の点に鑑みてなされたもので、退避されたログ情報の世代管理を行いつつ、ログ情報の取得を継続することを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成するため、本発明の実施の形態は、１以上の被制御機器を制御する制御機器であって、前記制御機器又は前記被制御機器のログ情報を取得する取得手段と、前記取得手段により取得された前記ログ情報を、該ログ情報の種別毎に、所定のログ記憶領域に記憶させるログ記憶手段と、前記制御機器で所定のイベントが発生したか否かを判定する判定手段と、前記判定手段により所定のイベントが発生したと判定された場合、該イベントに対応する種別のログ情報が記憶される前記ログ記憶領域に記憶されているログ情報のうち、所定の件数のログ情報を退避させる退避手段と、を有し、前記ログ記憶手段は、前記取得手段により取得された前記ログ情報を、該ログ情報の種別に対応する前記ログ記憶領域のうち、前記退避手段により退避させた前記ログ情報が記憶されている記憶領域以外の記憶領域に記憶させる。
【発明の効果】
【０００８】
本発明の実施の形態によれば、退避されたログ情報の世代管理を行いつつ、ログ情報の取得を継続することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態に係る制御システムの一例のシステム構成を示す図である。
【図２】本実施形態に係る制御装置の一例のハードウェア構成を示す図である。
【図３】本実施形態に係る外部装置の一例のハードウェア構成を示す図である。
【図４】本実施形態に係る制御システムの一例の機能構成を示す図である。
【図５】退避ログ種別及び退避件数の登録処理の一例を示すシーケンス図である。
【図６】退避ログ種別情報の一例を示す図である。
【図７】退避件数情報の一例を示す図である。
【図８】ログ情報の格納及び退避処理の一例を示すフローチャートである。
【図９】ログ情報の退避について説明する図（その１）である。
【図１０】ログ情報の退避について説明する図（その２）である。
【図１１】退避ログアドレス情報の一例を示す図である。
【図１２】退避ログ情報取得の全体処理の一例を示すシーケンス図である。
【図１３】退避ログ情報の取得処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
【００１１】
＜システム構成＞
まず、本実施形態に係る制御システム１のシステム構成について、図１を参照しながら説明する。図１は、本実施形態に係る制御システム１の一例のシステム構成を示す図である。
【００１２】
図１に示すように、本実施形態に係る制御システム１は、制御装置２と、外部装置３とを有する。制御装置２及び外部装置３は、例えばシリアルバス等の通信線４により通信可能に接続されている。なお、制御装置２及び外部装置３は、通信線４に限られず、例えば、ＬＡＮ（Local Area Network）等により通信可能に接続されていても良い。
【００１３】
制御装置２は、例えばＰＬＣやＵＰＳ（Uninterruptible Power Supply）等である。制御装置２には、制御機器１０と、１台以上の被制御機器２０とが含まれる。
【００１４】
制御機器１０は、制御装置２内の被制御機器２０を制御する。また、制御機器１０は、各種操作や各種動作のログ情報、電流・電圧等の波形記録のログ情報等を取得及び格納する。更に、制御機器１０は、障害や故障、エラー、異常等（以降では、これらを単に、「異常等」と表す。）が発生した場合に、当該異常等に対応する種別のログ情報を退避させて、当該退避させたログ情報（退避ログ情報）を世代毎に管理する。
【００１５】
被制御機器２０は、制御機器１０からの制御命令に応じて各種動作を行う。なお、制御機器１０及び被制御機器２０は、例えばＣＡＮ（Controller Area Network）等の通信線３０により通信可能に接続されている。
【００１６】
このように、本実施形態に係る制御装置２に含まれる制御機器１０は、各種のログ情報を取得及び格納すると共、発生した異常等に対応する退避ログ情報を世代毎に管理する。
【００１７】
外部装置３は、例えばＰＣ等である。外部装置３は、例えばユーザの操作に応じて、制御装置２から退避ログ情報を取得する。これにより、外部装置３は、取得した退避ログ情報を分析等することで、異常等の発生原因の解明等を行うことができるようになる。
【００１８】
なお、図１に示す制御システム１は、一例であって、他の構成であっても良い。例えば、制御システム１は、複数台の制御装置２を有していても良い。また、例えば、制御装置２には、複数台の外部装置３が接続されていても良い。
【００１９】
＜ハードウェア構成＞
次に、本実施形態に係る制御システム１に含まれる制御装置２及び外部装置３のハードウェア構成について説明する。
【００２０】
≪制御装置２≫
まず、本実施形態に係る制御装置２のハードウェア構成について、図２を参照しながら説明する。図２は、本実施形態に係る制御装置２の一例のハードウェア構成を示す図である。
【００２１】
図２に示すように、本実施形態に係る制御装置２に含まれる制御機器１０は、プロセッサ１１と、プロセッサ１２と、ＡＤ（Analog/Digital）変換器１３と、ＦＰＧＡ（Field-Programmable Gate Array）１４とを有する。また、制御機器１０は、ＲＯＭ（Read Only Memory）１５と、ＳＲＡＭ（Static Random Access Memory）１６と、フラッシュメモリ１７と、通信Ｉ／Ｆ１８とを有する。
【００２２】
プロセッサ１１は、主に、被制御機器２０の制御に係る処理を実行する。プロセッサ１２は、主に、入出力機器１９から入力された情報の処理を実行する。入出力機器１９は、例えば、タッチパネル等であり、ユーザに対する各種情報を表示すると共に、ユーザからの各種操作入力を受け付ける。なお、本実施形態に係る制御機器１０は、プロセッサ１１及びプロセッサ１２を有するものとして説明するが、これに限られず、例えば、プロセッサ１１及びプロセッサ１２が一つのプロセッサで構成されていても良い。
【００２３】
ＡＤ変換器１３は、センサ等から入力されたアナログ値をデジタル値に変換する。ＦＰＧＡ１４は、入力されたデジタル値を処理する。ＲＯＭ１５は、制御機器１０を制御するプログラムや当該プログラムの動作に必要なデータ等を格納する。ＳＲＡＭ１６は、プロセッサ１２のワークエリアとして動作する。フラッシュメモリ１７は、各種のプログラムやデータ（例えば、ログ情報等）を格納する。通信Ｉ／Ｆ１８は、被制御機器２０とのインタフェースを提供する。
【００２４】
図２に示すように、本実施形態に係る制御装置２に含まれる被制御機器２０は、プロセッサ２１と、ＦＰＧＡ２２と、ＡＤ変換器２３とを有する。
【００２５】
プロセッサ２１は、被制御機器２０の動作を制御する。ＦＰＧＡ２２は、プロセッサ２１からの制御に応じて、リレー等のＯＮ／ＯＦＦ制御や検出器から入力された電圧、電流、温度等のアナログ値をＡＤ変換器２３によりデジタル値に変換し、異常時の保護と共にプロセッサ２１に異常を通知する。
【００２６】
本実施形態に係る制御装置２は、上記のハードウェア構成を有することにより、後述するような各種処理を実現できる。
【００２７】
≪外部装置３≫
まず、本実施形態に係る外部装置３のハードウェア構成について、図３を参照しながら説明する。図３は、本実施形態に係る外部装置３の一例のハードウェア構成を示す図である。
【００２８】
図３に示すように、本実施形態に係る外部装置３は、入力装置３１と、表示装置３２と、外部Ｉ／Ｆ３３と、通信Ｉ／Ｆ３４とを有する。また、外部装置３は、ＲＯＭ３５と、ＲＡＭ（Random Access Memory）３６と、プロセッサ３７と、ＨＤＤ（Hard Disk Drive）３８とを有する。これら各ハードウェアは、バス３９により相互に接続されている。
【００２９】
入力装置３１は、例えばキーボードやマウス、タッチパネル等であり、ユーザからの各種操作入力を受け付ける。表示装置３２は、例えばＬＣＤ（Liquid Crystal Display）等であり、ユーザに対する各種情報を表示する。
【００３０】
外部Ｉ／Ｆ３３は、記録媒体１３ａとのインタフェースである。外部装置３は、外部Ｉ／Ｆ３３を介して記録媒体１３ａの読み取り及び／又は書き込みを行うことができる。記録媒体１３ａには、例えば、フレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリ等がある。
【００３１】
通信Ｉ／Ｆ３４は、制御装置２との間でデータ通信を行うためのインタフェースである。ＲＯＭ３５は、ＯＳ（Operating System）設定やＢＩＯＳ（Basic Input/Output System）等のプログラムやデータが格納されている。ＲＡＭ３６は、プログラムやデータを一時保持する揮発性の半導体メモリである。プロセッサ３７は、ＲＯＭ３５やＨＤＤ３８等からプログラムやデータをＲＡＭ３６上に読み出し、当該プログラムやデータに基づく処理を実行することで、外部装置３全体の制御やその他の機能を実現する演算装置である。ＨＤＤ３８は、プログラムやデータを格納している。
【００３２】
本実施形態に係る外部装置３は、上記のハードウェア構成を有することにより、後述するような各種処理を実現できる。
【００３３】
＜機能構成＞
次に、本実施形態に係る制御システム１に含まれる制御装置２及び外部装置３の機能構成について、図４を参照しながら説明する。図４は、本実施形態に係る制御システム１の一例の機能構成を示す図である。
【００３４】
≪外部装置３≫
図４に示すように、外部装置３は、登録要求部３０１と、ログ要求部３０２とを有する。これら各部は、外部装置３にインストールされた１以上のプログラムが、プロセッサ３７に実行させる処理により実現される。
【００３５】
登録要求部３０１は、例えば、ユーザの操作に応じて、異常等が発生した場合に退避させる対象となるログ情報の種別（退避ログ種別）と、退避させるログ情報の件数（退避件数）との登録を制御機器１０に要求する。ここで、ログ情報の種別には、例えば、制御機器１０におけるユーザの各種操作のログを示す「操作ログ」、被制御機器２０における電圧や電流の波形記録を示す「波形ログ」、被制御機器２０の各種動作のログを示す「動作ログ」等がある。
【００３６】
ログ要求部３０２は、例えば、ユーザの操作に応じて、退避ログ情報の取得を制御機器１０に要求する。これにより、外部装置３は、制御機器１０の退避ログ情報を取得することができる。
【００３７】
≪制御装置２≫
図４に示すように、制御装置２に含まれる制御機器１０は、登録部２０１と、ログ取得部２０２と、ログ管理部２０３とを有する。これら各部は、制御機器１０にインストールされた１以上のプログラムが、プロセッサ１１及び／又はプロセッサ１２に実行させる処理により実現される。
【００３８】
また、制御機器１０は、退避情報記憶部２０４と、ログ情報記憶部２０５とを有する。これら各記憶部は、例えばフラッシュメモリ１７を用いて実現可能である。
【００３９】
登録部２０１は、外部装置３からの要求に応じて、退避ログ種別と退避件数とを登録する。すなわち、登録部２０１は、外部装置３からの要求に応じて、退避ログ種別を示す退避ログ種別情報１１００と、退避件数を示す退避件数情報１２００とを退避情報記憶部２０４に記憶する。これにより、制御機器１０は、例えば異常等が発生した場合に、退避ログ種別情報１１００により示される種別のログ情報を、退避件数情報１２００により示される件数分、例えばログ情報が上書き等されないように退避することができる。
【００４０】
ログ取得部２０２は、ログ情報を取得する。ここで、ログ取得部２０２は、第１のログ取得部２１１と、第２のログ取得部２１２とを有する。
【００４１】
第１のログ取得部２１１は、プロセッサ１２による処理のログ情報を取得する。すなわち、第１のログ取得部２１１は、例えば、制御機器１０におけるユーザの各種操作のログ情報（種別が「操作ログ」のログ情報）等を取得する。
【００４２】
第２のログ取得部２１２は、プロセッサ１１による処理のログ情報を取得する。すなわち、第２のログ取得部２１２は、例えば、被制御機器２０における電圧や電流の波形記録のログ情報（種別が「波形ログ」のログ情報）、被制御機器２０の各種動作のログ情報（種別が「動作ログ」のログ情報）等を取得する。
【００４３】
ログ管理部２０３は、ログ情報の格納や取得、ログ情報の退避等の処理を行う。ここで、ログ管理部２０３は、故障判定部２２１と、対象判定部２２２と、ＷＰ管理部２２３と、退避管理部２２４と、ログ格納部２２５と、退避ログ取得部２２６とを有する。
【００４４】
故障判定部２２１は、制御機器１０において故障等が発生したか否かを判定する。
【００４５】
対象判定部２２２は、故障判定部２２１により異常等が発生したと判定された場合、当該異常等に対応するログ情報の種別が、退避ログ種別情報１１００に含まれるか否かを判定する。言い換えれば、対象判定部２２２は、制御装置２において発生した異常等に対応するログ情報の種別が、異常等が発生した場合に退避させるログ情報の種別を示す退避ログ種別であるか否かを判定する。なお、異常等に対応するログ情報の種別とは、例えば、異常等の発生原因となった操作や動作等のログ情報の種別のことである。
【００４６】
ＷＰ管理部２２３は、ログ情報の書き込み先のアドレス（メモリアドレス）を示すライトポインタ（ＷＰ）を管理する。すなわち、ＷＰ管理部２２３は、ログ情報記憶部２０５に含まれるログ保存領域２０００のアドレス空間のうち、ログ情報の書き込み先（格納先）のアドレスを示すライトポインタ（ＷＰ）を管理する。
【００４７】
ここで、ＷＰ管理部２２３は、例えば、ログ保存領域２０００毎に、当該ログ保存領域２０００のアドレス空間のうち、退避ログアドレス情報１３００に含まれるアドレスを除くアドレスの範囲にログ情報をサイクリックに格納することができるようにライトポインタ（ＷＰ）を管理している。
【００４８】
すなわち、例えば、あるログ情報の種別について、ログ保存領域２０００のアドレス空間を「０番」〜「Ｍ番」、退避ログアドレス情報１３００に含まれるアドレスを「１０番」〜「２０番」とする。この場合、ＷＰ管理部２２３は、アドレス「０番」〜「９番」、「２１番」〜「Ｍ番」の範囲でサイクリックにログ情報をログ保存領域２０００に格納することができるようにライトポインタ（ＷＰ）を管理する。
【００４９】
退避管理部２２４は、対象判定部２２２により、発生した異常等に対応するログ情報の種別が退避ログ種別であると判定された場合、当該退避ログ種別に対応するログ保存領域２０００に格納されているログ情報のうち、退避件数分（退避件数情報１２００により示される退避件数分）のログ情報のアドレスを退避ログアドレス情報１３００に追加する。
【００５０】
ログ格納部２２５は、ログ取得部２０２により取得されたログ情報を、ログ情報記憶部２０５に含まれるログ保存領域２０００に格納（書き込み）する。このとき、ログ格納部２２５は、ログ保存領域２０００のアドレス空間のうち、ＷＰ管理部２２３により管理されるＷＰが示すアドレスにログ情報を格納する。
【００５１】
退避ログ取得部２２６は、外部装置３からの要求に応じて、ログ情報記憶部２０５に含まれるログ保存領域２０００から退避ログ情報を取得して、取得した退避ログ情報を外部装置３に返信する。すなわち、退避ログ取得部２２６は、外部装置３からの要求に応じて、退避ログアドレス情報１３００に含まれるアドレス（退避ログ情報の格納先アドレス）から退避ログ情報を取得して、取得した退避ログ情報を外部装置３に返信する。
【００５２】
退避情報記憶部２０４は、退避ログ種別情報１１００と、退避件数情報１２００と、退避ログアドレス情報１３００とを記憶する。
【００５３】
退避ログ種別情報１１００は、例えば異常等が発生した場合に退避する対象のログ情報の種別を示す情報である。退避ログ種別情報１１００には、１以上の退避ログ種別が含まれる。なお、退避ログ種別情報１１００の詳細については後述する。
【００５４】
退避件数情報１２００は、例えば異常等が発生した場合に退避するログ情報の件数を示す情報である。退避件数情報１２００には、退避ログ種別毎に、退避件数が対応付けられている。なお、退避件数情報１２００の詳細については後述する。
【００５５】
退避ログアドレス情報１３００は、退避したログ情報のアドレスを示す情報である。退避ログアドレス情報１３００には、後述する退避領域及び退避ログ種別毎に、退避ログ情報が格納されているアドレスが対応付けられている。なお、退避ログアドレス情報１３００の詳細については後述する。
【００５６】
ログ情報記憶部２０５は、ログ情報を記憶する。ログ情報は、ログ情報の種別毎に、ログ保存領域２０００に格納される。すなわち、例えば、種別が「操作ログ」のログ情報は、当該種別に対応するログ保存領域２０００に格納される。同様に、例えば、種別が「波形ログ」のログ情報は、当該種別に対応するログ保存領域２０００に格納される。また、同様に、例えば、種別が「動作ログ」のログ情報は、当該種別に対応するログ保存領域２０００に格納される。このように、ログ情報は、当該ログ情報の種別に対応するログ保存領域２０００に格納される。
【００５７】
＜処理の詳細＞
次に、本実施形態に係る制御システム１の処理の詳細について説明する。
【００５８】
≪退避ログ種別及び退避件数の登録≫
以降では、ユーザが外部装置３を用いて、退避ログ種別及び退避件数を制御機器１０に登録する処理について、図５を参照しながら説明する。図５は、退避ログ種別及び退避件数の登録処理の一例を示すシーケンス図である。
【００５９】
まず、外部装置３の登録要求部３０１は、退避ログ種別及び退避件数の入力操作を受け付ける（ステップＳ５０１）。なお、外部装置３のユーザは、例えば、表示装置３２に表示された所定の画面において、退避ログ種別及び退避件数を入力することができる。
【００６０】
次に、外部装置３の登録要求部３０１は、上記のステップＳ５０１で入力された退避ログ種別を示す退避ログ種別情報１１００と、退避ログ種別毎の退避件数を示す退避件数情報１２００とを含む登録要求を制御機器１０に送信する（ステップＳ５０２）。
【００６１】
制御機器１０の登録部２０１は、外部装置３から登録要求を受信すると、当該登録要求に含まれる退避ログ種別情報１１００及び退避件数情報１２００を退避情報記憶部２０４に記憶させる（ステップＳ５０３）。これにより、上記のステップＳ５０１で入力された退避ログ種別及び退避件数が制御機器１０に登録される。
【００６２】
ここで、退避情報記憶部２０４に記憶された退避ログ種別情報１１００について、図６を参照しながら説明する。図６は、退避ログ種別情報１１００の一例を示す図である。
【００６３】
図６に示すように、退避ログ種別情報１１００は、異常等が発生した場合に退避させる対象となるログ情報の種別を示す退避ログ種別を有する。
【００６４】
また、退避情報記憶部２０４に記憶された退避件数情報１２００について、図７を参照しながら説明する。図７は、退避件数情報１２００の一例を示す図である。
【００６５】
図７に示すように、退避件数情報１２００は、退避ログ種別毎に、異常等が発生した場合に退避させるログ情報の件数を示す退避件数が対応付けられている。
【００６６】
≪ログ情報の格納及び退避≫
以降では、制御機器１０において取得したログ情報を格納すると共に、例えば異常等が発生した場合にログ情報を退避する処理について、図８を参照しながら説明する。図８は、ログ情報の格納及び退避処理の一例を示すフローチャートである。
【００６７】
制御機器１０のログ取得部２０２は、第１のログ取得部２１１又は第２のログ取得部２１２により、ログ情報を取得する（ステップＳ８０１）。すなわち、ログ取得部２０２は、例えば、第１のログ取得部２１１により、制御機器１０におけるユーザの各種操作のログ情報（種別が「操作ログ」のログ情報）等を取得する。又は、ログ取得部２０２は、例えば、第２のログ取得部２１２により、被制御機器２０における電圧や電流の波形記録のログ情報（種別が「波形ログ」のログ情報）や被制御機器２０の各種動作のログ情報（種別が「動作ログ」のログ情報）等を取得する。
【００６８】
なお、例えば、第２のログ取得部２１２によりログ情報が取得された場合、当該第２のログ取得部２１２は、第１のログ取得部２１１との間で共通に用いられる記憶領域にログ情報を格納しても良い。この場合、第１のログ取得部２１１は、上記のステップＳ８０１において、第２のログ取得部２１２により当該記憶領域に格納されたログ情報を取得する。
【００６９】
次に、制御機器１０のログ管理部２０３は、ログ格納部２２５により、上記のステップＳ８０１で第１のログ取得部２１１又は第２のログ取得部２１２により取得されたログ情報を、当該ログ情報の種別に対応するログ保存領域２０００に格納する（ステップＳ８０２）。すなわち、ログ格納部２２５は、上記のステップＳ８０１で取得されたログ情報の種別に対応するログ保存領域２０００のアドレス空間のうち、ＷＰ管理部２２３により管理されるライトポインタ（ＷＰ）が示すアドレスに当該ログ情報を格納する。
【００７０】
具体的には、例えば、上記のステップＳ８０１で取得したログ情報の種別に対応するライトポインタ（ＷＰ）が示すがアドレスが「ｎ番」であったとする。この場合、ログ格納部２２５は、当該ログ情報の種別に対応するログ保存領域２０００のアドレス空間におけるアドレス「ｎ番」に、当該ログ情報を格納する。
【００７１】
次に、制御機器１０のログ管理部２０３は、ＷＰ管理部２２３により、上記のステップＳ８０１で取得したログ情報の種別に対応するライトポインタ（ＷＰ）が示すアドレスを次のアドレスに遷移させる（ステップＳ８０３）。
【００７２】
すなわち、例えば、上記のステップＳ８０１で取得したログ情報の種別に対応するライトポインタ（ＷＰ）が示すアドレスが「ｎ番」であった場合、ＷＰ管理部２２３は、当該ライトポインタ（ＷＰ）が示すアドレスを「ｎ＋１番」とする。
【００７３】
また、例えば、ログ保存領域２０００のアドレス空間が「０番」〜「Ｍ番」、退避ログアドレス情報１３００に含まれるアドレスが「１０番」〜「２０番」、ライトポインタ（ＷＰ）が示すアドレスが「Ｍ番」であるとする。この場合、ＷＰ管理部２２３は、当該ライトポインタ（ＷＰ）が示すアドレスを「０番」とする。
【００７４】
一方で、例えば、ログ保存領域２０００のアドレス空間が「０番」〜「Ｍ番」、退避ログアドレス情報１３００に含まれるアドレスが「０番」〜「１０番」、ライトポインタ（ＷＰ）が示すアドレスが「Ｍ番」であるとする。この場合、ＷＰ管理部２２３は、当該ライトポインタ（ＷＰ）が示すアドレスを「１１番」とする。
【００７５】
このように、ＷＰ管理部２２３は、ログ保存領域２０００のアドレス空間のうち、退避ログアドレス情報１３００に含まれるアドレスを除くアドレスの範囲で、ライトポインタ（ＷＰ）が示すアドレスをサイクリックに遷移させる。
【００７６】
次に、制御機器１０のログ管理部２０３は、故障判定部２２１により、制御機器１０において異常等が発生したか否かを判定する（ステップＳ８０４）。
【００７７】
なお、故障判定部２２１は、異常等が発生したかを判定する場合に限られず、所定のイベントが発生したか否かを判定しても良い。ここで、所定のイベントとしては、例えば、ユーザによる割り込み操作等の所定の操作、所定の波形記録の出現、外部トリガ（すなわち、制御機器１０と接続される情報処理装置からの要求）等が挙げられる。
【００７８】
ステップＳ８０４において、制御機器１０において異常等が発生したと判定された場合、ログ管理部２０３は、対象判定部２２２により、当該異常等に対応するログ情報の種別が、退避ログ種別であるか否かを判定する（ステップＳ８０５）。すなわち、対象判定部２２２は、当該異常等に対応するログ情報の種別が、退避ログ種別情報１１００に含まれる退避ログ種別であるか否かを判定する。
【００７９】
ステップＳ８０５において、異常等に対応するログ情報の種別が退避ログ種別であると判定された場合、退避管理部２２４は、当該退避ログ種別に対応するログ保存領域２０００に格納されているログ情報のうち、退避件数分のログ情報のアドレスを、これらのアドレスが示す領域（退避領域）を識別する番号（退避領域番号）及び退避ログ種別と対応付けて退避ログアドレス情報１３００に追加する（ステップＳ８０６）。
【００８０】
一方で、ステップＳ８０４において、制御機器１０において異常等は発生していないと判定された場合、又は、ステップＳ８０５において、異常等に対応するログ情報の種別が退避ログ種別でないと判定された場合、制御機器１０は、処理を終了させる。
【００８１】
ここで、上記のステップＳ８０６において、退避件数情報１２００により示される退避件数が「３」である場合における退避領域について図９及び図１０を参照しながら説明する。図９及び図１０は、ログ情報の退避について説明する図である。
【００８２】
まず、図９（ａ）に示すように、アドレス「ｍ番」〜「ｍ＋４番」にそれぞれ「ログ情報１」〜「ログ情報５」が格納されており、ライトポインタ（ＷＰ）により示されるアドレスが「ｍ＋５番」であったとする。このとき、制御機器１０に異常等が発生し、当該異常等に対応するログ情報の種別と、上記の「ログ情報１」〜「ログ情報５」の種別とが同じであったとする。この場合、図９（ｂ）に示すように、退避管理部２２４は、「ログ情報３」〜「ログ情報５」のアドレスにより示される領域を「退避領域１」とする。
【００８３】
次に、図１０（ａ）に示すように、更に、アドレス「ｍ＋５番」〜「ｍ＋９番」にそれぞれ「ログ情報６」〜「ログ情報９」が格納されたとする。このとき、制御機器１０に上記と同じ異常等が発生したとする。この場合、図１０（ｂ）に示すように、退避管理部２２４は、「ログ情報７」〜「ログ情報９」のアドレスにより示される領域を「退避領域２」とする。
【００８４】
このように、本実施形態に係る制御機器１０は、退避管理部２２４により、異常等が発生した場合に、当該異常等に対応する種別のログ情報が記憶されているログ保存領域２０００において、直近の退避件数分のログ情報が格納されている領域を退避領域とする。これにより、本実施形態に係る制御機器１０では、退避領域に格納されているログ情報が上書き等されることを防止すると共に、当該退避領域に番号を付与することで、退避領域に格納されているログ情報（退避ログ情報）の世代管理を行うことができるようになる。
【００８５】
ここで、退避ログアドレス情報１３００について、図１１を参照しながら説明する。図１１は、退避ログアドレス情報１３００の一例を示す図である。
【００８６】
図１１に示すように、退避ログアドレス情報１３００は、退避領域を識別する退避領域番号と、退避領域に格納されているログ情報の種別を示す退避ログ種別と、退避領域を示すアドレスとを有する。すなわち、例えば、退避領域番号「１」の退避領域は、アドレス「ｍ＋２番」〜「ｍ＋４番」により示される領域であり、種別が「操作ログ」のログ情報が格納されている。同様に、例えば、退避領域番号「２」の退避領域は、アドレス「ｍ＋６番」〜「ｍ＋９番」により示される領域であり、種別が「操作ログ」のログ情報が格納されている。
【００８７】
このように、退避ログアドレス情報１３００には、退避領域を識別する番号毎に、当該退避領域を示すアドレスと、当該退避領域に格納されているログ情報の種別とが対応付けられている。これにより、本実施形態に係る制御機器１０は、退避領域に格納されているログ情報が上書き等されることを防止すると共に、当該退避領域に格納されているログ情報の世代管理を行うことができるようになる。
【００８８】
なお、図８に示す例では、制御機器１０に異常等が発生した場合に、当該異常等に対応する種別のログ情報を、退避件数分、退避させたが、これに限られない。例えば、制御機器１０は、外部装置３等からの要求に応じて、例えば最新の退避件数分のログ情報を退避させても良い。
【００８９】
また、図８に示す例では、ステップＳ８０２で格納されたログ情報と、当該ログ情報よりも過去に格納されたログ情報とを含む退避件数分のログ情報を退避させたが、これに限られない。例えば、ステップＳ８０２で格納されたログ情報の前後の退避件数分のログ情報を退避させても良い。
【００９０】
≪ログ情報の取得≫
以降では、ユーザが外部装置３を用いて、退避ログ情報を取得する全体処理について、図１２を参照しながら説明する。図１２は、退避ログ情報取得の全体処理の一例を示すシーケンス図である。
【００９１】
まず、外部装置３のログ要求部３０２は、退避ログ情報の取得操作を受け付ける（ステップＳ１２０１）。なお、外部装置３のユーザは、例えば、表示装置３２に表示された所定の画面において、退避ログ情報の取得操作を行うことができる。また、外部装置３のユーザは、退避ログ種別及び退避領域番号を指定した上で、退避ログ情報の取得操作を行っても良い。
【００９２】
次に、外部装置３のログ要求部３０２は、退避ログ情報の取得要求を制御機器１０に送信する（ステップＳ１２０２）。なお、上記のステップＳ１２０１で、退避ログ種別及び退避領域番号が指定された場合、当該取得要求には、指定された退避ログ種別及び退避領域番号が含まれる。
【００９３】
制御機器１０のログ管理部２０３は、外部装置３から退避ログ情報の取得要求を受信すると、退避ログ取得部２２６により、ログ情報記憶部２０５に含まれるログ保存領域から退避ログ情報を取得する。そして、制御機器１０のログ管理部２０３は、退避ログ取得部２２６により、取得した退避ログ情報を外部装置３に返信する（ステップＳ１２０３）。これにより、外部装置３は、退避ログ情報を分析等することで、異常等の原因を解明することができる。
【００９４】
なお、ユーザにより指定された退避ログ種別及び退避領域番号が、退避ログ情報の取得要求に含まれ場合には、退避ログ取得部２２６は、当該退避ログ種別に対応するログ保存領域２０００から、当該退避領域番号に格納されている退避ログ情報を取得する、
≪退避ログの取得≫
ここで、図１２のステップＳ１２０３の退避ログ情報の取得処理について、図１３を参照しながら説明する。図１３は、退避ログ情報の取得処理の一例を示すフローチャートである。
【００９５】
まず、制御機器１０のログ管理部２０３は、退避ログ取得部２２６により、退避ログアドレス情報１３００を退避情報記憶部２０４から取得する（ステップＳ１３０１）。
【００９６】
次に、制御機器１０のログ管理部２０３は、退避ログ取得部２２６により、退避ログアドレス情報１３００に含まれるアドレスから退避ログ情報を取得する（ステップＳ１３０２）。
【００９７】
すなわち、退避ログ取得部２２６は、退避ログアドレス情報１３００に含まれる退避ログ種別及びアドレスを取得する。そして、退避ログ取得部２２６は、当該退避ログ種別に対応するログ保存領域２０００のアドレス空間において、当該アドレスに格納されている退避ログ情報を取得する。
【００９８】
なお、図１２のステップＳ１２０３で受信した退避ログ情報の取得要求に退避ログ種別及び退避領域番号が含まれる場合、退避ログ取得部２２６は、退避ログアドレス情報１３００に含まれるアドレスのうち、当該退避ログ種別及び退避領域番号に対応付けられたアドレスから退避ログ情報を取得する。
【００９９】
次に、制御機器１０のログ管理部２０３は、退避ログ取得部２２６により、上記のステップＳ１３０２で取得された退避ログ情報を外部装置３に送信する（ステップＳ１３０３）。
【０１００】
最後に、制御機器１０のログ管理部２０３は、退避管理部２２４により、退避ログアドレス情報１３００をクリアする（ステップＳ１３０４）。すなわち、退避管理部２２４は、上記のステップＳ１３０３で送信された退避ログ情報のアドレス並びに当該アドレスに対応付けられている退避領域番号及び退避ログ種別等を退避ログアドレス情報１３００から削除する。なお、例えば、上記のステップＳ１３０３で退避ログ情報の送信に失敗した場合等は、退避管理部２２４は、送信に失敗した退避ログ情報のアドレス並びに当該アドレスに対応付けられている退避領域番号及び退避ログ種別等は削除しない。
【０１０１】
このように、制御機器１０は、外部装置３に送信した退避ログ情報のアドレス等を退避ログアドレス情報１３００から削除する。
【０１０２】
＜まとめ＞
以上のように、本実施形態に係る制御システム１では、制御機器１０において、異常等が発生した場合に、当該異常等の発生を示すログ情報を含む退避件数分のログ情報を退避することで、退避したログ情報が上書き等されないように管理する。また、このとき、本実施形態に係る制御システム１では、退避したログ情報が格納されている記憶領域を、当該記憶領域を識別する識別情報を付与した上で管理する。
【０１０３】
したがって、本実施形態に係る制御システム１では、ログ情報を退避した後も継続してログ情報の取得及び格納を行うことができると共に、退避したログ情報の世代を管理することができる。
【０１０４】
また、本実施形態に係る制御システム１では、退避したログ情報を外部装置３に送信した場合には、退避したログ情報が格納されている記憶領域を解放して、再びログ情報を格納できるようにする。
【０１０５】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【０１０６】
１        制御システム
２        制御装置
３        外部装置
４        通信線
１０      制御機器
２０      被制御機器
３０      通信線
２０１    登録部
２０２    ログ取得部
２０３    ログ管理部
２０４    退避情報記憶部
２０５    ログ情報記憶部
２１１    第１のログ取得部
２１２    第２のログ取得部
２２１    故障判定部
２２２    対象判定部
２２３    ＷＰ管理部
２２４    退避管理部
２２５    ログ格納部
２２６    退避ログ取得部
３０１    登録要求部
３０２    ログ要求部
１１００  退避ログ種別情報
１２００  退避件数情報
１３００  退避ログアドレス情報
２０００  ログ保存領域
【図１】
2018045344.tif 000003
【図２】
2018045344.tif 000004
【図３】
2018045344.tif 000005
【図４】
2018045344.tif 000006
【図５】
2018045344.tif 000007
【図６】
2018045344.tif 000008
【図７】
2018045344.tif 000009
【図８】
2018045344.tif 000010
【図９】
2018045344.tif 000011
【図１０】
2018045344.tif 000012
【図１１】
2018045344.tif 000013
【図１２】
2018045344.tif 000014
【図１３】
2018045344.tif 000015