ところで、最近のネットワークシステムでは、現在の制御内容を管理したりモニタすることに加えて、いわゆる保守情報やシステム状態情報、メンテナンス情報などの非制御情報を適宜に監視したりモニタしたい要求が高まってきている。従来のネットワークシステムでは、リモートI/Oを含む入力データおよび出力データがPLCのメモリに存在するので、保守情報はすべてPLC側でプログラムを組んで取得するようにしていた。例えば、スレーブに接続される機器の動作時間やI/O情報が違う状態に変化するまでに要した時間を計測することにより求めることができる。係る処理を行うためには、その計測を行うようなユーザプログラムを使用者が作成し、PLCのCPUユニットでそのプログラムを実行処理することになる。
しかし、このようにPLC側で保守情報を得ようとすると、2つ問題点が生じる。第1は、PLCのプログラム実行処理の負荷が増えてしまう。これは保守系の情報取得のためのプログラム実行の負担が生じるからである。第2は、マスタとスレーブとの通信負荷が増えてしまう。これは、常に最新の情報をスレーブから得る必要があるので、PLCのマスタとスレーブとの通信処理のなかで、I/Oデータとしての制御情報に加えて、保守情報に関する基礎データも通信する必要が生じる。こうすると通信情報量が増えることになり、通信処理時間が増えて、マスタとスレーブ間の通信サイクルが長くなってしまう。
そこで、本発明は、保守系の情報を得る場合に、PLC側の制御系に影響を少なくすることを目的とする。より具体的には、保守情報などの非制御データをスレーブで確保し、スレーブにて物理量(時間,電圧,回数など)を計測し、その結果をネットワークを介してモニタできるようにして、従来に比べてPLC側の制御負荷を減らすとともにモニタの利便性を向上することを目的とする。
次に、さらに具体的なネットワークシステムを図を用いて説明しながら、追加の目的の補足説明を以下で行う。図1に示すように、PLCユニット1と通信機能を備えたマスタユニット2を一体化するとともに、そのマスタユニット2を制御系データを送受するためのフィールドネットワーク3に接続する。また、このフィールドネットワーク3には、複数のスレーブ4a,4b,4cが接続される。
そして、各スレーブ4a,4b,4cには、センサ等の入力機器5aや、バルブ,モータ等の出力機器5bが接続される。なお、図示の例では、スレーブ4aは、入力機器5aのみが接続されているためINスレーブとも称され、スレーブ4bは、出力機器5bのみが接続されているためOUTスレーブとも称され、スレーブ4cは、入力機器5aと出力機器5bが接続されているためMixスレーブとも称されることがある。なお、以下の説明で、特に区別をする必要がない場合に、単にスレーブと称するとともに符号「4」を付す。また、入力機器5aと出力機器5bを区別する必要がない場合には単に機器と称するとともに、符号「5」を付す。
係る構成のネットワークシステムでは、ネットワーク電源装置6を設置し、そのネットワーク電源装置6からフィールドネットワーク3を経由して複数のスレーブ4に対して電源が供給される。そして、各スレーブ4に接続された機器5に対する電源供給は、上記したネットワーク電源装置6からスレーブ4に対して供給される電源を利用し、スレーブ4を経由して供給されるようにしてもよい。
また、各種機器5に対する電源供給源は、上記したネットワーク電源装置6に限ることはなく、例えば、別途設けた入出力機器電源装置7を用いるものもある。すなわち、入出力機器電源装置7の電源出力を各スレーブ4に与え、そのスレーブ4を経由して機器5に電源供給する。なお、この場合の入出力機器電源装置7は、機器5のための電源であり、スレーブ4に対する電源供給は、ネットワーク電源装置6から行われる。
ところで、上記したネットワーク電源装置6から各スレーブ4に対する電源供給を考えると、各スレーブ4に対してはフィールドネットワーク3を経由して行われるが、係るネットワークを構成するケーブルの抵抗値はゼロではないので、そのフィールドネットワーク3にて電圧降下が生じる。そのため、実際にスレーブ4にかかる電圧は、ネットワーク電源装置6における出力電圧から電圧降下が生じる。従って、ネットワーク電源装置6から離れているスレーブ4に対しては電圧降下が大きくなり、スレーブ4内の送受信回路チップや、スレーブのMPU等で規定を満足する適正な電源電圧が得られないおそれがある。
そこで、このシステムを正常に動作させるためには、例えば、フィールドネットワーク3に用いるケーブルの長さに制限を設けることもできるが、スレーブ4に接続する機器5がONすること等に伴う電圧降下までを想定してケーブル長さを決定することはできない。また、十分なマージンを採ってケーブルの長さを決定してしまうと、FAシステムを構築する現場で、ケーブルの長さが足りずに配線ができなくなるおそれも生じる。
そこで、このFAシステムを正常に動作させるためには、実際に現場でシステムを構築するとともに、各スレーブ4に供給される電源電圧が規格を満足する適正な電圧であることを確認する必要がある。しかし、この電源電圧が適正であるかを確認するためには、作業員が現場に行き、各スレーブの電源電圧を電圧計等を用いて直接測定する以外に方法はなかった。従って、係る作業は非常に時間がかかるばかりでなく、スレーブの設置箇所が装置の裏側などの測定しにくい場所の場合もあり、煩雑である。
また、各スレーブでの電源電圧の電圧値をモニタする手段はなかった。このため、稼動中に電圧降下により、スレーブと通信できなくなって初めてその異常に気が付くという不都合もあった。
なお、機器5の電源供給源が入出力機器電源装置7の場合も、上記したものと同様の問題を生じる。つまり、入出力機器電源装置7の電源の供給状態を上位局であるPLC1やマスタユニット2、さらには、後述するモニタ装置やコンフィグレータで知ることができないという問題があった。さらに、上位局であるマスタユニット2ひいてはPLCユニット1では、以下に示す問題も生じていた。
スレーブ4からフィールドネットワーク3を介して受信した当該スレーブ4に接続された入力機器5aからの入力信号に対応するビットデータが0である場合に、実際に当該入力機器5aがOFF動作して入力信号が0データなのか、入力機器5aへの供給電源がなくて機器自体が動作不能になりニュートラルの動作として入力信号が0データなのかを判別することができなかった。
フィールドネットワーク3を介してスレーブ4に送信した出力機器5bへの出力信号に対応するビットデータが0である場合に、実際に当該出力機器5bへの出力信号がOFF動作として0データが出力されていて出力機器5bが停止しているのか、出力機器5bへの供給電源がないので出力機器5b自体が動作不能であるのかを判別することができない。そのために、システムの信頼性が低下するという問題があった。
さらに、上記した問題を解決するために、例えば、マスタユニット2,PLCユニット1から、定期的にスレーブ4に対してメッセージを送り、スレーブ4からのレスポンスの有無などを判断することにより、正常な電源供給を受けているか否かの判断をすることができる。しかし、係る処理を行うためには、メッセージ送信並びにレスポンス受信に伴う判定処理をPLCで行うことになり、本来の機器5の制御に影響を与えるという問題も生じる。そこで、本発明では、リモートI/Oのスレーブ側の供給電源を保守情報として得る場合に、PLC側の制御系に影響を少なくすることを目的とする。
一方、別の具体的なシステム構成としては、図2に示すようなものがある。すなわち、PLCユニット1と、通信機能を備えたマスタユニット2を一体化するとともに、そのマスタユニット2をフィールドネットワーク3に接続する。また、このフィールドネットワーク3には、OUTスレーブ4bやINスレーブ4aが接続される。係る基本的なネットワーク構成は、図1に示すものと同様である。
そして、この例では、OUTスレーブ4bには、出力機器5bとしてのアクチュエータ8が接続されている。このアクチュエータ8は、PLCユニット1からの制御命令(ON信号)を受けたOUTスレーブ4bが、アクチュエータ8が接続されているI/O端子(OUT端子)をONにすることにより、移動体8aが前進移動する。
一方、INスレーブ4aには、入力機器5aとしてのセンサ9が接続されており、このセンサ9にてアクチュエータ8の動作を監視している。つまり、アクチュエータ8内の移動体8aが所定位置(図中点線で示す位置)まで移動してくると、その移動体8aをセンサ9が検出し、検出信号を出力するようになっている。
その検出信号がINスレーブ4aに与えられるので、INスレーブ4aがPLCユニット1に向けて検出信号を受信したこと(所定のI/O端子(IN端子)がONになったこと:動作完了通知)を出力する。これにより、PLCユニット1は、アクチュエータ8が所定量移動したことが分かるので、OUTスレーブ4bに対して停止命令(原点復帰命令)を送る。
そして、上記処理を実際に行うには、各スレーブ4a,4bは、マスタユニット2との間でマスタ−スレーブ間通信を行い、上記した各信号(データ)の送受を行う。従って、PLCユニット1は、係るマスタユニット2を経由して各スレーブ4a,4bと通信することになる。
さらに、PLCユニット1は、ユーザプログラムに従ってサイクリックに処理を実行し、1回のサイクル毎にIN/OUTのリフレッシュ処理が行われ、そのときに、OUTスレーブ4bに向けて信号を出力したり、INスレーブ4aからの信号を受信したりする。一方、マスタ−スレーブ間通信では、上記したPLCユニット1側でのサイクリック処理とは非同期で、自己のタイミング(通信サイクル)で所定のスレーブとの間で通信を行うようにしている。
ところで、アクチュエータ8の動作時間、つまり、移動体8aが移動している時間を監視したいと言う要求がある。これは、例えば動作時間と基準時間とを比較し、アクチュエータ8が正常か否かの判断や、アクチュエータの動作劣化による寿命判断をすることに使えるためである。しかし、従来はPLCユニット1側で、スレーブ4a,4bから取得したON/OFF情報に基づいて時間を計測する必要があり、係る監視のためのプログラムを生成し、PLCユニット1のユーザプログラムに組み込んで実行することになる。つまり、PLCユニット1がOUTスレーブ4bに向けて動作命令(ON信号)を出力した時からタイマをスタートし、INスレーブ4aからのIN端子のON信号(動作完了通知)を受信したときに、タイマをストップさせる。これにより、タイマの値を取得すると、動作時間が分かる。
しかしながら、係る方式では、保守情報としての動作時間情報を得るために、PLC側で本来の機器制御処理に加えて動作時間計測処理をする必要が生じる。また、同様のことは、入力機器の動作時間の監視の場合にも言える。すなわち、例えばある装置の状態を監視する2つの入力機器(センサ)が存在する場合に、その装置がある状態になったことを一方のセンサで検知した後、他方のセンサで当該装置が別のある状態になったことを検知するまでの時間(動作時間)を監視することにより、装置が正常に動作しているか否かの判断等が行える。
しかし、FAシステム全体の制御のためにPLCユニット1側でサイクリックで行う演算処理中に、上記のような動作時間を求める演算処理を追加して行うのは、高速な制御を行う上で障害となる。しかも、処理対象となる機器が増えるほど、PLCユニット1側で動作時間を算出するために必要な処理が多くなるので、PLC側の処理付加が増えるという問題を生じる。つまり、上記したようにPLCユニット1にて、サイクリックに毎回演算処理をして動作時間を求めることになり、無駄な処理を行うことになる。
そこで、本発明では、PLC側の制御系に影響なしに、保守情報として機器の動作時間を得ることを目的とする。具体的には、スレーブ側で、スレーブに接続される出力機器及び又は入力機器の動作時間,待機時間等の動作に基づく時間を精度良く測定することができることを他の目的とする。
上記した目的を達成するため、本発明に係るスレーブは、制御機器を制御するためのユーザプログラムを実行するプログラマブルコントローラと、プログラマブルコントローラに接続され、通信機能を備えたマスタユニットと、制御機器が接続され、マスタユニットとの間でネットワークを介してINデータまたはOUTデータをシリアル通信する複数のスレーブと、を含むネットワークシステムにおけるスレーブであって、ネットワークを介して供給されるネットワーク電源により動作するものであって、そのネットワーク電源の供給電圧を計測する電圧監視手段と、その電圧監視手段で計測した計測値と基準値とを比較判断する判断手段と、その判断手段で求めた判断結果をネットワークを介してマスタユニットへ出力する通信制御手段と、を備えた構成を前提とする。
係る発明を前提とし、ネットワーク電源の供給電圧がスレーブ自身の動作不能になる電圧であった場合に、異常で警報が必要な状態であったことを記憶する記憶部を有するようにしたり、ネットワーク電源の供給電圧が、スレーブ自身の動作不能になる電圧と、スレーブ自身の動作はするが動作不能になりそうであるか否かの判断基準となる基準値を記憶する監視電圧記憶手段と、前記判断手段が比較判断するための基準値を、監視電圧記憶手段が記憶するいずれかの電圧の値としたりすると良い。
また、制御機器を制御するためのユーザプログラムを実行するプログラマブルコントローラと、プログラマブルコントローラに接続され、通信機能を備えたマスタユニットと、制御機器が接続され、マスタユニットとの間でネットワークを介してINデータまたはOUTデータをシリアル通信する複数のスレーブと、を含むネットワークシステムにおけるスレーブであって、当該スレーブに接続されている制御機器であってINデータを取込む対象である入力機器またはOUTデータを出力する対象である出力機器のON/OFF回数を計数することにより前記入力機器または出力機器の動作回数を計数する計測手段と、その計測手段で計測した計測値と基準値とを比較判断する判断手段と、その判断手段で求めた判断結果をネットワークを介してマスタユニットへ出力する手段と、を備えて構成してもよい。
また、計測対象の物理量としては、各種のものがある。すなわち、例えば第4の実施の形態で実現されているリモート回線を経由して供給されるネットワーク電源の電圧としたり、第5の実施の形態で実現されているスレーブ経由で前記制御機器に供給される供給電圧としたり、第1から第3の実施の形態で実現されている自己或いは別のスレーブに接続された制御機器に対するI/Oデータの変更をトリガとして計時される動作時間などとすることができる。
このように、計測対象の物量は、入出力機器の動作時間や電源電圧に限ることはなく、他の物理量も対象となる。具体的には、スレーブの通電時間や動作時間がある。これは、電源がONになっている時間を積算することにより求めることができる。また、入力機器や出力機器の通電時間などでもよい。さらに、入力機器や出力機器の動作回数、つまり、ON/OFFの回数を計数するものでもよい。さらにまた、マスタとの通信エラーをした回数や通信異常が起こった回数等もある。
上記の構成によれば、計測手段によりスレーブ自身で、スレーブの通電時間や、IO通電時間や、ネットワーク電源の電圧や制御機器の動作回数を計測し、計測値を取得することができる。計測手段は、通常のリモート回線を介してコントローラ(マスタユニット)とI/Oデータを送受して行う制御系の処理とは独立して行われる。従って、制御への影響は可及的に抑制できる。また、計測手段で計測した計測値に基づく情報である保守情報等の非制御データ(非I/Oデータ)はスレーブで確保しておき、所定のタイミングで回線(ネットワーク)に出力することで、所定の送信先に通知することができる。これにより、その送信先は、計測値に基づく情報を収集できる。
なお、出力する機能の出力先は、コントローラとすることもできるし、回線に接続されたモニタ手段やスレーブとすることもできる。もちろん、これ以外でも良い。そして、コントローラは、マスタユニットやPLCなどを含む。また、モニタ手段は、モニタ装置はもちろんのことコンフィグレータなども含む。
さらに、前記出力する機能は、スレーブ内部の判断結果,電源立上げ,送信タイマなどの内部トリガに従って出力するように構成できる。もちろん、外部トリガに基づくものでも良い。
ここで、「内部トリガ」とは、スレーブ自身の所定の処理実行の結果に基づくもので、スレーブ内部で生成されるものである。そして、内部トリガの一例を示すと、以下のものがある。すなわち、スレーブで計測した計測値がしきい値に達したり、しきい値を越えたかどうかを判断すればその判断結果が生じる。その生成信号をトリガ信号として利用するものがある。また、スレーブの電源を入れて初期処理をする場合、その初期処理のなかで不揮発性メモリに記憶した情報を回線に出す処理をしたり、初期処理のなかでトリガ生成することなどもある。さらに、スレーブ内で時計を持たせておき、その時計により所定時間経過のたびに周期的にトリガ信号を生成したり、所定時刻でトリガ信号を生成するものもある。また、マスタとの通信トラフィックの状態に基づき、通信処理に余裕があるときにトリガ信号を生成したり、電圧異常などの異常になったときにトリガ信号を生成するものなどがある。
一方、「外部トリガ」とは、ネットワークを介してスレーブが受けたコマンドに基づくもので、スレーブの外で生成されるものである。そして、外部トリガの一例を示すと、マスタからスレーブへの情報要求コマンド,モニタからスレーブへの情報要求コマンド,コンフィグレータからの情報要求コマンド,ツール発信で、PLC経由やマスタ経由で送られてくるコマンドなどがある。
さらに、別のスレーブは、制御機器を制御するためのユーザプログラムを実行するプログラマブルコントローラと、プログラマブルコントローラに接続され、通信機能を備えたマスタユニットと、制御機器が接続され、マスタユニットとの間でネットワークを介してINデータまたはOUTデータをシリアル通信する複数のスレーブと、を含むネットワークシステムにおけるスレーブであって、当該スレーブに接続されている制御機器が入力機器および出力機器であり、マスタユニットとの間でシリアル通信したOUTデータにより、前記出力機器が接続されたOUT端子のONまたはOFFの状態が変更した際のスタート時間情報を取得する機能と、前記入力機器が接続されるIN端子のONまたはOFFの状態が変更した際のストップ時間情報を取得する機能と、前記スタート時間情報と前記ストップ時間情報に基づいて前記出力機器の動作時間を算出する算出機能とを備えるようにすることができる。この発明は、Mixスレーブの実施の形態に対応する。
また、別のスレーブとしては、制御機器を制御するためのユーザプログラムを実行するプログラマブルコントローラと、プログラマブルコントローラに接続され、通信機能を備えたマスタユニットと、制御機器が接続され、マスタユニットとの間でネットワークを介してINデータまたはOUTデータをシリアル通信する複数のスレーブと、を含むネットワークシステムにおけるスレーブであって、当該スレーブに接続されている制御機器が出力機器であり、マスタユニットとの間でシリアル通信したOUTデータにより、前記出力機器が接続されたOUT端子のONまたはOFFの状態が変更した際のスタート時間情報を取得する機能と、前記出力機器が所定の状態になったことを検出する入力機器が接続される他のスレーブから、前記入力機器が接続されたIN端子が変更した旨の通知を受けた際のストップ時間情報を取得する機能と、前記スタート時間情報と前記ストップ時間情報に基づいて前記出力機器の動作時間を算出する算出機能とを備えるようにすることができる。これは、図示省略したOUTスレーブの実施の形態に対応する。
更に別の形態としては、制御機器を制御するためのユーザプログラムを実行するプログラマブルコントローラと、プログラマブルコントローラに接続され、通信機能を備えたマスタユニットと、制御機器が接続され、マスタユニットとの間でネットワークを介してINデータまたはOUTデータをシリアル通信する複数のスレーブと、を含むネットワークシステムにおけるスレーブであって、当該スレーブに接続されている制御機器が入力機器であり、前記出力機器が接続された他のスレーブから、その出力機器を接続するOUT端子のONまたはOFFの状態が変更した旨の通知を受けた際のスタート時間情報を取得する機能と、前記入力機器が接続されるIN端子のONまたはOFFの状態が変更した際のストップ時間情報を取得する機能と、前記スタート時間情報と前記ストップ時間情報に基づいて前記出力機器の動作時間を算出する算出機能とを備えるようにすることができる。これは、INスレーブの実施の形態により実現される。
また、「ONまたはOFFの状態が変化した」とは、「OFFからONに変わる場合と、ONからOFFに変わる場合」がある。換言すると、信号の立ち上がり或いは立ち下がりがあると、変化したことに該当する。なお、厳密に言うと、信号がONになったことと、信号の立ち上がりを検知することは、必ずしも同じ意味ではない。すなわち、基準状態(定常状態)での値がHigh/Lowにより逆になるのはもちろんのこと、例えば、単発のONパルス(L→H→L)が発生した場合に、この短時間でL→H→Lと変化する一連の信号を1つのON信号ととらえると、LowからHighになる立ち上がりを検知しても良いし、HighからLowになる立ち下がりを検知しても良い(いずれの場合もONになったと判定する)。一方、単発のONパルスに対し、信号がONした後すぐにOFFしたととらえた場合には、OFF状態がLowとすると信号がONになることと信号が立ち上がることは同意である。信号がOFFになることと信号が立ち下がることの関係についても同様である。
従って、信号のON,OFFに着目すると、「OUT端子がONしてからIN端子がONするまでの時間」,「OUT端子がONしてからIN端子がOFFするまでの時間」,「OUT端子がOFFしてからIN端子がONするまでの時間」,「OUT端子がOFFしてからIN端子がOFFするまでの時間」の4種類のパターンがあり得る。上記したパターン分けは、パルスの立ち上がりと立ち下がりに着目した場合に、例えばONを立ち上がりに置き換え、OFFを立ち下がりに置き換えることにより同様のことが言える。なお、以下の説明においては、理解の便宜上、端子がONになることと立ち上がることは同じ意味として使用し、端子がOFFになることと立ち下がることは同じ意味として使用する。
なお、実際の各時間情報は、内蔵するタイマ,カウンタ,時計などの時間を計ることのできる計時手段から取得する。つまり、時刻情報のように絶対的な情報も有れば、タイマ値,カウンタ値のように相対的な情報もある。時刻情報で有れば、スタート時刻とストップ時刻の差を求めることにより、動作時間が求められる。また、カウンタ値などの場合には、スタート時のカウンタ値とストップ時のカウンタ値の差分を求めることにより、動作時間を求めることができる。この場合に、カウンタ値の差分のままでも良いし、カウンタ値が1進むために要する時間を掛けることにより、何秒等というように具体的な時間情報を得ることもできる。また、スター時にタイマ,カウンタを「0」にリセットした後、計時開始し、ストップ時に係る計時を停止するというようにストップウォッチのような機能を持たせてもよい。このようにすると、スタート時の「0」との差分、つまり、停止したときの値がそのまま動作時間となるので、演算処理が不要になる。
このように、時間情報を取得するとは、具体的な時刻やカウンタ値を取得することに限ることはなく、「0」にセットする行為等も含む概念である。すなわち、係る行為も、間接的に「スタート時間は0である」という情報を取得するものである。また、上記した説明から明らかであるが、動作時間も、具体的に「何秒」と言うような絶対的な単位系のものはもちろんのこと、カウンタ値のように時間と相関のあるものも含む概念である。
さらに、取得する契機(トリガ)は、所定の端子が「OFFからON」或いは「ONからOFF」になることである。係るトリガの有無の判断は、係る端子を自己が保有している場合にはその端子のON/OFFを監視したり、その端子へ命令(ON/OFFに変更する命令)が出力されたことに基づき直接検出することができる。また、当該端子が他のスレーブに設けられている場合には、係るスレーブからの通知に従って変わったことを認識することができる。
さらに、ノードがマスタの場合、入力機器や出力機器が接続されたスレーブから所定の端子が変更したことの通知を受けるようにしても良いが、出力機器が接続されたスレーブに対してOUTデータを送信するため、その送信出力を持ってOUT端子が変更したとみなし、そのときスタート時間情報を取得するようにしてもよい。
また、出力機器は実施の形態ではアクチュエータ14に対応し、入力機器は実施の形態ではセンサ15,15′に対応する。そして、入力機器が検出する出力機器の所定の状態とは、例えば、所定の動作が完了したことであり、実施の形態では、移動体14aが所定位置まで移動してきたことである。
上記した各構成において、特に、出力機器と入力機器が接続されたスレーブの場合、OUT端子,IN端子が変更したことを直接認識できるので、通信サイクルなどの影響を受けず、高精度に動作時間を求めることができる。各機能は、実施の形態では、MPUに組み込まれたアプリケーションプログラムにより実現されている。
そして、上記した各スレーブを前提とし、前記出力機器や入力機器の正常範囲を特定するための設定情報を記憶保持し、前記求めた動作時間と前記設定情報を比較する比較手段を備えるとよい。本発明によれば、動作時間を比較的精度よく求めることができるので、設定情報と比較することより、出力機器や入力機器が正常か否かや交換時期が近づいているなどの判定をすることができる。
一方、上記した各構成は、いずれも出力機器の動作に着目したもの(監視対象は出力機器)であるが、入力機器の動作に基づく時間を検出するものも適用できる。
すなわち、スレーブに関する発明としては、制御機器を制御するためのユーザプログラムを実行するプログラマブルコントローラと、プログラマブルコントローラに接続され、通信機能を備えたマスタユニットと、制御機器が接続され、マスタユニットとの間でネットワークを介してINデータをシリアル通信する複数のスレーブと、を含むネットワークシステムにおけるスレーブであって、接続されている制御機器が、装置の状態を検出する第1,第2の入力機器であって、前記第1の入力機器が接続されたIN端子が変更した際のスタート時間情報を取得する機能と、前記第2の入力機器が接続されるIN端子が変更した際のストップ時間情報を取得する機能と、前記スタート時間情報と前記ストップ時間情報に基づいて前記装置の動作時間を算出する算出機能とを備えて構成することができる。
また、制御機器を制御するためのユーザプログラムを実行するプログラマブルコントローラと、プログラマブルコントローラに接続され、通信機能を備えたマスタユニットと、制御機器が接続され、マスタユニットとの間でネットワークを介してINデータをシリアル通信する複数のスレーブと、を含み、ある1つのスレーブには第1の入力機器が接続されていて、他のスレーブには第2の入力機器が接続されているネットワークシステムにおける前記ある1つのスレーブであって、前記第1の入力機器が接続されたIN端子が変更した際のスタート時間情報を取得する機能と、第2の入力機器が接続される他のスレーブから、前記第2の入力機器が接続されたIN端子が変更した旨の通知を受けた際のストップ時間情報を取得する機能と、前記スタート時間情報と前記ストップ時間情報に基づいて前記第1,第2の入力機器によって監視される装置の動作時間を算出する算出機能とを備えるように構成することもできる。
一方、上記とは逆に、制御機器を制御するためのユーザプログラムを実行するプログラマブルコントローラと、プログラマブルコントローラに接続され、通信機能を備えたマスタユニットと、制御機器が接続され、マスタユニットとの間でネットワークを介してINデータをシリアル通信する複数のスレーブと、を含み、ある1つのスレーブには第2の入力機器が接続されていて、他のスレーブには第1の入力機器が接続されているネットワークシステムにおける前記ある1つのスレーブであって、第1の入力機器が接続された他のスレーブから、その第1の入力機器が接続されるIN端子が変更した旨の通知を受けた際のスタート時間情報を取得する機能と、前記第2の入力機器が接続されるIN端子が変更した際のストップ時間情報を取得する機能と、前記スタート時間情報と前記ストップ時間情報に基づいて前記第1,第2の入力機器によって監視される装置の動作時間を算出する算出機能とを備えるように構成することもできる。
上記の構成によれば、スレーブ或いはノード側で内蔵する計時手段などを利用して出力機器のある動作(一時停止も含む)が開始してから、入力機器の出力が変化する(出力機器が所定の状態になる)までの時間を計測する。よって、出力機器の動作に基づく時間を正確に求めることができる。
従って、信号のON,OFFに着目すると、「IN端子がONしてからIN端子がONするまでの時間」,「IN端子がONしてからIN端子がOFFするまでの時間」,「IN端子がOFFしてからIN端子がONするまでの時間」,「IN端子がOFFしてからIN端子がOFFするまでの時間」の4種類のパターンがあり得る。上記したパターン分けは、パルスの立ち上がりと立ち下がりに着目した場合に、例えばONを立ち上がりに置き換え、OFFを立ち下がりに置き換えることにより同様のことが言える。
さらにまた、上記した2つのIN端子の変化に基づいて動作時間を求める各発明を前提とし、前記装置の正常範囲を特定するための設定情報を記憶保持し、前記求めた動作時間と前記設定情報を比較する比較手段を備えて構成するとより好ましい。さらには、所定のタイミングで、前記動作時間と前記比較手段で求めた比較結果の少なくとも一方を、ネットワークを介してマスタに通知する機能を備えることもできる。
また、処理方法としては、制御機器を制御するためのユーザプログラムを実行するプログラマブルコントローラと、プログラマブルコントローラに接続され、通信機能を備えたマスタユニットと、制御機器が接続され、マスタユニットとの間でネットワークを介して入力情報または出力情報をシリアル通信する複数のスレーブと、を含むネットワークシステムにおけるスレーブでの制御機器の動作時間を求める処理方法であって、前記マスタユニットとの間で入力情報または出力情報を通信する通信処理とは独立した処理として、前記スレーブが次の(a)から(c)を行うようにすることができる。
(a)前記制御機器が動作開始する際の開始時間情報を、前記制御機器への出力信号に基づいて取得する。
(b)前記制御機器が所定の状態になった際の経過時間情報を、前記制御機器が所定の状態になったことを検出した検出信号に基づいて取得する。
(c)前記開始時間情報と、前記経過時間情報に基づいて前記制御機器の動作時間を算出する。
上記した各発明において、装置とは実施の形態では入力機器と同一のネットワークに接続されたスレーブのOUT端子に接続された出力機器(アクチュエータ14)に対応するが、本発明はこれに限ることは無く、本発明のスレーブ等が接続されたネットワーク以外のネットワークに接続された出力機器でもよいし、ネットワークとは別の装置でも良い。
そして、監視対象の装置とは、物理的に同一と認められる1つの装置はもちろんのこと、物理的に別の複数の装置であっても、その複数の装置が協働その他関連して動作するシステムを構成する場合、係るシステムも本発明でいう装置に該当する。
さらに、所定のタイミングで、前記動作時間と前記比較手段で求めた比較結果の少なくとも一方を、ネットワークを介してマスタに通知する機能を備えるよい。係る機能を実行することにより、マスタひいてはPLCや上位コンピュータなどに動作時間等を通知することにより、警報を発したりすること等ができる。
なお、コンフィグレータは、制御機器を制御するためのユーザプログラムを実行するプログラマブルコントローラと、プログラマブルコントローラに接続され、通信機能を備えたマスタユニットと、制御機器が接続され、マスタユニットとの間でネットワークを介してINデータまたはOUTデータをシリアル通信する複数のスレーブと、マスタユニットとスレーブとの間のネットワークに接続されるネットワークコンフィグレータと、を含むネットワークシステムにおけるネットワークコンフィグレータであって、前記ネットワークに接続されたスレーブに取りつけられた出力機器が接続されたOUT端子が変更した際のスタート時間情報を取得する機能と、前記出力機器が所定の状態になったことを検出する入力機器が接続されるスレーブから、その入力機器が接続されたIN端子が変更した旨の通知を受けた際のストップ時間情報を取得する機能と、前記スタート時間情報と前記ストップ時間情報に基づいて前記出力機器の動作時間を算出する算出機能とを備えて構成される。
さらにまた、コンフィグレータの別の解決手段としては、制御機器を制御するためのユーザプログラムを実行するプログラマブルコントローラと、プログラマブルコントローラに接続され、通信機能を備えたマスタユニットと、制御機器が接続され、マスタユニットとの間でネットワークを介してINデータまたはOUTデータをシリアル通信する複数のスレーブと、マスタユニットとスレーブとの間のネットワークに接続されるネットワークコンフィグレータと、を含むネットワークシステムにおけるネットワークコンフィグレータであって、前記ネットワークに接続されたスレーブに取りつけられた第1の入力機器が接続されたIN端子が変更した際のスタート時間情報を取得する機能と、第2の入力機器が接続されるスレーブから、その第2の入力機器が接続されたIN端子が変更した旨の通知を受けた際のストップ時間情報を取得する機能と、前記スタート時間情報と前記ストップ時間情報に基づいて前記出力機器の動作時間を算出する算出機能とを備えることができる。
さらにまた、ネットワーク電源モニタシステムでは、制御機器を制御するためのユーザプログラムを実行するプログラマブルコントローラと、プログラマブルコントローラに接続され、通信機能を備えたマスタユニットと、制御機器が接続され、マスタユニットとの間でネットワークを介してINデータまたはOUTデータをシリアル通信する複数のスレーブと、マスタユニットとスレーブとの間のネットワークに接続されるネットワークコンフィグレータと、ネットワーク電源装置と、を含み、上記ネットワーク電源装置から上記ネットワークを通じて上記スレーブに対して電源を供給するネットワークシステムにおけるネットワーク電源モニタシステムを前提とする。そして、上記複数のスレーブのうちの少なくともひとつのスレーブに、上記ネットワーク電源装置から上記ネットワークを通じて供給されたネットワーク電源の状態を監視する電源監視手段を設け、上記ネットワークコンフィグレータに、上記少なくともひとつのスレーブと上記ネットワークを介して通信することにより、上記電源監視手段で監視したスレーブのネットワーク電源の状態を収集する手段と収集したスレーブのネットワーク電源の状態を一元管理する手段とを設けるようにした。
好ましくは、上記した電源監視手段は、上記ネットワーク電源の電圧の現在値を順次検出する電圧検出手段と、上記電圧検出手段が順次検出する上記現在値の中から最小値を選択する最小値選択手段とを備え、上記電圧手段で検出した上記現在値と、上記最小値選択手段で選択した上記最小値とを上記ネットワークを介して収集し、該収集した上記ネットワーク電源電圧の現在値を上記最小値とともにモニタ表示するように構成することもできる。
その場合に、上記電源監視手段は、所望の監視電圧を記憶する監視電圧記憶手段と、上記電圧検出手段で検出した上記ネットワーク電源電圧の現在値が上記監視電圧記憶手段に記憶された監視電圧を下回ると警報情報を記憶する警報情報記憶手段とを備え、上記警報情報記憶手段に記憶された警報情報を上記ネットワークを介して収集することにより上記各スレーブの電源警報状態をモニタするように構成することができる。
さらに、前記電源監視手段は、所望の監視電圧を記憶する監視電圧記憶手段と、前記最小値選択手段で検出した前記ネットワーク電源電圧の最小値が上記監視電圧記憶手段に記憶された監視電圧を下回ると警報情報を記憶する警報情報記憶手段とを備え、上記警報情報記憶手段に記憶された警報情報を上記ネットワークを介して収集することにより上記各スレーブの電源警報状態をモニタするように構成することもできる。
また、ネットワークシステムのモニタ方法は、制御機器を制御するためのユーザプログラムを実行するプログラマブルコントローラと、プログラマブルコントローラに接続され、通信機能を備えたマスタユニットと、制御機器が接続され、マスタユニットとの間でネットワークを介してINデータまたはOUTデータをシリアル通信する複数のスレーブと、モニタ装置と、をネットワークを介して接続したネットワークシステムのモニタ方法である。そして、前記スレーブは、前記ネットワークを介して前記コントローラとの間で前記制御機器の入力情報または出力情報を通信する処理を行う一方、前記制御機器或いは前記スレーブ自身に関する物理量を計測する処理をし、計測した計測値と基準値を比較する処理をし、その比較結果情報を前記ネットワークへ出力し、前記コントローラまたはモニタの少なくとも一方は、前記スレーブの比較結果を受信する処理をし、受信した比較結果情報を管理する処理をするようにした。
この発明によるスレーブ及びノード並びに処理装置を構成する各手段を専用のハードウエア回路によって実現することができるし、プログラムされたコンピュータによって実現することもできる。
以上のように、本発明では、計測手段を設け、その計測手段により、制御とは関係無く制御機器やスレーブの物理量を計測するようにしたため、制御系に影響なしに、保守情報等の非制御データ(非I/Oデータ)をスレーブで確保しておき、所定のタイミングで回線(ネットワーク)に出力し、所定の送信先に通知することができる。
図3は、本発明が適用されるシステム構成の一例を示している。同図に示すように、本実施の形態では、PLCユニット10と通信機能を備えたマスタユニット11を一体化するとともに、そのマスタユニット11をフィールドネットワーク(リモート回線)12に接続する。なお、このPLCユニット10とマスタユニット11はバス接続されている。また、このフィールドネットワーク12には、入力機器と出力機器を接続可能なMixスレーブ13が接続されている。
PLCユニット10は、CPUユニットとも称されるもので、I/Oリフレッシュ,プログラム実行,周辺処理をサイクリックに処理している。なお、図示省略するが、PLCユニット10以外にも、必要に応じて各種のユニットが連結され、PLCを構成するが、係るユニット自体は従来公知のものであるので説明を省略する。また、マスタユニット11は、Mixスレーブ13との間で、マスタ−スレーブ間通信を行い、マスタユニット11からの要求に応じてMixスレーブ13に接続された入力機器,出力機器のI/Oデータの送受を行う。そして、PLCユニット10とマスタユニット11との間のI/Oデータ交換は、PLCユニット10が行うサイクリックな処理におけるI/Oリフレッシュ処理として、バスを介したデータ通信により行われる。なお、上記したマスタ−スレーブ間通信は、PLCユニット10のサイクリック処理とは非同期に行われる。
このMixスレーブ13は、図2に示したOUTスレーブ4bとINスレーブ4aの機能が組み込まれた混在タイプのもので、OUT端子にアクチュエータ14が接続され、IN端子にはそのアクチュエータ14の移動体14aの位置を監視するセンサ15が接続されている。
Mixスレーブ13の内部構造の一例を示すと、図4のようになっている。すなわち、フィールドネットワーク12に接続され、データの送受をする送受信回路13aと、その送受信回路13aに接続されたMPU13bと、出力機器に接続される出力回路13cと、入力機器に接続される入力回路13dを備えている。更に、外部不揮発性メモリ13eやタイマ(内部時計)13f等を備えている。
そして、送受信回路13aは、フィールドネットワーク12上を流れるフレームを受信し、ヘッダ部を解析して自己宛のフレームか否かを判断し、自己宛のフレームのみを最終的に受信してMPU13bに渡す機能と、MPU13bから与えられた送信フレーム(例えば、マスタユニット11に向けたINデータを送信するためのフレーム)を、フィールドネットワーク12上に出力する機能を有している。
MPU13bは、送受信回路13aから与えられた受信したフレームのデータ部中に格納された情報に従って所定の処理を実行するもので、基本機能としては、データ部中のOUTデータに従って、出力回路13cに対し所定のOUT端子をON/OFFするための制御信号を発する。また、入力回路13dを介して、入力端子のON/OFF状態を取得し、その取得した情報をINデータとしてマスタユニット11に対して送信するフレームを生成し、送受信回路13aに渡す機能を有する。
上記したシステムにおけるアクチュエータ14の動作制御は、PLCユニット10に実装されたユーザプログラムをサイクリックに実行し、所定の条件に合致した場合に、Mixスレーブ13のOUT端子をONにすべくマスタユニット11に対して通知し、マスタユニット11は、通信サイクルに従って対応するMixスレーブ13に向けて所定のフレーム(OUTデータ)を送信する。
Mixスレーブ13は、受信したフレーム(OUTデータ)に従って、アクチュエータ14に接続されるOUT端子をONにする。これにより、図示省略するバルブがON(開く)となり、移動体14aが前進移動する。
一方、従来例でも説明したとおり、アクチュエータ14に併設してセンサ15が設置されているので、移動体14aが所定位置(本実施の形態では、移動完了位置)まで移動してくると、センサ15がON、つまり、センサ15が接続されたIN端子がONになる。そのようにIN端子がONになったことは、入力回路13dを介してMPU13bが取得できるので、自己のフレームの送信タイミングが来たときに、INデータとしてマスタユニット11に向けて送信する。すると、マスタユニット11は、取得したINデータを、PLCユニット10におけるリフレッシュ処理の際に渡す。
上記した各処理並びに係る処理を実行するための各処理部の機能・構成は、従来のものと同様であるので、その詳細な説明を省略する。ここで、本発明では、上記したアクチュエータの動作時間を計測する機能をMixスレーブ13に設けた。
すなわち、MPU13bは、自己が保有するOUT端子やIN端子の状態を認識できるので、例えば、図5に示すように所定のOUT端子がONになってからIN端子がONになるまでの時間tをタイマ(内部時計)13fを用いて計測し、その計測結果を内部揮発性メモリ13b′に格納する。なお、ここでは、OUT端子,IN端子がONになるとことと信号が立ち上がることは同じ状態のことを示している。
さらに、Mixスレーブ13は、正常な動作時間に関する情報も保持しており、上記計測結果が、正常な動作時間内か否かを判断し、アクチュエータ14の状態を判定する機能(判定結果はもちろん内部揮発性メモリ13b′に記憶保持する)を持たせている。そして、上記した正常動作時間は、例えば10ms以内というように1つのしきい値で設定されるものでも良いし、90msから100msのように2つのしきい値を用いて設定されるものでも良い。この正常動作時間を特定する設定値は、外部不揮発性メモリ13eに格納されており、電源投入の都度、内部揮発性メモリ13b′に展開される。
さらに、具体的な図示は省略するが、監視対象となるOUT端子とIN端子の番号の組み合わせと、上記した設定値が関連付けられたテーブル構造として外部不揮発性メモリ13eに格納されている。そして、係る情報が内部揮発性メモリ13b′に展開されるが、その内部揮発性メモリ13b′には、さらに、実際に計測結果や判定結果も関連付けて格納されるテーブル構造となっている。
そして、具体的には、MPU13bの処理部13b″が、図6に示すフローチャートを実行するようになっている。なお、演算対象,監視対象の動作時間tは、図5に示したようにOUT端子並びにIN端子のいずれもOFF(Low)からON(High)に変化したこと、つまり、信号の立ち上がり同士を紐付けし、そのOUT信号の立ち上がりからIN信号の立ち上がりまでの時間を動作時間tとするものを前提としている。
図6に示すように、まず、該当するOUT端子(図3の場合、アクチュエータ14が接続されているOUT端子)の立ち上がり(ON信号になったとき)の有無を判断する(ST1)。
そして、立ち上がりを検知したならば、タイマ13fからそのときのスタート時間(カウント値)を取得する(ST2)。なお、本実施の形態では、動作時間を計測するだけであるのでタイマ(カウンタ)を用いたが、動作時間を計測した日時データも関連付けて取得する場合には、内部時計を用いると良い。
次に、該当するIN端子の立ち上がり(ON信号になったとき)の有無を判断する(ST3)。そして、立ち上がりが検知される(ステップ3の分岐判断でYes)と、タイマ13fの値(ストップ時間)を取得し(ST4)、ステップ2で取得したスタート時間との差分を求め、動作時間を算出し、その結果を結果バッファに格納する。
一方、正常なアクチュエータの動作時間を規定する設定値を予め保有しており、ステップ5で算出した動作時間を設定値と比較し、範囲内(正常)か否かを判断し、その比較結果も合わせて結果バッファに格納する(ST6)。
そして、設定された監視対象に対して順次上記処理を繰り返し実行し、全ての点に対して処理を実行したならば(ST7でYes)、求めた動作時間と比較結果を各監視対象(アクチュエータ14等)のステータス情報として内部揮発性メモリ13b′に記憶保持する(ST8)。係る処理は割り込み命令に従って実行されるため、ステップ8までの処理が実行されたならば次の命令が来るのを待つ。
一方、上記記憶保持した動作時間や比較結果は、例えば、マスタユニット11が所定のタイミングでメッセージを出力し、そのメッセージを受けたMixスレーブ13が、メッセージで指定された対象機器(番地)の動作時間等をメッセージに対するレスポンスとして返すことによりマスタユニット11ひいてはPLCユニット10に伝えることができる。このように、マスタユニット11からのメッセージを利用すると、マスタユニット11側では、IOデータの送信とは独立した通信であり、必要な時に、必要な監視対象の情報のみを受け取ることができるので好ましい。
また、係る動作時間等の通知は、上記したメッセージに対するレスポンスに限ることは無く、例えば、マスタ−スレーブ間のpolling処理により伝達することもできる。つまり、各スレーブは、所定のタイミングでINデータをマスタユニット11に対し送信する。従って、図7に示すように、通常の入力端子の状態であるINデータに、そのスレーブが管理する演算結果(動作時間や比較結果等)を付加したものをデータ部に備えた送信フレームを生成し、送信することにより通知できる。この方法によれば、マスタユニット11は、動作時間の取得を要求するメッセージを生成し送信する必要が無くなるので好ましい。
さらに別の方式としては、スレーブ側が主体となって動作するChange of Stateを用いることもできる。すなわち、Mixスレーブ13は、自己が管理すべき対象の動作時間や、比較結果の変化があった場合にのみ、その結果をマスタユニット11に向けて送信する。この方式をとると、フィールドネットワーク12上に無駄なデータが流れず、かつ、必要なときだけマスタユニット11が動作時間等を受信できるので、トラフィックが軽減できる。
本実施の形態では、動作時間の算出、さらにはステータスの判定処理までスレーブ側で実行され、記憶保持されるので、PLCユニット10におけるサイクリックな処理はもちろんのこと、フィールドネットワーク12における通信サイクルの影響も無く必要な情報が得られる。しかも、動作時間の算出は、スレーブ内で処理するため、サイクリック処理における1サイクルに要する処理時間より短い動作時間であっても、求めることができる。
図8は、本発明の第2の実施の形態を示している。本実施の形態では、Mixスレーブに替えて、OUTスレーブ20とINスレーブ21をフィールドネットワーク12に接続している。そして、スレーブ同士でpeer to peer通信(スレーブ間通信)を行うことにより、OUTスレーブ20から所望のOUT端子のON/OFF情報を所定のINスレーブ21(通常は、センサ15が接続されたスレーブ)に与える。
そして、INスレーブ21内のMPUの処理部では、図6に示したフローチャートと同様の処理を実行し、OUTスレーブ20から受けたOUT端子のON/OFF情報に基づき、当該OUT端子がONになったときのスタート時間と、所定のIN端子がONになったときのストップ時間を取得し、その差から動作時間を求めるとともに、設定値と比較し、比較結果を保持する。
なお、OUTスレーブ20からINスレーブ21へのデータ送信は、例えばINスレーブ21側に予め対応するOUTスレーブのノード番号並びにOUT端子のビット番号などを記憶保持させておき、所定のタイミングでINスレーブ21が、記憶しているノード番号のOUTスレーブ20に対し、ビット番号の状態を問い合わせ、その問い合わせに対するレスポンスとして、OUTスレーブ20が当該ビット番号のON/OFF状態を通知することにより実現できる。
係る方法によれば、OUTスレーブ20は送信要求に応答すれば良いので、対応するINスレーブ21についての情報を記憶保持する必要がない。また、逆にOUTスレーブ20にも対応するINスレーブについての情報を記憶保持させておくと、例えば、所望のOUT端子がONになったときに、当該ON情報を対応するINスレーブ21に通知し、INスレーブ21では、係るON情報の通知を受けた際のスタート時間を取得するとともに、IN端子がONになったときのストップ時間を取得し、それら両時間から動作時間を算出するとともに設定値との比較結果を求めるようにしてもよい。
そして、INスレーブ21等に動作時間を計測するために必要な情報を記憶させるには、例えば、ツール装置を用いて図9に示すような関連付けデータ、つまり、割り付けNoとともに「INスレーブのノード番号(MACID)とビット番号」、「OUTスレーブのノード番号(MACID)とビット番号」並びに「OUT監視時間単位」を関連付けたテーブルを作成し、このテーブルに基づき、記憶保持させるスレーブに対し、関係する情報をデータ部に含むメッセージ(図10参照)を作成し、当該ツール装置或いはマスタユニット11を介してフィールドネットワーク12経由で該当スレーブに送信することにより行うことができる。
なお、OUT監視時間単位は、他のスレーブの状態を監視する時間の単位であり、係る監視時間間隔で該当ビットの状態の問い合わせを行う。よって、係るOUT監視時間単位が、動作時間計測機能の最小単位となる。
また、図9,図10では、OUTスレーブ(OUT端子)とINスレーブ(IN端子)の関連付けの設定についての説明であるが、スレーブ側に求めた動作時間と設定値とを比較する機能を付加する場合には、比較するための設定値も関連付けて送信すると良い。
本実施の形態では、監視対象のアクチュエータ14等の出力機器と、センサ15等の入力機器は異なるスレーブに接続されているため、少なくとも1回はフィールドネットワーク12を介した通信が行われるが、タイムラグはPLCユニット10におけるユーザプログラムのサイクリックタイムに関係無く、通信サイクルのみに起因し、しかも、サイクリックタイムに比べると通信サイクルは非常に短いので、ユーザプログラム側で動作時間を管理するものに比べると実際の動作時間に近い値が得られる。
また、上記した実施の形態では、入力機器であるセンサ15が接続されたINスレーブ21にて動作時間の算出を行うようにしたが、これとは逆にINスレーブ21から対応するOUTスレーブ20に対してIN端子のON/OFF情報を送ることにより、OUTスレーブ20側で動作時間の算出並びに設定値との比較を行うようにしても良い。
さらには、動作時間の算出等は、必ずしも動作時間を求める対象の出力機器や、その出力機器を監視するセンサなどの入力機器が接続されたスレーブに限ることは無く、別のスレーブでもよい。その場合には、OUTスレーブ20とINスレーブ21からそれぞれOUT端子のON/OFF情報とIN端子のON/OFF情報を取得し、算出することになる。
さらにまた、このように入出力機器が接続されていないスレーブでも動作時間等を算出することができるので、係る算出機能(図6に示すフローチャートを実施する機能)をマスタユニット11に組み込むことにより、マスタユニット11で求めるようにしてもよい。係る場合でも、PLCユニット10におけるユーザプログラムのサイクリックタイムの影響は受けないため、比較的精度良く求めることができる。
また、マスタユニット11で求める場合には、OUT端子やIN端子のON/OFF情報の取得は、別のスレーブで求める場合と同様に対応するスレーブに対して問い合わせをし、それに伴う応答により取得したり、対応するスレーブ側が、所定の端子がONになったときにマスタユニット11に向けて通知をするように構成することもできるが、マスタユニット11は、IO情報の送受を管理するので、それを利用することもできる。つまり、対応するOUTデータを送信した際にスタート時間を取得し、INデータを受信した際にストップ時間を取得することにより、動作時間を算出することができる。
ところで、上記した各実施の形態や変形例では、いずれも出力端子がON(立ち上がり)してから、入力端子がON(立ち上がり)するまでの期間を動作時間として求める例を示したが、本発明はこれに限ることはなく、出力端子が変化したときから入力端子が変化するまでの期間を動作時間として求めることができる。
すなわち、例えば図11に示すように、アクチュエータ(シリンダ)14が接続されたMixスレーブ13(OUTスレーブ20でも可)のOUT端子に対してON信号が与えられると、バルブが開いて移動体(シリンダヘッド)14aが前進する。そして、図5に示した例では、センサ15で移動体14aの移動完了位置を検出するようにしたが、図11に示した例では、移動体14aの移動経路の中間位置Xにセンサ15′を設け、このセンサ15′にて移動体14aが中間位置Xを通過したことを検知し、検知信号を出力(Mixスレーブ13のIN端子がON)するようなシステムを考える。なお、図ではMixスレーブ13に適用した例を示したが、第2の実施の形態などと同様にOUTスレーブ20とINスレーブ21に分かれた構成のシステムにも同様に適用できるのはもちろんである。
この場合に、センサ15′は、一定の検出領域があるため、センサ15′の出力信号(IN端子への入力信号)は、移動体14aが中間位置Xに到達した際(センサの検出領域に進入した際)にONとなる(立ち上がり)。そして、そのままさらに移動体14aが前進移動し、検出領域外に位置するとOFFとなる(立ち下がる)。
そこで、移動体14aが中間位置Xを通過した時の判断であるが、センサ15′の出力信号がONになった時(IN端子の立ち上がり)と、ONからOFFになった時(IN端子の立ち下がり)のいずれもとることができ、どちらにするかは求めた動作時間の用途などにより決定される。そして、前者の立ち上がりに伴う動作時間tを求める場合には、各信号の立ち上がり同士を関連付け(紐付け)することにより上記した各実施の形態を用いて動作時間tを求めることができる。
一方、後者の立ち下がりに伴う動作時間t′を求める場合には、図6に示すフローチャートを基本とし、ステップ3の分岐判断を「該当INがON→OFFか」と言う処理に変えることにより対応することができる。これが、OUT端子:ON(立ち上がり)→IN端子OFF(立ち下がり)に対応する実施の形態である。
さらに、上記した各実施の形態並びに変形例では、いずれも動作時間の開始時点は、OUT端子がON(立ち上がり)をトリガとしているが、本発明はこれに限ることはなく、OUT端子がOFFになること(立ち下がり)をトリガとすることもできる。
一例を示すと、上記した図11に示すように、Mixスレーブ13のOUT端子がONになり、バルブがONすると、それに伴い気体或いは流体が流れ込んで移動体14aが前進移動するが、OUT端子がOFFになりバルブもOFFになると、移動体14aが後退移動し、元の位置に自動復帰するタイプのシリンダがある。そこで、係るタイプのシリンダを、図12に示すように、Mixスレーブ13のOUT端子に接続されたアクチュエータ14として、係る出力を切ると戻るシリンダを装着するとともに、移動体14aを検知するセンサ15′を、復帰経路の中間位置Yに配置する。
そして、移動体14aが後退移動を開始してから、中間位置Yに至るまでの動作時間(t1,t1′)を求める場合を考える。この場合、OUT端子がOFFしたときのトリガとしてスタート時間を取得する。また、ストップ時間の取得のためのトリガは、IN端子がONになること(立ち上がり)にしたり、IN端子がOFFになること(立ち下がり)を利用することができる。IN端子のONと紐付けした場合には、動作時間t1を求めることができ、IN端子のOFFと紐付けした場合には動作時間t1′を求めることができる。
そして、係る処理を実行するための機能としては、前者の場合は図6に示すフローチャートを基本とし、ステップ1の分岐判断を「該当OUTがON→OFFか」に変更することにより対応できる。これが、OUT端子:OFF(立ち下がり)→IN端子ON(立ち上がり)に対応する実施の形態である。また、後者の場合は、さらにステップ3の分岐判断を「該当INがON→OFFか」と言う処理に変えることにより対応することができる。これが、OUT端子:OFF(立ち下がり)→IN端子OFF(立ち下がり)に対応する実施の形態である。
なお、上記した第2の実施の形態並びにその変形例において算出した動作時間は、第1の実施の形態に示したように、自発的或いは相手からの要求等の各種のタイミングで上位のマスタユニット11やPLCユニット10に与えることができる。
図13は、本発明の第3の実施の形態を示している。本実施の形態では、上記した各実施の形態並びに変形例と相違して、2つの入力機器(センサ)からの入力信号に基づいて装置(アクチュエータ14)の動作時間を求めるようになっている。
すなわち、第1の実施の形態と同様に、Mixスレーブ13のOUT端子にアクチュエータ14が接続され、IN端子にはそのアクチュエータ14の移動体14aの位置を監視するセンサが接続されている。但し、本実施の形態では、IN端子に接続するセンサとして第1,第2のセンサ16a,16bと言うように2つのセンサを用意している。そして、第1,第2のセンサ16a,16bは、それぞれ移動体14aの移動経路の途中(中間位置)X,Yに配置され、移動体14aが係る中間位置X,Yを通過したことを検知するようになっている。なお、Mixスレーブ13の内部構造は、図4に示すものと同様である。
このシステムによれば、OUTデータがONになりアクチュエータ14の移動体14aが原点位置から前進移動する。すると、図14に示すように、移動体14aが中間位置Xに至ると第1のセンサ16aの出力がONになり、中間位置Xを通り過ぎるとOFFになる。この出力が、そのままMixスレーブ13の第1のセンサ16a用のIN端子の入力信号となる。
さらに移動体14aが前進移動すると、中間位置Yに至るので、第2のセンサ16bの出力がONになり、中間位置Yを通り過ぎるとOFFになる。この出力が、そのままMixスレーブ13の第1のセンサ16a用のIN端子の入力信号となる。
係る場合において、移動体14aが中間位置Xから中間位置Yまで移動するまでに要する動作時間を求めるには、第1,第2のセンサ16a,16bの出力、つまり、対応する2つのIN端子の信号を関連付け(紐付け)することにより、Mixスレーブ13にて動作時間を求めることができる。なお、2つのIN端子の関連付けであるが、上記した各実施の形態並びにその変形例と同様に、動作時間のスタート時間の取得並びにストップ時間の取得は、IN端子の変化をトリガとして行われるので、係る変化はOFF→ON(立ち上がり)とON→OFF(立ち下がり)のいずれもとれる。
従って、図14(b)に示すように、第1のセンサ16aの出力信号(IN端子)の立ち上がりと、第2のセンサ16bの出力信号(IN端子)の立ち上がりを紐付けすると、時間T1が動作時間となる。また、第1のセンサ16aの出力信号(IN端子)の立ち上がりと、第2のセンサ16bの出力信号(IN端子)の立ち下がりを紐付けすると、時間T2が動作時間となる。
一方、図14(c)に示すように、スタート時間の取得のトリガを第1のセンサ16aの出力信号(IN端子)の立ち下がりにすることもできる。この場合に、その第1のセンサ16aの信号の立ち下りと、第2のセンサ16bの出力信号(IN端子)の立ち上がりを紐付けすることにより時間T3を動作時間として求めることになり、第2のセンサ16bの出力信号(IN端子)の立ち下がりを紐付けすることにより、時間T4を動作時間として求めることになる。
もちろん、移動体14aの後退移動時の動作時間を求めることもできる。この場合には、上記と逆に第2のセンサ16bの出力の変化と第1のセンサ16aの出力の変化を紐付けし、第2のセンサ16bに基づきスタート時間を取得し、第1のセンサ16aに基づきストップ時間を取得することになる。
さらにまた、上記した例では、2つのセンサがともに移動体の移動経路の中間位置を検出する(通過することにより信号がOFF→ON→OFFと変化する)例について説明したが、一方が移動完了位置を検出するものももちろん良い。さらに、2つのセンサの監視は、1つの装置の動作を監視するものに限ることは無く、異なる装置の動作状態を監視するものでも良い。一例としては、2つのロボットの動作をそれぞれ監視するセンサを設け、一方のロボットが動作開始(動作完了)してから、他方のロボットが動作開始(動作完了)するまでのタイムラグを求めることがある。このように、動作時間とは、単独の装置の動作時間(停止時間)に限られるものではなく、上記したように複数の装置を含むシステム(装置)全体における動作時間も含む概念である。
そして、上記した2つのIN端子の変化に基づいて動作時間を求めるためのMPU13b(処理部13b″)の機能であるが、基本的には図6に示すフローチャートと同様の処理機能により実現できる。そして、係る図6のフローチャートのうち、紐付けする2つのIN端子がON/OFFのいずれに基づいて各時間の取得をするかにより、ステップ1,3を適宜変更することになる。すなわち、スタート時間の取得が、OFFからONに変化(立ち上がり)に基づいて行う場合には、ステップ1の処理が、「該当INがOFF→ONか」というように変更し、ONからOFFに変化(立ち下がり)に基づいて行う場合には、ステップ1の処理が、「該当INがON→OFFか」というように変更することになる。さらに、ストップ時間の取得が、ONからOFFに変化(立ち下がり)に基づいて行う場合には、ステップ3の処理が、「該当INがON→OFFか」というように変更することになる。
なお、本実施の形態では、第1,第2のセンサ16a,16bを接続するスレーブをMixスレーブ13とし、アクチュエータ14の動作制御もこのMixスレーブ13から出力されるOUTデータ(OUT端子のON/OFF信号)に基づいて実行される例を示したが、アクチュエータ14に対する制御命令は、同一のスレーブから送られなくても良い。その場合に、第1,第2のセンサ16a,16bが接続されるスレーブは、例えば、Mixスレーブに替えてINスレーブにすることもできる。なお、その他の構成並びに作用効果は上記した各実施の形態並びにその変形例と同様であるので、その詳細な説明を省略する。
さらに、図15に示すように、IN端子同士の紐付けに基づく動作時間の算出においても、第1,第2のセンサ16a,16bがそれぞれ別のINスレーブ21′,21″に接続したシステム構成でも実現できる。この場合には、第2の実施の形態と同様に、一方のINスレーブ21′で取得したINの値(図の例ではスタート時間)を他方のINスレーブ21″に与える。そして、与えられたINの値と、他方のINスレーブ21″側で取得した時間情報(図の例ではストップ時間)に基づき動作時間を求め、演算結果をマスタユニット11側に送ることになる。
もちろん、送り側のINスレーブと受け側のINスレーブの関係は任意であり、図示するようにスタート時間を送るようにしても良いし、ストップ時間を取得したINスレーブからスタート時間を取得した別のINスレーブに送るようにしてもよい。さらに、第2の実施の形態の変形例でも説明したとおり、これら2つのセンサが接続されていない別のスレーブや、マスタユニット11などの各種のノードに対して、それぞれ取得した時間情報を送り、そこにおいて動作時間を求めることもできる。なお、その他の構成並びに作用効果は上記した各実施の形態並びにその変形例と同様であるので、その詳細な説明を省略する。
さらに、実際のスレーブやマスタなどの動作時間を演算処理する機能を組み込んだノードの場合、上記した各パターンのいずれにも対応できるようにしておきたいという要求がある。つまり、OUT端子の変化があってからIN端子の変化があるまでの動作時間の取得パターンとして、4種類のパターンがあり、IN端子の変化があってからIN端子の変化があるまでの動作時間の取得パターンとして、4種類のパターンがあり、合計8種類のパターンがある。
係る8種類のパターンのいずれにも対応するためのMPU13b(処理部13b″)の機能としては、例えば、図16に示すフローチャートを実現するようにすることにより対応できる。
まず、前提として各端子の紐付けの関係を設定データとして外部不揮発性メモリ13eなどに記憶しておく。この設定データは、第1の実施の形態などと同様に、ツール装置を用いて図17に示すような関連付けデータ、つまり、割り付けNoとともに「スタートトリガが発せられるスレーブのノード番号(MACID)とビット番号と変化の種別(立ち上がり/立ち下がり)並びにIN/OUT端子の区別」、「ストップトリガが発せられるINスレーブのノード番号(MACID)とビット番号並びに変化の種別(立ち上がり/立ち下がり)」並びに「監視時間単位」を関連付けたテーブルを作成し、このテーブルに基づき、記憶保持させるスレーブに対し、関係する情報をデータ部に含むメッセージ(図18参照)を作成し、当該ツール装置或いはマスタユニット11を介してフィールドネットワーク12経由で該当スレーブに送信することにより行うことができる。
なお、監視時間単位は、他のスレーブの状態を監視する時間の単位であり、係る監視時間間隔で該当ビットの状態の問い合わせを行う。よって、係る監視時間単位が、動作時間計測機能の最小単位となる。なおまた、スタートトリガのIN/OUT端子の種別であるが、Mixスレーブの場合には当然I/Oの両方がある。
係る前提にたち、図16に示すように、まず設定読み出しを行う(ST10)。この設定により、自己が監視すべき端子(IN端子/OUT端子)のビット番号と、時間取得のトリガとなるべき変化の種別を取得する。次いで、該当OUT/IN端子が変化したか否かを判断する(ST11)。つまり、ステップ10で取得した設定データに基づき、スタート時間取得のトリガとなる監視対象の端子が立ち上がり/立ち下がりがあったか否かを判断する。
そして、変化があった場合(ステップ11の分岐判断でYes)には、ステップ12に進みスタート時間を取得する。次いで、紐付けされた該当IN端子が変化(立ち上がり/立ち下がりは設定データにより決まる)するか否かを判断する(ST13)。そして、立ち上がりが検知される(ステップ13の分岐判断でYes)と、タイマ13fの値(ストップ時間)を取得し(ST14)、ステップ2で取得したスタート時間との差分を求め、動作時間を算出し、その結果を結果バッファに格納する。
一方、正常なアクチュエータの動作時間を規定する設定値を予め保有しており、ステップ15で算出した動作時間を設定値と比較し、範囲内(正常)か否かを判断し、その比較結果も合わせて結果バッファに格納する(ST16)。
そして、設定された監視対象に対して順次上記処理を繰り返し実行し、全ての点に対して処理を実行したならば(ST17でYes)、求めた動作時間と比較結果を各監視対象(アクチュエータ14等)のステータス情報として内部揮発性メモリ13b′に記憶保持する(ST18)。係る処理は割り込み命令に従って実行されるため、ステップ18までの処理が実行されたならば次の命令が来るのを待つ。
なお、上記した第3の実施の形態並びにその変形例において算出した動作時間は、第1,第2の実施の形態に示したように、自発的或いは相手からの要求等の各種のタイミングで上位のマスタユニット11やPLCユニット10に与えることができる。
以上詳細に説明したように、上記した各実施の形態によれば、出力機器が接続されたスレーブのOUT端子が変化した際の時間情報と、その出力機器を監視する入力機器が接続されたスレーブのIN端子が変化した際の時間情報を取得し、その差分から出力機器の動作時間を求めるようにしたり、あるIN端子が変化してから別のIN端子が変化するまでの時間間隔から所定の装置(システム)の動作時間を求めるようにすることができる。しかも、係る算出処理等は、ネットワークに接続されたスレーブやマスタなどのノード側で行うため、PLC側のサイクリックタイムの影響を受けず、出力機器の動作時間を精度良く測定することができる。
上記した各実施の形態では、スレーブで制御機器(入力機器及びまたは出力機器)に関する物理量の計測値である動作時間を求めるとともに、基準値と比較し、所定の条件に合致した場合に、基準値との比較結果及びまたは動作時間をフィールドネットワーク12へ出力し、そのフィールドネットワーク12に接続された所定の装置(ノード)へ与えるようにした。本発明では、これに限ることはなく、例えば基準値との比較をすることなく、所定のタイミングで求めた動作時間を出力し、判断はPLCユニット10などで行わせるようにしても良い。また、送信先は、マスタユニットやスレーブに限ることは無く、PLCその他のコントローラはもちろんのこと、コンフィグレータやモニタなどでも良い。
さらに、通知する情報も、判断結果及びまたは動作時間に加えて、制御機器の固有情報(非制御情報)を送るようにすると良い。すなわち、例えば動作時間が基準値よりも長くなった場合には交換時期に近づいているように設定していると、係る機器のIDを示す固有情報(機器名,製造者名,形式,製造番号)などを併せて出力することにより、ユーザは、故障した機器についての情報を予め知ることができる。従って、現場に行くに際し、係る機器用の交換部品や、交換する機器を携帯して行くことができ、メンテナンスを迅速に行うことができる。そして、各スレーブに、自己に接続されている制御機器についての固有情報を、予め記憶保持しておき、必要に応じて読み出して送信することにより対応できる。
また、本発明における計測対象の制御機器またはスレーブ自身に関する物理量は、上記した動作時間に限ることはなく、スレーブに供給される電源電圧その他各種のものがあるので、以下に説明する。
図19は、第4の実施の形態の全体構成を示すシステム構成図である。この実施の形態では、一台のマスタユニット30と複数箇所に分散配置された複数台のスレーブ33とがフィールドネットワーク32を経由して接続されたネットワークシステムである。スレーブ33には、入力機器や出力機器などの機器(入出力機器34)が接続され、マスタユニット30との間でその入出力機器34のI/Oデータの送受が行われる。この点は上記した各実施の形態並びにその変形例でも同様である。
なお、図示省略するが、このマスタユニット30には、上記した各実施の形態と同様にPLCユニットが連結され、PLCを構成する。また、PLCユニットとマスタユニット30は必ずしも直接接続してPLCを構成する必要は無く、マスタユニット30をPLCから独立させても良い。その場合に、フィールドネットワーク32或いは別のネットワークを介してI/Oデータの交換を行うことになる。
また、マスタユニット30の付近には、ネットワーク電源装置35が設置される。このネットワーク電源装置35は、フィールドネットワーク32に接続され、このフィールドネットワーク32を経由してマスタユニット30やスレーブ33に対して電源電圧が供給される。さらに、このスレーブ33を経由して入出力機器34にも電源が供給される。さらにまた、このフィールドネットワーク32には、ネットワークコンフィグレータ36が接続され、このネットワークコンフィグレータに対しても、ネットワーク電源装置35から電源供給される。
上記ネットワークコンフィグレータ36は、マスタユニット30,スレーブ33などのネットワークユニットの状態をモニタしたり、パラメータの読み出しや書き込みを行うものである。
また、スレーブ33は、このシステムを構成するリモートI/Oターミナル,耐環境ターミナル,リモートアダプタ,I/Oリンクユニット,センサターミナル,アナログ入力ターミナル,アナログ出力ターミナル,温度入力ターミナル,RS232Cユニット等から構成されるものである。
上記構成において、複数台のスレーブ33は、それぞれネットワーク電源装置35からフィールドネットワーク32を通じて供給されるネットワーク電源を用いて通信等の動作を行うが、このネットワーク電源は、ネットワーク電源装置35からの距離に応じてそれぞれ異なる電圧降下を受ける。この実施の形態では、さらに、ネットワーク電源を入出力機器34へも供給しているので、入出力機器34が電力を消費するときは、その分電圧降下が増大する。
そして、上記複数台のスレーブ33は、その動作保証電圧が、例えば、24V〜11Vのように決まっているので、上記ネットワーク電源のスレーブに供給される位置での電源電圧が、例えば、11V以下になると通信不能になる。
そこで、この実施の形態のシステムにおいては、各スレーブ33にそれぞれ加えられるネットワーク電源の状態を監視する電源監視手段を設けた。そして、電源監視手段で監視した各スレーブ33のネットワーク電源の状態を示す電源状態情報を、ネットワークコンフィグレータ36との通信により、フィールドネットワーク32を経由してネットワークコンフィグレータ36で収集し、各スレーブ33のネットワーク電源の状態をネットワークコンフィグレータ36で一元管理するように構成されている。
図20は、図19に示したPLCシステムにおける各スレーブ33の要部構成を示したブロック図である。図20において、スレーブ33は、電圧監視部33a,最大値・最小値保持部33b,現在値記憶部33c,監視電圧記憶部33d,比較部33e,警報ステータス記憶部33f,通信制御部33gを具備して構成される。
ここで、電圧監視部33aは、フィールドネットワーク32から供給されるネットワーク電源を監視し、その現在値および最大値,最小値を検出する。そして、電圧監視部33aで検出されたネットワーク電源の電圧の最大値及び最小値は、最大値・最小値保持部33bに保持される。また、電圧監視部33aで検出されたネットワーク電源の電圧の現在値は、現在値記憶部33cに記憶される。
このスレーブ33は、上記した最大値・最小値保持部33b並びに現在値記憶部33cに格納されたI/Oデータでない非制御系情報の1つである電圧情報をネットワークコンフィグレータ36に通信し、ネットワークコンフィグレータ36にて内容を確認できるようにしている。さらに、現在の供給電圧が正常であるか否かの判定を行い、その判定結果を記憶する機能も有している。なお、供給電圧が動作不能になる完全な異常状態の場合には、装置自体が動作しないために正常か否かの判定もできない。そこで、本実施の形態では、供給電圧が低下し、供給電圧が動作不能になる電圧に近い状態を異常、つまり、何かしらの警報が必要な状態とし、係る状態になったことを記録するようにしている。
そして、本実施の形態では、上記のような警報が必要な状態、つまり、動作しているものの動作不能になりそうな状態であるか否かの判断基準となる監視電圧を、監視電圧記憶部33dに格納している。なお、この監視電圧は、この実施の形態では、スレーブ33の図示しないディップスイッチにより設定している。
この監視電圧記憶部33dに記憶される監視電圧は、例えば、スレーブ33の動作保証電圧が24V〜11Vであると、その下限の電圧である11Vよりもわずかに高い値に設定する。一例としては、12Vに設定される。係る設定にすると、電圧降下に伴う供給電圧の低下に伴う通信不能になる前に、このスレーブ33に供給されるネットワーク電源の状態をネットワークコンフィグレータ36に通信することが可能になる。
比較部33eは、現在値記憶部33cに記憶されたネットワーク電源の電圧の現在値と、監視電圧記憶部33dに記憶された監視電圧とを比較し、ネットワーク電源の電圧の現在値が比較基準値である監視電圧を下回ると、警報ステータスを出力する。
この比較部33eから出力された警報ステータスは、警報ステータス記憶部33fに記憶される。ここで、警報ステータス記憶部33fにおける警報ステータスの記憶は、エラーフラグとして記憶することができる。
上記した監視電圧に基づく判断結果である警報ステータス(エラーフラグ)を含め、供給電圧に関する情報は、スレーブ33が保持している。このスレーブが保持している情報は、本実施の形態では、ネットワークコンフィグレータ36からの要求に対応して発信するレスポンスとしてネットワークコンフィグレータ36に渡すようにしている。すなわち、最大値・最小値保持部33bに保持されたスレーブ33に供給されるネットワーク電源の電圧の最大値並びに最小値と、現在値記憶部33cに記憶されたこのスレーブ33に供給されるネットワーク電源の電圧の現在値と、警報ステータス記憶部33fに記憶された警報ステータスは、図19に示したネットワークコンフィグレータ36からの読出しコマンドにより最大値・最小値保持部33b,現在値記憶部33c,警報ステータス記憶部33fから通信制御部33gに読み出され、この通信制御部33gからフィールドネットワーク32を経由して、ネットワークコンフィグレータ36にレスポンスとして送信される。
また、係る電圧に関する情報の通信するタイミングは、上記したようにネットワークコンフィグレータ36から発行されるコマンドの受信に伴い発信するレスポンスのように外部からのトリガに限ることはなく、内部トリガ、つまり判断結果に変化があったことを条件にスレーブ33が自発的に送信するように構成してもよい。すなわち、スレーブ33に対する供給電圧を監視し、一定のしきい値(監視電圧)以下になった場合に、警報ステータス(エラーフラグ)並びにその他の電圧情報をネットワークコンフィグレータ36に向けて送信するようにしても良い。
なお、上記した図20に示す電圧監視構成は、マスタユニット30内にも備えることができる。係る構成にすると、上記したスレーブ33と同様に、マスタユニット30に対するネットワーク電源装置35から供給される電圧の監視を行うことができる。
図21は、本実施の形態におけるネットワークコンフィグレータ36の要部構成を示したブロック図である。図21に示すように、ネットワークコンフィグレータ36は、入力部36aと、フィールドネットワーク32に接続される通信制御部36bと、表示部36cとを具備して構成される。各部の具体的な機能は、以下の通りである。
入力部36aは、キーボード,ポインティングデバイス,操作パネルなどのマンマシンインタフェースであり、ユーザの操作に伴い受け取ったこのシステムの電圧表示指示を通信制御部36bに渡す機能を持つ。
入力部36aから与えられた電圧表示指示に伴い、通信制御部36bは、各スレーブ33に対して現在値読出しコマンド,最大値読出しコマンド,最小値読出しコマンド,警報ステータス読出しコマンドを順次発行し、これらに対するスレーブ33からのレスポンス受信により各スレーブ33におけるネットワーク電源の電圧の現在値,最大値,最小値並びに警報ステータスをそれぞれ収集する。そして、収集した情報を表示部36cに渡す。
表示部36cは、ディスプレイなどの表示装置であり、通信制御部36bから受け取った各スレーブ33のネットワーク電源の状態を出力表示する。これにより、現在の電圧の状態をユーザに報知することができる。このように、PLCユニットのサイクリックな処理とは別系統の通信により、通常のI/Oデータの送受とは関係なくネットワークコンフィグレータ36にて各スレーブ33の状態を収集することができ、ユーザは集中管理することができる。
次に、上記した処理、つまり各スレーブ33が保持する供給電源の電圧の情報をネットワークコンフィグレータ36が収集する機能を実現するための具体的な処理手順について説明する。
図24は、ネットワークコンフィグレータ36の処理を示すフローチャートである。まず、入力部36aから各スレーブ33の電圧表示指示が入力されたか否かを判断する(ST21)。電圧表示指示が入力されていない(ステップ21の分岐判断でNO)ときは、再び電圧表示指示が入力されるのを待つが、電圧表示指示が入力されていると判断される(ステップ21の分岐判断でYES)と、スレーブ33のユニット番号nを「1」に設定する(ST22)。次いで、ユニット番号nは最後の番号であるか否かを判断する(ST23)。なお、ステップ22の次に実行される場合には、n=1であるので、最後の番号ではないので分岐判断はNOとなる。
そして、ユニット番号nが最後でない場合(ステップ43でNO)は、スレーブ33に供給されるネットワーク電源の電圧の現在値の読出しを指令するための現在値読出しコマンドを、ユニット番号nのスレーブに対して発行する(ST24)。
そして、ユニット番号nのスレーブ33からの現在値読出しコマンドに対するレスポンスを受信したかを判断し(ST25)、レスポンスを受信していないと(ステップ25でNO)、このレスポンスを待つ。レスポンスを受信すると(ステップ25でYES)、スレーブ33のネットワーク電源の電圧の最大値の読出しを指令する最大値読出しコマンドをユニット番号nのスレーブ33に対して発行する(ST26)。
そして、ユニット番号nのスレーブ33からこの最大値読出しコマンドに対するレスポンスを受信したかを判断し(ST27)、レスポンスを受信していないと(ステップ27でNO)、このレスポンスを待つ。レスポンスを受信すると(ステップ27でYES)、スレーブ33に供給されるネットワーク電源の電圧の最小値の読出しを指令する最小値読出しコマンドをユニット番号nのスレーブ33に対して発行する(ST28)
そして、ユニット番号nのスレーブ33からこの最小値読出しコマンドに対するレスポンスを受信したかを判断し(ST29)、レスポンスを受信していないと(ステップ29でNO)、このレスポンスを待つ。レスポンスを受信すると(ステップ29でYES)、スレーブ33に供給されるネットワーク電源の警報ステータスの読出しを指令する警報ステータス読出しコマンドをユニット番号nのスレーブに対して発行する(ST30)。
そして、ユニット番号nのスレーブ33からこの警報ステータス読出しコマンドに対するレスポンスを受信したかを判断し(ST31)、レスポンスを受信していないと(ステップ31でNO)、このレスポンスを待つ。レスポンスを受信すると(ステップ31でYES)、ユニット番号nをn+1にインクリメントした(ST32)後、ステップ23に戻る。なお、上記した各処理ステップでレスポンスを受信した場合には、そのレスポンスとして送られてきた内容を抽出し、記憶保持する。
上記処理を、ステップ23で、ユニット番号nが最後であると判断されるまで繰り返し実行される。なお、ユニット番号nの最後の値は、予め記憶保持しておく。そして、このステップ23の「最後か?」の判断は、厳密に言うと、「最後の番号を越えたか?」や「最後まで処理したか?」となる。そして、最後の番号まで処理を実行したならば(ステップ23でYES)、上記した各処理を実行して取得した現在値,最大値,最小値,警報ステータスに基づき各スレーブ33のネットワーク電源の状態を表示する(ST33)。これにより、今回の電圧表示指示の入力に伴うコマンド発行,レスポンス受信並びにレスポンスにより取得した情報の表示といった一連の処理を終了する。なお、上記した説明では、コマンドの発行はスレーブに対して行うようにしたが、ユニット番号にマスタユニットに割り当てられた番号を追加することにより、マスタユニットに供給されるネットワーク電圧の情報を取得することができる。
このステップ33の処理を実行した結果得られる表示部36cへの電源状態の表示の具体例としては、例えば、図23に示すようなものがある。なお、ここでは、マスタユニット30へ供給されるネットワーク電圧に関する情報も取得したものとする。図23に示す表示画面37の上段には、マスタユニット30(M)、各スレーブ33(S1〜S6)からなるこのFAシステムの接続構成が示されており、下段には、各ユニットに供給されるネットワーク電源の最大値L1,現在値L2,最小値L3が折れ線グラフで表示されている。
L4は、監視電圧記憶部33dに記憶された監視電圧で、最小値L3あるいは現在値L2が監視電圧L4よりも下回ったユニットがある場合は、異常であるため、警報ステータスに応じて、所定の警報画面が表示される。
なお、監視電圧L4と最小値L3との比較で警報を出すか、現在値L2との比較で警報を出すかは、FAシステムの構成やスレーブ33に接続された外部機器の電気特性等に応じて選択するのがよい。また、最小値L3、現在値L2のいずれの比較値が下回ったときにもその旨の警報を出すようにしてもよい。
このような構成によれば、各スレーブ33のネットワーク電源の状態を、最大値L1,最小値L3,現在値L2,監視電圧L4との関係においてユーザに視覚的に示すことができる。
また、電源状態の表示例は、上記したものに限られないのはもちろんであり、別の例を示すと、図24に示すようにすることができる。すなわち、図24に示す表示画面37の上段には、マスタユニット30(M)、スレーブ33(S1〜S6)からなるFAシステムの接続構成が示されている。この点では上記したものと同様である。そして、下段には、各ユニットに供給されるネットワーク電源の最大値L1′,現在値L2′,最小値L3′が棒グラフで表示されている。
L4は、監視電圧記憶部33dに記憶された監視電圧で、最小値L3あるいは現在値L2が監視電圧L4よりも下回ったユニットがある場合は、異常であるため、警報ステータスに応じて、所定の警報画面が表示される。
なお、監視電圧L4と最小値L3との比較で警報を出すか、現在値L2との比較で警報を出すかは、FAシステムの構成やスレーブ33に接続された外部機器の電気特性等に応じて選択するのがよい。また、最小値L3、現在値L2のいずれの比較値が下回ったときにもその旨の警報を出すようにしてもよい。
なお、図23,図24では、警報ステータスの表示はないが、この警報ステータスは、各図に示したFAシステムの接続構成に対応して表示するように構成することができ、また、各図の表示画面とは別の表示画面に表示するように構成してもよい。
ところで、ネットワーク電源電圧の現在値は、スレーブ33に接続されるモータ等の外部機器の作動状態やネットワーク電源装置35からスレーブ33に至るネットワークの電力ケーブルの途中に接続された他のスレーブ等の負荷状況により、常時変動する。そこで、極短時間の電圧低下がスレーブ33の機能停止や性能低下に至らないものである場合は、電圧検出手段(電圧監視部)が所定時間以上持続する電圧のみ異常と検出するようにすることが好ましい。
また、ネットワーク電源電圧の最大値,最小値は、電圧変動のレンジを把握するのに有効であり、現在値は、現状把握に有効である。ネットワーク電源電圧の現在値が監視電圧より低下したとき警報を出せば、より安全側で管理することができる。
一方、各スレーブ33における処理は、図25に示すフローチャートのようになっている。すなわち、まず、ネットワークコンフィグレータ36からコマンドを受信したかを判断する(ST51)。ここで、ネットワークコンフィグレータ36からコマンドを受信していないと(ステップ51でNO)、再びステップ51へ戻る。つまり、このステップ51の処理によりコマンド受信を待つことになる。
ステップ51で、ネットワークコンフィグレータ36からコマンドを受信していると判断すると(ステップ51でYES)、次に、この受信したコマンドは現在値読出しコマンドかを判断する(ST52)。ここで、受信したコマンドが現在値読出しコマンドの場合(ステップ52でYES)には、現在値記憶部33cに格納されたこのスレーブのネットワーク電源の現在値を読み出すとともに、その現在値を通信制御部33gが受信したコマンドに対するレスポンスとしてしてネットワークコンフィグレータ36に返す(ST53)。これにより、今回のコマンド受信に伴う処理を終了する。
また、受信したコマンドが現在値読出しコマンドでない場合(ステップ52でNO)には、ステップ54に飛び、受信したコマンドは最大値読出しコマンドかを判断する(ST54)。そして、この受信したコマンドが最大値読出しコマンドである(ステップ54でYES)場合には、最大値・最小値保持部33bに格納されたスレーブ33に供給されたネットワーク電源の最大値をレスポンスとしてネットワークコンフィグレータ36に返す(ST55)。これにより、今回のコマンド受信に伴う処理を終了する。
また、ステップ54の分岐判断にて、受信したコマンドが最大値読出しコマンドでないと判断すると、ステップ56に飛び、受信したコマンドは最小値読出しコマンドかを判断する(ST56)。そして、この受信したコマンドが最小値読出しコマンドである(ステップ56でYES)場合には、最大値・最小値保持部33bに格納されたスレーブ33に供給されたネットワーク電源の最小値をレスポンスとしてネットワークコンフィグレータ36に返す(ST57)。これにより、今回のコマンド受信に伴う処理を終了する。
また、ステップ56の分岐判断にて、受信したコマンドが最小値読出しコマンドでないと判断すると、ステップ58に飛び、受信したコマンドは警報ステータス読出しコマンドかを判断する(ST58)。そして、この受信したコマンドが警報ステータス読出しコマンドであると(ステップ58でYES)、警報ステータス記憶部33fに格納されたこのスレーブのネットワーク電源の警報ステータスをレスポンスとしてネットワークコンフィグレータ36に返す(ST59)。これにより、今回のコマンド受信に伴う処理を終了する。
さらに、ステップ58の分岐判断でNO、つまり、受信したコマンドが警報ステータス読出しコマンドでない場合には、今回受信したコマンドは、ネットワーク電圧に関する情報の読出し要求のコマンドではないので、その受信したコマンドに対応する他の処理を実行する(ST60)。その後、ステップ51へ戻り、次のコマンドの受信を待つ。
上述の実施の形態では、監視電圧の設定は、各スレーブ毎にスレーブ上の操作スイッチ(ディップスイッチやロータリスイッチなど)で手動で行っている。しかし、この監視電圧の設定は、フィールドネットワーク32を介してネットワークコンフィグレータ36からの操作で行ってもよい。そして、ネットワークコンフィグレータ36からの操作で監視電圧を設定する場合は、ネットワークに接続する個々のスレーブ毎に設定したり、或るいは、各スレーブの作動電圧が同一の場合は、一括して設定することもできる。
また、ネットワーク電源装置35から遠くに配置されたスレーブや、接続された外部機器の負荷電流が大きいスレーブ等にだけネットワーク電源監視機能を持たせ、このスレーブのネットワーク電源監視情報をネットワークコンフィグレータ36に送って表示するようにしてもよい。
また、全てのスレーブ33にネットワーク電源監視機能を持たせた場合にも、ネットワークコンフィグレータ36が特定のスレーブに、選択的に、ネットワーク電源監視情報収集コマンドを送って、これらの特定のスレーブのネットワーク電源監視情報を表示するようにしてもよい。
なお、上述の実施の形態では、スレーブ33が、全て、電源監視手段を持っている場合で説明した。ところで、ネットワークシステムの構成としては、電源監視手段を持っているスレーブと、電源監視手段を持っていない従来のスレーブとが混在している場合がある。係る場合に、ネットワークコンフィグレータ36からの現在値読出しコマンドに対して、従来のスレーブはエラー応答となるから、ネットワークコンフィグレータ36側では、当該スレーブが電源監視手段を持っていない従来のスレーブであることを判断することができる。また、ネットワークコンフィグレータ36は、フィールドネットワークを介して接続されているスレーブの機種判別ができるので、電源監視手段を持っているスレーブにのみ現在値読出しコマンド等を発行することも可能である。したがって、この発明は、電源監視手段を持っているスレーブと電源監視手段を持っていない従来のスレーブが混在するネットワークシステムにも適用できる。
さらにまた、この発明におけるマスタユニットはひとつに限られるものではなく、複数のマスタユニットを接続したPLCシステムにも適用することができる。
以上説明したように上記した実施の形態によれば、システム構築時に、ネットワーク電源の供給状態を一箇所で集中モニタすることができるので、システムの構築時間を短縮することができる。また、システム稼動中におけるネットワーク電源の供給状態を随時チェックできるので、システムの保守メンテナンスが容易になる等の効果を奏する。
なお、上記した実施の形態では、収集する装置をネットワークコンフィグレータとして説明したが、各スレーブに格納された情報をフィールドネットワークに接続されたモニタに送り、そのモニタに表示しても良い。また、マスタユニットとの間で係る非I/Oデータの送受を行うようにしてももちろん良い。
そして、本実施の形態でも、スレーブ等に供給される電圧に関する情報は、スレーブ側で検出するとともに記憶保持し、その情報の収集・表示は、コンフィグレータからの要求等に基づいて行うため、PLC側のサイクリック処理への影響を与えない。
図26以降は、本発明の第5の実施の形態を示している。本実施の形態では、計測対象の制御機器またはスレーブ自身に関する物理量として、スレーブに接続される入出力機器に対して供給されるI/O電源としたものである。
図26に示すように、このFAシステムは、上位局である一台のマスタユニット40と複数箇所に分散配置された複数台のスレーブ43とをフィールドネットワーク42に接続されて構成される。なお、上記した各実施の形態と同様に、マスタユニット40と、複数のスレーブ43の間の相互間のネットワークであるフィールドネットワーク42としては、フィールドバス(例えば、DeviceNet(登録商標)等)が用いられる。
ここで、マスタユニット40は、このFAシステムにおけるPLCマスタを構成するものである。さらに、図3などと同様に、PLCユニット連携されている。
また、スレーブ43は、センサ等の検出器からの信号を入力するとともに、バルブ等の制御器に信号を出力するものである。すなわち、このFAシステムによる制御を行うために、所定の入出力機器44が接続されている。この入出力機器44には、センサなどの入力機器44aと、バルブ・モータなどの出力機器44bがある。そして、各スレーブ43に入出力機器電源装置45の出力を接続し、その入出力機器電源装置45から各入出力機器44に対する電源供給を受けるようにしている。
さらに、図27に示すように、入出力機器電源装置45には、センサ等の入力機器44aに供給する入力用電源部45aとバルブ等の出力機器44bに供給する出力用電源部45bを備えている。そして、入力用電源部45a並びに出力用電源部45bからの供給電圧は、入出力機器電源監視部43aにも与えられる。これにより、入出力用電源監視部43aでは、電圧値を監視し、しきい値と比較することによりON/OFFを判断することができる。
なお、スレーブ43自体に対する電源供給は、図示省略するが、上記した第4の実施の形態と同様にフィールドネットワーク32に接続されたネットワーク電源装置35から供給を受けるようにすることができる。もちろん、ネットワークを介さずにスレーブの電源端子へ単独に別途電力供給を受けることもできる。この場合のスレーブは、入出力機器電源用の端子とスレーブ用の電源端子とを独立に別々に備えることになる。そして、この場合も、別途用意したスレーブ用電源が電源端子を介してスレーブに入力されるので、そのスレーブ用電源の端子電圧を計測するとともに、基準値と比較し、その比較判断結果をネットワークを介してマスタユニットやモニタやコンフィグレータなどに通知するようにしてもよい。
上記した構成において、複数台のスレーブ43には、それぞれ入力用電源部45aから供給される入力電源および出力用電源部45bから供給される出力電源が、それぞれONかOFFかを監視する入出力機器電源監視部43aを備えている(図27参照)。
各スレーブ43は、この入出力機器電源監視部43aで監視した入力電源および出力電源のON,OFF状態を示す入出力機器電源状態情報を保有する。そして、この入出力機器電源状態情報(I/O電源情報)は、マスタユニット40からの要求によりフィールドネットワーク42を経由してマスタユニット40に送信する。これにより、マスタユニット40では、複数台のスレーブ43の入出力機器電源(I/O電源)の状態をモニタすることができる。
上記構成により、マスタユニット40では、センサ等の入力機器44aから信号がこない場合に、その原因がスレーブ43の入力用電源がOFFのためか、実際にセンサ等の入力機器44aの故障等に伴い信号入力されないかを迅速に判別することができ、これによりシステムの信頼性を向上させることができる。
同様に、マスタユニット40では、スレーブ43にバルブ等の制御器(出力機器44b)を駆動するための信号を出力したのに、このバルブ等の出力機器44bの動作を確認できない場合に、その原因がスレーブ43の出力用電源がOFFのためなのか、実際にスレーブ43に信号が出力されなかったためなのかを判別することができる。これによってもシステムの信頼性を向上させることができる。
マスタユニット40と接続された図示しないPLCユニット(入力機器からの情報を取り込み、制御プログラムを実行し、実行結果を出力機器へ出力する)においては、スレーブ43に接続された機器の電源供給状態をマスタユニット40経由で知ることが可能となる。したがって、PLCユニット(CPUユニット)の制御プログラム(ラダー言語等によりプログラミングされる)でスレーブに接続された機器の電源OFF時の対応が可能となるため、システムの信頼性を向上させることができる。
図28は、図27に示したスレーブ43の具体的な構成例を示すブロック図である。なお、図28では、スレーブ43に、検出器であるセンサ44aが接続されている場合を示しているが、制御器であるバルブ等が接続されている場合および検出器であるセンサ等と制御器であるバルブ等の両者が接続されている場合も同様に構成することができる。ただし、バルブ等が接続されている場合は、入力用電源の監視ではなく、出力用電源の監視になる。
まず、センサ44aの検知信号は、入力部43bに与えられる。入力部43bが取得したセンサ44aからの検知信号、つまり、ON/OFF情報は、通信制御部43cを介してフィールドネットワーク42を経由してマスタユニット40に与えられる。このようにしてI/Oデータが送信されるが、係る処理機能は従来と同様である。そして、入力用電源は、スレーブ43を経由してセンサ44aに与えられるが、その入力用電源監視部43a′に与えられる。入力用電源監視部43a′は、上記与えられる入力用電源の電圧に基づき、外部から入力される入力用電源のON,OFFを常時監視する。
そして、マスタユニット40からフィールドネットワーク42を経由して送られてきた要求を通信制御部43cで受信すると、この要求に基づき入力用電源監視部43a′が監視した入力用電源のON,OFFを示す情報を通信制御部43cが取得し、この情報をフィールドネットワーク42を経由してマスタユニット40へ送信する。
もちろん、図28では、入力用電源についての監視機能を図示して説明したが、上記したように出力機器が接続されたスレーブの場合には、出力用電源監視部を設け、出力用電源のON,OFF情報を監視し、マスタユニット40からの要求に応じてそのON,OFF情報をレスポンスとして返信するようになる。そして、それら入力用電源と出力用電源の監視を総称して説明したのが、図27に示す入出力機器電源監視部43aである。つまり、この図27ではスレーブ43内には入出力機器電源監視部43aのみを設けた例を示しているが、実際には、図28と同様に通信制御部や、入出力機器のI/Oデータを管理するための入力部や出力部を備えている。そして、入出力電源のON,OFF情報の管理・送受を行うためのマスタユニット40とスレーブ43の処理アルゴリズムの一例を示すと、図29,図30に示すフローチャートのようになっている。
図29は、スレーブ43の動作を説明するためのフローチャートである。図29に示すように、まず、入出力機器電源監視部43aで入力用電源および出力用電源がONかを判断する(ST61)。この判断は、0Vに近いしきい値を設定し、それ以上の場合にはONと判断するようにしても良いし、後述するように入力用電源,出力用電源をトランジスタのベース電圧に印加するように構成し、トランジスタがONした場合に電源がONと判断するようにするなど、各種の手法が採れる。いずれの場合も、何かしらの判断基準値と比較し、判断基準値異常になった場合に電圧がONしていると判断するようになっている。
入力用電源や出力用電源がONであると(ステップ61でYES)、対応する入力用電源,出力用電源のエラーフラグをOFFに設定する(ST62)。また、入力用電源,出力用電源がOFFであると(ステップ61でNO)、OFFとなった入力用電源,出力用電源に対応するエラーフラグをONに設定する(ST63)。
次に、マスタユニット40からフィードネットワーク42経由で入出力機器電源状態情報の要求があるかを判断する(ST64)。ここで、入出力機器電源状態情報の要求がないと(ステップ64でNO)、ステップ61に戻り、次の処理に移行する。
一方、入出力機器電源状態情報の要求が受信した場合(ステップ64でYES)には、マスタユニット40に対するレスポンスとして、上記エラーフラグを入出力機器電源状態情報としてフィードネットワーク42経由で送信し、その後、ステップ61に戻り、次の処理に移行する。
図30は、マスタユニット40の動作を説明するためのフローチャートである。まず、入出力機器電源のチェック指示があるかを判断する(ST71)。この指示は、例えばPLCユニット側からの要求であったりする。また、マスタユニット40に入出力機器電源のチェック指示用の操作ボタンなどを設け、その操作ボタンの押下により、入出力機器電源のチェック指示が有ると判断することもできる。
入出力機器電源のチェック指示がない(ステップ71でNO)場合には、ステップ71へ戻り、入出力機器電源のチェック指示を待つ。そして、入出力機器電源のチェック指示があると判断されると(ステップ71でYES)、次に、スレーブ43のユニット番号nを「1」に設定する(ST72)。次いで、ユニット番号nは最後の番号であるか否かを判断する(ST73)。なお、ステップ72の次に実行される場合には、n=1であるので、最後の番号ではないので分岐判断はNOとなる。
そして、ユニット番号nが最後でない場合(ステップ73でNO)は、ユニット番号nのスレーブに対する入出力機器電源のエラーフラグの読み出し要求を発行し(ST74)、ユニット番号nのスレーブからの入出力機器電源のエラーフラグの読み出しを行う(ステップ75)。
そして、この読み出した入出力機器電源のエラーフラグに対応した処理を行い(ST76)、次に、ユニット番号nをn+1にインクリメントし(ST77)、ステップ73に戻る。
上記処理は、ステップ73で、ユニット番号nが最後であると判断されるまで繰り返し実行される。なお、ユニット番号nの最後の値は、予め記憶保持しておく。そして、このステップ73の「最後か?」の判断は、厳密に言うと、「最後の番号を越えたか?」や「最後まで処理したか?」となる。そして、最後の番号まで処理を実行したならば(ステップ73でYES)、今回の入出力機器電源のチェック指示に伴う一連の処理を終了する。
上記ステップ76おけるエラーフラグに応じた処理は、例えば、マスタユニット40にインストールされているラダープログラムに基づき行われ、エラーフラグの値に応じて、「入出力機器電源正常」,「No.3−スレーブ入力用電源OFF」等の報知を行い、さらに運転続行が不適当な場合には、運転を停止する等の処理を行ったりする。
なお、図30に示したフローチャートにおいては、このシステムのスレーブの入出力機器電源のチェックを全てのスレーブに対して順次行うように構成したが、必要に応じて特定のスレーブの入出力機器電源に対してのみ行うように構成してもよい。
上記した第5の実施の形態では、入出力機器に対する電源供給を入出力機器電源装置45から与えるタイプのシステムを前提としたが、第4の実施の形態で説明したように、ネットワーク電源装置からスレーブ経由で入出力機器へ電源供給するシステムにおいても、入出力機器への電源供給のON,OFF状態をスレーブ側で監視し、その結果をフィードネットワーク42を経由してマスタユニット40等へ通知するようにすることもできる。一例を示すと、スレーブ43の内部構成を図31のようにすることにより実現できる。
図31は、スレーブ43に、検出器であるセンサ44aが接続されている場合を示しているが、制御器であるバルブ等が接続されている場合および検出器であるセンサ等と制御器であるバルブ等の両者が接続されている場合も同様に構成することができる。ただし、バルブ等が接続されている場合は、入力用電源の監視ではなく、出力用電源の監視になる。
まず、センサ44aの検知信号は、入力部43bに与えられる。入力部43bが取得したセンサ44aからの検知信号、つまり、ON/OFF情報は、通信制御部43cを介してフィールドネットワーク42を経由してマスタユニット40に与えられる。このようにしてI/Oデータが送信されるが、係る処理機能は従来と同様である。そして、入力用電源は、フィードネットワーク42に接続されたネットワーク電源装置47から、係るフィールドネットワーク42を経由してスレーブ43に供給される。そして、スレーブ43をさらに経由してセンサ44aに与えられる。このスレーブ内のセンサ44aへの電源供給ラインの途中に短絡保護回路43dが設けられている。この短絡保護回路43dは、例えばセンサ44a側で短絡を生じたのを検知すると、回路を遮断する(スイッチを開く)制御が行われる。つまり、ネットワーク電源は、センサ44aさらにはそのセンサ44aが接続されたスレーブ43はもちろんのこと、フィールドネットワーク42に接続された他のスレーブなどへも電源供給がされている。従って、仮にセンサ44aで短絡が発生すると、その状態のままではネットワーク全体の電源供給系に影響が与えるので、短絡保護回路43dを設け、短絡を生じたセンサ44aを電源供給系から切り離すようにしている。なお、この短絡保護回路43d自体の構成は従来公知であるので、その内部構成の詳細な説明を省略する。
そして、短絡保護回路43dからセンサ44aへの供給ラインを分岐して入力用電源監視部43a′へ与えるようにしている。この入力用電源監視部43a′は、上記与えられる入力用電源の電圧に基づき、外部から入力される入力用電源のON,OFFを常時監視する。
このような構成によると、上記短絡保護回路43dの動作状態を含めた入力用電源のON,OFF状態を監視することができる。すなわち、入力用電源監視部43a′は、入力用電源のON,OFFを監視し、マスタユニット40等からの要求に応じてその監視結果である電圧の状態に関する情報をマスタユニット40等に返す。そこで、スレーブ43からセンサ44aへの供給電源がOFFであることを示す情報をフィールドネットワーク42経由で受信したマスタユニット40は、当該スレーブ43の短絡保護回路43dが動作し遮断状態になったと判断することができる。つまり、本実施の形態では、スレーブ43もネットワーク電源により動作するようにしている。従って、スレーブからの応答(情報の通知)があったと言うことは、少なくともスレーブ43にはネットワーク電源が供給されていると言えるので、その状態でセンサ44aへの供給電源がOFFということは、短絡保護回路43dが動作していると判断できる。
なお、マスタユニット40から要求に対するスレーブ43からの情報の送信処理は、図28におけるスレーブと同様に、通信制御部43cを介して行う。つまり、通信制御部43cがマスタユニット40からの要求を受信すると、入力用電源監視部43a′の監視結果を取得してフィールドネットワーク42を介してマスタユニット40に送るようになる。
なおまた、単純にON,OFFを判断するのではなく、第4の実施の形態における各スレーブのネットワーク電源の監視と同様に、入出力用電源の電圧値が、所定のしきい値以上か否かを判定し、入出力機器が動作可能であるが、下限に近い状態であるなどの判断をし、その判断結果を通知するようにしても良い。
ところで、上記した入力電源監視部43a′を実現するための具体的な回路構成としては、例えば図32に示すように構成することができる。この回路は、図28,図31のいずれの入力電源監視部43a′にも適用できる。また、この図32では入力用電源の監視回路を示しているが、出力用電源に対する監視回路も同様に構成することができる。
図32に示すように、この入力用電源の監視回路は、入力機器44aへの電源供給ラインから分岐された経路に対し、抵抗51とフォトカプラ52を構成する発光ダイオード52aを直列接続してアースに落としている。また、フォトカプラ52を構成する受光トランジスタ52bと電源電圧Vccの間にプルアップ抵抗53を直列接続している。そして、プルアップ抵抗53と受光トランジスタ52bの接続点をスレーブ43のCPU54の入力端子に接続している。
係る構成にすると、入力用電源がONの場合、入力用電源から抵抗51→フォトカプラ52の発光ダイオード52aを経由してアースへ電流が流れ、発光ダイオード52aが点灯する。これにより、フォトカプラ52の受光トランジスタ52bがONになり、CPU54の入力端子にはアースに落ちるので、ローレベルの信号が入力される。
また、入力用電源がOFFであると、入力用電源から抵抗51→フォトカプラ52の発光ダイオード52aを経由してアースへ流れる電流はなくなり、発光ダイオード52aは消灯する。これにより、受光トランジスタ52bはOFFになり、CPU54の入力端子はオープンとなるので、プルアップ抵抗53の作用により、CPU54の入力端子にはハイレベルの信号が入力される。
したがって、CPU54は、入力端子に入力される信号のレベルを監視し、これがローレベルであると入力用電源がON、ハイレベルであると入力用電源がOFFとして検出することができる。そして、受光トランジスタ52bの動作電圧(ONになる電圧)が、入力用電圧のON,OFFの基準値となる。
なお、スレーブに接続される入力機器が複数の場合、スレーブからの供給電源の監視は、入力機器ごとに個別に行ってもよいし、入力機器全部を一括して行ってもよい。同様に、スレーブに接続される出力機器が複数の場合も、スレーブからの供給電源の監視は、出力機器ごとに個別に行ってもよいし、出力機器全部を一括して行ってもよい。
さらにまた、第5の実施の形態の変形例のように、短絡の有無情報を送る場合には、入出力機器についての情報も併せて送るようにすると良い。すなわち、短絡を生じている場合には、その短絡している入出力機器の修理・交換などのメンテナンスが発生することが多い。従って、各スレーブに、予め自己に接続されている入出力機器についての情報、つまり、機器のIDを示す情報(機器名,製造者名,形式,製造番号)などを予め記憶保持しておき、短絡した機器についてのIDを示す情報を合わせた出力すると、ユーザは、故障した機器についての情報を予め知ることができる。従って、現場に行くに際し、係る機器用の交換部品や、交換する機器を携帯して行くことができ、メンテナンスを迅速に行うことができる。
以上説明したように、この第5の実施の形態並びにその変形例によれば、上位局が各スレーブに接続された入出力機器用の電源(I/O電源)の状態を取得できるので、スレーブから信号がこない場合の原因が、入力機器に電源が供給されていないためなのか、実際に信号が入力若しくは出力されていないためなのかを、上位局において迅速に判別することができる。よって、システムの信頼性を向上させることができるという効果を奏する。
また、第5の実施の形態では、I/O電源のON/OFFや、電圧値などの情報の通知を受ける上位局として、マスタユニットの例を示したが、本発明はこれに限ることはなく、その他のコントローラでも良い。さらに、上位局という概念とは関係なく、第4の実施の形態のようにコンフィグレータでも良いし、或いはモニタ46でも良い。さらには、他のスレーブなど、ネットワーク接続された各種ノードが送信先とすることができる。
このことは、第1から第4の実施の形態でも言える。つまり、各スレーブで取得した情報の送信先は、ネットワークに接続された各種のノードに送ることができる。
さらにまた、上記した各実施の形態で説明したスレーブは、マスタユニットとの間でI/O情報を送受し、そのマスタユニットを経由してコントローラ(PLC)と係るI/O情報の送受を行ってシステムの制御を行う例を示し、マスタユニットとスレーブとの間は、マスタからの要求に対して所望のスレーブがレスポンスを返すと行ったマスタースレーブ方式を説明したが、本発明で言うスレーブは、マスタ−スレーブ間通信を行うものに限られない。つまり、スレーブとは称するものの、通信方式は任意のものを利用できる。その点では、厳密に言うと一般的に定義されているスレーブとは異なる概念を含むものであると言える。つまり、本発明で言う所のスレーブは、制御に必要なI/O情報をコントローラと送受する機能が有れば、実際に送受信する際の通信プロトコルは任意である。特に本発明で送信対象とする非I/O情報の送信先は、マスタユニットやコントローラに限ることはなく、ネットワークに接続されたコンフィグレータやモニタや他のスレーブなど、各種のノードとすることができるので、通信方式も、送信相手に応じて適宜選択できる。もちろん、送信するためのトリガも、外部からの要求に応じて行うものに限ることはなく、内部トリガ(内部のタイマ,一定の条件に合致したときに発生するイベントなど)に基づいて送信してもよい。
線(ネットワーク)に出力し、所定の送信先に通知することができる。