(57)【要約】【課題】制御演算がロギング処理で遅れることがなく、共有化されたメモリを小さくすることができるロギングシステムを提供する。【解決手段】共有化された共有メモリ２１と、リングバッファとして機能する内部メモリ３２と、所定の制御を実行するとともに、制御データ１４を制御周期毎に共有メモリ２１に格納して割込み信号を発生させる制御装置１０と、割込み信号を受けて動作し、共有メモリ２１の制御データ１４を内部メモリ３２に時系列的に記録するデータ取得部３３と、内部メモリ３２に記録された制御データ１４を、判定したのち記憶メディア５１に保存するデータ判定・記憶部３４とを備える。【選択図】図１
2010170407.tif 000002
【特許請求の範囲】
【請求項１】
共有化された第１メモリと、
リングバッファとして機能する第２メモリと、
所定の制御を実行するとともに、前記制御に関する制御データを制御周期毎に前記第１メモリに格納して割込み信号を発生させる制御装置と、
前記割込み信号を受けて動作し、前記第１メモリに格納された前記制御データを第２メモリに時系列的に記憶させるデータ取得部と、
前記第２メモリに記憶された前記制御データを記憶媒体に保存するデータ記憶部と、
を備えたことを特徴とするロギングシステム。
【請求項２】
前記制御装置の前記第１メモリへの前記制御データの書き込み動作に比して、前記データ取得部が制御周期内に前記第１メモリの読み込み動作を行わなかった制御周期の数をカウントする第１カウンタと、
前記データ取得部の前記第２メモリへの前記制御データの書き込み動作に比して、前記第２メモリに書込可能領域が無くなるまで前記データ記憶部が前記第２メモリの読み込み動作を行わなかった制御周期の数をカウントする第２カウンタと、をさらに備えた
ことを特徴とする請求項１に記載のロギングシステム。
【請求項３】
前記データ記憶部は、前記第１カウンタと前記第２カウンタの変化分を時刻に関連付けて前記記憶媒体に保存する
ことを特徴とする請求項２に記載のロギングシステム。
【請求項４】
前記データ取得部は、
前記第１メモリから前記第２メモリへＣＰＵを介さずに前記制御データを直接転送する転送手段にて構成されている
ことを特徴とする請求項１に記載のロギングシステム。
【請求項５】
前記データ記憶部は、前記制御データが予め設定した条件に合うものであるとき、前記制御データを前記記憶メディアに保存する
ことを特徴とする請求項１から４のいずれか１項に記載のロギングシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置の動作状態や制御対象の状態を監視・解析するために制御装置の制御データ（入出力データおよび内部データ）を収集するロギングシステムに関し、さらに詳しくは制御データを制御装置とロギングする側の双方からアクセス可能なメモリを介して取得するロギングシステムに関するものである。
【背景技術】
【０００２】
従来、制御装置の動作状態や制御対象の状態を監視・解析するために制御装置の制御データを収集するロギングが行われている。このロギングを行うロギングシステムにおいては、従来、ポーリング方式のロギングシステムが知られている。このポーリング方式のロギングシステムにおいては、ロギング装置がデータを取得する際、ロギング装置から制御装置へのデータ要求の送信が行われる。そして、制御装置がこの要求に応答する形でデータをロギング装置に返信する。そして、ロギング装置が行う、取得したデータの判定、及び記憶メディアへの記録は、上記の制御装置からのデータの取得動作を含む、一連の処理の中でシリーズに行われる。
【０００３】
このようなポーリング方式のロギングシステムにおいては、上記のように、データの判定及び記憶を制御装置からのデータの取得動作を含む一連のロギング処理の中で行うので、制御周期が短い場合には実現が困難である。一方、短い制御周期内での一連のロギング処理の実現するためには、ロギング装置を制御装置よりも高速・高価なハードウェアで構成する必要があるが、これは制御することを主たる目的とする制御システム全体から考えると本末転倒である。
【０００４】
このような問題を解消するために、従来、以下のロギングシステムが提案されている。すなわち、所定の制御を実行するとともにこの制御に関するデータを保持する制御装置と、共有メモリ上に制御装置及びロギング装置とアクセス可能に設けられ、制御装置の保持する制御データを時系列的に記憶するリングバッファと、このリングバッファが記憶した制御データをロギングするロギング装置とを備えており、制御装置とロギング装置とを非同期に動作させ、制御装置からロギング装置に対して、リングバッファを介してプッシュ型のロギングを行なうものが提案されている。
【０００５】
このような構成のロギングシステムにおいては、共有メモリ上にリングバッファを設けて、このリングバッファを介して制御データを取得することにより、制御装置の処理とロギング装置の処理を非同期として、制御装置の行う制御演算の制御周期がロギング装置の影響により遅くなってしまうことがないようにしている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−２３３５３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記共有メモリ上にリングバッファを設ける方式のロギングシステムによれば、共有メモリ上にリングバッファを設けるため、サイズの大きい共有メモリが必要となる、もしくは共有メモリの大きさに制限されて少ない制御データしか取得できない、という問題があった。
【０００８】
本発明は、上記に鑑みてなされたものであって、制御装置の行う制御演算がロギング処理に影響されることがなく、共有化されたメモリを小さくすることができ、多種の制御データをロギング処理することができるロギングシステムを提供することを目的とする。また、万一、制御データを取得できなかった場合、制御周期何回分の制御データが欠落してしまったかをカウントして把握することができるロギングシステムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明のロギングシステムは、共有化された第１メモリと、リングバッファとして機能する第２メモリと、所定の制御を実行するとともに、制御に関する制御データを制御周期毎に第１メモリに格納して割込み信号を発生させる制御装置と、割込み信号を受けて動作し、第１メモリに格納された制御データを第２メモリに時系列的に記憶させるデータ取得部と、第２メモリに記憶された制御データを記憶媒体に保存するデータ記憶部とを備えたことを特徴とする。
【００１０】
また、本発明のロギングシステムは、上記構成に加えて、制御装置の第１メモリへの制御データの書き込み動作に比して、データ取得部が制御周期内に第１メモリの読み込み動作を行わなかった制御周期の数をカウントする第１カウンタと、データ取得部の第２メモリへの制御データの書き込み動作に比して、第２メモリに書込可能領域が無くなるまでデータ記憶部が第２メモリの読み込み動作を行わなかった制御周期の数をカウントする第２カウンタと、をさらに備えたことを特徴とする。
【発明の効果】
【００１１】
この発明のロギングシステムによれば、共有化された第１メモリと、リングバッファとして機能する第２メモリと、所定の制御を実行するとともに、制御に関する制御データを制御周期毎に第１メモリに格納して割込み信号を発生させる制御装置と、割込み信号を受けて動作し、第１メモリに格納された制御データを第２メモリに時系列的に記憶させるデータ取得部と、第２メモリに記憶された制御データを記憶媒体に保存するデータ記憶部とを備えるので、第１メモリを少なくとも一制御周期分の制御データを格納可能な小さいものとすることができ、制御装置とデータ取得部とを非同期とし、制御装置は、この小さな第１メモリに書き込んだ後、割込み信号を発生させて処理を完了させることができ、制御装置の行う制御演算がロギング処理に影響されることがない。また、第１メモリは少なくとも一制御周期分の制御データを格納可能であればよいので、一制御周期分の制御データを大きくすることができ、ひいては全体のロギングデータを大きくすることができる、という効果を奏する。
【００１２】
また、この発明のロギングシステムによれば、データ取得部が制御周期内に第１メモリの読み込み動作を行わなかった制御周期の数をカウントする第１カウンタと、第２メモリに書込可能領域が無くなるまでデータ記憶部が第２メモリの読み込み動作を行わなかった制御周期の数をカウントする第２カウンタと、をさらに備えているので、万一、制御データを取得できなかった場合、制御周期何回分の制御データが欠落してしまったかカウントすることができる。
【図面の簡単な説明】
【００１３】
【図１】実施の形態１のロギングシステムの概略の構成を示す図である。
【図２】制御装置が制御データを共有メモリに書き込む処理のフローチャートを示す図である。
【図３】データ取得部が制御データを内部メモリに書き込む処理のフローチャートを示す図である。
【図４】データ判定・記憶部が制御データを記憶メディアに書き込む処理のフローチャートを示す図である。
【発明を実施するための形態】
【００１４】
以下に、本発明にかかるロギングシステムの実施の形態を図面に基づいて詳細に説明する。なお、本発明は以下の記述に限定されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更可能である。
【００１５】
実施の形態１．
図１は、本発明の好適な実施の形態にかかるロギングシステムの概略の構成を示す図である。図１中矢印はロギング対象のデータである制御データの動きを示している。図１に示すように本実施の形態にかかるロギングシステムは、所定の制御を実行するための制御演算を行う制御装置１０と、共有メモリ（第１メモリ）２１が設けられ制御装置１０の制御データ１４をこの共有メモリ２１を介して取得し、取得した制御データ１４をロギングするロギング装置３０と、ロギング装置３０に装填された記憶メディア（記憶媒体）５１と、ロギングパラメータを設定するパーソナルコンピュータ４１と、を備えて構成される。制御装置１０とロギング装置３０とは内部バス６１により電気的に接続されている。ロギング装置３０に設けられた共有メモリ２１は、制御装置１０とロギング装置３０の双方からアクセス可能となっている。なお、本実施の形態においては、この共有メモリ２１がロギング装置３０に設けられているが、共有メモリ２１は制御装置１０に設けられてもよい。
【００１６】
制御装置１０は、制御実行部１３と、データ収集部１５と、これらを動作させるＣＰＵ１１とを備える。制御実行部１３は、制御装置１０が制御を行なうための制御プログラム１２に従って所定の制御機能を実行し、制御対象機器５との間で信号を入出力して制御対象機器を制御する。そして、制御実行部１３は、制御の結果として生成された制御に関するデータ（以降、制御データ）１４を保持する。本実施の形態においては、この制御データ１４がロギング対象のデータであり、ロギング装置３０がロギングする。
【００１７】
データ収集部１５は、予め設定されている所定の条件に基づいて制御データ１４を収集して共有メモリ２１に転送する。そして、データ収集部１５は、制御データ１４を共有メモリ２１に転送した後、ロギング装置３０に対して速やかに割込み信号を送出する。
【００１８】
共有メモリ２１は、上記のようにロギング装置３０に設けられており、制御装置１０とロギング装置３０の双方からアクセス可能になっている。共有メモリ２１には、制御データ１４を一制御周期分だけ格納する領域２１ａと、交番フラグ２１ｂを格納する領域と、第１カウンタ２１ｃを格納する領域とが設けられている。本実施の形態においては、制御装置１０とロギング装置３０とが概略交互に起動するように動作するが、交番フラグ２１ｂは制御装置１０とロギング装置３０のどちらが起動する番であるかを示すフラグである。また、第１カウンタ２１ｃには、制御装置１０からロギング装置３０に至る経路にて欠落してしまった制御データ１４の数、すなわち、ロギング装置３０（データ取得部３３）が取得できなかった制御データ１４の数がカウントされる。
【００１９】
ロギング装置３０は、上記共有メモリ２１の他に、内部メモリ（第２メモリ）３２と、共有メモリ２１の制御データ１４を取得してこの内部メモリ３２に書き込むデータ取得部３３と、内部メモリ３２の制御データ１４を記憶メディア５１に書き込むデータ判定・記憶部（データ記憶部）３４と、これらを動作させるＣＰＵ３１と、を備えて構成される。
【００２０】
内部メモリ３２は、データ取得部３３とデータ判定・記憶部３４の双方からアクセス可能になっている。共有メモリ２１には、制御データ１４を多数制御周期分格納可能なリングバッファ領域３２ａと、第２カウンタ３２ｂを格納する領域と、ロギングパラメータ３２ｃを格納する領域が設けられている。
【００２１】
リングバッファ領域３２ａは、制御データ１４を記憶するために十分な容量がある。リングバッファ領域３２ａには、タイムスタンプされた制御データ１４が時系列的に記憶される。たとえば図１に示すように、制御データ時刻（１）データ、制御データ時刻（２）データ、制御データ時刻（３）データ、・・・、制御データ時刻（ｍ）データ、制御データ時刻（ｎ）データ、のように制御データ１４が時系列的に記憶される。ここでは、制御データ時刻（１）データが時系列的に一番古いデータであり、制御データ時刻（ｎ）データが時系列的に一番新しいデータである。
【００２２】
リングバッファ領域３２ａは、（概念上）環状に配置されたメモリを構成しており、所定の方向に進む書き込みポインタと読み込みポインタ（図示せず）により管理される。すなわち、リングバッファ領域３２ａにデータ取得部３３が制御データ１４を書き込むと書き込みポインタが進む。データ判定・記憶部３４が制御データ１４を読み込むと読み込みポインタが進む。読み込みポインタは、書き込みポインタで書き込まれた位置まで読み込むことができる。書き込み操作により書き込みポインタが読み込みポインタを通り越すことはない。
【００２３】
第２カウンタ３２ｂには、データ取得部３３からデータ判定・記憶部３４に至る経路にて欠落してしまった制御データ１４の数、すなわち、データ判定・記憶部３４が取得できなかった制御データ１４の数がカウントされる。そして、さらに第２カウンタ３２ｂには、また第１カウンタ２１ｃのカウント数の変化分が加算される。
【００２４】
ロギングパラメータ３２ｃは、ロギング対象となる制御データを指定する指定情報・ロギングの条件を指定するロギング条件情報である。このロギングパラメータ３２ｃは、パーソナルコンピュータ４１内のロギング設定ツール４２により設定される。
【００２５】
データ取得部３３は、データ収集部１５が発行する割込み信号を受けて起動し、共有メモリ２１の制御データ１４を読み込み、読み込んだ制御データ１４に時刻情報を付加してリングバッファ領域３２ａに書き込む。詳細には、リングバッファ領域３２ａの書き込みポインタの位置から書き込む。
【００２６】
データ判定・記憶部３４は、リングバッファ領域３２ａに変化のあったとき起動して、リングバッファ領域３２ａの読み込みポインタの位置から制御データ１４を読み込み、読み込んだ制御データ１４を記憶メディア５１に書き込む。記憶メディア５１は、ロギング装置３０に着脱可能に装着された外部記憶媒体であり、例えば、コンパクトフラッシュ（登録商標）メモリである。なお、データ判定・記憶部３４は、制御データ１４を記憶メディア５１に書き込む際、ロギングパラメータ３２ｃを確認して、ロギングパラメータ３２ｃに指定された条件に合う制御データ１４のみを書き込む。データ判定・記憶部３４は、制御データ１４をデータ変換して所定のフォームで記憶メディア５１に書き込む。例えば、制御データ１４はバイナリ形式であるので、これをテキスト形式の文字列に変換して記憶メディア５１に書き込む。
【００２７】
図１に示された記憶メディア５１は、たとえば、制御データ時刻（１）データ、制御データ時刻（２）データ、・・・、制御データ時刻（ｎ）データ、のように制御データ１４がこの順で記憶された状態を示している。すなわち、制御データ時刻（１）データが時系列的に一番古いデータであり、制御データ時刻（ｎ）データが時系列的に一番新しいデータであるという状態をしめしている。
【００２８】
つぎに、以上のように構成された本実施の形態にかかるロギングシステムにおけるロギング処理方法について説明する。制御装置１０が制御データ１４を共有メモリ２１に書き込む処理の手順について図２を参照しながら説明する。図２は、本実施の形態にかかるロギングシステムにおいて、制御装置１０が制御データ１４を共有メモリ２１に書き込む処理を説明するためのフローチャートである。
【００２９】
制御装置１０が起動した初期の状態では、ロギング装置３０内の内部メモリ３２のデータはクリアされた状態である。また、初期の状態では、共有メモリ２１内の交番フラグ２１ｂには、制御装置１０側の起動する順番であることを示すフラグが立っている。制御装置１０は、所定の制御周期で起動し、起動する毎に図２のフローチャートの動作を行う。
【００３０】
制御装置１０が起動すると、まず、制御装置１０の本来の役割である制御演算が行われる（ステップＳ１１）。次に、交番フラグ２１ｂが制御装置１０側であるか否かが確認される（ステップＳ１２）。交番フラグ２１ｂが制御装置１０側である場合は、ステップＳ１３に移行して、制御データ１４の共有メモリ２１への転送が行われる。詳細には、全制御データのうち、ロギングパラメータの設定により指定された条件に合う制御データ１４を、制御装置１０のデータ収集部１５が取得し、取得した制御データ１４を共有メモリ２１に転送する。その後、交番フラグ２１ｂを、ロギング装置３０の起動する順番とするフラグに変更する（ステップＳ１５）。そして、ロギング装置３０に対して割り込みの発生を行い（ステップＳ１６）、処理を終了する。
【００３１】
一方、ステップＳ１２において、交番フラグ２１ｂが制御装置１０側でない場合は（ステップＳ１２否定）、ステップＳ１４に移行して、第１カウンタ２１ｃをインクリメントする（ステップＳ１４）。この第１カウンタ２１ｃのインクリメントについては後述する。その後、ステップＳ１６に移行して、ロギング装置３０に向けて割り込みの発生を行い、処理を終了する。
【００３２】
次に、データ取得部３３が共有メモリ２１にある制御データをロギング装置３０内の内部メモリ３２に書き込む処理の手順について図３を参照しながら説明する。図３は、本実施の形態にかかるロギングシステムにおいて、データ取得部３３が制御データ１４を内部メモリ３２に書き込む処理を説明するためのフローチャートである。
【００３３】
データ取得部３３は、制御装置１０がロギング装置３０に向けて発生した割り込み信号があるか監視を続けている（ステップＳ２１）。割り込み信号があった場合、第１カウンタ２１ｃに変化があるか否かを判断する（ステップＳ２２）。そして、第１カウンタ２１ｃに変化がある場合、第１カウンタ２１ｃの変化分を第２カウンタ３２ｂに加算する（ステップＳ２３）。
【００３４】
次いで、内部メモリ３２のリングバッファ領域３２ａに書込可能領域が有るか否かが判断される（ステップＳ２４）。リングバッファ領域３２ａに書込可能領域が有る場合、共有メモリ２１からリングバッファ領域３２ａへコピーが行われる（ステップＳ２５）。その後、交番フラグ２１ｂを制御装置１０の起動する順番である旨のフラグに変更して（ステップＳ２７）、処理を終了する。
【００３５】
一方、リングバッファ領域３２ａに書込可能領域が無い場合（ステップＳ２４否定）、ステップＳ１６に移行して、第２カウンタ３２ｂをインクリメントして（ステップＳ２６）、処理を終了する。この第２カウンタ３２ｂのインクリメントについては後述する。
【００３６】
次に、データ判定・記憶部３４がロギング装置３０内の内部メモリ３２にある制御データ１４を記憶メディア５１に書き込む処理の手順について図４を参照しながら説明する。データ判定・記憶部３４は、リングバッファ領域３２ａに未読データが有るか否かを監視していて未読データが有る場合に動作を開始する。図４は、本実施の形態にかかるロギングシステムにおいて、データ判定・記憶部３４が制御データ１４を記憶メディア５１に書き込む処理を説明するためのフローチャートである。
【００３７】
データ判定・記憶部３４は、上記のようにリングバッファ領域３２ａに未読データが有るか否かを監視しており（ステップＳ３１）、リングバッファ領域３２ａに未読データが有る場合には、次いで、第２カウンタ３２ｂに変化があるか否かを判断する（ステップＳ３２）。そして、第２カウンタ３２ｂに変化がある場合には、第２カウンタ３２ｂの変化分をデータ欠落数として時刻情報を付加して記憶メディア５１に記録する（ステップＳ３３）。
【００３８】
次に、これから記憶メディア５１に書き込もうとする制御データ１４が、予めロギングパラメータ３２ｃに登録しておいた条件のものか否かを判断する（ステップＳ３４）。そして、条件に合うものであった場合、記憶メディア５１に書き込もうとする制御データ１４を所定の記録型式に変換して（ステップＳ３６）、記憶メディア５１に記憶し（ステップＳ３７）、処理を終える。
【００３９】
ここで、第１カウンタ２１ｃ及び第２カウンタ３２ｂにカウントされるデータ欠落数について説明する。本実施の形態においては、上記のようにロギング装置３０（データ取得部３３）は制御装置１０の一制御周期内に少なくとも１回動作するようにされている。そして、第１カウンタ２１ｃには、制御装置１０が動作したにもかかわらず、その制御周期のうちに、データ取得部３３が１度も起動しなかったときの制御周期の回数がカウントされる。つまり、この第１カウンタ２１ｃがカウントされるのは、何らかのトラブルによりデータ取得部３３が起動（動作）しなかった場合であり、この場合は、制御装置１０が共有メモリに制御データ１４を格納したにもかかわらずデータ取得部３３がこの制御データ１４を取らない。このため、第１カウンタ２１ｃにカウントされる数はロギングできなかった制御データ１４の数（制御周期の回数、以下同じ）と考えてよく、特に第１カウンタ２１ｃにカウントされる数は、制御装置１０からデータ取得部３３に至る経路にて欠落してしまった制御データ１４の数と考えてよい。
【００４０】
また、ロギング装置３０においては、データ判定・記憶部３４は、データ取得部３３の書き込み動作に比して、リングバッファ領域３２ａに書込可能領域が無くならない程度に動作するようにされている。そして、第２カウンタ３２ｂには、リングバッファ領域３２ａに書込可能領域が無くなるまでデータ取得部３３が動作したにもかかわらず、その間にデータ判定・記憶部３４がリングバッファ領域３２ａから制御データ１４を１回も読み込まなかったときの回数がカウントされる。つまり、この第２カウンタ３２ｂがカウントされるのは、何らかのトラブルによりデータ判定・記憶部３４が起動（動作）しなかった場合であり、この場合は、データ取得部３３が内部メモリに制御データ１４を格納したにもかかわらずデータ判定・記憶部３４がこの制御データ１４を取らない。このため、第２カウンタ３２ｂにカウントされる数はロギングできなかった制御データ１４の数と考えてよく、特に第２カウンタ３２ｂにカウントされる数は、データ取得部３３からデータ判定・記憶部３４に至る経路にて欠落してしまった制御データ１４の数と考えてよい。
【００４１】
上記のように、第１カウンタ２１ｃには制御装置１０からデータ取得部３３に至る間のデータ欠落数がカウントされ、第２カウンタ３２ｂにはデータ取得部３３からデータ判定・記憶部３４に至る間のデータ欠落数がカウントされる。
【００４２】
なお、本実施の形態においては、第２カウンタ３２ｂに、データ取得部３３に至るデータ欠落数とデータ判定・記憶部３４に至るデータ欠落数の和がカウントされるが、データ取得部３３に至るデータ欠落数とデータ判定・記憶部３４に至るデータ欠落数とは、別々にカウントされて別々に記録されてよい。
【００４３】
また、本実施の形態においては、第２カウンタ３２ｂの変化分を時刻とともに記憶メディア５１に記憶しているが、第１カウンタ２１ｃ及び第２カウンタ３２ｂを記録する場所（物）は、記憶メディア５１に限られるものではなく、例えば、パーソナルコンピュータ４１に出力して、エラーメッセージとともに表示したりしてもよい。
【００４４】
以上のように、本実施の形態にかかるロギングシステムにおいては、上述した処理を実行することにより、ロギング装置３０が制御装置１０にロギング処理要求を出すことなく、制御周期と同期して制御装置１０内の制御データ１４を制御周期毎にロギング装置３０に装着された記憶メディア５１に収集することができる。すなわち、本実施の形態にかかるロギングシステムにおいては、制御装置１０とロギング装置３０との間に制御データ１４取得用の共有メモリ２１を設け、またロギング装置３０内に時系列バッファリング用のリングバッファ領域３２ａを設け、制御装置１０の制御データ１４を一旦共有メモリ２１に記憶し、さらに共有メモリ２１に記憶した制御データ１４をリングバッファ領域３２ａに取り込んで記憶する。
【００４５】
これにより、共有メモリ２１を制御周期１周期分記憶する小さなものとすることができるとともに、ロギング装置３０は制御データ１４を任意のタイミングで効率良く且つ高速に取得することができ、制御装置１０の制御周期が短い場合でも制御周期毎のロギングを実現することができる。また、ロギング処理時に制御装置１０の制御動作に影響を与えることなくロギング装置３０は制御装置１０内のロギング対象である制御データ１４を取得することができるとともに、制御データ１４の取りこぼしを防ぐことができる。
【００４６】
また、本実施の形態にかかるロギングシステムにおいては、共有メモリ２１は、少なくとも制御周期１周期分記憶すればよいので、例えば、演算結果、接点情報、装置状態、各種フラグ及び所要時間といった制御データ１４の多くの項目など、大きな制御データをロギング処理することができる。
【００４７】
さらにまた、万一制御データ１４を取得できなかった場合、制御周期何回分の制御データ１４が欠落してしまったか記録することができ、制御装置の動作状態や制御対象の状態を監視・解析するために役立てることができる。
【００４８】
実施の形態２．
本実施の形態においては、実施の形態１の構成において、データ取得部３３に替えて、共有メモリ２１からロギング装置３０の内部メモリ３２へＣＰＵ３１を介さずに直接データを転送するＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）転送手段が設けられている。
【００４９】
本実施の形態にかかるロギングシステムにおいては、ロギング装置３０の共有メモリ２１からのデータ取得処理にＣＰＵ３１が占有されないため、データ取得処理中にも既に取得したデータの判定・記録処理を行うことができ、ロギング装置３０のスループットを高めることができる。
【産業上の利用可能性】
【００５０】
以上のように、本発明にかかるロギングシステムは、プログラマブルコントローラ（ＰＬＣ）などの制御装置の動作状態や制御対象の状態を監視・解析するために制御装置の制御データ（入出力データおよび内部データ）を収集するロギング処理を行うロギングシステムに有用である。
【符号の説明】
【００５１】
５  制御対象機器
１０  制御装置
１１  ＣＰＵ
１２  制御プログラム
１３  制御実行部
１４  制御データ
１５  データ編集部
２１  共有メモリ
２１ａ  共有メモリの制御データ格納領域
２１ｂ  交番フラグ
２１ｃ  第１カウンタ
３０  ロギング装置
３１  ＣＰＵ
３２  内部メモリ（第２メモリ）
３２ａ  リングバッファ領域
３２ｂ  第２カウンタ
３２ｃ  ロギングパラメータ
３３  データ取得部
３４  データ判定・記憶部（データ記憶部）
４１  パーソナルコンピュータ
４２  ロギング設定ツール
５１  記憶メディア（記憶媒体）
６１  内部バス
【図１】
2010170407.tif 000003
【図２】
2010170407.tif 000004
【図３】
2010170407.tif 000005
【図４】
2010170407.tif 000006