(57)【特許請求の範囲】
【請求項１】
複数の局が送信先の局以外でもフレームを受信可能な通信路に接続され、該通信路を介して各局がデータを交換する処理システムにおいて、
前記複数の局の１つであるマスタ局は、
前記通信路を介して前記複数の局それぞれに対し、データ送信を要求するポーリングコマンドを順次送出するポーリングコマンド送出手段と、
を備え、
前記マスタ局を含む前記複数の局はそれぞれ、
前記ポーリングコマンドに対して自己の持つデータを格納した応答フレームを前記伝送路に送出する応答フレーム送出手段と、
前記応答フレームが自局が参照しているデータを持つ局からの応答フレームであれば、該応答フレームから前記データを抽出する抽出手段と、
自己が参照しているデータを持つ局とその局が送出した応答フレーム内の格納位置を示す情報を記憶する参照定義テーブルと、
を備え、
前記抽出手段は、前記参照定義テーブルを参照して前記応答フレームから前記データを抽出することを特徴とする処理システム。
【請求項２】
複数の局が送信先の局以外でもフレームを受信可能な通信路に接続され、該通信路を介して各局がデータを交換する処理システムにおいて、
前記複数の局の１つであるマスタ局は、
前記通信路を介して前記複数の局それぞれに対し、データ送信を要求するポーリングコマンドを順次送出するポーリングコマンド送出手段と、
を備え、
前記マスタ局を含む前記複数の局はそれぞれ、
前記ポーリングコマンドに対して自己の持つデータを格納した応答フレームを前記伝送路に送出する応答フレーム送出手段と、
前記応答フレームが自局が参照しているデータを持つ局からの応答フレームであれば、該応答フレームから前記データを抽出する抽出手段と、
自己が参照しているデータを持つ局とその局が送出した応答フレーム内の格納位置を示す情報を記憶する参照定義テーブルと、
自己が持つデータの内他局が参照しているものを示す被参照定義テーブルと
を備え、
前記抽出手段は、前記参照定義テーブルを参照して前記応答フレームから前記データを抽出し、前記応答フレーム送出手段は、前記被参照定義テーブルを参照して他局に参照されているデータのみを格納した前記応答フレームを前記伝送路に送出することを特徴とする処理システム。
【請求項３】
複数の局が送信先の局以外でもフレームを受信可能な通信路に接続され、該通信路を介して各局がデータを交換する処理システムにおいて、
前記複数の局の１つであるマスタ局は、
前記通信路を介して前記複数の局それぞれに対し、データ送信を要求するポーリングコマンドを順次送出するポーリングコマンド送出手段と、
を備え、
前記マスタ局を含む前記複数の局はそれぞれ、
前記ポーリングコマンドに対して自己の持つデータを格納した応答フレームを前記伝送路に送出する応答フレーム送出手段と、
前記応答フレームが自局が参照しているデータを持つ局からの応答フレームであれば、該応答フレームから前記データを抽出する抽出手段と、
自己が持つデータの内他局が参照しているものを示す被参照定義テーブルと
を備え、
前記応答フレーム送出手段は、前記被参照定義テーブルを参照して他局に参照されているデータのみを格納した前記応答フレームを前記伝送路に送出することを特徴とする処理システム。
【請求項４】
前記抽出手段は、前記応答フレーム内に記憶されている送信元局が、自己が参照しているデータを保持している局であった時、前記データを抽出することを特徴とする請求項１乃至３のいずれか１つに記載の処理システム。
【請求項５】
前記マスタ局は、前記複数の局の全ての局のデータ交換を完了させるポーリング周期を記憶するポーリング周期記憶手段を更に備え、前記ポーリングコマンド送出手段は、前記ポーリング周期以内に全ての局に対して前記ポーリングコマンドを送出し終えたならば、該周期が終わるまで新たなポーリングコマンドを送出しないことを特徴とする請求項１乃至４のいずれか１つに記載の処理システム。
【請求項６】
前記伝送路は、マルチドロップ方式によるものであることを特徴とする請求項１乃至５のいずれか１つに記載の処理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、機器間でデータの交換を行う処理システムに関する。
【０００２】
【従来の技術】
一般的なデータ交換を行なう機器による処理システムの例として、図８にプログラマブルコントローラ等の産業用コントローラによるシステム構成例を示す。
【０００３】
同図に例として示すシステムでは、４台のコントローラ１００−１〜１００−４が通信路２００に接続され、この通信路２００を介して、コントローラ１００間でのデータのやり取りを行なう。また同図の例では、各コントローラ１００は、それぞれ制御対象機器として入力スイッチＳＷ１〜ＳＷ４及び出力ランプＬ１〜Ｌ４をもち、また変数データＶ１〜Ｖ４をもつ。尚通信路２００上において、４台のコントローラのうち、コントローラ１００−１が通信路マスタ局、他のコントローラ１００−２〜１００−４がスレーブ局となっている。
【０００４】
各コントローラ１００−１〜１００−４は、プログラム１０１−１〜１０１−４に基いて、他のコントローラ１００の状態を参照してその値に応じて自己の動作処理を決定する。
【０００５】
図９は、図８の各コントローラ１００による参照関係を示す図である。
同図において、コントローラ１００−１は、コントローラ１００−４内の変数Ｖ４を参照し、自己に接続されているスイッチＳＷ１がオンでコントローラ１００−４の変数Ｖ４が１のとき、ランプＬ１をＯＮにすると共に変数Ｖ１に１をセットする。コントローラ１００−２はコントローラ１００−１内の変数Ｖ１を参照し、スイッチＳＷ２がオンで変数Ｖ１が１のとき、ランプＬ２をＯＮにすると共に変数Ｖ２に１をセットする。同様にコントローラ１００−３はコントローラ１００−２内の変数Ｖ３を参照し、コントローラ１００−４はコントローラ１００−２内の変数Ｖ２とコントローラ１００−３内の変数Ｖ３を参照して、その値に応じてランプＬ３、Ｌ４を制御し、また変数Ｖ３、Ｖ４の値を設定している。
【０００６】
このようなデータ交換を行なうシステムにおいては、各コントローラ１００は自己が参照しているデータの値を他のコントローラ１００から受け取り、自己に記憶している参照データ値を更新するが、このために用いられるデータ交換方式としては、
1)１マスタ対複数スレーブの構成を取ってポーリングセレクティングを行なうシリアル通信
2)トークンパッシング方式によるシリアル通信
が知られている。
【０００７】
【発明が解決しようとする課題】
上記した従来のデータ交換方式では以下のような問題点がある。
問題点１
従来のポーリングセレクティングによるデータ交換方式では、通信路マスタ１００−１が、他のスレーブ局１００−２〜１００−４から１局づつ全局から情報を収集したのち、それぞれのスレーブ局が必要とする情報のみを取り出して各局へ配信する。そのため、同じデータが通信路２００上を２回伝達されることになり伝達時間がかかる。
【０００８】
図１０を用いて、ポーリングセレクティングによるデータ交換方式を説明する。
本データ交換方式では、通信路２００上において、各局からデータを収集するデータ収集フェーズと、収集したデータから各局が必要とするデータを抽出して送信する配信フェーズが存在する。
【０００９】
収集フェーズでは、通信路マスタ１００−１は、まず最初のスレーブ局（図１０ではコントローラ１００−２）に対して、データの送信要求（リード）を行ない、これを受けたスレーブ局（コントローラ１００−２）は応答として、自局の変数値を全て通信路マスタ１００−１に返信する。次に通信路マスタ１００−１は、次のスレーブ局（図１０ではコントローラ１００−３）にデータの送信要求を送り、これを受けたスレーブ局（コントローラ１００−３）は、同様に応答を返す。以降全てのスレーブ局に対して、通信路マスタ１００−１は、順次スレーブ局にデータの送信要求を送り、応答データを受け取る。
【００１０】
全てのスレーブ局からのデータ収集が終了するとデータ配信フェーズに入り、通信路マスタ１００−１は、収集データから各スレーブ局が参照しているデータを抽出して各局毎の送信データを生成する。そしてこの送信データを最初のスレーブ局（コントローラ１００−２）に送り、これを受け取ったスレーブ局はデータを取り込むと共に受け取ったことを通知する応答を返信する。以降、通信路マスタ１００−１は、同様に、順次各スレーブ局に参照データを送信し、全ての局に送信し終わると、データ収集フェーズに戻る。
【００１１】
このポーリングセレクティングによるデータ交換方式の場合、例えば変数Ｖ２のデータはコントローラ１００−２から一旦マスタであるコントローラ１００−１へ行った後、セレクティングによって参照しているコントローラ１００−３へ送られる。
【００１２】
このように参照データは全て、通信路マスタであるコントローラ１００−１を介して参照先のコントローラ１００に伝達されるので、参照先に到達するまでに通信路２００上を２回伝達されることになり、伝達に時間がかかる。
問題点２
トークンパッシング方式の場合、システム内の局数に変化があるとデータ交換サイクルタイムが変動する。例えば通信路に接続されている局の台数が増加するとサイクルタイムが延びるので、データ交換に対して定周期性の保証がない。
【００１３】
図１１を用いて、トークンパッシングによるデータ交換方式を説明する。
同図は、図８に示したシステム構成の場合の１サイクルタイムの通信路上のデータ伝送を示している。
【００１４】
トークンパッシング方式では、通信路２００上を巡回するトークンを保持する局が、他局にデータ送信要求を行なうことができる。
図１１において、1)の時点でコントローラ１００−１がトークンを保持しており、コントローラ１００−１は変数Ｖ４を参照しているので、コントローラ１００−４に対して変数Ｖ４の値の送信要求（リード）を行ない、それに対してコントローラ１００−４は変数Ｖ４の値を返す。コントローラ１００−１はこれを取り込むと共に、トークンを次のコントローラ１００−２に渡す。コントローラ１００−２は、コントローラ１００−１と同様にして、自己が参照している変数Ｖ１の値をコントローラ１００−１から読み出すと、トークンを次のコントローラ１００−３に渡す。以降コントローラ１００−３は、コントローラ１００−２から変数Ｖ２の値を読み出すとコントローラ１００−４にトークンを渡し、コントローラ１００−４は、コントローラ１００−２から変数Ｖ２の値、コントローラ１００−３から変数Ｖ３の値を読み出すと共に、トークンをコントローラ１００−１に渡す。
【００１５】
トークンパッシング方式では、通信路上ではトークンの移動、参照データの読出しを各局が順繰りに行ない、トークンが全ての局を１順する同図中の1)から2)の範囲が１サイクルタイムとなる。そしてこのサイクルタイムは、同図に示すように、トークンを受け取りデータの参照を行なう局の数が増えると、その分時間が増大する。
【００１６】
プラントや工場等の産業用設備では、建設中の初期段階等、まだ接続台数が最終的な数となるまで機器が揃っていない時期から試験運転を行なうケースがあるが、試験信頼度の面から、このような場合の試験時にも最終接続台数の時と差異のない、全局サンプリングの周期と同じサイクルタイムで稼動することが求められる。
問題点３
産業用設備は高い信頼性が求められるが、ノイズ等が多い環境に施設されることが多いので、耐環境性を重視して通信路は低い伝送レートでの運用を強いられる。従って、低い伝送レートでも用いることが出来るよう、高い伝送効率のネットワークが求められる。
【００１７】
本発明は、上記問題点を解決するデータ交換を実現する処理システムを提供することを課題とする。
【００１８】
【課題を解決するための手段】
本発明による処理システムは、複数の局が送信先の局以外でもフレームを受信可能な通信路に接続され、該通信路を介して各局がデータを交換することを前提とする。
【００１９】
そして上記複数の局の１つであるマスタ局は、ポーリングコマンド送出手段を備える。
ポーリングコマンド送出手段は、上記通信路を介して上記複数の局それぞれに対し、データ送信を要求するポーリングコマンドを順次送出する。
【００２０】
また上記マスタ局を含む上記複数の局はそれぞれ、応答フレーム送出手段、抽出手段を備える。
応答フレーム送出手段は、上記ポーリングコマンドに対して自己の持つデータを格納した応答フレームを上記伝送路に送出する。
【００２１】
抽出手段は、上記応答フレームが自局が参照しているデータを持つ局からの応答フレームであれば、該応答フレームから上記データを抽出する。
上記ポーリングコマンドに対して応答として送出された応答フレームに対して、抽出手段は、例えば送信元アドレスを元にして、自己が参照しているデータが格納されているかを判断し、該データを抽出手段する。また自己が参照しているデータを持つ局とその局が送出した応答フレーム内の格納位置を示す情報を記憶する参照定義テーブルを更に備えていれば、該参照定義テーブルに記憶されている格納位置からデータを抽出する。
【００２２】
これにより、高速で高効率なデータ交換を実現できる。
また上記マスタ局が、上記複数の局の全ての局のデータ交換を完了させるポーリング周期を記憶するポーリング周期記憶手段を更に備え、上記ポーリングコマンド送出手段は、上記ポーリング周期以内に全ての局に対して上記ポーリングコマンドを送出し終えたならば、該周期が終わるまで新たなポーリングコマンドを送出しない構成とすることも出来る。
【００２３】
これにより、全ての局におけるデータ交換は上記ポーリング周期内に行われるので、局数に拠らずデータ交換の定周期性が保証される。
更に上記複数の局がそれぞれ、自己が持つデータの内他局が参照しているものを示す被参照定義テーブルを更に備え、上記応答フレーム送出手段は、上記被参照定義テーブルを参照して他局に参照されているデータのみを格納した上記応答フレームを上記伝送路に送出する構成とすることも出来る。
【００２４】
これにより、必要のないデータの送出がなくなるので、高い伝送効率を実現することが出来る。
【００２５】
【発明の実施の形態】
以下に図面を用いて本発明の１実施形態について説明する。
図１は、本実施形態によるネットワークでのデータ交換方式を説明するためのシステム構成例及びそのデータ交換方式を示す図である。
【００２６】
同図のシステムでは、従来例との比較の為、４台のコントローラ１−１〜１−４がマルチドロップ伝送方式による通信路２に接続され、この通信路２を介して、コントローラ１間でのデータのやり取りを行なう構成を例としている。また、各コントローラ１は、それぞれ制御対象機器として不図示の入力スイッチＳＷ１〜ＳＷ４及び出力ランプＬ１〜Ｌ４をもち、また変数データＶ１〜Ｖ４を備えている。また各コントローラ１−１〜１−４は、図９に示したコントローラ１００−１〜１００−４と同様のプログラムが稼動しており、図９と同様の参照関係を持つものとする。また初期設定として、４台のコントローラのうち、通信路２上において、１つの局を通信路マスタ局、他の局をスレーブ局とする。同図ではコントローラ１−１が通信路マスタ局、他のコントローラ１−２〜１−４がスレーブ局に設定されている。
【００２７】
本実施形態では、マスタ局であるコントローラ１−１が、他のスレーブ局１−２〜１−４に対して順次データの送出を要求するポーリングを行ない、これを受けた各スレーブ局は応答として他のコントローラ１に参照されているデータを格納したフレームを通信路２に送出する。各コントローラ１−１〜１−４は、自己が参照しているデータを保持するコントローラ１と、そのコントローラ１が送出するフレーム内でのその参照データの格納位置を記憶しており、ポーリングに対するフレーム送出に対して、そのフレームが自己が参照しているデータが格納されているものであったならば、そのデータを抽出する。
【００２８】
図１の例においては、まずマスタ局１−１はコントローラ１−１に対してデータの送信を要求するポーリングコマンド３を送出する。コントローラ１−１とはすなわちマスタ局１−１自身であるので、コントローラ１−１は自身に宛てに応答フレーム４を通信路２上に送出する。その際他のコントローラ１−２によって参照されている変数Ｖ１を応答フレーム４中に含ませる。この応答フレーム４は、通信路２に接続されて互いデータを参照する構成となっている全ての局（マスタ局１−１及び全てのスレーブ局１−２〜１−４（コントローラ１−２〜１−４））が受信し、応答フレーム４内に自己が参照しているデータが格納されていれば、それを抽出する。同図の例では、コントローラ１−２が変数Ｖ１を応答フレーム４から抽出して取りこんでいる。
【００２９】
次にマスタ局１−１は、コントローラ１−２宛てにポーリングコマンド３を送出し、コントローラ１−２は応答として変数Ｖ２のデータを格納したマスタ局１−１宛ての応答フレーム４を通信路２に送出する。そしてこの応答フレーム４を、マスタ局１−１及びスレーブ局１−２〜１−４が受信し、応答フレーム４内に自己が参照しているデータが格納されていれば、それを抽出する。同図の例では、コントローラ１−３及びコントローラ１−４が変数Ｖ２を応答フレーム４から抽出して取りこんでいる。
【００３０】
以降同様にマスタ局１−１は、順次対象となっているコントローラ１に対してポーリングコマンド３を送出してゆき、これを受けたコントローラ１から返信される応答フレーム４をコントローラ１−１〜１−４全てが受信し、自己が参照しているデータを受信した応答フレーム４内から抽出して取り込む。そしてコントローラ１−４に対する同様のポーリング処理も完了し、ポーリング処理が全てのコントローラ１−１〜１−４に対して終了すると、１サイクルタイムに対応する１ポーリング周期が完了する。そして新たなポーリング期間に入ると、マスタ局１−１は再び自局（コントローラ１―１）宛てのポーリングコマンド３を送出する。
【００３１】
これにより、従来のポーリングセレクティングによるデータ交換方式のように、参照データを必要とするコントローラ１にデータが伝達されるまでに、何度も同じデータが通信路２上を伝達されることなく、伝送効率良く、また高速にデータ交換を行なえる。
【００３２】
図２は、図１の通信路２の構成例を示す図である。
同図に示す通信路２は、マルチドロップ伝送方式によるシリアル伝送路で２本の信号線２１、２２及び両端に設けられた信号反射防止用の終端抵抗２３を備える。
【００３３】
同図の通信路２では、２本の信号線のうち一方の信号線の方が他方より電圧が高い場合“１“、逆の場合を”０”として定義されている。例えば信号線２１の方が信号線２２より電圧が高い状態を“１”、逆に信号線２２の方が信号線２１より電圧が高い状態を“０”と定義されている。データを送信する際、各コントローラ１は、データ送信用のドライバ１２を操作し、信号線の電圧を変化させてデータを送信する。また各コントローラ１では、信号線の電圧の変化を信号線２２及び２３に接続されている受信用のレシーバ１３を用いて検出して、データを受信し、フレーム内のアドレスから自己宛てのデータかどうか識別する。
【００３４】
このような構成の通信路２の場合、ネットワーク局となっている各コントローラ１−１〜１−４は、通信路２上に送出されたフレームが自己宛てでなくても受信することが出来、また送信局による１度のデータ送出によって複数の局が同時に受信することが出来る。
【００３５】
図３は、本実施形態におけるコントローラ１の構成例を示す図である。
同図は、データの送受信に関連する構成要素のうち、本実施形態でのデータ交換の説明に必要な要素のみを記載している。
【００３６】
コントローラ１は、図２で示したデータ送受信用のドライバ１２、レシーバ１３の他に、応答フレーム４の受信処理を担当する受信部１４には、参照定義テーブル１４１及び抽出部１４２を備え、応答フレーム４の送信処理を担当する送信部１５には、被参照定義テーブル１５１、抽出部１５２及びポーリング周期記憶部１５３を備える。
【００３７】
各コントローラ１にはあらかじめ自局が必要な参照データが、どの局が送出する応答フレーム４中に格納されているか、また応答フレーム４中のどの位置にそのデータがあるかを参照定義テーブル１４１に記憶して保持する。
【００３８】
同図の場合、参照定義テーブル１４１には、そのコントローラ１が参照している参照データが、局アドレス等のその参照データを持つコントローラ１を識別する識別子、及び応答フレーム４内での格納位置を示す情報等と対応付けられて登録されている。抽出部１４２は受信した応答フレーム４に対し、この参照定義テーブル１４１を参照しながら自己が参照している参照データを抽出し、コントローラ内部に取り込む。
【００３９】
この参照定義テーブル１４１及び後述する被参照定義テーブル１５１は、コントローラ１上で稼動する各プログラム１１をコンパイルする際、各コントローラ１による参照関係等を解析して生成され、プログラム１１をダウンロードする際に共にコントローラ１にダウンロードされる。
【００４０】
通信路マスタ局１−１がポーリングコマンド３を送出し、これを受けたスレーブ局が応答フレーム４を送出すると、応答フレーム４の送信先であるマスタ局１−１だけでなく、データ交換の対象となっているコントローラ１−１〜１−４全てが応答フレーム４を受信する。そして受信した応答フレーム４から、抽出ユニット１４２が、参照定義テーブル１４１に基いて必要とするデータを抽出し、取り込む。同図の場合、参照定義テーブル１４１には参照データとして変数Ｖ２，Ｖ３・・が登録されており、抽出部１４２は受信した応答フレーム４の送信元アドレス（及びコマンド）を参照し、送信元アドレスがコントローラ１−２、１−３・・のものであったなら、その応答フレーム４内の参照定義テーブル１４１に記録されている位置、例えば変数Ｖ２であったならコントローラ１−２からの応答フレーム４の後述するデータ領域の１番目の位置から抽出し、これをコントローラ内部に取り込む。
【００４１】
これにより、各コントローラ１−１〜１−４は、自己が必要としている参照データをマスタ局１−１に配りなおしてもらう必要がないので、高速で効率がよいデータ交換を実現することが出来る。またマスタ局１−１は、受信フレームからのデータの抽出や収集したデータの各コントローラへの配信処理を行なわなくて良いので、マスタ局１−１の負荷を小さくすることが出来る。
【００４２】
次に、図３の送信部１５を用いて、マスタ局１−１によりポーリングコマンド３の送信処理及び各局によるポーリングコマンド３に対する返信として送信する応答フレーム４の送信処理について説明する。
【００４３】
データ交換を行なうコントローラは、その用途によっては参照しているデータの更新が定周期で行われることが要求される。
このような要求に対して、本実施形態によるシステムでは、ポーリングコマンド３を送信するマスタ局１−１によって対処している。
【００４４】
本実施形態でのデータ交換方式ではマスタ局１−１には、自局の管理化にあり、データ交換を行なうコントローラ１−１〜１−４（自局も含む）に対して、ポーリングコマンド３を送り、返信として応答フレーム４を受け取るが、全コントローラ１−１〜１−４とのポーリング処理（ポーリングコマンド３の送信／応答フレーム４の受信）が一巡するポーリング周期をポーリング周期記憶部１５３に記憶しており、このポーリング周期より早く全コントローラ１を一巡してしまった場合は、アイドル期間を設けることにより、コントローラ１の台数の変動に拠らずにポーリング周期を一定に保つ。尚この点については、後述する。
【００４５】
また、本実施形態によるシステムでは、各コントローラ１は、他のコントローラが参照している自己のデータについて登録してある被参照定義テーブル１５１を備える。ポーリングコマンド３を受けたコントローラ１は、返送する応答フレーム４を生成する際、応答フレーム４内に自己の持つ全てのデータを格納するのではなく、抽出部１５２が被参照定義テーブル１５１を参照して、他のコントローラ１によって参照されているデータのみを格納する。これにより、必要とされているデータのみを送信することが出来る。尚本実施形態におけるコントローラ１は、この被参照定義テーブル１５１を備えない構成とすることも出来、この場合には、応答フレーム４には自己の持つ全てのデータ、若しくは他のコントローラ１による参照を考慮しない特定のデータを格納することとなる。
【００４６】
図３では、被参照定義テーブル１５１には、変数“Ｖ４”が他のコントローラ１によって参照されているデータとして備考欄、“１”がそのデータを格納する応答フレーム４での位置として位置欄に対応付けられて記憶されており、抽出部１５２は、この被参照定義テーブル１５１に基いて応答フレーム４内のデータ部にデータを格納して、例えば変数Ｖ４のデータをデータ部の“１”に対応する部分に格納して、送信フレームを生成する。
【００４７】
これにより、本実施形態では、データを格納した応答フレーム４に格納するデータ量を小さくすることが出来、伝送効率の良いデータ交換を実現することが出来る。また応答フレーム４の大きさが小さくなると、応答フレーム４の送信側及び受信側のコントローラ１において処理負荷が軽減することが出来る。
【００４８】
図４に本実施形態で、通信路２上を伝送されるフレームを示す。
同図では、上段がマスタ局１−１が送信するポーリングコマンド３のフレーム、下段が応答として送信される応答フレーム４の構成を示している。
【００４９】
コントローラ１から送出され、通信路２を伝送されるフレームは、基本的には、フレームの先頭を示すスタート部、フレームの送信先を示す宛先アドレス部、フレームの送信元を示す送信元アドレス部、宛先局への指示を格納するコマンド部、送信データを格納するデータ部及びフレームの終端を示すエンド部によって構成されている。
【００５０】
このうち、ポーリングコマンド３では、宛先アドレス部にはポーリング処理を行なうコントローラ１の局アドレス、送信元アドレス部にはマスタ局１−１の局アドレス、そしてコマンド部にはデータの送信を要求する要求コマンドが格納されている。尚ポーリングコマンド３は、データ部を備える構成でも備えない構成でも良い。
【００５１】
応答フレーム４では、宛先アドレス部にはマスタ局１−１の局アドレス、送信元アドレス部にはこの応答フレーム４を送信するコントローラ１の局アドレス、即ちポーリングコマンド３の宛先アドレス部に格納されていたアドレス、そしてコマンド部にはデータの応答であることを示す応答コマンドが格納されている。そして、応答フレーム４のデータ部には、コントローラ１が被参照定義テーブル１５１を備える場合、そのコントローラ１が参照されているデータが格納される。尚コントローラ１が、被参照定義テーブル１５１を備えない構成の場合、データ部には、自己の全ての変数のデータを格納する構成となる。
【００５２】
図５は、応答フレーム４のデータ部の構成例を示す図である。
データ部は、システムを構成するコントローラの種類や、使用目的、交換するデータ構成等によって種々の構成を取ることが考えられる。
【００５３】
同図（ａ）、（ｂ）、（ｃ）はその一例である。
同図（ａ）の構成は、格納するデータそれぞれの領域を固定長とした構成である。この構成では、格納されているデータの数を示す点数と、データ型（１，１６，３２ｂｉｔ）と３２ビットのデータ格納領域が対となって点数の領域に記録されている数だけ設けられている。また同図（ｂ）の構成は、データの格納領域を可変長としたもので、点数の領域に記憶されている数のデータ型とそのデータ型の大きさのデータ格納領域の対が点数の領域に記録されている数だけ設けられている。更に同図（ｃ）の構成は、データ部に格納するデータの型を固定としたもので、点数及びデータ型の領域を１つずつと点数に記憶されている数のデータ型領域に設定されている型のデータの格納領域が点数の領域に記録されている数だけ設けられている。参照定義テーブル１４１及び被参照定義テーブル１５１に記憶されているフレーム内の格納位置の情報は、このデータ部での位置を示すもので、例えば“１”であったならデータ部の最初のデータが対応する。
【００５４】
尚図４の応答フレーム４及び図５に示したフレームの構成は、一例であり本実施形態におけるフレームはこれに限定されるものではない。
次に、ポーリング周期を一定とした場合におけるデータ交換方式を説明する。
【００５５】
図６はポーリング周期が一定になるように制御した場合の通信路２のフレームの送出状況を示したモデル図である。
同図の場合は、最終的にコントローラ１が５台接続される構成のシステムにおいて、まだ４台しか接続されていないテスト段階の状況を示している。
【００５６】
この場合、マスタ局１−１は、コントローラ１−１、コントローラ１−２、・・と順番にポーリング処理を行ってゆくが、本来より接続台数が少ないため、最後のコントローラ１−４からの応答フレーム４を受け取った段階でかかった時間は、本来全てのコントローラ１の参照データを更新するに要する時間より短くなる。これに対処する為、マスタ局１−１は、ポーリング周期記憶部１５３にセットされている最終的な状態での周期時間にポーリング周期がなるように、アイドル期間を設けて調節する。
【００５７】
同図では、最後のコントローラ１−４が通信路２に送出した応答フレーム４を受けとった後、マスタ局１−１はすぐに次の周期には入らず、アイドル期間として自己が最初の局にポーリングコマンド３を送出してからの時間がポーリング周期記憶部１５３にセットされている時間になるまでポーリングコマンド３を送出するのを停止する。そして、ポーリング周期記憶部１５３に記憶されている時間になると、マスタ局１−１は次の周期に入って、ポーリングコマンド３を送出する。尚同図では、アイドル期間を全ての局に対するポーリング処理が完了した最後に行っているが、各局のポーリング処理の間に入れても良い。但しこの構成の場合には、最後にアイドル期間を設ける構成より、吸収出来る各局の処理による遅延の量が小さくなる。
【００５８】
図７は、システムに最終接続台数である５台のコントローラ１が接続された状態での通信路２のフレームの送出状況を示したモデル図である。
同図において、図６でアイドル期間となっていた期間に５台目のコントローラ１−５に対するポーリング処理が行われるので、コントローラ１の台数が増えてもポーリング周期は変わらず、参照データ更新の定周期性は保たれる。
【００５９】
尚、必ずしも定周期性の保証を求められるわけではないので、このポーリング周期を一定にする処理は、本実施形態によるシステムにおいて必須の処理ではなく、その用途において必要な場合にのみ行われる。
【００６０】
また、本実施形態では産業用のコントローラによるシステムを例として示しているが、本発明はこれに限定されるものではなく、各機器が通信路を介してデータを交換しながら分散処理を行うシステムすべてに対して適用することが出来る。
【００６１】
更に本実施形態では、通信路としてマルチドロップ方式のシリアル通信路を例として示したが、本発明の通信路はこれのみに限定されるものではなく、送信フレームを送信先以外の局も受け取ることが出来る通信路であればどのようなものでも良く、パラレル通信路でも、無線通信路でも良い。
【００６２】
【発明の効果】
本発明に拠ればマスタ局が行なう高速なデータ交換を実現することが出来る。また接続台数に増減があっても、データ交換の周期を一定に保つことが出来、定周期性を保証することが出来る。
【００６３】
更に無駄なデータ送出がなくなり伝送効率の高いデータ交換を実現することが出来る。
【図面の簡単な説明】
【図１】本実施形態によるネットワークでのデータ交換方式を説明するためのシステム構成例及びデータ交換方式を示す図である。
【図２】本実施形態における通信路の構成例を示す図である。
【図３】本実施形態におけるコントローラの構成例を示す図である。
【図４】通信路上を伝送されるフレームを示すモデル図である。
【図５】応答フレームのデータ部の構成例を示す図である。
【図６】ポーリング周期が一定になるように制御した場合の通信路のフレームの送出状況を示したモデル図である（全台数揃っていない場合）。
【図７】ポーリング周期が一定になるように制御した場合の通信路のフレームの送出状況を示したモデル図である（全台数揃っている場合）。
【図８】一般的なデータ交換を必要とする産業用コントローラのシステム構成例を示す図である。
【図９】各コントローラによる参照関係を示す図である。
【図１０】ポーリングセレクティングによるデータ交換方式を説明する図である。
【図１１】トークンパッシングによるデータ交換方式を説明する図である。
【符号の説明】
１  コントローラ
２  通信路
３  ポーリングコマンド
４  応答フレーム
１１プログラム
１４１  参照定義テーブル
１４２，１５２  抽出部
１５１  被参照定義テーブル
１５３  ポーリング周期記憶部
【図１】
0003903802.tif 000002
【図２】
0003903802.tif 000003
【図３】
0003903802.tif 000004
【図４】
0003903802.tif 000005
【図５】
0003903802.tif 000006
【図６】
0003903802.tif 000007
【図７】
0003903802.tif 000008
【図８】
0003903802.tif 000009
【図９】
0003903802.tif 000010
【図１０】
0003903802.tif 000011
【図１１】
0003903802.tif 000012