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