(57)【要約】【課題】ロギング装置を停止させることなくデバイスデータを漏れのないようロギングすること。【解決手段】ファンクションブロック２１のデバイスデータ２４がロギングされるリングバッファ形式の一時メモリ２５を有するＰＬＣ２０と、プログラム部１２とメモリ部１１を有し、かつＰＬＣ２０と電気的に接続されてメモリ部１１に一時メモリ２５からのロギングデータを格納するパーソナルコンピュータ１０とを備えるロギング処理装置において、一時メモリ２５は、メモリ部１１に所定サイズのロギングデータをまとめて出力している間、所定サイズのデータを格納している第１領域以外の第２領域にファンクションブロック２１からの新たなデバイスデータをロギングし、かつ先にロギングした新たなデバイスデータを後にロギングする新たなデバイスデータによって上書きしないよう第２領域に対しロギングする。【選択図】      図１
2004310592.tif 000002
【特許請求の範囲】
【請求項１】
シーケンスプログラム内で繰り返し使用する回路ブロックを部品化したファンクションブロックと該ファンクションブロックのデバイスデータがロギングされるリングバッファ形式の第１のメモリ部とを有するＰＬＣと、プログラム部、第２のメモリ部およびロギング条件を入力する入力部を有し、かつ前記ＰＬＣと電気的に接続されて前記第２のメモリ部に前記第１のメモリ部からのロギングデータを格納する受信側データ通信端末装置とを備えるロギング処理装置において、
前記第１のメモリ部は、前記第２のメモリ部に所定サイズのロギングデータをまとめて出力している間、前記所定サイズのデータを格納している第１領域以外の第２領域に前記ファンクションブロックからの新たなデバイスデータをロギングし、かつ先にロギングした前記新たなデバイスデータを後にロギングする新たなデバイスデータによって上書きしないよう前記第２領域に対しロギングすることを特徴とするロギング処理装置。
【請求項２】
前記プログラム部は、前記受信側データ通信端末装置と前記ＰＬＣの通信速度、前記ファンクションブロックから前記第１のメモリ部へのロギング時間間隔、前記ファンクションブロックから前記第１のメモリ部へ一度にロギングされるデータサイズおよび前記第１のメモリ部が備える全メモリサイズから前記所定サイズを算出することを特徴とする請求項１に記載のロギング処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ロギング処理装置に関するものであり、特に、ロギングデータをまとめて読み出す処理を繰り返し行うロギング処理装置に関するものである。
【０００２】
【従来の技術】
従来、パーソナルコンピュータ等の受信側データ通信端末装置とＰＬＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）等の送信側データ通信端末装置をネットワーク等で接続したロギング処理装置（データ伝送システム）では、受信側データ通信端末装置等の送信側データ通信端末装置間のデータ伝送にかかる時間が送信側データ通信端末装置内のプログラム実行周期より遅いため、送信側データ通信端末装置内のデバイスデータの変化を全て受信側データ通信端末装置で読み出すことができなかった。このため、送信側データ通信装置から受信側データ通信装置へのロギング（吐き出し処理）データに漏れが生じるという不具合が生じていた。
【０００３】
そこで、特許文献１に記載のロギング処理装置（通信データの記録装置）では、ロギング対象であるＰＬＣ（電子計算機本体）内のデバイスデータをＰＬＣが備える一時メモリ（サイクリックバッファ）に格納し、障害発生時のみロギングデータが所定件数分に達した時点で障害発生時のロギングデータを受信側データ端末装置内のメモリ（外部記憶装置）に出力して記録させている。
【０００４】
【特許文献１】
特開平３−２３５４５４号公報（第３，４頁）
【０００５】
【発明が解決しようとする課題】
しかしながら、特許文献１に記載のロギング処理装置では、所定件数に達したロギングデータを受信側データ通信端末装置内のメモリに出力して記録をさせている間に、一時メモリ内のロギングデータで受信側データ端末装置内のメモリにまだ出力していないロギングデータが新たなロギングデータによって上書きされて消去されないよう、ＰＬＣ内において新たなロギング処理を一時的に中断する必要があった。このため、ロギングデータに漏れを生じるといった問題があった。
【０００６】
この発明は上記に鑑みてなされたものであって、ロギング処理装置を停止させることなくデバイスデータを漏れのないようロギングするロギング処理装置を得ることを目的とする。
【０００７】
【課題を解決するための手段】
上述した課題を解決し、目的を達成するために、本発明にかかるロギング処理装置にあっては、シーケンスプログラム内で繰り返し使用する回路ブロックを部品化したファンクションブロックと該ファンクションブロックのデバイスデータがロギングされるリングバッファ形式の第１のメモリ部とを有するＰＬＣと、プログラム部、第２のメモリ部およびロギング条件を入力する入力部を有し、かつ前記ＰＬＣと電気的に接続されて前記第２のメモリ部に前記第１のメモリ部からのロギングデータを格納する受信側データ通信端末装置とを備えるロギング処理装置において、前記第１のメモリ部は、前記第２のメモリ部に所定サイズのロギングデータをまとめて出力している間、前記所定サイズのデータを格納している第１領域以外の第２領域に前記ファンクションブロックからの新たなデバイスデータをロギングし、かつ先にロギングした前記新たなデバイスデータを後にロギングする新たなデバイスデータによって上書きしないよう前記第２領域に対しロギングすることを特徴とする。
【０００８】
この発明によれば、第１のメモリ部の第１領域に格納された所定サイズのロギングデータを第２のメモリ部にまとめて出力している間に、第１のメモリ部の第１領域以外の第２領域に新たなデバイスデータをロギングできるだけの十分なサイズを算出してあるので、第２のメモリ部に出力されないロギングデータが新たなロギングデータによって上書きされることがない。
【０００９】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかるロギング装置の好適な実施の形態を詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。図１〜４に従ってこの発明の実施の形態について説明する。図１はこの発明の実施の形態にかかるロギング装置の構成を示すブロック図である。
【００１０】
ロギング装置は、例えばパーソナルコンピュータ１０からなる受信側データ通信端末装置とＰＬＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）２０を直接接続するか又はネットワークで接続して構成されている。
【００１１】
ＰＬＣ２０は、ファンクションブロック（以下、ＦＢという）２１、一時メモリ２５、読み出し完了フラグ２２、読み出し許可フラグ２３で構成されている。
【００１２】
ＦＢ２１は、シーケンスプログラム内で繰り返し使用する回路ブロックを部品化したものであり、後述するＮ件のデバイスデータ２４が一時メモリ２５にロギングされた後に、読み出し許可フラグ２３のフラグをオンさせる。
【００１３】
一時メモリ２５は、ＦＢ２１のデバイスデータをリングバッファ（循環バッファ）形式でロギングし、ロギングデータ（デバイスデータをロギングしたもの）が後述する所定のＮ件に達した時、これをまとめて後述するパーソナルコンピュータ１０のメモリ部１１に読み出させる（出力する）。また、一時メモリ２５は、メモリ部１１が一時メモリ２５のロギングデータを読み出している間も一時メモリ２５のメモリ領域のうちＮ件のロギングデータで使用される領域以外の領域を使用してＦＢ２１のデバイスデータをロギングする。
【００１４】
読み出し完了フラグ２２は、パーソナルコンピュータ１０内の後述するメモリ部１１が一時メモリ２５からロギングデータの読み出しを完了した後にパーソナルコンピュータ１０内のプログラム部１２からの指示によってフラグをオンさせるデバイスである。また、メモリ部１１が一時メモリ２５からＮ件のロギングデータを読み出す直前にフラグをオフにして、メモリ部１１が一時メモリ２５のロギングデータの読み出しを開始するものである。したがって、メモリ部１１が一時メモリ２５からロギングデータの読み出しを行っている場合にのみ読み出し完了フラグはオフになり、それ以外の場合はオンになる。
【００１５】
読み出し許可フラグ２３は、一時メモリ２５にロギングされたデバイスデータが所定の件数に達した場合にＦＢ２１によってフラグがオンにされるデバイスであり、これをパーソナルコンピュータ１０のプログラム部１２に送信する。また、プログラム部１２はＰＬＣ２０に対し、メモリ部１１が一時メモリ２５からロギングデータを読み出し終えた後に、フラグをオフにさせる指示を送信する。
【００１６】
パーソナルコンピュータ１０は、メモリ部１１、プログラム部１２、例えばロギング条件設定画面１３〜１６からなる入力部を備えている。メモリ部１１はＰＬＣ２０の一時メモリ２５に格納されているロギングデータを所定のＮ件まとめて読み出し、格納する。プログラム部１２は、ＰＬＣ２０の読み出し許可フラグ２３から送信される一時メモリ２５の読み出し許可を受信し、メモリ部１１に一時メモリ２５のロギングデータの読み出しを行わせる。また、プログラム部１２は、メモリ部１１が一時メモリ２５から所定件数のロギングデータの読み出しを完了した時に読み出しが完了したことをＰＬＣ２０に送信する。ロギング条件設定画面１３〜１６は、ユーザによって決定されたロギング条件を入力するための画面であり、入力されたロギング条件に基づいてプログラム部１２が所定のＮ件の算出を行う。
【００１７】
本実施の形態にかかるロギング処理方法について図２〜４に従って説明する。図２はこの発明の実施の形態にかかるロギング処理方法の一部を示すフローチャートである。ユーザは、ロギング処理を行う前にパーソナルコンピュータ１０に備えられたロギング条件設定画面１３〜１６を用いてロギング条件を設定する（ステップＳ１００）。
【００１８】
図３はこの発明の実施の形態にかかるロギング条件を入力するためのロギング条件設定画面の一例を示す図である。図３（ａ）、図３（ｂ）はパーソナルコンピュータとＰＬＣが直接接続される場合のロギング条件設定画面を模式的に表した図である。ユーザは図３（ａ）に示すロギング条件設定画面１３においてパーソナルコンピュータ１０とＰＬＣ２０の間に必要な通信ポートの種類と必要とするロギングデバイスの種類を設定する。ここでは、パーソナルコンピュータ１０とＰＬＣ２０が通信を行うための接続部をＣＯＭ１と設定してある場合を示しており、ロギング対象となるロギングデバイスの種類をＤ１００と設定してある場合を示している。
【００１９】
つぎに、図３（ｂ）に示すロギング条件設定画面１４においてパーソナルコンピュータ１０のメモリ部１１とＰＬＣ２０の一時メモリ２５の間における通信速度、一時メモリ２５がＦＢ２１のデバイスデータをロギングする時間間隔を示すロギング間隔、一時メモリ２５がＦＢ２１から１回にロギングするデータのサイズを示す１回のロギングデータサイズ、一時メモリ２５が格納することができるデータサイズを示す全一時メモリサイズを設定する。ここでは、通信速度を９６００ｂｐｓ、ロギング間隔を１０００ｍｓ、１回のロギングデータメモリサイズを２ｂｙｔｅ，全一時メモリサイズ１０２４ｂｙｔｅのように設定している場合を示している。このように、通信速度の設定を自由に行うことができるため、パーソナルコンピュータ１０とＰＬＣ２０のネットワーク媒体が変更された場合であっても通信速度の設定を変更することによって最適なロギング条件を設定することが可能となる。
【００２０】
図３（ｃ）、図３（ｄ）はパーソナルコンピュータとＰＬＣが通信速度が変化するようなネットワークで接続されている場合のロギング条件設定画面を模式的に表した図である。ユーザは図３（ｃ）に示すロギング条件設定画面１５においてネットワーク上のＰＬＣ２０を識別するための番号を示すＩＰアドレスと前述したロギングデバイスを設定する。ここでは、ネットワーク上のＰＬＣ２０を識別するための番号が１０．９７．２９．９９である場合を示している。
【００２１】
さらに、図３（ｄ）に示すロギング条件設定画面１６において設定する通信速度はロギング条件設定画面１４において設定した通信速度の場合とは異なり、パーソナルコンピュータ１０のメモリ部１１がＰＬＣ２０の一時メモリ２５から実際のロギングデータの読み出しにかかった時間と実際に読み出したロギングデータサイズを１〜複数回計測してその都度通信速度を算出し、この算出した通信速度の平均値により通信速度を決定する。ここでは、通信速度の平均値が１．７８Ｍｂｐｓである場合を示している。このように、通信速度が変化するような環境でのロギング処理であっても通信速度が変化した際に通信速度、ロギング間隔、１回のロギングデータサイズ、全一時メモリサイズを再入力すれば再び最適なロギング条件を得ることが可能となる。
【００２２】
つぎに、ステップＳ１００で設定されたロギング条件に基づいて、一時メモリ２５に格納されたロギングデータが何件になった時パーソナルコンピュータ１０のメモリ部１１はＰＬＣ２０の一時メモリ２５からロギングデータを読み出すべきかプログラム部１２が算出し、この算出結果をＰＬＣ２０のＦＢ２１に送信する（ステップＳ１１０）。この後、ＰＬＣ２０のＦＢ２１がロギングを開始するためのフラグとして利用する内部デバイス（図示せず）をオンにし、ロギング処理が開始される。
【００２３】
ここで、パーソナルコンピュータ１０のメモリ部１１がＰＬＣ２０の一時メモリ２５からまとめて読み出すロギングデータの最適件数（以下、ロギングデータ読み出し件数という）のＮ件の算出方法について説明する。ロギングデータ読み出し件数は、メモリ部１１が一時メモリ２５のロギングデータを読み出している間に、一時メモリ２５がＦＢ２１から新たにロギングするデバイスデータがメモリ部１１に読み出される前の一時メモリ２５内のロギングデータに上書きしないことを条件として算出する。１回のロギングデータサイズをＱｂｙｔｅ、ロギングデータ読み出し件数をＮ（Ｎは自然数）件とすると、パーソナルコンピュータ１０のメモリ部１１がＰＬＣ２０の一時メモリ２５からまとめて読み出すロギングデータは、（Ｑ×Ｎ）ｂｙｔｅとなる。また、一時メモリ２５が有する全メモリ領域の全一時メモリサイズをＺｂｙｔｅとすると一時メモリ２５からパーソナルコンピュータ１０のメモリ部１１が読み出し中のロギングデータのサイズを除いた残りの一時メモリ（以下、残りの一時メモリという）のメモリサイズは（Ｚ−（Ｑ×Ｎ））ｂｙｔｅとなる。
【００２４】
また、パーソナルコンピュータ１０のメモリ部１１がＰＬＣ２０の一時メモリ２５からロギングデータを読み出すときの通信速度をＳｂｉｔ／ｓｅｃとすると、８ｂｉｔ＝１ｂｙｔｅであることから通信速度は（Ｓ／８）×（１／１０００）ｂｙｔｅ／ｍｓｅｃである。また、パーソナルコンピュータ１０のメモリ部１１がＰＬＣ２０の一時メモリ２５からまとめて読み出すロギングデータサイズはＱ×Ｎｂｙｔｅであり、これを読み出すのにかかる時間はＱ×Ｎ×（８／Ｓ）×１０００ｍｓｅｃとなる。また、ロギング間隔をＴｍｓｅｃとすると、パーソナルコンピュータ１０のメモリ部１１がＰＬＣ２０の一時メモリ２５からロギングデータを読み出している間に、ＦＢ２１から一時メモリ２５にロギングされるデータ（以下、読み出し中におけるロギングデータという）のサイズは（８ＱＮ／Ｓ）×１０００×（１／Ｔ）×Ｑｂｙｔｅとなる。
【００２５】
したがって、メモリ部１１が一時メモリ２５からロギングデータを読み出している間にＦＢ２１から残りの一時メモリ２５にロギングされるロギングデータのサイズが残りの一時メモリのサイズより小さくなるために必要なロギングデータ読み出し件数Ｎの条件は、
（８ＱＮ／Ｓ）×１０００×（１／Ｔ）×Ｑ＜Ｚ−（Ｑ×Ｎ）・・・式（１）
から求めることができる。
【００２６】
式（１）を満たすＮが、メモリ部１１が一時メモリ２５のロギングデータを読み出している間に、一時メモリ２５がＦＢ２１から新たにロギングするデバイスデータがメモリ部１１に読み出される前の一時メモリ２５内のロギングデータが上書きしない条件となる。
【００２７】
例えば、先述した通信速度９６００ｂｉｔ／ｓｅｃ，ロギング間隔１０００ｍｓ、１回のロギングデータサイズ２ｂｙｔｅ、全一時メモリサイズ１０２４ｂｙｔｅの場合について式（１）を適用すると、Ｎが５１１以下の自然数の場合に式（１）を満たすこととなる。したがって、一時メモリ２５に１件〜５１１件のデバイスデータがロギングされた時点で、メモリ部１１が一時メモリ２５から１件〜５１１件のロギングデータをまとめて読み出せば、この読み出しが行われている間に、一時メモリ２５がＦＢ２１から新たにロギングするデバイスデータによってメモリ部１１に読み出される前の一時メモリ２５内のロギングデータに上書きすることはない。なお、Ｎが１未満になる場合は、ロギング条件を変更させる必要がある。
【００２８】
つぎに、ロギング間隔がＴの場合にロギングデータ読み出し件数が算出したＮ件に達した時に読み出し許可フラグ２３をオンさせるシーケンスプログラムを作成してＰＬＣ２０に書き込む（ステップＳ１２０）。なお、このときのシーケンスプログラムをＦＢ２１で作成すれば、シーケンスプログラムを繰り返し利用することが可能となる。
【００２９】
図４はこの発明の実施の形態にかかるロギング処理方法の一部を示すフローチャートである。前述したシーケンスプログラムがＦＢ２１に書き込まれた後、ＦＢ２１から一時メモリ２５にデバイスデータがロギングされる（ステップＳ２００）。この後、一時メモリ２５にロギングされたロギングデータの件数がステップＳ１１０で算出したロギングデータ読み出し件数のＮ件に達した場合（ステップＳ２１０）、読み出し許可フラグ２３がオンになる（ステップＳ２２０）。この読み出し許可フラグ２３のオンは、ＦＢ２１内のＮ件のデバイスデータが一時メモリ２５にロギングされた後にＦＢ２１の指示によって行われる。
【００３０】
ここで、ＰＬＣ２０内の読み出し完了フラグ２２がオンであることを確認した後（ステップＳ２３０）、読み出し完了フラグ２２をオフにし（ステップＳ２４０）、メモリ部１１は一時メモリ２５からＮ件のロギングデータをまとめて読み出す（ステップＳ２５０）。この読み出し処理の間、ＦＢ２１内のロギングデータは一時メモリ２５のうちパーソナルコンピュータ１０がＮ件の読み出しに使用中であるメモリ領域以外の残りのメモリ領域にロギングされる。
【００３１】
つぎに、メモリ部１１がＮ件分のロギングデータを読み出し終わると、読み出し完了フラグ２２をオンにするとともに（ステップＳ２６０）、読み出し許可フラグ２３をオフにする（ステップＳ２７０）。読み出し完了フラグ２２のオンによってメモリ部１１は一時メモリ２５のロギングデータを読み出しが可能な待機状態を示し、読み出し許可フラグ２３のオフによって一時メモリ２５のロギングデータがＮ件に達していない状態を示すこととなる。そして、ユーザより処理停止の操作が行われるまで（ステップＳ２８０）、ステップＳ２００〜ステップＳ２７０を繰り返す。
【００３２】
このように実施の形態によれば、一時メモリ２５の全一時メモリ領域（サイズ）をロギングデータＮ件分の領域（サイズ）とこれ以外の領域（サイズ）に分割して利用するため、メモリ部１１が一時メモリ２５のＮ件分のロギングデータをまとめて読み出し中であっても、一時メモリ２５のＮ件分の領域以外の領域に対してＦＢ２１のデバイスデータをロギングすることが可能となる。また、メモリ部１１が一時メモリ２５のロギングデータをＮ件まとめて読み出す時間を一時メモリ２５のＮ件分の領域以外の領域にＦＢ２１の新たなデバイスデータをロギングする時間より短く設定してあるので、メモリ部１１が一時メモリ２５のＮ件分のロギングデータを読み出している間に一時メモリ２５の残りの領域に対してロギングされるデータがメモリ部１１へ読み出される前のロギングデータを上書きして消去することはない。したがって、繰り返し行われるロギング処理に対しロギング装置を停止させることなく時間的推移に従った漏れのないロギングデータを得ることが可能となる。
【００３３】
【発明の効果】
以上説明したとおり、この発明によれば、繰り返し行われるロギング処理に対しロギング処理装置を停止させることなく時間的推移に従った漏れのないロギングデータを得ることが可能になるという効果を奏する。
【図面の簡単な説明】
【図１】この発明の実施の形態にかかるロギング装置の構成を示すブロック図である。
【図２】この発明の実施の形態にかかるロギング処理方法の一部を示すフローチャートである。
【図３】この発明の実施の形態にかかるロギング条件の設定画面の一例を示す図である。
【図４】この発明の実施の形態にかかるロギング処理方法の一部を示すフローチャートである。
【符号の説明】
１０  パーソナルコンピュータ、１１  メモリ部、１２  プログラム部、１３〜１６  ロギング条件設定画面、２０  ＰＬＣ、２１  ＦＢ、２２  読み出し完了フラグ、２３  読み出し許可フラグ、２４  デバイスデータ、２５  一時メモリ。
【図１】
2004310592.tif 000003
【図２】
2004310592.tif 000004
【図３】
2004310592.tif 000005
【図４】
2004310592.tif 000006