(57)【特許請求の範囲】
【請求項１】
複数のノードがネットワークを介して通信可能に接続された通信システムであって、
少なくとも２つ以上の前記ノードが、
ソフトウェアを用いた演算処理を行い、他のノードに対して送信すべき送信データを生成する送信ソフトウェア部と、
前記送信データを送出するデータ送信部と、
他のノードから送信されたデータを受信するデータ受信部と、
少なくとも前記データ受信部が受信したデータに基づいてソフトウェアを用いた演算処理を行い、制御対象を制御する受信ソフトウェア部と、
他のノードにより生成された割込データに基づいて、前記受信ソフトウェア部を介さずに直接制御されるハードウェア論理回路とを備え、
前記割込データが１つの前記ノードから２つ以上の前記ノードに対して送信され、
前記２つ以上の前記ノードの前記ハードウェア論理回路が、前記受信ソフトウェア部を介さずに前記割込データに基づいて制御されることにより、前記２つ以上の前記ノードの前記制御対象の動作を同期させることを特徴とするネットワークを用いた通信システム。
【請求項２】
複数のノードがネットワークを介して通信可能に接続された通信システムであって、
少なくとも２つ以上の前記ノードが、
ソフトウェアを用いた演算処理を行い、他のノードに対して送信すべき送信データを生成する送信ソフトウェア部と、
前記送信データを送出するデータ送信部と、
他のノードから送信されたデータを受信するデータ受信部と、
少なくとも前記データ受信部が受信したデータに基づいてソフトウェアを用いた演算処理を行い、制御対象を制御する受信ソフトウェア部と、
他のノードにより生成された割込データに基づいて、前記受信ソフトウェア部を介さずに直接制御されるハードウェア論理回路とを備え、
前記ネットワークがリング状に通信可能に接続され且つリングの一方向に通信を行うリング型であり、
前記複数の前記ノードのそれぞれが、
前記ネットワークの上流側から受信したデータを中継するべく送出するデータ中継部と、
前記データ中継部から送出されたデータ及び前記データ送信部から送出されたデータの一方を他のノードに向けて出力すると共に、出力するデータを切り替えるデータ出力切替部とを更に備え、
前記ハードウェア論理回路は、前記割込データに基づいて、前記データ出力切替部に対し、前記データ送信部から送出されたデータを出力させずに前記データ中継部から送出されたデータを出力させるように構成されていることを特徴とするネットワークを用いた通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のノードがネットワークを介して通信可能に接続された通信システムに関する。
【背景技術】
【０００２】
複数のコンピュータ等の端末（ノード）を通信可能に接続するネットワークのトポロジーには、バス型、スター型、リング型、メッシュ型等がある。バス型のネットワークの例としては、イーサネット（登録商標）がある。イーサネットは、物理的にはスター型構成とされるが、論理的にはバス型構成を採っており、各ノードは自由に信号（データ）を発信することができる。その一方で、イーサネットでは、信号の衝突が発生することがあり、この場合には信号の送達が遅れる（即ち、レイテンシが大きい）。
【０００３】
リング型のネットワークも、イーサネットと同様に物理的にはハブに集線したスター型構成とされることが多い。リング型ネットワークの例としては、トークンリングがある。トークンリングでは、トークンと呼ばれる信号がリングを周回しており（トークンパッシング）、トークンを得たノードのみがデータを送信することができる。つまり、トークンを得ていないノードはデータを送信することができないため、ネットワーク上でデータが衝突することがない。
【０００４】
複数のノードがトークンリングを介して接続された通信システムにおいて、ノードの機能を複雑化させずに受信側ノードの負荷変動に対応させるためのフロー制御方式として、送信元ノードは、受信側ノード宛のデータとビジートークンとの組を送出する送出手段と、自己が送出した組を受信した時に、組をそのまま送出する中継手段とを備え、受信側ノードが、組を受信した時に受信余裕がないならば、組をそのまま送出する中継手段と、組を受信した時に受信余裕があるならば、組にあるデータを受信する受信手段と備える構成とした発明が提案されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００１−３２６６６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１の発明では、送信元ノードが制御内容を埋め込んだデータを送ったとしても、受信側ノードに受信余裕がない状態が続いた場合には、中継手段がデータをそのまま送出し続けるため、受信側ノードがデータを受信してハードウェアを制御することができない。
【０００７】
また、ネットワークを介して互いに接続された複数のノードの１つが、他のノードのハードウェアを制御するためには、送信元ノードが制御内容を埋め込んだパケット等のデータを送信し、受信側のノードは受信したデータの内容を、ソフトウェアを用いた演算処理により解釈してハードウェアを制御することが一般的である。しかしながら、ソフトウェアが介在すると、たとえ、受信側ノードが送信元ノードからのデータを受け取ったとしても、処理に時間がかかることがあり、早急にハードウェアを制御することが困難である。
【０００８】
本発明は、このような背景に鑑み、複数のノードのうちの１つが、データを送信することで他のノードのハードウェアを早急に制御できる通信システムを提供することを課題とする。
【０００９】
このような課題を解決するために、本発明は、複数のノード（２）がネットワーク（３）を介して通信可能に接続された通信システム（１）であって、少なくとも２つ以上の前記ノードが、ソフトウェアを用いた演算処理を行い、他のノードに対して送信すべき送信データ（Ｄｔ（Ｄｔｎ、Ｄｔｉ））を生成する送信ソフトウェア部（８）と、前記送信データを送出するデータ送信部（９２（１８、２０））と、他のノードから送信されたデータ（Ｄｉ（Ｄｉｎ、Ｄｉｉ））を受信するデータ受信部（２１、２２）と、少なくとも前記データ受信部（２１）が受信したデータ（Ｄｉｎ）に基づいてソフトウェアを用いた演算処理を行い、制御対象（７）を制御する受信ソフトウェア部（９）と、他のノードにより生成された割込データ（Ｄｔｉ、Ｄｉｉ）に基づいて、前記受信ソフトウェア部を介さずに直接制御されるハードウェア（７、７０）とを備える構成とする。
【００１０】
この構成によれば、データ受信部が受信した通常のデータに基づいてソフトウェアを用いた演算処理を行う受信ソフトウェア部による制御対象の制御を行いつつ、１つのノードが他のノードに割込データを送信することで、他のノードのハードウェアを、受信ソフトウェア部を介さずに早急に制御することができる。
【００１１】
また、上記の発明において、前記ハードウェア（７、７０）は、前記割込データに基づいて直接制御されるハードウェア論理回路であるとよい。
【００１２】
この構成によれば、他のノードにより生成された割込データに基づいて受信ソフトウェア部を介さずに直接制御されるハードウェア構成を簡単な構成で実現できる。
【００１３】
また、上記の発明において、前記ハードウェア論理回路は、前記割込データに基づいて前記ソフトウェアを再起動させるように構成されているとよい。
【００１４】
通信システムが電子機器に異常が発生し得る過酷な環境で使用される場合等には、ソフトウェアがハングして演算処理部によるハードウェアの制御が不能になる虞がある。この構成によれば、１つのノードにおいて演算処理部による制御対象の制御が不能になっている場合に、他のノードが再起動指令を送信することで、ハードウェア論理回路にソフトウェアを再起動させることができる。
【００１５】
また、上記の発明において、前記割込データ（Ｄｉｉ、Ｄｔｉ）が１つのノードから複数のノードに対して送信され、前記２つ以上の前記ノードの前記ハードウェア論理回路が前記割込データに基づいて制御されることにより、前記２つ以上の前記ノードの前記制御対象の動作を同期させる構成とするとよい。
【００１６】
複数のノードのそれぞれがソフトウェアを介してハードウェアを制御している場合には、レイテンシが比較的大きいために複数の制御対象の動作を同期させることは困難である。この構成によれば、複数のノードの制御対象の動作を同期させることができる。
【００１７】
また、上記の発明において、前記ネットワーク（３）がリング状に通信可能に接続され且つリングの一方向に通信を行うリング型であり、前記複数の前記ノードのそれぞれが、前記ネットワークの上流側から受信したデータ（Ｄｒｎ、Ｄｒｉ）を中継するべく送出するデータ中継部（９１（１７、１９））と、前記データ中継部から送出されたデータ（Ｄｒｎ、Ｄｒｉ）及び前記データ送信部（９２（１８、２０））から送出されたデータ（Ｄｔｎ、Ｄｔｉ）の一方を他のノードに向けて出力すると共に、出力するデータを切り替えるデータ出力切替部（９３（２４、２５））とを更に備え、前記ハードウェア論理回路は、前記割込データに基づいて、前記データ出力切替部に対して前記データ中継部から送出されたデータ（Ｄｒｎ、Ｄｒｉ）を出力させるように構成されているとよい。
【００１８】
この構成によれば、ネットワークがリング型であるため、データが衝突することがない。一方、ネットワークがリング型である場合、１つのノードにソフトウェアのハングやハードウェアの故障等が発生し、通信不良が生じると、ネットワークに接続された他のノード間の通信に支障を来たす虞がある。この構成によれば、１つのノードに通信不良が生じた場合に、他のノードが割込データを送信することで、通信不良が生じたノードにデータの中継を行わせると共に、中継されるデータ以外のデータの出力を停止させることができる。
【発明の効果】
【００１９】
このように本発明によれば、複数のノードのうちの１つが、データを送信することで他のノードのハードウェアを早急に制御できる通信システムを提供することができる。
【図面の簡単な説明】
【００２０】
【図１】実施形態に係る通信システムの概略構成図
【図２】図１に示す各ノードの機能ブロック図
【図３】データパケットの構成図
【図４】割込パケットの構成図
【図５】図２に示すデータ中継ブロックの機能ブロック図
【図６】図２に示すデータ送信ブロックの機能ブロック図
【図７】図２に示すデータ受信ブロックの機能ブロック図
【図８】図２に示すデータ出力切替ブロックの機能ブロック図
【図９】図２に示すデータ出力切替ブロックにおけるデータ出力切替の説明図
【図１０】図２に示す割込受信ブロックの機能ブロック図
【図１１】図２に示す割込送信ブロックの機能ブロック図
【図１２】割込指令による処理の説明図
【図１３】通常時におけるデータ処理のフロー図
【図１４】割込時におけるデータ処理のフロー図
【図１５】割込による再起動処理の説明図
【図１６】異常発生時における割込によるシステム復帰処理のフロー図
【図１７】図１６に示すバイパス処理の説明図
【図１８】図１６に示すバイパス処理の説明図
【図１９】変形例に係る通信システムの概略構成図
【発明を実施するための形態】
【００２１】
本発明に係る通信システム１の実施形態を図１〜図１７を参照して説明する。
【００２２】
図１に示されるように、通信システム１は、複数（図示例では４つ）のノード２（２Ａ、２Ｂ、２Ｃ、２Ｄ）と、これらのノード２をリング状に通信可能に接続するリング型のネットワーク３とにより構成されている。この通信システム１では、各ノード２が、演算処理部をなすＣＰＵ４と、ネットワーク３のリングに沿う一方向にデータを送るように構成されたネットワークコントローラ５とを有している。つまり、複数のノード２が、リング状に通信可能に接続され且つリングの一方向に通信を行うリング型のネットワーク３を介して通信可能に接続されている。
【００２３】
なお、リング型のネットワーク３とは論理的な通信構成を意味し、物理的にリング型構成である必要はない。また、通信可能に接続されているとは、通信線を介して物理的に接続されるものの他、無線接続されるものも含む。
【００２４】
複数のノード２は、ＣＰＵ４によるソフトウェアを用いた演算処理を行い、演算処理により出力されたデータに基づいて、ハードウェアからなる対応する制御対象７（図２）をそれぞれ制御する制御装置である。ハードウェアとは、電源に電気的に接続された電気装置であり、例えば、電動機や電磁弁、照明器具、電気素子、及びそれらへの供給電力を制御するドライバ等を含む。例えば、通信システム１は、自律的に又は遠隔操作により動作するロボットに搭載され、ノード２がロボットの各部を制御する分散制御システムとして構成される。なおこの場合、電源はロボットに搭載されてもよく、ロボットに搭載されずに電源線を介してロボットに接続されてもよい。
【００２５】
図２に示されるように、各ノード２は、ハードウェアにより構成される上記のネットワークコントローラ５と、ＣＰＵ４によるソフトウェアを用いた演算処理を行い、他のノード２に対して送信すべきデータを生成する機能部である送信ソフトウェア部８と、少なくとも他のノード２から受信したデータに基づいてＣＰＵ４によるソフトウェアを用いた演算処理を行い、制御対象７を制御する機能部である受信ソフトウェア部９とを有している。送信ソフトウェア部８は、他のノード２に対する送信データＤｔとして、通常制御に用いられるデータ（以下、通常送信データＤｔｎと称する）と、通常送信データＤｔｎに優先される割込送信データＤｔｉとの２種類を生成する。
【００２６】
各ノード２では、ネットワーク３の上流側から送信されたデータがネットワークコントローラ５に入力される。ネットワーク３上で通信されるデータは、パケット単位で転送される。図３に示されるように、通常送信データＤｔｎのパケット（即ち、データパケット）は、ヘッダー、データ、トレーラー及びＣＲＣを含むフレームにより構成される。ヘッダーは、符号、パケット先頭（ＳＯＰ）、中継数（ＨＯＰ）及び自ノードＩＤ（ＳＩＤ）により構成される。トレーラーは、パケット末尾（ＥＯＰ）、空きバッファサイズ（ＦＢＣ）、送信先ノードＩＤ（ＤＩＤ）及びパケット優先度（ＰＲＩ）により構成される。
【００２７】
一方、割込送信データＤｔｉのパケット（以下、割込パケット又は単に割込データと呼ぶことがある）は、図４に示されるように、ヘッダー、トレーラー及びＣＲＣを含むフレームにより構成される。つまり、割込パケットは、図３に示されるデータを含んでいない。割込パケットのヘッダーは、データパケットと同様に、符号、パケット先頭（ＳＯＰ）、中継数（ＨＯＰ）及び自ノードＩＤ（ＳＩＤ）により構成される。一方、割込パケットのトレーラーは、パケット末尾（ＥＯＰ）、空きバッファサイズ（ＦＢＣ）、送信先ノードＩＤ（ＤＩＤ）及び割込ピン番号（ＩＮＴ）により構成される。つまり、上記の通り割込パケットはデータパケットに優先されるため、割込パケットのトレーラーは、図３に示されるパケット優先度（ＰＲＩ）を含んでおらず、その代わりに割込ピン番号（ＩＮＴ）を含んでいる。
【００２８】
図２に戻り、ネットワークコントローラ５はパケット分配器１１を有しており、入力データＤｉはパケット分配器１１により後述する各部に分配される。他のノード２から送信されてパケット分配器１１に入力する入力データＤｉにも、通常制御に用いられるデータ（以下、通常入力データＤｉｎと称する）と、通常入力データＤｉｎに優先される割込入力データＤｉｉとの２種類がある。図２では、通常入力データＤｉｎを含むデータパケットを太線で示し、割込入力データＤｉｉを含む割込パケットを破線で示している。
【００２９】
パケット分配器１１に入力したデータが通常入力データＤｉｎである場合、パケット分配器１１は通常入力データＤｉｎをデータ送出部１２及びデータ受信部１３のそれぞれに分配する。一方、パケット分配器１１に入力したデータが割込入力データＤｉｉである場合、パケット分配器１１は割込入力データＤｉｉを割込送出部１４及び割込受信部１５のそれぞれに分配する。
【００３０】
送信ソフトウェア部８は、生成した他のノード２に対する通常送信データＤｔｎを送受信バッファ１６に書き込むと共に、符号や優先度等の通常送信データＤｔｎに関する情報（以下、送信データ情報ＤＩｔと称する）をデータ送出部１２（具体的には、後述する送信データ情報格納バッファ４０（図６参照））に書き込む。また、送信ソフトウェア部８は、生成した他のノード２に対する割込送信データＤｔｉを割込送出部１４（具体的には、後述する割込送信ブロック２０のソフトウェア書き込み用レジスタ７１（図１０参照））に書き込む。
【００３１】
データ送出部１２は、パケット分配器１１から分配された通常入力データＤｉｎの送信先が自ノードでない通常中継データＤｒｎである場合に通常中継データＤｒｎをそのまま送出するデータ中継ブロック１７と、送信ソフトウェア部８が生成した他のノード２に対する通常送信データＤｔｎを送出するデータ送信ブロック１８とを有している。データ送信ブロック１８は、パケット分配器１１から分配された通常入力データＤｉｎに基づいて後述する送信完了判定を行うと共に、送信ソフトウェア部８が書き込んだ送信データ情報ＤＩｔに対応する通常送信データＤｔｎを送受信バッファ１６から読み出して送出する。
【００３２】
割込送出部１４は、パケット分配器１１から分配された割込入力データＤｉｉの送信先が自ノードでない割込中継データＤｒｉである場合に割込中継データＤｒｉをそのまま送出する割込中継ブロック１９と、送信ソフトウェア部８が生成した他のノード２に対する割込送信データＤｔｉを送出する割込送信ブロック２０とを有している。
【００３３】
データ受信部１３は、パケット分配器１１から分配された通常入力データＤｉｎの送信先が自ノードであり、受信すべき場合に、通常入力データＤｉｎを受信データＤｉｎｒとして受信して送受信バッファ１６に書き込むと共に、送受信バッファ１６から受信データＤｉｎｒを読み出して受信ソフトウェア部９に提供するデータ受信ブロック２１を有している。
【００３４】
割込受信部１５は、パケット分配器１１から分配された割込入力データＤｉｉの送信先が自ノードである割込データである場合に割込入力データＤｉｉを受信し、ハードウェア制御信号Ｓｃとしてハードウェアに送出する割込受信ブロック２２を有している。
【００３５】
データ中継ブロック１７から送出された通常中継データＤｒｎ、データ送信ブロック１８から送出された通常送信データＤｔｎ、割込中継ブロック１９から送出された割込中継データＤｒｉ、及び割込送信ブロック２０から送出された割込送信データＤｔｉは、出力切替部２３に入力される。
【００３６】
出力切替部２３では、データ出力切替ブロック２４が、通常中継データＤｒｎ及び通常送信データＤｔｎの一方を他のノード２に向けて出力すべき通常送出データＤｏｎとして出力すると共に、出力する通常送出データＤｏｎを通常中継データＤｒｎ及び通常送信データＤｔｎの間で切り替える。また、割込出力切替ブロック２５が、割込中継データＤｒｉ及び割込送信データＤｔｉの一方を他のノード２に向けて出力すべき割込送出データＤｏｉとして出力すると共に、出力する割込送出データＤｏｉを割込中継データＤｒｉ及び割込送信データＤｔｉの間で切り替える。また、出力切替ブロック２６が、データ出力切替ブロック２４から出力される通常送出データＤｏｎ、及び割込出力切替ブロック２５から出力される割込送出データＤｏｉの一方を出力データＤｏとして出力すると共に、出力データＤｏを通常送出データＤｏｎ及び割込送出データＤｏｉの間で切り替える。
【００３７】
なお、全てのノード２がこれらの機能部の全てを有している必要はない。例えば、１つのノード２が、送信ソフトウェア部８により割込送信データＤｔｉを生成し、割込送信ブロック２０を有し、他のノード２は割込送信ブロック２０や割込出力切替ブロック２５を有しなくもよい。但し、全てのノード２は、少なくともデータ送出部１２、データ中継ブロック１７、データ送信ブロック１８、割込中継ブロック１９、割込送信ブロック２０、データ受信ブロック２１、割込受信ブロック２２及び受信ソフトウェア部９を備えている。
【００３８】
以下、ノード２の各部について詳細に説明する。
【００３９】
図５に示されるように、データ中継ブロック１７では、パケット判定部３１が通常入力データＤｉｎの中継判定を行う。具体的には、パケット判定部３１は、送信データ情報ＤＩｔの自ノードＩＤ（ＳＩＤ）に基づいて、通常入力データＤｉｎが自ノードにより生成されたデータであるか否かを判定する。また、パケット判定部３１は、中継数（ＨＯＰ）に基づいて、中継異常があるか否か、具体的には中継数がネットワーク３上のノード数以上であるか否かを判定する。
【００４０】
パケット判定部３１の判定結果に基づき、制御部３２が通常入力データＤｉｎを中継し、又は破棄する。具体的には、通常入力データＤｉｎが自ノードにより生成されたデータである場合には、制御部３２は、ネットワーク３のリングを１周回ったものとして通常入力データＤｉｎを破棄する。また、通常入力データＤｉｎの中継数がノード数以上である場合には、制御部３２は、異常データであるものとして通常入力データＤｉｎを破棄してエラー表示データを付加する。なお、制御部３２には、後述するデータ出力切替ブロック２４の制御部６２（図８参照）から出力待ち信号Ｓｗが入力するようになっている。
【００４１】
一方、通常入力データＤｉｎが正常であり中継すべき通常中継データＤｒｎであることがパケット判定部３１により判定された場合には、制御部３２は、通常中継データＤｒｎの中継数をインクリメントし、データセレクタ３３に対するデータ選択制御を行う。また、制御部３２は、出力待ち信号Ｓｗに応じ、データ保持部３４に対するデータ入出力制御を行う。データセレクタ３３は、制御部３２の指令に従って、アイドルデータ、上記エラー表示データ及び通常入力データＤｉｎ（通常中継データＤｒｎ）の中から１つを選択し、データ保持部３４に通常中継データＤｒｎを書き込む。出力待ち信号Ｓｗが制御部３２に入力しておらず、制御部３２がデータ出力の指令を出すと、データ保持部３４は保持している通常中継データＤｒｎを送出する。
【００４２】
データ中継ブロック１７の制御部３２は、上記所定の動作を行うようにプログラミングされたハードウェアにより構成される。制御部３２を構成するハードウェアとしては、ＡＳＩＣ（Application Specific Integrated Circuit：特定用途向け集積回路）や、ＰＬＤ（Programmable Logic Device：プログラマブルロジックデバイス）、ＡＳＳＰ（Application Specific Standard Produce）等のハードウェア論理回路を利用することができる。ＡＳＩＣを利用する場合は、ゲートアレイ、ストラクチャードＡＳＩＣ等のマスタ・スライス型であってよく、セルベースＡＳＩＣ等のカスタム型であってもよい。また、ＰＬＤを利用する場合は、Simple ＰＬＤ及びＣＰＬＤ（Complex PLD）を含む狭義のＰＬＤであってよく、ＦＰＧＡ（Field-Programmable Gate Array）を更に含む広義のＰＬＤであってもよい。ハードウェアは、好ましくはＰＬＤ（プログラマブルロジックデバイス）である。後述するネットワークコントローラ５の各部（各ブロック）の制御部４２、５２、６２、７３、８２も、同様にハードウェアにより構成される。
【００４３】
図６に示されるように、データ送信ブロック１８には、パケット分配器１１から分配された通常入力データＤｉｎが入力している。送信完了判定部４１は通常入力データＤｉｎに基づいて送信完了判定を行う。具体的には、送信完了判定部４１は、自ノードが送信した通常送信データＤｔｎがネットワーク３のリングを１周回って帰ってきたことをもって当該通常送信データＤｔｎの送信完了を判定する。送信完了判定部４１による判定結果は、制御部４２に送られる。
【００４４】
送信データ情報格納バッファ４０には、送信ソフトウェア部８により１塊として生成された通常送信データＤｔｎの送信データ情報ＤＩｔが書き込まれている。各通常送信データＤｔｎには、上記の通り送信ソフトウェア部８により優先度（例えば、最優先、優先度高、優先度中、優先度低等）が与えられている。データ送信ブロック１８では、制御部４２が、送信データ情報格納バッファ４０に優先度ごとのキューとして格納された送信データ情報ＤＩｔを優先度の高いものから順に取り出し、取り出した送信データ情報ＤＩｔに対応する通常送信データＤｔｎを送受信バッファ１６から読み出してパケット生成指令Ｃｐを生成してパケット生成部４３に送出する。この際、制御部４２は、先に送信した通常送信データＤｔｎのデータパケットが送信完了判定部４１により送信完了と判定されるまで、次に送信すべきデータパケットを送受信バッファ１６から取得しないように制御する。また、制御部４２は、後述するデータセレクタ４４に対するデータ選択制御を行う。
【００４５】
パケット生成部４３は、制御部４２からのパケット生成指令Ｃｐに応じ、送受信バッファ１６から通常送信データＤｔｎを読み出し、通常送信データＤｔｎのデータパケットを生成する。この際、パケット生成部４３は送受信バッファ１６から空きバッファサイズ（ＦＢＣ）等の関連情報を読み込み、データパケットに埋め込む。パケット生成部４３により生成された通常送信データＤｔｎのデータパケットは、データ保持部４５に一旦保持され、上記データ出力切替ブロック２４の制御部６２（図８参照）からの出力待ち信号Ｓｗが入力していなければ、データセレクタ４４に向けて送出される。データセレクタ４４は、制御部４２の指令に従って、アイドルデータ及び通常送信データＤｔｎのいずれか１つを選択し、通常送信データＤｔｎとして送出する。
【００４６】
図７に示されるように、データ受信ブロック２１では、受信判定部５１が、入力された通常入力データＤｉｎを解析し、受信するか否かの受信判定を行う。具体的には、受信判定部５１は、通常入力データＤｉｎの送信先ノードＩＤ（ＤＩＤ）が自ノードである場合に受信することを判定し、送信先ノードＩＤが自ノードでない場合に受信しないことを判定する。
【００４７】
データ受信ブロック２１では、制御部５２が、送受信バッファ１６の書き込み可能な空きバッファを送受信バッファ１６から取得する。制御部５２は、受信判定部５１から受信すべき判定結果を得た場合には、入力された通常入力データＤｉｎを書き込むべき書き込み先を空きバッファの中から指定したバッファ書き込み先指令Ｃｄをデータ書き込み部５３に対して送出する。データ書き込み部５３は、受信判定部５１からの受信判定及び制御部５２からのバッファ書き込み先指令Ｃｄを受けると、入力された通常入力データＤｉｎを受信データＤｉｎｒとして送受信バッファ１６の指定された位置に書き込む。
【００４８】
また、制御部５２は、受信データＤｉｎｒ（入力された通常入力データＤｉｎ）に関する情報（以下、受信データ情報ＤＩｒと称する）にバッファ書き込み先を付加すると共に受信データ情報ＤＩｒに基づいて優先度を確認し、受信データ情報ＤＩｒを優先度ごとのキューとして受信データ情報格納バッファ５０に書き込む。受信データ情報格納バッファ５０に書き込まれた受信データ情報ＤＩｒは、優先度の高いものから順に受信ソフトウェア部９により取り出される。
【００４９】
受信ソフトウェア部９は、取り出した受信データ情報ＤＩｒに対応する受信データＤｉｎｒを送受信バッファ１６から読み出し、少なくとも読み出した受信データＤｉｎｒに基づいて制御対象７（図２）のハードウェアを制御する。受信ソフトウェア部９は、例えばロボットの関節駆動用の電動機に対する供給電力を調整するモータドライバを制御する。
【００５０】
図８に示されるように、データ出力切替ブロック２４には、データ中継ブロック１７（図５）のデータ保持部３４から送出された通常中継データＤｒｎと、データ送信ブロック１８（図６）のデータセレクタ４４から送出された通常送信データＤｔｎとが入力している。データ出力切替ブロック２４は、通常中継データＤｒｎ及び通常送信データＤｔｎが入力するデータセレクタ６１と、入力した通常中継データＤｒｎ及び通常送信データＤｔｎに基づいてデータセレクタ６１に対するデータ選択制御を行うと共に、データ中継ブロック１７（図５）及びデータ送信ブロック１８（図６）に対する出力待ち信号Ｓｗを出力する制御部６２とを有している。
【００５１】
データセレクタ６１は、制御部６２の指令に従って、通常中継データＤｒｎ及び通常送信データＤｔｎのいずれか１つを選択し、選択したデータを通常送出データＤｏｎとして出力する。制御部６２は、通常送信データＤｔｎを通常中継データＤｒｎよりも優先させてデータセレクタ６１が出力するように指令を出す。また、制御部６２は、一方のデータの出力中には他方のデータの入力と衝突しないように、１パケットのデータ出力が完了するまで、データ中継ブロック１７及びデータ送信ブロック１８に対して出力待ち信号Ｓｗを出力する。
【００５２】
図９を参照して、データ中継ブロック１７、データ送信ブロック１８及びデータ出力切替ブロック２４における動作の具体例について説明する。図９の例では、データ中継ブロック１７には、他のノード２から送信された通常入力データＤｉｎとして通常中継データＤｒｎのパケットＢ０、Ｂ１、Ｂ２がこの順に入力している。一方、データ送信ブロック１８には、送信ソフトウェア部８からの送信データ情報ＤＩｔに従って送受信バッファ１６（図６）から読み込んだ通常送信データＤｔｎのパケットＣ０、Ｃ１、Ｃ２がこの順に、且つパケットＣ０がパケットＢ１と同時となるタイミングで入力している。
【００５３】
このような場合、データ出力切替ブロック２４は、最初に入力した通常中継データＤｒｎのパケットＢ０を出力した後、通常中継データＤｒｎのパケットＢ（Ｂ１、Ｂ２）の出力を行わずに通常送信データＤｔｎのパケットＣ（Ｃ０、Ｃ１、Ｃ２）を優先的に出力する。そして、通常送信データＤｔｎのパケットＣの出力が完了した後に、データ出力切替ブロック２４は通常中継データＤｒｎのパケットＢ１、Ｂ２を出力する。データ出力切替ブロック２４がこのようなデータ出力の切り替えを行うことにより、データの衝突が防止される。
【００５４】
詳細な図示は省略するが、割込中継ブロック１９（図２）は、データ中継ブロック１７（図２、図５）と同様の機能を有している。具体的には、割込中継ブロック１９では、パケット判定部が自ノードＩＤ（ＳＩＤ）及び中継数（ＨＯＰ）に基づいて、割込入力データＤｉｉの中継判定を行う。パケット判定部の判定結果に基づき、制御部が割込入力データＤｉｉを中継し、又は破棄する。各機能部の具体的機能はデータ中継ブロック１７の説明と重複するためここでは一部割愛するが、割込中継ブロック１９では、割込入力データＤｉｉが正常であり中継すべき割込中継データＤｒｉであることがパケット判定部により判定された場合には、制御部が、割込中継データＤｒｉの中継数をインクリメントし、割込中継データＤｒｉを送出する。
【００５５】
図１０に示されるように、割込送信ブロック２０には、送信ソフトウェア部８により生成された割込送信データＤｔｉが直接（割込送信データＤｔｉの送信データ情報ＤＩｔではなく割込送信データＤｔｉそのものが）入力している。また、割込送信ブロック２０には、タイマ等のハードウェア７０から送出される割込送信データＤｔｉも入力している。送信ソフトウェア部８から入力する割込送信データＤｔｉは、ソフトウェア書き込み用レジスタ７１に書き込まれる。一方、ハードウェア７０から入力する割込送信データＤｔｉは、ハードウェア書き込み用レジスタ７２に書き込まれる。
【００５６】
割込送信ブロック２０では、制御部７３が、ソフトウェア書き込み用レジスタ７１及びハードウェア書き込み用レジスタ７２に書き込まれた割込送信データＤｔｉを割込要求として受け取り、割込要求を受けるとパケット生成部７４に対してパケット生成指令Ｃｐを送出する。この際、制御部７３は、ソフトウェア書き込み用レジスタ７１からの割込要求よりも、ハードウェア書き込み用レジスタ７２からの割込要求を優先して受け付ける。また、制御部７３は、後述するデータセレクタ７５に対するデータ選択制御を行う。
【００５７】
パケット生成部７４は、パケット生成指令Ｃｐを受けると、パケット生成指令Ｃｐに対応するソフトウェア書き込み用レジスタ７１又はハードウェア書き込み用レジスタ７２から割込送信データＤｔｉを読み出し、読み出した割込送信データＤｔｉのパケット（割込パケット）を生成する。パケット生成部７４は、生成した割込送信データＤｔｉのパケットをデータセレクタ７５に送出する。データセレクタ７５は、制御部７３の指令に従って、アイドルデータ及び割込送信データＤｔｉのパケットのいずれか１つを選択し、割込送信データＤｔｉとして送出する。
【００５８】
詳細な図示は省略するが、図２に示される割込出力切替ブロック２５は、割込中継ブロック１９から送出される割込中継データＤｒｉと、割込送信ブロック２０から送出される割込送信データＤｔｉとに対し、データ出力切替ブロック２４（図２、図８）と同様の出力切替機能を有している。具体的には、割込出力切替ブロック２５は、割込中継データＤｒｉ及び割込送信データＤｔｉが入力するデータセレクタと、入力した割込中継データＤｒｉ及び割込送信データＤｔｉに基づいてデータセレクタに対するデータ選択制御を行う制御部とを有している。データセレクタは、制御部の指令に従って、割込中継データＤｒｉ及び割込送信データＤｔｉのいずれか１つを選択し、割込送信データＤｔｉとして出力する。制御部は、割込送信データＤｔｉを割込中継データＤｒｉよりも優先させてデータセレクタが出力するように指令を出す。
【００５９】
図２に示される出力切替ブロック２６についても詳細な図示は省略して説明する。出力切替ブロック２６も、データ出力切替ブロック２４（図２、図８）から送出される通常送出データＤｏｎと、割込出力切替ブロック２５（図２）から送出される割込送出データＤｏｉとに対し、データ出力切替ブロック２４や割込出力切替ブロック２５と同様の出力切替機能を有している。具体的には、出力切替ブロック２６は、通常送出データＤｏｎ及び割込送出データＤｏｉが入力するデータセレクタと、入力した通常送出データＤｏｎ及び割込送出データＤｏｉに基づいてデータセレクタに対するデータ選択制御を行う制御部とを有している。データセレクタは、制御部の指令に従って、通常送出データＤｏｎ及び割込送出データＤｏｉのいずれか１つを選択し、選択したデータを出力データＤｏとして出力する。制御部は、割込送出データＤｏｉを通常送出データＤｏｎよりも優先させてデータセレクタが出力するように指令を出す。
【００６０】
図１１に示されるように、割込受信部１５では、受信判定部８１が、入力された割込入力データＤｉｉの受信データ情報ＤＩｒを解析し、受信するか否かの受信判定を行う。具体的には、受信判定部８１は、割込入力データＤｉｉの送信先ノードＩＤ（ＤＩＤ）が自ノードである場合に受信することを判定し、送信先ノードＩＤが自ノードでない場合及びエラーデータである場合に受信しないことを判定する。
【００６１】
割込受信部１５では制御部８２が、受信判定部８１から受信すべき判定結果を得た場合に、入力された割込入力データＤｉｉを受け取り、受け取った割込入力データＤｉｉを解析して、ハードウェア制御信号Ｓｃとして対応するハードウェアに向けて出力する。即ち、ハードウェア制御信号Ｓｃは、受信ソフトウェア部９の制御対象７（図２）であるハードウェア（例えばロボットの関節駆動用の電動機に対する供給電力を調整するモータドライバ）に対するものであってもよく、その他のハードウェアに対するものであってもよい。
【００６２】
ハードウェア制御信号Ｓｃにより制御されるハードウェアは、ＡＳＩＣ（特定用途向け集積回路）や、ＰＬＤ（プログラマブルロジックデバイス）、ＡＳＳＰ、ＩＣ（リセットＩＣ等）等のハードウェア論理回路である。好ましくは、ハードウェアは、ＡＳＩＣやＰＬＤ等のカスタム設計されるハードウェア論理回路である。ハードウェアがＡＳＩＣである場合は、ゲートアレイ、ストラクチャードＡＳＩＣ等のマスタ・スライス型であってよく、セルベースＡＳＩＣ等のカスタム型であってもよい。また、ハードウェアがＰＬＤである場合は、Simple ＰＬＤ及びＣＰＬＤを含む狭義のＰＬＤであってよく、ＦＰＧＡを更に含む広義のＰＬＤであってもよい。より好ましくは、ハードウェアはＰＬＤ（プログラマブルロジックデバイス）である。
【００６３】
以下、ハードウェア制御信号Ｓｃの種類やその内容、それによる動作について説明する。
【００６４】
まず、割込受信部１５が出力するハードウェア制御信号Ｓｃが、受信ソフトウェア部９の制御対象７であるハードウェアに対するものである場合について説明する。
【００６５】
図１２に示されるように、ここでは、ｎ個のノード２（ネットワーク３のリングのデータ送信方向に順に第１、第２、・・・第ｎとする）により通信システム１が構成されている。第１のノード２は、第ｎのノード２を送信先とする割込送信データＤｔｉを生成し、生成した割込送信データＤｔｉのパケット（割込パケット）を出力データＤｏとしてネットワーク３のリングの下流側に送信する。割込パケットは、第２のノード２、第３のノード２、・・・に中継されて第ｎのノード２に送達される。
【００６６】
第ｎのノード２では、割込受信部１５により割込パケット（割込送信データＤｔｉ）が割込入力データＤｉｉとして受信される。受信された割込入力データＤｉｉは、割込データの割込ピン番号（ＩＮＴ）に対応するハードウェア（制御対象７への割込ピン）に向けてハードウェア制御信号Ｓｃとして出力される。ハードウェア制御信号Ｓｃが入力されたハードウェア（論理回路）は、ハードウェア制御信号Ｓｃに基づいて直接制御される。
【００６７】
次に、ハードウェアが受信ソフトウェア部９により制御される場合と、ハードウェア制御信号Ｓｃにより直接制御される場合との処理の違いについて説明する。図１３は、ハードウェアが受信ソフトウェア部９により制御される通常時のフロー図であり、図１４は、ハードウェアがハードウェア制御信号Ｓｃにより直接制御される割込時のフロー図である。
【００６８】
図１３に示されるように、ハードウェアが受信ソフトウェア部９により制御される通常時には、第ｎのノード２は、まず通常入力データＤｉｎのデータパケットをデータ受信ブロック２１（図２、図７）で受信する（ステップＳＴ１）。次いで、第ｎのノード２は、受信した通常入力データＤｉｎを送受信バッファ１６に書き込む（ステップＳＴ２）。その後、第ｎのノード２は、受信データ情報格納バッファ５０（図７）に格納された受信データ情報ＤＩｒの優先度に応じた割込を行う（ステップＳＴ３）。ここまでの処理はハードウェアのみによって行われる。
【００６９】
続いて、第ｎのノード２は、受信ソフトウェア部９（図２、図７）により送受信バッファ１６から通常入力データＤｉｎを読み出す（ステップＳＴ４）。その後、第ｎのノード２は、受信ソフトウェア部９において通常入力データＤｉｎを解析・演算処理する（ステップＳＴ５）。そして最後に、第ｎのノード２は、解析・演算処理したデータに基づいてハードウェアを制御する（ステップＳＴ６）。ステップＳＴ４〜ステップＳＴ６の処理は、ＣＰＵ４によるソフトウェアを用いた演算処理によって行われる。
【００７０】
一方、図１４に示されるように、ハードウェアがハードウェア制御信号Ｓｃにより直接制御される割込時には、第ｎのノード２は、まず割込入力データＤｉｉのパケット（割込パケット）を割込受信ブロック２２（図２）の受信判定部８１（図１１）で受信する（ステップＳＴ１１）。次に、第ｎのノード２は、受信した割込入力データＤｉｉを制御部８２（図１１）で解析する（ステップＳＴ１２）。その後、第ｎのノード２は、制御部８２により割込入力データＤｉｉをハードウェア制御信号Ｓｃとして出力して対応するハードウェアを、ソフトウェアを介さずに直接制御する。即ち、これらステップＳＴ１１〜ステップＳＴ１３の全ての処理はハードウェアのみによって行われる。
【００７１】
このように第１のノード２が第ｎのノード２に対して割込送信データＤｔｉを送信し、第ｎのノード２が受信した割込入力データＤｉｉに基づいて、ソフトウェア（受信ソフトウェア部９）を介在させずにハードウェアを直接制御することにより、小さいレイテンシでハードウェアが制御される。また、第ｎのノード２の送信ソフトウェア部８や受信ソフトウェア部９が暴走し又はＣＰＵ４がハングアップしていたとしても、ソフトウェアを介在させないため、割込送信データＤｔｉによりハードウェアを制御することが可能である。
【００７２】
また、第１のノード２が複数のノード２に対して割込送信データＤｔｉを生成し、生成した割込送信データＤｔｉのパケット（割込パケット）を出力データＤｏとしてネットワーク３のリングの下流側に略同時に順次送信してもよい。そうすると、割込送信データＤｔｉの送信先とされた複数（２つ以上であればよい）のノード２のハードウェアが割込送信データＤｔｉに基づいて制御されることにより、これらのノード２の制御対象７の動作を同期させることができる。
【００７３】
次に、割込受信部１５が出力するハードウェア制御信号Ｓｃが、受信ソフトウェア部９の制御対象７以外のハードウェアに対するものである場合について説明する。
【００７４】
図１５に示されるように、ここでは第１のノード２が、ハングアップ状態の第ｎのノード２を送信先として、ＣＰＵ４のリセットを行うハードウェア（リセット回路）に対する割込送信データＤｔｉを送信している。
【００７５】
第ｎのノード２では、割込受信部１５により割込パケット（割込送信データＤｔｉ）が割込入力データＤｉｉとして受信される。受信された割込入力データＤｉｉは、割込データの割込ピン番号（ＩＮＴ）に対応するハードウェアであるリセット回路の割込ピンに向けてハードウェア制御信号Ｓｃとして出力される。ハードウェア制御信号Ｓｃが入力されたハードウェア（リセット回路）は、ハードウェア制御信号Ｓｃに基づいて直接制御され、ハングアップ状態のＣＰＵ４に対してリセット信号を出力する（即ち、ソフトウェアを再起動（リブート）させる）。
【００７６】
このように、上記のような受信ソフトウェア部９の制御対象７に対する直接制御とは別に、第１のノード２が第ｎのノード２に向けてハードウェア（リセット回路）に対する割込送信データＤｔｉを送信することで、ハングアップ状態の第ｎのノード２のＣＰＵ４にリセットをかけることができる。これにより、第ｎのノード２の送信ソフトウェア部８や受信ソフトウェア部９を正常状態に戻すことができる。
【００７７】
一方、リセット回路に対するハードウェア制御信号Ｓｃが送られてＣＰＵ４に対してリセット信号が出力された場合であっても、ＣＰＵ４が正常に再起動しない場合があり、送信ソフトウェア部８が暴走して不要なデータを送り続けることがある。そして、本実施形態のようにネットワーク３がリング型である場合には、このような事象が生じると、送信データＤｔが中継データＤｒに優先され、中継データＤｒが中継（送信）されなくなる。そこで、本実施形態では、暴走したノード２に対し、他のノード２が更に異なるハードウェアを制御する割込送信データＤｔｉを送信することで、事態の解決が図られる。
【００７８】
具体的に説明すると、図１６に示されるように、ノード２では、入力データＤｉ（通常入力データＤｉｎ及び割込入力データＤｉｉ）が中継ブロック９１（データ中継ブロック１７及び割込中継ブロック１９）に入力している。一方、ノード２では、送信ソフトウェア部８の暴走により、送信ブロック９２（データ送信ブロック１８及び割込送信ブロック２０）から送信データＤｔ（通常送信データＤｔｎ及び割込送信データＤｔｉ）が出力され続けている。データセレクタ９３（データ出力切替ブロック２４及び割込出力切替ブロック２５）は、送信データＤｔの通常送信データＤｔｎを、通常入力データＤｉｎの通常中継データＤｒｎよりも優先させ、送信データＤｔの割込送信データＤｔｉを、割込入力データＤｉｉの割込中継データＤｒｉよりも優先されて出力するため、他のノード２に必要な中継データＤｒ（通常中継データＤｒｎ及び割込中継データＤｒｉ）が出力されなくなる虞がある。
【００７９】
このような場合、他のノード２が、暴走しているノード２に対し、ハードウェアからなるデータセレクタ９３の出力を入力データＤｉ側に切り替える割込送信データＤｔｉを送信することで、データセレクタ９３から中継データＤｒが出力されるように、ノード２にデータセレクタ９３を制御させること、即ち、正常なノード２が暴走しているノード２のデータセレクタ９３を制御することができる。
【００８０】
例えば、図１７（Ａ）に示されるように、通信システム１において、ノード２の１つである第２のノード２にフェールが発生すると、（Ｂ）に示されるように、正常なノード２の１つである第１のノード２がフェールの発生した第２のノード２に対し、データセレクタ９３の出力を入力データＤｉ側に切り替える割込送信データＤｔｉする。すると、（Ｃ）に示されるように、フェールの発生した第２のノード２は、自ら生成した送信データＤｔは送信せずに入力された中継データＤｒのみを出力する、即ちネットワーク３上を転送される中継データＤｒをバイパスさせる。なお、この場合であっても、正常な第１のノード２がフェールの発生したノード２の制御対象７を割込送信データＤｔｉによって制御することは可能である。
【００８１】
このようなフェール発生時の制御の手順について図１８を参照しながら説明する。１つのノード２にフェールが発生すると、通信システム１は次のような処理を行う。即ち、正常なノード２の１つが割込送信データＤｔｉを送信することで、フェールの発生したノード２にリブートを行わせる（ステップＳＴ２１）。正常なノード２は、リブートが成功したか否かを判定し（ステップＳＴ２２）、成功した場合には（ステップＳＴ２２：Ｙｅｓ）、全てのノード２が通常運転を行う（ステップＳＴ２３）。
【００８２】
一方、リブートが成功しなかった場合（ステップＳＴ２２：Ｎｏ）、正常なノード２はそれぞれフェールセーフ処理を行う（ステップＳＴ２４）。その後、正常なノード２の１つが割込送信データＤｔｉを送信することで、フェールの発生したノード２にデータセレクタ９３を入力データＤｉ側に切り替えるバイパス処理を行わせる（ステップＳＴ２５）。次いで、正常なノード２は、バイパス処理が成功したか否かを判定し（ステップＳＴ２６）、成功した場合には（ステップＳＴ２６：Ｙｅｓ）、機能や性能を制限した縮退運転を行う（ステップＳＴ２７）。一方、バイパス処理が成功しなかった場合（ステップＳＴ２６：Ｎｏ）、フェールの発生したノード２に割込送信データＤｔｉが届かなかった、即ち通信線が断線しているものとして、正常なノード２はフェールの発生したノード２に対する制御を終了する。
【００８３】
このように、暴走等のフェールが発生したノード２に対し、データ出力切替部に対して前記データ中継部から送出されたデータ（Ｄｒｎ、Ｄｒｉ）を出力させるようバイパス処理を行わせる割込送信データＤｔｉを他のノード２が送信することにより、他のノード２に必要な中継データＤｒ（通常中継データＤｒｎ及び割込中継データＤｒｉ）がフェールの発生したノード２から出力されなくなることを防止できる。
【００８４】
≪変形例≫
次に、図１９を参照して実施形態に係る通信システム１の変形例について説明する。なお、上記実施形態と形態又は機能が同一又は同様の要素には同一の符号を付し、重複する説明は省略する。
【００８５】
本変形例では、ネットワーク３が物理的にスター型の構成とされている。なお、ネットワーク３は、論理的にはスター型であってもよいが、バス型等の他の構成であってもよい。いずれにしても、各ノード２は中継機能（即ち、図２中のデータ中継ブロック１７、割込中継ブロック１９、データ出力切替ブロック２４及び割込出力切替ブロック２５）を有していない。従って、１つのノード２にフェールが発生したとしても、他のノード２間の通信に与える影響はない、或いは小さく、バイパス処理（図１７、図１８のステップＳＴ２５〜ステップＳＴ２８）を行う必要がない。
【００８６】
一方、少なくとも２つのノード２が、送信ソフトウェア部８、受信ソフトウェア部９、送信ブロック９２（データ送信ブロック１８及び割込送信ブロック２０）、データ受信ブロック２１及び割込受信ブロック２２を有しており、互いに通信しながら制御対象７を制御する。そして、１つのノード２にフェールが発生した場合に、他のノード２がＣＰＵ４のリセットを行うハードウェア（リセット回路）に対する割込送信データＤｔｉを送信することで、フェールの発生したノード２をリブートさせることが可能なことは、上記実施形態と同様である。また、１つのノード２が他のノード２の制御対象７であるハードウェアを、ソフトウェアを介さずに直接制御する割込送信データＤｔｉを送信することで、他のノード２のハードウェアを小さいレイテンシで制御できることや、複数のハードウェアの動作を同期させられることは、上記実施形態と同様である。
【００８７】
以上で具体的実施形態の説明を終えるが、本発明は上記実施形態に限定されることなく幅広く変形実施することができる。例えば、ネットワーク３は、リング型やスター型、バス型に限らず、メッシュ型であってもよい。この場合にも、各ノード２は中継機能を有する必要はないため、バイパス処理を行う必要はない。この他、各部材や部位の具体的構成や配置、数量、処理手順など、本発明の趣旨を逸脱しない範囲であれば適宜変更可能である。一方、上記実施形態に示した各構成要素は必ずしも全てが必須ではなく、適宜選択することができる。
【符号の説明】
【００８８】
１      通信システム
２      ノード
３      ネットワーク
４      ＣＰＵ
５      ネットワークコントローラ
７      制御対象（ハードウェア）
８      送信ソフトウェア部
９      受信ソフトウェア部
１７    データ中継ブロック（データ中継部）
１８    データ送信ブロック（データ送信部）
１９    割込中継ブロック（データ中継部）
２０    割込送信ブロック（データ送信部）
２１    データ受信ブロック（データ受信部）
２２    割込受信ブロック（データ受信部）
２４    データ出力切替ブロック（データ出力切替部）
２５    割込出力切替ブロック（データ出力切替部）
７０    ハードウェア
９１    中継ブロック（データ中継ブロック１７、割込中継ブロック１９）
９２    送信ブロック（データ送信ブロック１８、割込送信ブロック２０）
９３    データセレクタ（データ出力切替ブロック２４、割込出力切替ブロック２５）
Ｄｉ    入力データ
Ｄｉｉ  割込入力データ（入力データ、割込データ）
Ｄｉｎ  通常入力データ（入力データ）
Ｄｏ    出力データ
Ｄｒｉ  割込中継データ
Ｄｒｎ  通常中継データ
Ｄｔ    送信データ
Ｄｔｉ  割込送信データ（送信データ、割込データ）
Ｄｔｎ  通常送信データ（送信データ）
Ｓｃ    ハードウェア制御信号
【図１】
0006527399.tif 000002
【図２】
0006527399.tif 000003
【図３】
0006527399.tif 000004
【図４】
0006527399.tif 000005
【図５】
0006527399.tif 000006
【図６】
0006527399.tif 000007
【図７】
0006527399.tif 000008
【図８】
0006527399.tif 000009
【図９】
0006527399.tif 000010
【図１０】
0006527399.tif 000011
【図１１】
0006527399.tif 000012
【図１２】
0006527399.tif 000013
【図１３】
0006527399.tif 000014
【図１４】
0006527399.tif 000015
【図１５】
0006527399.tif 000016
【図１６】
0006527399.tif 000017
【図１７】
0006527399.tif 000018
【図１８】
0006527399.tif 000019
【図１９】
0006527399.tif 000020