JP3646672B2 - Cyclic data communication system - Google Patents

Cyclic data communication system Download PDF

Info

Publication number
JP3646672B2
JP3646672B2 JP2001186431A JP2001186431A JP3646672B2 JP 3646672 B2 JP3646672 B2 JP 3646672B2 JP 2001186431 A JP2001186431 A JP 2001186431A JP 2001186431 A JP2001186431 A JP 2001186431A JP 3646672 B2 JP3646672 B2 JP 3646672B2
Authority
JP
Japan
Prior art keywords
communication
transmission
data
phase
cycle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001186431A
Other languages
Japanese (ja)
Other versions
JP2003008579A (en
Inventor
仁太郎 出来
利明 笹森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Priority to JP2001186431A priority Critical patent/JP3646672B2/en
Publication of JP2003008579A publication Critical patent/JP2003008579A/en
Application granted granted Critical
Publication of JP3646672B2 publication Critical patent/JP3646672B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、例えばPLCシステムにおけるデータリンク等の用途に好適なサイクリックデータ通信システムに係り、特に、IEEE1394バス等の定時通信フェーズ(例えば、アイソクロナス通信フェーズ)と非同期通信フェーズ(例えば、アシンクロナス通信フェーズ)とを併有するシリアルバスの使用を前提としつつも、送信タイミングの定時性並びに各通信ノードの最大伝送量が保証された高速サイクリックデータ通信を可能とした新規なサイクリックデータ通信システムに関する。
【0002】
【従来の技術】
データリンク機能の組み込まれたPLCシステムは従来よりよく知られている。このようなPLCシステムでは、複数台のプログラマブル・ロジック・コントローラ(以下、PLCと言う)をシリアルバスにて結び、定期的にI/Oデータ等を相互に交換しつつ、システム全体でI/Oデータ等の共有を実現している。
【0003】
すなわち、この種のPLCシステムでは、各PLCのメモリ内には、自機のI/Oデータ領域にみならず、他機のI/Oデータ領域が設けられる。各PLCの演算ユニット(通称CPUユニット)では、常時、I/Oリフレッシュ処理、命令実行処理、周辺サービス処理をサイクリックに実行している。周辺サービス処理では、各PLCのそれぞれは、自機のI/Oデータ領域の内容を他機へと例えば一斉同報送信する一方、他機のそれぞれでは一斉同報されたI/Oデータを受信し、自機の該当する他機用のI/Oデータ領域に格納する。各PLCが順次に同様に動作することで、各PLC内のメモリ内における他機のI/Oデータ領域の内容は定期的に更新され、結果として、各機のメモリ内におけるI/Oデータは相互に自動的にリンクされる。
【0004】
昨今、PLCが取り扱う制御点数は飛躍的に増大している。そのため、データリンク機能の実現に必要とされるシリアルバスには高速大容量伝送の可能なものが要求されている。
【0005】
また、市場の自由化、国際化の流れの中にあって、昨今、制御システムの構成機器は様々なメーカーのものが混在する傾向にある。そのため、データリンク機能の実現に必要とされるシリアルバスには、従前の各メーカー固有の仕様のものではなく、オープン規格のものが要求されている。
【0006】
【発明が解決しようとする課題】
高速大容量伝送が可能なオープン規格化されたシリアルバスとしては、例えば、IEEE1394バスが知られている。このIEEE1394バスには、アイソクロナス通信フェーズとアシンクロナス通信フェーズとが用意されている。
【0007】
アイソクロナス通信フェーズでは、送信要求を発した全ての通信ノードに対して、アイソクロナスサイクル(125μs)内における毎回送信を保証しつつ各通信ノードに対して順次に送信機会を与えるように調停機能が作用する。
【0008】
アシンクロナス通信フェースでは、送信要求を発した通信ノードに対して、アイソクロナスサイクル内におけるアイソクロナスフェーズ完了後の残り期間において、送信データ量の最大値を保証しつつ各通信ノードに対して順次に送信機会を与えるように調停機能が作用する。
【0009】
しかし、IEEE1394バスは、主として、デジタルビデオデータのリアルタイム伝送等をその用途とするものであるから、定時送信可能な1通信ノード当たりのデータ量が比較的に少ないために、PLCシステムにおけるデータリンク機能実現のためのデータ転送に適用した場合、送信データが細切れとなり、データ伝送速度を十分に高速化することができないと言う問題点がある。
【0010】
この発明は、上述の問題点に着目してなされたものであり、その目的とするところは、例えばIEEE1394バスのように、定時通信フェーズ(アイソクロナス通信フェーズに相当)と非同期通信フェーズ(アシンクロナス通信フェーズに相当)とを併有する規格化されたシリアルバスの使用を前提として、各通信ノードの最大送信データ量を保証しつつ、定時制を有するサイクリックデータ伝送を可能とすることにある。
【0011】
また、この発明の他の目的とするところは、比較的に大量のI/Oデータ等を各PLC間で高速に伝送しつつデータリンク機能を実現できるようにしたPLCシステムを提供することにある。
【0012】
また、この発明の他の目的とするところは、比較的に大量のI/Oデータ等をマスタとなるPLCとスレーブとなる複数の入出力デバイスとの間で高速に伝送しつつ高応答の制御を可能としたPLCのリモートI/Oシステムを提供することにある。
【0013】
さらに、この発明の他の目的並びに作用効果については、以下の明細書中の記述を参照することにより、当業者であれば容易に理解されるであろう。
【0014】
【課題を解決するための手段】
本発明のサイクリックデータ伝送システムは、複数の通信ノードを固有の通信サイクルを有するシリアルバスで結んで構成される。
【0015】
シリアルバスには、定時通信フェーズと非同期通信フェーズとが具備されている。
【0016】
定時通信フェーズでは、送信要求を発した全ての通信ノードに対して、固有の通信サイクルに対する毎回送信を保証しつつ各通信ノードに対して順次に送信機会を与えるように調停機能が作用する。
【0017】
非同期通信フェーズでは、送信要求を発した通信ノードに対して、固有の通信サイクル内における定時通信フェーズを除く残り期間において、送信データ量の最大値を保証しつつ各通信ノードに対して順次に送信機会を与えるように調停機能が作用する。
【0018】
複数の通信ノードの少なくとも一つは管理局に、又他の通信ノードは通常局に、割り当てられる。
【0019】
管理局に割り当てられた通信ノードは、定時通信フェーズにおいて、通信サイクルの開始を示すサイクリックトリガ符号を周期的に送信する。
【0020】
通常局に割り当てられた通信ノードは、定時通信フェーズにおいて、管理局に割り当てられた通信ノードから送信されるサイクリックトリガ符号を検知するのに応答して、非同期通信フェーズにおいて、送信要求を発して送信機会を得ることにより、目的とするデータを送信し、又は送信機会を得ないときは他局である通信ノードから送信されたデータを受信する。
【0021】
それにより、サイクリックトリガ符号の送信サイクルをデータ通信サイクルとして、固有の通信サイクルの複数に跨って、通信ノード間で非同期通信フェーズを利用しつつ、サイクリックにデータ通信が行われる。
【0022】
このような構成によれば、例えばIEEE1394バスのように、定時通信フェーズ(アイソクロナス通信フェーズに相当)と非同期通信フェーズ(アシンクロナス通信フェーズに相当)とを併有する規格化されたシリアルバスの使用を前提として、各通信ノードの最大送信データ量を保証しつつ、定時性を有するサイクリックデータ伝送が可能となる。
【0023】
本発明のより好ましい実施の形態におけるサイクリックデータ伝送システムとしては、複数の通信ノードをIEEE1394バスで結んで構成してもよい。
【0024】
IEEE1394バスには、アイソクロナス通信フェーズとアシンクロナス通信フェーズとが具備されている。
【0025】
アイソクロナス通信フェーズでは、送信要求を発した全ての通信ノードに対して、アイソクロナス通信サイクル(例えば、125μs)に対する毎回送信を保証しつつ、各通信ノードに対して順次に送信機会を与えるように調停機能が作用する。
【0026】
アシンクロナス通信フェーズでは、送信要求を発した通信ノードに対して、アイソクロナスサイクル内におけるアイソクロナスフェーズ完了後の残り期間において、送信データ量の最大値を保証しつつ各通信ノードに対して順次に送信機会を与えるように調停機能が作用する。
【0027】
複数の通信ノードの少なくとも一つは管理局に、又他の通信ノードは通常局に、割り当てられる。
【0028】
管理局に割り当てられた通信ノードは、アイソクロナス通信フェーズにおいて、通信サイクルの開始を示すサイクリックトリガパケットを周期的に送信する。
【0029】
通常局に割り当てられた通信ノードは、アイソクロナス通信フェーズにおいて、管理局に割り当てられた通信ノードから送信されるサイクリックトリガパケットを検知するのに応答して、アシンクロナス通信フェーズにおいて、送信要求を発して送信機会を得ることにより、目的とするデータを送信し、又は送信機会を得ないときは他局である通信ノードから送信されたデータを受信する。
【0030】
なお、管理局は管理に専念してもよいし、サイクリックトリガパケットを送信したのちに、自局データを送信するようにしてもよい。
【0031】
それにより、サイクリックトリガパケットの送信サイクルをデータ通信サイクルとして、複数のアイソクロナス通信サイクルに跨って、通信ノード間でアシンクロナス通信フェーズを利用しつつサイクリックにデータ通信が行われる。
【0032】
このような構成によれば、アイソクロナス通信フェーズとアシンクロナス通信フェーズとを併有するIEEE1394バスの使用を前提として、各通信ノードの1回当たりの最大送信データ量(例えば、最大62μs分)を保証しつつ、定時性を有するサイクリックデータ伝送を行わせることが可能となる。
【0033】
なお、62μs分の送信データとは、因みに、100Mbpsの場合には512yte、200Mbpsの場合には1024Byte、400Mbpsの場合には2048Mbyteに相当する。
【0034】
本発明の好ましい実施の形態においては、サイクリックトリガパケットの送信タイミングは、予定される1通信サイクル当たりの送信データ総量に基づいて計算により求めてもよい。
【0035】
このような構成によれば、送信要求が予定される全ての通信ノードに対して、送信機会並びに送信データ量を確実に保証しつつ、最短サイクルタイムによるサイクリックデータ通信が可能となる。
【0036】
本発明の好ましい実施の形態においては、サイクリックトリガパケットの送信タイミングは、アシンクロナス通信フェーズにおける送信データの途切れにより決定するようにしてもよい。
【0037】
このような構成によれば、アプリケーションの実行状況等により、送信要求を発する通信ノードの数がその都度に変動するような場合にも、常に、全ての通信ノードに対して毎回の通信機会を保証しつつ、サイクリックデータ通信が可能となる。
【0038】
本発明のPLCシステムは、複数のPLCがIEEE1394バスで結ばれて構成されている。
【0039】
IEEE1394バスには、アイソクロナス通信フェーズとアシンクロナス通信フェーズとが具備されている。
【0040】
アイソクロナス通信フェーズでは、送信要求を発した全ての通信ノードに対して、アイソクロナスサイクル(例えば、125μs)に対する毎回送信を保証しつつ各通信ノードに対して順次に送信機会を与えるように調停機能が作用する。
【0041】
アシンクロナス通信フェーズでは、送信要求を発した通信ノードに対して、アイソクロナスサイクル内におけるアイソクロナス通信フェーズ終了後の残り期間において、送信データ量の最大値(例えば、62μs分)を保証しつつ各通信ノードに対して順次に送信機会を与えるための調停機能が作用する。
【0042】
複数のPLCの少なくとも一つは管理局に、又他のPLCは通常局に、割り当てられる。
【0043】
管理局に割り当てられたPLCは、アイソクロナス通信フェーズにおいて、通信サイクルの開始を示すサイクリックトリガパケットを周期的に送信する。
【0044】
通常局に割り当てられたPLCは、アイソクロナス通信フェーズにおいて、管理局であるPLCから送信されるサイクリックトリガパケットを検知するのに応答して、アシンクロナス通信フェーズにおいて、送信要求を発して送信機会を得ることにより、目的とするデータを送信し、又は送信機会を得ないときは他局であるPLCから送信されたデータを受信する。
【0045】
それにより、サイクリックトリガパケットの送信サイクルをデータ通信サイクルとして、PLC間でアシンクロナス通信フェーズを利用しつつサイクリックにデータ通信を行うことにより、相互に制御データをリンクさせる。ここで、制御データには、被制御対象のリレー、スイッチ、センサ等の入力データ、アクチュエータ等の出力データを含んでもよい。これらはオンオフの二値データの場合が多い。二値データ以外でもよく、例えば制御対象のアナログ入力数値、アナログ入力数値であったり、生産情報(生産数量、稼働時間、エラー回数等)でもデータリンクは可能である。
【0046】
このような構成によれば、大量のI/Oデータ等を各PLC間で高応答かつ緊密にリンクさせたPLCシステムを実現することができる。
【0047】
この発明のPLCのリモートI/Oシステムは、1台のPLCと複数台の入出力デバイスとがIEEE1394バスで結ばれて構成される。
【0048】
IEEE1394バスには、アイソクロナス通信フェーズとアシンクロナス通信フェーズとが具備されている。
【0049】
アイソクロナス通信フェーズでは、送信要求を発した全ての通信ノードに対して、アイソクロナス通信サイクル(例えば、125μs)に対する毎回送信を保証しつつ各通信ノードに対して順次に送信機会を与えるための調停機能が作用する。
【0050】
アシンクロナス通信フェーズでは、送信要求を発した通信ノードに対して、アイソクロナス通信サイクル内におけるアイソクロナス通信フェーズ終了後の残り期間において、送信データ量の最大値(例えば、62μs分)を保証しつつ各通信ノードに対して順次に送信機会を与えるための調停機能が作用する。
【0051】
PLCは管理局に、又複数の入出力デバイスのそれぞれは通常局に、割り当てられる。
【0052】
管理局に割り当てられたPLCは、アイソクロナス通信フェーズにおいて、通信サイクルの開始を示すサイクリックトリガパケットを周期的に送信する。
【0053】
通常局に割り当てられた入出力デバイスは、アイソクロナス通信フェーズにおいて、管理局であるPLCから送信されるサイクリックトリガパケットを検知するのに応答して、アシンクロナス通信フェーズにおいて、送信要求を発して送信機会を得ることにより、目的とするデータを送信し、又は送信機会を得ないときは管理局であるPLCから送信されたデータを受信する。
【0054】
なお、この例では、管理局がPLC、通常局が入出力デバイスとされているが、プロトコル上は誰が管理局であっても差し支えない。管理局と言っても、なにかを管理しているのではなく、定期的にトリガパケットを送信する役割を担っているものに過ぎない。
【0055】
それにより、サイクリックトリガパケットの送信サイクルをデータ通信サイクルとして、PLCと各入出力デバイスとの間でアシンクロナス通信フェーズを利用しつつサイクリックにデータ通信を行うことにより、それらの間でI/Oデータをリンクさせる。
【0056】
このような構成によれば、一台のPLCにより複数のリモート入出力デバイスを介して、多数の被制御対象機器を高応答に制御することができる。
【0057】
上記の各システムにおける好ましい実施の形態においては、サイクリックトリガパケットの送信タイミングとしては、予定される1通信サイクル当たりの送信データ総量に基づいて計算により求めてもよい。
【0058】
上記の各システムにおける好ましい実施の形態においては、サイクリックトリガパケットの送信タイミングは、アシンクロナスフェーズにおける送信データの途切れにより決定されるようにしてもよい。
【0059】
【発明の実施の形態】
以下に、この発明の好適な実施の一形態を添付図面を参照しつつ詳細に説明する。
【0060】
先ず、本発明の理解を容易とするために、オープン規格のシリアルバスであるIEEE1394に関する基本的な事項について説明する。IEEE1394の標準的な送信手順を示すタイムチャートが図1に示されている。
【0061】
IEEE1394のデータ転送では全てのノードが対等に動作する。各ノードの転送動作には、特定のノードIDを指定して転送を行う場合と、全てのノードを対象として転送を行う場合(ブロードキャスト)とが存在する。
【0062】
いずれの場合も、複数のノードが同時にバスにデータを送信すると衝突が起こるので、あらかじめアービトレーション(調停:Arbitration)を行って使用権を獲得したノードだけがバスを使用する。ただし、使用できる時間は比較的短時間に限られており、すぐに次の伝送に交代する。一つのノードの伝送が長時間にわたりバスを占有することを防ぎ、ほかの伝送の帯域幅を保証することにより、複数のリアルタイム・データを同時に転送可能とするためである。
【0063】
バスにはルート(根)のノードがただ一つ定められており、ルートから全てのノードまでツリーを辿ることができる。各ノードに対して上流側のノードは親ノードであり、親ノードを順次辿ってルートに到達することができる。バスの使用権を要求するノードは親ノードに要求を出し、その要求がルートに集められる。ルートは各ノードが公平になるように使用権を与える。
【0064】
IEEE1394の転送方式には、帯域幅が保証されるアイソクロナス(Isochronous)転送フェーズと、帯域幅が保証されないアシンクロナス(Asynchronous)転送フェーズとの二つのフェーズが存在する。いずれのフェーズにおいても、転送の最初にはこのようなアービトレーションが行われる。アイソクロナス転送フェーズの場合、アービトレーションで後回しにされたとしても、少なくとも125μsec毎に1回はデータ転送ができることが保証される。これに対して、アシンクロナス転送フェーズの場合、アービトレーションの結果によっては長く待たされる場合もある。
【0065】
IEEE1394のデータ転送は、125μsec毎に転送サイクルが反復され、それぞれのサイクルの中で各ノードに少しずつ転送時間が割り当てられる。サイクルの前半は、アイソクロナス転送のチャネルが割り当てられる。サイクルの後半の余った時間に、アシンクロナス転送が割り当てられる。
【0066】
サイクルの開始について詳述する。ノードのうちの一つ(一般にルート)がサイクルマスタとなって、サイクルの実行を管理する。サイクルマスタは125μsec毎にサイクルスタートパケットをブロードキャストで送信し、各ノードはそれによってサイクルの開始タイミングを知ることとなる。
【0067】
アイソクロナス転送について詳述する。データの衝突を防ぐため、サイクルスタートパケットの後に一定時間の間隔をおいて、アイソクロナス転送を要求するノードがチャネル使用権の要求を出す。この間隔はアイソクロナスギャップと呼ばれる。アービトレーションによってチャネル使用権を獲得したノードは、引き続いてアイソクロナスパケットとしてデータを転送する。一つのチャネルの終了後、アイソクロナスギャップをおいて次のチャネルのアービトレーションが行われ、チャネル使用権を獲得したノードがアイソクロナスパケットとしてデータを転送する。チャネル使用権を要求するノードがなくなるまで、これが順次に繰り返される。
【0068】
アシンクロナス転送について詳述する。アイソクロナス転送の最後のチャネルが終了すると、チャネル使用権を要求するノードがなくなるため、バスに空き時間が生ずる。アシンクロナス転送を要求するノードは、バスの空き時間がアイソクロナスギャップよりも長い一定時間に達したことを検出したら、アシンクロナス転送の要求を出すことが許される。この時間はサブアクションギャップと呼ばれる。アービトレーションによってバス使用権を獲得したノードは、引き続いてデータパケットを転送する。一つのデータパケットの終了後、サブアクションギャップをおいて次の転送のアービトレーションが行われ、バス使用権を獲得したノードがデータパケットを転送する。バス使用権を要求するノードがなくなるか、サイクル時間が125μsecに達するまで、これが繰り返される。
【0069】
サイクルの終了について説明する。サイクル時間が125μsecになるよりも先にバス使用権を要求するノードがなくなれば、サイクルの残り時間は空き時間となる。一方、データパケットの転送中にサイクル時間が125μsecになった場合には、サイクルマスタはそのパケットが最後まで転送されるまで待って次のサイクルを開始する。このとき、開始が遅れた分だけ次のサイクルの時間を短縮して、サイクルの平均時間を125μsecに維持する。次のサイクルの時間が短くなりすぎるのを防ぐため、アシンクロナス転送のパケットは最大62μsecに制限される。
【0070】
上述したように、IEEE1394には、同期メッセージの送信のためにアイソクロナスパケット(Isochronous Packet)が、又非同期メッセージの送信のためにアシンクロナスパケット(Asynchronous Packet)又はアシンクロナスストリームパケット(Asynchronous Stream Packet)が用意されている。アイソクロナスパケットとアシンクロナスパケットのパケット構成は同じである。
【0071】
アイソクロナスパケットは同期パケットであり、各ノードが定期的に送信することができる。アイソクロナスパケットはチャネルID(タグ)を指定して送信される。各局にはチャネルIDのフィルタが具備されており、フィルタにより受信が許可されているチャネルIDのパケットのみが受信される。
【0072】
アシンクロナスパケット、アシンクロナスストリームパケットの送信タイミングはIEEE1394では規定されておらず、その決定はアプリケーション側に委ねられている。アシンクロナスパケットは、IEEE1394のPhy_ID(物理ID/物理層アドレス)を直接指定して送信され、Phy_IDが該当するノードにより受信される。
【0073】
IEEE1394では、アイソクロナスサイクルで送信要求のあったすべてのチャネルのデータを送信する。アイソクロナス通信では、サイクルスタートパケットをトリガとして、送信要求のあったすべての局がアイソクロナスデータを送信する。サイクルスタートパケットは125μs毎に定期的に送信される。これによって、サイクリック通信を行うことができる。また、全局がアイソクロナスデータを送信できることを保証するために、BANDWIDTH_AVALABLEという残帯域を示すレジスタを持ち、これでアイソクロナスフェースの時間と送信データ量を制限している。また、一つのアイソクロナスサイクル内で同一のチャネルの送信は一つのみであり、同じチャネルを2つの局が送信することができない。このことは、必要なデータが確実に送信できるよう保証していることを意味している。
【0074】
ところで、IEEE1394で定期的なデータ転送(サイクリック通信)を行うには、IEEE1394で規定されているアイソクロナス通信を利用することがよいことは明らかである。
【0075】
ところが、上述したように、125μs以内の全チャネル・全アイソクロナスデータ送信を保証しているために、ひとつのアイソクロナスサイクル内に送信できるアイソクロナスデータは、図2に示されるように、100Mbps時に最大1536バイトに制限されてしまう。この1536バイトを63局で各局が一つずつのチャネルを占有して送信を行うと1ノード当たり24バイトになる。これでは用途が極端に限定されてしまう。
【0076】
たとえば、データリンク機能を有するPLCシステムのようなアプリケーションでは、複数のPLCが各局のデータを共有している。このとき、各局は自局データを一斉同報し、他局の一斉同報データを受信することでPLC同士のデータ共有を行っている。このようなシステムでは数キロバイトのデータを共有することが多くあり、1局当たり24バイト程度の伝送能力ではデータ容量がまったく足りない。
【0077】
もし、24バイトのデータを組み立てて大きなデータを送信するようにしても、送信データに含まれるヘッダ・テイラなどアプリケーションでは利用しないデータの割合が大きくなり、実質的な伝送効率が低下し、高速な伝送路を利用するメリットが低減してしまう。
【0078】
加えて、データリンク機能を有するPLCシステムではデータの定時性も重要である。つまり、あるデータが転送されるときの伝送遅延時間を保証する必要がある。
【0079】
IEEE1394でもアシンクロナスパケットを利用ればデータ容量の問題は解決可能であるが、その場合には、定時性を保証できない。各局を平等にデータ送信させる仕組みが存在しないのである。
【0080】
そこで、本発明では、非同期メッセージでサイクリックデータを送信することでデータ量の問題を解決し、その送信タイミングを同期メッセージで送ることで定時性の問題を解決しようとするものである。
【0081】
このようにすることにより、サイクリックデータの送信タイミングを適当に調節することにより、データ量が1536バイトに制限されることもなく、定時性を保ちサイクリック通信を行うことができる。
【0082】
すなわち、サイクリックデータ送信には、非同期メッセージであるアシンクロナスストリームパケットを利用すればよい。アシンクロナスストリームパケットはアイソクロナスパケットと同じようにチャネルを送受信の相手先指定に利用しており、受信側はチャネルを指定するだけで良く、また、パケットヘッダも小さいため、全局にデータを送信するのによい。もちろん、アシンクロナスパケットを一斉同報アドレスに送信しても良い。一方、サイクリックデータの送信タイミングを知らせるのには、アイソクロナスパケットを利用すればよい。これにより、確実にサイクリックデータの送信トリガを与えることができる。
【0083】
より具体的には、IEEE1394に接続された管理局と通常局とは以下の手順で動作すればよい。
【0084】
すなわち、管理局はサイクリックデータ送信のトリガとなるアイソクロナスパケット(サイクリックトリガパケット)を送信する。
【0085】
サイクリックトリガパケットを送信するタイミングを決定する方法としてはいくつかのものが考えられる。一つの方法としては、サイクリックデータの量を予め決めておき、そのデータ量から逆に送信に必要な期間を算出する。その値を元にサイクリックトリガパケットの送信タイミングを決定する。他の一つの方法としては、サイクリックデータは一斉同報されているので、そのパケットを常に監視しておき、一定の間、サイクリックトリガデータの受信がなかったとき、全局のサイクリックデータ送信が終わったとして、次のサイクリックトリガパケットを送信する。つまり、サイクリックデータの送信が一定時間途絶えたときに、サイクリックトリガバケットの送信タイミングが到来したと決定する。
【0086】
管理局の決定方法としては、いくつかのものが考えられる。一つの方法としては、予め管理局となるノードを決めておくものである。他の一つの方法としては、Phy_IDの最も大きいもの、もしくは、もっとも小さいものが管理局となるものである。さらに、他の一つの方法としては、アイソクロナスリソースマネジャー(前述のBANDWIDTH_AVALABLE等のレジスタを持つノード)が管理局となるものである。
【0087】
一方、通常局はサイクリックトリガパケットの受信を監視している。サイクリックトリガパケットを受信すると直ちに自局のサイクリックデータを送信する。また、他局のサイクリックデータを受信する。管理局からのサイクリックトリガパケットを監視し、一定時間受信できなかったときには、異常が発生したとして、管理局の再決定処理を行う。
【0088】
次に、本発明が適用されたサイクリックデータ通信システムの具体的な一例を図3〜図9を参照しつつ詳細に説明する。
【0089】
シリアルバス(この例では、IEEE1394)と各通信ノードとの関係を示す説明図が図3に示されている。同図に示されるように、このサイクリックデータ通信システムは、N台(複数台)の通信ノードNode1〜NodeNをIEEE1394規定のバスBusにて結んで構成されている。結線の方法は、ディジチェーン状やツリー状のほか、それらの混在した形態等が採用可能である。バスを構成する信号線としては例えばツイストペア線等を使用することができる。特に、この例では、Node1が管理局に、またNode2〜NodeNが通常局に割り当てられている。
【0090】
各通信ノードNode1〜NodeNのハードウェア構成を概略的に示すブロック図が図4に示されている。同図に示されるように、各通信ノードを構成する回路装置(一般には通信ボード等として具現化される)400は、シリアルバスBusを構成する信号線との間でデータ送受信機能を実現するための通信コントローラ401と、回路装置全体を統括制御するCPU402と、CPU402を構成するマイクロプロセッサの動作プログラム等を格納するROM403と、CPU402における動作のワークエリア等として機能するRAM404と、送受信データの一時記憶領域として機能する送受信バッファ405と、アイソクロナスリソースレジスタ(BANDWIDTH_AVAILABLE等を含む)406とを含んでいる。
【0091】
管理局側の処理を示すフローチャートが図5に、通常局側の処理を示すフローチャートが図6にそれぞれ示されている。以下、これらのフローチャート並びに図7〜図9のタイムチャートを参照しつつ、本発明のサイクリックデータ通信システムの動作を系統的に説明する。
【0092】
先ず、図5のフローチャートに示されるように、管理局となる通信ノードNode1では、所定のタイマがタイムアップすることを待機する状態となる(ステップ501NO)。このタイマは、サイククックトリガパケットの送信周期を規定する。タイマ時間の決定方法としては、先に説明したように、サイクリックデータの量を予め決めておき、そのデータ量から逆に送信に必要な期間を算出する。その値を元にサイクリックトリガパケットの送信タイミングを決定する。
【0093】
タイマがタイムアップしたときには(ステップ501YES)、予め用意されたサイクリックトリガパケットの送信処理を実行する(ステップ502)。これにより、シリアルバスBus上には例えば他の全ての通信ノードへとサイクリックトリガパケットがアイソクロナス通信パケットとして送信される(図3の説明図参照)。このアイソクロナス通信パケットとして行われるサイクリックトリガパケットの送信は、例えば同報一斉送信又は全チャネル指定により実現することができる。なお、先に説明したように、このサイクリックトリガパケットは、アプリケーションが目的とするサイクリックデータ通信における各通信サイクルの開始時点を通常局である他の通信ノードNode2〜ノードNodeNに対して知らせるためのものである。
【0094】
サイクリックトリガパケットの送信に続いて、管理局となる通信ノードNode1の側では、自局からの送信データ要求が存在するか否かの判定を行い、送信要求が自局からもある場合には、その自局サイクリックデータバケットの送信処理を実行する(ステップ503)。これにより、シリアルバスBus上には、管理局からのサイクリックデータパケットが決められた相手局に宛ててアシンクロナス通信パケットとして送信される。なお、自局からのサイクリックデータ送信要求が存在しなければ、この自局からのデータ送信処理(ステップ503)はスキップされる。
【0095】
サイクリックトリガパケットを送信した後(自局サイクリックデータパケットの送信要求が存在しないとき)、又は自局サイクリックデータを送信した後(自局サイクリックデータバケットの送信要求が存在するとき)、サイクリックトリガパケット送信タイマの起動処理(ステップ504)が実行され、以後、サイクリックトリガパケット送信タイマがタイムアップする毎に、以上一連の処理(ステップ502,503,504)が繰り返し実行される。これにより、管理局に割り当てられた通信ノードNode1からは、サイクリックトリガパケットが一定周期でシリアルバス上に他の全ての通信ノードNodeZ〜NodeNに宛てて送信されることとなる。このサイクリックトリガパケットはアイソクロナス通信パケットとして送信されるため、IEEE1394定時送信仕様により、必ず、125μsec毎に1回はサイクリックトリガパケットの送信機会を得ることができ、サイクリックデータ通信の定時性を満足させることができる。加えて、自局サイクリックデータパケットの送信は、アシンクロナス通信パケットとして送信されるため、1回の送信当たり例えば最大62μsec分のデータ送信容量を確保することができる。
【0096】
一方、図6のフローチャートに示されるように、通常局となる他の通信ノードNode2〜NodeNの側では、アイソクロナス通信パケットとしてサイクリックトリガパケットが送信されてくるのを待機している(ステップ601NO、602NO)。
【0097】
この状態において、アイソクロナス通信パケットとしてサイクリックトリガパケットの受信が確認されると(ステップ601YES)、これに応答して、自局サイクリックデータバケットの送信処理を実行する(ステップ603)。先に述べたように、この自局サイクリックデータパケットの送信は、アシンクロナス通信パケットとして送信されるため、最大62μsec分のデータ送信容量を確保することができる。より具体的に説明すると、各通常局ではそれぞれアシンクロナス通信パケットの送信要求を発する。すると、システム規定のアービトレーションが作用することで、送信要求を発した通常局の一つに対して送信権が付与される。送信権の付与された通常局では、自局サイクリックデータの送信処理(ステップ603)が実行され、シリアルバスBus上にはアシンクロナス通信パケットとして自局サイクリックデータパケットが所定の相手先に宛てて送信されることとなる。一つの通常局にて、アシンクロナス通信バケットとしてのサイクリックデータパケットの送信が完了すると、続いて、残りの全ての通常局から再び送信要求が発せられ、アービトレーションが作用して、それらの通常局の一つに対して送信権が付与され、これに応答してサイクリックデータパケットの送信処理が実行され、以後、送信要求を発する通常局がなくなるまで、以上の動作が繰り返される(図3の説明図参照)。
【0098】
一方、自局サイクリックデータパケットの送信処理が完了した通常局では、続いて、サイクリックトリガパケット待ちタイマを起動する(ステップ604)。このタイマは、なんらかの原因(通信エラー等)でサイクリックトリガパケットの送信が途絶えたことを判定するためのものである。
【0099】
その後、通常局の側では、サイクリックトリガパケット受信待ちタイマのタイムアウトを監視しながら(ステップ602NO)、サイクリックトリガパケット受信を待機する状態となる(ステップ601NO)。
【0100】
そして、サイクリックトリガパケットの受信が確認される毎に(ステップ601YES)、先ほど説明した自局サイクリックデータ送信処理(ステップ603)並びにサイクリックトリガパケット受信待ちタイマの起動処理(ステップ604)を順次実行する。これに対して、サイクリックトリガパケット受信待ちタイマのタイムアウトが確認された場合には(ステップ602YES)、公知の管理局再決定処理(ステップ605)を実行する。これにより、何らかの通信中にエラーが発生して、サイクリックトリガパケットの受信待ちタイマがタイムアウトした場合には(ステップ602YES)、管理局再決定処理(ステップ605)の実行により、管理局の再決定が行われてバスはイニシャライズされ、以後以上説明した動作が繰り返し実行される。
【0101】
図5及び図6のフローチャートに示される処理が実行されたときのサイクリックデータの送信タイミングを示すタイムチャートが図7に示されている。
【0102】
同図に示されるように、サイクリック通信サイクルが開始されると、まず管理局からはサイクリックトリガパケットがアイソクロナスパケットとして送信される。すると各通常局においては、アシンクロナスパケットの送信要求を管理局側へと行う。この管理局への送信要求により公知のアービトレーションが実行され、複数の通常局の1つに対して、送信権が付与される。送信権の付与された通常局は、自己のサイクリックデータをアシンクロナスパケットとしてバス上に送り出す。1つの通常局によるサイクリックデータの送信が完了すると、次々とアービトレーションが実行されて、次の通常局のサイクリックデータの送信が繰り返される。
【0103】
このようにしてバス上に送り出された通常局からのデータが、このタイムチャートでは、『ノードAサイクリックメッセージ』、『ノードBサイクリックメッセージ』、…『ノードnサイクリックメッセージ』と記されている。こうして最後の通常局がサイクリックデータを送り出すと、次のサイクリックトリガパケットが管理局から送られてくるまで、待ち時間となる。管理局は、トリガパケット送信を、最後のサイクリックデータパケットを受信してから一定期間をおいて次のトリガパケットを送信する。
【0104】
このように管理局は定期的にトリガパケットを送信する。通常局はトリガパケットを受信すると自局分のデータパケットを送信する。各局は他の局が送信したデータパケットを受信する。トリガパケットを送信するタイミングは予め設定した間隔、全データパケット量に応じた間隔、全ノードのデータパケット送信終了後など幾つかの例が考えられる。図7のタイムチャートは、全ノードがデータパケットを送信した後、一定時間待ってから次のトリガパケットを送信する例である。
【0105】
サイクリックデータ転送はサイクリックトリガパケットの受信をトリガとして各局の自局データの送信を開始する。サイクリックトリガパケットはアイソクロナスパケットで送信する。各局は1回のサイクリックトリガパケット受信で1回のサイクリックデータを送信する。サイクリックトリガパケットは管理局が送信する。
【0106】
送信されるデータのサイズはIEEE1394の仕様により、1パケット当たり最大512バイトとすることができる。送信要求されたパケットが512バイトよりも大きかったとき、このIEEE1394の仕様に合わせて、分割/組立が行われる。分割されたパケットは複数の通信サイクルに跨って送信しても良いし、1つの通信サイクルの中で連続したパケットとして送信することもできる。
【0107】
図7のタイムチャートに示される例においては、送信要求されたパケットが512バイトよりも大きかったとき、送信されるデータの512バイトを超える部分については、次のサイクリック通信サイクルへ回される。
【0108】
これに対して、図8のタイムチャートに示される例にあっては、送信要求されたパケットが512バイトより大きかったとき、この送信されようとするパケットは複数のフラグメント(フラグメント1〜3)に分割され、同一のサイクリック通信サイクル内においてギャップを挟んで連続的に送信される。即ち、ノードAのサイクリックメッセージに続いて、ノードBに関する3個のサイクリックメッセージがギャップを挟んで連続的に送信される。尚、言うまでもないが、それらのサイクリックメッセージは何れもアシンクロナス通信パケットとして送信される。
【0109】
以上説明したサイクリック通信サイクル内における各通信ノードの送信タイミングが図9のタイムチャートにまとめて示されている。
【0110】
同図に示されるように、この例にあっては、3つのアイソクロナスサイクル(第1サイクル、第2サイクル、第3サイクル)によってサイクリック通信サイクルが構成されている。各アイソクロナスサイクルの開始は、サイクルスタートパケットにより指示される。
【0111】
アイソクロナスサイクルの第1サイクルでは、サイクルスタートパケットに続いて、トリガパケットの送信が行われる。このトリガパケットの送信は、アイソクロナスパケットとして行われる。トリガパケットの送信に続いて、ノード2,ノード3,ノード4のデータパケットの送信が順に行われる。これらのデータパケットの送信は、アシンクロナス通信パケットにより行われる。ノード4の送信が完了すると、各通常局においては第2サイクルの到来まで待ち状態となる。
【0112】
第2サイクルにおいては、サイクルスタートパケットの送信に続いて、ノード5及びノード6のデータパケット送信が順に実行される。ノード6のデータパケットの送信が終了すると、各通常局においては第3サイクルが到来するまで待ち時間となる。
【0113】
第3サイクルが到来すると、サイクルスタートパケットは到来するが、その後第4サイクルが開始するまで全期間待ち時間となる。
【0114】
以上の動作が繰り返されることにより、アイソクロナスサイクルの3サイクル分に跨って、サイクリック通信サイクルが実現され、各ノードが十分なデータ送信容量を確保した状態において、アイソクロナスサイクルで規定される定時性を満足しつつ、相互にデータ転送を高速に実行することができる。
【0115】
尚、言うまでもないが、ノード1〜6の何れか1つが送信中は、他のノードにおいては送信されたデータを受信する。
【0116】
このように、本発明のサイクリックデータ通信システムによれば、サイクリック通信サイクルの開始を示すトリガパケットについては、定時性が保証されたアイソクロナスパケットとして送信する一方、目的とする送信データについては、1送信当たり最大512バイトが保証されたアシンクロナス通信パケットとしているため、広く普及した汎用バスであるIEEE1394を採用してはいるものの、その固有サイクルである125μsecに制約を受けることなく、任意のサイクル長を有するサイクリックデータ通信を実現することができる。
【0117】
特に、トリガパケットを送信するタイミングについては、予め設定した間隔、全データパケット量に応じた間隔、全ノードのデータパケット送信終了後などの様々なタイミングを自由に決定することができるため、ユーザ側の設計自由度も向上する。
【0118】
次に、本発明が適用されたデータリンク機能を有するPLCシステムの構成図が図10に示されている。この例では、4台のプログラマブル・ロジック・コントローラ(PLC1〜PLC4)が、オープン規格のシリアルバスBUSにより結ばれている。このようなシリアルバスBUSとしては、IEEE1394などを採用することができる。
【0119】
各プログラマブル・ロジック・コントローラPLC1〜PLC4には、4個の記憶エリア(PLC1エリア、PLC2エリア、PLC3エリア、PLC4エリア)が設けられている。それらの記憶エリアには、該当するPLCに関するI/Oデータ等が格納される。即ち、このシステムにおいては、全てのPLCにおけるI/Oデータ等を各PLCにおいて互いに共有している。
【0120】
より具体的には、PLC1は自局エリアA11を一斉同報すると共に、PLC2〜4のエリアデータを受信する。PLC2〜4も同様に自局エリアを一斉同報し、他局エリアを受信する。これにより、PLC1〜PLC4が同じデータを共有することができる。
【0121】
よく知られているように、PLCにおいては、入出力更新処理と命令実行処理を実行しつつ、一定期間が到来するたびにシステムサービス処理を実行し、このシステムサービス処理において、データリンクのためのデータ転送処理を実行する。
【0122】
この実施例においては、このデータリンクのためのデータ転送処理に、先に説明した本発明のサイクリックデータ通信方式を採用する。
【0123】
即ち、4台のPLC(PLC1〜PLC4)を互いに結ぶIEEE1394バスBusには、送信要求を発した全てのPLCに対して、アイソクロナス通信サイクルに対する毎回送信を保証しつつ各通信ノードに対して順次に送信機会を与えるための調停機能が作動するアイソクロナス通信フェーズと、送信要求を発したPLCに対して、アイソクロナス通信サイクル内におけるアイソクロナス通信フェーズ終了後の残り期間において、送信データ量の最大値を保証しつつ各通信ノードに対して順次に送信機会を与えるための調停機能を有するアシンクロナス通信フェーズとが具備されている。
【0124】
複数のPLCの少なくとも1つは管理局に、また他のPLCは通常局に、割り当てられる。
【0125】
管理局に割り当てられたPLCは、アイソクロナス通信フェーズにおいて、通信サイクルの開始を示すサイクリックトリガパケットを周期的に送信する。
【0126】
一方、通常局に割り当てられたPLCは、アイソクロナス通信フェーズにおいて、管理局であるPLCから送信されるサイクリックトリガパケットを検知するのに応答して、アシンクロナス通信フェーズにおいて、送信要求を発して送信機会を得ることにより、目的とするデータを送信し、または送信機会を得ない時は他局であるPLCから送信されたデータを受信する。
【0127】
それにより、サイクリックトリガパケットの送信サイクルをデータ通信サイクルとして、PLC間でアシンクロナス通信フェーズを利用しつつサイクリックにデータ通信を行うことにより、相互にI/Oデータ等の制御データをリンクさせるようにしている。
【0128】
次に、本発明が適用されたデータリンク機能を有するPLCのリモートI/Oシステムの構成図が図11に示されている。
【0129】
この例にあっては、マスタ局として機能する1台のPLCと、スレーブ局として機能する4台の入出力デバイス(ID1,OD1,ID2,OD2)とがIEEE1394バスBusにて結ばれている。
【0130】
このIEEE1394バスには、送信要求を発した全ての通信ノードに対して、アイソクロナス通信サイクルに対する毎回送信を保証しつつ各通信ノードに対して順次に送信機会を与えるための調停機能が作動するアイソクロナス通信フェーズと、送信要求を発した通信ノードに対して、アイソクロナス通信サイクル内におけるアイソクロナス通信フェーズ終了後の残り期間において、送信データ量の最大値を保証しつつ各通信ノードに対して順次に送信機会を与えるための調停機能を有するアシンクロナス通信フェーズとが具備されている。
【0131】
PLCは管理局に、また入出力デバイス(ID1,OD1,ID2,OD2)は通常局に割り当てられている。
【0132】
管理局に割り当てられたPLCは、アイソクロナス通信フェーズにおいて、送信要求を発して送信機会を得ることにより、通信サイクルの開始を示すサイクリックトリガパケットを周期的に送信する。
【0133】
一方、通常局に割り当てられた入出力デバイスは、アイソクロナス通信フェーズにおいて、管理局であるPLCから送品されるサイクリックトリガパケットを検知するのに応答して、アシンクロナス通信フェーズにおいて、送信要求を発して送信機会を得ることにより、目的とするデータを送信し、又は送信機会を得ない時は管理局であるPLCから送信されたデータを受信する。
【0134】
それにより、サイクリックトリガパケットの送信サイクルをデータ通信サイクルとして、PLCと各入出力デバイス(ID1,OD1,ID2,OD2)との間でアシンクロナス通信フェーズを利用しつつサイクリックにデータ通信を行うことにより、それらの間でI/Oデータをリンクさせるようにしている。
【0135】
最後に、本発明が適用されたデータリンク機能を有し、かつリモートI/Oシステムを有するPLCシステムの構成図が図12に示されている。
【0136】
このシステムは、4台のプログラマブル・ロジック・コントローラPLC1〜PLC4と、4台の入出力デバイス(ID1,OD1,ID2,OD2)とを含んでいる。
【0137】
それら4台のPLCと4台の入出力デバイスはオープン規格のシリアルバスBusにて結ばれている。このようなバスとしては、IEEE1394等を採用することができる。
【0138】
PLC1〜PLC4は図10を参照して説明したようにデータリンク機能を実現している。一方、PLC1と入出力デバイス(ID1,OD1,ID2,OD2)との間は図11を参照して説明したデータリンク機能を実現している。
【0139】
そのため、このシステムによれば、4台のプログラマブル・ロジック・コントローラPLC1〜PLC4の間でデータリンク機能を実現しつつ、マスタとして機能する1台のPLCとリモート設置された4台の入出力デバイス(ID1,OD1,ID2,OD2)との間でデータリンクを実現することによって、高い応答性を維持しつつ極めて高機能な制御システムを実現することが可能となる。
【0140】
尚、以上説明した各実施の形態においては、本発明が適用されるシリアルバスとしてIEEE1394を挙げたが、本発明の適用はこれに限定されるものではない。要するに、本発明のサイクリックデータ通信システムは、送信要求を発した全ての通信ノードに対して、固有の通信サイクルに対する毎回送信を保証しつつ各通信ノードに対して順次に送信機会を与えるための調停機能が作動する定時通信フェーズと、送信要求を発した通信ノードに対して、固有の通信サイクル内における定時通信フェーズを除く残り期間において、送信データ量の最大値を保証しつつ各通信ノードに対して順次に送信機会を与えるための調停機能が作動する非同期通信フェーズとが具備された規格されたシリアルバスに広く応用が可能である。
【0141】
【発明の効果】
以上の説明で明らかなように、この発明によれば、例えばIEEE1394バスのように、定時通信フェーズ(アイソクロナス通信フェーズに相当)と非同期通信フェーズ(アシンクロナス通信フェーズに相当)とを併有するオープン規格化されたシリアルバスの仕様を前提として、各通信ノードの最大送信データ量を保証しつつ、定時性を有するサイクリックデータ転送を実現可能となる。
【図面の簡単な説明】
【図1】IEEE1394バスの標準的な送信手順を示すタイムチャートである。
【図2】アイソクロナスサイクルを全てアイソクロナスフェーズとして使用したデータ通信を示すタイムチャートである。
【図3】シリアルバスと各通信ノードとの関係を示す説明図である。
【図4】各通信ノードのハードウェア構成を概略的に示すブロック図である。
【図5】管理局側の処理を示すフローチャートである。
【図6】通常局側の処理を示すフローチャートである。
【図7】サイクリックデータの送信タイミングを示すタイムチャートである。
【図8】分割データの送信タイミングの一例を示す説明図である。
【図9】サイクリック通信サイクル内における各通信ノードの送信タイミングを示すタイムチャートである。
【図10】データリンク機能を有するPLCシステムの構成図である。
【図11】データリンク機能を有するPLCのリモートI/Oシステムの構成図である。
【図12】データリンク機能を有し、かつリモートI/Oシステムを有するPLCシステムの構成図である。
【符号の説明】
Bus シリアルバス
400 回路装置
401 通信コントローラ
402 CPU
403 ROM
404 RAM
405 送受信バッファ
406 アイソクロナスリソースレジスタ
A11〜A44 PLCのI/Oデータ等の記憶エリア
ID1,ID2 入力デバイス
OD1,OD2 出力デバイス
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a cyclic data communication system suitable for applications such as a data link in a PLC system, and in particular, a scheduled communication phase (for example, an isochronous communication phase) and an asynchronous communication phase (for example, an asynchronous communication phase) such as an IEEE 1394 bus. In addition, the present invention relates to a novel cyclic data communication system that enables high-speed cyclic data communication with guaranteed transmission timing and maximum transmission amount of each communication node.
[0002]
[Prior art]
PLC systems incorporating a data link function are well known in the art. In such a PLC system, a plurality of programmable logic controllers (hereinafter referred to as PLCs) are connected by a serial bus, and I / O data and the like are periodically exchanged with each other, while the I / O in the entire system is performed. Sharing of data is realized.
[0003]
That is, in this type of PLC system, not only the I / O data area of the own machine but also the I / O data area of the other machine is provided in the memory of each PLC. In each PLC arithmetic unit (commonly called CPU unit), I / O refresh processing, instruction execution processing, and peripheral service processing are executed cyclically at all times. In the peripheral service processing, each PLC transmits the contents of its own I / O data area to other machines, for example, while broadcasting the I / O data broadcast to each other machine. Then, it is stored in the corresponding I / O data area for the other device. As each PLC sequentially operates in the same manner, the contents of the I / O data area of the other machine in the memory in each PLC are periodically updated. As a result, the I / O data in the memory of each machine is Automatically linked to each other.
[0004]
In recent years, the number of control points handled by the PLC has increased dramatically. Therefore, a serial bus required for realizing the data link function is required to be capable of high-speed and large-capacity transmission.
[0005]
In addition, in the trend of market liberalization and internationalization, recently, control system components tend to be mixed from various manufacturers. Therefore, the serial bus required for realizing the data link function is required to have an open standard rather than a specification unique to each manufacturer.
[0006]
[Problems to be solved by the invention]
For example, an IEEE 1394 bus is known as an open standardized serial bus capable of high-speed and large-capacity transmission. The IEEE 1394 bus is provided with an isochronous communication phase and an asynchronous communication phase.
[0007]
In the isochronous communication phase, an arbitration function operates so as to sequentially give transmission opportunities to each communication node while guaranteeing transmission every time within the isochronous cycle (125 μs) for all communication nodes that have issued transmission requests. .
[0008]
In the asynchronous communication interface, each communication node is sequentially given a transmission opportunity while guaranteeing the maximum value of the transmission data amount in the remaining period after the completion of the isochronous phase in the isochronous cycle for the communication node that has issued the transmission request. The arbitration function works as given.
[0009]
However, since the IEEE 1394 bus is mainly used for real-time transmission of digital video data or the like, the amount of data per communication node that can be transmitted on a regular basis is relatively small. When applied to data transfer for realization, there is a problem that the transmission data becomes fragmented and the data transmission speed cannot be sufficiently increased.
[0010]
The present invention has been made paying attention to the above-mentioned problems, and the object of the present invention is, for example, a regular communication phase (corresponding to an isochronous communication phase) and an asynchronous communication phase (asynchronous communication phase) as in the IEEE 1394 bus. In other words, cyclic data transmission having a fixed time system is possible while guaranteeing the maximum transmission data amount of each communication node.
[0011]
Another object of the present invention is to provide a PLC system capable of realizing a data link function while transmitting a relatively large amount of I / O data or the like between PLCs at high speed. .
[0012]
Another object of the present invention is to control a high response while transmitting a relatively large amount of I / O data between a master PLC and a plurality of slave input / output devices at high speed. Is to provide a remote I / O system for PLC.
[0013]
Furthermore, other objects and operational effects of the present invention will be easily understood by those skilled in the art by referring to the description in the following specification.
[0014]
[Means for Solving the Problems]
The cyclic data transmission system of the present invention is configured by connecting a plurality of communication nodes with a serial bus having a unique communication cycle.
[0015]
The serial bus has a regular communication phase and an asynchronous communication phase.
[0016]
In the regular communication phase, the arbitration function operates so that all communication nodes that have issued transmission requests are given transmission opportunities to each communication node sequentially while guaranteeing transmission every time for a specific communication cycle.
[0017]
In the asynchronous communication phase, to the communication node that issued the transmission request, transmission is sequentially made to each communication node while guaranteeing the maximum value of the transmission data amount in the remaining period excluding the scheduled communication phase in the specific communication cycle. The mediation function acts to give an opportunity.
[0018]
At least one of the plurality of communication nodes is assigned to the management station, and the other communication nodes are assigned to the normal station.
[0019]
The communication node assigned to the management station periodically transmits a cyclic trigger code indicating the start of a communication cycle in the regular communication phase.
[0020]
The communication node assigned to the normal station issues a transmission request in the asynchronous communication phase in response to detecting the cyclic trigger code transmitted from the communication node assigned to the management station in the regular communication phase. By obtaining the transmission opportunity, the target data is transmitted, or when the transmission opportunity is not obtained, the data transmitted from the communication node which is another station is received.
[0021]
As a result, the cyclic communication is performed cyclically while using the asynchronous communication phase between the communication nodes over a plurality of unique communication cycles using the transmission cycle of the cyclic trigger code as a data communication cycle.
[0022]
According to such a configuration, for example, a standardized serial bus having both a regular communication phase (corresponding to an isochronous communication phase) and an asynchronous communication phase (corresponding to an asynchronous communication phase), such as an IEEE1394 bus, is assumed. As described above, cyclic data transmission having punctuality can be performed while guaranteeing the maximum transmission data amount of each communication node.
[0023]
As a cyclic data transmission system in a more preferred embodiment of the present invention, a plurality of communication nodes may be connected by an IEEE 1394 bus.
[0024]
The IEEE 1394 bus includes an isochronous communication phase and an asynchronous communication phase.
[0025]
In the isochronous communication phase, an arbitration function is provided so that each communication node is sequentially given a transmission opportunity while guaranteeing transmission every isochronous communication cycle (for example, 125 μs) to all communication nodes that have issued transmission requests. Works.
[0026]
In the asynchronous communication phase, each communication node is sequentially given a transmission opportunity while guaranteeing the maximum value of the amount of transmission data for the remaining period after the completion of the isochronous phase in the isochronous cycle for the communication node that issued the transmission request. The arbitration function works as given.
[0027]
At least one of the plurality of communication nodes is assigned to the management station, and the other communication nodes are assigned to the normal station.
[0028]
In the isochronous communication phase, the communication node assigned to the management station periodically transmits a cyclic trigger packet indicating the start of a communication cycle.
[0029]
The communication node assigned to the normal station issues a transmission request in the asynchronous communication phase in response to detecting a cyclic trigger packet transmitted from the communication node assigned to the management station in the isochronous communication phase. By obtaining the transmission opportunity, the target data is transmitted, or when the transmission opportunity is not obtained, the data transmitted from the communication node which is another station is received.
[0030]
The management station may concentrate on management, or may transmit its own data after transmitting the cyclic trigger packet.
[0031]
As a result, the cyclic trigger packet transmission cycle is used as a data communication cycle, and cyclic data communication is performed between the communication nodes using the asynchronous communication phase across a plurality of isochronous communication cycles.
[0032]
According to such a configuration, assuming that the IEEE1394 bus having both the isochronous communication phase and the asynchronous communication phase is used, a maximum transmission data amount (for example, a maximum of 62 μs) per communication node is guaranteed. Thus, cyclic data transmission having punctuality can be performed.
[0033]
Incidentally, the transmission data for 62 μs corresponds to 512 bytes in the case of 100 Mbps, 1024 bytes in the case of 200 Mbps, and 2048 Mbyte in the case of 400 Mbps.
[0034]
In a preferred embodiment of the present invention, the transmission timing of the cyclic trigger packet may be obtained by calculation based on the total amount of transmission data per scheduled communication cycle.
[0035]
According to such a configuration, it is possible to perform cyclic data communication with the shortest cycle time while reliably guaranteeing a transmission opportunity and a transmission data amount for all communication nodes scheduled for transmission.
[0036]
In a preferred embodiment of the present invention, the transmission timing of the cyclic trigger packet may be determined by interruption of transmission data in the asynchronous communication phase.
[0037]
According to such a configuration, every communication opportunity is always guaranteed for all communication nodes even when the number of communication nodes that issue a transmission request varies depending on the execution status of the application. However, cyclic data communication is possible.
[0038]
The PLC system of the present invention is configured by connecting a plurality of PLCs with an IEEE 1394 bus.
[0039]
The IEEE 1394 bus includes an isochronous communication phase and an asynchronous communication phase.
[0040]
In the isochronous communication phase, the arbitration function works so as to provide each communication node with a transmission opportunity in order while guaranteeing transmission every isochronous cycle (for example, 125 μs) for all communication nodes that have issued transmission requests. To do.
[0041]
In the asynchronous communication phase, with respect to the communication node that issued the transmission request, in the remaining period after the end of the isochronous communication phase in the isochronous cycle, each communication node is assured the maximum value (for example, 62 μs) of the transmission data amount. On the other hand, an arbitration function for sequentially providing transmission opportunities operates.
[0042]
At least one of the plurality of PLCs is assigned to the management station, and the other PLC is assigned to the normal station.
[0043]
The PLC assigned to the management station periodically transmits a cyclic trigger packet indicating the start of a communication cycle in the isochronous communication phase.
[0044]
In response to detecting a cyclic trigger packet transmitted from the control station PLC in the isochronous communication phase, the PLC assigned to the normal station issues a transmission request and obtains a transmission opportunity in the asynchronous communication phase. Thus, the target data is transmitted, or when the transmission opportunity is not obtained, the data transmitted from the PLC which is another station is received.
[0045]
As a result, the cyclic trigger packet transmission cycle is used as a data communication cycle, and the control data is linked to each other by performing cyclic data communication between the PLCs while using the asynchronous communication phase. Here, the control data may include input data such as relays, switches, and sensors to be controlled, and output data such as actuators. These are often binary data on and off. Data links other than binary data may be used, for example, analog input numerical values and analog input numerical values to be controlled, or production information (production quantity, operating time, number of errors, etc.).
[0046]
According to such a configuration, it is possible to realize a PLC system in which a large amount of I / O data or the like is closely linked between PLCs with high response.
[0047]
The PLC remote I / O system according to the present invention is configured by connecting one PLC and a plurality of input / output devices via an IEEE 1394 bus.
[0048]
The IEEE 1394 bus includes an isochronous communication phase and an asynchronous communication phase.
[0049]
In the isochronous communication phase, there is an arbitration function for sequentially giving a transmission opportunity to each communication node while guaranteeing transmission every isochronous communication cycle (for example, 125 μs) to all communication nodes that have issued transmission requests. Works.
[0050]
In the asynchronous communication phase, each communication node guarantees the maximum transmission data amount (for example, 62 μs) in the remaining period after the end of the isochronous communication phase in the isochronous communication cycle for the communication node that has issued the transmission request. An arbitration function for sequentially giving transmission opportunities to the network operates.
[0051]
The PLC is assigned to the management station, and each of the plurality of input / output devices is assigned to the normal station.
[0052]
The PLC assigned to the management station periodically transmits a cyclic trigger packet indicating the start of a communication cycle in the isochronous communication phase.
[0053]
In response to detecting the cyclic trigger packet transmitted from the control station PLC in the isochronous communication phase, the input / output device assigned to the normal station issues a transmission request in the asynchronous communication phase and transmits a transmission opportunity. Thus, the target data is transmitted, or when the transmission opportunity is not obtained, the data transmitted from the PLC as the management station is received.
[0054]
In this example, the management station is a PLC and the normal station is an input / output device. However, in terms of the protocol, anyone may be the management station. Even if it is a management station, it does not manage anything but only plays a role of periodically sending trigger packets.
[0055]
As a result, the cyclic trigger packet transmission cycle is used as a data communication cycle, and cyclic data communication is performed between the PLC and each input / output device using the asynchronous communication phase. Link the data.
[0056]
According to such a configuration, a large number of controlled devices can be controlled with high response by a single PLC via a plurality of remote input / output devices.
[0057]
In a preferred embodiment in each of the above systems, the transmission timing of the cyclic trigger packet may be obtained by calculation based on the total amount of transmission data per scheduled communication cycle.
[0058]
In a preferred embodiment in each of the above systems, the transmission timing of the cyclic trigger packet may be determined by transmission data interruption in the asynchronous phase.
[0059]
DETAILED DESCRIPTION OF THE INVENTION
In the following, a preferred embodiment of the present invention will be described in detail with reference to the accompanying drawings.
[0060]
First, in order to facilitate understanding of the present invention, basic items relating to IEEE 1394, which is an open standard serial bus, will be described. A time chart showing a standard transmission procedure of IEEE1394 is shown in FIG.
[0061]
In the IEEE 1394 data transfer, all nodes operate equally. The transfer operation of each node includes a case where transfer is performed by designating a specific node ID and a case where transfer is performed for all nodes (broadcast).
[0062]
In either case, when a plurality of nodes transmit data to the bus at the same time, a collision occurs. Therefore, only the node that has acquired the use right by performing arbitration in advance uses the bus. However, the usable time is limited to a relatively short time, and the next transmission is immediately switched. This is because it is possible to simultaneously transfer a plurality of real-time data by preventing the transmission of one node from occupying the bus for a long time and guaranteeing the bandwidth of the other transmission.
[0063]
There is only one root node in the bus, and the tree can be traced from the root to all nodes. An upstream node with respect to each node is a parent node, and the parent node can be sequentially traced to reach the root. The node requesting the right to use the bus issues a request to the parent node, and the request is collected in the route. The route gives usage rights so that each node is fair.
[0064]
The IEEE 1394 transfer method has two phases: an isochronous transfer phase in which the bandwidth is guaranteed and an asynchronous transfer phase in which the bandwidth is not guaranteed. In any phase, such arbitration is performed at the beginning of the transfer. In the case of the isochronous transfer phase, it is guaranteed that data transfer can be performed at least once every 125 μsec even if it is postponed by arbitration. On the other hand, in the asynchronous transfer phase, there may be a long wait depending on the result of arbitration.
[0065]
In the IEEE 1394 data transfer, a transfer cycle is repeated every 125 μsec, and a transfer time is allocated little by little to each node in each cycle. In the first half of the cycle, an isochronous transfer channel is allocated. Asynchronous transfers are assigned to the remaining time in the second half of the cycle.
[0066]
The start of the cycle will be described in detail. One of the nodes (generally the root) becomes the cycle master and manages the execution of the cycle. The cycle master broadcasts a cycle start packet every 125 μsec, so that each node knows the cycle start timing.
[0067]
The isochronous transfer will be described in detail. In order to prevent data collision, a node requesting isochronous transfer issues a request for channel use right after a certain time interval after the cycle start packet. This interval is called an isochronous gap. The node that has acquired the channel use right by arbitration continues to transfer data as an isochronous packet. After the end of one channel, arbitration of the next channel is performed with an isochronous gap, and the node that has acquired the right to use the channel transfers data as an isochronous packet. This is repeated sequentially until there are no more nodes requesting channel usage rights.
[0068]
Asynchronous transfer will be described in detail. When the last channel of isochronous transfer is completed, there is no node requesting the channel use right, and a free time occurs on the bus. A node requesting asynchronous transfer is permitted to issue a request for asynchronous transfer when it detects that the bus idle time has reached a certain time longer than the isochronous gap. This time is called the subaction gap. The node that has acquired the right to use the bus by arbitration subsequently transfers the data packet. After the end of one data packet, the next transfer is arbitrated with a subaction gap, and the node that has acquired the right to use the bus transfers the data packet. This is repeated until there is no node requesting the right to use the bus or the cycle time reaches 125 μsec.
[0069]
The end of the cycle will be described. If there is no node that requests the right to use the bus before the cycle time reaches 125 μsec, the remaining time of the cycle becomes a free time. On the other hand, when the cycle time becomes 125 μsec during the transfer of the data packet, the cycle master waits until the packet is transferred to the end and starts the next cycle. At this time, the time of the next cycle is shortened by the amount delayed, and the average cycle time is maintained at 125 μsec. To prevent the next cycle time from becoming too short, asynchronous transfer packets are limited to a maximum of 62 μsec.
[0070]
As described above, in IEEE1394, an isochronous packet (Isochronous Packet) is prepared for transmission of a synchronous message, and an asynchronous packet (Asynchronous Packet) is prepared for transmission of an asynchronous message. ing. The packet configurations of the isochronous packet and the asynchronous packet are the same.
[0071]
The isochronous packet is a synchronous packet and can be transmitted periodically by each node. The isochronous packet is transmitted by designating a channel ID (tag). Each station is provided with a channel ID filter, and only the channel ID packets that are permitted to be received by the filter are received.
[0072]
The transmission timing of asynchronous packets and asynchronous stream packets is not defined in IEEE 1394, and the decision is left to the application side. The asynchronous packet is transmitted by directly specifying the IEEE 1394 Phy_ID (physical ID / physical layer address), and the Phy_ID is received by the corresponding node.
[0073]
In IEEE 1394, data of all channels requested to be transmitted in an isochronous cycle is transmitted. In isochronous communication, all stations having requested transmission transmit isochronous data using a cycle start packet as a trigger. The cycle start packet is periodically transmitted every 125 μs. Thereby, cyclic communication can be performed. Further, in order to guarantee that all stations can transmit isochronous data, a register indicating a remaining bandwidth called BANDWIDTH_AVALABLE is provided to limit the time of isochronous phase and the amount of transmission data. Further, there is only one transmission of the same channel within one isochronous cycle, and two stations cannot transmit the same channel. This means that it guarantees that the necessary data can be transmitted reliably.
[0074]
By the way, it is obvious that isochronous communication defined by IEEE 1394 is preferably used to perform periodic data transfer (cyclic communication) in IEEE 1394.
[0075]
However, as described above, since transmission of all channels and all isochronous data within 125 μs is guaranteed, isochronous data that can be transmitted within one isochronous cycle has a maximum of 1536 bytes at 100 Mbps as shown in FIG. It will be limited to. If these 1536 bytes are transmitted by 63 stations and each station occupying one channel, it becomes 24 bytes per node. In this case, the use is extremely limited.
[0076]
For example, in an application such as a PLC system having a data link function, a plurality of PLCs share data of each station. At this time, each station broadcasts its own station data and receives the broadcast data of other stations to share data between PLCs. Such systems often share several kilobytes of data, and a transmission capacity of about 24 bytes per station is not sufficient in data capacity.
[0077]
Even if 24 bytes of data are assembled and large data is transmitted, the ratio of data not used in the application such as header and tailer included in the transmission data increases, the substantial transmission efficiency decreases, and high speed. The merit of using the transmission line is reduced.
[0078]
In addition, in a PLC system having a data link function, data punctuality is also important. That is, it is necessary to guarantee a transmission delay time when certain data is transferred.
[0079]
Even in IEEE 1394, the problem of data capacity can be solved by using an asynchronous packet, but in that case, punctuality cannot be guaranteed. There is no mechanism that allows each station to transmit data equally.
[0080]
Therefore, in the present invention, the problem of the amount of data is solved by transmitting cyclic data using an asynchronous message, and the problem of punctuality is solved by sending the transmission timing using a synchronous message.
[0081]
In this way, by appropriately adjusting the transmission timing of cyclic data, the data amount is not limited to 1536 bytes, and cyclic communication can be performed while maintaining punctuality.
[0082]
That is, an asynchronous stream packet that is an asynchronous message may be used for cyclic data transmission. Asynchronous stream packets use channels to specify destinations for transmission and reception in the same way as isochronous packets. The receiving side only needs to specify the channel, and the packet header is small, so data can be transmitted to all stations. Good. Of course, an asynchronous packet may be transmitted to the broadcast address. On the other hand, an isochronous packet may be used to notify the transmission timing of cyclic data. Thereby, it is possible to reliably give a cyclic data transmission trigger.
[0083]
More specifically, a management station and a normal station connected to IEEE 1394 may operate according to the following procedure.
[0084]
That is, the management station transmits an isochronous packet (cyclic trigger packet) that triggers cyclic data transmission.
[0085]
There are several possible methods for determining the timing for transmitting the cyclic trigger packet. As one method, the amount of cyclic data is determined in advance, and the period required for transmission is calculated from the data amount. The transmission timing of the cyclic trigger packet is determined based on the value. As another method, since the cyclic data is broadcast simultaneously, the packet is always monitored, and when no cyclic trigger data is received for a certain period of time, cyclic data transmission of all stations is performed. Is finished, the next cyclic trigger packet is transmitted. That is, when the transmission of cyclic data is interrupted for a certain time, it is determined that the transmission timing of the cyclic trigger bucket has arrived.
[0086]
There are several possible methods for determining the management station. As one method, a node to be a management station is determined in advance. As another method, the management station is the one with the largest or smallest Phy_ID. Furthermore, as another method, an isochronous resource manager (a node having a register such as BANDWIDTH_AVALABLE described above) serves as a management station.
[0087]
On the other hand, the normal station monitors the reception of the cyclic trigger packet. As soon as the cyclic trigger packet is received, the cyclic data of the own station is transmitted. It also receives cyclic data from other stations. The cyclic trigger packet from the management station is monitored, and if it cannot be received for a certain period of time, it is determined that an abnormality has occurred and the management station is re-determined.
[0088]
Next, a specific example of a cyclic data communication system to which the present invention is applied will be described in detail with reference to FIGS.
[0089]
An explanatory diagram showing the relationship between the serial bus (IEEE1394 in this example) and each communication node is shown in FIG. As shown in the figure, this cyclic data communication system is configured by connecting N (plural) communication nodes Node1 to NodeN with a bus BUS defined by IEEE1394. As a method of connection, in addition to a daisy chain shape or a tree shape, a mixed form thereof can be adopted. As a signal line constituting the bus, for example, a twisted pair line or the like can be used. In particular, in this example, Node 1 is assigned to the management station, and Node 2 to Node N are assigned to the normal station.
[0090]
A block diagram schematically showing the hardware configuration of each of the communication nodes Node1 to NodeN is shown in FIG. As shown in the figure, a circuit device (generally embodied as a communication board or the like) 400 constituting each communication node 400 realizes a data transmission / reception function with a signal line constituting a serial bus Bus. Communication controller 401, CPU 402 that performs overall control of the entire circuit device, ROM 403 that stores an operation program and the like of the microprocessor that constitutes CPU 402, RAM 404 that functions as a work area for the operation of CPU 402, and temporary storage of transmission / reception data A transmission / reception buffer 405 functioning as a region and an isochronous resource register (including BANDWIDTH_AVAILABLE) 406 are included.
[0091]
FIG. 5 is a flowchart showing processing on the management station side, and FIG. 6 is a flowchart showing processing on the normal station side. Hereinafter, the operation of the cyclic data communication system of the present invention will be systematically described with reference to these flowcharts and the time charts of FIGS.
[0092]
First, as shown in the flowchart of FIG. 5, the communication node Node1 serving as the management station enters a state of waiting for a predetermined timer to expire (step 501 NO). This timer specifies the transmission cycle of the cycle trigger packet. As a method for determining the timer time, as described above, the amount of cyclic data is determined in advance, and the period necessary for transmission is calculated from the data amount. The transmission timing of the cyclic trigger packet is determined based on the value.
[0093]
When the timer expires (step 501 YES), a cyclic trigger packet transmission process prepared in advance is executed (step 502). Thereby, on the serial bus Bus, for example, a cyclic trigger packet is transmitted as an isochronous communication packet to all other communication nodes (see the explanatory diagram of FIG. 3). The transmission of the cyclic trigger packet performed as the isochronous communication packet can be realized by, for example, broadcast simultaneous transmission or all channel designation. As described above, this cyclic trigger packet informs the other communication nodes Node2 to NodeN, which are normal stations, of the start time of each communication cycle in the cyclic data communication intended by the application. belongs to.
[0094]
Following the transmission of the cyclic trigger packet, the communication node Node1 serving as the management station determines whether or not there is a transmission data request from its own station, and if the transmission request is also from its own station The local cyclic data bucket is transmitted (step 503). Thereby, on the serial bus Bus, the cyclic data packet from the management station is transmitted to the determined partner station as an asynchronous communication packet. If there is no cyclic data transmission request from the own station, the data transmission process (step 503) from the own station is skipped.
[0095]
After transmitting a cyclic trigger packet (when there is no transmission request for its own cyclic data packet) or after transmitting its own cyclic data (when there is a transmission request for its own cyclic data bucket), A cyclic trigger packet transmission timer activation process (step 504) is executed, and thereafter, each time the cyclic trigger packet transmission timer expires, a series of processes (steps 502, 503, and 504) are repeatedly executed. As a result, the cyclic trigger packet is transmitted from the communication node Node1 assigned to the management station to all other communication nodes NodeZ to NodeN on the serial bus at a constant cycle. Since this cyclic trigger packet is transmitted as an isochronous communication packet, according to the IEEE 1394 scheduled transmission specification, a cyclic trigger packet transmission opportunity can always be obtained once every 125 μsec, thereby improving the periodicity of cyclic data communication. Can be satisfied. In addition, since the transmission of the local data packet is transmitted as an asynchronous communication packet, a maximum data transmission capacity of, for example, 62 μsec can be secured per transmission.
[0096]
On the other hand, as shown in the flowchart of FIG. 6, the other communication nodes Node2 to NodeN serving as normal stations are waiting for a cyclic trigger packet to be transmitted as an isochronous communication packet (step 601 NO, 602 NO).
[0097]
In this state, when reception of a cyclic trigger packet is confirmed as an isochronous communication packet (YES in step 601), in response to this, a transmission process of the local station cyclic data bucket is executed (step 603). As described above, since the transmission of the local data cyclic data packet is transmitted as an asynchronous communication packet, it is possible to secure a data transmission capacity for a maximum of 62 μsec. More specifically, each normal station issues a transmission request for an asynchronous communication packet. Then, the transmission right is given to one of the normal stations that issued the transmission request by the system-defined arbitration acting. In the normal station to which the transmission right is granted, the local station cyclic data transmission process (step 603) is executed, and the local station cyclic data packet is addressed to a predetermined destination as an asynchronous communication packet on the serial bus Bus. Will be sent. When the transmission of the cyclic data packet as an asynchronous communication bucket is completed in one normal station, a transmission request is subsequently issued again from all the remaining normal stations, and arbitration acts to A transmission right is granted to one, and in response to this, a cyclic data packet transmission process is executed. Thereafter, the above operation is repeated until there is no normal station that issues a transmission request (description of FIG. 3). (See figure).
[0098]
On the other hand, the normal station that has completed the transmission processing of its own cyclic data packet starts the cyclic trigger packet waiting timer (step 604). This timer is used for determining that the transmission of the cyclic trigger packet is interrupted due to some cause (communication error or the like).
[0099]
Thereafter, the normal station side waits for the cyclic trigger packet reception while monitoring the timeout of the cyclic trigger packet reception waiting timer (NO in step 602).
[0100]
Then, each time the reception of the cyclic trigger packet is confirmed (step 601 YES), the local station cyclic data transmission process (step 603) and the cyclic trigger packet reception waiting timer activation process (step 604) described above are sequentially performed. Execute. On the other hand, when the timeout of the cyclic trigger packet reception waiting timer is confirmed (step 602 YES), a known management station redetermination process (step 605) is executed. As a result, when an error occurs during some communication and the reception waiting timer for the cyclic trigger packet times out (YES in step 602), the management station redetermination process (step 605) is executed to redetermine the management station. The bus is initialized and the operations described above are repeatedly executed.
[0101]
FIG. 7 shows a time chart showing the transmission timing of cyclic data when the processing shown in the flowcharts of FIGS. 5 and 6 is executed.
[0102]
As shown in the figure, when a cyclic communication cycle is started, a cyclic trigger packet is first transmitted as an isochronous packet from the management station. Then, each normal station sends an asynchronous packet transmission request to the management station side. A known arbitration is executed in response to a transmission request to the management station, and a transmission right is given to one of the plurality of normal stations. The normal station to which the transmission right is given sends out its own cyclic data on the bus as an asynchronous packet. When transmission of cyclic data by one normal station is completed, arbitration is executed one after another, and transmission of cyclic data of the next normal station is repeated.
[0103]
In this time chart, the data from the normal station sent out on the bus in this way is written as “Node A cyclic message”, “Node B cyclic message”,... “Node n cyclic message”. Yes. When the last normal station sends out the cyclic data in this way, there is a waiting time until the next cyclic trigger packet is sent from the management station. The management station transmits a trigger packet for the next trigger packet after a certain period from the reception of the last cyclic data packet.
[0104]
In this way, the management station periodically transmits a trigger packet. When the normal station receives the trigger packet, it transmits a data packet for its own station. Each station receives data packets transmitted by other stations. There are several possible timings for transmitting the trigger packet, such as a preset interval, an interval corresponding to the total data packet amount, and after data packet transmission of all nodes is completed. The time chart of FIG. 7 is an example in which the next trigger packet is transmitted after waiting for a certain time after all nodes transmit the data packet.
[0105]
Cyclic data transfer starts transmission of own station data of each station triggered by reception of a cyclic trigger packet. The cyclic trigger packet is transmitted as an isochronous packet. Each station transmits one cyclic data by receiving one cyclic trigger packet. The management station transmits the cyclic trigger packet.
[0106]
The size of data to be transmitted can be a maximum of 512 bytes per packet according to the IEEE 1394 specification. When the packet requested to be transmitted is larger than 512 bytes, division / assembly is performed in accordance with the IEEE 1394 specification. The divided packets may be transmitted over a plurality of communication cycles, or may be transmitted as continuous packets in one communication cycle.
[0107]
In the example shown in the time chart of FIG. 7, when a packet requested to be transmitted is larger than 512 bytes, a portion exceeding 512 bytes of data to be transmitted is sent to the next cyclic communication cycle.
[0108]
On the other hand, in the example shown in the time chart of FIG. 8, when a packet requested to be transmitted is larger than 512 bytes, the packet to be transmitted is divided into a plurality of fragments (fragments 1 to 3). It is divided and transmitted continuously with a gap in the same cyclic communication cycle. That is, following the cyclic message of node A, three cyclic messages related to node B are continuously transmitted across a gap. Needless to say, these cyclic messages are all transmitted as asynchronous communication packets.
[0109]
The transmission timing of each communication node in the cyclic communication cycle described above is collectively shown in the time chart of FIG.
[0110]
As shown in the figure, in this example, a cyclic communication cycle is constituted by three isochronous cycles (first cycle, second cycle, and third cycle). The start of each isochronous cycle is indicated by a cycle start packet.
[0111]
In the first cycle of the isochronous cycle, a trigger packet is transmitted following the cycle start packet. This trigger packet is transmitted as an isochronous packet. Subsequent to the transmission of the trigger packet, the data packets of the nodes 2, 3 and 4 are sequentially transmitted. These data packets are transmitted by asynchronous communication packets. When the transmission of the node 4 is completed, each normal station waits until the second cycle arrives.
[0112]
In the second cycle, following the transmission of the cycle start packet, the data packet transmission of the node 5 and the node 6 is executed in order. When the transmission of the data packet of the node 6 is completed, each normal station waits until the third cycle arrives.
[0113]
When the third cycle arrives, the cycle start packet arrives, but after that, the whole period waits until the fourth cycle starts.
[0114]
By repeating the above operations, a cyclic communication cycle is realized over three isochronous cycles, and each node has a punctuality defined by the isochronous cycle in a state where a sufficient data transmission capacity is secured. Data transfer can be performed at high speed with each other while being satisfied.
[0115]
Needless to say, while any one of the nodes 1 to 6 is transmitting, the other nodes receive the transmitted data.
[0116]
Thus, according to the cyclic data communication system of the present invention, the trigger packet indicating the start of the cyclic communication cycle is transmitted as an isochronous packet with guaranteed punctuality, while the target transmission data is Asynchronous communication packets are guaranteed with a maximum of 512 bytes per transmission, so IEEE 1394, a widely used general-purpose bus, is adopted, but any cycle length is not limited by its inherent cycle of 125 μsec. Can be realized.
[0117]
In particular, as for the timing of transmitting the trigger packet, various timings such as a preset interval, an interval according to the total data packet amount, and after data packet transmission of all nodes can be freely determined. The degree of design freedom is also improved.
[0118]
Next, FIG. 10 shows a configuration diagram of a PLC system having a data link function to which the present invention is applied. In this example, four programmable logic controllers (PLC1 to PLC4) are connected by an open standard serial bus BUS. As such a serial bus BUS, IEEE1394 or the like can be adopted.
[0119]
Each programmable logic controller PLC1 to PLC4 is provided with four storage areas (PLC1 area, PLC2 area, PLC3 area, PLC4 area). In these storage areas, I / O data relating to the corresponding PLC is stored. That is, in this system, I / O data and the like in all the PLCs are shared with each other.
[0120]
More specifically, PLC1 broadcasts its own station area A11 and receives area data of PLC2-4. Similarly, PLCs 2 to 4 simultaneously broadcast their own station areas and receive other station areas. Thereby, PLC1-PLC4 can share the same data.
[0121]
As is well known, in a PLC, an input / output update process and an instruction execution process are executed, and a system service process is executed every time a certain period comes. In this system service process, Execute data transfer processing.
[0122]
In this embodiment, the cyclic data communication system of the present invention described above is adopted for the data transfer processing for the data link.
[0123]
In other words, the IEEE 1394 bus Bus that connects four PLCs (PLC1 to PLC4) to each other is sequentially connected to each communication node while guaranteeing transmission every isochronous communication cycle for all PLCs that have issued transmission requests. For the isochronous communication phase in which the arbitration function is activated to give a transmission opportunity, and the PLC that issued the transmission request, the maximum value of the transmission data amount is guaranteed in the remaining period after the end of the isochronous communication phase in the isochronous communication cycle. However, an asynchronous communication phase having an arbitration function for sequentially giving each communication node a transmission opportunity is provided.
[0124]
At least one of the plurality of PLCs is assigned to the management station, and the other PLC is assigned to the normal station.
[0125]
The PLC assigned to the management station periodically transmits a cyclic trigger packet indicating the start of a communication cycle in the isochronous communication phase.
[0126]
On the other hand, in response to detecting a cyclic trigger packet transmitted from the control station PLC in the isochronous communication phase, the PLC assigned to the normal station issues a transmission request in the asynchronous communication phase to transmit a transmission opportunity. By transmitting the target data, the target data is transmitted, or when the transmission opportunity is not obtained, the data transmitted from the PLC which is another station is received.
[0127]
As a result, the cyclic trigger packet transmission cycle is used as a data communication cycle, and cyclic data communication is performed between the PLCs while using the asynchronous communication phase so that control data such as I / O data is linked to each other. I have to.
[0128]
Next, a configuration diagram of a PLC remote I / O system having a data link function to which the present invention is applied is shown in FIG.
[0129]
In this example, one PLC functioning as a master station and four input / output devices (ID1, OD1, ID2, OD2) functioning as slave stations are connected by an IEEE 1394 bus Bus.
[0130]
This IEEE 1394 bus has an isochronous communication in which an arbitration function for sequentially giving a transmission opportunity to each communication node is ensured while guaranteeing transmission every isochronous communication cycle to all communication nodes that have issued transmission requests. For the communication node that issued the phase and the transmission request, in the remaining period after the end of the isochronous communication phase in the isochronous communication cycle, a transmission opportunity is sequentially provided to each communication node while guaranteeing the maximum value of the transmission data amount And an asynchronous communication phase having an arbitration function for giving.
[0131]
The PLC is assigned to the management station, and the input / output devices (ID1, OD1, ID2, OD2) are assigned to the normal station.
[0132]
In the isochronous communication phase, the PLC assigned to the management station periodically transmits a cyclic trigger packet indicating the start of a communication cycle by issuing a transmission request and obtaining a transmission opportunity.
[0133]
On the other hand, the input / output device assigned to the normal station issues a transmission request in the asynchronous communication phase in response to detecting the cyclic trigger packet sent from the control station PLC in the isochronous communication phase. By obtaining the transmission opportunity, the target data is transmitted, or when the transmission opportunity is not obtained, the data transmitted from the PLC as the management station is received.
[0134]
As a result, cyclic communication is performed while using the asynchronous communication phase between the PLC and each input / output device (ID1, OD1, ID2, OD2) using the cyclic trigger packet transmission cycle as a data communication cycle. Thus, I / O data is linked between them.
[0135]
Finally, FIG. 12 shows a configuration diagram of a PLC system having a data link function to which the present invention is applied and having a remote I / O system.
[0136]
This system includes four programmable logic controllers PLC1 to PLC4 and four input / output devices (ID1, OD1, ID2, OD2).
[0137]
The four PLCs and the four input / output devices are connected by an open standard serial bus. As such a bus, IEEE1394 or the like can be adopted.
[0138]
PLC1 to PLC4 realize the data link function as described with reference to FIG. On the other hand, the data link function described with reference to FIG. 11 is realized between the PLC 1 and the input / output devices (ID1, OD1, ID2, OD2).
[0139]
Therefore, according to this system, while realizing the data link function among the four programmable logic controllers PLC1 to PLC4, one PLC functioning as a master and four remotely installed input / output devices ( By realizing a data link with ID1, OD1, ID2, OD2), it is possible to realize an extremely sophisticated control system while maintaining high responsiveness.
[0140]
In each of the embodiments described above, IEEE 1394 is cited as the serial bus to which the present invention is applied. However, the application of the present invention is not limited to this. In short, the cyclic data communication system of the present invention is designed to provide each communication node with a transmission opportunity sequentially while guaranteeing transmission every time for a specific communication cycle to all communication nodes that have issued transmission requests. For each communication node while guaranteeing the maximum value of the transmission data amount for the remaining period excluding the scheduled communication phase in the unique communication cycle for the scheduled communication phase in which the arbitration function operates and the communication node that issued the transmission request In contrast, the present invention can be widely applied to a standardized serial bus provided with an asynchronous communication phase in which an arbitration function for sequentially providing transmission opportunities is activated.
[0141]
【The invention's effect】
As is apparent from the above description, according to the present invention, for example, as in the IEEE 1394 bus, open standardization having both a regular communication phase (corresponding to an isochronous communication phase) and an asynchronous communication phase (corresponding to an asynchronous communication phase). On the premise of the serial bus specification, cyclic data transfer having punctuality can be realized while guaranteeing the maximum transmission data amount of each communication node.
[Brief description of the drawings]
FIG. 1 is a time chart showing a standard transmission procedure of an IEEE 1394 bus.
FIG. 2 is a time chart showing data communication using all isochronous cycles as an isochronous phase.
FIG. 3 is an explanatory diagram showing a relationship between a serial bus and each communication node.
FIG. 4 is a block diagram schematically showing a hardware configuration of each communication node.
FIG. 5 is a flowchart showing processing on the management station side.
FIG. 6 is a flowchart showing processing on the normal station side.
FIG. 7 is a time chart showing the transmission timing of cyclic data.
FIG. 8 is an explanatory diagram illustrating an example of transmission timing of divided data.
FIG. 9 is a time chart showing the transmission timing of each communication node in a cyclic communication cycle.
FIG. 10 is a configuration diagram of a PLC system having a data link function.
FIG. 11 is a configuration diagram of a PLC remote I / O system having a data link function;
FIG. 12 is a configuration diagram of a PLC system having a data link function and having a remote I / O system.
[Explanation of symbols]
Bus serial bus
400 Circuit device
401 Communication controller
402 CPU
403 ROM
404 RAM
405 Send / Receive buffer
406 Isochronous Resource Register
A11-A44 PLC I / O data storage area
ID1, ID2 input device
OD1, OD2 output device

Claims (8)

複数の通信ノードが固有の通信サイクルを有するシリアルバスで結ばれており、
シリアルバスには、
送信要求を発した全ての通信ノードに対して、固有の通信サイクルに対する毎回送信を保証しつつ各通信ノードに対して順次に送信機会を、送信要求を発する通信ノードがなくなったときに当該フェーズを終了させる調停機能が作動する定時通信フェーズと、
固有の通信サイクル内における定時通信フェーズに続く残り期間において、送信データ量の最大値を保証しつつ送信要求を発した各通信ノードに対して、順次に送信機会を与えるための調停機能が作動する非同期通信フェーズとが具備されており、
複数の通信ノードの少なくとも一つは管理局に、又他の通信ノードは通常局に、割り当てられており、
管理局に割り当てられた通信ノードは、定時通信フェーズにおいて、通信サイクルの開始を示すサイクリックトリガ符号を周期的に送信すると共に、
通常局に割り当てられた通信ノードは、定時通信フェーズにおいて、管理局に割り当てられた通信ノードから送信されるサイクリックトリガ符号を検知するのに応答して、非同期通信フェーズにおいて、送信要求を発して送信機会を得ることにより、目的とするデータを送信し、又は送信機会を得ないときは他局である通信ノードから送信されたデータを受信し、
それにより、サイクリックトリガ符号の送信サイクルをデータ通信サイクルとして、通信ノード間で非同期通信フェーズを利用しつつ、固有の通信サイクルの複数に跨って、サイクリックにデータ通信を可能としたサイクリックデータ通信システム。
Multiple communication nodes are connected by a serial bus with a unique communication cycle,
The serial bus
For all communication nodes that issued a transmission request, the sequentially transmission opportunity to each communication node while ensuring transmission every respect unique communication cycle, the phase when the communication node has run out for emitting transmission request A scheduled communication phase in which the arbitration function to be terminated operates,
In the remaining period following the scheduled communication phase within a unique communication cycle, an arbitration function is activated to sequentially give a transmission opportunity to each communication node that has issued a transmission request while guaranteeing the maximum value of the transmission data amount. An asynchronous communication phase,
At least one of the plurality of communication nodes is assigned to the management station, and the other communication node is assigned to the normal station.
The communication node assigned to the management station periodically transmits a cyclic trigger code indicating the start of a communication cycle in the regular communication phase.
The communication node assigned to the normal station issues a transmission request in the asynchronous communication phase in response to detecting the cyclic trigger code transmitted from the communication node assigned to the management station in the regular communication phase. By obtaining the transmission opportunity, transmit the target data, or when not receiving the transmission opportunity, receive the data transmitted from the communication node which is another station,
As a result, cyclic data that enables cyclic data communication across multiple unique communication cycles while using the asynchronous communication phase between communication nodes with the cyclic trigger code transmission cycle as the data communication cycle Communications system.
複数の通信ノードがIEEE1394バスで結ばれており、
IEEE1394バスには、
送信要求を発した全ての通信ノードに対して、アイソクロナス通信サイクルに対する毎回送信を保証しつつ各通信ノードに対して順次に送信機会を与え、送信要求を発する通信ノードがなくなったときに当該フェーズを終了させる調停機能が作動するアイソクロナス通信フェーズと、
送信要求を発した通信ノードに対して、アイソクロナスサイクル内におけるアイソクロナス通信フェーズ完了後の残り期間において、送信データ量の最大値を保証しつつ送信要求を発した各通信ノードに対して、順次に送信機会を与えるための調停機能が作動するアシンクロナス通信フェーズとが具備されており、
複数の通信ノードの少なくとも一つは管理局に、又他の通信ノードは通常局に、割り当てられており、
管理局に割り当てられた通信ノードは、アイソクロナス通信フェーズにおいて、通信サイクルの開始を示すサイクリックトリガパケットを周期的に送信すると共に、
通常局に割り当てられた通信ノードは、アイソクロナス通信フェーズにおいて、管理局に割り当てられた通信ノードから送信されるサイクリックトリガパケットを検知するのに応答して、アシンクロナス通信フェーズにおいて、送信要求を発して送信機会を得ることにより、目的とするデータを送信し、又は送信機会を得ないときは他局である通信ノードから送信されたデータを受信し、
それにより、サイクリックトリガパケットの送信サイクルをデータ通信サイクルとして、通信ノード間でアシンクロナス通信フェーズを利用しつつ、複数のアイソクロナス通信サイクルに跨って、サイクリックにデータ通信を可能としたサイクリックデータ通信システム。
Multiple communication nodes are connected by the IEEE 1394 bus,
The IEEE 1394 bus has
For all communication nodes that issued a transmission request, sequentially provide a transmission opportunity to each communication node while ensuring transmission each time for isochronous communication cycle, the phase when the communication node has run out for emitting transmission request An isochronous communication phase in which the arbitration function is terminated ;
Sequential transmission to each communication node that issued a transmission request while guaranteeing the maximum amount of transmission data for the remaining period after completion of the isochronous communication phase in the isochronous cycle to the communication node that issued the transmission request And an asynchronous communication phase in which an arbitration function is activated to give an opportunity,
At least one of the plurality of communication nodes is assigned to the management station, and the other communication node is assigned to the normal station.
The communication node assigned to the management station periodically transmits a cyclic trigger packet indicating the start of a communication cycle in the isochronous communication phase,
The communication node assigned to the normal station issues a transmission request in the asynchronous communication phase in response to detecting a cyclic trigger packet transmitted from the communication node assigned to the management station in the isochronous communication phase. By obtaining the transmission opportunity, transmit the target data, or when not receiving the transmission opportunity, receive the data transmitted from the communication node which is another station,
As a result, cyclic data communication that enables cyclic data communication across multiple isochronous communication cycles while using the asynchronous communication phase between communication nodes with the cyclic trigger packet transmission cycle as the data communication cycle system.
サイクリックトリガパケットの送信タイミングは、予定される1通信サイクル当たりの送信データ総量に基づいて計算により求められたものである、請求項1又は2に記載のサイクリックデータ通信システム。 The cyclic data communication system according to claim 1 or 2, wherein the transmission timing of the cyclic trigger packet is obtained by calculation based on a total amount of transmission data per scheduled communication cycle. サイクリックトリガパケットの送信タイミングは、アシンクロナスフェーズにおける送信データの途切れにより決定される、請求項1又は2に記載のサイクリックデータ通信システム。 The cyclic data communication system according to claim 1 or 2, wherein the transmission timing of the cyclic trigger packet is determined by interruption of transmission data in the asynchronous phase. 複数のPLCがIEEE1394バスで結ばれており、
IEEE1394バスには、
送信要求を発した全ての通信ノードに対して、アイソクロナス通信サイクルに対する毎回送信を保証しつつ各通信ノードに対して順次に送信機会を与え、送信要求を発する通信ノードがなくなったときに当該フェーズを終了させる調停機能が作動するアイソクロナス通信フェーズと、
送信要求を発した通信ノードに対して、アイソクロナス通信サイクル内におけるアイソクロナス通信フェーズ終了後の残り期間において、送信データ量の最大値を保証しつつ送信要求を発した各通信ノードに対して、順次に送信機会を与えるための調停機能を有するアシンクロナス通信フェーズとが具備されており、
複数のPLCの少なくとも一つは管理局に、又他のPLCは通常局に、割り当てられており、
管理局に割り当てられたPLCは、アイソクロナス通信フェーズにおいて通信サイクルの開始を示すサイクリックトリガパケットを周期的に送信すると共に、
通常局に割り当てられたPLCは、アイソクロナス通信フェーズにおいて、管理局であるPLCから送信されるサイクリックトリガパケットを検知するのに応答して、アシンクロナス通信フェーズにおいて、送信要求を発して送信機会を得ることにより、目的とするデータを送信し、又は送信機会を得ないときは他局であるPLCから送信されたデータを受信し、
それにより、サイクリックトリガパケットの送信サイクルをデータ通信サイクルとして、PLC間でアシンクロナス通信フェーズを利用しつつサイクリックにデータ通信を行うことにより、相互に制御データをリンクさせるようにしたPLCシステム。
Multiple PLCs are connected by the IEEE1394 bus,
The IEEE 1394 bus has
For all communication nodes that issued a transmission request, sequentially provide a transmission opportunity to each communication node while ensuring transmission each time for isochronous communication cycle, the phase when the communication node has run out for emitting transmission request An isochronous communication phase in which the arbitration function is terminated ;
For each communication node that has issued a transmission request while guaranteeing the maximum value of the amount of transmission data in the remaining period after the end of the isochronous communication phase in the isochronous communication cycle for the communication node that has issued the transmission request. And an asynchronous communication phase having an arbitration function for giving a transmission opportunity,
At least one of the plurality of PLCs is assigned to the management station, and the other PLC is assigned to the normal station.
The PLC assigned to the management station periodically transmits a cyclic trigger packet indicating the start of a communication cycle in the isochronous communication phase,
In response to detecting a cyclic trigger packet transmitted from the control station PLC in the isochronous communication phase, the PLC assigned to the normal station issues a transmission request and obtains a transmission opportunity in the asynchronous communication phase. By receiving the data transmitted from the PLC, which is another station, when the target data is transmitted or the transmission opportunity is not obtained,
Thus, a PLC system in which control data is linked to each other by cyclically performing data communication between PLCs using the asynchronous communication phase using the transmission cycle of the cyclic trigger packet as a data communication cycle.
1台のPLCと複数台の入出力デバイスとがIEEE1394バスで結ばれており、
IEEE1394バスには、
送信要求を発した全ての通信ノードに対して、アイソクロナス通信サイクルに対する毎回送信を保証しつつ各通信ノードに対して順次に送信機会を与え、送信要求を発する通信ノードがなくなったときに当該フェーズを終了させる調停機能が作動するアイソクロナス通信フェーズと、
送信要求を発した通信ノードに対して、アイソクロナス通信サイクル内におけるアイソクロナス通信フェーズ終了後の残り期間において、送信データ量の最大値を保証しつつ送信要求を発した各通信ノードに対して、順次に送信機会を与えるための調停機能を有するアシンクロナス通信フェーズとが具備されており、
PLCは管理局に、又入出力デバイスは通常局に、割り当てられており、
管理局に割り当てられたPLCは、アイソクロナス通信フェーズにおいて、通信サイクルの開始を示すサイクリックトリガパケットを周期的に送信すると共に、
通常局に割り当てられた入出力デバイスは、アイソクロナス通信フェーズにおいて、管理局であるPLCから送信されるサイクリックトリガパケットを検知するのに応答して、アシンクロナス通信フェーズにおいて、送信要求を発して送信機会を得ることにより、目的とするデータを送信し、又は送信機会を得ないときは管理局であるPLCから送信されたデータを受信し、
それにより、サイクリックトリガパケットの送信サイクルをデータ通信サイクルとして、PLCと各入出力デバイスとの間でアシンクロナス通信フェーズを利用しつつサイクリックにデータ通信を行うことにより、それらの間でI/OデータをリンクさせるようにしたPLCのリモートI/Oシステム。
One PLC and multiple input / output devices are connected by an IEEE1394 bus.
The IEEE 1394 bus has
For all communication nodes that issued a transmission request, sequentially provide a transmission opportunity to each communication node while ensuring transmission each time for isochronous communication cycle, the phase when the communication node has run out for emitting transmission request An isochronous communication phase in which the arbitration function is terminated ;
For each communication node that has issued a transmission request while guaranteeing the maximum value of the amount of transmission data in the remaining period after the end of the isochronous communication phase in the isochronous communication cycle for the communication node that has issued the transmission request. And an asynchronous communication phase having an arbitration function for giving a transmission opportunity,
The PLC is assigned to the management station, and the input / output device is assigned to the normal station.
The PLC assigned to the management station periodically transmits a cyclic trigger packet indicating the start of a communication cycle in the isochronous communication phase.
In response to detecting the cyclic trigger packet transmitted from the control station PLC in the isochronous communication phase, the input / output device assigned to the normal station issues a transmission request in the asynchronous communication phase and transmits a transmission opportunity. To receive the data transmitted from the PLC, which is the management station, when the target data is transmitted, or when the transmission opportunity is not obtained,
As a result, the cyclic trigger packet transmission cycle is used as a data communication cycle, and cyclic data communication is performed between the PLC and each input / output device using the asynchronous communication phase. PLC remote I / O system that links data.
サイクリックトリガパケットの送信タイミングは、予定される1通信サイクル当たりの送信データ総量に基づいて計算により求められたものである、請求項5又は6に記載のシステム。 The system according to claim 5 or 6, wherein the transmission timing of the cyclic trigger packet is obtained by calculation based on a total amount of transmission data per scheduled communication cycle. サイクリックトリガパケットの送信タイミングは、アシンクロナス通信フェーズにおける送信データの途切れにより決定される、請求項5又は6に記載のシステム。 The system according to claim 5 or 6, wherein the transmission timing of the cyclic trigger packet is determined by interruption of transmission data in the asynchronous communication phase.
JP2001186431A 2001-06-20 2001-06-20 Cyclic data communication system Expired - Fee Related JP3646672B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001186431A JP3646672B2 (en) 2001-06-20 2001-06-20 Cyclic data communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001186431A JP3646672B2 (en) 2001-06-20 2001-06-20 Cyclic data communication system

Publications (2)

Publication Number Publication Date
JP2003008579A JP2003008579A (en) 2003-01-10
JP3646672B2 true JP3646672B2 (en) 2005-05-11

Family

ID=19025876

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001186431A Expired - Fee Related JP3646672B2 (en) 2001-06-20 2001-06-20 Cyclic data communication system

Country Status (1)

Country Link
JP (1) JP3646672B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI751062B (en) * 2020-04-24 2021-12-21 日商三菱電機股份有限公司 Communication device, communication system, communication method and computer program product

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7450610B2 (en) 2003-06-03 2008-11-11 Samsung Electronics Co., Ltd. Apparatus and method for allocating channel time to applications in wireless PAN
JP4040654B2 (en) 2003-09-16 2008-01-30 富士通株式会社 Communication control circuit and communication control method
DE102004014793A1 (en) * 2004-03-24 2005-10-20 Bosch Rexroth Ag Method for data transmission
JP4698730B2 (en) 2006-03-10 2011-06-08 富士通株式会社 Network system
JP5764299B2 (en) * 2010-04-01 2015-08-19 スパンション エルエルシー Data transfer apparatus and data transfer method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI751062B (en) * 2020-04-24 2021-12-21 日商三菱電機股份有限公司 Communication device, communication system, communication method and computer program product

Also Published As

Publication number Publication date
JP2003008579A (en) 2003-01-10

Similar Documents

Publication Publication Date Title
JP6376229B2 (en) COMMUNICATION SYSTEM, COMMUNICATION DEVICE, AND COMMUNICATION METHOD
CN111279656B (en) Data transmission method and communication network
EP2169487B1 (en) Industrial controller with coordination of network transmissions using global clock
EP3691193B1 (en) Control system and communication method
JP5207192B2 (en) Wireless mesh network with locally activated fast active scheduling of wireless messages
JP2005278192A (en) Data transmission method
US20120120966A1 (en) Method and Apparatus for Allocating and Prioritizing Data Transmission
CN113243114B (en) Method and communication control device for operating a communication system for transmitting time-critical data
US11316654B2 (en) Communication device and method for operating a communication system for transmitting time critical data
JP7073624B2 (en) Communication systems, communication devices and communication methods
CN114830611A (en) Centralized network configuration entity and time-sensitive network control system comprising same
JP2523882B2 (en) Data transmission equipment
JP3646672B2 (en) Cyclic data communication system
US11218383B2 (en) Simulation system and method for simulating processing of reservation enquiries for multicast data streams in communications networks
Scharbarg et al. CAN-Ethernet architectures for real-time applications
US20230090803A1 (en) Network Infrastructure Device, Communication Terminal and Method for Synchronizing Control Applications via a Communication Network for Transferring Time-Critical Data
CN114531943B (en) Data transmission method and automation communication network
CN112753206B (en) Method and communication device for data transmission in industrial communication network
US20220137604A1 (en) Coordination Device and Method for Providing Control Applications via a Communication Network for Transmitting Time-Critical Data
Ashjaei et al. Evaluation of dynamic reconfiguration architecture in multi-hop switched ethernet networks
US20040105398A1 (en) Method and electronic switching circuit for a scalable communication interface in automation components
JP6939665B2 (en) Network system
Ashjaei et al. A compact approach to clustered master-slave ethernet networks
Feng et al. EPA-based open network control system
Scharbarg et al. Interconnecting can busses via an ethernet backbone

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041014

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041019

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041220

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050118

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050131

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3646672

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090218

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100218

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110218

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110218

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120218

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120218

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130218

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140218

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees