例えば、発電プラントや送配電プラントでは複数の制御装置が設けられ、これら制御装
置をネットワークを介して接続し、制御装置間でデータの送受信を行うようにしている。
図12は、二重化された伝送路を有するネットワークに2台の制御装置を接続した制御
システムの構成図である。制御装置1a、1bは、それぞれ制御コントローラ2a、2b
および伝送装置3a、3bで構成されており、各伝送装置3a、3bは、冗長化された伝
送路10a、10bで構成されたネットワーク11で接続されている。このような制御シ
ステムで、制御装置1aから制御装置1bへデータを伝送する場合について説明する。
いま、送信側制御装置を制御装置1aとし受信側制御装置を制御装置1bとする。送信
側制御装置1aの制御コントローラ2aは制御演算処理により最新プロセスデータを作成
している。送信側制御装置1aの伝送装置3aは、制御コントローラ2aの制御演算処理
により作成された最新プロセスデータを伝送周期毎に受け取り、伝送路10a、10bで
構成されたネットワーク11へ送信する。
受信側制御装置1bの伝送装置3bでは、ネットワーク11を構成する伝送路10a、10bからデータを受信し、受信したデータを制御コントローラ2bに入力する。このようにして、制御装置1a、1b間のデータ伝送を実施している。
図13は、送信側伝送装置3aの送信処理手順を示すフローチャートである。送信側伝
送装置3aでは、データ伝送周期を監視しており(S100)、データの伝送周期を検出
すると、制御コントローラ2aから最新のプロセスデータを送信データとして送信用メモ
リに入力する(S101)。次に、ネットワーク11の冗長化された伝送路10a、10
bの中から一つの伝送路を選択し(S102)、選択した伝送路に対してデータ送信を実
行する(S103)。そして、全ての冗長化された伝送路10a、10bに送信したか否
かを判定し(S104)、全ての伝送路10a、10bに送信完了するまでステップS3
〜ステップS5を繰り返し実行する。
図14は、受信側伝送装置3bの受信処理手順を示すフローチャートである。受信側伝
送装置3bでは、ネットワーク11の伝送路10a、10bのいずれかからデータ受信があるか否かを判定し(S200)、データ受信を検出すると、当該受信データを受信用メリに入力する(S201)。
次に、受信側の制御コントローラ2bの制御周期を検出したか否かを判定し(S202)、受信側の制御コントローラ2bの制御周期を検出すると、それまでに受信用メモリに入力した最新の受信データを制御コントローラ2bへ出力する(S203)。
このように、図12に示す制御システムでは、送信側制御装置1aの伝送装置3aでは、ネットワーク11の全ての伝送路10a、10bに対してデータを送信し、受信側制御装置1bの伝送装置3bでは、いずれかの伝送路10a、10bからデータを受信するようにしている。
図15は、一つの伝送路を有するネットワークに2台の制御装置を接続した制御システムの構成図である。制御装置1a、1bは、それぞれ制御コントローラ2a、2bおよび伝送装置3a、3bで構成されており、各伝送装置3a、3bは、一つの伝送路10で構成されたネットワーク11で接続されている。このような制御システムで、制御装置1aから制御装置1bへデータを伝送する場合について説明する。
送信側制御装置1aの制御コントローラ2aは制御演算処理により最新プロセスデータを作成している。送信側制御装置1aの伝送装置3aは、制御コントローラ2aの制御演算処理により作成された最新プロセスデータを伝送周期毎に受け取り、伝送路10で構成されたネットワーク11へ送信する。
受信側制御装置1bの伝送装置3bでは、ネットワーク11を構成する伝送路10からデータを受信し、受信したデータを制御コントローラ2bに入力する。このようにして、制御装置1a、1b間のデータ伝送を実施している。
図16は、送信側伝送装置3aの送信処理手順を示すフローチャートである。送信側伝送装置3aでは、データ伝送周期を監視しており(S100)、データの伝送周期を検出すると、制御コントローラ2aから最新のプロセスデータを送信データとして送信用メモリに入力する(S101)。次に、送信用サイクリックカウンタのカウント値をインクリメントして(S102)、送信データに付加した後(S103)、伝送路10に対しデータ送信を実行する(S110)。
図17は、受信側伝送装置3bの受信処理手順を示すフローチャートである。受信側伝送装置3bでは、ネットワーク11の伝送路10からデータ受信があるか否かを判定し(S200)、データ受信を検出すると、受信データに付加されたサイクリックカウンタのカウント値を取り出し(S201)、前回受信カウンタのカウント値と比較する(S202)。
そして、受信データ内のサイクリックカウンタのカウント値の方が大きい場合は、受信データを受信用メモリに入力すると共に(S203)、この時の受信データ内のサイクリックカウンタのカウント値を、次回の比較用に前回受信カウンタに保存する(S204)。
一方、ステップS202の判定で、受信データのサイクリックカウンタのカウント値が前回受信カウンタのカウント値と同じか又は小さい場合は、受信データの入力は行わずステップS203およびステップS204の処理をパスする。つまり、受信データは破棄される。
その後、制御コントローラ2bとの制御周期を検出したか否かを判定し(S210)、制御周期を検出した場合は、受信用メモリに入力してある最新の受信データを制御コントローラ2bに出力する(S211)。
このように、図15に示す制御システムでは、送信側制御装置1aの伝送装置3aでは、送信データにサイクリックカウント値を付加して送信し、受信側制御装置1bでは、伝送路10にから受信した受信データのカウント値を判定して最新のプロセスデータを受信するようにしている。
図18は、一つの伝送路を有するネットワークに3台の制御装置を接続した制御システの構成図である。制御装置1a、1b、1cは、それぞれ制御コントローラ2a、2b、2cおよび伝送装置3a、3b、3cで構成されており、各伝送装置3a、3b、3cは、一つの伝送路10で構成されたネットワーク11で接続されている。このような制御システムで、制御装置1a、1bから制御装置1cへデータを伝送する場合について説明する。
送信側制御装置1a、1bの制御コントローラ2a、2bは制御演算処理により最新プロセスデータを作成している。送信側制御装置1a、1bの伝送装置3a、3bは、制御コントローラ2a、2bの制御演算処理により作成された最新プロセスデータを伝送周期毎に受け取り、伝送路10で構成されたネットワーク11へ送信する。
受信側制御装置1cの伝送装置3cでは、ネットワーク11を構成する伝送路10からデータを受信し、受信したデータを制御コントローラ2cに入力する。このようにして、制御装置1a、1bと制御装置1cと間のデータ伝送を実施している。
図19は、送信側伝送装置3aの送信処理手順を示すフローチャートである。送信側伝送装置3aでは、データ伝送周期を監視しており(S100)、データの伝送周期を検出すると、制御コントローラ2aから最新のプロセスデータを送信データとして送信用メモリに入力する(S101)。そして、伝送路10に対しデータ送信を実行する(S110)。
図20は、受信側伝送装置3bの受信処理手順を示すフローチャートである。受信側伝送装置3bでは、ネットワーク11の伝送路10からデータ受信があるか否かを判定し(S200)、データ受信を検出すると、当該受信データを受信用メモリに入力する(S201)。
次に、受信側の制御コントローラ2bの制御周期を検出したか否かを判定し(S202)、受信側の制御コントローラ2bの制御周期を検出すると、それまでに受信用メモリに入力した最新の受信データを制御コントローラ2bへ出力する(S203)。
このように、図18に示す制御システムでは、送信側制御装置1a、1bの伝送装置3a、3bでは、ネットワーク11の伝送路10に対してデータを送信し、受信側制御装置1cの伝送装置3cでは、伝送路10からデータを受信するようにしている。これにより、制御装置1a、1bで作られた最新のプロセスデータが制御装置1cへデータ伝送される。
図21は、一つの伝送路を有するネットワークに構成要素が二重化された2台の制御装置を接続した制御システムの構成図である。制御装置1a、1bは、構成要素がそれぞれ二重化されており、制御装置1aは制御コントローラ21a、21bおよび伝送装置31a、31bで構成されており、制御装置1bは制御コントローラ22a、22bおよび伝送装置32a、32bで構成されている。伝送装置31a、31bおよび伝送装置32a、32bは、一つの伝送路10で構成されたネットワーク11で接続され、二重化された制御装置1a、1bにおいては、主系である制御コントローラ21a、22aによりプラントが制御されている。このような制御システムでの二重化運転状態で、制御装置1aから制御装置1bへデータを伝送する場合について説明する。
構成要素が冗長化(二重化)された送信側制御装置1aの制御コントローラ21a、21bは、制御演算処理により最新プロセスデータを作成している。送信側制御装置1aの伝送装置31a、31bは、制御コントローラ21a、21bの制御演算処理により作成された最新プロセスデータを伝送周期毎に受け取り、伝送路10で構成されたネットワーク11へ送信する。
受信側制御装置1bの伝送装置32a、32bでは、ネットワーク11を構成する伝送路10からデータを受信し、受信したデータを制御コントローラ22a、22bに入力する。このようにして、制御装置1a、1b間のデータ伝送を実施している。
図22は、送信側伝送装置31a、31bの送信処理手順を示すフローチャートである。送信側伝送装置31a、31bでは、データ伝送周期を監視しており(S100)、データの伝送周期を検出すると、制御コントローラ21a、21bから最新のプロセスデータを送信データとして送信用メモリに入力する(S101)。さらに、制御コントローラ21a、21bの冗長化運転状態(主系/従系)を入力し(S102)、送信データにその冗長化運転状態(主系/従系)を付加する(S103)。つまり、主系である制御コントローラ21aで作成された送信データには冗長化運転状態として主系が付加され、従系である制御コントローラ21bで作成された送信データには冗長化運転状態として従系が付加される。そして、伝送路10に対しデータ送信を実行する(S110)。
図23は、受信側伝送装置32a、32bの受信処理手順を示すフローチャートである。受信側伝送装置32a、32bでは、ネットワーク11の伝送路10からデータ受信があるか否かを判定し(S200)、データ受信を検出すると、当該受信データに付加された送信側制御コントローラ21a、21bの冗長化運転状態を取り出す(S201)。
次に、受信データ内の冗長化運転状態が主系であるか否かを判定し(S202)、冗長化転状態が主系である場合は当該受信データを受信用メモリに入力し(S203)、冗長化運状態が従系である場合は当該受信データの入力はしない。その後、制御コントローラ22、22bの制御周期を判定し(S210)、制御周期となったときは、それまでに受信用メモリに入力した最新の受信データを制御コントローラ22a、22bへ出力する(S211)。
このように、図21に示す制御システムでは、送信側制御装置1aの伝送装置31a、31bでは、ネットワーク11の伝送路10に対してデータを送信し、受信側制御装置1bの伝送装置32a、32bでは、自己が主系である場合に伝送路10からデータを受信するようにしている。これにより、制御装置1aで作られた最新のプロセスデータが制御装置1bへデータ伝送される。
図24は、一つの伝送路で構成された階層のネットワークに非同期の二重化の制御装置を含む複数台の制御装置および監視表示装置を接続した制御システムの構成図である。非同期の二重化の制御装置1a、1bは、それぞれ制御コントローラ2a、2bおよび伝送装置3a、3bで構成されており、各伝送装置3a、3bは、一つの伝送路10で構成されたネットワーク11で接続されている。また、制御装置1cは制御コントローラ2cおよび伝送装置3c、3dで構成されており、伝送装置3cは、伝送路10で構成されたネットワーク11に接続されており、伝送装置3dは伝送路15で構成されたネットワーク16に接続されている。さらに監視表示装置18は伝送路15で構成されたネットワーク16に接続されている。このような制御システムで、制御装置1a、1bから制御装置1cおよび監視表示装置18へデータを伝送する場合について説明する。
送信側制御装置1a、1bの制御コントローラ2a、2bは制御演算処理により最新プロセスデータを作成している。送信側制御装置1a、1bの伝送装置3a、3bは、制御コントローラ2a、2bの制御演算処理により作成された最新プロセスデータを伝送周期毎に受け取り、伝送路10で構成されたネットワーク11へ送信する。
ここで、制御装置1a、1bは、非同期の二重化の制御装置であり、同じ制御演算処理を実施しているため、伝送装置3a、3bから伝送路10で構成されたネットワーク11に送信するデータは同じデータであり、主系/従系の区別はない。
受信側制御装置1cの伝送装置3cでは、ネットワーク11を構成する伝送路10からデータを受信し、受信したデータを制御コントローラ2cに入力する。このようにして、制御装置1a、1bと制御装置1cと間のデータ伝送を実施している。
一方、制御装置1cの伝送装置3dは、伝送装置3cがネットワーク11の伝送装置3a、3bから受信した非同期の二重化の1系/2系の両系のデータを制御コントローラ2cから伝送周期毎に受け取り、伝送路15で構成されたネットワーク16へ送信する。監視表示装置18はネットワーク16を構成する伝送路15から非同期の二重化の1系/2系の両系のデータを受信し、自己の監視表示装置18でデータを切り替えて表示している。
このように、図24に示す制御システムでは、非同期の送信側制御装置1a、1bの伝送装置3a、3bでは、ネットワーク11の伝送路10に対してデータを送信し、受信側制御装置1cの伝送装置3cでは、伝送路10からデータを受信する。そして、伝送装置3dからネットワーク16の伝送路15にデータを送信し、監視表示装置18にデータを送信するようにしている。これにより、制御装置1a、1bで作られた最新のプロセスデータが制御装置1cおよび監視表示装置18へデータ伝送される。
図25は、二重化(冗長化)された伝送路を有するネットワークに複数の二重化(冗長化された)された制御装置を接続した制御システムの構成図である。冗長化された制御装置1a、1bは制御コントローラ2a、2bおよび伝送装置3a、3bで構成されており、各伝送装置3a、3bは、冗長化された伝送路10a、10bのネットワーク11に接続されている。また、冗長化された制御装置1c、1dは制御コントローラ2c、2dおよび伝送装置3c、3dで構成されており、各伝送装置3c、3dは、冗長化された伝送路10a、10bのネットワーク11に接続されている。なお、冗長化された制御装置1a、1bにおいては、冗長化(二重化)運転状態が主系である制御装置1aの制御コントローラ2aによりプラントが制御されている。このような制御システムでの冗長化運転状態で、制御装置1a、1bから制御装置1c、1dへデータを伝送する場合について説明する。
図25において、冗長化された送信側制御装置1a、1bの伝送装置3a、3bは、冗長化された制御コントローラ2a、2bの制御演算処理により作成された最新プロセスデータを伝送周期毎に受け取り、伝送路10a、10bで構成されたネットワーク11へ送信する。また、冗長化された受信側制御装置1c、1dの伝送装置3c、3dは、ネットワーク11を構成する伝送路10a、10bから受信したデータを入力し、冗長化された制御コントローラ2c、2dに出力することにより、制御装置1a、1bと制御装置1c、1dとの間のデータ伝送を実施している。
図26は、図25における受信側制御装置1c、1dの詳細ブロック構成図である。冗長化された主系である受信側制御装置1cの受信側主系伝送装置3cは、共有メモリ4cを介して主系制御コントローラ2cの演算用入力メモリ6cにデータを出力する。主系制御コントローラ2cでは演算用入力メモリ6cのデータにより、制御演算処理26を実施し、その結果を演算結果メモリ7cに出力する。
同様に、冗長化された従系である受信側制御装置1dの従系伝送装置3dは、共有メモリ4dを介して、待機系制御コントローラ2dの演算用入力メモリ6dにデータ出力する。受信側制御コントローラ2dは演算用入力メモリ6dのデータにより、制御演算処理26を実施し、結果を演算結果メモリ7dに出力する。
主系制御コントローラ2cの演算用入力メモリ6cの内容は、従系制御コントローラ2dの演算用入力メモリ6dにトラッキング処理27によりトラッキングされる。このため、常に主系制御コントローラ2cと従系制御コントローラ2dとのメモリ内容は一致している。
このように、図25に示す制御システムでは、送信側制御装置1a、1bの伝送装置3a、3bでは、ネットワーク11の伝送路10a、10bに対してデータを送信し、受信側制御装置1c、1dの伝送装置3c、3dでは、それぞれ伝送路10a、10bからデータを受信するようにしている。そして、トラッキング処理27により、主系制御コントローラ2cと従系制御コントローラ2dとのメモリ内容を一致させるようにしている。
以下、本発明の実施の形態を説明する。図1は本発明の第1の実施の形態に係るデータ伝送方法の送信処理手順を示すフローチャートである。この第1の実施の形態は、図12に示した制御システムにおいて制御装置1aから制御装置1bへデータを伝送する場合の送信処理手順を示したものであり、伝送周期毎に行うデータ送信を冗長化された伝送路に対して順次切り替えて行うようにしたものである。
図1において、送信側伝送装置3aでは、データ伝送周期を監視しており(S100)、データの伝送周期を検出すると、制御コントローラ2aから最新のプロセスデータを送信データとして送信用メモリに入力する(S101)。
次に、送信伝送路選択カウンタのカウント値をインクリメントし(S102)、インクリメント後の送信伝送路選択カウンタのカウント値を冗長化伝送路数で割った余りを求め、余り番目の伝送路に対してデータ送信を実施する情報を設定する(S103)。そして、ステップS103で決められた伝送路に対し、ステップS101で入力した送信データを送信する(S105)。
例えば、冗長化された伝送路が二重系の場合には、伝送路選択カウンタのカウント値を2で除算してその余りを求める。この場合、余りは0または1となる。そして、余りが0の場合には0番目の伝送路である伝送路10aに、余り1である場合には1番目の伝送路である伝送路10bに送信データを出力する。
以後、伝送周期毎にステップS100〜ステップS105の処理を繰り返し実行する。
これにより、伝送周期毎に行うデータ送信は、冗長化された各々の伝送路に対して順次切り替えて送信することが可能となる。
一方、受信側伝送装置3bにおけるデータ受信処理は、従来と同様に、図14に記された受信処理を実行するものであり、ネットワーク11からデータを受信する度に当該送信データを入力し、制御周期毎に制御コントローラ2bに出力する。これにより、制御装置1aから制御装置1bへのデータ伝送が実施される。
第1の実施の形態によれば、伝送周期毎に冗長化された伝送路のうち、送信する伝送路を切り替えてデータ伝送を行うので、伝送装置内における送信処理/受信処理とも最小限の処理時間で処理することが可能となる。
従って、冗長化された伝送路を無駄なく使用しながら、単位時間あたりに多くのプロセスデータを伝送することが可能となる。また、冗長化された伝送路の1つの伝送路に着眼すると、単位時間あたりに当該伝送路を使用して伝送されるデータ量が減少するので、伝送路上のトラフィック(伝送量)の軽減も可能となる。
次に、本発明の第2の実施の形態を説明する。図2は本発明の第2の実施の形態に係るデータ伝送方法の送信処理手順を示すフローチャートである。この第2の実施の形態は、図12に示した制御システムにおいて制御装置1aから制御装置1bへデータを伝送する場合の送信処理手順を示したものであり、図1に示した第1の実施の形態に対し、ステップS104を追加して、冗長化された伝送路の故障を判定し故障を検出したときは正常な伝送路にデータを送信するようにしたものである。
図2において、送信側伝送装置3aでは、データ伝送周期を監視しており(S100)、データの伝送周期を検出すると、制御コントローラ2aから最新のプロセスデータを送信データとして送信用メモリに入力する(S101)。
次に、送信伝送路選択カウンタのカウント値をインクリメントし(S102)、インクリメント後の送信伝送路選択カウンタのカウント値を冗長化伝送路数で割った余りを求め、余り番目の伝送路に対してデータ送信を実施する情報を設定する(S103)。
そして、ステップS103で決められた伝送路が正常であるか否かを判断し(S104)、伝送路が正常で無い場合は、ステップS102に戻り、伝送路が正常である場合は、ステップS103で決められた伝送路に対し、ステップS101で入力した送信データを送信する(S105)。
以後、伝送周期毎にステップS100〜ステップS105の処理を繰り返し実行する。これにより、伝送周期毎に行うデータ送信を冗長化された伝送路のうち健全な伝送路のみに対して順次切り替えて実行できる。
第2の実施の形態によれば、冗長化された何れかの伝送路に異常があった場合には、正常な伝送路のみを使用してデータ送信するので、システム全体の制御性や応答性の低下を抑えることが可能となる。
次に、本発明の第3の実施の形態を説明する。図3は本発明の第3の実施の形態に係るデータ伝送方法の受信処理手順を示すフローチャートである。この第3の実施の形態は、図15に示した制御システムにおいて制御装置1aから制御装置1bへデータを伝送する場合の受信処理手順を示したものであり、送信側伝送装置のデータ送信処理において付加するサイクリックカウンタが一巡した後のデータも正常に受信できるようにしたものである。
送信側伝送装置3aでの送信処理は、図16に示した従来の送信処理と同じである。すなわち、図16に示すように、伝送周期を検出すると(S100)、制御コントローラ2aから最新のプロセスデータを送信データとして送信用メモリに入力し(S101)、送信用サイクリックカウンタをインクリメントして(S102)、送信データに付加した後(S103)、伝送路10に対しデータ送信を実行する(S110)。
ここで、送信用サイクリックカウンタは、インクリメント処理にて更新されるので、一巡した場合には自動的に初期値(=0)となった後に、続いて1、2、3、…と更新されていく。以後、伝送周期毎にステップS100〜ステップS110の処理を繰り返し実行することにより、伝送周期毎にデータ送信を行う。
サイクリックカウンタが一巡した場合、送信側伝送装置はサイクリックカウンタの初期値(=0)を送信し、その後に、サイクリックカウンタの初期値(=0)における送信データを送信する。
一方、受信側伝送装置3bでの受信処理は、図3に示す受信処理手順が実行される。図3において、受信側伝送装置3bでは、データ受信を監視しており(S200)、伝送路10からのデータの受信を検出すると、受信データに付加されたサイクリックカウンタの値を取り出し(S201)、サイクリックカウンタの値が初期値(=0)か否かをチェックする(S202)。
受信データ内のサイクリックカウンタの値が初期値(=0)以外の場合は、前回受信カウンタの前回受信カウント値との比較を行い(S203)、受信データ内のサイクリックカウンタの値の方が大きい場合(更新された新しいデータである場合)には、受信したデータを受信用メモリに入力する(S204)。そして、このときの受信データ内のサイクリックカウンタの値を前回受信カウンタに保存し(S205)、次回の比較用の前回受信カウント値とする。
一方、ステップS202の処理において、受信データ内のサイクリックカウンタの値が初期値(=0)である場合は、ステップS205の処理に移る。すなわち、送信側のサイクリックカウンタが一巡したものと判断し、次回の受信データを入力可能とするために、比較用の前回受信カウンタに受信したサイクリックカウント値(=0)を保存する(S205)。
また、ステップS203の処理において、受信データのサイクリックカウンタの値が前回受信カウンタのカウント値と同じか、または小さい場合は、受信データの入力は行わず(受信データは破棄される)、次のステップS210の処理に移る。
ステップS210の処理では、制御コントローラとの制御周期を検出したか否かをチェックし(S210)、制御周期を検出した場合は、受信用メモリに入力してある最新の受信データを制御コントローラ2bに出力する(S210)。
以上の説明では、ステップS202の処理において、受信データのサイクリックカウンタの値が初期値(=0)か否かのチェックで初期値(=0)を検出した場合には、受信データ内のサイクリックカウンタの値を次回の比較用の前回受信カウント値として前回受信カウンタに保存するようにしているが、受信したデータを受信用メモリに入力する処理(S204)へ移行させる手順としても良い。
第3の実施の形態によれば、送信側伝送装置でのデータ送信処理において付加するサイクリックカウンタが一巡した場合、サイクリックカウンタの値が初期値(=0)の送信データを送信し、受信側伝送装置のデータ受信処理においては、サイクリックカウンタの初期値(=0)の受信データを受信した際には、受信側伝送装置の前回受信カウンタを初期化(=0)するので、サイクリックカウンタが一巡した後に伝送されて来る受信データも正常に受信することが可能となる。
次に、本発明の第4の実施の形態を説明する。図4は本発明の第4の実施の形態に係るデータ伝送方法の送信処理手順を示すフローチャートである。この第4の実施の形態は、図15に示した制御システムにおいて制御装置1aから制御装置1bへデータを伝送する場合の送信処理手順を示したものであり、送信側伝送装置3aの送信処理において付加するサイクリックカウンタの値が一巡した場合、サイクリックカウンタの初期値(=0)の送信データを複数回送信するようにしたものである。
すなわち、受信側伝送装置3bが図3に示した受信処理手順で動作する場合に、送信側伝送装置が送信したサイクリックカウンタの初期値(=0)のデータが、何等かの伝送異常により受信伝送装置側で受信できなかった場合には、受信側伝送装置3bでは前回受信カウンタのカウント値を初期値にすることができず、それ以後の制御装置間でのデータ伝送が停止してしまうケースに対応するものである。
図4において、送信側伝送装置3aでは、データ伝送周期を監視しており(S100)、データの伝送周期を検出すると、制御コントローラ2aから最新のプロセスデータを送信データとして送信用メモリに入力する(S101)。そして、送信伝送路選択カウンタのカウント値をインクリメントし(S102)、送信データに付加する(S103)。
次に、送信用サイクリックカウンタの値が初期値(=0)か否かをチェックし(S105)、初期値(=0)以外の場合は、伝送路10に対しデータ送信を実行する(S110)。一方、送信用サイクリックカウンタの値が初期値(=0)であった場合は、伝送路10に対し、複数回のデータ送信を実行する(S111〜S113)、例えば5回連続してデータ送信を実行する。以後、伝送周期毎にステップS100〜ステップS113の処理を繰り返し実行することにより、伝送周期毎にデータ送信を行う。
一方、受信側伝送装置3bにおけるデータ受信処理は、第3の実施の形態と同様に、図3に記された処理を実施するものであり、ネットワーク11からデータを受信する度に当該データを入力し、制御周期毎に制御コントローラ2bに出力する。
第4の実施の形態によれば、送信側伝送装置の送信処理において付加するサイクリックカウンタが一巡した場合に、サイクリックカウンタの初期値(=0)の送信データを複数回送信するので、伝送路10上で一過性の伝送エラーが発生した場合でも、受信側伝送装置3bでは前回受信カウンタのカウント値を初期値にすることができ、その後に伝送されてくるサイクリックカウンタの一巡後のデータも正常に受信することが可能となる。
次に、本発明の第5の実施の形態を説明する。図5は本発明の第5の実施の形態に係るデータ伝送方法の受信処理手順を示すフローチャートである。この第5の実施の形態は、図15に示した制御システムにおいて制御装置1aから制御装置1bへデータを伝送する場合の受信処理手順を示したものであり、予め決められたしきい値以下のサイクリックカウンタの値を受信した場合には、サイクリックカウンタは一巡したと判断し、そのサイクリックカウンタの値を受信側伝送装置3bの前回受信カウンタに設定するようにしたものである。
図5において、受信側伝送装置3bでは、データ受信を監視しており(S200)、伝送路10からのデータの受信を検出すると、受信データに付加されたサイクリックカウンタの値を取り出し(S201)、サイクリックカウンタの値が初期値(=0)か否かをチェックする(S202)。
受信データ内のサイクリックカウンタの値が初期値(=0)以外の場合は、前回受信カウンタの前回受信カウント値との比較を行い(S203)、受信データ内のサイクリックカウンタの値の方が大きい場合(更新された新しいデータである場合)には、受信したデータを受信用メモリに入力する(S204)。そして、このときの受信データ内のサイクリックカウンタの値を前回受信カウンタに保存し(S205)、次回の比較用の前回受信カウント値とする。
ここで、ステップS203の処理において、受信データのサイクリックカウンタの値が前回受信カウンタのカウント値と同じか、または小さい場合は、さらに、受信データのサイクリックカウンタの値が予め定められたしきい値以下かをチェックする(S207)。サイクリックカウンタの値がしきい値以下の場合は送信側伝送装置のサイクリックカウンタが一巡したものと判断し、受信データを受信用メモリに入力する(S204)。しきい値より大きかった場合は、受信データの入力は行わず(受信データは破棄される)、次のステップS210の処理に移る。
一方、ステップS202の処理において、受信データ内のサイクリックカウンタの値が初期値(=0)である場合は、ステップS205の処理に移る。すなわち、送信側のサイクリックカウンタが一巡したものと判断し、次回の受信データを入力可能とするために、比較用の前回受信カウンタに受信したサイクリックカウント値(=0)を保存する(S205)。
ステップS210の処理では、制御コントローラとの制御周期を検出したか否かをチェックし(S210)、制御周期を検出した場合は、受信用メモリに入力してある最新の受信データを制御コントローラ2bに出力する(S210)。
以上の説明では、ステップS202の処理において、受信データのサイクリックカウンタの値が初期値(=0)か否かのチェックで初期値(=0)を検出した場合には、受信データ内のサイクリックカウンタの値を次回の比較用の前回受信カウント値として前回受信カウンタに保存するようにしているが、受信したデータを受信用メモリに入力する処理(S204)へ移行させる手順としても良い。
第5の実施の形態によれば、サイクリックカウンタの一巡後に、そのカウント値として予め定められたしきい値以下のデータを受信した場合、当該受信データを入力することにより、サイクリックカウンタの一巡後のデータも正常に受信することが可能となる。また
フィック増加を招くことがなく、一過性の伝送異常が連続して発生した場合でも、支障なく制御装置間データ伝送が実施可能となる。
次に、本発明の第6の実施の形態を説明する。図6は本発明の第6の実施の形態に係るデータ伝送方法の受信処理手順を示すフローチャートである。この第6の実施の形態は、図18に示した制御システムにおいて制御装置1a、1bから制御装置1cへデータを伝送する場合の受信処理手順を示したものであり、受信側伝送装置3cは、ネットワークより所定の時間内に一定数以上の受信データを集中受信した場合には、ネットワークからのデータ受信を禁止し、一定時間経過後にデータ受信禁止を解除するようにしたものである。なお、送信側伝送装置3a、3bにおけるデータ送信処理手順は図19に示す従来の処理手順と同様である。
図6において、受信側伝送装置3bでは、データ受信を監視しており(S200)、伝送路10からのデータの受信を検出すると、当該受信データを受信用メモリに入力し(S201)、ネットワーク11からのデータ受信回数カウンタをインクリメントする(S202)。
次に、制御コントローラ2cとの制御周期を検出したか否かをチェックし(S210)、制御周期を検出した場合は、それまでに受信用メモリに入力した最新の受信データを制御コントローラ2cへ出力し(S211)、データ受信回数カウンタを0クリアする(S212)。
一方、ステップS210での制御周期検出のチェックにて制御周期を検出しなかった場合は、本来有り得るはずの無い大量のデータを受信したか否かを確認するため、前回制御周期の検出以降にデータ受信した回数が一定数以上であるか否かをチェックし(S220)、一定数以上の受信を検出した場合はネットワーク11からのデータ受信を禁止した後(S221)、データ受信禁止とした時点の時刻情報を保存する(S222)。
次に、現在ネットワーク11からのデータ受信禁止状態か否かのチェックを行い(S225)、禁止状態の場合はさらに受信禁止状態にしてから一定時間経過したか否かをチェックする(S226)。この結果が一定時間経過済みであった場合、ネットワーク11からのデータ受信を許可状態にする(S227)。これにより、再びネットワーク11からのデータ受信が可能となり、それ以降に伝送される最新の伝送データの受信が可能となる。以上の処理終了後に、再び伝送路10からのデータ受信ありのチェック処理S200に戻り、以後、前記処理を繰り返し行う。
第6の実施の形態によれば、予め決められた時間以内に、予め決められた数以上のデータを集中受信した場合、一定時間ネットワークからのデータ受信を禁止するので、ネットワーク11上に異常な伝送装置が存在して大量にデータを送信してきた場合でも、当該異常データを廃棄できる。従って、伝送装置内でのデータ受信処理で渋滞を起こすことはなくなり、正常にデータ送信しているデータからのデータは受信できる。
次に、本発明の第7の実施の形態を説明する。図7は本発明の第7の実施の形態に係るデータ伝送方法の受信処理手順を示すフローチャートである。この第7の実施の形態は、図21に示した制御システムにおいて冗長化された制御装置1aから冗長化された制御装置1bへデータを伝送する場合の送信処理手順を示したものであり、冗長化された送信側制御装置1aは、自己の冗長化運転状態が主系の場合にはその冗長化運転状態および送信データを送信し、自己の冗長化運転状態が従系の場合にはその冗長化運転状態のみを送信するようにしたものである。
図7において、送信側伝送装置31a、32bでは、データ伝送周期を監視しており(S100)、データの伝送周期を検出すると、まず制御コントローラの冗長化運転状態(主系/従系)を入力する(S101)。
次に、この冗長化運転状態をチェックし(S102)、主系なら制御コントローラ2aから最新のプロセスデータを送信データとして送信用メモリに入力し(S102)、送信データに冗長化運転状態を付加する(S104)。反対に、制御コントローラ2aの運転状態が従系ならば、送信データを冗長化運転状態=従系のみとする(S105)。その後、ステップS104またはステップS105の処理で作成された送信データを伝送路10に対し送信する(S110)。以後、伝送周期毎にステップS100〜ステップS110の処理を繰り返し実行することにより、伝送周期毎にデータ送信を行う。
なお、受信側伝送装置32a、32bの受信処理は、図23に示した従来のものと同様である。受信側伝送装置32a、32bは、送信側伝送装置31a、32bのうち主系側伝送装置から送信されてきたプロセスデータを入力して制御コントローラ22a、22bに渡すと共に、従系側伝送装置から送信されてくる送信データ(冗長化運転状態情報)の受信状態を監視することで、従系側制御装置が正常動作を継続しているかの判断が可能である。
第7の実施の形態よれば、冗長化された制御装置内の伝送装置からの送信データを、冗長化された制御装置の冗長化運転状態が主系の場合には冗長化運転状態とプロセスデータとし、冗長化運転状態が従系の場合には冗長化運転状態のみとするので、受信側伝送装置における冗長化された全ての送信側伝送装値の動作状態の監視が従来と同様に可能であると共に、ネットワーク11上のトラフィックを減らすことができる。このため、同一ネットワーク11に接続可能な冗長化された制御装置の台数を多くすることが可能になる。
以上の説明では、二重化された伝送路を有するネットワークに2台の制御装置を接続した制御システムの場合(第1の実施の形態、第2の実施の形態)、一つの伝送路を有するネットワークに2台の制御装置を接続した制御システムの場合(第3の実施の形態、第4の実施の形態、第5の実施の形態)、一つの伝送路を有するネットワークに3台の制御装置を接続した制御システムの場合(第6の実施の形態)、一つの伝送路を有するネットワークに構成要素が二重化された2台の制御装置を接続した制御システムの場合(第7の実施の形態)について、それぞれデータ伝送方法について説明したが、各々の制御システムに対し第1の実施の形態乃至第7の実施の形態におけるデータ伝送方法を適用できる。
この場合、制御装置が冗長化されていない場合の伝送装置の送信処理においては、送信データに冗長化運転状態=主系の情報を付加して送信することになる。これにより、冗長化された制御装置と冗長化されない制御装置とを混在してネットワーク11に接続可能となると共に、冗長化されたもしくは冗長化されない伝送路上のトラフィックを最小限に抑制できる。さらに、ネットワーク11に接続されるこれら制御装置の台数を多くすることが可能となる。
また、データ伝送に使用されるサイクリックカウンタの一巡時にネットワーク11上のトラフィックを増やすことなく、その後の制御装置間データ伝送も正常実施する事が可能となると共に、ネットワーク上に連続でデータ送信する異常装置が存在した場合でも、正常装置間の伝送が可能となる。
次に、本発明の第8の実施の形態を説明する。図8は本発明の第8の実施の形態に係るデータ伝送方法における受信側制御装置1cの処理内容を示すブロック図である。この第8の実施の形態は、図24に示した制御システムにおいて、二重化された非同期の各々の制御装置1a、1bから一つの伝送路10で構成されたネットワーク11を介して他の制御装置1cにデータを伝送するデータ伝送方法における受信側制御装置1cの処理内容を示したものであり、受信側制御装置1cは、非同期二重化の送信側制御装置1a、1bにおける1系/2系の故障状態および1系/2系の手動選択信号状態に基づいて、1系/2系のうち正常な系からの受信データを入力するようにしたものである。
図8において、受信側伝送装置3cは伝送路10で構成されたネットワーク11から非同期二重化の送信側伝送装置3a、3bから内容の同じ2つのデータを受信し、受信側制御コントローラ2cに出力し、データはそれぞれ受信バッファ12A、12Bに格納される。
受信側制御コントローラ2cには、条件判定処理手段23、データ切替処理手段24、出力クリア処理手段25が設けられており、条件判定処理手段23で送信側制御装置3a、3bの故障状態および1系/2系の手動選択信号状態を監視し、その結果で条件1および条件2を作成する。データ切替処理手段24では条件1に基づき、受信バッファ12A、12Bのどちらか正常な方を選択し出力する。さらに出力クリア処理手段25では条件2に基づき、送信側制御装置1a、1bの1系/2系の両系が異常であることを判断しデータをクリアする。
図9は条件判定処理手段23の条件判定ロジックの回路図である。いま、送信側制御装置1bが主系として選択されているとする。この場合、制御装置1bの手動選択信号がアンド回路13Aおよびオア回路14に入力されている。
また、アンド回路13Aには送信側伝送装置3bの故障信号が入力されるようになっており、オア回路14には送信側伝送装置3aの故障信号が入力されるようになっている。さらに、アンド回路13Bには、送信側伝送装置3aの故障信号および送信側伝送装置3bの故障信号はアンド回路13Aに入力されるようになっている。送信側伝送装置3a、3bの双方が故障である場合にはアンド回路13Bにより条件2が成立することになる。
いま、送信側伝送装置3a、3bの双方が正常である場合には、アンド回路13Bの出力は「0」であるので条件2は成立しない。また、アンド回路13Aの出力も「0」となり、ノット回路17Aの出力が「1」となる。一方、オア回路14Aの出力は「1」であるので、アンド回路13Cの出力は「1」となり、条件1として手動選択信号で選択された送信側制御装置1bの受信バッファ12Bが選択される。
この状態で、送信側伝送装置3bが故障したとすると、アンド回路13Bの出力は「0」であるので、条件2は成立しない。アンド回路13Aの出力は「1」となり、ノット回路17Aの出力は「0」となる。一方、オア回路14の出力は「1」であるので、アンド回路13Cの出力「0」となる。従って、ノット回路17Bの出力が「1」となり、送信側制御装置1aの受信バッファ12Aが選択される。つまり、手動選択信号で送信側制御装置1bが選択されている状態で送信側伝送装置3bが故障した場合には、条件1として送信側制御装置1aの受信バッファ12Aが選択される。
一方、手動選択信号で送信側制御装置1bが選択されている状態で送信側伝送装置3aが故障した場合には、条件1として送信側制御装置1bの受信バッファ12Bがそのまま選択される。そして、送信側伝送装置3a、3bの双方が故障である場合にはアンド回路13Bにより条件2が成立することになる。
データ切替手段24では、条件1に基づいて故障でない方の受信バッファ12を選択し、出力クリア処理手段25に出力する。出力クリア処理手段25は、条件2が成立したときは出力データをクリアする。
第8の実施の形態によれば、受信側制御装置において、非同期二重化の送信側制御装置の1系/2系の両系から受信した内容の同じ2つのデータを、送信側制御装置の故障状態および1系/2系の手動選択信号状態により切り替えるので、内容の同じ2つのデータを1つに絞り込むことができる。また、ネットワーク11上の伝送量を低減し、ネットワークの性能低下を防ぐことが可能となる。
次に、本発明の第9の実施の形態を説明する。図10は本発明の第9の実施の形態に係るデータ伝送方法における受信側制御装置1c、1dの処理内容を示すブロック図である。この第9の実施の形態は、図25に示した制御システムにおいて、冗長化された制御装置1a、1bから冗長化された制御装置1c、1dへデータを伝送するデータ伝送方法における受信側制御装置1c、1dの処理内容を示したものである。
すなわち、冗長化された受信側制御装置1c、1dは、送信側制御装置1a、1bからのデータを自己の伝送装置の共有メモリ4c、4dに入力し、共有メモリ4c、4dの内容を自己の制御コントローラ2c、2dの受信バッファ5c、5dに一旦記憶し、自己の伝送装置と送信側伝送装置3a、3bとの間の伝送路が正常状態であるか否かを監視し、正常状態である場合にのみ受信バッファ5c、5dから制御コントローラ2c、2dの演算用入力メモリ7c、7dに送信側伝送装置3a、3bから受信したデータを転送すると共に、自己が主系制御装置である場合には従系制御装置の演算入力用メモリにトラッキング処理を行うようにしたものである。
図10において、冗長化された受信側主系伝送装置3cは、共有メモリ4cを介して受信側主系制御コントローラ2cにデータを出力する。受信側主系制御コントローラ2cには受信バッファ5cが設けられており、受信側主系伝送装置3cの共有メモリ4cの内容を一旦受信バッファ5cに保存する。
さらに、受信側主系制御コントローラ2cにはバッファ転送判定処理手段20が設けられており、自己の伝送装置3cと送信側伝送装置3a、3bとの間の伝送路の故障状態を監視し、正常であると判断した場合に、受信バッファ5cの内容を演算用入力メモリ6cに転送する。そして、自己が主系制御装置である場合には従系制御装置の演算入力用メモリにトラッキング処理27を行う。
冗長化された受信側従系伝送装置3dについても同様に、共有メモリ4dを介して受信側従系制御コントローラ2dにデータを出力する。受信側従系制御コントローラ2dには受信バッファ5dが設けられており、受信側従系伝送装置3dの共有メモリ4dの内容を一旦受信バッファ5dに保存する。
さらに受信側従系制御コントローラ2dにはバッファ転送判定処理手段20が設けられており、自己の伝送装置3dと送信側伝送装置3a、3bとの間の伝送路の故障状態を監視し、正常であると判断した場合に、受信バッファ5dの内容を演算用入力メモリ6dに転送する。
図11はバッファ転送判定処理手段20の演算処理内容を示すフローチャートである。受信側制御コントローラ2c、2dは受信側伝送装置3c、3dからのデータを一旦受信バッファに格納し(S100)、送信側伝送装置にて付加されたサイクリックカウンタを参照する(S101)。
次に、同一送信側伝送装置3a、3bから前回データ受信した時のサイクリックカウンタの値と今回データ受信した時のサイクリックカウンタの値とを比較し(S102)、前回よりも今回の方が大きい場合に受信バッファ5c、5dに格納されたデータを演算用入力メモリ7c、7dに転送する(S103)。一方、そうでない場合は受信バッファ5c、5dに格納されたデータの転送処理を行わない(S104)。次に、今回受信したサイクリックカウンタの値を前回受信時サイクリックカウンタ保存エリアに格納する(S105)。
自己の伝送装置3c、3dと送信側伝送装置3a、3bとの間に、例えば、図27に示した伝送路故障が発生している場合、受信側主系伝送装置3cの共有メモリ4cは送信側伝送装置から最新のプロセスデータを受信しているが、受信側従系伝送装置3dの共有メモリ4dは故障が発生しているため、故障前のプロセスデータの状態を保持している。
この状態で冗長化されている受信側制御装置1c、1dの主系/従系の切替えが発生した場合、系切替え前は送信側伝送装置3a、3bからの最新のプロセスデータが演算用入力メモリ6cに書き込まれ、そのデータで制御演算処理26が行われ結果が出力されていたが、系の切替え後は古いプロセスデータが旧待機系伝送装置3dの共有メモリ4dから旧待機系制御コントローラ2dの演算用入力メモリ6dに入力され、系の切替え前に旧常用系からトラッキング処理27により入力された最新のプロセスデータを古いプロセスデータに書き換えてしまう。このため、制御演算処理26の結果が突変してしまうことがある。
しかし、伝送装置3dの共有メモリ4dから制御装置2dの演算用入力メモリ6dとの間に受信バッファ5dを設け、さらにバッファ転送判定処理手段20を設けているので、送信側常用系伝送装置3aとの伝送状態が異常であることを判断できる。従って、受信バッファ5dの内容を演算用入力メモリ6dに転送することはせず、演算用入力メモリ6dの内容は旧待機状態の時に旧常用系からトラッキングされた状態を維持するので、出力の突変を防ぐことが可能となる。
第9の実施の形態によれば、受信側伝送装置の共有メモリと演算用入力メモリとの間に、受信バッファとバッファ転送判定処理手段とを設け、バッファ転送判定処理手段で自己の伝送装置と送信側伝送装置との間の伝送故障状態を監視し、正常と判定した場合にのみ受信バッファの内容を制御コントローラの演算用入力メモリに転送するので、受信側従系伝送装置と送信側伝送装置との間が伝送路故障状態にある場合に、受信側制御装置の主系/従系の切り替えが発生した場合においても、演算結果メモリの内容が突変することがなく、現状維持の制御を継続することが可能となる。