以下、本発明を実施するための最良の形態について図面を参照して説明する。
<第1の実施形態>
図1(a)は、本発明の第1の実施形態であるネットワーク制御装置における共有メモリの内部構成を示した説明図であり、図1(b)は、本発明の第1の実施形態であるネットワーク制御装置の装置構成を示した構成図である。
図1(b)に示すように、第1の実施形態であるネットワーク制御装置1は、データ転送装置DT1と、データ転送装置DT2と、n個のステーションSTN11〜STN1nと、n個のステーションSTN21〜STN2nと、n個のステーションSTN31〜STN3nとを備えている。そして、データ転送装置DT1とステーションSTN11〜STN1nとはネットワークN1を介して接続されている。そして、データ転送装置DT1とステーションSTN11〜STN2nとの間、及びデータ転送装置DT2とステーションSTN11〜STN2nとの間はネットワークN2を介して接続されている。また、データ転送装置DT2とステーションSTN31〜STN3nとはネットワークN3を介して接続されている。
さらに、ネットワーク制御装置1は、ネットワークN1の各ステーションに接続されるn個の制御装置PCS11〜PCS1nと、ネットワークN2の各ステーションに接続されるn個の制御装置PCS21〜PCS2nと、ネットワークN3の各ステーションに接続されるn個の制御装置PCS31〜PCS3nとを備えている。
また、図1(a)に示すように、ステーションSTN11〜STN1nと、データ転送装置DT1とは、ネットワークN1共有メモリ2に示すような構成の共有メモリを備えている。また、ステーションSTN21〜STN2nと、データ転送装置DT1と、データ転送装置DT2とは、ネットワークN2共有メモリ3に示すような構成の共有メモリを備えており、ステーションSTN31〜STN3nと、データ転送装置DT2とは、ネットワークN3共有メモリ4に示すような構成の共有メモリを備えている。
ネットワークN1の共有メモリ2、ネットワークN2の共有メモリ3、及びネットワークN3の共有メモリ4は、ネットワークN1,N2,N3で共有可能な領域(グローバル共有メモリ領域2a,3a,4a)と、ネットワークN1,N2,N3各々の中だけで有効な領域(ローカル共有メモリ領域2b,3b,4b)に分けられて設定されている。そして、グローバル共有メモリ領域に書き込まれたデータはネットワークN1,N2,N3の共有メモリ上で同一のアドレスを持つ。
図2は、第1の実施形態に係るネットワーク制御装置1のデータ転送装置DT1のハードウェア構成を示す構成図である。なお、データ転送装置DT2は、データ転送装置DT1と同様の構成を有するので、説明は省略する。
図2に示すように、第1の実施形態に係るネットワーク制御装置1のデータ転送装置DT1は、送受信回路であるT/R21,29と、メディアアクセス制御回路であるMAC22,30と、バス調整回路であるARB23,31と、ネットワークN1の共有メモリであるCM12と、ネットワークN2の共有メモリであるCM14と、DMA25と、中枢的な制御を行うMPU26と、転送パラメータ取込インタフェース回路であるI/F27と、転送パラメータ格納部であるFROM28と、転送制御回路であるCNT90,92と、転送周期監視回路であるWAT91,93とを備えている。
CM12は、図1(a)に示した共有メモリ2と同様に、ネットワークN1〜N3で共有可能な領域(グローバル共有メモリ領域12a)と、ネットワークN1の中だけで有効な領域(ローカル共有メモリ領域12b)に分けられて設定されている。
CM14も、図1(a)に示した共有メモリ3と同様に、ネットワークN1〜N3で共有可能な領域(グローバル共有メモリ領域14a)と、ネットワークN2の中だけで有効な領域(ローカル共有メモリ領域14b)に分けられて設定されている。
CNT90は、データ転送装置DT1からステーションSTN11〜STN1nへ共有データを転送する際の転送周期である第1の転送周期を決定する。
WAT91は、CNT90により決定された第1の転送周期に基づいて、データ転送装置DT1からステーションSTN11〜STN1nへ共有データを転送する時点である第2の転送タイミングを検出する。さらに、WAT91は、ステーションSTN21〜STN2nからデータ転送装置DT1へ共有データを受信する時点である第1の転送タイミングを、第2の転送タイミングより所定時間以前の時点として検出する。そして、WAT91は、この第1の転送タイミング、又は第2の転送タイミングを検出したとき、これらを検出したことを示す信号をMPU26に供給する。
CNT92は、データ転送装置DT1からステーションSTN21〜STN2nとへ共有データを転送する際の転送周期である第2の転送周期を決定する。
WAT93は、CNT92により決定された第2の転送周期に基づいて、データ転送装置DT1からステーションSTN21〜STN2nへ共有データを転送する時点である第4の転送タイミングを検出する。さらに、WAT93は、ステーションSTN11〜STN1nからデータ転送装置DT1へ共有データを受信する時点である第3の転送タイミングを、第4の転送タイミングより所定時間以前の時点として検出する。そして、WAT93は、この第3の転送タイミング、又は第4の転送タイミングを検出したとき、これらを検出したことを示す信号をMPU26に供給する。
また、FROM28には、各ネットワーク上のグローバル共有メモリの対象となる共有メモリに関する情報が記憶されている。具体的には、FROM28には、グローバル共有メモリ領域のアドレスとデータ転送の方向とが関連付けられて、共有メモリに関する情報として記憶されている。
このグローバル共有メモリの対象となる共有メモリに関する情報は、外部インタフェースから転送パラメータ取込インタフェース回路であるI/F27、及びMPU26を介して、FROM28に格納される。また、グローバル共有メモリの対象となる共有メモリに関する情報は、ネットワークN1又はネットワークN2を介して取り込みを行うこともできる。
MPU26は、その機能上、第1の転送手段26aと、第2の転送手段26bと、第3の転送手段26cとを備えている。そして、第1の転送手段26aと、第2の転送手段26bと、第3の転送手段26cとは、FROM28に格納されたグローバル共有メモリに関する情報を読み込み、読み込んだ設定情報に基づいて、以下の制御を行う。
MPU26の第1の転送手段26aは、CNT90により決定された第1の転送周期に基づいて、ステーションSTN21〜STN2nのグローバル共有メモリ領域に記憶された共有データを、このグローバル共有メモリ領域におけるアドレスと同一のアドレスになるように、CM14のグローバル共有メモリ領域に記憶させる。
具体的には、第1の転送手段26aは、第1の転送タイミングにおいて、ネットワークN2から受信した共有データを、T/R29、MAC30、及びARB31を用いて、CM14に記憶させる。
また、MPU26の第1の転送手段26aは、CNT92により決定された第2の転送周期に基づいて、ステーションSTN11〜STN1nのグローバル共有メモリ領域に記憶された共有データを、このグローバル共有メモリ領域におけるアドレスと同一のアドレスになるように、CM12のグローバル共有メモリ領域に記憶させる。
具体的には、第1の転送手段26aは、第3の転送タイミングにおいて、ネットワークN1から受信した共有データを、T/R21、MAC22、及びARB23を用いて、CM12に記憶させる。
MPU26の第2の転送手段26bは、第1の転送手段26aにより、共有データがCM12のグローバル共有メモリ領域に記憶された場合には、この共有データを、CM12のグローバル共有メモリ領域におけるアドレスと同一のアドレスになるようにCM14のグローバル共有メモリ領域に記憶させる。
具体的には、第2の転送手段26bは、CM12のグローバル共有メモリ領域に記憶された共有データを、ARB23、DMA25、及びARB31を用いて、CM14のグローバル共有メモリ領域に記憶させる。
また、MPU26の第2の転送手段26bは、第1の転送手段26aにより、共有データがCM14のグローバル共有メモリ領域に記憶された場合には、この共有データを、CM14のグローバル共有メモリ領域におけるアドレスと同一のアドレスになるようにCM12のグローバル共有メモリ領域に記憶させる。
具体的には、第2の転送手段26bは、CM14のグローバル共有メモリ領域に記憶された共有データを、ARB31、DMA25、及びARB23を用いて、CM12のグローバル共有メモリ領域に記憶させる。
MPU26の第3の転送手段26cは、WAT93から供給された第2の転送周期に基づいて、CM14のグローバル共有メモリ領域に記憶された共有データを、CM14のグローバル共有メモリ領域におけるアドレスと同一のアドレスになるように、ステーションSTN21〜STN2nのグローバル共有メモリ領域に記憶させる。
具体的には、第3の転送手段26cは、第4の転送タイミングにおいて、CM14のグローバル共有メモリ領域に記憶された共有データを、ARB31、MAC30、及びT/R29を用いて、ステーションSTN21〜STN2nのグローバル共有メモリ領域に記憶させる。
また、MPU26の第3の転送手段26cは、WAT91から供給された第1の転送周期に基づいて、CM12のグローバル共有メモリ領域に記憶された共有データを、CM12のグローバル共有メモリ領域におけるアドレスと同一のアドレスになるように、ステーションSTN11〜STN1nのグローバル共有メモリ領域に記憶させる。
具体的には、第3の転送手段26cは、第2の転送タイミングにおいて、CM12のグローバル共有メモリ領域に記憶された共有データを、ARB23、MAC22、及びT/R21を用いて、ステーションSTN11〜STN1nのグローバル共有メモリ領域に記憶させる。
次に、図3を参照して、本発明の第1の実施形態であるネットワーク制御装置1の作用について説明する。
図3は、本発明の第1の実施形態であるネットワーク制御装置1において、各ネットワークN1,N2,N3間における共有データのデータ転送を説明した図である。
図3では、説明を簡略化するため、ネットワークN1に接続されるステーションSTN11〜STN1nのうち、ステーションSTN11のみを図示している。また、同様に、ネットワークN2に接続されるステーションSTN21〜STN2nのうち、ステーションSTN21のみを図示し、ネットワークN3に接続されるステーションSTN31〜STN3nのうち、ステーションSTN31のみを図示している。
図3に示すように、n個のステーションSTN11〜STN1nと、データ転送装置DT1と、n個のステーションSTN21〜STN2nと、データ転送装置DT2と、n個のステーションSTN31〜STN3nとは、共有メモリ(2,12,14,3,15,17,4)を備えており、それぞれの共有メモリは、ネットワークN1,N2,N3で共有可能なグローバル共有メモリ領域(2a,12a,14a,3a,15a,17a,4a)と、各ネットワークの中だけで有効なローカル共有メモリ領域(2b,12b,14b,3b,15b,17b,4b)に分けて設定されている。
ここで、ステーションSTN11〜STN1nへ共有データを転送する際の転送周期を第1の転送周期とし、ステーションSTN21〜STN2nへ共有データを転送する際の転送周期を第2の転送周期とし、ステーションSTN31〜STN3nへ共有データを転送する際の転送周期を第3の転送周期とする。
そして、データ転送装置DT1は、第1の転送周期に基づいて、ステーションSTN21〜STN2nからデータ転送装置DT1へ共有データを転送する時点を第1の転送タイミングとし、データ転送装置DT1からステーションSTN11〜STN1nへ共有データを転送する時点を第2の転送タイミングとして検出する。
データ転送装置DT1は、第2の転送周期に基づいて、ステーションSTN11〜STN1nからデータ転送装置DT1へ共有データを転送する時点を第3の転送タイミングとし、データ転送装置DT1からステーションSTN21〜STN2nへ共有データを転送する時点を第4の転送タイミングとして検出する。
データ転送装置DT2は、第3の転送周期に基づいて、ステーションSTN21〜STN2nからデータ転送装置DT2へ共有データを転送する時点を第5の転送タイミングとし、データ転送装置DT2からステーションSTN31〜STN3nへ共有データを転送する時点を第6の転送タイミングとして検出する。
データ転送装置DT2は、第2の転送周期に基づいて、ステーションSTN31〜STN3nからデータ転送装置DT2へ共有データを転送する時点を第7の転送タイミングとし、データ転送装置DT2からステーションSTN21〜STN2nへ共有データを転送する時点を第8の転送タイミングとして検出する。
ここでは、まず、ネットワークN1のステーションSTN11に接続されている制御装置PCS11が、グローバル共有メモリ領域2aに記憶された共有データを更新する場合におけるネットワーク制御装置1の作用について説明する。
図3に示すように、ネットワークN1のステーションSTN11に接続された制御装置PCS11が、ステーションSTN11の共有メモリ(グローバル共有メモリ領域2a)のアドレス5に共有データ“STN11Data”を書き込むと、ステーションSTN11は、書き込まれた共有データ“STN11Data”を、データ転送装置DT1を含むネットワークN1の全ステーションSTN12〜STN1nに転送する。
そして、データ転送装置DT1は、第3の転送タイミングを検出すると、転送された共有データ“STN11Data”を受信し、受信した共有データ“STN11Data”を、共有メモリ領域(グローバル共有メモリ領域12a)のアドレス5に記憶する。
次に、データ転送装置DT1は、共有メモリ領域(グローバル共有メモリ領域12a)のアドレス5に記憶すると、記憶した共有データ“STN11Data”を、共有メモリ領域(グローバル共有メモリ領域14a)のアドレス5に記憶する。
データ転送装置DT1は、第4の転送タイミングを検出すると、共有メモリ領域(グローバル共有メモリ領域14a)のアドレス5に記憶された共有データ“STN11Data”を、ネットワークN2に接続された全てのステーションSTN21〜STN2n(図3では、ステーションSTN21のみを示す)に転送する。そして、全てのステーションSTN21〜STN2nは、転送された共有データ“STN11Data”を、共有メモリ領域(グローバル共有メモリ領域3a)のアドレス5に記憶する。
次に、ステーションSTN21は、記憶されたデータ“STN11Data”を、データ転送装置DT2を含むネットワークN2の全ステーションSTN22〜STN2nに転送する。
そして、データ転送装置DT2は、第5の転送タイミングを検出すると、転送された共有データ“STN11Data”を受信し、受信した共有データ“STN11Data”を、共有メモリ領域(グローバル共有メモリ領域15a)のアドレス5に記憶する。
次に、データ転送装置DT2は、共有メモリ領域(グローバル共有メモリ領域15a)のアドレス5に記憶すると、記憶した共有データ“STN11Data”を、共有メモリ領域(グローバル共有メモリ領域17a)のアドレス5に記憶する。
データ転送装置DT2は、第6の転送タイミングを検出すると、共有メモリ領域(グローバル共有メモリ領域17a)のアドレス5に記憶した共有データ“STN11Data”を、ネットワークN3に接続された全てのステーションSTN32〜STN3n(図3では、ステーションSTN31のみを示す)に転送する。そして、全てのステーションSTN31〜STN3nは、転送された共有データ“STN11Data”を、共有メモリ領域(グローバル共有メモリ領域4a)のアドレス5に記憶する。
これにより、制御装置PCS31は、ネットワークN3のSTN31に転送されたデータ“STN11Data”を読み出すことができる。
次に、ネットワークN3のステーションSTN31に接続されている制御装置PCS31が、グローバル共有メモリ領域4aに記憶された共有データを更新する場合におけるネットワーク制御装置1の作用について説明する。
図3に示すように、ネットワークN3のステーションSTN31に接続された制御装置PCS31が、ステーションSTN31の共有メモリ(グローバル共有メモリ領域4a)のアドレス7にデータ“STN31Data”を書き込むと、ステーションSTN31は、書き込まれたデータ“STN31Data”を、データ転送装置DT2を含むネットワークN3の全ステーションSTN31〜STN3nに転送する。
そして、データ転送装置DT2は、第7の転送タイミングを検出すると、転送された共有データ“STN31Data”を受信し、受信した共有データ“STN31Data”を、共有メモリ領域(グローバル共有メモリ領域17a)のアドレス7に記憶する。
次に、データ転送装置DT2は、共有メモリ領域(グローバル共有メモリ領域17a)のアドレス5に記憶すると、記憶した共有データ“STN31Data”を、共有メモリ領域(グローバル共有メモリ領域15a)のアドレス7に記憶する。
データ転送装置DT2は、第8の転送タイミングを検出すると、共有メモリ領域(グローバル共有メモリ領域15a)のアドレス7に記憶された共有データ“STN31Data”を、ネットワークN2に接続された全てのステーションSTN21〜STN2nに転送する。そして、全てのステーションSTN21〜STN2nは、転送された共有データ“STN31Data”を、共有メモリ領域(グローバル共有メモリ領域3a)のアドレス7に記憶する。
次に、ステーションSTN21は、記憶されたデータ“STN31Data”を、データ転送装置DT1を含むネットワークN2の全ステーションSTN22〜STN2nに転送する。
そして、データ転送装置DT1は、第1の転送タイミングを検出すると、転送された共有データ“STN31Data”を受信し、受信した共有データ“STN31Data”を、共有メモリ領域(グローバル共有メモリ領域14a)のアドレス7に記憶する。
次に、データ転送装置DT1は、共有メモリ領域(グローバル共有メモリ領域14a)のアドレス7に記憶すると、記憶した共有データ“STN31Data”を、共有メモリ領域(グローバル共有メモリ領域12a)のアドレス7に記憶する。
データ転送装置DT1は、第2の転送タイミングを検出すると、共有メモリ領域(グローバル共有メモリ領域12a)のアドレス7に記憶した共有データ“STN31Data”を、ネットワークN1に接続された全てのステーションSTN11〜STN1nに転送する。そして、全てのステーションSTN11〜STN1nは、転送された共有データ“STN31Data”を、共有メモリ領域(グローバル共有メモリ領域2a)のアドレス7に記憶する。
これにより、制御装置PCS11は、ネットワークN1のSTN11に転送されたデータ“STN31Data”を読み出すことができる。
なお、図3に示した例では、データ転送装置DT1,DT2に直接接続されているステーションが第1のステーション、及び第2のステーションに対応する。即ち、データ転送装置DT1に接続されているステーションSTN11が第1のステーションに対応し、ステーションSTN21が第2のステーションに対応する。また、データ転送装置DT2も同様に、データ転送装置DT2に接続されているステーションSTN21が第1のステーションに対応し、ステーションSTN31が第2のステーションに対応する。
データ転送装置DT1に接続されているステーションSTN11が第1のステーションに対応し、ステーションSTN21が第2のステーションとした場合には、ステーションSTN11の共有メモリ(グローバル共有メモリ領域2a)が第1の記憶手段に対応し、ステーションSTN21の共有メモリ領域(グローバル共有メモリ領域3a)が第2の記憶手段に対応し、データ転送装置DT1の共有メモリ領域(グローバル共有メモリ領域12a)が第3の記憶手段に対応し、データ転送装置DT1の共有メモリ領域(グローバル共有メモリ領域14a)が第4の記憶手段に対応する。
図4は、ネットワークN1とネットワークN2との間において、データを転送する場合におけるデータ転送のタイミングを示したタイミングチャートである。
図4に示すように、第1の転送周期201は、ネットワークN1内の転送周期、即ち、転送装置DT1からステーションSTN11〜STN1nへ共有データを転送する際の転送周期を示している。また、第2の転送周期202は、ネットワークN2内の転送周期、即ち、転送装置DT1からステーションSTN21〜STN2nへ共有データを転送する際の転送周期を示している。
まず、t1時点において、データ転送装置DT1は、第1の転送タイミングを検出すると、ステーションSTN21〜STN2nから転送された共有データ202aを受信する。
そして、t2時点において、データ転送装置DT1は、第2の転送タイミングを検出すると、ステーションSTN11〜STN1nへ共有データ202aを転送する。
その後も同様に、データ転送装置DT1は、第1の転送タイミング、及び第2の転送タイミングにおいて、共有データを受信し、転送する。
また、t3時点において、データ転送装置DT1は、第3の転送タイミングを検出すると、ステーションSTN11〜STN1nから転送された共有データ201bを受信する。
そして、t4時点において、データ転送装置DT1は、第4の転送タイミングを検出すると、ステーションSTN21〜STN2nへ共有データ201bを転送する。
その後も同様に、データ転送装置DT1は、第3の転送タイミング、及び第4の転送タイミングにおいて、共有データを受信し、転送する。
このように、データ転送装置DT1は、転送先のネットワークの転送周期に応じてデータ転送を行うので、同一の共有データを複数回転送することなく、また、常に最新の共有データを転送することができる。
以上のように、本発明の第1の実施形態であるネットワーク制御装置1によれば、ネットワークN1,N2,N3の共有メモリ空間を、ネットワークで共有するグローバル共有メモリ領域と、各ネットワークN1,N2,N3毎に独立したローカル共有メモリ領域に分けることにより、従来必要であった上位ネットワーク110が不要になる。そのため、上位ネットワーク110のハードウェアコスト及び共有メモリ構成設定のためのエンジニアリングコストが無くなり、プラント制御用ネットワーク制御装置全体のコストダウンが可能となる。
また、ネットワーク間を転送するデータはグローバル共有メモリ領域11に記憶されたデータのみとなるため、上位ネットワーク110が無くても、全てのネットワークN1,N2,N3間のデータ転送を高速に行うことが可能となる。
さらに、転送先のネットワークの転送周期に応じてデータ転送を行うので、最適な共有データを転送することができる。
また、各ネットワークN1,N2,N3毎に独立したローカル共有メモリ領域に記憶されたデータは各ネットワークN1,N2,N3内でのみ転送されるため、ネットワーク全体の通信効率が向上する。
また、ネットワークN1,N2,N3で共有するグローバル共有メモリ領域に記憶されたデータは、全てのネットワークN1,N2,N3で同一のアドレスとなるので、利用者にとってエンジニアリング及びトラブルシューティングが容易となる。
<第2の実施形態>
図5(a)は、本発明の第2の実施形態に係るネットワーク制御装置における共有メモリの内部構成を示した説明図であり、図5(b)は、本発明の第2の実施形態に係るネットワーク制御装置の装置構成を示した構成図である。
図5(b)に示すように、第2の実施形態であるネットワーク制御装置1bは、第1の実施形態に係るネットワーク制御装置1の構成の1つであるデータ転送装置DT3,DT4に替えて、データ転送装置DT5,DT6を備える。
また、図5(a)に示すように、各ネットワークN1〜N3のステーションの共有メモリは、共有データの優先順位毎に複数に分割されている。具体的には、ネットワークN1の共有メモリ50aは、高速転送ブロック36、中速転送ブロック37、低速転送ブロック38の3種類の転送速度のクラスに分けて設定されている。さらに、ネットワークN2の共有メモリ54a及びネットワークN3の共有メモリ58aについても同様に3種類の優先順位のクラスに分けて設定されている。
図6は、第2の実施形態に係るネットワーク制御装置1bのデータ転送装置DT5のハードウェア構成を示す構成図である。なお、データ転送装置DT6は、データ転送装置DT5と同様の構成を有するので、説明は省略する。
図6に示すように、第2の実施形態に係るネットワーク制御装置1bのデータ転送装置DT5は、送受信回路であるT/R21,29と、メディアアクセス制御回路であるMAC22,30と、バス調整回路であるARB23,31と、ネットワークN1の共有メモリであるCM51と、ネットワークN2の共有メモリであるCM53と、DMA25と、中枢的な制御を行うMPU26と、転送パラメータ取込インタフェース回路であるI/F27と、転送パラメータ格納部であるFROM28と、転送優先度管理回路であるPRI49と、転送制御回路であるCNT90,92と、転送周期監視回路であるWAT91,93とを備えている。
CM51は、図5(a)に示した共有メモリ50と同様に、ネットワークN1〜N3で共有可能な領域(グローバル共有メモリ領域51a)と、ネットワークN1の中だけで有効な領域(ローカル共有メモリ領域51b)に分けられて設定されている。さらに、グローバル共有メモリ領域51aは、図5(a)に示した共有メモリ50と同様に、共有データの優先順位毎に複数に分割されている。具体的には、グローバル共有メモリ領域51aは、高速転送ブロック36、中速転送ブロック37、低速転送ブロック38の3種類の転送速度のクラスに分けて設定されている。
CM53は、図5(a)に示した共有メモリ54と同様に、ネットワークN1〜N3で共有可能な領域(グローバル共有メモリ領域53a)と、ネットワークN2の中だけで有効な領域(ローカル共有メモリ領域53b)に分けられて設定されている。さらに、グローバル共有メモリ領域53aは、図5(a)に示した共有メモリ54と同様に、共有データの優先順位毎に複数に分割されている。具体的には、グローバル共有メモリ領域53aは、高速転送ブロック36、中速転送ブロック37、低速転送ブロック38の3種類の転送速度のクラスに分けて設定されている。
PRI49は、データ転送装置DT5とステーションSTN11〜STN1nとの間、及びデータ転送装置DT5とステーションSTN21〜STN2nとの間で共有データを転送する際における優先順位を優先順位情報として記憶している。優先順位情報には、各グローバル共有メモリのアドレスと高速、中速、又は低速を示す優先順位が関連づけて記憶されている。
CNT90は、PRI49から優先順位情報を読み出し、この優先順位情報に基づいて、データ転送装置DT5からステーションSTN11〜STN1nへ共有データを転送する際の転送周期である第1の転送周期を決定する。具体的には、CNT90は、優先順位情報が示す高速、中速、又は低速に応じて転送周期を選択し、選択した転送周期を第1の転送周期とする。例えば、優先順位情報が高速を示している場合、CNT90は、高速の転送周期を選択して第1の転送周期とする。これにより、MPU26は、この高速の転送周期が選択された第1の転送周期に基づいて、共有データを転送することができる。以降、高速の転送周期が選択された転送周期に基づいて、共有データを転送することを高速転送と記述し、同様に、低速の転送周期が選択された転送周期に基づいて、共有データを転送することを低速転送と記述する。
WAT91は、CNT90により決定された第1の転送周期に基づいて、データ転送装置DT5からステーションSTN11〜STN1nへ共有データを転送する時点である第2の転送タイミングを検出する。さらに、WAT91は、ステーションSTN21〜STN2nからデータ転送装置DT5へ共有データを受信する時点である第1の転送タイミングを、第2の転送タイミングより所定時間以前の時点として検出する。そして、WAT91は、この第1の転送タイミング、又は第2の転送タイミングを検出したとき、これらを検出したことを示す信号をMPU26に供給する。
CNT92は、PRI49から優先順位情報を読み出し、この優先順位情報に基づいて、データ転送装置DT5からステーションSTN21〜STN2nへ共有データを転送する際の転送周期である第2の転送周期を決定する。具体的には、CNT92は、優先順位情報が示す高速、中速、又は低速に応じて転送周期を選択し、選択した転送周期を第2の転送周期とする。
WAT93は、CNT92により決定された第2の転送周期に基づいて、データ転送装置DT5からステーションSTN21〜STN2nへ共有データを転送する時点である第4の転送タイミングを検出する。さらに、WAT93は、ステーションSTN11〜STN1nからデータ転送装置DT5へ共有データを受信する時点である第3の転送タイミングを、第4の転送タイミングより所定時間以前の時点として検出する。そして、WAT93は、この第3の転送タイミング、又は第4の転送タイミングを検出したとき、これらを検出したことを示す信号をMPU26に供給する。
MPU26は、その機能上、第1の転送手段26aと、第2の転送手段26bと、第3の転送手段26cとを備えている。そして、第1の転送手段26aと、第2の転送手段26bと、第3の転送手段26cとは、FROM28に格納されたグローバル共有メモリに関する情報を読み込み、読み込んだ設定情報に基づいて、以下の制御を行う。
MPU26の第1の転送手段26aは、CNT90により決定された第1の転送周期に基づいて、ステーションSTN21〜STN2nのグローバル共有メモリ領域に記憶された共有データを、このグローバル共有メモリ領域におけるアドレスと同一のアドレスになるように、CM53のグローバル共有メモリ領域に記憶させる。
具体的には、第1の転送手段26aは、第1の転送タイミングにおいて、ネットワークN2から受信した共有データを、T/R29、MAC30、及びARB31を用いて、CM53に記憶させる。
また、MPU26の第1の転送手段26aは、CNT92により決定された第2の転送周期に基づいて、ステーションSTN11〜STN1nのグローバル共有メモリ領域に記憶された共有データを、このグローバル共有メモリ領域におけるアドレスと同一のアドレスになるように、CM51のグローバル共有メモリ領域に記憶させる。
具体的には、第1の転送手段26aは、第3の転送タイミングにおいて、ネットワークN1から受信した共有データを、T/R21、MAC22、及びARB23を用いて、CM51に記憶させる。
MPU26の第2の転送手段26bは、第1の転送手段26aにより、共有データがCM51のグローバル共有メモリ領域に記憶された場合には、この共有データを、CM51のグローバル共有メモリ領域におけるアドレスと同一のアドレスになるようにCM53のグローバル共有メモリ領域に記憶させる。
具体的には、第2の転送手段26bは、CM51のグローバル共有メモリ領域に記憶された共有データを、ARB23、DMA25、及びARB31を用いて、CM53のグローバル共有メモリ領域に記憶される。
また、MPU26の第2の転送手段26bは、第1の転送手段26aにより、共有データがCM53のグローバル共有メモリ領域に記憶された場合には、この共有データを、CM53のグローバル共有メモリ領域におけるアドレスと同一のアドレスになるようにCM51のグローバル共有メモリ領域に記憶させる。
具体的には、第2の転送手段26bは、CM53のグローバル共有メモリ領域に記憶された共有データを、ARB31、DMA25、及びARB23を用いて、CM51のグローバル共有メモリ領域に記憶される。
MPU26の第3の転送手段26cは、WAT93から供給された第2の転送周期に基づいて、CM53のグローバル共有メモリ領域に記憶された共有データを、CM53のグローバル共有メモリ領域におけるアドレスと同一のアドレスになるように、ステーションSTN21〜STN2nのグローバル共有メモリ領域に記憶させる。
具体的には、第3の転送手段26cは、第4の転送タイミングにおいて、CM53のグローバル共有メモリ領域に記憶された共有データを、ARB31、MAC30、及びT/R29を用いて、ステーションSTN21〜STN2nのグローバル共有メモリ領域に記憶させる。
また、MPU26の第3の転送手段26cは、WAT91から供給された第1の転送周期に基づいて、CM51のグローバル共有メモリ領域に記憶された共有データを、CM51のグローバル共有メモリ領域におけるアドレスと同一のアドレスになるように、ステーションSTN11〜STN1nのグローバル共有メモリ領域に記憶させる。
具体的には、第3の転送手段26cは、第2の転送タイミングにおいて、CM51のグローバル共有メモリ領域に記憶された共有データを、ARB23、MAC22、及びT/R21を用いて、ステーションSTN11〜STN1nのグローバル共有メモリ領域に記憶させる。
次に、図7を参照して、本発明の第2の実施形態であるネットワーク制御装置1bの作用について説明する。
図7は、本発明の第2の実施形態であるネットワーク制御装置1bにおいて、各ネットワークN1,N2,N3間における共有データのデータ転送を説明した図である。
図7では、説明を簡略化するため、ネットワークN1に接続されるステーションSTN11〜STN1nのうち、ステーションSTN11のみを図示している。また、同様に、ネットワークN2に接続されるステーションSTN21〜STN2nのうち、ステーションSTN21のみを図示し、ネットワークN3に接続されるステーションSTN31〜STN3nのうち、ステーションSTN31のみを図示している。
図3に示すように、n個のステーションSTN11〜STN1nと、データ転送装置DT5と、n個のステーションSTN21〜STN2nと、データ転送装置DT6と、n個のステーションSTN31〜STN3nとは、共有メモリ(50,51,53,54,55,57,58)を備えており、それぞれの共有メモリは、ネットワークN1,N2,N3で共有可能なグローバル共有メモリ領域(50a,51a,53a,54a,55a,57a,58a)と、各ネットワークの中だけで有効なローカル共有メモリ領域(50b,51b,53b,54b,55b,57b,58b)に分けて設定されている。
さらに、グローバル共有メモリ領域(50a,51a,53a,54a,55a,57a,58a)は、高速転送ブロック36、中速転送ブロック37、低速転送ブロックの38種類の転送速度のクラスに分けて設定されている。
ここで、ステーションSTN11〜STN1nへ共有データを転送する際の転送周期を第1の転送周期とし、ステーションSTN21〜STN2nへ共有データを転送する際の転送周期を第2の転送周期とし、ステーションSTN31〜STN3nへ共有データを転送する際の転送周期を第3の転送周期とする。第1の転送周期は、優先順位情報に示される高速、中速、又は低速に応じて決定される。第2の転送周期、及び第3の転送周期についても同様に、優先順位情報に示される高速、中速、又は低速に応じて決定される。
そして、データ転送装置DT5は、第1の転送周期に基づいて、ステーションSTN21〜STN2nからデータ転送装置DT5へ共有データを転送する時点を第1の転送タイミングとし、データ転送装置DT5からステーションSTN11〜STN1nへ共有データを転送する時点を第2の転送タイミングとして検出する。
データ転送装置DT5は、第2の転送周期に基づいて、ステーションSTN11〜STN1nからデータ転送装置DT5へ共有データを転送する時点を第3の転送タイミングとし、データ転送装置DT5からステーションSTN21〜STN2nへ共有データを転送する時点を第4の転送タイミングとして検出する。
データ転送装置DT6は、第3の転送周期に基づいて、ステーションSTN21〜STN2nからデータ転送装置DT6へ共有データを転送する時点を第5の転送タイミングとし、データ転送装置DT6からステーションSTN31〜STN3nへ共有データを転送する時点を第6の転送タイミングとして検出する。
データ転送装置DT6は、第2の転送周期に基づいて、ステーションSTN31〜STN3nからデータ転送装置DT6へ共有データを転送する時点を第7の転送タイミングとし、データ転送装置DT6からステーションSTN21〜STN2nへ共有データを転送する時点を第8の転送タイミングとして検出する。
ここでは、まず、ネットワークN1のステーションSTN11に接続されている制御装置PCS11が、グローバル共有メモリ領域50aの高速転送ブロックに記憶された共有データを更新する場合について説明する。
図7に示すように、ネットワークN1のステーションSTN11に接続された制御装置PCS11が、ステーションSTN11の共有メモリ(グローバル共有メモリ領域50a)の高速転送ブロック36として設定されているアドレス60にデータ“STN11DataH”を書き込むと、ステーションSTN11は、書き込まれたデータ“STN11DataH”を、データ転送装置DT5を含むネットワークN1の全ステーションSTN11〜STN1nに高速転送する。
そして、データ転送装置DT5は、第3の転送タイミングを検出すると、転送された共有データ“STN11DataH”を受信し、受信した共有データ“STN11DataH”を、共有メモリ領域(グローバル共有メモリ領域51a)の高速転送ブロック36として設定されているアドレス60に記憶する。
次に、データ転送装置DT5は、共有メモリ領域(グローバル共有メモリ領域51a)のアドレス60に記憶すると、記憶した共有データ“STN11DataH”を、共有メモリ領域(グローバル共有メモリ領域53a)の高速転送ブロック36として設定されているアドレス60に記憶する。
データ転送装置DT5は、第4の転送タイミングを検出すると、共有メモリ領域(グローバル共有メモリ領域53a)のアドレス60に記憶された共有データ“STN11DataH”を、ネットワークN2に接続された全てのステーションSTN21〜STN2n(図7では、ステーションSTN21のみを示す)に高速転送する。そして、全てのステーションSTN21〜STN2nは、高速転送された共有データ“STN11DataH”を、共有メモリ領域(グローバル共有メモリ領域54a)の高速転送ブロック36として設定されているアドレス60に記憶する。
次に、ステーションSTN21は、記憶されたデータ“STN11DataH”を、データ転送装置DT6を含むネットワークN2の全ステーションSTN22〜STN2nに高速転送する。
そして、データ転送装置DT6は、第5の転送タイミングを検出すると、高速転送された共有データ“STN11DataH”を受信し、受信した共有データ“STN11DataH”を、共有メモリ領域(グローバル共有メモリ領域55a)の高速転送ブロック36として設定されているアドレス60に記憶する。
次に、データ転送装置DT6は、共有メモリ領域(グローバル共有メモリ領域55a)のアドレス60に記憶すると、記憶した共有データ“STN11DataH”を、共有メモリ領域(グローバル共有メモリ領域57a)の高速転送ブロック36として設定されているアドレス60に記憶する。
データ転送装置DT6は、第6の転送タイミングを検出すると、共有メモリ領域(グローバル共有メモリ領域57a)のアドレス60に記憶した共有データ“STN11DataH”を、ネットワークN3に接続された全てのステーションSTN31〜STN3n(図3では、ステーションSTN31のみを示す)に高速転送する。そして、全てのステーションSTN31〜STN3nは、高速転送された共有データ“STN11DataH”を、共有メモリ領域(グローバル共有メモリ領域58a)の高速転送ブロック36として設定されているアドレス60に記憶する。
これにより、制御装置PCS31は、ネットワークN3のSTN31に転送されたデータ“STN11DataH”を読み出すことができる。
次に、ネットワークN3のステーションSTN31に接続されている制御装置PCS31が、グローバル共有メモリ領域58aの低速転送ブロックに記憶された共有データを更新する場合について説明する。
図7に示すように、ネットワークN3のステーションSTN31に接続された制御装置PCS31が、ステーションSTN31の共有メモリ(グローバル共有メモリ領域58a)の低速転送ブロック38として設定されているアドレス62にデータ“STN31DataL”を書き込むと、ステーションSTN31は、書き込まれたデータ“STN31DataL”を、データ転送装置DT6を含むネットワークN3の全ステーションSTN31〜STN3nに低速転送する。
そして、データ転送装置DT6は、第7の転送タイミングを検出すると、低速転送された共有データ“STN31DataL”を受信し、受信した共有データ“STN31DataL”を、共有メモリ領域(グローバル共有メモリ領域57a)の低速転送ブロック38として設定されているアドレス62に記憶する。
次に、データ転送装置DT6は、共有メモリ領域(グローバル共有メモリ領域57a)のアドレス62に記憶すると、記憶した共有データ“STN31DataL”を、共有メモリ領域(グローバル共有メモリ領域55a)の低速転送ブロック38として設定されているアドレス62に記憶する。
データ転送装置DT6は、第8の転送タイミングを検出すると、共有メモリ領域(グローバル共有メモリ領域55a)のアドレス62に記憶された共有データ“STN31DataL”を、ネットワークN2に接続された全てのステーションSTN21〜STN2nに低速転送する。そして、全てのステーションSTN21〜STN2nは、転送された共有データ“STN31DataL”を、共有メモリ領域(グローバル共有メモリ領域54a)の低速転送ブロック38として設定されているアドレス62に記憶する。
次に、ステーションSTN21は、記憶されたデータ“STN31DataL”を、データ転送装置DT5を含むネットワークN2の全ステーションSTN22〜STN2nに低速転送する。
そして、データ転送装置DT5は、第1の転送タイミングを検出すると、転送された共有データ“STN31DataL”を受信し、受信した共有データ“STN31DataL”を、共有メモリ領域(グローバル共有メモリ領域53a)の低速転送ブロック38として設定されているアドレス62に記憶する。
次に、データ転送装置DT5は、共有メモリ領域(グローバル共有メモリ領域53a)のアドレス62に記憶すると、記憶した共有データ“STN31DataL”を、共有メモリ領域(グローバル共有メモリ領域51a)の低速転送ブロック38として設定されているアドレス62に記憶する。
データ転送装置DT5は、第2の転送タイミングを検出すると、共有メモリ領域(グローバル共有メモリ領域51a)のアドレス62に記憶した共有データ“STN31DataL”を、ネットワークN1に接続された全てのステーションSTN11〜STN1nに低速転送する。そして、全てのステーションSTN11〜STN1nは、転送された共有データ“STN31DataL”を、共有メモリ領域(グローバル共有メモリ領域50a)の低速転送ブロック38として設定されているアドレス62に記憶する。
これにより、制御装置PCS11は、ネットワークN1のSTN11に転送されたデータ“STN31Data”を読み出すことができる。
なお、図3に示した例では、データ転送装置DT5,DT6に直接接続されているステーションが第1のステーション、及び第2のステーションに対応する。即ち、データ転送装置DT5に接続されているステーションSTN11が第1のステーションに対応し、ステーションSTN21が第2のステーションに対応する。また、データ転送装置DT6も同様に、データ転送装置DT6に接続されているステーションSTN21が第1のステーションに対応し、ステーションSTN31が第2のステーションに対応する。
データ転送装置DT5に接続されているステーションSTN11が第1のステーションに対応し、ステーションSTN21が第2のステーションとした場合には、ステーションSTN11の共有メモリ(グローバル共有メモリ領域50a)が第1の記憶手段に対応し、ステーションSTN21の共有メモリ領域(グローバル共有メモリ領域54a)が第2の記憶手段に対応し、データ転送装置DT5の共有メモリ領域(グローバル共有メモリ領域51a)が第3の記憶手段に対応し、データ転送装置DT5の共有メモリ領域(グローバル共有メモリ領域53a)が第4の記憶手段に対応する。
第2の実施形態であるネットワーク制御装置1bによれば、第1の実施形態に係るネットワーク制御装置1による効果に加えて、各ネットワーク間における共有データの転送速度を複数設定することが可能となるため、よりネットワークの効率の良い利用が可能となる。
<第3の実施形態>
次に、第3の実施形態であるネットワーク制御装置1cについて説明する。
図8は、先頭アドレスから連続した領域として設定されたグローバル共有メモリ領域11の一例を示した説明図である。
図8に示すように、連続した領域をグローバル共有メモリ領域11とすることにより、ネットワーク間のデータ転送装置のデータ転送速度の高速化が達成できる。しかし、連続領域しか設定できないようにすると、利用者にとって、グローバル共有メモリ領域11の追加・改造時に不便な場合がある。
そこで、第3の実施形態であるネットワーク制御装置1cは、グローバル共有メモリ領域11を、ネットワーク共有メモリ空間の任意の領域に自由に設定できるようにする。
図9は、第3の実施形態に係るネットワーク制御装置1cの装置構成を示した構成図である。
図9に示すように、第3の実施形態に係るネットワーク制御装置1cは、第1の実施形態に係るネットワーク制御装置1の構成に加え、全てのネットワークで共有するメモリ領域(グローバル共有メモリ領域11)の設定を各ステーションSTN及びデータ転送装置DT1,DT2にダウンロードするためのエンジニアリング装置63を備える。
エンジニアリング装置63は、全てのネットワークN1,N2,N3で共有するメモリ領域(グローバル共有メモリ領域11)の設定を行う。また、エンジニアリング装置63はネットワークN1に接続されており、設定値はネットワークN1の全てのステーションSTN11〜STN1nとデータ転送装置DT1にダウンロードされる。データ転送装置DT1は、ダウンロードされた設定値をネットワークN2に転送することにより、設定値はネットワークN2の全てのステーションSTN21〜STN2nとデータ転送装置DT2にダウンロードされる。
そして、データ転送装置DT2は、ダウンロードされた設定値をネットワークN3に転送することにより、設定値は共有設定情報としてネットワークN3の全てのステーションSTN31〜STN3nにダウンロードされる。
そして、データ転送装置DT1は、設定された共有設定情報に基づいて、グローバル共有メモリ領域11を、ネットワーク共有メモリ空間の任意の領域に設定する。
図10は、共有設定情報に基づいてメモリ領域が設定されたグローバル共有メモリ領域の一例を示した説明図である。
図10に示すように、第3の実施形態に係るネットワーク制御装置1cによれば、グローバル共有メモリ領域11を、ネットワーク共有メモリ空間の任意の領域に自由に設定することを可能となり、全てのネットワークで共有するグローバル共有メモリ領域11の効率的な運用が可能となる。
なお、図9に示した構成図では、エンジニアリング装置63はネットワークN1に接続されている構成としているが、この構成に限らない。例えば、エンジニアリング装置63をそれぞれのステーションとそれぞれのデータ転送装置に個別に接続する構成とし、各々が設定値を共有設定情報としてダウンロードするようにしてもよい。
<第4の実施形態>
図11は、第4の実施形態に係るネットワーク制御装置1dの装置構成を示した構成図である。
図11に示すように、第4の実施形態に係るネットワーク制御装置1dは、第1の実施形態に係るネットワーク制御装置1の構成に含まれるデータ転送装置DT1,DT2の替わりに、全てのネットワーク間のデータ転送を実施するデータ転送装置DT7を備える。
図12は、第4の実施形態に係るネットワーク制御装置1dのデータ転送装置DT7のハードウェア構成を示す構成図である。
図12に示すように、第4の実施形態に係るネットワーク制御装置1dのデータ転送装置DT7は、送受信回路であるT/R21,29,76と、メディアアクセス制御回路であるMAC22,30,77と、バス調整回路であるARB23,31,78と、ネットワークN1の共有メモリであるCM67と、ネットワークN2の共有メモリであるCM69と、ネットワークN3の共有メモリであるCM71と、DMA25と、中枢的な制御を行うMPU26と、転送パラメータ取込インタフェース回路であるI/F27と、転送パラメータ格納部であるFROM28と、転送制御回路であるCNT90,92,94と、転送周期監視回路であるWAT91,93,95とを備えている。
CM67は、図1(a)に示した共有メモリ2と同様に、ネットワークN1〜N3で共有可能な領域(グローバル共有メモリ領域67a)と、ネットワークN1の中だけで有効な領域(ローカル共有メモリ領域67b)に分けられて設定されている。
CM69は、図1(a)に示した共有メモリ3と同様に、ネットワークN1〜N3で共有可能な領域(グローバル共有メモリ領域69a)と、ネットワークN2の中だけで有効な領域(ローカル共有メモリ領域69b)に分けられて設定されている。
CM71は、図1(a)に示した共有メモリ4と同様に、ネットワークN1〜N3で共有可能な領域(グローバル共有メモリ領域71a)と、ネットワークN3の中だけで有効な領域(ローカル共有メモリ領域71b)に分けられて設定されている。
CNT90は、データ転送装置DT7からステーションSTN11〜STN1nへ共有データを転送する際の転送周期である第1の転送周期を決定する。
WAT91は、CNT90により決定された第1の転送周期に基づいて、データ転送装置DT1からステーションSTN11〜STN1nへ共有データを転送する時点である第2の転送タイミングを検出する。さらに、WAT91は、ステーションSTN21〜STN2n、及びステーションSTN31〜STN3nからデータ転送装置DT7へ共有データを受信する時点である第1の転送タイミングを、第2の転送タイミングより所定時間以前の時点として検出する。そして、WAT91は、この第1の転送タイミング、又は第2の転送タイミングを検出したとき、これらを検出したことを示す信号をMPU26に供給する。
CNT92は、データ転送装置DT7からステーションSTN21〜STN2nとへ共有データを転送する際の転送周期である第2の転送周期を決定する。
WAT93は、CNT92により決定された第2の転送周期に基づいて、データ転送装置DT7からステーションSTN21〜STN2nへ共有データを転送する時点である第4の転送タイミングを検出する。さらに、WAT93は、ステーションSTN11〜STN1n、及びステーションSTN31〜STN3nからデータ転送装置DT7へ共有データを受信する時点である第3の転送タイミングを、第4の転送タイミングより所定時間以前の時点として検出する。そして、WAT93は、この第3の転送タイミング、又は第4の転送タイミングを検出したとき、これらを検出したことを示す信号をMPU26に供給する。
CNT94は、データ転送装置DT7からステーションSTN31〜STN3nとへ共有データを転送する際の転送周期である第3の転送周期を決定する。
WAT95は、CNT94により決定された第3の転送周期に基づいて、データ転送装置DT7からステーションSTN31〜STN3nへ共有データを転送する時点である第6の転送タイミングを検出する。さらに、WAT95は、ステーションSTN11〜STN1n、及びステーションSTN21〜STN2nからデータ転送装置DT7へ共有データを受信する時点である第5の転送タイミングを、第6の転送タイミングより所定時間以前の時点として検出する。そして、WAT95は、この第5の転送タイミング、又は第6の転送タイミングを検出したとき、これらを検出したことを示す信号をMPU26に供給する。
また、FROM28には、各ネットワーク上のグローバル共有メモリの対象となる共有メモリに関する情報が記憶されている。具体的には、FROM28には、グローバル共有メモリ領域のアドレスとデータ転送の方向とが関連付けられて、共有メモリに関する情報として記憶されている。
このグローバル共有メモリの対象となる共有メモリに関する情報は、外部インタフェースから転送パラメータ取込インタフェース回路であるI/F27、及びMPU26を介して、FROM28に格納される。また、グローバル共有メモリの対象となる共有メモリに関する情報は、ネットワークN1、ネットワークN2ネットワークN3を介して取り込みを行うこともできる。
MPU26は、その機能上、第1の転送手段26aと、第2の転送手段26bと、第3の転送手段26cとを備えている。そして、第1の転送手段26aと、第2の転送手段26bと、第3の転送手段26cとは、FROM28に格納されたグローバル共有メモリに関する情報を読み込み、読み込んだ設定情報に基づいて、以下の制御を行う。
MPU26の第1の転送手段26aは、CNT90により決定された第1の転送周期に基づいて、ステーションSTN21〜STN2n、及びステーションSTN31〜STN3nのグローバル共有メモリ領域に記憶された共有データを、このグローバル共有メモリ領域におけるアドレスと同一のアドレスになるように、それぞれCM69、及びCM71のグローバル共有メモリ領域に記憶させる。
具体的には、第1の転送手段26aは、第1の転送タイミングにおいて、ネットワークN2から受信した共有データを、T/R29、MAC30、及びARB31を用いて、CM69に記憶させる。さらに、第1の転送手段26aは、第1の転送タイミングにおいて、ネットワークN3から受信した共有データを、T/R76、MAC77、及びARB78を用いて、CM71に記憶させる。
また、MPU26の第1の転送手段26aは、CNT92により決定された第2の転送周期に基づいて、ステーションSTN11〜STN1n、及びステーションSTN31〜STN3nのグローバル共有メモリ領域に記憶された共有データを、このグローバル共有メモリ領域におけるアドレスと同一のアドレスになるように、それぞれCM67、及びCM71のグローバル共有メモリ領域に記憶させる。
具体的には、第1の転送手段26aは、第3の転送タイミングにおいて、ネットワークN1から受信した共有データを、T/R21、MAC22、及びARB23を用いて、CM67に記憶させる。さらに、第1の転送手段26aは、第3の転送タイミングにおいて、ネットワークN3から受信した共有データを、T/R76、MAC77、及びARB78を用いて、CM71に記憶させる。
さらに、MPU26の第1の転送手段26aは、CNT94により決定された第3の転送周期に基づいて、ステーションSTN11〜STN1n、及びステーションSTN21〜STN2nのグローバル共有メモリ領域に記憶された共有データを、このグローバル共有メモリ領域におけるアドレスと同一のアドレスになるように、それぞれCM67、及びCM69のグローバル共有メモリ領域に記憶させる。
具体的には、第1の転送手段26aは、第5の転送タイミングにおいて、ネットワークN1から受信した共有データを、T/R21、MAC22、及びARB23を用いて、CM67に記憶させる。さらに、第1の転送手段26aは、第5の転送タイミングにおいて、ネットワークN2から受信した共有データを、T/R29、MAC30、及びARB31を用いて、CM69に記憶させる。
MPU26の第2の転送手段26bは、第1の転送手段26aにより、共有データがCM67のグローバル共有メモリ領域に記憶された場合には、この共有データを、CM67のグローバル共有メモリ領域におけるアドレスと同一のアドレスになるようにCM69、及びCM71のグローバル共有メモリ領域に記憶する。
具体的には、第2の転送手段26bは、CM67のグローバル共有メモリ領域に記憶された共有データを、ARB23、DMA25、及びARB31を用いて、CM69のグローバル共有メモリ領域に記憶する。さらに、第2の転送手段26bは、CM69のグローバル共有メモリ領域に記憶された共有データを、ARB31、DMA25、及びARB78を用いて、CM71のグローバル共有メモリ領域に記憶する。
また、MPU26の第2の転送手段26bは、第1の転送手段26aにより、共有データがCM69のグローバル共有メモリ領域に記憶された場合には、この共有データを、CM69のグローバル共有メモリ領域におけるアドレスと同一のアドレスになるようにCM67、及びCM71のグローバル共有メモリ領域に記憶する。
具体的には、第2の転送手段26bは、CM69のグローバル共有メモリ領域に記憶された共有データを、ARB31、DMA25、及びARB23を用いて、CM67のグローバル共有メモリ領域に記憶させる。さらに、第2の転送手段26bは、CM69のグローバル共有メモリ領域に記憶された共有データを、ARB31、DMA25、及びARB78を用いて、CM71のグローバル共有メモリ領域に記憶させる。
さらに、MPU26の第2の転送手段26bは、第1の転送手段26aにより、共有データがCM71のグローバル共有メモリ領域に記憶された場合には、この共有データを、CM71のグローバル共有メモリ領域におけるアドレスと同一のアドレスになるようにCM67、及びCM69のグローバル共有メモリ領域に記憶する。
具体的には、第2の転送手段26bは、CM71のグローバル共有メモリ領域に記憶された共有データを、ARB78、DMA25、及びARB23を用いて、CM67のグローバル共有メモリ領域に記憶する。さらに、第2の転送手段26bは、CM71のグローバル共有メモリ領域に記憶された共有データを、ARB78、DMA25、及びARB31を用いて、CM69のグローバル共有メモリ領域に記憶する。
MPU26の第3の転送手段26cは、WAT91から供給された第1の転送周期に基づいて、CM67のグローバル共有メモリ領域に記憶された共有データを、CM67のグローバル共有メモリ領域におけるアドレスと同一のアドレスになるように、ステーションSTN11〜STN1nのグローバル共有メモリ領域に記憶させる。
具体的には、第3の転送手段26cは、第2の転送タイミングにおいて、CM67のグローバル共有メモリ領域に記憶された共有データを、ARB23、MAC22、及びT/R21を用いて、ステーションSTN11〜STN1nのグローバル共有メモリ領域に記憶させる。
また、MPU26の第3の転送手段26cは、WAT93から供給された第2の転送周期に基づいて、CM69のグローバル共有メモリ領域に記憶された共有データを、CM69のグローバル共有メモリ領域におけるアドレスと同一のアドレスになるように、ステーションSTN21〜STN2nのグローバル共有メモリ領域に記憶させる。
具体的には、第3の転送手段26cは、第4の転送タイミングにおいて、CM69のグローバル共有メモリ領域に記憶された共有データを、ARB31、MAC30、及びT/R29を用いて、ステーションSTN21〜STN2nのグローバル共有メモリ領域に記憶させる。
さらに、MPU26の第3の転送手段26cは、WAT95から供給された第3の転送周期に基づいて、CM71のグローバル共有メモリ領域に記憶された共有データを、CM71のグローバル共有メモリ領域におけるアドレスと同一のアドレスになるように、ステーションSTN31〜STN3nのグローバル共有メモリ領域に記憶させる。
具体的には、第3の転送手段26cは、第6の転送タイミングにおいて、CM71のグローバル共有メモリ領域に記憶された共有データを、ARB78、MAC77、及びT/R76を用いて、ステーションSTN31〜STN3nのグローバル共有メモリ領域に記憶させる。
次に、図13を参照して、本発明の第4の実施形態であるネットワーク制御装置1dの作用について説明する。
図13は、本発明の第4の実施形態であるネットワーク制御装置1dにおいて、各ネットワークN1,N2,N3間における共有データのデータ転送を説明した図である。
図13では、説明を簡略化するため、ネットワークN1に接続されるステーションSTN11〜STN1nのうち、ステーションSTN11のみを図示している。また、同様に、ネットワークN2に接続されるステーションSTN21〜STN2nのうち、ステーションSTN21のみを図示し、ネットワークN3に接続されるステーションSTN31〜STN3nのうち、ステーションSTN31のみを図示している。
図13に示すように、データ転送装置DT7と、共有メモリを備えており、それぞれの共有メモリは、ネットワークN1,N2,N3で共有可能なグローバル共有メモリ領域と、各ネットワークの中だけで有効なローカル共有メモリ領域に分けて設定されている。
また、図示しないが、n個のステーションSTN11〜STN1nと、n個のステーションSTN21〜STN2nと、n個のステーションSTN31〜STN3nも同様に、共有メモリを備えており、それぞれの共有メモリは、ネットワークN1,N2,N3で共有可能なグローバル共有メモリ領域と、各ネットワークの中だけで有効なローカル共有メモリ領域に分けて設定されている。
ここで、ステーションSTN11〜STN1nへ共有データを転送する際の転送周期を第1の転送周期とし、ステーションSTN21〜STN2nへ共有データを転送する際の転送周期を第2の転送周期とし、ステーションSTN31〜STN3nへ共有データを転送する際の転送周期を第3の転送周期とする。
そして、データ転送装置DT7は、第1の転送周期に基づいて、ステーションSTN21〜STN2n、及びステーションSTN31〜STN3nからデータ転送装置DT7へ共有データを受信する時点を第1の転送タイミングとし、データ転送装置DT7からステーションSTN11〜STN1nへ共有データを転送する時点を第2の転送タイミングとして検出する。
また、データ転送装置DT7は、第2の転送周期に基づいて、ステーションSTN11〜STN1n、及びステーションSTN31〜STN3nからデータ転送装置DT7へ共有データを受信する時点を第3の転送タイミングとし、データ転送装置DT7からステーションSTN21〜STN2nへ共有データを転送する時点を第4の転送タイミングとして検出する。
さらに、データ転送装置DT7は、第3の転送周期に基づいて、ステーションSTN11〜STN1n、及びステーションSTN21〜STN2nからデータ転送装置DT7へ共有データを受信する時点を第5の転送タイミングとし、データ転送装置DT7からステーションSTN31〜STN3nへ共有データを転送する時点を第6の転送タイミングとして検出する。
ここでは、まず、ネットワークN1のステーションSTN11に接続されている制御装置PCS11が、グローバル共有メモリ領域に記憶された共有データを更新する場合におけるネットワーク制御装置1の作用について説明する。
図13に示すように、ネットワークN1のステーションSTN11に接続された制御装置PCS11が、ステーションSTN11の共有メモリ(グローバル共有メモリ領域)のアドレス64(図示しない)にデータ“STN11Data”を書き込むと、ステーションSTN11は、書き込まれたデータ“STN11Data”を、データ転送装置DT7を含むネットワークN1の全ステーションSTN12〜STN1nに転送する。
そして、データ転送装置DT7は、第3の転送タイミング、又は第5のタイミングを検出すると、転送された共有データ“STN11Data”を受信し、受信した共有データ“STN11Data”を、CM67に含まれる共有メモリ領域(グローバル共有メモリ領域67a)のアドレス64に記憶する。
次に、データ転送装置DT7は、共有メモリ領域(グローバル共有メモリ領域67a)のアドレス64に記憶すると、記憶した共有データ“STN11Data”を、共有メモリ領域(グローバル共有メモリ領域69a)のアドレス64に記憶する。さらに、データ転送装置DT7は、共有メモリ領域(グローバル共有メモリ領域69a)のアドレス64に記憶すると、記憶した共有データ“STN11Data”を、共有メモリ領域(グローバル共有メモリ領域71a)のアドレス64に記憶する。
データ転送装置DT7は、第4の転送タイミングを検出すると、共有メモリ領域(グローバル共有メモリ領域69a)のアドレス64に記憶された共有データ“STN11Data”を、ネットワークN2に接続された全てのステーションSTN21〜STN2n(図13では、ステーションSTN21のみを示す)に転送する。そして、全てのステーションSTN21〜STN2nは、転送された共有データ“STN11Data”を、共有メモリ領域(グローバル共有メモリ領域)のアドレス64(図示しない)に記憶する。
さらに、データ転送装置DT7は、第6の転送タイミングを検出すると、共有メモリ領域(グローバル共有メモリ領域71a)のアドレス64に記憶された共有データ“STN11Data”を、ネットワークN3に接続された全てのステーションSTN31〜STN3n(図13では、ステーションSTN31のみを示す)に転送する。そして、全てのステーションSTN31〜STN3nは、転送された共有データ“STN11Data”を、共有メモリ領域(グローバル共有メモリ領域)のアドレス64(図示しない)に記憶する。
これにより、制御装置PCS21は、ネットワークN2のSTN21に転送されたデータ“STN11Data”を読み出すことができ、制御装置PCS31は、ネットワークN3のSTN31に転送されたデータ“STN11Data”を読み出すことができる。
次に、ネットワークN3のステーションSTN31に接続されている制御装置PCS31が、グローバル共有メモリ領域に記憶された共有データを更新する場合におけるネットワーク制御装置1dの作用について説明する。
図13に示すように、ネットワークN3のステーションSTN31に接続された制御装置PCS31が、ステーションSTN31の共有メモリ(グローバル共有メモリ領域)のアドレス66(図示しない)にデータ“STN31Data”を書き込むと、ステーションSTN31は、書き込まれたデータ“STN31Data”を、データ転送装置DT7を含むネットワークN3の全ステーションSTN31〜STN3nに転送する。
そして、データ転送装置DT7は、第1の転送タイミング、又は第3の転送タイミングを検出すると、転送された共有データ“STN31Data”を受信し、受信した共有データ“STN31Data”を、共有メモリ領域(グローバル共有メモリ領域71a)のアドレス66に記憶する。
次に、データ転送装置DT7は、共有メモリ領域(グローバル共有メモリ領域71a)のアドレス66に記憶すると、記憶した共有データ“STN31Data”を、共有メモリ領域(グローバル共有メモリ領域69a)のアドレス66に記憶する。さらに、データ転送装置DT7は、共有メモリ領域(グローバル共有メモリ領域67a)のアドレス66に記憶すると、記憶した共有データ“STN31Data”を、共有メモリ領域(グローバル共有メモリ領域67a)のアドレス66に記憶する。
データ転送装置DT7は、第4の転送タイミングを検出すると、共有メモリ領域(グローバル共有メモリ領域69a)のアドレス66に記憶された共有データ“STN31Data”を、ネットワークN2に接続された全てのステーションSTN21〜STN2n(図13では、ステーションSTN21のみを示す)に転送する。そして、全てのステーションSTN21〜STN2nは、転送された共有データ“STN31Data”を、共有メモリ領域(グローバル共有メモリ領域)のアドレス66(図示しない)に記憶する。
さらに、データ転送装置DT7は、第2の転送タイミングを検出すると、共有メモリ領域(グローバル共有メモリ領域67a)のアドレス66に記憶された共有データ“STN31Data”を、ネットワークN1に接続された全てのステーションSTN11〜STN1n(図13では、ステーションSTN11のみを示す)に転送する。そして、全てのステーションSTN11〜STN1nは、転送された共有データ“STN31Data”を、共有メモリ領域(グローバル共有メモリ領域)のアドレス66(図示しない)に記憶する。
これにより、制御装置PCS11は、ネットワークN1のSTN11に転送されたデータ“STN31Data”を読み出すことができ、制御装置PCS21は、ネットワークN2のSTN21に転送されたデータ“STN31Data”を読み出すことができる。
このように、データ転送装置DT1は、転送先のネットワークの転送周期に応じてデータ転送を行うので、同一の共有データを複数回転送することなく、また、常に最新の共有データを転送することができる。
以上のように、第4の実施形態に係るネットワーク制御装置1dによれば、データ転送装置の集約化、設置場所の削減により、グローバル共有メモリ領域の効率的な運用が可能となり、コストダウンが可能となる。
さらに、データ転送装置DT7によって、グローバル共有メモリ領域に記憶されたデータが各ネットワークに転送されるので、データ転送DT7に接続するネットワークが増加しても、全てのネットワークに対して、転送遅延を生じさせることなく、より高速にデータ転送を行うことができる。
<第5の実施形態>
本発明の第5の実施形態に係るネットワーク制御装置は、本発明の第4の実施形態に係るネットワーク制御装置1dと同様に、ネットワークN1〜N3と接続されており、これらネットワークN1〜N3間のデータ転送を実施するデータ転送装置DT8を備える。
また、本発明の第5の実施形態に係るネットワーク制御装置は、各ネットワークN1〜N3のステーションの共有メモリは、共有データの優先順位毎に複数に分割されている。具体的には、第2の実施形態に係るネットワーク制御装置1bと同様に、ネットワークN1の共有メモリは、高速転送ブロック36、中速転送ブロック37、低速転送ブロック38の3種類の転送速度のクラスに分けて設定されている。さらに、ネットワークN2の共有メモリ及びネットワークN3の共有メモリについても同様に3種類の優先順位のクラスに分けて設定されている。
図14は、第5の実施形態に係るネットワーク制御装置1eのデータ転送装置DT8のハードウェア構成を示す構成図である。
図14に示すように、第5の実施形態に係るネットワーク制御装置1eのデータ転送装置DT8は、送受信回路であるT/R21,29,76と、メディアアクセス制御回路であるMAC22,30,77と、バス調整回路であるARB23,31,78と、ネットワークN1の共有メモリであるCM80と、ネットワークN2の共有メモリであるCM82と、ネットワークN3の共有メモリであるCM84と、DMA25と、中枢的な制御を行うMPU26と、転送パラメータ取込インタフェース回路であるI/F27と、転送パラメータ格納部であるFROM28と、転送制御回路であるCNT90,92,94と、転送周期監視回路であるWAT91,93,95とを備えている。
CM80は、図5(a)に示した共有メモリ50と同様に、ネットワークN1〜N3で共有可能な領域(グローバル共有メモリ領域80a)と、ネットワークN1の中だけで有効な領域(ローカル共有メモリ領域80b)に分けられて設定されている。さらに、グローバル共有メモリ領域は、図5(a)に示した共有メモリ50と同様に、共有データの優先順位毎に複数に分割されている。具体的には、グローバル共有メモリ領域は、高速転送ブロック36、中速転送ブロック37、低速転送ブロック38の3種類の転送速度のクラスに分けて設定されている。
CM82は、図5(a)に示した共有メモリ54と同様に、ネットワークN1〜N3で共有可能な領域(グローバル共有メモリ領域82a)と、ネットワークN2の中だけで有効な領域(ローカル共有メモリ領域82b)に分けられて設定されている。さらに、グローバル共有メモリ領域は、図5(a)に示した共有メモリ54と同様に、共有データの優先順位毎に複数に分割されている。具体的には、グローバル共有メモリ領域は、高速転送ブロック36、中速転送ブロック37、低速転送ブロック38の3種類の転送速度のクラスに分けて設定されている。
CM84は、図5(a)に示した共有メモリ58と同様に、ネットワークN1〜N3で共有可能な領域(グローバル共有メモリ領域84a)と、ネットワークN3の中だけで有効な領域(ローカル共有メモリ領域84b)に分けられて設定されている。さらに、グローバル共有メモリ領域は、図5(a)に示した共有メモリ58と同様に、共有データの優先順位毎に複数に分割されている。具体的には、グローバル共有メモリ領域は、高速転送ブロック36、中速転送ブロック37、低速転送ブロック38の3種類の転送速度のクラスに分けて設定されている。
PRI49は、データ転送装置DT8と、ステーションSTN11〜STN1nと、ステーションSTN21〜STN2nと、ステーションSTN31〜STN3nとの間で共有データを転送する際における優先順位を優先順位情報として記憶している。優先順位情報には、各グローバル共有メモリのアドレスと高速、中速、又は低速を示す優先順位が関連づけて記憶されている。
CNT90は、PRI49から優先順位情報を読み出し、この優先順位情報に基づいて、データ転送装置DT8からステーションSTN11〜STN1nへ共有データを転送する際の転送周期である第1の転送周期を決定する。具体的には、CNT90は、優先順位情報が示す高速、中速、又は低速に応じて転送周期を選択し、選択した転送周期を第1の転送周期とする。
WAT91は、CNT90により決定された第1の転送周期に基づいて、データ転送装置DT8からステーションSTN11〜STN1nへ共有データを転送する時点である第2の転送タイミングを検出する。さらに、WAT91は、ステーションSTN21〜STN2n、ステーションSTN31〜STN3nからデータ転送装置DT8へ共有データを受信する時点である第1の転送タイミングを、第2の転送タイミングより所定時間以前の時点として検出する。そして、WAT91は、この第1の転送タイミング、又は第2の転送タイミングを検出したとき、これらを検出したことを示す信号をMPU26に供給する。
CNT92は、PRI49から優先順位情報を読み出し、この優先順位情報に基づいて、データ転送装置DT8からステーションSTN21〜STN2nへ共有データを転送する際の転送周期である第2の転送周期を決定する。具体的には、CNT92は、優先順位情報が示す高速、中速、又は低速に応じて転送周期を選択し、選択した転送周期を第2の転送周期とする。
WAT93は、CNT92により決定された第2の転送周期に基づいて、データ転送装置DT8からステーションSTN21〜STN2nへ共有データを転送する時点である第4の転送タイミングを検出する。さらに、WAT93は、ステーションSTN11〜STN1n、及びステーションSTN31〜STN3nからデータ転送装置DT8へ共有データを転送する時点である第3の転送タイミングを、第4の転送タイミングより所定時間以前の時点として検出する。そして、WAT93は、この第3の転送タイミング、又は第4の転送タイミングを検出したとき、これらを検出したことを示す信号をMPU26に供給する。
CNT94は、PRI49から優先順位情報を読み出し、この優先順位情報に基づいて、データ転送装置DT8からステーションSTN31〜STN3nへ共有データを転送する際の転送周期である第3の転送周期を決定する。具体的には、CNT94は、優先順位情報が示す高速、中速、又は低速に応じて転送周期を選択し、選択した転送周期を第3の転送周期とする。
WAT95は、CNT94により決定された第3の転送周期に基づいて、データ転送装置DT8からステーションSTN31〜STN3nへ共有データを転送する時点である第6の転送タイミングを検出する。さらに、WAT95は、ステーションSTN11〜STN1n、及びステーションSTN21〜STN2nからデータ転送装置DT8へ共有データを転送する時点である第5の転送タイミングを、第6の転送タイミングより所定時間以前の時点として検出する。そして、WAT95は、この第5の転送タイミング、又は第6の転送タイミングを検出したとき、これらを検出したことを示す信号をMPU26に供給する。
MPU26は、その機能上、第1の転送手段26aと、第2の転送手段26bと、第3の転送手段26cとを備えている。そして、第1の転送手段26aと、第2の転送手段26bと、第3の転送手段26cとは、FROM28に格納されたグローバル共有メモリに関する情報を読み込み、読み込んだ設定情報に基づいて、以下の制御を行う。
MPU26の第1の転送手段26aは、CNT90により決定された第1の転送周期に基づいて、ステーションSTN21〜STN2n、及びステーションSTN31〜STN3nのグローバル共有メモリ領域に記憶された共有データを、このグローバル共有メモリ領域におけるアドレスと同一のアドレスになるように、それぞれCM82、及びCM84のグローバル共有メモリ領域に記憶させる。
具体的には、第1の転送手段26aは、第1の転送タイミングにおいて、ネットワークN2から受信した共有データを、T/R29、MAC30、及びARB31を用いて、CM82に記憶させる。さらに、第1の転送手段26aは、第1の転送タイミングにおいて、ネットワークN3から受信した共有データを、T/R76、MAC77、及びARB78を用いて、CM84に記憶させる。
また、MPU26の第1の転送手段26aは、CNT92により決定された第2の転送周期に基づいて、ステーションSTN11〜STN1n、及びステーションSTN31〜STN3nのグローバル共有メモリ領域に記憶された共有データを、このグローバル共有メモリ領域におけるアドレスと同一のアドレスになるように、それぞれCM80、及びCM84のグローバル共有メモリ領域に記憶させる。
具体的には、第1の転送手段26aは、第3の転送タイミングにおいて、ネットワークN1から受信した共有データを、T/R21、MAC22、及びARB23を用いて、CM80に記憶させる。さらに、第1の転送手段26aは、第3の転送タイミングにおいて、ネットワークN3から受信した共有データを、T/R76、MAC77、及びARB78を用いて、CM84に記憶させる。
さらに、MPU26の第1の転送手段26aは、CNT94により決定された第3の転送周期に基づいて、ステーションSTN11〜STN1n、及びステーションSTN21〜STN2nのグローバル共有メモリ領域に記憶された共有データを、このグローバル共有メモリ領域におけるアドレスと同一のアドレスになるように、それぞれCM80、及びCM82のグローバル共有メモリ領域に記憶させる。
具体的には、第1の転送手段26aは、第5の転送タイミングにおいて、ネットワークN1から受信した共有データを、T/R21、MAC22、及びARB23を用いて、CM80に記憶させる。さらに、第1の転送手段26aは、第5の転送タイミングにおいて、ネットワークN2から受信した共有データを、T/R29、MAC30、及びARB31を用いて、CM82に記憶させる。
MPU26の第2の転送手段26bは、第1の転送手段26aにより、共有データがCM80のグローバル共有メモリ領域に記憶された場合には、この共有データを、CM80のグローバル共有メモリ領域におけるアドレスと同一のアドレスになるようにCM82、及びCM84のグローバル共有メモリ領域に記憶する。
具体的には、第2の転送手段26bは、CM80のグローバル共有メモリ領域に記憶された共有データを、ARB23、DMA25、及びARB31を用いて、CM82のグローバル共有メモリ領域に記憶する。さらに、第2の転送手段26bは、CM82のグローバル共有メモリ領域に記憶された共有データを、ARB31、DMA25、及びARB78を用いて、CM84のグローバル共有メモリ領域に記憶する。
また、MPU26の第2の転送手段26bは、第1の転送手段26aにより、共有データがCM82のグローバル共有メモリ領域に記憶された場合には、この共有データを、CM82のグローバル共有メモリ領域におけるアドレスと同一のアドレスになるようにCM80、及びCM84のグローバル共有メモリ領域に記憶する。
具体的には、第2の転送手段26bは、CM82のグローバル共有メモリ領域に記憶された共有データを、ARB31、DMA25、及びARB23を用いて、CM80のグローバル共有メモリ領域に記憶させる。さらに、第2の転送手段26bは、CM82のグローバル共有メモリ領域に記憶された共有データを、ARB31、DMA25、及びARB78を用いて、CM84のグローバル共有メモリ領域に記憶させる。
さらに、MPU26の第2の転送手段26bは、第1の転送手段26aにより、共有データがCM84のグローバル共有メモリ領域に記憶された場合には、この共有データを、CM84のグローバル共有メモリ領域におけるアドレスと同一のアドレスになるようにCM80、及びCM82のグローバル共有メモリ領域に記憶する。
具体的には、第2の転送手段26bは、CM84のグローバル共有メモリ領域に記憶された共有データを、ARB78、DMA25、及びARB23を用いて、CM80のグローバル共有メモリ領域に記憶する。さらに、第2の転送手段26bは、CM84のグローバル共有メモリ領域に記憶された共有データを、ARB78、DMA25、及びARB31を用いて、CM82のグローバル共有メモリ領域に記憶する。
MPU26の第3の転送手段26cは、WAT91から供給された第1の転送周期に基づいて、CM80のグローバル共有メモリ領域に記憶された共有データを、CM80のグローバル共有メモリ領域におけるアドレスと同一のアドレスになるように、ステーションSTN11〜STN1nのグローバル共有メモリ領域に記憶させる。
具体的には、第3の転送手段26cは、第2の転送タイミングにおいて、CM80のグローバル共有メモリ領域に記憶された共有データを、ARB23、MAC22、及びT/R21を用いて、ステーションSTN11〜STN1nのグローバル共有メモリ領域に記憶させる。
また、MPU26の第3の転送手段26cは、WAT93から供給された第2の転送周期に基づいて、CM82のグローバル共有メモリ領域に記憶された共有データを、CM82のグローバル共有メモリ領域におけるアドレスと同一のアドレスになるように、ステーションSTN21〜STN2nのグローバル共有メモリ領域に記憶させる。
具体的には、第3の転送手段26cは、第4の転送タイミングにおいて、CM82のグローバル共有メモリ領域に記憶された共有データを、ARB31、MAC30、及びT/R29を用いて、ステーションSTN21〜STN2nのグローバル共有メモリ領域に記憶させる。
さらに、MPU26の第3の転送手段26cは、WAT95から供給された第3の転送周期に基づいて、CM84のグローバル共有メモリ領域に記憶された共有データを、CM84のグローバル共有メモリ領域におけるアドレスと同一のアドレスになるように、ステーションSTN31〜STN3nのグローバル共有メモリ領域に記憶させる。
具体的には、第3の転送手段26cは、第6の転送タイミングにおいて、CM84のグローバル共有メモリ領域に記憶された共有データを、ARB78、MAC77、及びT/R76を用いて、ステーションSTN31〜STN3nのグローバル共有メモリ領域に記憶させる。
次に、図15を参照して、本発明の第5の実施形態であるネットワーク制御装置1eの作用について説明する。
図15は、本発明の第5の実施形態であるネットワーク制御装置1eにおいて、各ネットワークN1,N2,N3間における共有データのデータ転送を説明した図である。
図15では、説明を簡略化するため、ネットワークN1に接続されるステーションSTN11〜STN1nのうち、ステーションSTN11のみを図示している。また、同様に、ネットワークN2に接続されるステーションSTN21〜STN2nのうち、ステーションSTN21のみを図示し、ネットワークN3に接続されるステーションSTN31〜STN3nのうち、ステーションSTN31のみを図示している。
図15に示すように、データ転送装置DT8は、各ネットワークN1〜N3に対応する共有メモリCM80,82,84を備えており、それぞれの共有メモリCM80,82,84は、ネットワークN1,N2,N3で共有可能なグローバル共有メモリ領域と、各ネットワークの中だけで有効なローカル共有メモリ領域に分けて設定されている。
また、図示しないが、n個のステーションSTN11〜STN1nと、n個のステーションSTN21〜STN2nと、n個のステーションSTN31〜STN3nも同様に、共有メモリを備えており、それぞれの共有メモリは、ネットワークN1,N2,N3で共有可能なグローバル共有メモリ領域と、各ネットワークの中だけで有効なローカル共有メモリ領域に分けて設定されている。
ここで、ステーションSTN11〜STN1nへ共有データを転送する際の転送周期を第1の転送周期とし、ステーションSTN21〜STN2nへ共有データを転送する際の転送周期を第2の転送周期とし、ステーションSTN31〜STN3nへ共有データを転送する際の転送周期を第3の転送周期とする。第1の転送周期は、優先順位情報に示される高速、中速、又は低速に応じて決定される。第2の転送周期、及び第3の転送周期についても同様に、優先順位情報に示される高速、中速、又は低速に応じて決定される。
そして、データ転送装置DT7は、第1の転送周期に基づいて、ステーションSTN21〜STN2n、及びステーションSTN31〜STN3nからデータ転送装置DT8へ共有データを受信する時点を第1の転送タイミングとし、データ転送装置DT8からステーションSTN11〜STN1nへ共有データを転送する時点を第2の転送タイミングとして検出する。
また、データ転送装置DT8は、第2の転送周期に基づいて、ステーションSTN11〜STN1n、及びステーションSTN31〜STN3nからデータ転送装置DT8へ共有データを受信する時点を第3の転送タイミングとし、データ転送装置DT8からステーションSTN21〜STN2nへ共有データを転送する時点を第4の転送タイミングとして検出する。
さらに、データ転送装置DT7は、第3の転送周期に基づいて、ステーションSTN11〜STN1n、及びステーションSTN21〜STN2nからデータ転送装置DT8へ共有データを受信する時点を第5の転送タイミングとし、データ転送装置DT8からステーションSTN31〜STN3nへ共有データを転送する時点を第6の転送タイミングとして検出する。
ここでは、まず、ネットワークN1のステーションSTN11に接続されている制御装置PCS11が、グローバル共有メモリ領域に記憶された共有データを更新する場合におけるネットワーク制御装置1の作用について説明する。
図15に示すように、ネットワークN1のステーションSTN11に接続された制御装置PCS11が、ステーションSTN11の共有メモリ(グローバル共有メモリ領域)の高速転送ブロック36のアドレス96(図示しない)にデータ“STN11DataH”を書き込むと、ステーションSTN11は、書き込まれたデータ“STN11DataH”を、データ転送装置DT8を含むネットワークN1の全ステーションSTN12〜STN1nに高速転送する。
そして、データ転送装置DT8は、第3の転送タイミング、又は第5のタイミングを検出すると、転送された共有データ“STN11DataH”を受信し、受信した共有データ“STN11DataH”を、共有メモリ領域(グローバル共有メモリ領域80a)の高速転送ブロック36のアドレス96に記憶する。
次に、データ転送装置DT8は、共有メモリ領域(グローバル共有メモリ領域80a)のアドレス96に記憶すると、記憶した共有データ“STN11DataH”を、共有メモリ領域(グローバル共有メモリ領域82a)の高速転送ブロック36のアドレス96に記憶する。さらに、データ転送装置DT8は、共有メモリ領域(グローバル共有メモリ領域82a)のアドレス96に記憶すると、記憶した共有データ“STN11DataH”を、共有メモリ領域(グローバル共有メモリ領域84a)の高速転送ブロック36のアドレス96に記憶する。
データ転送装置DT8は、第4の転送タイミングを検出すると、共有メモリ領域(グローバル共有メモリ領域82a)の高速転送ブロック36のアドレス96に記憶された共有データ“STN11DataH”を、ネットワークN2に接続された全てのステーションSTN21〜STN2n(図15では、ステーションSTN21のみを示す)に高速転送する。そして、全てのステーションSTN21〜STN2nは、転送された共有データ“STN11DataH”を、共有メモリ領域(グローバル共有メモリ領域)のアドレス96(図示しない)に記憶する。
さらに、データ転送装置DT8は、第6の転送タイミングを検出すると、共有メモリ領域(グローバル共有メモリ領域84a)の高速転送ブロック36のアドレス96に記憶された共有データ“STN11DataH”を、ネットワークN3に接続された全てのステーションSTN31〜STN3n(図15では、ステーションSTN31のみを示す)に高速転送する。そして、全てのステーションSTN31〜STN3nは、転送された共有データ“STN11DataH”を、共有メモリ領域(グローバル共有メモリ領域)の高速転送ブロック36のアドレス96(図示しない)に記憶する。
これにより、制御装置PCS21は、ネットワークN2のSTN21に転送されたデータ“STN11DataH”を読み出すことができ、制御装置PCS31は、ネットワークN3のSTN31に転送されたデータ“STN11DataH”を読み出すことができる。
次に、ネットワークN3のステーションSTN31に接続されている制御装置PCS31が、グローバル共有メモリ領域に記憶された共有データを更新する場合におけるネットワーク制御装置1eの作用について説明する。
図15に示すように、ネットワークN3のステーションSTN31に接続された制御装置PCS31が、ステーションSTN31の共有メモリ(グローバル共有メモリ領域)の低速転送ブロック38のアドレス98(図示しない)にデータ“STN31DataL”を書き込むと、ステーションSTN31は、書き込まれたデータ“STN31DataL”を、データ転送装置DT8を含むネットワークN3の全ステーションSTN31〜STN3nに低速転送する。
そして、データ転送装置DT8は、第1の転送タイミング、又は第3の転送タイミングを検出すると、転送された共有データ“STN31DataL”を受信し、受信した共有データ“STN31DataL”を、共有メモリ領域(グローバル共有メモリ領域84a)の低速転送ブロック38のアドレス98に記憶する。
次に、データ転送装置DT8は、共有メモリ領域(グローバル共有メモリ領域84a)の低速転送ブロック38のアドレス98に記憶すると、記憶した共有データ“STN31DataL”を、共有メモリ領域(グローバル共有メモリ領域82a)の低速転送ブロック38のアドレス98に記憶する。さらに、データ転送装置DT8は、共有メモリ領域(グローバル共有メモリ領域82a)のアドレス98に記憶すると、記憶した共有データ“STN31DataL”を、共有メモリ領域(グローバル共有メモリ領域80a)の低速転送ブロック38のアドレス98に記憶する。
データ転送装置DT8は、第4の転送タイミングを検出すると、共有メモリ領域(グローバル共有メモリ領域82a)の低速転送ブロック38のアドレス98に記憶された共有データ“STN31DataL”を、ネットワークN2に接続された全てのステーションSTN21〜STN2n(図15では、ステーションSTN21のみを示す)に低速転送する。そして、全てのステーションSTN21〜STN2nは、転送された共有データ“STN31DataL”を、共有メモリ領域(グローバル共有メモリ領域)の低速転送ブロック38のアドレス98(図示しない)に記憶する。
さらに、データ転送装置DT8は、第2の転送タイミングを検出すると、共有メモリ領域(グローバル共有メモリ領域80a)の低速転送ブロック38のアドレス98に記憶された共有データ“STN31DataL”を、ネットワークN1に接続された全てのステーションSTN11〜STN1n(図15では、ステーションSTN11のみを示す)に転送する。そして、全てのステーションSTN11〜STN1nは、転送された共有データ“STN31DataL”を、共有メモリ領域(グローバル共有メモリ領域)の低速転送ブロック38のアドレス98(図示しない)に記憶する。
これにより、制御装置PCS11は、ネットワークN1のSTN11に転送されたデータ“STN31Data”を読み出すことができ、制御装置PCS21は、ネットワークN2のSTN21に転送されたデータ“STN31Data”を読み出すことができる。
このように、第5の実施形態であるネットワーク制御装置1eによれば、第4の実施形態であるネットワーク制御装置1dの効果に加えて、各ネットワーク間における共有データの転送速度を複数設定することが可能となるため、ネットワークの更なる効率の良い利用が可能となる。
<第6の実施形態>
図16は、第6の実施形態に係るネットワーク制御装置1fの装置構成を示した構成図である。
図16に示すように、第6の実施形態に係るネットワーク制御装置1fは、第1の実施形態に係るネットワーク制御装置1の構成に、更にデータ転送装置DT9と、データ転送装置DT10とを備えている。
そして、データ転送装置DT9とステーションSTN11〜STN1nとはネットワークN4を介して接続されており、データ転送装置DT9とデータ転送装置DT10とステーションSTN21〜STN2nとはネットワークN5を介して接続されており、データ転送装置DT10とステーションSTN31〜STN3nとはネットワークN6を介して接続されている。
図16に示すように、第6の実施形態に係るネットワーク制御装置1fでは、ネットワークN1〜N2がA系統として、また、ネットワークN4〜N6がB系統として全てのネットワークの転送路が二重化されている。また、データ転送装置DT1及びDT2がA系統用として、またデータ転送装置DT9及びDT10がB系統用として二重化されている。
A系統用であるデータ転送装置DT1とB系統用であるデータ転送装置DT9は常時データ転送を行っている。また、A系統用であるデータ転送装置DT2とB系統用であるデータ転送装置DT10も常時データ転送を行っている。どちらの系統のデータを使用するかは受信側のステーションで判別する。
即ち、ネットワークN1の受信側のステーションSTN11〜STN1nが、受信したデータのうち正常なデータを使用する。もし、両系統のデータ共に正常な場合はA系統のデータを使用する。同様に、ネットワークN2の受信側のステーションSTN21〜STN2Nが、受信したデータのうち正常なデータを使用する。もし、両系統のデータが正常な場合はA系統のデータを使用する。さらに、ネットワークN3の受信側のステーションSTN31〜STN3nが、受信したデータのうち正常なデータを使用する。もし、両系統のデータが正常な場合はA系統のデータを使用する。
このように、第6の実施形態に係るネットワーク制御装置1fによれば、装置構成の簡素化によるコスト低減、ネットワーク転送効率の向上、及びエンジニアリングを簡易化に加えて、二重化によって稼働率を上げることができるという効果がある。
<第7の実施形態>
図17は、第7の実施形態に係るネットワーク制御装置1gの装置構成を示した構成図である。
図17に示すように、第7の実施形態に係るネットワーク制御装置1gは、第4の実施形態に係るネットワーク制御装置1dの構成に、更にデータ転送装置DT11を備えている。
そして、データ転送装置DT11とステーションSTN11〜STN1nとはネットワークN4を介して接続されており、データ転送装置DT11とステーションSTN21〜STN2nとはネットワークN5を介して接続されており、データ転送装置DT11とステーションSTN31〜STN3nとはネットワークN6を介して接続されている。
図17に示すように、第7の実施形態に係るネットワーク制御装置1gでは、ネットワークN1〜N2がA系統として、また、ネットワークN4〜N6がB系統として全てのネットワークの転送路が二重化されている。また、データ転送装置DT7がA系統用として、またデータ転送装置DT11がB系統用として二重化されている。
A系統用であるデータ転送装置DT7とB系統用であるデータ転送装置DT11は常時データ転送を行っている。どちらの系統のデータを使用するかは受信側のステーションで判別する。
即ち、ネットワークN1の受信側のステーションSTN11〜STN1nが、受信したデータのうち正常なデータを使用する。もし、両系統のデータ共に正常な場合はA系統のデータを使用する。同様に、ネットワークN2の受信側のステーションSTN21〜STN2nが、受信したデータのうち正常なデータを使用する。もし、両系統のデータが正常な場合はA系統のデータを使用する。さらに、ネットワークN3の受信側のステーションSTN31〜STN3nが、受信したデータのうち正常なデータを使用する。もし、両系統のデータが正常な場合はA系統のデータを使用する。
このように、第7の実施形態に係るネットワーク制御装置1gによれば、装置構成の簡素化によるコスト低減、ネットワーク転送効率の向上、及びエンジニアリングを簡易化に加えて、二重化によって稼働率を上げることができるという効果がある。