(57)【特許請求の範囲】
【請求項１】
被制御機器の状態に応じたデバイスデータを前記被制御機器から収集するデータ収集処理部と、
前記デバイスデータのうち変化したデバイスデータに関する変化情報を記憶する記憶部と、
前記被制御機器の状態を表示する表示装置からポーリング方式で前記デバイスデータの送信要求を受けると、前記変化情報または前記収集されたデバイスデータを前記表示装置に送信する通信処理部と、
を備え、
前記データ収集処理部は、
１回のポーリング時間内に前記デバイスデータを３回以上に渡って収集するとともに、各収集の際に、前回取得したデバイスデータと今回取得したデバイスデータとを比較し、異なる場合には前記変化情報を生成して前記記憶部に記憶させ、各ポーリングに対して前記変化情報または前記収集されたデバイスデータを前記表示装置に送信する際に、前記変化情報の合計量と前記収集したデバイスデータの合計量とを比較し、前記変化情報の合計量が、前記収集したデバイスデータの合計量以上の場合には、前記変化情報から前記収集したデバイスデータを復元し、
前記通信処理部は、
前記変化情報の合計量が、前記収集したデバイスデータの合計量以上の場合には、復元されたデバイスデータを前記表示装置に送信し、前記変化情報の合計量が、前記収集したデバイスデータの合計量よりも少ない場合には、前記記憶部内の前記変化情報を前記表示装置に送信することを特徴とするプログラマブルロジックコントローラ。
【請求項２】
前記データ収集処理部は、
前記変化情報の変化したタイミングを示すタイミングデータに基づいて、前記変化情報から前記収集したデバイスデータを復元することを特徴とする請求項１に記載のプログラマブルロジックコントローラ。
【請求項３】
前記被制御機器の制御と、前記デバイスデータまたは前記変化情報の前記表示装置への送信と、を１台構成の装置によって実行することを特徴とする請求項１または２に記載のプログラマブルロジックコントローラ。
【請求項４】
前記データ収集処理部は、前記表示装置から前記デバイスデータの送信要求があると、前記比較の処理を実行するとともに、前記変化情報の合計量が、前記収集したデバイスデータの合計量以上の場合には、前記変化情報から前記収集したデバイスデータを復元し、
前記通信処理部は、前記表示装置から前記デバイスデータの送信要求があった場合に、前記変化情報の合計量が、前記収集したデバイスデータの合計量以上の場合には、復元されたデバイスデータを前記表示装置に送信し、前記変化情報の合計量が、前記収集したデバイスデータの合計量よりも少ない場合には、前記記憶部内の前記変化情報を前記表示装置に送信することを特徴とする請求項１から３のいずれか１つに記載のプログラマブルロジックコントローラ。
【請求項５】
前記データ収集処理部は、
前記各収集の際に、前回取得したデバイスデータと今回取得したデバイスデータとを比較し、同じ場合には前記今回取得したデバイスデータを記憶させず、異なる場合には前記変化情報を生成して前記記憶部に記憶させることを特徴とする請求項１から４のいずれか１つに記載のプログラマブルロジックコントローラ。
【請求項６】
前記データ収集処理部は、
前記各収集の際に、前記各ポーリングに対してスキャンタイム毎に前記デバイスデータを収集し、
前記変化情報の変化したタイミングを示すタイミングデータを前記変化情報に含めて前記記憶部に記憶させ、
前記収集したデバイスデータのうちの第１のデバイスデータが記憶されていなければ、前記第１のデバイスデータに対応する第１のタイミングデータの１つ前のスキャンタイミングである第２のタイミングデータに対応する第２のデバイスデータに基づいて、前記第１のデバイスデータを復元することを特徴とする請求項５に記載のプログラマブルロジックコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルロジックコントローラの内部で保持されるデバイスデータを表示装置に送信するプログラマブルロジックコントローラに関する。
【背景技術】
【０００２】
工場などで使用される被制御機器（産業用機械など）を制御するＰＬＣ（プログラマブルロジックコントローラ）は、被制御機器に関する各デバイスデータを一時的に格納するデバイスメモリを有している。このようなＰＬＣ（シーケンサ）は、ユーザが作成するプログラムであるシーケンスプログラムにしたがって、各デバイスデータをリード／ライトすることによって、被制御機器を制御する。このＰＬＣを用いたシステムにおいて、各デバイスデータの値をＰＣ（パーソナルコンピュータ）側に送信し、各デバイスの変化や状態をＰＣなどの表示装置で表示させる技術が一般に知られている。【０００３】
従来、ＰＬＣを用いた上記システムでは、ＰＣからＰＬＣに対してデバイスデータの送信要求があった場合に、指定された時間間隔でＰＬＣが取得した各デバイスデータを全てＰＣに送信していた。この場合、ＰＣ側から送信を要求されるデバイスデータの量が増えるとＰＬＣからＰＣに送信するデータ量が増える。このため、デバイスデータの通信処理に負荷がかかり、ＰＣに送信されるデバイスデータが欠落する場合や、ＰＬＣが制御する他機能の処理に影響を与える場合があった。【０００４】
このようなシステムにおいては、送信するデバイスデータの値の中には、前回送信したデバイスデータの値から変化していないデバイスデータも存在する。値の変化のないデバイスデータの送信は、データの状態を表示するシステムにおいては無駄であり、通信負荷の増加の原因となる。このため、通信負荷の軽減を図るために、前回送信したデバイスデータの値と今回送信するデバイスデータの値とを比較し、値が変化したデバイスデータのみを送信する方法が用いられている（例えば、特許文献１，２，３参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−２８０７３２号公報
【特許文献２】特開平６−９５７１８号公報
【特許文献３】特開２０００−１６５９６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記第１〜第３の従来技術では、通信負荷の軽減を図るために、前回送信したデバイスデータの値と今回送信するデバイスデータの値との間で変化したデバイスデータのみを送信している。しかしながら、上記第１〜第３の従来技術では、２つのデバイスデータ（１回の変化）に対してしか変化を考慮しておらず、３つ以上のデバイスデータ（３回以上の変化）を同時に扱うことに関しては考慮されていないという問題があった。【０００７】
本発明は、上記に鑑みてなされたものであって、ポーリング時間内に３回以上に渡って収集したデバイスデータの送信要求があった場合も、効率良くデータ送信を行うことができるプログラマブルロジックコントローラを得ることを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明のプログラマブルロジックコントローラは、被制御機器の状態に応じたデバイスデータを前記被制御機器から収集するデータ収集処理部と、前記デバイスデータのうち変化したデバイスデータに関する変化情報を記憶する記憶部と、前記被制御機器の状態を表示する表示装置からポーリング方式で前記デバイスデータの送信要求を受けると、前記変化情報または前記収集されたデバイスデータを前記表示装置に送信する通信処理部と、を備え、前記データ収集処理部は、１回のポーリング時間内に前記デバイスデータを３回以上に渡って収集するとともに、各収集の際に、前回取得したデバイスデータと今回取得したデバイスデータとを比較し、異なる場合には前記変化情報を生成して前記記憶部に記憶させ、各ポーリングに対して前記変化情報または前記収集されたデバイスデータを前記表示装置に送信する際に、前記変化情報の合計量と前記収集したデバイスデータの合計量とを比較し、前記変化情報の合計量が、前記収集したデバイスデータの合計量以上の場合には、前記変化情報から前記収集したデバイスデータを復元し、前記通信処理部は、前記変化情報の合計量が、前記収集したデバイスデータの合計量以上の場合には、復元されたデバイスデータを前記表示装置に送信し、前記変化情報の合計量が、前記収集したデバイスデータの合計量よりも少ない場合には、前記記憶部内の前記変化情報を前記表示装置に送信することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、ポーリング時間内に３回以上に渡って収集したデバイスデータの送信要求があった場合であっても、効率良くデータ送信を行うことが可能になるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、本発明の実施の形態に係るＰＬＣの構成を示す図である。
【図２】図２は、実施の形態に係るＰＬＣの動作手順を示すフローチャートである。
【図３】図３は、実施の形態に係るＰＬＣの動作手順を示すシーケンス図である。
【図４】図４は、デバイスデータの変化を説明するための図である。
【図５】図５は、取得したデータと記憶しておくデータとを説明するための図である。
【発明を実施するための形態】
【００１１】
以下に、本発明の実施の形態に係るプログラマブルロジックコントローラを図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１２】
実施の形態
図１は、本発明の実施の形態に係るＰＬＣの構成を示す図である。制御システム１００は、ＰＬＣ（プログラマブルロジックコントローラ）１０と、ＰＣ（パーソナルコンピュータ）２０と、被制御機器４０とを有している。ＰＬＣ１０は、ＰＣ２０などのデータ表示を行うことができる装置（表示装置）に通信ケーブル３０を介して接続されている。なお、ＰＬＣ１０が接続される装置は、ＰＣ２０に限らず、他の装置であってもよい。
【００１３】
また、ＰＬＣ１０は、産業用機械などの被制御機器４０に、通信ケーブル３１を介して接続されている。ＰＬＣ１０は、被制御機器４０を制御するとともに、被制御機器４０の動作（状態）に応じて変化する被制御機器４０に関するデータ（以下デバイスデータという）を保持する装置である。ＰＬＣ１０は、ＰＣ２０からの要求に応じてデバイスデータをＰＣ２０に送信する。本実施形態では、１台構成の装置であるＰＬＣ１０が、被制御機器４０の制御と、複数のデバイスデータの処理と、ＰＣ２０へのデバイスデータの送信とを実行する。デバイスは、ＰＬＣ１０のラダープログラムで使用されるアルファベット表記の要素を指している。
【００１４】
ＰＣ２０は、デバイスデータの変化や状態を表示することによって、被制御機器４０の状態などを表示する。ＰＣ２０は、ＰＬＣ１０にデータ取得要求を送信することによって、ＰＬＣ１０からデバイスデータを取得する。
【００１５】
ＰＬＣ１０は、ポーリング時間間隔内で複数のデバイスデータを複数回にわたって取得し、蓄積しておく。本実施の形態のＰＬＣ１０は、１度のポーリング時間内に３回以上に渡って取得したデバイスデータの送信要求がＰＣ２０からあった場合であっても、デバイスデータごとにデバイスデータの値を比較し、各デバイスデータで値が変化したもののみをＰＣ２０に送信する。換言すると、本実施の形態のＰＬＣ１０は、１度のポーリング時間内に複数回に渡ってデバイスデータが変化した場合であっても、デバイスデータごとにデバイスデータの値を比較し、各デバイスデータで値が変化したもの（変化データ）のみをＰＣ２０に送信する。
【００１６】
ＰＬＣ１０は、演算処理部１４と、内部デバイス（デバイスメモリ）１５と、データ収集処理部１６と、通信処理部１７とを備えている。演算処理部１４は、ユーザからの操作（指示）に応じて種々の判断処理を行う。内部デバイス１５は、演算処理部１４の演算処理で用いられる記憶装置（記憶部）である。また、内部デバイス１５へは、被制御機器４０から取得されたデバイスデータが格納される。内部デバイス１５は、データを格納する容量を有している。本実施形態では、内部デバイス１５に格納されるデータをデバイスデータとよぶ。
【００１７】
データ収集処理部１６は、所定の間隔（スキャンタイム毎等）で被制御機器４０からデバイスデータを収集し、内部デバイス１５にデバイスデータの値を保存する。本実施の形態のデータ収集処理部１６は、デバイスデータを取得した場合に、前回取得したデバイスデータと今回取得したデバイスデータとを比較し、デバイスデータが変化している場合のみ、変化したデバイスデータを内部デバイス１５に保存する。
【００１８】
また、データ収集処理部１６は、取得した全てのデバイスデータの合計量と、変化したデバイスデータの合計量とを比較し、合計量の小さい方のデータをＰＣ２０への送信対象に設定する。
【００１９】
通信処理部１７は、ＰＣ２０との間で種々のデータの送受信などを行う。通信処理部１７は、ＰＣ２０からデバイスデータの送信要求を受信し、ＰＣ２０にデバイスデータを送信する。
【００２０】
なお、図１ではＰＬＣ１０に接続される被制御機器４０が１つである場合について説明したが、ＰＬＣ１０に対して複数の被制御機器４０を接続しておいてもよい。この場合、ＰＬＣ１０は複数の被制御機器４０からデバイスデータを収集し、収集したデバイスデータをＰＣ２０に送信する。この場合、ＰＬＣ１０は、被制御機器４０毎に、被制御機器４０に対応する内部デバイス１５を備えている。そして、各内部デバイス１５は、それぞれ被制御機器４０のデバイスデータを格納する容量を有している。ＰＬＣ１０は、取得したデバイスデータを、対応する内部デバイス１５に格納する。
【００２１】
つぎに、ＰＬＣ１０の動作手順について説明する。図２は、実施の形態に係るＰＬＣの動作手順を示すフローチャートである。図３は、実施の形態に係るＰＬＣの動作手順を示すシーケンス図である。図２および図３では、ＰＣ２０がデバイスデータ（モバイルデータ）のモニタを行う際の、ＰＬＣ１０およびＰＣ２０の動作手順を示している。
【００２２】
ＰＬＣ１０は、被制御機器４０を制御する際に、被制御機器４０からデバイスデータを収集している（ステップＳ１）。具体的には、データ収集処理部１６が、被制御機器４０からデバイスデータを収集し、内部デバイス１５に格納しておく。
【００２３】
データ収集処理部１６では、被制御機器４０からデバイスデータＺ１〜Ｚ４を１スキャン毎（１スキャンに１回）に取得している。そのため、データ収集処理部１６は、ＰＣ２０による１回のポーリング時間内に３回以上に渡ってデバイスデータを順番に取得する。
【００２４】
具体的には、データ収集処理部１６は、１回目のスキャン時（タイミングｔ１）にデバイスデータＺ１を取得し、２回目のスキャン時（タイミングｔ２）にデバイスデータＺ２を取得する。さらに、データ収集処理部１６は、３回目のスキャン時（タイミングｔ３）にデバイスデータＺ３を取得し、４回目のスキャン時（タイミングｔ４）にデバイスデータＺ４を取得する。データ収集処理部１６は、取得したデバイスデータＺ１〜Ｚ４を内部デバイス１５に保存する。
【００２５】
このように、データ収集処理部１６は、被制御機器４０からスキャンごとにデバイスデータＺ１〜Ｚ４を取得している。複数回（ここでは４回）に渡ってデバイスデータＺ１〜Ｚｎ（ｎは２以上の自然数）を取得する際に、１回目のスキャン時に取得されたデータが今回取得されたデバイスデータであるとする。この場合において、次のスキャン時に取得されたデータは、この回における今回取得されたデバイスデータとなり、１つ前のスキャンで取得されたデータは、前回取得されたデバイスデータとなる。このように、前回取得されたスキャンデータは、今回取得されたスキャンデータの直前に取得されたスキャンデータである。
【００２６】
例えば、ｍ（ｍは１〜ｎの何れかの自然数）回目のスキャン時にデバイスデータＺｍが取得され、（ｍ＋１）回目のスキャン時にデバイスデータＺ（ｍ＋１）が取得されたとする。この場合、ｍ回目のスキャン時では、デバイスデータＺｍが今回取得されたデバイスデータである。そして、（ｍ＋１）回目のスキャン時では、デバイスデータＺｍが前回取得されたデバイスデータであり、デバイスデータＺ（ｍ＋１）が今回取得されたデバイスデータである。例えば、３スキャン目であれば、２スキャン目で取得されたデータが、前回取得されたデバイスデータとなり、３スキャン目で取得されたデータが、今回取得されたデバイスデータとなる。
【００２７】
データ収集処理部１６は、デバイスデータＺ１〜Ｚ４を保存する際に、前回取得したデバイスデータと今回取得したデバイスデータとを比較し、デバイスデータが変化している場合のみ、変化したデバイスデータを内部デバイス１５に保存する。
【００２８】
例えば、データ収集処理部１６は、デバイスデータＺ１とデバイスデータＺ２とを比較し、両者が異なる値であれば、新しい方のデバイスデータであるデバイスデータＺ２を内部デバイス１５に保存する。また、データ収集処理部１６は、両者が同じ値である場合には、新しい方のデバイスデータＺ２を削除し、内部デバイス１５には古い方のデバイスデータＺ１を保存したままにしておく。また、データ収集処理部１６は、変化したデバイスデータに対し、取得元のデバイス（被制御機器４０）を識別可能なデバイス情報と変化したタイミングを示すタイミングデータとを付加する。以下では、変化したデバイスデータに対し、デバイス情報およびタイミングデータが付加されたものを、変化データという。
【００２９】
この後、ＰＣ２０は、ＰＬＣ１０からデバイスデータを取得する。このとき、ＰＣ２０とＰＬＣ１０とは、ポーリング方式でデータの送受信を行う。ポーリング方式とは、ＰＣ２０がＰＬＣ１０に対して、所定の時間間隔でデータの送信要求を行い、その要求に対してＰＬＣ１０がＰＣ２０にデータを送信する方式である。具体的には、ポーリングが開始されると（ステップＳ２）、ＰＣ２０が、ＰＬＣ１０にデバイスデータの送信要求Ｘ１を送る（ステップＳ３）。これにより、ＰＬＣ１０がデバイスデータの送信要求Ｘ１を受信する（ステップＳ４）。そして、ＰＬＣ１０は、送信要求Ｘ１に対応する応答データＹ１をＰＣ２０に送る。ここでの応答データＹ１が、被制御機器４０から取得したデバイスデータである。
【００３０】
変化データは、デバイス情報およびタイミングデータを含んでいるので、変化データのデータ量が、全デバイスデータＺ１〜Ｚ４の合計量よりも大きくなる場合がある。例えば、取得したデバイスデータが前回取得したデバイスデータよりも変化する割合が多い場合には、変化データの方が、全デバイスデータよりもデータ量が大きくなる場合がある。
【００３１】
そのため、データ収集処理部１６は、ＰＣ２０にデバイスデータを送信する前に、デバイスデータＺ１〜Ｚ４の全データ量と、変化データのデータ量（合計量）とを比較する（ステップＳ５）。このとき、データ収集処理部１６は、ポーリング時間Ｔとスキャンタイム時間とに基づいて、デバイスデータが取得される回数（ここでは４回）を算出する。そして、データ収集処理部１６は、算出した回数に基づいて、全データ量を算出する。この算出された回数は、何回分のデータ量を合計すればよいかを把握するために用いられる。デバイスデータが取得される回数が分かれば、全データ量は、１つのデバイスデータ容量の積算（容量×回数）で求めることができる。したがって、データ収集処理部１６は、算出した回数を用いて全データ量を算出する。データ収集処理部１６は、変化データの合計量と、デバイスデータＺ１〜Ｚ４の全データ量とのうち、データ量が少ない方のデータを選択する。
【００３２】
具体的には、全データ量が、変化データのデータ量よりも大きい場合には（ステップＳ５、Ｙｅｓ）、データ収集処理部１６は、変化データをＰＣ２０への送信対象に設定する（ステップＳ６）。
【００３３】
一方、全データ量が変化データのデータ量以下の場合には（ステップＳ５、Ｎｏ）、データ収集処理部１６は、全デバイスデータＺ１〜Ｚ４をＰＣ２０への送信対象に設定する（ステップＳ７）。この場合、データ収集処理部１６は、タイミングデータに基づいて、変化がなかったデバイスデータの値とそのタイミングを導出する。
【００３４】
このとき、データ収集処理部１６は、保存されなかったデバイスデータの１つ前のデバイスデータに基づいて、保存されなかったデバイスデータを復元する。具体的には、２番目に取得されたデバイスデータは、２番目に取得されたデバイスデータに対応する変化データおよび１番目に取得されたデバイスデータに基づいて復元される。その後、３番目に取得されたデバイスデータが、３番目に取得されたデバイスデータに対応する変化データおよび２番目に取得されたデバイスデータに基づいて復元される。このように、（Ｌ）番目（Ｌは自然数）のデバイスデータに基づいて、（Ｌ＋１）番目のデバイスデータが復元される。そして、データ収集処理部１６は、導出結果に基づいて、保存されなかったデバイスデータを復元する。これにより、データ収集処理部１６は、ＰＣ２０への送信データである全デバイスデータＺ１〜Ｚ４を作成する。
【００３５】
データ収集処理部１６によって設定された送信対象（デバイスデータ）は、ＰＬＣ１０の通信処理部１７が、応答データＹ１としてＰＣ２０に送信する（ステップＳ８）。そして、ＰＬＣ１０とＰＣ２０との間のポーリングが終了する（ステップＳ９）。
【００３６】
ＰＣ２０は、ＰＬＣ１０からデバイスデータ（変化データまたは全デバイスデータ）を取得することによって、ＰＬＣ１０の内部デバイス１５のモニタを行うとともに、デバイスデータの表示を行う。
【００３７】
なお、デバイスデータＺ１〜Ｚ４は、それぞれ複数種類のデータを含んでいてもよい。この場合、データ収集処理部１６は、データの種類毎に、変化データと全デバイスデータとの何れかを応答データＹ１としてＰＣ２０に送信する。
【００３８】
図４は、デバイスデータの変化を説明するための図である。図４では、デバイスデータＺ１〜Ｚ４が、それぞれデータＡ〜Ｃを含んでいる場合について説明する。デバイスデータＺ１は、データ１Ａ，１Ｂ，１Ｃであり、デバイスデータＺ２は、データ２Ａ，２Ｂ，２Ｃである。また、デバイスデータＺ３は、データ３Ａ，３Ｂ，３Ｃであり、デバイスデータＺ４は、データ４Ａ，４Ｂ，４Ｃである。例えば、デバイスデータがデバイスデータＺ１〜Ｚ４に変化することによって、データＡは、データ１Ａ〜４Ａまで変化する。同様に、データＢは、データ１Ｂ〜４Ｂまで変化し、データＣは、データ１Ｃ〜４Ｃまで変化する。
【００３９】
例えば、データ１Ａ，２Ａ，３Ａの各値は、それぞれ１００であり、データ４Ａの値は１２０である。換言すると、データＡは、デバイスデータＺ１〜Ｚ３までの間は変化せず、デバイスデータＺ４で変化している。
【００４０】
図５は、取得したデータと記憶しておくデータとを説明するための図である。図５では、データ収集処理部１６が被制御機器４０から取得する取得データ１０１と、データ収集処理部１６が内部デバイス１５に記憶させる記憶データ１０２と、を示している。
【００４１】
例えば、ＰＬＣ１０が、図４に示したようなデータＡを取得した場合について説明する。この場合、ＰＬＣ１０のデータ収集処理部１６は、被制御機器４０から取得データ１０１として、データＡの値を受信する。データ収集処理部１６は、デバイスデータＺ１〜Ｚ４の４つのデバイスデータを取得するので、データＡの値としても４つの値を取得する。
【００４２】
この場合において、データＡ１とデータＡ２とが同じ値であれば、データ収集処理部１６は、データＡ１の値（１００）のみを記憶させ、データＡ２の値を削除する。データＡ１の値を記憶させる際には、データ収集処理部１６は、データＡ１の値にデバイス情報とタイミングデータとを付加する。データ収集処理部１６は、例えば、データＡ１の値に対し、デバイス情報として「データＡ」の情報を付加し、タイミングデータとして、タイミングｔ１を示す「ｔ１」の情報を付加する。
【００４３】
また、データＡ１とデータＡ３とが同じ値であれば、データ収集処理部１６は、データＡ３の値を削除する。そして、データＡ１とデータＡ４とが異なる値であれば、データ収集処理部１６は、データＡ４の値（１２０）を記憶させる。データＡ４の値を記憶させる際には、データ収集処理部１６は、データＡ４の値にデバイス情報とタイミングデータとを付加する。データ収集処理部１６は、例えば、データＡ４の値に対し、デバイス情報として「データＡ」の情報を付加し、タイミングデータとして、タイミングｔ４を示す「ｔ４」の情報を付加する。データ収集処理部１６は、デバイス情報およびタイミングデータを付加した記憶データ（変化情報）１０２を内部デバイス１５に記憶させる。
【００４４】
データＡとして取得したデバイスデータの合計量は、取得データ１０１の合計データ量である。また、変化したデバイスデータの合計量は、記憶データ１０２の合計データ量である。データ収集処理部１６は、取得データ１０１と記憶データ１０２とのうちデータ量の小さい方のデータをＰＣ２０への送信対象に設定する。
【００４５】
また、データ収集処理部１６は、データＢの取得データと記憶データとのうちデータ量の小さい方のデータをＰＣ２０への送信対象に設定する。また、データ収集処理部１６は、データＣの取得データと記憶データとのうちデータ量の小さい方のデータをＰＣ２０への送信対象に設定する。
【００４６】
このように、制御システム１００では、ＰＣ２０からＰＬＣ１０に対してデバイスデータの送信要求があった場合に、値が変化したデバイスデータのみをＰＬＣ１０がＰＣ２０に送信している。また、ＰＬＣ１０は、変化データのデータ量と全デバイスデータのデータ量とを比較し、データ量の大きさに基づいて、送信するデータを切り替えている。これにより、ＰＬＣ１０によるデバイスデータの通信負荷を低減することができる。したがって、送信するデバイスデータの欠落を防止できるとともに、ＰＬＣ１０が制御する他機能への影響を防ぐことが可能となる。
【００４７】
１度に３つ以上のデバイスデータを送信する場合は、１つのデバイスデータを送信する場合と比べて、通信処理に負荷がかかる。本実施の形態では、ＰＣ２０からＰＬＣ１０に対して同時に３つ以上のデバイスデータを送信する場合においても、値が変化したデバイスデータのみをＰＬＣ１０がＰＣ２０に送信するので、データ送信の効率化を図ることが可能となる。
【００４８】
なお、送信するデータを変化データまたは全デバイスデータの何れかに切り替える処理を行わない場合には、データ収集処理部１６は、デバイス情報やタイミングデータの変化したデバイスデータへの付加を省略してもよい。
【００４９】
このように実施の形態によれば、ＰＬＣ１０がデバイスデータのうち変化データをＰＣ２０に送信するので、ポーリング時間内に３回以上に渡ってデバイスデータを収集した場合も、効率良くデータ送信を行うことが可能になる。
【００５０】
また、データ量の大きさに基づいて、送信するデータを、変化データまたは全デバイスデータの何れかに切り替えているので、デバイスデータの通信負荷を低減することができる。また、デバイスデータが、まとめてＰＣ２０に送信されるので、デバイスデータの要求（受信）と応答（送信）とが繰り返される場合よりも、効率良くデータ送信を行うことが可能となる。
【産業上の利用可能性】
【００５１】
以上のように、本発明に係るプログラマブルロジックコントローラは、デバイスデータの送信に適している。
【符号の説明】
【００５２】
１０  ＰＬＣ、１４  演算処理部、１５  内部デバイス、１６  データ収集処理部、１７  通信処理部、２０  ＰＣ、４０  被制御機器、１００  制御システム、１０１  取得データ、１０２  記憶データ、Ｚ１〜Ｚ４  デバイスデータ。
【要約】
ＰＬＣが、１回のポーリング時間内に被制御機器のデバイスデータを３回以上に渡って収集する際に、前回取得したデバイスデータと今回取得したデバイスデータとを比較し、異なる場合には変化したデバイスデータを変化データとして記憶し、各ポーリングに対して変化データをＰＣに送信する際に、変化データと収集したデバイスデータとを比較し、変化データの合計量が、収集したデバイスデータの合計量以上の場合には、変化データから収集したデバイスデータを復元し、復元されたデバイスデータをＰＣに送信し、変化データの合計量が、収集したデバイスデータの合計量よりも少ない場合には、変化データをＰＣに送信する。【図１】
0005864032.tif 000002
【図２】
0005864032.tif 000003
【図３】
0005864032.tif 000004
【図４】
0005864032.tif 000005
【図５】
0005864032.tif 000006