(57)【特許請求の範囲】
【請求項１】
ＡＴＭネットワークインタフェースを有する複数の端末装置間でＡＴＭネットワークを介して所定の数のデータをサイクリックに伝送するサイクリックデータ伝送システムにおいて、
今回送信するデータの値と前回送信したデータの値とを所定の固定長領域毎に比較する比較手段と、データの値を送信する毎に所定の順番に基づいて設定されるそのデータについてのシーケンス番号、前記固定長領域毎の比較結果および今回送信するデータの値を有するパケットを生成するパケット生成手段と、そのパケットを前記ＡＴＭネットワークを介して送信する送信手段とを有する送信側端末装置と、
前記送信側端末装置から送信されてきたパケットを受信する受信手段と、受信したパケットに含まれるデータの今回受信したときのシーケンス番号と前回受信したときのシーケンス番号とが前記所定の順番通りに連続していない場合、今回受信したデータの値で、所定の記憶部に記憶されているそのデータの値を更新し、受信したパケットに含まれるデータの今回受信したときのシーケンス番号と前回受信したときのシーケンス番号とが前記所定の順番通りに連続している場合、前記固定長領域毎の比較結果に応じて、今回送信したデータと前回送信したデータとで値が異なる前記固定長領域についてだけ、今回受信したデータのうちのその固定長領域の値で、前記所定の記憶部に記憶されているそのデータのうちのその固定長領域の値を更新する更新手段とを有する受信側端末装置と
を備えることを特徴とするサイクリックデータ伝送システム。
【請求項２】
送信側端末装置の比較手段は、今回送信するデータの値と前回送信したデータの値とを所定の固定長領域毎に比較し、前回送信したときと値が異なる前記固定長領域の値だけをパケット生成手段に出力し、
前記パケット生成手段は、前回送信したデータの値を記憶しておき、前記比較手段より供給された前記固定長領域の値および前記前回送信したデータの値のうちのその他の固定長領域の値を、今回送信するデータの値として、パケットを生成する
ことを特徴とする請求項１記載のサイクリックデータ伝送システム。
【請求項３】
所定の固定長領域は、１ワードの領域である
ことを特徴とする請求項２記載のサイクリックデータ伝送システム。
【請求項４】
比較手段は、マイクロプロセッサを備え、今回送信するデータの値および前回送信したデータの値を前記マイクロプロセッサのレジスタファイルに転送し、前記マイクロプロセッサの排他的論理和命令または不一致検出命令を実行して、今回送信するデータの値と前回送信したデータの値とを比較する
ことを特徴とする請求項１記載のサイクリックデータ伝送システム。
【請求項５】
受信側端末装置は、パケットの受信時間間隔を各データについて計測するタイマを有し、
前記受信側端末装置の更新手段は、前記タイマにより計測された前記パケットの受信時間間隔の値が所定のタイムアウト値より大きい場合、前回受信したときのシーケンス番号に、所定の順番に基づいて設定される番号以外の所定の番号を設定する
ことを特徴とする請求項１記載のサイクリックデータ伝送システム。
【請求項６】
受信側端末装置の更新手段は、前記受信側端末装置がＡＴＭネットワークに接続されたとき、すべてのデータに対応する前回受信したときのシーケンス番号に、所定の順番に基づいて設定される番号以外の所定の番号を設定する
ことを特徴とする請求項１記載のサイクリックデータ伝送システム。
【請求項７】
受信側端末装置の更新手段は、所定の記憶部に記憶されているそのデータの値をリフレッシュする場合、前回受信したときのシーケンス番号に、所定の順番に基づいて設定される番号以外の所定の番号を設定する
ことを特徴とする請求項１記載のサイクリックデータ伝送システム。
【請求項８】
他の端末装置にＡＴＭネットワークを介して所定の数のデータをサイクリックに送信し、前記ＡＴＭネットワークを介して他の端末装置から送信されてくる所定の数のデータをサイクリックに受信するサイクリックデータ送受信装置において、
送信する前記所定の数のデータを記憶する第１の記憶手段と、
今回送信するデータの値と前回送信したデータの値とを所定の固定長領域毎に比較する比較手段と、
データの値を送信する毎に所定の順番に基づいて設定されるそのデータについてのシーケンス番号、前記固定長領域毎の比較結果および今回送信するデータの値を有するパケットを生成するパケット生成手段と、
そのパケットを前記ＡＴＭネットワークを介して送信する送信手段と、
前記ＡＴＭネットワークを介して送信されてきたパケットを受信する受信手段と、
他の端末装置より供給された前記所定の数のデータを記憶する第２の記憶手段と、
受信したパケットに含まれるデータの今回受信したときのシーケンス番号と前回受信したときのシーケンス番号とが前記所定の順番通りに連続していない場合、今回受信したデータの値で、前記第２の記憶手段に記憶されているそのデータの値を更新し、受信したパケットに含まれるデータの今回受信したときのシーケンス番号と前回受信したときのシーケンス番号とが前記所定の順番通りに連続している場合、前記固定長領域毎の比較結果に応じて、今回送信したデータと前回送信したデータとで値が異なる前記固定長領域についてだけ、今回受信したデータのうちのその固定長領域の値で、前記第２の記憶手段に記憶されているそのデータのうちのその固定長領域の値を更新する更新手段と
を備えることを特徴とするサイクリックデータ送受信装置。
【請求項９】
ＡＴＭネットワークインタフェースを有する複数の端末装置間でＡＴＭネットワークを介して所定の数のデータをサイクリックに伝送するサイクリックデータ伝送方法において、
今回送信するデータの値と前回送信したデータの値とを所定の固定長領域毎に比較するステップと、
データの値を送信する毎に所定の順番に基づいて設定されるそのデータについてのシーケンス番号、前記固定長領域毎の比較結果、および今回送信するデータの値を有するパケットを生成するステップと、
そのパケットを受信側の端末装置へ前記ＡＴＭネットワークを介して送信するステップと、
送信側の端末装置から送信されてきたパケットを受信するステップと、
受信したパケットに含まれるデータの今回受信したときのシーケンス番号と前回受信したときのシーケンス番号とが前記所定の順番通りに連続していない場合、今回受信したデータの値で、前記受信側の端末装置に記憶されているそのデータの値を更新し、受信したパケットに含まれるデータの今回受信したときのシーケンス番号と前回受信したときのシーケンス番号とが前記所定の順番通りに連続している場合、前記固定長領域毎の比較結果に応じて、今回送信したデータと前回送信したデータとで値が異なる前記固定長領域について、今回受信したデータのうちのその固定長領域の値で、前記受信側の端末装置に記憶されているそのデータのうちのその固定長領域の値を更新するステップと
を備えることを特徴とするサイクリックデータ伝送方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、計算機、ルータ、ＣＬＡＤ（セル組立分解装置）などが接続されたＡＴＭ（Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｔｒａｎｓｆｅｒ  Ｍｏｄｅ）ネットワークを介して所定の数のデータをサイクリックに伝送するサイクリックデータ伝送システム、サイクリックデータ送受信装置およびサイクリックデータ伝送方法に関するものである。
【０００２】
【従来の技術】
図１７は例えば特開昭５９−１８９７４９号公報に記載されている従来のサイクリックデータ伝送システムを構成する送信装置を示す構成図であり、図１８は例えば特開昭５９−１８９７４９号公報に記載されている従来のサイクリックデータ伝送システムを構成する受信装置を示す構成図である。図１７において、１０１は送信装置であり、１０６はアドレスバスであり、１０７はデータバスであり、１２２はカウンタであり、１２３はアドレスバス１０６を介して供給されたデータを記憶する記憶部であり、１２４は比較器であり、１２５はフリップフロップであり、１２６は並列入力直列出力シフトレジスタであり、１２７はフリップフロップ１２５の出力値に応じて並列入力直列出力シフトレジスタ１２６の出力値を送信部１２８に出力するゲート回路であり、１２８は所定の伝送路１０５を介して受信装置（後述）にデータを送信する送信部であり、１２９はタイミングジェネレータであり、１３０はアドレスバス１０６に接続されたバッファゲートであり、１３１はデータバス１０７に接続されたバッファゲートであり、１３２は送信部１２８に内蔵されたＦＩＦＯであり、１４１は内部アドレスバスであり、１４２は内部データバスである。
【０００３】
図１８において、１０２は受信装置であり、１５１は各種処理を実行するプロセッサであり、１５２は受信したデータを記憶する受信データバッファメモリであり、１５３はバスコントロール回路であり、１５４はカウンタであり、１５５は受信したデータが更新データであるか否かを判別する判別部であり、１５６は直列入力並列出力のシフトレジスタであり、１５７は所定の伝送路１０５を介して送信されてきたデータを受信する受信部であり、１５８はプロセッサ１５１、受信データバッファメモリ１５２およびバスコントロール回路１５３に接続されたバスである。
【０００４】
次に動作について説明する。
送信装置１０１においては、カウンタ１２２の出力が内部アドレスバス１４１を介して記憶部１２３およびバッファゲート１３０に供給される。バッファゲート１３０は、そのカウンタ１２２の出力をアドレスバス１０６を介して外部に出力する。そして、比較器１２４は、アドレスバス１０７を介して供給されるデータが確立した時点で、そのデータと、カウンタ１２２の出力が示す記憶部１２３に記録されているデータとを比較し、それらが一致しなかった場合、０をフリップフロップ１２５に出力する。フリップフロップ１２５よりゲート回路１２７に０が出力され、並列入力直列出力シフトレジスタ１２６の出力がゲート回路１２７を介して送信部１２８のＦＩＦＯ１３２に出力される。
なお、並列入力直列出力シフトレジスタ１２６の先頭に追加ビットを設けておき、ゲート回路１２７にデータを出力するとき、その追加ビットの値を１に設定するようにして、そのデータが更新データであることを表す。
【０００５】
このようにして、データバス１０７を介して供給されたデータが記憶部１２３に記憶されているデータと一致しない場合は、供給されたデータが出力される。
【０００６】
一方、データバス１０７を介して供給されたデータが記憶部１２３に記憶されているデータと一致する場合は、値が０である１ビットのデータがゲート回路１２７を介して送信部１２８に供給される。
【０００７】
次に、受信装置１０２においては、受信部１５７は、上述の送信装置１０１により送信されたデータを受信し、そのデータを復調するとともに、受信クロックを抽出し、それらを判別部１５５とシフトレジスタ１５６に出力する。シフトレジスタ１５６は、そのデータを並列データに変換し、バスコントロール回路１５３に出力する。判別部１５５は、そのデータを受け取ると、まず、パルス信号をカウンタ１５４に出力する。カウンタ１５４は、その信号を受け取ると、アドレスをインクリメントし、そのアドレスをバスコントロール回路１５３に出力する。また、判別部１５５は、受信部１５７より供給されたデータの先頭のビットの値が１であるか０であるかを判別し、その値が０である場合、動作を停止させる制御信号をバスコントロール回路１５３に供給し、その値が１である場合、シフトレジスタ１５６からのデータを、受信データバッファメモリ１５２の、カウンタ１５４からのアドレスが示す場所に記憶させる制御信号をバスコントロール回路１５３に供給する。そして、プロセッサ１５１は、バス１５８を介して受信データバッファメモリ１５２に記憶されたデータを読み出し、各種処理を実行する。
【０００８】
このようにして、送信装置１０１からのデータのうち、先頭ビットの値が１である更新データだけが受信データバッファメモリ１５２に記憶される。
【０００９】
以上のようにして、送信装置１０１においてデータが更新された場合、送信装置１０１から受信装置１０２へそのデータ（上述の更新データ）が伝送され、受信装置１０１に記憶されているデータにその更新が反映される。
【００１０】
【発明が解決しようとする課題】
従来のサイクリックデータ伝送システムは以上のように構成されているので、例えば伝送路１０５に障害が発生し、送信したデータが欠落して、受信装置１０２まで到達しない場合、送信装置１０１において次にデータが更新されるまで最新のデータが受信装置１０２に供給されないため、その間、受信装置１０２では古いデータを使用することになるなどの課題があった。
【００１１】
この発明は上記のような課題を解決するためになされたもので、各データに対応するシーケンス番号を設け、送信側では、データを送信するごとにそのシーケンス番号を所定の順番で変化させていき、データの値の更新の有無に拘わらずデータを、そのシーケンス番号とともに送信し、受信側では、受信したデータのシーケンス番号と前回そのデータを受信したときのシーケンス番号とを比較してシーケンス番号の連続性を調べ、データが欠落したと判断した場合には、受信したデータの値で、既に記憶しているそのデータの値を更新するようにして、伝送中にデータが欠落した場合にもすぐに受信側におけるそのデータの値が送信側における値と同一にすることができるサイクリックデータ伝送システム、サイクリックデータ送受信装置およびサイクリックデータ伝送方法を得ることを目的とする。
【００１２】
また、この発明は、送信側で、送信するデータの値が所定の固定長領域ごとに変化したか否かを調べ、その結果をデータとともに送信するようにして、受信側では、値が変化した固定長領域の値だけを更新するようにして、受信側におけるメモリアクセス量を低減し、内部バスの使用量を低減することができるサイクリックデータ伝送システム、サイクリックデータ送受信装置およびサイクリックデータ伝送方法を得ることを目的とする。
【００１３】
【課題を解決するための手段】
この発明に係るサイクリックデータ伝送システムは、送信側端末装置に、今回送信するデータの値と前回送信したデータの値とを所定の固定長領域毎に比較する比較手段と、データの値を送信する毎に所定の順番に基づいて設定されるそのデータについてのシーケンス番号、固定長領域毎の比較結果および今回送信するデータの値を有するパケットを生成するパケット生成手段と、そのパケットをＡＴＭネットワークを介して送信する送信手段とを備え、受信側端末装置に、送信側端末装置から送信されてきたパケットを受信する受信手段と、受信したパケットに含まれるデータの今回受信したときのシーケンス番号と前回受信したときのシーケンス番号とが所定の順番通りに連続していない場合、今回受信したデータの値で、所定の記憶部に記憶されているそのデータの値を更新し、受信したパケットに含まれるデータの今回受信したときのシーケンス番号と前回受信したときのシーケンス番号とが所定の順番通りに連続している場合、固定長領域毎の比較結果に応じて、今回送信したデータと前回送信したデータとで値が異なる固定長領域についてだけ、今回受信したデータのうちのその固定長領域の値で、所定の記憶部に記憶されているそのデータのうちのその固定長領域の値を更新する更新手段とを備えたものである。
【００１４】
この発明に係るサイクリックデータ伝送システムは、送信側端末装置において、比較手段から、前回送信したときと値が異なる固定長領域の値だけをパケット生成手段に出力し、パケット生成手段で、比較手段より供給された固定長領域の値および前回送信したデータの値のうちのその他の固定長領域の値を、今回送信するデータの値として、パケットを生成するものである。
【００１５】
この発明に係るサイクリックデータ伝送システムは、所定の固定長領域を、１ワードの領域としたものである。
【００１６】
この発明に係るサイクリックデータ伝送システムは、比較手段にマイクロプロセッサを備え、今回送信するデータの値および前回送信したデータの値をマイクロプロセッサのレジスタファイルに転送し、マイクロプロセッサの排他的論理和命令または不一致検出命令を実行して、今回送信するデータの値と前回送信したデータの値とを比較するものである。
【００１７】
この発明に係るサイクリックデータ伝送システムは、受信側端末装置に、パケットの受信時間間隔を各データについて計測するタイマを有し、タイマにより計測されたパケットの受信時間間隔の値が所定のタイムアウト値より大きい場合、前回受信したときのシーケンス番号に、所定の順番に基づいて設定される番号以外の所定の番号を設定するものである。
【００１８】
この発明に係るサイクリックデータ伝送システムは、受信側端末装置がＡＴＭネットワークに接続されたとき、すべてのデータに対応する前回受信したときのシーケンス番号に、所定の順番に基づいて設定される番号以外の所定の番号を設定するものである。
【００１９】
この発明に係るサイクリックデータ伝送システムは、受信側端末装置の所定の記憶部に記憶されているそのデータの値をリフレッシュする場合、前回受信したときのシーケンス番号に、所定の順番に基づいて設定される番号以外の所定の番号を設定するものである。
【００２０】
この発明に係るサイクリックデータ送受信装置は、送信する所定の数のデータを記憶する第１の記憶手段と、今回送信するデータの値と前回送信したデータの値とを所定の固定長領域毎に比較する比較手段と、データの値を送信する毎に所定の順番に基づいて設定されるそのデータについてのシーケンス番号、固定長領域毎の比較結果および今回送信するデータの値を有するパケットを生成するパケット生成手段と、そのパケットをＡＴＭネットワークを介して送信する送信手段と、ＡＴＭネットワークを介して送信されてきたパケットを受信する受信手段と、他の端末装置より供給された所定の数のデータを記憶する第２の記憶手段と、受信したパケットに含まれるデータの今回受信したときのシーケンス番号と前回受信したときのシーケンス番号とが所定の順番通りに連続していない場合、今回受信したデータの値で、第２の記憶手段に記憶されているそのデータの値を更新し、受信したパケットに含まれるデータの今回受信したときのシーケンス番号と前回受信したときのシーケンス番号とが所定の順番通りに連続している場合、固定長領域毎の比較結果に応じて、今回送信したデータと前回送信したデータとで値が異なる固定長領域についてだけ、今回受信したデータのうちのその固定長領域の値で、第２の記憶手段に記憶されているそのデータのうちのその固定長領域の値を更新する更新手段とを備えたものである。
【００２１】
この発明に係るサイクリックデータ伝送方法は、今回送信するデータの値と前回送信したデータの値とを所定の固定長領域毎に比較し、データの値を送信する毎に所定の順番に基づいて設定されるそのデータについてのシーケンス番号、固定長領域毎の比較結果、および今回送信するデータの値を有するパケットを生成し、そのパケットを受信側の端末装置へＡＴＭネットワークを介して送信し、送信側の端末装置から送信されてきたパケットを受信し、受信したパケットに含まれるデータの今回受信したときのシーケンス番号と前回受信したときのシーケンス番号とが所定の順番通りに連続していない場合、今回受信したデータの値で、受信側の端末装置に記憶されているそのデータの値を更新し、受信したパケットに含まれるデータの今回受信したときのシーケンス番号と前回受信したときのシーケンス番号とが所定の順番通りに連続している場合、固定長領域毎の比較結果に応じて、今回送信したデータと前回送信したデータとで値が異なる固定長領域について、今回受信したデータのうちのその固定長領域の値で、受信側の端末装置に記憶されているそのデータのうちのその固定長領域の値を更新するものである。
【００２２】
【発明の実施の形態】
以下、この発明の実施の一形態を説明する。
実施の形態１．
図１は、この発明の実施の形態１によるサイクリックデータ伝送システムの構成を示すブロック図であり、図２は、図１のサイクリックデータ伝送システムにおける制御端末装置２の構成を示すブロック図であり、図３は、図２の制御端末装置２のホスト演算部１１に設けられた主メモリ２３の送信サイクリックエリア３２に記憶されるデータの一例を示す図であり、図４は、図２の制御端末装置２のＡＴＭネットワークインタフェースカード１２に設けられた主メモリ４３の送信制御テーブル５５に記憶される送信制御情報の一例を示す図である。
【００２３】
図１において、１はＡＴＭスイッチ装置（ＡＴＭネットワーク）であり、２は、各種処理を実行するホスト演算部１１と、伝送路３に接続され、ＡＴＭ方式でデータの送受信を実行するＡＴＭネットワークインタフェースカード１２と、それらに接続されたシステムバス１３などを有し、ＡＴＭスイッチ装置１にＵＮＩ（ユーザネットワークインタフェース）接続された、サイクリックデータ送受信装置としての制御端末装置（端末装置、送信側端末装置、受信側端末装置）であり、３はＡＴＭスイッチ装置１同士またはＡＴＭスイッチ装置１と制御端末装置２とを結合する光ファイバまたはツイストペアケーブルで構成された伝送路（ＡＴＭネットワーク）である。
【００２４】
図２に示す制御端末装置２において、１１は、各種処理を実行するプロセッサ２１、プロセッサ２１，主メモリ２３およびバスブリッジ２４に接続された内部バス２２，主メモリ２３，並びに、システムバス１３に接続されたバスブリッジ２４を有するホスト演算部であり、１２は、データの送受信に関する各種処理を実行するプロセッサ（比較手段、パケット生成手段、更新手段）４１、プロセッサ４１，主メモリ４３，バスブリッジ４４およびＡＴＭインタフェース部４５に接続された内部バス４２，主メモリ４３，システムバス１３に接続されたバスブリッジ４４，並びに、伝送路３に接続されたＡＴＭインタフェース部（送信手段、受信手段）４５を有するＡＴＭネットワークインタフェースカード（ＡＴＭネットワークインタフェース）である。
【００２５】
ホスト演算部１１の主メモリ２３には、受信したデータを記憶する受信サイクリックエリア（所定の記憶部、第２の記憶手段）３１と、送信するデータが記憶される送信サイクリックエリア（第１の記憶手段）３２が割り当てられている。また、ＡＴＭネットワークインタフェースカード１２の主メモリ４３には、送信するパケットを生成するときに使用される送信パケットバッファ５１、前回送信したデータの値をブロックごとに記憶する前回送信値バッファ５２、受信したパケットを一旦記憶する受信パケットバッファ５３、受信したデータの制御情報を記憶する受信制御テーブル５４、および送信するデータの制御情報を記憶する送信制御テーブル５５が割り当てられている。例えば、受信制御テーブル５４には、受信したデータに対応するブロックシーケンス番号が受信シーケンス番号として記憶される。
【００２６】
ホスト演算部１１の主メモリ２３に割り当てられている送信サイクリックエリア３２は、所定の数の、１つのパケットで送信されるデータを記憶する送信ブロックに論理的に分割されており、さらにこの送信ブロックは、所定の数の、値が更新されたか否かを調べる単位であるセグメント（固定長領域）に論理的に分割されている。例えば、図３においては、第１の送信エリア６１−１が第１〜第３の送信ブロック７１〜７３に論理的に分割されており、第２の送信エリア６１−２が第４〜第６の送信ブロック７４〜７６に論理的に分割されている。そして、例えば第６の送信ブロック７６は、さらに、第１〜第４のセグメント（固定長領域）８１〜８４に論理的に分割されている。
【００２７】
また、図４に示すように、図２の制御端末装置２のＡＴＭネットワークインタフェースカード１２に設けられた主メモリ４３の送信制御テーブル５５には、他の制御端末装置２へ送信するデータに関する送信制御情報が記憶されている。まず、１バイト目には、データが送信される送信ブロックの数が記憶され、次に、ブロックの連続性を表すブロックシーケンス番号（半バイト）、送信ブロックの番号を示す領域（半バイト）、ブロックの先頭アドレスを示す領域（１バイト）、およびブロックのデータ長を示す領域（１バイト）が、各ブロックごとに記憶されている。
【００２８】
次に動作について説明する。
図５は、制御端末装置２のデータ送信時の動作について説明するフローチャートであり、図６は、制御端末装置２から送信されるパケットのフォーマットを示す図であり、図７は、制御端末装置２のデータ受信時の動作について説明するフローチャートである。
【００２９】
データを送信する場合、まず、図５のステップＳＴ１において、ＡＴＭネットワークインタフェースカード１２のプロセッサ４１は、サイクリック伝送におけるパケット送信のタイミングになるまで待機し、パケット送信のタイミングになると、ステップＳＴ２において、主メモリ４３の送信制御テーブル５５から、今回送信するデータが記憶されているブロックの制御情報（ブロックシーケンス番号、ブロックの先頭アドレスおよびブロックのデータ長）を読み出す。
【００３０】
そして、ステップＳＴ３において、プロセッサ４１は、ホスト演算部１１と通信し、ホスト演算部１１の主メモリ２３における送信サイクリックエリア３２から、ブロックの先頭アドレスから上述のデータ長分のデータを、ＡＴＭネットワークインタフェースカード１２の主メモリ４３における送信パケットバッファ５１に転送する。
【００３１】
次にステップＳＴ４において、プロセッサ４１は、主メモリ４３の前回送信値バッファ５２から、そのブロックのデータの前回送信したときの値を読み出し、その値と、今回送信するデータ、すなわち送信パケットバッファ５１に転送したデータの値とを上述のセグメント単位で比較し、ステップＳＴ５において、セグメントの値に変化があったか否かを判定し、ステップＳＴ６およびステップＳＴ７において、その判定結果に応じてセグメントの値の変化の有無を表すビットマップを生成する。すなわち、セグメントにおいて値に変化があった場合、ビットマップのうち、そのセグメントに対応するビットにはステップＳＴ６において１が設定され、値に変化がなかった場合にはステップＳＴ７において０が設定される。
【００３２】
ステップＳＴ８において、プロセッサ４１は、すべてのセグメントについてステップＳＴ４〜ステップＳＴ７の処理を実行したか否かを判定し、すべてのセグメントについてステップＳＴ４〜ステップＳＴ７の処理を実行するまで、順番に各セグメントについてステップＳＴ４〜ステップＳＴ７の処理を実行する。
【００３３】
そして、すべてのセグメントについての処理が終了すると、ステップＳＴ９に進み、プロセッサ４１は、ブロック番号、ブロックシーケンス番号、セグメントの値の変化を指示するビットマップである変化セグメント指示ビットマップ、ブロックの先頭アドレス、ブロックのデータ長、送信するデータ、ＡＡＬ５トレーラ、およびＣＲＣ符号に基づいて図６に示すパケットを生成する。
【００３４】
なお、ＡＡＬ５トレーラは、ＡＴＭ方式でデータを送信するときにＡＡＬ５（ＡＴＭ  Ａｄａｐｔａｔｉｏｎ  Ｌａｙｅｒ  ５）方式を使用しているために付加されるものであり、ＣＲＣ符号は、そのパケットの巡回冗長検査のための符号である。
【００３５】
次にステップＳＴ１０において、プロセッサ４１は、送信制御テーブル５５におけるそのブロックに対応するブロックシーケンス番号をインクリメントする。なお、ブロックシーケンス番号が上限値に達している場合は、ブロックシーケンス番号は０にリセットされる。
【００３６】
そして、ステップＳＴ１１において、プロセッサ４１は、生成したパケットをＡＴＭインタフェース部４５に出力し、今回送信するデータの値を前回送信値バッファ５２に記憶させた後、送信パケットバッファ５１においてパケットが記憶されていたメモリエリアを解放する。ＡＴＭインタフェース部４５は、パケットを供給されると、そのパケットを伝送路３を介して送信する。
【００３７】
そして、ステップＳＴ１に戻り、プロセッサ４１は、再度パケットの送信タイミングになるまで待機する。なお、待機中に、他の処理が実行される場合もある。
【００３８】
データを受信する場合、図７のステップＳＴ２１において、ＡＴＭネットワークインタフェースカード１２のプロセッサ４１は、ＡＴＭインタフェース部４５がパケットを受信するまで待機する。ＡＴＭインタフェース部４５によりパケットが受信されると、そのパケットは、受信パケットバッファ５３に記憶される。
【００３９】
プロセッサ４１は、ステップＳＴ２２において、受信したパケットのブロック番号を読み出し、ステップＳＴ２３において、そのブロック番号に対応する、そのブロックを前回受信したときのブロックシーケンス番号である受信シーケンス番号を受信制御テーブル５４から読み出す。さらにプロセッサ４１は、ステップＳＴ２４において、受信したパケットのブロックシーケンス番号を読み出す。
【００４０】
そして、プロセッサ４１は、ステップＳＴ２５において、前回受信したときのブロックシーケンス番号（受信シーケンス番号）と今回受信したパケットのブロックシーケンス番号とを比較し、受信シーケンス番号に１を加算した数と今回受信したパケットのブロックシーケンス番号が等しいか否か（受信シーケンス番号が上限値である場合においては、今回受信したパケットのブロックシーケンス番号が０であるか否か）を判定し、受信シーケンス番号に１を加算した数と今回受信したパケットのブロックシーケンス番号が等しい（受信シーケンス番号が上限値である場合においては、今回受信したパケットのブロックシーケンス番号が０である）と判定した場合、ステップＳＴ２６において、受信したパケットの変化セグメント指示ビットマップを読み出し、ステップＳＴ２７において、その変化セグメント指示ビットマップで値が１であるビットに対応するセグメントを受信パケットバッファ５３から読み出し、ホスト演算部１１の受信サイクリックエリア３１に転送する。
【００４１】
一方、ステップＳＴ２５において、受信シーケンス番号に１を加算した数と今回受信したパケットのブロックシーケンス番号が等しくない（受信シーケンス番号が上限値である場合においては、今回受信したパケットのブロックシーケンス番号が０ではない）と判定した場合、ステップＳＴ２８において、プロセッサ４１は、受信したパケットに含まれるすべてのセグメントを読み出し、ホスト演算部１１の受信サイクリックエリア３１に転送する。
【００４２】
ステップＳＴ２７またはステップＳＴ２８において受信したデータを転送した後、ステップＳＴ２９において、プロセッサ４１は、受信制御テーブル５４の受信シーケンス番号の値を、受信したパケットのブロックシーケンス番号で更新し、ステップＳＴ３０において、受信パケットバッファ５３における、受信したパケットが記憶されていたメモリエリアを解放する。
【００４３】
そして、ステップＳＴ２１に戻り、プロセッサ４１は、再度パケットが受信されるまで待機する。なお、待機中に、他の処理が実行される場合もある。
【００４４】
以上のように、この実施の形態１によれば、各データに対応するシーケンス番号を設け、送信側では、データを送信するごとにそのシーケンス番号を所定の順番で変化させていき、データの値の更新の有無に拘わらずデータを、そのシーケンス番号とともに送信し、受信側では、受信したデータのシーケンス番号と前回そのデータを受信したときのシーケンス番号とを比較してシーケンス番号の連続性を調べ、データが欠落したと判断した場合には、受信したデータの値で、既に記憶しているそのデータの値を更新するように構成したので、伝送中にデータが欠落した場合にもすぐに受信側におけるそのデータの値が送信側における値と同一にすることができるという効果が得られる。
【００４５】
また、この実施の形態１によれば、送信側で、送信するデータの値が所定の固定長領域ごとに変化したか否かを調べ、その結果をデータとともに送信し、受信側では、値が変化した固定長領域の値だけを更新するようにしたので、受信側におけるメモリアクセス量を低減し、内部バスの使用量を低減することができるという効果が得られる。
【００４６】
実施の形態２．
この発明の実施の形態２における制御端末装置２においては、ＡＴＭネットワークインタフェースカード１２のプロセッサ４１は、データ送信時に、値に変化があったセグメントの値だけを主メモリ４３の送信パケットバッファ５１に転送するものである。その他の構成要素は、実施の形態１における制御端末装置２のものと同様であるので、その説明を省略する。
【００４７】
次に動作について説明する。
図８は、実施の形態２における制御端末装置のデータ送信時の動作について説明するフローチャートである。
【００４８】
データを送信する場合、まず、ステップＳＴ４１において、ＡＴＭネットワークインタフェースカード１２のプロセッサ４１は、サイクリック伝送におけるパケット送信のタイミングになるまで待機し、パケット送信のタイミングになると、ステップＳＴ４２において、主メモリ４３の送信制御テーブル５５から、今回送信するデータが記憶されているブロックの制御情報を読み出す。
【００４９】
そして、ステップＳＴ４３において、プロセッサ４１は、ホスト演算部１１と通信し、ホスト演算部１１の主メモリ２３における送信サイクリックエリア３２から１セグメント分の値だけを読み出すとともに、主メモリ４３の前回送信値バッファ５２に記憶されている、前回送信されたときのそのセグメントの値を読み出し、両者を比較する。
【００５０】
次にステップＳＴ４４において、プロセッサ４１は、そのセグメントの値に変化があったか否かを判定し、ステップＳＴ４５およびステップＳＴ４６において、その判定結果に応じてセグメントの値の変化の有無を表すビットマップを生成する。すなわち、セグメントの値に変化があった場合、ビットマップのうち、そのセグメントに対応するビットにはステップＳＴ４５において１が設定され、値に変化がなかった場合にはステップＳＴ４６において０が設定される。
【００５１】
ステップＳＴ４７において、プロセッサ４１は、すべてのセグメントについてステップＳＴ４３〜ステップＳＴ４６の処理を実行したか否かを判定し、すべてのセグメントについてステップＳＴ４３〜ステップＳＴ４６の処理を実行するまで、順番に各セグメントについてステップＳＴ４３〜ステップＳＴ４６の処理を実行する。
【００５２】
そして、すべてのセグメントについての処理が終了すると、ステップＳＴ４８に進み、プロセッサ４１は、値に変化があったセグメントの値だけを、ホスト演算部１１の送信サイクリックエリア３２からＡＴＭネットワークインタフェースカード１２の送信パケットバッファ５１へ転送し、ステップＳＴ４９において、ブロック番号、ブロックシーケンス番号、変化セグメント指示ビットマップ、ブロックの先頭アドレス、ブロックのデータ長、送信するデータ、ＡＡＬ５トレーラ、およびＣＲＣ符号に基づいてパケットを生成する。なお、このときの送信するデータとしては、送信パケットバッファ５１へ転送したセグメントの値と、前回送信値バッファ５２に記憶されている、それ以外のセグメントの値とが使用される。
【００５３】
次にステップＳＴ５０において、プロセッサ４１は、送信制御テーブル５５におけるそのブロックに対応するブロックシーケンス番号をインクリメントする。なお、ブロックシーケンス番号が上限値に達している場合は、ブロックシーケンス番号は０にリセットされる。
【００５４】
そして、ステップＳＴ５１において、プロセッサ４１は、生成したパケットをＡＴＭインタフェース部４５に出力し、今回送信するデータの値を前回送信値バッファ５２に記憶させた後、送信パケットバッファ５１においてパケットが記憶されていたメモリエリアを解放する。そして、ＡＴＭインタフェース部４５は、パケットを供給されると、そのパケットを伝送路３を介して送信する。
【００５５】
そして、ステップＳＴ４１に戻り、プロセッサ４１は、再度パケットの送信タイミングになるまで待機する。なお、待機中に、他の処理が実行される場合もある。
【００５６】
このようにして、データの送信が実行される。なお、データの受信時の動作は、実施の形態１のものと同様であるので、その説明を省略する。
【００５７】
以上のように、この実施の形態２によれば、値が変化したセグメントの値だけを、送信パケットバッファ５１に転送するように構成したので、データ送信時における内部バス４２の負荷を軽減することができ、データ送信処理が良好に実行されるという効果が得られる。
【００５８】
実施の形態３．
この発明の実施の形態３における制御端末装置２においては、ＡＴＭネットワークインタフェースカード１２のプロセッサ４１は、前回送信したときのデータの値と今回送信するデータの値とを比較するときに、ワード単位で比較を実行し、各ワードに対応する比較結果を、変化ワード指示ビットマップとして、上述の変化セグメント指示ビットマップの代わりにパケットに挿入するものである。その他の構成要素は、実施の形態１のものと同様であるので、その説明を省略する。
【００５９】
次に動作について説明する。
図９は、実施の形態３における制御端末装置のデータ送信時の動作について説明するフローチャートであり、図１０は、実施の形態３における制御端末装置のデータ受信時の動作について説明するフローチャートである。なお、データ送信時の処理については、図９のステップＳＴ６１〜ステップＳＴ６３の処理およびステップＳＴ６９〜ステップＳＴ７１の処理は図５のステップＳＴ１〜ステップＳＴ３の処理およびステップＳＴ９〜ステップＳＴ１１の処理と同様であるので、その説明を省略し、図９のステップＳＴ６４〜ステップＳＴ６８の処理についてだけ説明する。
【００６０】
また、データ受信時の処理については、図１０のステップＳＴ１０１〜ステップＳＴ１０５、ステップＳＴ１０９およびステップＳＴ１１０の処理は、図７のステップＳＴ２１〜ステップＳＴ２５、ステップＳＴ２９およびステップＳＴ３０の処理と同様であるので、その説明を省略し、図１０のステップＳＴ１０６〜ステップＳＴ１０８の処理についてだけ説明する。
【００６１】
データ送信時においては、ステップＳＴ６４において、プロセッサ４１は、主メモリ４３の前回送信値バッファ５２から、そのブロックのデータを前回送信したときの値を読み出し、その値と、今回送信するデータの値とをワード単位で比較し、ステップＳＴ６５において、ワードの値に変化があったか否かを判定し、ステップＳＴ６６およびステップＳＴ６７において、その判定結果に応じてワードの値の変化の有無を表すビットマップ（変化ワード指示ビットマップ）を生成する。すなわち、ビットマップのうち、値に変化があったワードに対応するビットにはステップＳＴ６６において１が設定され、値に変化がなかったワードに対応するビットにはステップＳＴ６７において０が設定される。
【００６２】
そしてステップＳＴ６８において、プロセッサ４１は、すべてのワードについてステップＳＴ６４〜ステップＳＴ６７の処理を実行したか否かを判定し、すべてのワードについてステップＳＴ６４〜ステップＳＴ６７の処理を実行するまで、順番に各ワードについてステップＳＴ６４〜ステップＳＴ６７の処理を実行する。そして、すべてのワードについての処理が終了すると、ステップＳＴ６９に進む。
【００６３】
次に、データ受信時においては、受信シーケンス番号に１を加算した数と今回受信したパケットのブロックシーケンス番号が等しい（受信シーケンス番号が上限値である場合においては、今回受信したパケットのブロックシーケンス番号が０である）と判定した場合、ステップＳＴ１０６において、プロセッサ４１は、受信したパケットの変化ワード指示ビットマップを読み出し、ステップＳＴ１０７において、その変化ワード指示ビットマップのうち、値が１であるビットに対応するワードの値を受信パケットバッファ５３から読み出し、ホスト演算部１１の受信サイクリックエリア３１に転送する。
【００６４】
一方、受信シーケンス番号に１を加算した数と今回受信したパケットのブロックシーケンス番号が等しくない（受信シーケンス番号が上限値である場合においては、今回受信したパケットのブロックシーケンス番号が０ではない）と判定した場合、プロセッサ４１は、ステップＳＴ１０８において、受信したパケットに含まれるすべてのワードを読み出し、ホスト演算部１１の受信サイクリックエリア３１に転送する。
【００６５】
以上のように、この実施の形態３によれば、値が変化したワードごとにデータの値を更新するので、データ受信時における受信サイクリックエリア３１へのデータ転送量を低減することができ、データ受信処理を良好に実行することができるという効果が得られる。
【００６６】
実施の形態４．
この発明の実施の形態４における制御端末装置２においては、ＡＴＭネットワークインタフェースカード１２のプロセッサ４１は、前回送信したときのデータの値と今回送信するデータの値とを比較するときに、プロセッサ４１内に設けられているレジスタファイルに２つのデータの値をロードし、プロセッサ４１の命令セットのうちの排他的論理和命令または不一致検出命令を実行して、前回送信したときのデータの値と今回送信するデータの値とが同一であるか否かを検査するものである。その他の構成要素は、実施の形態１のものと同様であるので、その説明を省略する。
【００６７】
次に動作について説明する。
図１１は、実施の形態４における制御端末装置のデータ送信時の動作について説明するフローチャートである。
【００６８】
データを送信する場合、まず、ステップＳＴ８１において、ＡＴＭネットワークインタフェースカード１２のプロセッサ４１は、サイクリック伝送におけるパケット送信のタイミングになるまで待機し、パケット送信のタイミングになると、ステップＳＴ８２において、主メモリ４３の送信制御テーブル５５から、今回送信するデータが記憶されているブロックの制御情報を読み出す。
【００６９】
そして、ステップＳＴ８３において、プロセッサ４１は、ホスト演算部１１と通信し、ホスト演算部１１の主メモリ２３における送信サイクリックエリア３２から、ブロックのうちの１セグメント分のデータを、プロセッサ４１内のレジスタファイルに転送する。
【００７０】
次にステップＳＴ８４において、プロセッサ４１は、主メモリ４３の前回送信値バッファ５２から、先にホスト演算部１１から転送したセグメントに対応する値をプロセッサ４１内のレジスタファイルに読み出し、ステップＳＴ８５において、その値と、先に転送した今回送信するデータの１セグメントの値とを、排他的論理和命令または不一致検出命令を実行してワード単位で比較し、ステップＳＴ８６において、セグメントのいずれかのワードの値に変化があったか否かを判定し、ステップＳＴ８７およびステップＳＴ８８において、その判定結果に応じてセグメントの値の変化の有無を表すビットマップを生成する。すなわち、セグメントのいずれかのワードにおいて値に変化があった場合、ビットマップのうち、そのセグメントに対応するビットにはステップＳＴ８７において１が設定され、いずれのワードの値にも変化がなかった場合にはステップＳＴ８８において０が設定される。
【００７１】
その後、ステップＳＴ８９において、プロセッサ４１は、送信サイクリックエリア３２からレジスタファイルに転送した、ブロックのうちの１セグメント分のデータを送信パケットバッファ５１にストアする。
【００７２】
そして、ステップＳＴ９０において、プロセッサ４１は、すべてのセグメントについてステップＳＴ８３〜ステップＳＴ８９の処理を実行したか否かを判定し、すべてのセグメントについてステップＳＴ８３〜ステップＳＴ８９の処理を実行するまで、順番に各セグメントについてステップＳＴ８３〜ステップＳＴ８９の処理を実行する。
【００７３】
そして、すべてのセグメントについての処理が終了すると、ステップＳＴ９１に進み、プロセッサ４１は、ブロック番号、ブロックシーケンス番号、セグメントの値の変化を指示する変化セグメント指示ビットマップ、ブロックの先頭アドレス、ブロックのデータ長、送信するデータ、ＡＡＬ５トレーラ、およびＣＲＣ符号に基づいてパケットを生成する。
【００７４】
次にステップＳＴ９２において、プロセッサ４１は、送信制御テーブル５５におけるそのブロックに対応するブロックシーケンス番号をインクリメントする。なお、ブロックシーケンス番号が上限値に達している場合は、ブロックシーケンス番号は０にリセットされる。
【００７５】
そして、ステップＳＴ９３において、プロセッサ４１は、生成したパケットをＡＴＭインタフェース部４５に出力し、今回送信するデータの値を前回送信値バッファ５２に記憶させた後、送信パケットバッファ５１においてパケットが記憶されていたメモリエリアを解放する。ＡＴＭインタフェース部４５は、パケットを供給されると、そのパケットを伝送路３を介して送信する。
【００７６】
そして、ステップＳＴ８１に戻り、プロセッサ４１は、再度パケットの送信タイミングになるまで待機する。なお、待機中に、他の処理が実行される場合もある。
【００７７】
このようにして、データの送信が実行される。なお、データ受信時の動作は、実施の形態１のものと同様であるので、その説明を省略する。
【００７８】
以上のように、この実施の形態４によれば、データ送信時におけるデータの値の比較においてプロセッサ４１のレジスタファイルにデータを転送するようにしたので、この比較に要する処理時間を低減することができ、データ送信処理を迅速に実行することができるという効果が得られる。
【００７９】
実施の形態５．
この発明の実施の形態５における制御端末装置２においては、ＡＴＭネットワークインタフェースカード１２のプロセッサ４１は、データ受信の処理において、送信元である他の端末装置がこの制御端末装置２との通信から離脱したか否かを監視するものである。例えば、一時的に伝送路３に障害が発生した場合、送信元である他の端末装置はこの制御端末装置２との通信から離脱することになる。
【００８０】
なお、その他の構成要素は、実施の形態１のものと同様であるので、その説明を省略する。
【００８１】
次に動作について説明する。
図１２は、実施の形態５における制御端末装置のデータ受信時の動作について説明するフローチャートであり、図１３は、送信元である他の端末装置の離脱を監視する処理を説明するフローチャートであり、図１４は、図１２に示すデータ受信時の処理に対応するデータ送信時の処理を説明するフローチャートである。
【００８２】
まず、データを受信する場合、ステップＳＴ２１において、ＡＴＭネットワークインタフェースカード１２のプロセッサ４１は、ＡＴＭインタフェース部４５がパケットを受信するまで待機する。ＡＴＭインタフェース部４５によりパケットが受信されると、そのパケットは、受信パケットバッファ５３に記憶される。
【００８３】
プロセッサ４１は、ステップＳＴ２２において、受信したパケットのブロック番号を読み出し、ステップＳＴ１２１において、そのブロック番号に対応する離脱監視タイマをリセットする。
【００８４】
これ以降の処理（ステップＳＴ２３〜ステップＳＴ３０）は図５に示す処理と同様であるので、その説明を省略する。ただし、ステップＳＴ２５において、プロセッサ４１は、前回受信したときのシーケンス番号が上限値である場合においては、今回受信したパケットのブロックシーケンス番号が１であるか否かを判定する。
【００８５】
一方、プロセッサ４１は、このデータ受信の処理とは別のプロセスとして、図１３に示すように、送信元である他の端末装置の離脱をブロック毎に監視する処理を実行している。
【００８６】
すなわち、ステップＳＴ１４１において、プロセッサ４１は、上述のステップＳＴ１２１でリセットされたタイマの値をブロック毎に監視し、その値が所定のタイムアウト値より大きくなった場合、ステップＳＴ１４２において、タイムアウトしたタイマに対応するブロックの番号を調べ、ステップＳＴ１４３において、そのブロックに対応する受信シーケンス番号を０に設定する。このタイマの値は、上述のステップＳＴ１２１においてリセットされる。
【００８７】
そして、ステップＳＴ１４１に戻り、ステップＳＴ１４１〜ステップＳＴ１４３の処理が適宜実行される。
【００８８】
なお、この実施の形態５におけるデータ送信時の処理においては、図１４のステップＳＴ１６１に示すように、プロセッサ４１は、送信するデータのブロックに対応するブロックシーケンス番号をインクリメントするが、ブロックシーケンス番号が上限値に達している場合は、ブロックシーケンス番号を１にリセットする。
【００８９】
したがって、送信元の端末装置の離脱が発生していない場合には、ブロックシーケンス番号および受信シーケンス番号は１から上限値までのいずれかの値をとるが、送信元の端末装置の離脱が発生した場合には、そのとき送信されたデータに対応するブロックの受信シーケンス番号は０に設定される。そして、送信元の端末装置の離脱が発生した後、復帰した場合、送信されてくるパケットに含まれているブロックシーケンス番号は、１から上限値までのいずれかの値であるが、受信シーケンス番号は０であるので、ステップＳＴ２５において、ブロックの送信が不連続であることが検知され、ステップＳＴ２６において、そのブロックの値は、受信したパケットのデータの値で更新される。
【００９０】
以上のように、この実施の形態５によれば、各データを受信した時間間隔を計時して、通信状態を監視しているので、例えば一時的に伝送路３に障害が発生し、通信が不通になった後に復帰した場合、各データについて復帰後において最初に受信した値を反映することができるという効果が得られる。
【００９１】
実施の形態６．
この発明の実施の形態６における制御端末装置２においては、ＡＴＭネットワークインタフェースカード１２のプロセッサ４１は、この制御端末装置２が伝送路３に接続され、データの送受信に参入したことを検知した場合、主メモリ４３の受信制御テーブル５４におけるすべてのブロックに対応する受信シーケンス番号を−１に設定するものである。なお、ＡＴＭインタフェース部４５は、伝送路３への接続を検出し、プロセッサ４１に通知するように構成される。その他の構成要素は、実施の形態１のものと同様であるので、その説明を省略する。
【００９２】
次に動作について説明する。
図１５は、この発明の実施の形態６における制御端末装置２がデータの送受信に参入したときの処理について説明するフローチャートである。
【００９３】
まず、ＡＴＭネットワークインタフェースカード１２のプロセッサ４１は、この制御端末装置２が伝送路３に接続され、データの送受信に参入したことを検知するまでステップＳＴ１８１において待機し、この制御端末装置２がデータの送受信に参入したことを検知すると、ステップＳＴ１８２において、主メモリ４３の受信制御テーブル５４におけるすべてのブロックに対応する受信シーケンス番号を−１に設定した後、ステップＳＴ１８３において、参入時に必要な各種処理を実行する。
【００９４】
送信されてくるパケットに含まれるブロックシーケンス番号は、０から上限値までのいずれかであるので、このように、参入時に受信シーケンス番号が−１に設定されると、参入時の後に各ブロックについて最初の受信した値が、常にホスト演算部１１の受信サイクリックエリア３１に転送される。
【００９５】
なお、その他の処理は、実施の形態１のものと同様であるので、その説明を省略する。
【００９６】
以上のように、この実施の形態６によれば、ネットワークへ参入した後において最初に受信した値を反映することができるという効果が得られる。
【００９７】
実施の形態７．
この発明の実施の形態７における制御端末装置２においては、ホスト演算部１１のプロセッサ２１により実行されているアプリケーションプログラムに従って受信サイクリックエリア３１のすべてのデータの値をリフレッシュさせる処理が実行される。
【００９８】
すなわち、ＡＴＭネットワークインタフェースカード１２のプロセッサ４１は、ホスト演算部１１のプロセッサ２１から所定の制御信号を受け取ると、受信制御テーブル５４におけるすべてのブロックに対応する受信シーケンス番号を−１に設定する。
【００９９】
その他の構成要素は、実施の形態１のものと同様であるので、その説明を省略する。
【０１００】
次に動作について説明する。
図１６は、この発明の実施の形態７における制御端末装置２がアプリケーションプログラムに従ってすべてのデータの値をリフレッシュさせる処理について説明するフローチャートである。
【０１０１】
まず、ＡＴＭネットワークインタフェースカード１２のプロセッサ４１は、ホスト演算部１１のプロセッサ２１から、受信サイクリックエリア３１のすべてのデータの値をリフレッシュさせる旨の制御信号を受け取るまでステップＳＴ２０１において待機する。なお、待機中にプロセッサ４１は他の処理を実行することも可能である。
【０１０２】
そして、プロセッサ２１からそのような制御信号が供給されると、プロセッサ４１は、ステップＳＴ２０２において、主メモリ４３の受信制御テーブル５４におけるすべてのブロックに対応する受信シーケンス番号を−１に設定する。そして、ステップＳＴ２０１に戻る。
【０１０３】
送信されてくるパケットに含まれるブロックシーケンス番号は、０から上限値までのいずれかであるので、このように、受信シーケンス番号が−１に設定されると、この処理の後に各ブロックについて最初の受信した値が、ホスト演算部１１の受信サイクリックエリア３１に転送され、受信サイクリックエリア３１のすべてのデータがリフレッシュされる。
【０１０４】
なお、その他の処理は、実施の形態１のものと同様であるので、その説明を省略する。
【０１０５】
以上のように、この実施の形態７によれば、各種アプリケーションプログラムからデータの値のリフレッシュが要求された場合に受信シーケンス番号を通常時に使用しない値に設定するので、任意のタイミングでデータの値をリフレッシュすることができるという効果が得られる。
【０１０６】
【発明の効果】
以上のように、この発明によれば、今回送信するデータの値と前回送信したデータの値とを所定の固定長領域毎に比較し、データの値を送信する毎に所定の順番に基づいて設定されるそのデータについてのシーケンス番号、固定長領域毎の比較結果、および今回送信するデータの値を有するパケットを生成し、そのパケットを受信側の端末装置へＡＴＭネットワークを介して送信し、送信側の端末装置から送信されてきたパケットを受信し、受信したパケットに含まれるデータの今回受信したときのシーケンス番号と前回受信したときのシーケンス番号とが所定の順番通りに連続していない場合、今回受信したデータの値で、受信側の端末装置に記憶されているそのデータの値を更新し、受信したパケットに含まれるデータの今回受信したときのシーケンス番号と前回受信したときのシーケンス番号とが所定の順番通りに連続している場合、固定長領域毎の比較結果に応じて、今回送信したデータと前回送信したデータとで値が異なる固定長領域について、今回受信したデータのうちのその固定長領域の値で、受信側の端末装置に記憶されているそのデータのうちのその固定長領域の値を更新するようにしたので、伝送中にデータが欠落した場合にもすぐに受信側におけるそのデータの値が送信側における値と同一にすることができる効果がある。
【０１０７】
また、この発明によれば、送信側で、送信するデータの値が所定の固定長領域ごとに変化したか否かを調べ、その結果をデータとともに送信し、受信側では、値が変化した固定長領域の値だけを更新するようにしたので、受信側におけるメモリアクセス量を低減し、内部バスの使用量を低減することができる効果がある。
【０１０８】
この発明によれば、送信側端末装置において、比較手段から、前回送信したときと値が異なる固定長領域の値だけをパケット生成手段に出力し、パケット生成手段で、比較手段より供給された固定長領域の値および前回送信したデータの値のうちのその他の固定長領域の値を、今回送信するデータの値として、パケットを生成するように構成したので、データ送信時における内部バスの負荷を軽減することができ、データ送信処理を良好に実行することができる効果がある。
【０１０９】
この発明によれば、所定の固定長領域を１ワードの領域としたので、データ受信時におけるデータの転送量を低減することができ、データ受信処理を良好に実行することができる効果がある。
【０１１０】
この発明によれば、比較手段にマイクロプロセッサを備え、今回送信するデータの値および前回送信したデータの値をマイクロプロセッサのレジスタファイルに転送し、マイクロプロセッサの排他的論理和命令または不一致検出命令を実行して、今回送信するデータの値と前回送信したデータの値とを比較するように構成したので、２つのデータの値の比較に要する処理時間を低減することができ、データ送信処理を迅速に実行することができる効果がある。
【０１１１】
この発明によれば、受信側端末装置に、パケットの受信時間間隔を各データについて計測するタイマを有し、タイマにより計測されたパケットの受信時間間隔の値が所定のタイムアウト値より大きい場合、前回受信したときのシーケンス番号に、所定の順番に基づいて設定される番号以外の所定の番号を設定するように構成したので、例えば一時的に伝送路に障害が発生し、通信が不通になった後に復帰した場合、各データについて復帰後において最初に受信した値を反映することができる効果がある。
【０１１２】
この発明によれば、受信側端末装置がＡＴＭネットワークに接続されたとき、すべてのデータに対応する前回受信したときのシーケンス番号に、所定の順番に基づいて設定される番号以外の所定の番号を設定するように構成したので、ネットワークへ参入した後において最初に受信した値を反映することができる効果がある。
【０１１３】
この発明によれば、受信側端末装置の所定の記憶部に記憶されているそのデータの値をリフレッシュする場合、前回受信したときのシーケンス番号に、所定の順番に基づいて設定される番号以外の所定の番号を設定するように構成したので、データの値のリフレッシュが要求された場合にデータの値をリフレッシュすることができる効果がある。
【図面の簡単な説明】
【図１】この発明の実施の形態１によるサイクリックデータ伝送システムの構成を示すブロック図である。
【図２】図１のサイクリックデータ伝送システムにおける制御端末装置の構成を示すブロック図である。
【図３】図２の制御端末装置のホスト演算部に設けられた主メモリの送信サイクリックエリアに記憶されるデータの一例を示す図である。
【図４】図２の制御端末装置のＡＴＭネットワークインタフェースカードに設けられた主メモリの送信制御テーブルに記憶される送信制御情報の一例を示す図である。
【図５】制御端末装置のデータ送信時の動作について説明するフローチャートである。
【図６】制御端末装置から送信されるパケットのフォーマットを示す図である。
【図７】制御端末装置のデータ受信時の動作について説明するフローチャートである。
【図８】この発明の実施の形態２における制御端末装置のデータ送信時の動作について説明するフローチャートである。
【図９】この発明の実施の形態３における制御端末装置のデータ送信時の動作について説明するフローチャートである。
【図１０】この発明の実施の形態３における制御端末装置のデータ受信時の動作について説明するフローチャートである。
【図１１】この発明の実施の形態４における制御端末装置のデータ送信時の動作について説明するフローチャートである。
【図１２】この発明の実施の形態５における制御端末装置のデータ受信時の動作について説明するフローチャートである。
【図１３】送信元である他の端末装置の離脱を監視する処理を説明するフローチャートである。
【図１４】図１２に示すデータ受信時の処理に対応するデータ送信時の処理を説明するフローチャートである。
【図１５】この発明の実施の形態６における制御端末装置がデータの送受信に参入したときの処理について説明するフローチャートである。
【図１６】この発明の実施の形態７における制御端末装置がすべてのデータの値をリフレッシュさせる処理について説明するフローチャートである。
【図１７】従来のサイクリックデータ伝送システムを構成する送信装置を示す構成図である。
【図１８】従来のサイクリックデータ伝送システムを構成する受信装置を示す構成図である。
【符号の説明】
１  ＡＴＭスイッチ装置（ＡＴＭネットワーク）、２  制御端末装置（端末装置、送信側端末装置、受信側端末装置、サイクリックデータ送受信装置）、３  伝送路（ＡＴＭネットワーク）、１２  ＡＴＭネットワークインタフェースカード（ＡＴＭネットワークインタフェース）、３１  受信サイクリックエリア（所定の記憶部、第２の記憶手段）、３２  送信サイクリックエリア（第１の記憶手段）、４１  プロセッサ（比較手段、パケット生成手段、更新手段）、４５  ＡＴＭインタフェース部（送信手段、受信手段）、８１〜８４  第１〜第４のセグメント（固定長領域）。
【図１】
0003540146.tif 000002
【図２】
0003540146.tif 000003
【図３】
0003540146.tif 000004
【図４】
0003540146.tif 000005
【図５】
0003540146.tif 000006
【図６】
0003540146.tif 000007
【図７】
0003540146.tif 000008
【図８】
0003540146.tif 000009
【図９】
0003540146.tif 000010
【図１０】
0003540146.tif 000011
【図１１】
0003540146.tif 000012
【図１２】
0003540146.tif 000013
【図１３】
0003540146.tif 000014
【図１４】
0003540146.tif 000015
【図１５】
0003540146.tif 000016
【図１６】
0003540146.tif 000017
【図１７】
0003540146.tif 000018
【図１８】
0003540146.tif 000019