(57)【要約】【課題】  ＰＬＣ等の負荷を抑制しつつ、制御対象（監視対象）の機器の交換時期に来たことを通知することができるスレーブを提供すること【解決手段】  ＰＬＣ１を構成するマスタユニット２と、複数のスレーブ１０がフィールドネットワーク３に接続される。このスレーブには４つの温度センサ５が接続される。スレーブは、取り込んで来た温度データを内部で演算し、データが、設定した範囲内であるときのトータル時間や、データの極大およびまたは極小の回数を求め、それら求めた値を閾値と比較し、その結果のみをＰＬＣに通知する。閾値を交換時期に来たときの値に設定することにより、ＰＬＣは、その通知を受けることにより交換時期に来たか否かを認識できる。【選択図】        図１
2005302006.tif 000002
【特許請求の範囲】
【請求項１】
アナログ入力部とネットワーク接続部とを有するアナログ入力スレーブであって、
前記アナログ入力部から取得したデータが、設定した範囲内であるときのトータル時間を求めるトータル時間算出手段と、
そのトータル時間算出手段により求められたトータル時間と閾値とを比較する比較手段と、
前記比較手段による比較結果を前記ネットワーク接続部から送信する手段と、
を備えたことを特徴とするアナログ入力スレーブ。
【請求項２】
アナログ入力部とネットワーク接続部とを有するアナログ入力スレーブであって、
アナログ入力部から取得したデータの極大およびまたは極小を検出する検出手段と、
その検出手段で検出した極大およびまたは極小の回数を計数する回数計数手段と、
その回数計数手段により求められた回数と閾値とを比較する比較手段と、
前記比較手段による比較結果を前記ネットワーク接続部から送信する手段と、
を備えたことを特徴とするアナログ入力スレーブ。
【請求項３】
前記閾値は、前記アナログ入力部に接続される機器およびまたはその機器が接続される監視対象の交換あるいはメンテナンス時期を特定する値であることを特徴とする請求項１または２に記載のアナログ入力スレーブ。
【請求項４】
前記比較結果のネットワークへの送信は、前記比較結果が閾値を超えたことを示す場合に行なうようにしたことを特徴とする請求項１から２に記載のアナログ入力スレーブ。
【請求項５】
請求項１または２に記載のアナログ入力スレーブと、コントローラとがネットワークを介して接続されたシステムにおいて、
前記コントローラは、前記アナログ入力スレーブの比較結果を取得するようにしたことを特徴とする監視システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、アナログ入力スレーブおよび監視システムに関するものである。
【背景技術】
【０００２】
良く知られているように、ファクトリーオートメーション（以下、「ＦＡ」と称する）においては、プログラマブルコントローラ（以下、「ＰＬＣ」と称する）に直接或いはネットワークを介してＩ／Ｏ機器その他の装置・機器が接続される。ＰＬＣは、係るＩ／Ｏ機器の一種であるスイッチやセンサなどの入力機器からの情報を入力データとして取得し、予め組み込まれたユーザプログラムに従って、係る取得した入力データを用いて演算処理を実行してＩ／Ｏ機器の一種である出力機器への制御内容を決定し、その制御内容に対応する制御データをバルブ，アクチュエータ，モータなどの出力機器へ出力することにより、ＦＡシステム全体の制御を行うようになっている。
【０００３】
より具体的には、ＰＬＣのＣＰＵユニットにおける制御は、入力ユニットに接続された入力機器から入力した信号をＣＰＵユニットのＩ／Ｏメモリに取り込み（ＩＮリフレッシュ）、予め登録されたラダー言語で組まれたユーザプログラムに基づき論理演算をし（演算実行）、その演算実行結果をＩ／Ｏメモリに書き込んで出力ユニットに送り出し（ＯＵＴリフレッシュ）、それにより出力ユニットは出力機器を駆動や停止する制御を行い、その後、通信ネットワークを介して通信処理をするようないわゆる周辺処理を行う。このようにＰＬＣは、ＩＮリフレッシュ，演算実行，ＯＵＴリフレッシュ，周辺処理をサイクリックに繰り返し処理する。
【０００４】
ところで、上記の入力機器や出力機器は、ＰＬＣを構成する入／出力ユニットに直接接続される場合と、ネットワークを介して接続される場合がある。そのネットワークを介して接続する形態として、たとえば、マスタ-スレーブ通信により行うことができる。この場合、ＰＬＣを構成するマスタユニット（マスタ）とスレーブをフィールドネットワークに接続し、そのフィールドネットワークを介してマスタとスレーブとの間で通信を可能とする。このスレーブに、入力機器や出力機器を接続することにより、たとえば入力機器で検出した入力信号は、スレーブ，フィールドネットワークを介してマスタに伝達され、そのマスタからＰＬＣバスを介してＣＰＵユニットに伝達される。
【０００５】
ＰＬＣ側では、取得した入力情報に基づいてユーザプログラムが実行され、その実行結果が制御命令信号としてマスタユニットを経由して、ネットワークを介してスレーブに伝わり、スレーブから動作すべき出力機器（リレーやバルブ、アクチュエータなど）に対して制御命令を送るようになっている。
【０００６】
さらに入力機器には各種のものがあり、リミットスイッチなどのようにＯＮ／ＯＦＦデータを入力情報として出力するものと、温度センサなどのように、アナログデータを入力情報として出力するものがある。
【０００７】
なお、スレーブに接続された機器の入力信号や出力信号などのＩ／Ｏ情報の送受は、スレーブとマスタユニットとの間で予め設定される通信タイミングで行い、ＰＬＣのサイクリックな処理とは非同期で、別のタイミングで動作している。そしてＰＬＣのＣＰＵユニットとマスタユニットは、バス接続されており、ＣＰＵユニットにおけるサイクリックな処理のうち、ＩＮリフレッシュやＯＵＴリフレッシュ（Ｉ／Ｏリフレッシュ）または周辺サービス処理でマスタユニットとの間でデータの送受が行われる。これにより、ＰＬＣのＣＰＵユニットは、リモートに配置された入力または出力機器をスレーブに接続し、ネットワークを介してデータの送受が行える。
【０００８】
ところで、最近のＦＡのネットワークシステムでは、現在の制御内容を管理したりモニタすることにくわえて、システムの状態についての情報などの非制御情報を適宜に監視したりモニタしたいという要求が高まってきている。すなわち、システム稼動中にＦＡシステムを構築する装置・機器が故障するとシステムが停止するばかりでなく、稼動中に製造等していたワーク等が不良品となるおそれがあるので、できるだけ故障の発生を未然に検出し、故障する前に装置・機器の交換をしたいという要求がある。
【０００９】
係る要求を解決する従来技術として、本発明が対象とするアナログデータを扱うスレーブ（アナログスレーブ）ではないが、特許文献１に開示されたものがある。係る技術は、保守情報である出力機器の動作時間を精度良く測定する機能を備えたスレーブである。このようにスレーブ側で動作時間を求めることにより、ＰＬＣ側の負荷を軽減することができるようになった。具体的な構成としては、たとえばシリンダ等のアクチュエータの動作時間を監視対象とする場合、アクチュエータが接続されたＯＵＴ端子がＯＮになった時から、アクチュエータが動作完了位置にきたことを検知するセンサが接続されるＩＮ端子がＯＮになるまでの時間を内部タイマを用いて計測する。これにより、得られた時間が出力機器の動作時間となるので、この動作時間と設定値を比較し、アクチュエータが正常か否かの判定も併せて行うようにしている。
【００１０】
係る特許文献１に開示されたスレーブは、接続される入出力機器がＯＮ／ＯＦＦ情報により制御されるものであり、２つの接点の変化点（立ち上がり／立ち下がり）間の時間を計測する機能を持たせたに過ぎずなかった。
【００１１】
【特許文献１】特開２００３-２９５９１４
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、上記した従来のシステムでは、以下に示す問題がある。すなわち、特許文献１に開示された発明では、当然のことながら入力データがアナログデータに対応するスレーブには適用することができない。すなわち、従来からＦＡのアナログ計測領域において、たとえば温度センサである制御対象の装置の温度を計測している場合において、一定の温度を越えると制御対象の装置及びまたは温度センサの劣化度合いが進行することがある。このことは温度に限ることは無く、たとえばあるアナログ量に比例する作業を繰り返し行うことで、装置の劣化度合いが進行するケースもある。
【００１３】
これらの劣化の度合いが進行し、あるレベルを超えるとセンサや装置が故障となるので、事前に劣化の度合いをチェックし、故障する前に交換等できるようにするのが好ましい。ところで、係る劣化の度合いを事前に知るには、通常、スレーブから集めてきたアナログデータを上位側であるＰＬＣ（ＣＰＵユニット）にて演算させて処理をし、その処理結果から装置の劣化状況、メンテナンス時期を把握することが行われる。
【００１４】
そして、係る処理を実行するためには、ユーザプログラムに当該処理を実行するための解析プログラムを作成するとともに追加することになる。しかし、ＰＬＣ側で処理をするようにすると、ＰＬＣのプログラム実行処理の負荷が増えてしまうため好ましくない。そして、ユーザプログラムは、制御に適した言語であり、温度調整などのパラメータ設定等は不得手である。
【００１５】
さらに、スレーブとの通信負荷が増えてしまうという問題もある。これは、常に最新の情報をスレーブから得る必要があるので、ＰＬＣのマスタとスレーブとの通信処理のなかで、Ｉ／Ｏデータとしての制御情報に加えて、保守情報に関する基礎データも通信する必要が生じる。こうすると通信情報量が増えることになり、通信処理時間が増えて、マスタとスレーブ間の通信サイクルが長くなってしまう。また、ＦＡ制御における上位側でのプログラムは、制御用のプログラムがメインでかつ重要であるので、比較解析・情報管理などのプログラムを混在させるリスクが大きい。特に、すでに動作・運用されている制御用プログラムに対し、後からデータ解析用のプログラムを追加すると、制御用プログラムに悪影響を与えるおそれもあり、実際に追加することの決断をしにくい。
【００１６】
制御対象の温度を制御する場合には別途温度調節器を設置し、例えば制御対象を過熱するヒーター制御のためのＯＮ／ＯＦＦ出力およびフィードバック用に熱電対をアナログ（温度）入力として制御対象に接続し、制御対象が所定の温度になるように制御をおこなっている。この場合に温度調節器のアナログ（温度）入力を利用して温度調節器に上記の処理を実行させることが考えられるが、当然温度調節器を使って温度制御をおこなっている場合しか利用することができない。一般的に制御対象の温度だけでなく種々の物理量データを比較解析対象としたい場合にはこの構成は利用することができない。
【００１７】
また、前述のＰＬＣの場合と同様、制御対象に対する温度制御に加えて比較解析、情報処理などのプログラムを実行する負荷が温度調節器に加わることになり、温度調節の制御間隔が伸びるなど好ましくない。
【００１８】
この発明は、ＰＬＣ等の負荷を抑制しつつ、スレーブ（アナログスレーブ）に接続されたセンサその他の装置・機器や、係るセンサ等による制御対象（監視対象）の機器・装置の交換時期をスレーブ側で検出することができ、上位のＰＬＣ等の負荷の軽減を図ることができるスレーブおよび監視システムを提供することを目的とする。
【課題を解決するための手段】
【００１９】
本発明に係るアナログ入力スレーブは、アナログ入力部とネットワーク接続部とを有し、アナログ入力部から取得したデータが、設定した範囲内であるときのトータル時間を求めるトータル時間算出手段と、そのトータル時間算出手段により求められたトータル時間と閾値とを比較する比較手段と、比較手段による比較結果を前記ネットワークに送信する手段とを備えて構成した。
【００２０】
また、別の解決手段としては、アナログ入力部とネットワーク接続部とを有し、アナログ入力部から取得したデータの極大およびまたは極小を検出する検出手段と、その検出手段で検出した極大およびまたは極小の回数を計数する回数計数手段と、その回数計数手段により求められた回数と閾値とを比較する比較手段と、比較手段による比較結果を前記ネットワークに送信する手段とを備えて構成することもできる。
【００２１】
上記した各解決手段は、それぞれ単独で実装しても良いし、実施の形態で示すように両方の手段を１つの装置（スレーブ）に実装するようにしても良い。コントローラは、実施の形態ではＰＬＣ１に対応する。トータル時間算出手段や検出手段ならびに回数計数手段は、いずれも実施の形態では演算部１３ａにより実現されている。トータル時間算出手段は、具体的にはカウンタをインクリメント（１カウント）する処理ステップに対応する。このカウンタのように、トータル時間は、時間を間接的に規定するものも含まれる。また、入力部から取得したアナログデータをディジタルデータに変換した値(以下ディジタル信号という)をそのまま処理しても良いし、実施の形態のようにデータ変換して得られた物理量データに基づいて処理しても良い。後者の場合も、取得したディジタル信号の極大極小や範囲を間接的に求めているため、本発明に含まれる。比較手段は実施の形態では閾値比較処理部１３ｄに対応する。ネットワークに出力する手段は、ステータス通知処理部１３ｆやステータス管理部１５などにより実現される。ネットワークに出力するタイミングは、自発的でも良いし、外部からの要求に基づいて行なうようにしても良い。入力部から取得されるアナログデータは、ＦＡの制御のために使用するものでも良いし、監視・保守等のために収集するものでも良い。
【００２２】
上記した各発明を前提とし、前記閾値は、前記アナログ機器およびまたはそのアナログ機器が設置される制御対象（監視対象）の装置の交換あるいはメンテナンス時期を特定するものとすることができる。なお、本発明では、閾値を必ずしも交換時期に対応した値に設定する必要はなく、例えば劣化の度合いを示す基準値に設定し、交換時期には至らないものの、ある劣化のレベルを超えたことを通知するようにしても良い。メンテナンス・保守・管理に必要な情報を得るように閾値が設定されるとよい。
【００２３】
これにより、ＰＬＣ等の上位側では、アナログ機器やそのアナログ機器が設置される制御対象（監視対象）の装置の状態を認識することができる。そのため、すぐには交換する必要がないが、近いうちに交換の必要性が生じるおそれがある機器等をリストアップし、事前に交換・メンテナンスの準備（機器・部品調達やスケジューリング等）を行なうことができる。
【００２４】
この発明によれば、取得したディジタル信号に基づいてスレーブ側で条件を満たす範囲内に属したトータル時間や、極大極小の回数等を求め、閾値と比較するようにしたため、ＰＬＣ等の上位側の装置では、その比較結果を見るだけで監視が行える。よって係る上位側の装置では、係る監視等のためのプログラム追加が不要となる。また、対象の温度を制御する場合でも温度調節器で上記のような処理をする必要がないため、温度調節の制御感覚が伸びるなどの好ましくない状況は発生しない。
【００２５】
そして、前記比較結果の出力は、予め定めた状態（例えば、閾値を超えた等）を満たしたことを示す場合に実行するようにできる。すなわち、比較結果を常時送るようにしても良いが、定めた状態（実施の形態では、ステータスＯＮ）になった場合のみ出力することで、頻繁にネットワーク上に比較結果が伝送されることを抑制し、必要なときに通知することで通信量を抑制し、本来のＦＡの制御のためのデータの送受を効率良く行えるようになる。なお、比較結果とともに、あるいは比較結果に替えて求めたトータル時間や回数を出力するようにしてもよい。
【００２６】
また、本発明に係る監視システムでは、上記した各スレーブと、コントローラとがネットワークを介して接続されたシステムにおいて、前記コントローラは、前記スレーブの比較結果を取得するように構成することである。
【発明の効果】
【００２７】
本発明では、ディジタル信号を取得したスレーブがトータル時間や回数を求めるようにしたため、ＰＬＣ等の上位側の装置でアナログデータに基づく上記各情報を求める処理が不要となり、当該上位側の装置における負荷を抑制しつつ、アナログ機器や制御対象（監視対象）の機器の交換・メンテナンス時期等に至ったか等の状態を通知することができる。
【発明を実施するための最良の形態】
【００２８】
図１は、本発明が適用されるネットワークシステムの一例を示している。この例では、ＰＬＣ１を構成するマスタユニット２と、複数のスレーブ１０がフィールドネットワーク３に接続され、そのフィールドネットワーク３を介してマスタユニット２とスレーブ１０が相互に通信可能となる。このスレーブ１０は、入力信号を取り込むＩＮスレーブ，出力信号を出力するＯＵＴスレーブ，入出力をするＭｉｘスレーブなどがある。マスタユニット２はＩＮスレーブ１０に接続された入力機器から入力した信号をフィールドネットワーク３を介してＣＰＵユニットに渡す。ＰＬＣ１のＣＰＵユニットはその信号をＩ／Ｏメモリに取り込み、予め登録されたラダー言語で組まれたユーザプログラムに基づき論理演算をし、その演算実行結果をＩ／Ｏメモリに書き込んでマスタユニット２に渡す。マスタユニット２はフィールドネットワーク３を介してＯＵＴスレーブ１０に出力信号を送り、それにより制御対象の駆動や停止をする制御を行っている。そして、本発明との関係でいうと、ＩＮスレーブ１０はアナログデータを扱うアナログ入力スレーブであり、４つの温度センサ５が接続されている。これらの４つの温度センサ５は、それぞれ別の制御対象６の温度を測定し、ＩＮスレーブ１０に送るようになっている。
【００２９】
本実施の形態におけるアナログ入力スレーブ１０は、取り込んだ温度データ（ディジタル信号）を内部で保存し、極大、極小、および条件温度範囲内において時間を計数したりする。そして、その結果のみを上位（ＰＬＣ１等）に通知するようにしている。すなわち、通常のスレーブは、取得したディジタル信号のみをＰＬＣ１（マスタユニット２）に送るが、本例ではそのディジタル信号を用いて所定の演算処理をし、その演算結果に基づく情報を送るようにしている。ディジタル信号は通常送らないが、システムのデバッグ時やメンテナンス時などには送るようにしても良い。
【００３０】
たとえば、ある温度センサ５で検出した制御対象６の温度の推移が、図２に示すようになっているとする。この場合に、演算の条件が、１００℃を越えたら時間計測をするとともに、温度変化で発生する極大値検出回数を数えるものとする。すると、上記例によると１００℃を越えているトータル時間は２＋５＋１４＝２１秒で、極大検出回数は５回である。これらの値をスレーブが求めるとともに、保有する。また、それぞれの値に対して閾値を持っており閾値を現在値が越えるとステータスとして上位に通知するようになっている。
【００３１】
さらに、ＰＬＣ１には、上位の管理コンピュータ７が接続されている。この上位の管理
コンピュータ７は、スレーブ１０からの通知結果だけで劣化状況やメンテナンス時期を把
握する。
【００３２】
図３は、スレーブ１０のソフトウェア構成図である。この図から明らかなように、スレーブ１０は、データ取得ドライバ１１と、データ変換処理部１２と、演算処理部１３と、タイマ処理部１４と、ステータス管理部１５と、通信ドライバ１６と、通信データ処理部１７と、ハードウェア処理部１８並びにメイン処理部１９を備えている。
【００３３】
データ取得ドライバ１１は、接続されたハードウェア、つまり温度センサ５から送られてきたアナログデータをディジタルデータに変換したディジタル信号を取得し、データ変換処理部１２に渡す機能を有する。このデータ取得ドライバ１１は、内部タイマ処理部１４からの指示に基づき起動する。
【００３４】
データ変換処理部１２は、取得したディジタル信号をユーザに見せるための物理量データに変換（換算）する機能を有する。変換して得られたデータは、通信データ処理部１７に渡される。つまり、データ取得ドライバ１１を介して取得したディジタル信号は、例えば、温度センサ５から出力される電圧などを示す電気信号であり、温度の値（Ｘ℃の“Ｘ”）が送られてくるわけではない。従って、センサから送られてき
た電気信号（例えば「１０」）が、具体的な温度（例えば「３０℃」）に変換される。係る変換処理は、ディジタル信号とユーザに見せるための物理量データを関連づけた変換テーブルを記憶保持し、その変換テーブルを参照するようにしても良いし、換算式を用意し、その都度演算して求めても良い。
【００３５】
演算処理部１３は、データ変換処理部１２により変換され得られたデータに基づいて各種の演算処理を実行し、判定その他の処理を行なう。内部で演算データを持ち、その処理結果等を通信データ処理部１７に渡し、外部（本実施の形態ではＰＬＣ等）に出力したり、逆に、通信データ処理部１７を介して外部（上位）からの演算条件変更などの通知を受け取ったならば、その通知に従い変更する。さらに、閾値を超えたときに出力する警報などの、判定処理をして得られた結果などをステータス管理部１５に渡したりする。この演算処理部１３の具体的な処理機能については、後述する。
【００３６】
タイマ処理部１４は、内部タイマを備え、その内部タイマに基づいてデータ取得ドライバ１１，演算処理部１３並びに通信データ処理部１７に対して起動命令を与えるものである。つまり、それら各処理部等についてのタイマ管理を行ない、各処理が定期的に行なわれるようにしている。
【００３７】
ステータス管理部１５は、ソフトウェア全体の状態を司るものである。一例として、演算処理部１３やメイン処理部１９等でも管理している異常情報その他のステータスを受け取
り、記憶保持（管理）している。また、管理しているステータスをステータスデータとして通信データ処理部１７へ渡し、上位のＰＬＣ１等へ送信できるようにしている。
【００３８】
通信ドライバ１６は、フィールドネットワーク３上の上位機器（ＰＬＣ１等）と通信する処理部である。送信するデータは、通信データ処理部１７で生成されたデータを使用する。また、フィールドネットワーク３を介して受信した情報は、演算処理部１３に与えられる。
【００３９】
通信データ処理部１７は、フィールドネットワーク３を司るプロトコル、および通信データを管理する。ここで管理されるデータが通信データとして処理される。外部に出ていくデータは上位に向かって送信される。外部から入力されるデータは、ハードウェア処理部１８により出力される。通信データはイベントなどを都度受け付けるメッセージ通信と常時やり取りするためのＩＯ通信を持つ。
【００４０】
ハードウェア処理部１８は、実際にハードウェアとのインタフェースをとるもので、上位通信からの出力を処理したり、外部からの入力を読み込み処理（マイコンのＳＷ情報、不揮発性メモリの読み書きなど）をする際に使用したりする。
【００４１】
さらに、メイン処理部１９は、ソフトウェア全体のメイン処理をする。全体のソフトウェア状態を管理し、ソフトウェアとしての異常状態などがあればステータスに通知したり、自らが停止したりする機能を持つ。
【００４２】
図４は、演算処理部１３のより詳細な機能ブロック図である。演算処理部１３は、演算部１３ａと、極大極小検出／カウント条件の管理部１３ｂと、閾値比較処理部１３ｄと、閾値変更処理部１３ｅと、ステータス通知処理部１３ｆを備えている。
【００４３】
極大極小検出／カウント条件の管理部１３ｂは、極大・極小検出方法の管理と、条件温度範囲にてカウントアップさせるための条件を管理するものである。つまり、図２に示す例では、極大の回数と、１００℃以上となっている期間のトータル時間を抽出（演算）するようにしている。そこで、この極大極小検出／カウント条件の管理部１３ｂでは、極大極小に付いては検出する対象が極大と極小のいずれか或いは双方であるのか、ならびに、極大（極小）として抽出する検出方法を設定し、カウント条件については、カウントする対象（何℃以上か）を設定する。
【００４４】
極大・極小の検出方法は、一定タイミングで前々回値，前回値，今回値を比較し、ある一定値（ヒステリシス値Ｈｙｓに依存）の振幅以上になった場合に検出する。ヒステリシス設定Ｈｙｓとは、どの位の規模の極大，極小を検出するかの値であり、図５に示すように、ヒステリシス値Ｈｙｓが大きいほど、極大，極小の検出は鈍く、ヒステリシスＨｙｓ値が小さいほど、極大，極小の検出は鋭くなる。つまり、たとえば、ヒステリシス値Ｈｙｓを大きく設定すると、小さい変動があっても極大，極小とは認識されない。よって、このヒステリシス値を設定変更できることでアプリケーションに応じた検出使い分けができる。
【００４５】
これらの条件は不揮発性メモリ１０ａに記憶保持する。すなわち、極大極小検出／カウント条件の管理部１３ｂは、電源投入時その他のタイミングで不揮発性メモリ１０ａに格納された条件（極大・極小の検出方法やカウント条件等）を呼び出すとともに、装置の稼働中は保持する。そして、所定のタイミングで 、保持している条件を演算部１３ａに渡す。また、たとえば、通信データ処理部１７を介して上位のコンピュータ，ＰＬＣ１より条件の変更を受け付けると、記憶保持している条件を受け付けた内容に更新するとともに、不揮発性メモリ１０ａに対しても受け付けた条件を格納し、更新処理をする。これにより、いつ電源がＯＦＦしてしまったとしても、最新の演算方法を保持できる。
【００４６】
なお、本実施の形態では、極大極小検出／カウント条件の管理部１３ｂを１つの管理部として極大極小についての検出条件（検出対象および検出方法）と、カウント条件の両方を検出するようにしたが、それぞれを別の管理部として分けて構成するようにしてももちろん良い。
【００４７】
演算部１３ａは、極大極小検出／カウント条件の管理部１３ｂから演算するための極大極小ならびにカウントに関する条件を取得し、対応するデータをデータ変換処理部１２より取得する。そして、取得したデータに基づき、極大・極小を検出し、かつ条件温度範囲にてカウントアップさせ、結果を保有する。また、演算結果は、閾値比較処理部１３ｄに与えられる。さらに、予め定めた条件に合致するなど、必要に応じて演算結果を通信データ処理部１７に通知する。そして、起動はタイマ処理部１４からのタイムアップに伴い発行される起動命令に基づいて実行される。また、演算処理を終了したならば、タイマ処理部１４に対して終了の通知（登録）をする。演算対象のデータは、揮発性メモリ（ＲＡＭ）１０ｂに格納された各アナログ値を、データ変換処理部１２を介して取得する。
【００４８】
閾値比較処理部１３ｄは、閾値を不揮発性メモリ１０ａから読み出しておき、演算部１３ａから送られてきた演算結果データ、つまり、極大・極小の回数、またはカウント時間現在値と、閾値とを比較する。そして、演算結果データが閾値より大きい場合は、ステータス通知処理部１３ｆに通知する。また、比較処理する際の基準となる閾値は、閾値変更処理部１３ｅにより設定される。
【００４９】
閾値変更処理部１３ｅは、通信データ処理部１７を介して上位のＰＬＣ１や管理コンピュータ７等から送られてきた閾値の変更を受け付けると、閾値比較処理部１３ｄに対して変更する閾値を通知して動作中の閾値の変更処理を行なうとともに、不揮発性メモリ１０ａに対しても閾値の変更処理を行う。これにより、電源がＯＦＦしたあとでも閾値のデータが消去しないように管理する。
【００５０】
ステータス通知処理部１３ｆは、閾値比較処理部１３ｄからステータス異常の通知を受信すると、外部のステータス管理１５に対し、その旨通知する。
【００５１】
極大極小検出／カウント条件の管理部１３ｂにより管理される情報等を含む演算パラメータは、例えば、図６に示すデータ構造からなるインスタンスとして記憶管理することができる。このインスタンスは、必要に応じて適宜作成され、対象データが複数になる場合は該当分だけインスタンスを用意する。図６に示した例は、１つの演算対象データに対する演算パラメータである。本実施の形態のように温度センサ５が４つあり、それら４つの温度センサ５からのアナログデータに対して同時に全ての演算を行いたい場合には、合計４組のインスタンスが必要である。
【００５２】
極大極小検出／カウント条件の管理部１３ｂで管理する極大極小の対象は、「Ｔｏｐ／Ｖａｌｌｅｙ  Ｃｏｕｎｔ  Ｃｈｏｉｃｅ」により管理され、この例では、極大と極小のいずれか一方を選択することにより設定される。もちろん、二者択一ではなく、両方を選択するモードを設けても良い。さらに、極大極小検出／カウント条件の管理部１３ｂで管理する極大極小検出するためのヒステリシス値は、「Ｈｉｓｔｅｒｉｓｙｓ」の欄に格納されて管理される。
【００５３】
さらに、極大極小検出／カウント条件の管理部１３ｂで管理するトータル時間カウントの条件は、「Ｔｏｔａｌ  Ｔｉｍｅ  Ｃｏｕｎｔ  Ｌｅｖｅｌ  Ｃｈｏｉｃｅ」の欄で管理される。つまり、０から４で指定されるエリアのどの範囲のものをカウントするかを番号で選択する。ここで指定されるエリアは、図７に示すエリア（０）から（４）である。そして、各エリアを具体的に特定する各ライン「ＨＨ  Ｖａｌｕｅ」，「Ｈ  Ｖａｌｕｅ」，「Ｌ  Ｖａｌｕｅ」，「ＬＬ  Ｖａｌｕｅ」の値は、インスタンスの「Ｔｏｔａｌ  Ｔｉｍｅ  Ｃｏｕｎｔ  Ｌｅｖｅｌ」に登録することにより規定する。さらに、「ＵＮＩＴ  ｏｆ  Ｔｏｔａｌ  Ｔｉｍｅ」にてトータル時間カウントする時間の単位（ｍ秒，秒，分，時間等）を格納する。
【００５４】
なお、図示の例では、カウント条件を４ライン５分割としたが、分割の仕方は任意である。なお、図７では、エリア（２）（Ｔｏｔａｌ  Ｔｉｍｅ  Ｃｏｕｎｔ  Ｌｅｖｅｌ  
Ｃｈｏｉｃｅ＝２）としたときのカウント条件を示している。
【００５５】
さらに、演算部１３ａにおける演算結果である極大／極小の現在値は、インスタンスの「Ｔｏｐ／Ｖａｌｌｅｙ  ｄｅｔｅｃｔｅｄ  Ｃｏｕｎｔｅｒ」に格納される。ここでは、極大／極小が択一的に選択されるため、現在値を格納する欄も１箇所としたが、極大の現在値と極小の現在値をそれぞれ格納する欄を設けても良い。同様に、トータル時間の現在値は、「Ｔｏｔａｌ  Ｔｉｍｅ  Ｃｏｕｎｔｅｒ」に格納される。ここでは、トータル時間についてもいずれか選択された１つの温度範囲について積算するようにしたため、トータル時間の現在値も１つ格納される。なお、１つの温度センサからの出力に基づき複数の温度範囲についてのトータル時間を求めたい場合には、このインスタンスを複数設定することにより対応できる。もちろん、トータル時間の格納領域として予め複数箇所用意しても良い。
【００５６】
また、閾値変更処理部１３ｅにより変更・設定される閾値は、「Ｔｈｒｅｓｈｏｌｄ  Ｔｏｐ／Ｖａｌｌｅｙ  Ｃｏｕｎｔ」（極大・極小の閾値），「Ｔｈｒｅｓｈｏｌｄ  Ｔｏｔａｌ  Ｔｉｍｅ」（トータル時間の閾値）に格納される。
【００５７】
そして、閾値比較処理部１３ｄは、「Ｔｈｒｅｓｈｏｌｄ  Ｔｏｐ／Ｖａｌｌｅｙ  Ｃｏｕｎｔ」，「Ｔｈｒｅｓｈｏｌｄ  Ｔｏｔａｌ  Ｔｉｍｅ」に格納された閾値ならびに、「Ｔｏｐ／Ｖａｌｌｅｙ  ｄｅｔｅｃｔｅｄ  Ｃｏｕｎｔｅｒ」，「Ｔｏｔａｌ  Ｔｉｍｅ  Ｃｏｕｎｔｅｒ」に格納される現在値に従い演算部１３ａから与えられた演算結果との閾値処理をする。
【００５８】
閾値比較処理部１３ｄにより比較され求められた極大極小回数の状態は、インスタンスの「Ｓｔａｔｅ  Ｏｆ  Ｔｏｐ／Ｖａｌｌｅｙ  Ｃｏｕｎｔｅｒ」に格納されて管理され、トータル時間カウントの状態は、インスタンス「Ｓｔａｔｅ  Ｏｆ  Ｔｏｔａｌ  Ｔｉｍｅ  Ｃｏｕｎｔｅｒ」に格納されて管理される。
【００５９】
次に、上述した装置（各処理部等）の実際の動作・作用について説明する。図８は、極大・極小の総数に基づく判断を行なう機能のための事前設定・チューニングを行なうためのフローチャートである。
【００６０】
まず、極大・極小（Ｔｏｐ／Ｖａｌｌｅｙ）のどちらでカウントするかを決定する（Ｓ１１）。たとえば、あるアプリケーションにおいて１作業における温度変化が一時的に高温になり、その後下がるケースであって、かつ、作業回数に比例してこの温度変化が装置を劣化させることがある場合には、Ｔｏｐ条件とする。このＳ１１の処理ステップを
実行することにより、図６に示したインスタンスの「Ｔｏｐ／Ｖａｌｌｅｙ  Ｃｏｕｎｔ  Ｃｈｏｉｃｅ」の項目が決定される。
【００６１】
つぎに、Ｓ１１で設定した極大／極小として抽出するためのヒステリシスを決定する（Ｓ１２）。すなわち、Ｔｏｐ／Ｖａｌｌｅｙの検出感度を設定するもので、滑らかな感度で取りたい場合にはヒステリシス設定を大にし、急激な感度で取りたい場合にはヒステリシスを小にする。このヒステリシスは、アナログ値で設定するもので、チューニングしながら決定する。たとえば、１作業における温度変化でＴｏｐ回数を測定したいが極大付近でＴｏｐ値が一時的に揺れを発生し、１回の作業で５回のＴｏｐ値を検出してしまうような場合において１作業を１Ｔｏｐとしたいときにはヒステリシス設定をチューニングで大きくする。このＳ１２の処理ステップを実行することにより、図６に示したインスタンスの「Ｈｙｓｔｅｒｅｓｉｓ」の項目が決定される。
【００６２】
ついで、カウント値に対する閾値を設定する（Ｓ１３）。ここでは、警告させたい回数の閾値を設定するもので、たとえばＴｏｐ値が１００００回を越えたら警告させたい場合には、閾値として「１００００」と設定する。このＳ１３の処理ステップを実行することにより、図６に示したインスタンスの「Ｔｈｒｅｓｈｏｌｄ  Ｔｏｐ／Ｖａｌｌｅｙ  Ｃｏｕｎｔ」の項目が決定される。
【００６３】
その後、システムを稼働し（Ｓ１４）、所定のタイミングで演算結果やステータスを確認する（Ｓ１５）。本装置は、これら演算結果である「（Ｔｏｐ／Ｖａｌｌｅｙ  Ｃｏｕｎｔｅｒ：カウントしている現在値）」や閾値を超えているか否か（ステータス異常の有無）を特定する「（Ｓｔａｔｅ  ｏｆ  Ｔｏｐ／Ｖａｌｌｅｙ  Ｃｏｕｎｔｅｒ：閾値を越えているか）」に対しては、いつでも参照可能となっている。また、必要に応じて演算対象のデータや、閾値を変更する（Ｓ１６）。カウンタのリセットも可
能である。
【００６４】
図９は、極大極小カウント処理（データ変換処理含む）の具体的なアルゴリズムを示している。本実施の形態では、ディジタル信号取得、物理量データ変換、極大極小カウント処理は、割り込み発生に基づき行っている（Ｓ２１）。この割り込みは、たとえば外部からのハードウェア割込みにより開始するようにしたり、タイマ処理部１４に基づくタイマ割り込み（一定タイマのタイムアップ時にアナログ／ディジタル変換(以下Ａ／Ｄ変換という）が終了しているとみなしてデータ処理に入るやり方）で行ったり、Ａ／Ｄ変換処理終了フラグのセンシング（定期的なフラグのチェックによりＡ／Ｄ変換終了を確認後、データ処理に入るやり方）としたりするなど、各種の手段により実現できる。
【００６５】
ついで、データ取得ドライバ１１を介してハードウェア（温度センサ５）からディジタル信号を取得し、データ変換処理部１２に渡す（Ｓ２２）。データ変換処理部１２では、取得したディジタル信号をユーザが理解できる物理量データに変換し（Ｓ２３）、演算処理部１３に対して変換した物理量データを渡す（Ｓ２４）。
【００６６】
演算処理部１３は、極大極小検出／カウント条件の管理部１３ｂから、極大極小の検出条件、つまり検出対象は極大か極小かの情報を取得するとともに（Ｓ２５）、ヒステリシス設定条件を取得する（Ｓ２６）。そして、今回の現在値（Ｓ２４で取得した値）が、極大／極小を検出する条件を具備するか否か、つまり、現在値が極大（極小）であるか否かを判断する（Ｓ２７）。
【００６７】
このヒステリシスによる検出は、今回取得したディジタル信号の現在値が、基準値に対してヒ
ステリシス設定幅よりも大きい場合に増加傾向と判断し、次回の値取得時から極大検出処理を行う。この極大検出処理は、今回取得したアナログの現在値が極大検出後、ヒステリシス設定幅より下がっている場合には減少傾向と判断し、極大検出処理開始後にヒステリシス設定値より下がったら極大と判断する。なお、極小検出はその逆である。
【００６８】
基準値とそれに基づく判断処理につき、図１０に示すようなディジタル信号の推移に基づいて説明する。この例では、タイマ起動により一定間隔ごとに現在値を取得し、判断するようになっており、まず（１）から測定開始をしたとすると、そのときの値が基準値となる。次に（２）のときの現在値と基準値（１）とを比較すると、ヒステリシス値Ｈｙｓ以上変化がないので、増加傾向ではないと判断される。よって基準値は（１）の時の値のままである。次に（３）の時に取得した現在値と基準値とを比較すると、基準値からＨｙｓ以上になったので増加傾向と判断し、基準値を現在値の（３）に設定する。
【００６９】
（４）の時に取得した現在値は、基準値（３）よりも上昇しているため、増加傾向のまま上がり続けているので、極大検出をせず、基準値を（３）→（４）に切り替える。同様に（５）の時も増加傾向のまま上がり続けているため、極大検出をせず、基準値を（４）→（５）に切り替える。
【００７０】
次に、（６）の時に取得した現在値は、基準値（５）よりも小さく下がり始めたので減少傾向と判断する。しかし、ヒステリシス値Ｈｙｓ以上の変化は無いのでそこで処理をスキップし、次の現在値の取得を待つ。よって、基準値は（５）のままとなる。（７）の時も同様で減少傾向ではあるが、ヒステリシス値Ｈｙｓ以上の変化は無いので基準値は（５）のままとなる。そして、（８）の時に取得した現在値は、下がり初めてからＨｙｓ以上の下がり幅（対基準値（５））になったので、ここで極大を検出し、今回の極大検出処理を終了する。なお、基準値は（８）の時の現在値に変更する。
【００７１】
上記の検出アルゴリズムに従い、Ｓ２４で取得した今回の現在値が極大／極小でない場合には、今回の現在値に伴う処理は終了するので、次の割り込みが発生するのを待つ。一方、今回取得した現在値が極大／極小と判断した場合には、Ｔｏｐ／Ｖａｌｌｅｙ  Ｃｏｕｎｔｅｒを１カウント（インクリメント）する（Ｓ２８）。このカウンタ値（極大／極小の総数）は、演算部１３ａが保持するとともに、次段の閾値比較処理部１３ｄに渡される。
【００７２】
ついで、閾値比較処理部１３ｄが、不揮発性メモリ１０ａに格納された閾値を読み出すとともに、Ｓ２８の実行により演算部１３ａで求めたカウンタ値と閾値とを比較し（Ｓ２９）、カウンタ値演算結果が閾値よりも大きいか否かを判断する（Ｓ３０）。そして、Ｓ３０の分岐判断による結果が、カウンタ値が閾値よりも大きいと、ステータスをＯＮにし（Ｓ３１）、小さいとステータスをＯＦＦにする（Ｓ３２）。これらのステータスのＯＮ／ＯＦＦも不揮発性メモリ１０ａに格納される。
【００７３】
上記のステータスの格納により、１つの演算についての一連の処理は終了する。ただし、係る図９に示した内部処理フローは、１つの演算についてのフローであるため、複数ある場合には、演算処理１の終了後に次の演算処理２を開始し、同様の処理を行う。
【００７４】
また、図９に示した処理フローのうち、演算処理部１３の内部処理に着目すると、図１１に示すようになる。各処理ステップを実行した場合の不揮発性メモリ・バッファへのデータの読み書きも合わせて示している。
【００７５】
図８のＳ１５，Ｓ１６の具体的な処理は、図１２に示すフローにより行われる。すなわち、Ｓ１５のカウント値やステータスの確認処理ステップは、図１２に示すように、ユーザ（外部）から現在値読み出し命令が与えられる。このとき、カウント値とステータスの少なくとも一方が読み出し対象として指定されるので、指定された対象のものを不揮発性メモリ１０ａから読み出して出力する。
【００７６】
一方、Ｓ１６の条件や閾値の変更処理ステップは、図１２に示すように関連パラメータの変更の依頼（図４における通信データ処理部を介して与えられる変更依頼）を受け付けると、受け付けた対象（カウント条件，ヒステリシス，カウンタリセット，閾値）を認識し、対応する不揮発性メモリ１０ａの記憶エリアに対して変更後のデータを書き換える。もちろん、図示はしていないが、変更内容に応じて、極大極小検出／カウント条件の管理部１３ｂ，閾値変更処理部１３ｅが保有する情報の更新も行う。
【００７７】
次に、トータル時間の処理について説明する。図１３は、条件を具備する期間のトータル時間に基づく判断を行なう機能のための事前設定・チューニングを行なうためのフローチャートである。
【００７８】
まず、カウントさせたい条件を決定する（Ｓ４１）。すなわち、ある範囲となったら時間カウントさせたい温度範囲をまず決める。その際パラメータとして、
・ある温度以上を時間カウントさせるか
・ある温度以下で時間カウントさせるか
・ある温度以上、ある温度以下の範囲でカウントさせるか
の３要件を設定する。
【００７９】
本実施の形態では、閾値を４パターン（ＨＨ、Ｈ、Ｌ、ＬＬレベル）用意しているので、たとえば  Ｈ：１０００℃    Ｈ：８００℃    Ｌ：５００℃  ＬＬ：２００℃と設定する。なお、条件に必要ないパラメータがあれば必ずしも設定しなくてもよい。このＳ４１の処理ステップを実行することにより、図６に示したインスタンスの「Ｔｏｔａｌ  Ｔｉｍｅ  Ｃｏｕｎｔ  ＬｅｖｅｌのＨＨ  ｖａｌｕｅ，Ｈ  Ｖａｌｕｅ，Ｌ  ｖａｌｕｅ，ＬＬ  Ｖａｌｕｅ」の項目が決定される。
【００８０】
つぎに、カウントさせたい条件を決定する（Ｓ４２）。すなわち、上記で設定した温度範囲のうち、
・ＨＨ以上でカウント          設定「０」
・Ｈ〜ＨＨの範囲でカウント    設定「１」
・Ｌ〜Ｈの間でカウント        設定「２」
・ＬＬ〜Ｌの間でカウント      設定「３」
・ＬＬ以下でカウント          設定「４」
のいずれかを設定する。
【００８１】
たとえば、５００℃〜８００℃の範囲内で入力している時にカウント希望の場合には「２」を選択し、２００℃以下になった時カウント希望の場合には「４」を選択する。このＳ４２の処理ステップを実行することにより、図６に示したインスタンスの「Ｔｏｔａｌ  Ｔｉｍｅ  Ｃｏｕｎｔ  Ｃｈｏｉｃｅ」の項目が決定される。なお、上記の指定により設定される温度範囲は、いずれも境界点を含む（Ａ以上，Ｂ以下の範囲）としたが、一方を含まない（Ａ以上Ｂ未満等）ようにしてもよい。
【００８２】
つぎに、カウントする時間単位を決定する（Ｓ４３）。すなわち、たとえば「秒」単位などの時間単位を設定するので、このＳ４３の処理ステップを実行することにより、図６に示したインスタンスの「ＵＮＩＴ  ｏｆ  Ｔｏｔａｌ  Ｔｉｍｅ」の項目が決定される。
【００８３】
ついで、カウント値に対する閾値を設定する（Ｓ４４）。ここでは、警告させたい結果の閾値を設定するもので、たとえば、設定範囲内に入っているトータルタイムが５００００秒を越えたら警告させたい場合には、閾値は「５００００」とする。このＳ４４の処理ステップを実行することにより、図６に示したインスタンスの「Ｔｈｒｅｓｈｏｌｄ  Ｔｏｔａｌ  Ｔｉｍｅ」の項目が決定される。
【００８４】
その後、システムを稼働し（Ｓ４５）、所定のタイミングでカウント値（トータル時間）やステータスを確認する（Ｓ４６）。本装置は、演算結果である「Ｔｏｔａｌ  Ｔｉｍｅ  Ｃｏｕｎｔｅｒ」や閾値を超えているか否か（ステータス異常の有無）を特定する「（Ｓｔａｔｅ  ｏｆ  Ｔｏｔａｌ  Ｔｉｍｅ  Ｃｏｕｎｔｅｒ」に対しては、いつでも参照可能となっている。また、必要に応じて演算対象のデータを特定する指定先や、閾値を変更する（Ｓ４７）。
【００８５】
図１４，図１５は、トータル時間カウント処理の具体的なアルゴリズ
ムを示している。本実施の形態では、トータル時間カウント処理は、割り込み発生に基づき行っている（Ｓ５１）。この割り込みは、極大極小カウント処理におけるＳ２１と同じである。
【００８６】
ついで、ディジタル信号（温度）の現在値を取得する（Ｓ５２）。すなわち、データ取得ドライバ１１を介してハードウェア（温度センサ５）からアナログデータを取得し、Ａ／Ｄ変換後データ変換処理部１２に渡し、データ変換処理部１２では、取得したディジタル信号をユー
ザが理解できる物理量データに変換し、その変換したデータを演算処理部１３が取得する。
【００８７】
演算処理部１３は、極大極小検出／カウント条件の管理部１３ｂから、トータル時間のカウント条件、つまりトータル時間をカウントする温度範囲の条件を取得する（Ｓ５３）。そして、今回の現在値（Ｓ５２で取得した値）に従い、条件別カウント処理を行なう（Ｓ５４）。
【００８８】
すなわち、図１５に示すように、温度範囲の条件がＨＨ以上の場合であれば、図６のインスタンスのＨＨ  Ｖａｌｕｅの値を取り込むとともに（Ｓ６１）、現在値がＨＨ  Ｖａｌｕｅ以上の場合に、図６のインスタンスのＴｏｔａｌ  Ｔｉｍｅ  Ｃｏｕｎｔｅｒを１カウントアップする（Ｓ６２）。Ｓ５１の割り込み処理がタイマなどにより一定時間間隔で発生するように設定すると、このカウントした値に一定時間間隔を掛けることによりトータル時間が求められる。もちろん、後述する閾値もこのカウンタの値に基づいて設定するため、ステータスを求めるアルゴリズムにおいては、人間が容易に認識できるトータル時間に変換する必要はなく、ここではカウント値に基づいて処理が行なわれる。
【００８９】
また、温度範囲の条件が、Ｈ以上ＨＨ以下の場合には、図６のインスタンスのＨＨ  ＶａｌｕｅとＨ  Ｖｌａｕｅの値を取り込むとともに（Ｓ６３，Ｓ６４）、現在値がＨ  Ｖａｌｕｅ以上Ｈ  Ｖａｌｕｅ以下の場合に、図６のインスタンスのＴｏｔａｌ  Ｔｉｍｅ  Ｃｏｕｎｔｅｒを１カウントアップする（Ｓ６５）。以下同様に、温度範囲の条件を規定する境界の値をインスタンスのＴｏｔａｌ  Ｔｉｍｅ  Ｃｏｕｎｔ  Ｌｅｖｅｌの該当箇所から取得し、現在値が温度範囲内に入っているか否かを判断し、入っている場合にカウンタを１インクリメントする（Ｓ６６から７３）。そして、このＴｏｔａｌ  Ｔｉｍｅ  Ｃｏｕｎｔｅｒのカウンタ値（トータル時間）は、演算部１３ａが保持するとともに、不揮発性メモリのインスタンスにも格納され、次段の閾値比較処理部１３ｄに渡される。
【００９０】
ついで、閾値比較処理部１３ｄが、不揮発性メモリ１０ａに格納された閾値を読み出すとともに、Ｓ５４の条件別カウント処理の実行により演算部１３ａで求めたカウンタ値と閾値とを比較し（Ｓ５５）、カウンタ値が閾値よりも大きいか否かを判断する（Ｓ５６）。そして、Ｓ５６の分岐判断による結果が、カウンタ値が閾値よりも大きいと、ステータスをＯＮにし（Ｓ５７）、小さいとステータスをＯＦＦにする（Ｓ５８）。これらのステータスのＯＮ／ＯＦＦも不揮発性メモリ１０ａに格納される。
【００９１】
上記のステータスの格納により、１つの演算についての一連の処理は終了する。ただし、係る図１４，図１５に示した処理フローは、１つの演算についてのフローであるため、複数ある場合には、演算処理１の終了後に次の演算処理２を開始し、同様の処理を行う。
【００９２】
また、図１４，図１５に示した処理フローのうち、演算処理部１３の内部処理に着目すると、図１６に示すようになる。各処理ステップを実行した場合の不揮発性メモリ・バッファへのデータの読み書きも合わせて示している。
【００９３】
図１３のＳ４６，Ｓ４７の具体的な処理は、図１７に示すフローにより行われる。すなわち、Ｓ４６のカウント値やステータスの確認処理ステップは、図１７に示すように、ユーザ（外部）から現在値読み出し命令が与えられる。このとき、カウント値とステータスの少なくとも一方が読み出し対象として指定されるので、指定された対象のものを不揮発性メモリ１０ａから読み出して出力する。
【００９４】
一方、Ｓ４７の条件や閾値の変更処理ステップは、図１７に示すように関連パラメータの変更の依頼（図４における通信データ処理部を介して与えられる変更依頼）を受け付けると、受け付けた対象（条件温度，カウント条件，カウンタリセット，閾値）を認識し、対応する不揮発性メモリ１０ａの記憶エリアに対して変更後のデータを書き換える。もちろん、図示はしていないが、変更内容に応じて、極大極小検出／カウント条件の管理部１３ｂ，閾値変更処理部１３ｅが保有する情報の更新も行う。
【００９５】
上述した実施の形態では、いずれもアナログ機器として温度センサを用い、アナログデータは温度であるが、本発明はこれに限ることはなく、周波数その他各種のアナログデータ（異常等に伴い変化するものがよい）を用いることができる。
【図面の簡単な説明】
【００９６】
【図１】本発明に係る監視システムの一実施の形態を示す図である。
【図２】入力データの推移と、検出条件の関係を説明する図である。
【図３】本発明に係るスレーブのネットワークシステムの一例を示す図である。
【図４】主に演算処理部１３の内部構造を示す図である。
【図５】極大極小を求める際のヒステリシスを説明する図である。
【図６】不揮発性メモリに格納されるデータ演算用インスタンスのデータ構造の一例を示す図である。
【図７】トータル時間カウントの条件（温度範囲）を説明する図である。
【図８】極大極小を求める場合の事前設定・チューニングの機能を示すフローチャートである。
【図９】極大極小の回数を求める処理機能を示すフローチャートである。
【図１０】ヒステリシスを用いた極大極小を決定するアルゴリズムを説明する図である。
【図１１】極大極小を求める機能の内部処理を示すフローチャートである。
【図１２】チューニングならびにデータ読み出しの機能を示すフローチャートである。
【図１３】トータル時間カウントを求める場合の事前設定・チューニングの機能を示すフローチャートである。
【図１４】トータル時間カウントを求める処理機能を示すフローチャートである。
【図１５】条件別カウント処理（Ｓ５４）の具体的な処理アルゴリズムを説明するフローチャートである
【図１６】トータル時間カウントを求める機能の内部処理を示すフローチャートである。
【図１７】チューニングならびにデータ読み出しの機能を示すフローチャートである。
【符号の説明】
【００９７】
１  ＰＬＣ
２  マスタユニット
３  フィールドネットワーク
５  温度センサ
６  制御対象
７  管理コンピュータ
１０  スレーブ
１１  データ取得ドライバ
１２  データ変換処理部
１３  演算処理部
１３ａ  演算部
１３ｂ  極大極小検出／カウント条件の管理部
１３ｄ  閾値比較処理部
１３ｅ  閾値変更処理部
１３ｆ  ステータス通知処理部
１４  タイマ処理部
１５  ステータス管理部
１６  通信ドライバ
１７  通信データ処理部
１８  ハードウェア処理部
１９  メイン処理部
【図１】
2005302006.tif 000003
【図２】
2005302006.tif 000004
【図３】
2005302006.tif 000005
【図４】
2005302006.tif 000006
【図５】
2005302006.tif 000007
【図６】
2005302006.tif 000008
【図７】
2005302006.tif 000009
【図８】
2005302006.tif 000010
【図９】
2005302006.tif 000011
【図１０】
2005302006.tif 000012
【図１１】
2005302006.tif 000013
【図１２】
2005302006.tif 000014
【図１３】
2005302006.tif 000015
【図１４】
2005302006.tif 000016
【図１５】
2005302006.tif 000017
【図１６】
2005302006.tif 000018
【図１７】
2005302006.tif 000019