(57)【要約】  ＰＬＣを、ＦＴＰサーバに転送されてきたデバイスデータが転送完了したものであるか否かを判断できるようにし、転送完了通知コードにかかる設定の自由度を向上させるために、ＰＬＣは、デバイスデータをロギングし、前記デバイスデータのロギング結果を記述したログファイルをメモリカードに出力するロギング部と、メモリカードに出力されたログファイルをＦＴＰサーバに転送するファイル転送部と、を備え、ファイル転送部は、ログファイルを構成するデータを全て転送完了した後（ステップＳ１５、Ｙｅｓ）、ＦＴＰサーバに転送されてＦＴＰサーバに格納されているログファイルにユーザにより予め設定されたロギング設定パラメータ４０により指定された転送完了通知コードを挿入する（ステップＳ１７）。
2012143993.tif 000002
【特許請求の範囲】
【請求項１】
ログメモリと、
デバイスデータをロギングし、前記デバイスデータのロギング結果を記述したログファイルを前記ログメモリに出力するロギング部と、
前記ログメモリに出力されたログファイルを外部のサーバに転送するファイル転送部と、
を備え、
前記ファイル転送部は、前記ログファイルを構成するデータを全て転送完了した後、前記サーバに転送されて前記サーバに格納されているログファイルにユーザにより予め設定されたパラメータにより指定された転送完了通知コードを付す、
ことを特徴とするプログラマブルロジックコントローラ。
【請求項２】
前記パラメータは、前記サーバに転送されて前記サーバに格納されているログファイルの中の前記転送完了通知コードの挿入位置を指定する設定を含み、
前記ファイル転送部は、前記パラメータにより指定された位置に前記転送完了通知コードを挿入する、
ことを特徴とする請求項１に記載のプログラマブルロジックコントローラ。
【請求項３】
前記ログメモリは、着脱可能な不揮発性メモリで構成される、ことを特徴とする請求項１または請求項２に記載のプログラマブルロジックコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバイスデータを外部のサーバに送信する機能を有するプログラマブルロジックコントローラ（以下、ＰＬＣ）に関する。
【背景技術】
【０００２】
一般に、産業用機械などの被制御機器を制御するＰＬＣは、被制御機器に関するデバイスデータを一時的に格納するデバイスメモリを有しており、ユーザプログラムであるシーケンスプログラムにしたがって、デバイスデータをリード／ライトすることによって、被制御装置を制御する。【０００３】
また、ＰＬＣは、被制御装置において稀に発生するトラブルなどを検知するために、被制御装置の動作状態やＰＬＣ自体の動作状態を外部から取得可能なように構成されている。具体的には、ＰＬＣには、ロギング対象であるデバイスデータに関する諸条件であるロギング設定パラメータがあらかじめ設定され、ＰＬＣは、このロギング設定パラメータに基づいてデバイスデータをロギングする。そして、ＰＬＣは、ロギングしたデバイスデータを外部のＦＴＰサーバに送ることができる。【０００４】
ここで、デバイスデータがロギングされて生成されたファイルがＦＴＰサーバに送信される際、ＦＴＰサーバ側でファイル転送完了が把握できないという問題があった。【０００５】
このような問題に対して、例えば特許文献１には、送信データの末尾に送信データ終了を示す特定のエンドデータを書き込む技術が開示されている。また、特許文献２には、ファイルやデータベースなどにレコードを追加した際、追加するレコードの最後に終了情報を付して、追加が完了した後、レコードが追加される前のデータの最後に追加されていた終了情報を継続情報に変更する技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平７−９８６７７号公報
【特許文献２】特開平７−１１０７８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記特許文献１に示される技術は、送信データの終了を示す転送完了通知コードとして、予めシステムにより定められた特定のコードが用いられるようになっているため、転送完了通知コードを設定パラメータにより任意に変更できないという問題があった。一方、上記特許文献２に示される技術は、ファイルにデータを追加する時に終了情報を付記するものであり、新規ファイル作成時のものではないという問題があった。また、これらの技術によれば、転送完了通知コードの位置はファイルの終端のみとなってしまうという問題もあった。【０００８】
本発明は、上記に鑑みてなされてものであって、ＦＴＰサーバに転送されてきたデバイスデータが転送完了したものであるか否かを判断できるＰＬＣを得ることを目的とする。また、転送完了通知コードにかかる設定の自由度を向上させたＰＬＣを得ることを目的としている。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明は、ログメモリと、デバイスデータをロギングし、前記デバイスデータのロギング結果を記述したログファイルを前記ログメモリに出力するロギング部と、前記ログメモリに出力されたログファイルを外部のサーバに転送するファイル転送部と、を備え、前記ファイル転送部は、前記ログファイルを構成するデータを全て転送完了した後、前記サーバに転送されて前記サーバに格納されているログファイルにユーザにより予め設定されたパラメータにより指定された転送完了通知コードを付す、ことを特徴とする。
【発明の効果】
【００１０】
本発明にかかるプログラマブルロジックコントローラは、転送完了通知コードが挿入されているか否かを確認することによって、サーバに転送されてきたログファイルが転送完了したものであるか否かを判断することができるようになる。また、ユーザは、パラメータを設定することにより転送完了通知コードとして用いる文字列を所望のように変更することができるので、転送完了通知コードにかかる設定の自由度を向上させることができるようになる。
【図面の簡単な説明】
【００１１】
【図１】図１は、本実施の形態にかかるＰＬＣを使用するシステムのブロック図である。
【図２−１】図２−１は、ＦＴＰサーバが受信したログファイルを説明する図である。
【図２−２】図２−２は、ＦＴＰサーバが受信したログファイルを説明する図である。
【図３】図３は、ＰＬＣユニットの前面部を示す図である。
【図４】図４は、ＰＬＣユニットの内部構成を示す図である。
【図５】図５は、メモリカードのメモリ構造を説明する図である。
【図６】図６は、ワークメモリのメモリ構造を説明する図である。
【図７】図７は、メモリカードのメモリ構造を説明する図である。
【図８】図８は、ワークメモリのメモリ構造を説明する図である。
【図９】図９は、ＰＬＣ１００の動作を説明するフローチャートである。
【発明を実施するための形態】
【００１２】
以下に、本発明にかかるＰＬＣの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１３】
実施の形態．
（システムの構成例）
図１は、本実施の形態にかかるＰＬＣを利用するシステムのブロック図である。ＰＬＣ１００はユーザプログラムに基づいて演算処理する演算処理部１、演算処理部１が演算処理に使用するデバイスデータが置かれる内部デバイス２、内部デバイス２内のデバイスデータをロギングして、ロギングした結果をファイルへ出力するロギング部３、ロギングにより取得したデバイスデータの値を記述したファイル（以下、ログファイル）をＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）を利用してＦＴＰサーバ２００へ転送するファイル転送部４を備えている。また、ＰＬＣ１００は、ログファイルを保存する不揮発性の外部記憶媒体３００が接続されている。ロギング部３は、ログファイルを外部記憶媒体３００に蓄積し、ファイル転送部４は、外部記憶媒体３００に蓄積されているログファイルをＦＴＰサーバ２００に送る。ＦＴＰサーバ２００は、ハードディスクドライブ５を備え、ＰＬＣ１００から転送されてきたログファイルは当該ハードディスクドライブ５に格納される。なお、ログファイルのファイル形式は特に限定されないが、例えばＣＳＶ形式を採用することができる。
【００１４】
本実施の形態によれば、ファイル転送部４は、外部記憶媒体３００から読み出したログファイルをＦＴＰサーバ２００に送った後、ハードディスクドライブ５に格納されたログファイルに転送完了通知コードを埋め込む。
【００１５】
図２−１および図２−２は、ＦＴＰサーバ２００が受信したログファイルを説明する図である。図２−１は、ログファイルを構成するデータが全てファイル転送されてＦＴＰサーバ２００に受信済みの状態のログファイル、図２−２は、ファイル転送がログファイルの最後まで完了していない状態の、ＦＴＰサーバ２００に受信済みのログファイルを示している。図２−１に示すように、ファイル転送が完了した後の状態のログファイル４００は、末尾に転送完了通知コード４０１としての記述「ＡＡＡ」が付加されている。これに対して、ファイル転送が未完了のログファイル４０２は、転送完了通知コード４０１が付加されていない。ユーザは、ＦＴＰサーバ２００に格納されているログファイルに転送完了通知コード４０１が付加されているか否かを確認することによって、ファイル転送が完全に完了して利用可能な状態となっているか、またはファイル転送が未完了で利用できない状態となっているかを判断することができる。
【００１６】
なお、上記の例においては、転送完了通知コード４０１はログファイル４００の末尾に付加されているが、本発明の実施の形態によれば、ユーザは、パラメータを設定することによって、転送完了通知コード４０１を埋め込む位置を変更することができる。また、転送完了通知コード４０１の記述「ＡＡＡ」をパラメータによって所望のように変更することができる。このように、転送完了通知コード４０１にかかる設定に自由度を持たせているので、ユーザは、アプリケーションプログラムを利用してログファイル４００が利用可能であるか否かの判断をコンピュータに実行させるようにする場合、アプリケーションプログラムの仕様に応じて設定を変更することができるので、アプリケーションプログラムの選択の自由度を向上させることができる。
【００１７】
（ＰＬＣ１００の構成）
図３は、ＰＬＣ１００の前面部を示す図である。図３に示されるＰＬＣ１００には、ＰＬＣ１００内の処理を制御するＭＰＵ１１、外部記憶媒体３００としてのメモリカード（後述するメモリカード１８）の挿入口が設けられたメモリカードインタフェース（Ｉ／Ｆ）１６、ＬＥＤ５０、ＵＳＢＩ／Ｆ５１、スイッチ５２、およびネットワークインタフェース（Ｉ／Ｆ）２２が配置されている。
【００１８】
メモリカードＩ／Ｆ１６にはメモリカード１８が挿入され、ＰＬＣ１００は、メモリカードＩ／Ｆ１６を介してメモリカード１８に記録されたファイルを取り込むことができるとともに、ログファイル４００をメモリカード１８に格納する。
【００１９】
ネットワークインタフェース２２は、ＦＴＰサーバ２００にログファイル４００を転送するためのインタフェースであって、例えばイーサネット（登録商標）などが採用される。ＵＳＢＩ／Ｆ５１は、パラメータやユーザプログラムなどを設定するプログラミング装置が接続されるインタフェースである。ＬＥＤ５０は、ＰＬＣ１００がＲＵＮ状態のときに点灯して、ユーザにＲＵＮ状態であることを表示する。なお、ＬＥＤ５０は、点滅表示などを利用してＲＵＮ状態以外の状態をも表示できるようにしてもよい。スイッチ５２は、ＰＬＣ１００が運転するときに押下される。スイッチ５２が押下されると、ＰＬＣ１００はＲＵＮ状態に移行する。
【００２０】
図４は、図１に示されたＰＬＣ１００の内部構成を示す図である。図示するように、ＰＬＣ１００は、ＭＰＵ１１、システムメモリ１２、ユーザプログラムメモリ１５、データメモリ１９、メモリカードＩ／Ｆ１６、ＵＳＢＩ／Ｆ５１、ネットワークＩ／Ｆ２２を有し、これらの各処理部間は、内部バス１７を介して接続されている。
【００２１】
ユーザプログラムメモリ１５には、ユーザプログラムが格納され、ＭＰＵ１００は当該ユーザプログラムメモリ１５内に格納されているユーザプログラムに基づいてデバイスデータをリード／ライトすることで被制御装置の制御を実行する。
【００２２】
システムメモリ１２は、ユーザプログラムの各命令に対する処理手順を実現するためのシステムプログラム１３を記憶する。システムプログラム１３は、具体的には、ＭＰＵ１１に演算処理部１としての機能を実現させる演算処理プログラム１３１と、ＭＰＵ１１にロギング部３としての機能を実現させるロギングプログラム１３２と、ＭＰＵ１１にファイル転送部４としての機能を実現させるファイル転送プログラム１３３とを記憶している。また、ファイル転送プログラム１３３は、転送を完了してＦＴＰサーバ２００のハードディスクドライブ５に格納されたログファイル４００に転送完了通知コード４０１を挿入する機能を実現するファイル転送完了通知プログラム１３４を備えている。
【００２３】
図５は、メモリカード１８のメモリ構造を説明する図である。図示するように、メモリカード１８には、プログラミング装置を用いて設定されたロギング設定パラメータ４０が格納されている。このロギング設定パラメータ４０は、例えば、ＵＳＢＩ／Ｆ５１を介して接続されたプログラミング装置のディスプレイに表示された設定画面によって任意に設定可能である。ロギング設定パラメータ４０の設定項目として、転送完了通知コード４０１を挿入するか否かを指定する設定４１と、転送完了通知コード４０１として用いる文字列を指定する設定４２と、転送完了通知コード４０１を挿入する位置を指定する設定４３とを含んでいる。なお、ロギング設定パラメータ４０にかかる設定項目はこれらのみに限定されるものではない。また、メモリカード１８には、ロギング設定パラメータ４０以外のパラメータも格納されるようにしてもよい。ロギング設定パラメータ４０以外のパラメータとは、例えば、ユーザプログラムの演算周期や、データメモリ１９のうちのデバイスメモリ２０として使用する範囲を指定する設定などが該当する。メモリカード１８には、さらに、ロギングの結果として出力されるログファイル４００が格納される。
【００２４】
データメモリ１９は、ワークメモリ２１と、内部デバイス２としてのデバイスメモリ２０とが確保されている。図６は、ワークメモリ２１のメモリ構造を説明する図である。ＭＰＵ１１は、メモリカード１８に格納されているロギング設定パラメータ４０をワークメモリ２１にロードして、ワークメモリ２１にロードされたロギング設定パラメータ４０に基づいてファイル転送完了通知プログラム１３４を実行する。また、ワークメモリ２１には、ロギングにより収集されたデバイスデータ（ロギング収集データ３１）が一時的に格納される。即ち、ＭＰＵ１１は、ロギングプログラム１３２に基づいて、デバイスメモリ２０内に格納されているデバイスデータをロギングするとともにロギングにより収集されたデバイスデータを逐次ロギング収集データ３１としてワークメモリ２１に格納する。そして、ＭＰＵ１１は、ロギングプログラム１３２に基づき、所定のタイミングでロギング収集データ３１をログファイル４００としてメモリカード１８に出力する。メモリカード１８に出力されたログファイル４００は、ファイル転送プログラム１３３に基づいてＭＰＵ１１によりＦＴＰサーバ２００に転送される。
【００２５】
なお、ロギング設定パラメータ４０は、複数設定されるようにしても構わない。図７は、ロギング設定パラメータ４０が複数設定された場合のメモリカード１８のメモリ構造を説明する図であり、図８は、ロギング設定パラメータ４０が複数設定された場合のワークメモリ２１のメモリ構造を説明する図である。図７に示すように、メモリカード１８には、４セットのロギング設定パラメータ４０（ロギング設定Ａ〜Ｄ）が格納されており、図８に示すように、ワークメモリ２１のロギング設定メモリ３０には、ロギング設定Ａ〜Ｄがロードされている。煩雑を避けるために図示を省略しているが、ロギング設定Ａ〜Ｄは、設定４１〜４３を夫々個別に含んでいる。ＰＬＣ１００は、ユーザにより設定される別のパラメータに基づいて、ロギング設定Ａ〜Ｄのうちから使用するロギング設定パラメータ４０を選択する。
【００２６】
なお、ＰＬＣ１００は、ロギング対象のアドレス毎にロギング設定パラメータ４０を個別に設定できるようにしてもよい。即ち、ロギング設定Ａ〜Ｄは、夫々ロギング対象のアドレスを設定として含んでおり、ＰＬＣ１００は、ロギング設定Ａ〜Ｄに個別に設定されているアドレス毎にログファイル４００を個別に出力する。個々のログファイル４００について、転送完了通知コード４０１を挿入するか否か、転送完了通知コード４０１としての文字列、および転送完了通知コード４０１の挿入位置は、ロギング設定Ａ〜Ｄのうちの対応するロギング設定が含む設定４１〜４３に従って決められる。
【００２７】
（ＰＬＣ１００の動作）
次に、本発明の実施の形態のＰＬＣ１００の動作を説明する。図９は、ＰＬＣ１００の動作を説明するフローチャートである。まず、ログファイル４００が生成されたタイミングでファイル転送プログラム１３３が実行される。すなわち、ロギング部３は、デバイスデータを収集して、収集したデバイスデータをロギング収集データ３１としてワークメモリ２１に格納する（ステップＳ１１）。そして、ロギング部３は、ロギング収集データ３１をログファイル４００としてメモリカード１８へ出力する（ステップＳ１２）。ファイル転送プログラム１３３を実行する設定がユーザプログラムに記述されている場合（ステップＳ１３、Ｙｅｓ）、ファイル転送部４は、ＦＴＰサーバ２００へログファイル４００を転送する（ステップＳ１４）。ファイル転送プログラム１３３を実行する設定がなされていない場合（ステップＳ１３、Ｎｏ）、ステップＳ１４以降の処理はスキップされ、動作が終了となる。
【００２８】
ステップＳ１４の処理の後、ファイル転送部４は、ＦＴＰサーバ２００へログファイル４００を構成するデータを全て転送したか否かを判定する（ステップＳ１５）。そして、ファイル転送部４は、ワークメモリ２１にロードされているロギング設定パラメータ４０を参照して、設定４１が転送完了通知コード４０１を挿入する設定になっているか否かを判定する（ステップＳ１６）。設定４１が転送完了通知コード４０１を挿入する設定になっている場合（ステップＳ１６、Ｙｅｓ）、ファイル転送部４は、ファイル転送完了通知プログラム１３４に基づいて、ＦＴＰサーバ２００に転送されてハードディスクドライブ５に格納されたログファイル４００に転送完了通知コード４０１を挿入し（ステップＳ１７）、動作が終了となる。なお、挿入される転送完了通知コード４０１としての文字列は、設定４２に設定されている文字列が使用され、当該文字列は、設定４３に設定されている位置に挿入される。設定４１が転送完了通知コード４０１を挿入しない設定になっている場合（ステップＳ１６、Ｎｏ）、ステップＳ１７の処理はスキップされる。
【００２９】
以上に説明したように、本発明の実施の形態によれば、デバイスデータをロギングし、前記デバイスデータのロギング結果を記述したログファイル４００をメモリカード１８に出力するロギング部３と、メモリカード１８に出力されたログファイル４００をＦＴＰサーバ２００に転送するファイル転送部４と、を備え、ファイル転送部４は、ログファイル４００を構成するデータを全て転送完了した後、ＦＴＰサーバ２００に転送されてＦＴＰサーバ２００に格納されているログファイル４００にユーザにより予め設定されたロギング設定パラメータ４０により指定された転送完了通知コード４０１を挿入する、ように構成したので、転送完了通知コード４０１が挿入されているか否かを確認することでＦＴＰサーバ２００に転送されてきたログファイル４００が転送完了したものであるか否かを判断することができるようになる。また、ロギング設定パラメータ４０を設定することにより転送完了通知コード４０１として用いる文字列を所望のように変更することができるので、転送完了通知コード４０１にかかる設定の自由度を向上させることができるようになる。
【００３０】
なお、転送完了通知コード４０１は、ログファイル４００の中に挿入されるとして説明したが、ログファイル４００のファイル名に付記されるようにしてもよい。
【００３１】
また、ロギング設定パラメータ４０は、ＦＴＰサーバ２００に転送されてＦＴＰサーバ２００に格納されているログファイル４００の中の転送完了通知コード４０１の挿入位置を指定する設定４３を含み、ファイル転送部４は、設定４３により指定された位置に転送完了通知コード４０１を挿入する、ように構成したので、転送完了通知コード４０１にかかる設定の自由度をさらに向上させることができるようになる。
【産業上の利用可能性】
【００３２】
以上のように、本発明にかかるＰＬＣは、デバイスデータを外部のサーバに送信する機能を有するＰＬＣに適用して好適である。
【符号の説明】
【００３３】
１  演算処理部
２  内部デバイス
３  ロギング部
４  ファイル転送部
５  ハードディスクドライブ
１２  システムメモリ
１３  システムプログラム
１５  ユーザプログラムメモリ
１６  メモリカードＩ／Ｆ
１７  内部バス
１８  メモリカード
１９  データメモリ
２０  デバイスメモリ
２１  ワークメモリ
２２  ネットワークＩ／Ｆ
３０  ロギング設定メモリ
３１  ロギング収集データ
４０  ロギング設定パラメータ
４１  設定
４２  設定
４３  設定
５１  ＵＳＢＩ／Ｆ
５２  スイッチ
１３１  演算処理プログラム
１３２  ロギングプログラム
１３３  ファイル転送プログラム
１３４  ファイル転送完了通知プログラム
２００  ＦＴＰサーバ
３００  外部記憶媒体
４００  ログファイル
４０１  転送完了通知コード
【図１】
2012143993.tif 000003
【図２−１】
2012143993.tif 000004
【図２−２】
2012143993.tif 000005
【図３】
2012143993.tif 000006
【図４】
2012143993.tif 000007
【図５】
2012143993.tif 000008
【図６】
2012143993.tif 000009
【図７】
2012143993.tif 000010
【図８】
2012143993.tif 000011
【図９】
2012143993.tif 000012
【国際調査報告】
2012143993.tif 000013
2012143993.tif 000014
2012143993.tif 000015
2012143993.tif 000016