(57)【特許請求の範囲】
【請求項１】
データ通信装置のシステム立ち上がり時に、送信側において、送信データ数ｎを受信側に送信し、受信側においてこの送信データ数ｎを受信して記憶しておき、
データ通信時に、送信側において、前回送信データに対する今回送信データの変化位置を表す変化位置データと該変化位置における変化データとで構成される変化分データを生成し、この変化分データと今回送信データのうち、データ長の短い方を送信フレームにして受信側に送信し、
受信側において、受信したデータが変化分データであるとき前記送信データ数ｎより変化位置データを取得し、該変化位置データと該変化分データと前回受信データとを参照して今回受信データを復元し、受信したデータが変化分データでないとき受信したデータを今回受信データとして復元することを特徴とする、データ通信方法。
【請求項２】
送信側において、送信フレームが変化分データであるときに該変化分データであることを表す予め決められた制御コードを付加し、受信側において、受信したデータが変化分データかどうかを前記制御コードから識別するようにした、請求項１記載のデータ通信方法。
【請求項３】
前回送信した前回送信データを記憶する前回送信データ記憶部と、データ通信装置のシステム立ち上がり時に、送信データ数ｎを受信側に送信し、且つ、データ通信時に、送信すべき今回送信データと前記前回送信データとを比較して前回送信データに対する今回送信データの変化位置を表す変化位置データと該変化位置における変化データとで構成される変化分データを生成し、この変化分データと今回送信データのうち、データ長の短い方を送信フレームにして受信側に送信する送信部と、
前記送信データ数ｎを記憶する送信データ数ｎ記憶部と、前回受信データを記憶する前回受信データ記憶部と、受信したデータが前記変化分データのとき前記送信データ数ｎより変化位置データを取得し、該変化位置データと該変化分データと前記前回受信データを参照して今回受信データを復元し、受信したデータが変化分データでないとき受信したデータを今回受信データとして復元する受信部と、
を備えてなる、データ通信装置。
【請求項４】
前記送信部は、送信時に送信フレームが変化分データであるときに該変化分データであることを表す予め決められた制御コードを付加し、前記受信部は、受信したデータが変化分データかどうかを前記制御コードから識別する、請求項３記載のデータ通信装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、任意の通信装置間、例えば親局に複数の子局が接続されている場合には、親局と子局間、または子局と子局間においてデータ通信を効率的に行うことのできるデータ通信方法および装置に関する。
【０００２】
【従来の技術】
親局に複数の子局をマルチドロップ接続して、親局と任意の子局間でデータ通信を行う場合など、２つの装置間でデータ通信を行うには、基本的には、送信側から毎回、送信すべきデータをそのまま送信すれば良いが、データ処理に高速性が要求される場合や、接続回線上のトラフィック量が多い場合には、データ通信時間が全体の性能を低下させる原因になることがある。そこで、この問題を解決するために、前回の送信データに対する今回の送信データの変化分のみを抽出して送信する方法がある。これによれば、送信データがそれほど変化していない場合には、変化分のデータ長が短いために、全体としての通信時間が少なくなり、通信効率を上げることができる。
【０００３】
【発明が解決しようとする課題】
しかしながら、変化分のデータを送信する場合、送信すべきデータのうち、どの部分のデータが変化したかを示す情報を付加する必要があるために、送信すべきデータが常時大きく変化している場合には、全体の送信データ長が却って大きくなり、通信効率を悪化させてしまう問題があった。
【０００４】
本発明の目的は、全送信データを送る場合と変化分のデータを送る場合とでどちらが送信フレームが短いかを監視し、少ない方を送信することにより、全体の通信効率を向上させることのできるデータ通信方法および装置を提供することにある。
【０００５】
【課題を解決するための手段】
本出願の請求項１に係る発明は、データ通信装置のシステム立ち上がり時に、送信側において、送信データ数ｎを受信側に送信し、受信側においてこの送信データ数ｎを受信して記憶しておき、
続いて、送信側において、前回送信データに対する今回送信データの変化位置を表す変化位置データと該変化位置における変化データとで構成される変化分データを生成し、この変化分データと今回送信データのうち、データ長の短い方を送信フレームにして受信側に送信し、
受信側において、受信したデータが変化分データであるとき前記送信データ数ｎより変化位置データを取得し、該変化位置データと該変化分データと前回受信データとを参照して今回受信データを復元し、受信したデータが変化分データでないとき受信したデータを今回受信データとして復元することを特徴とする。
【０００６】
また、送信側において、送信フレームが変化分データであるときに該変化分データであることを表す予め決められた制御コードを付加し、受信側において、受信したデータが変化分データかどうかを前記制御コードから識別するようにしたことを特徴とする。
【０００７】
請求項１に係るデータ通信方法では、今回の全送信データ（今回送信データ）長と変化分データ長とを比較し、データ長の短い方を送信フレームにして相手局に送信するから、データの変化がゆるやかな場合には、変化分データが送信され、データの変化が大きい場合には今回送信データがそのまま送信されるようになる。これにより、データ通信時間がボトルネックとなっていたデータ処理の効率を大幅に改善することができる。
【０００８】
また、変化分データがデータの変化位置を表す変化位置データと、該変化位置における変化データとで構成されるようにしているから、変化分データのフレーム長は最短でよい。
【０００９】
また、送信データが変化分データか今回送信データかを識別するのに制御コードを付加しているために、受信側においてはこのデータの識別が簡単になる利点がある。
【００１０】
図１は、本発明に係るデータ通信装置の構成図を示している。
【００１１】
各データ通信装置は、送信装置と受信装置とを備えており、図１においては、中央より上側を送信装置、下側を受信装置としている。送信装置は、データ生成部１０、今回送信データ記憶部１１、前回送信データ記憶部１２、前回送信データに対する今回送信データとの変化分を表す変化分データを生成する変化分データ生成部１３、変化分データ長と今回送信データ長とを比較する比較部１４、変化分データに対して制御コードを付加する制御コード生成部１５、比較部１４の比較の結果に基づいて全体のデータ長の短い方（送信フレーム長が短くなる方）を選択する選択部１６、選択された送信データ、すなわち変化分データと今回送信データのいずれかを送信する送信部１７とで構成される。
【００１２】
また、受信装置は、受信部２０、受信部２０で受信した受信フレームに制御コードが含まれているかどうかをチェックする制御コードチェック部２１、制御コードが含まれていない場合には、受信したデータを今回受信データとして記憶する今回受信データ記憶部２２、今回受信データを次のデータ受信時までに前回受信データとして記憶する前回受信データ記憶部２３、受信フレームに制御コードが含まれている場合に、受信したデータを変化分データとして、これに基づいて前回受信データを編集し、今回受信データとして今回受信データ記憶部２２に記憶させるデータ編集部２５、今回受信データに基づいてデータ処理を行うデータ処理部２４とで構成されている。
【００１３】
送信装置においては、データ生成部１０で生成された送信データは今回送信データ記憶部１１に記憶され、該データは次のサイクルで新たなデータが生成されるときに、前回送信データとして前回送信データ記憶部１２に転送される。変化分データ生成部１３は、前回送信データと今回送信データの差を表す変化分データを生成する部分であり、図１に示す例では、変化位置データと変化データとで構成される。なお、変化位置データは、前回送信データに対する今回送信データの変化位置を表すデータであり、変化データは該変化位置における前回送信データに置き換えられるデータである。送信部１７は、今回送信データが選択部１６で選択されたときは今回送信データにヘッダとエンドコードを付加し、変化分データが選択されたときは変化分データにヘッダとエンドコードを付加して送信する。図２（Ａ）は今回送信データを示し、図２（Ｂ）は変化分データを示している。図２（Ｂ）に示すように、変化分データには制御コードが付加される。
【００１４】
図２（Ｂ）に示す変化分データの長さは、図２（Ａ）に示す今回送信データの長さに比べ短いが、変化データが多い場合は図２（Ｃ）に示すように今回送信データの長さよりも長くなる場合がある。
【００１５】
比較部１４は、変化分データ長と今回送信データ長とを比較し、データの長さの短い方を選択するための選択信号を選択部１６に対して出す。従って、変化分データが図２（Ｂ）に示す場合には、送信部１７には同図２（Ｂ）に示すデータが送られ、変化分データが図２（Ｃ）に示す場合は、送信部１７には図２（Ａ）に示すデータが送られる。
【００１６】
一方、受信装置においては、受信部２０で受信したデータに制御コードが付加されているかどうかを制御コードチェック部２１でチェックし、制御コードが付加されている場合にはその受信したデータが変化分データであるとみなし、該変化分データをデータ編集部２５に出力する。データ編集部２５では、受け取った変化分データを前回受信データと対比することにより、変化分データを前回受信データに反映させて今回の受信データを復元する。復元したデータは今回受信データ記憶部２２に記憶される。受信データに制御コードが付加されていない場合には、その受信データがそのまま今回受信データであるから、該データを今回受信データ記憶部２２に記憶する。データ処理部２４では、今回受信データに基づいて必要なデータ処理を行う。
【００１７】
このように、送信毎にデータ長の短い方を選択して送信するために、全体の通信効率が向上することになる。例えば、データの変化がゆるやかな場合には変化分データは図２（Ｂ）に示すようにごく短くなるため、該データが送信フレームにされて送信され、データの変化が大きい場合には変化分データが図２（Ｃ）に示すように長くなるため、図２（Ａ）に示すデータが送信フレームにされて送信される。なお、データ通信システムが、マルチドロップ接続方式の場合、すなわち、親局と複数の子局がマルチドロップ接続されているデータ通信システムでは、相手側のＩＤがヘッダに付加される。
【００１８】
【発明の実施の形態】
図３は、親局と複数の子局が通信線によってマルチドロップ接続されるデータ通信システムの構成図を示している。このデータ通信装置では、１つの親局３０とＳ１〜Ｓｎの複数の子局４０とを通信線４１でマルチドロップ接続し、親局と１つの子局間でデータ通信を行うことができる。親局３０は、ＣＰＵ３１、ＲＯＭ３２、ＲＡＭ３３、入出力インターフェイス３４、通信線４１に接続されるシリアルインターフェイス３５を備えている。各子局４０も同様な構成である。各局は、図１に示す機能を持ち、例えば、図１に示す各記憶部はＲＡＭ３３に割り当てられており、その他の機能はＲＯＭ３３に記憶されたプログラムより実行される。
【００１９】
このデータ通信装置では、システムの立ち上がり時に、親局３０から特定のコマンドにより各子局４０のイニシャライズを行う。すなわち、各子局４０に対して１回の送信フレームで送信する送信データの個数ｎを通知する。各子局４０はこの通知を受けると、１回の送信フレームで送信されてくる送信データの個数ｎを知ることができ、以後、変化分データが送られてきた時にこれを参照することにより、データ編集を行う。また、この実施形態では、個々の送信データがＡＳＣＩＩコードで表現され、個々の送信データは２バイトで構成される。そして、ヘッダには送信先のＩＤが配置され、エンドコードには１バイトの終結コードとチェックコードであるＢＣＣが配置される。図４は、このようにして編集される全送信データの送信フレームフォーマットを示す。送信データはＤ１、Ｄｎの合計ｎ個の各２バイトのデータからなっている。図５は、前回の全送信データに対する変化分データのフレームフォーマットを示している。すなわち、データ本体部は、１バイトの制御コードと変化位置データと変化データとで構成されている。１バイトの制御コードは、図１で示したように送信データが今回送信データなのか変化分データであるのかを識別するためのデータである。また、変化位置データは、前回送信データに対する今回送信データの変化位置を表すデータであり、変化データは該変化位置において置き換えられるべきデータである。
【００２０】
図６に上記変化位置データを生成する説明のためのテーブルを示す。送信データがＤ１〜Ｄｎとして、前回送信データに対して今回送信データが図６に示すようにＤ１とＤｎについてのみ変化があったとすると、Ｄ１とＤｎのところにフラグを立てる。今、ｎ＝８とすると、フラグの状態は１００００００１となる。上述のように、各データは２バイトのＡＳＣＩＩコードで表現することにしているから、このフラグ１００００００１は、１０００と０００１の２つに区分して、それぞれＡＳＣＩＩコードで表現される。すなわち、フラグ１０００はＡＳＣＩＩコード３８として、０００１はＡＳＣＩＩコード３１として表現される。この結果、この例では、変化位置データは３８３１で表される。
【００２１】
変化データは次のようになる。
【００２２】
ｎ＝８（８バイト）、前回送信データが１２３４５６７８とすると、前回の全送信データフレームのフォーマットは、図７に示すようになる。最初の１バイトは、送信先ＩＤ、次以降の２×８バイトは前回の全送信データ（前回送信データ）、さらにこの後方に続く０３は終結コード、６０はＢＣＣを示している。
【００２３】
図７に示す例では、各データ１〜８がＡＳＣＩＩコードで、３０３１、３０３２、３０３３．．．．となる。
【００２４】
次に、今回の送信データが図６に示すようにフラグの１ビット目と８ビット目とが異なっていて、送信データが９２３４５６７０とすると、変化位置データは、上述の説明よりＡＳＣＩＩコードで３８３１となり、変化データは、フラグの１ビット目と８ビット目に対応する位置で置き換えられるデータである３０３９と３０３０となる。その結果、送信データフレームは図８に示すようになる。図８に示す送信データフレームのフレーム長は合計１０バイトであるために、図７に示す送信データフレーム長（１９バイト）に対して約半分の長さとなっている。
【００２５】
従って、前回のデータに対して今回のデータが２個程度しか変化していない場合には、図８に示す送信データフレームが送信される。これに対して、８個のデータが全て変化した場合には、図８に示す送信データフレーム長は合計２２バイトとなるから、図７に示すフレーム長に比べて３バイト長くなる。従って、この場合には図８に示す変化分データではなく、図７に示す全送信データフレームがそのまま送信されるようになる。
【００２６】
次に、送信局および受信局の具体的な動作について説明する。
【００２７】
システムの立ち上がり時において、親局３０は各子局４０に対して初期化処理のためのコマンドを送信する。このコマンドには、送信データ数ｎが含まれている。各子局４０は、この送信データ数ｎを受信すると、所定のメモリエリアに記憶する。
【００２８】
図９は、上記の初期化処理の後に、親局３０または子局４０から相手局に対してデータを送信する時の送信局の送信処理フローチャートである。まず、Ｓ１０１において、送信データ長Ｃを取得する。Ｃ＝２×ｎであり、ｎ＝８とするとＣ＝１６である。次に、Ｓ１０２において前回送信データと今回送信データとを比較し、変化分データを作成する。変化分データは、変化位置データと該変化位置における変化データからなる。次にＳ１０３において、上記変化位置データ長Ａを計算する。なお、図６〜図８に示す例では、送信データ数ｎ＝８の例を示したが、送信データ数ｎ＝１６まで送信することができるから、ｎ＝１６の場合は、図６のフラグは２バイトとなるから、変化位置データ長は４バイトとなる。すなわち、ｎ＞８かつｎ＝＜１６の場合には変化位置データ長は４バイトとなる。変化位置データ長Ａは（ｎ  １）／８の整数＋１の２倍である。
【００２９】
続いて、Ｓ１０４において変化データ長Ｂの計算を行う。これは、図７および図８を参照して説明した手順によって行う。次に、Ｓ１０５においてＡ＋Ｂの値とＣとの対比を行う。Ｃはこの例では１６であるから、Ａ＋Ｂが１６よりも小さければＳ１０６に進んで変化分データフレームを作成する。すなわち、送信先ＩＤ、１バイトの制御コード、終結コードおよびＢＣＣを、Ａ＋Ｂの変化分データに付加したフレームを作成する。Ａ＋ＢがＣ以上の時には、Ｓ１０７に進んで、全送信データのフレームを作成し、今回送信データとする。さらに、Ｓ１０８に進んで、送信局のメモリに記憶されている今回送信データを前回送信データに更新し、Ｓ１０９で送信処理を行う。
【００３０】
次に、受信局の受信処理について図１０を参照して説明する。図１０は受信局の受信処理フローチャートを示している。
【００３１】
自分宛の送信データフレームを受信すると（Ｓ２０１）、Ｓ２０２において、送信先ＩＤ直後のデータを受信データとして取得する。次に、取得した受信データの先頭に１バイトの制御コード（１０）があるかどうかの判断を行う。もしなければＳ２０４に進んで、取得した受信データの全てを今回受信データとして受信局のメモリ内に割り当てられている今回受信データ記憶エリアに記憶する。また、Ｓ２０７において、上記今回受信データを、メモリに割り当てられている前回受信データ記憶エリアに記憶することにより、前回受信データの更新を行う。上記２０３において、制御コードが存在する場合には、Ｓ２０５、Ｓ２０６の処理を行う。すなわち、Ｓ２０５においては、送信データ数ｎより変化位置データを取得し（ｎ＝８の場合には変化位置データは制御コードの直後の２バイトである。）、Ｓ２０６において、その後方に続く終結コードまでの変化データを取得する。Ｓ２０５で取得したデータから、前回受信データ記憶エリアに記憶されているデータの変化位置が分かるから、前回受信データにおける該変化位置のデータを該変化データに置き換えることにより前回受信データを修正し、今回受信データとして今回受信データ記憶エリアに記憶する（２０４）。
【００３２】
以上の動作により、図４に示す全送信データ（今回送信データ）と図５に示す変化分データのうち、フレーム長の短い（データ長の短い）方が常に選択されて送信されるようになるから、データの変化がゆるやかな時であっても大きく変化する時であっても常に通信データ量を少ない方にすることができる。
【００３３】
なお、本発明は、上記実施形態で示したようなマルチドロップ接続方式の通信方式に適用されるだけではなく、その他の有線、無線式の一般のデータ通信方法にも適用することができる。また、変化分データは変化位置データと変化データとで構成しているが、これ以外のデータで構成することも可能である。
【００３４】
【発明の効果】
本発明によれば、データの変化がゆるやかな場合にも大きく変化する場合にも、常時送信データのフレーム長を短くできるために、データ通信効率を改善することができる。
【図面の簡単な説明】
【図１】この発明に係るデータ通信装置の構成図
【図２】データフレームのフォーマットを示す図
【図３】この発明の実施形態であるマルチドロップ接続方式データ通信システムの構成図
【図４】全送信データのフレームフォーマットを示す図
【図５】変化分データのフレームフォーマットを示す図
【図６】変化位置データテーブルを示す図
【図７】前回送信データフレーム例を示す図
【図８】変化分データフレーム例を示す図
【図９】送信局の送信処理フローチャート
【図１０】受信局の受信処理フローチャート
【図１】
0003992340.tif 000002
【図２】
0003992340.tif 000003
【図３】
0003992340.tif 000004
【図４】
0003992340.tif 000005
【図５】
0003992340.tif 000006
【図６】
0003992340.tif 000007
【図７】
0003992340.tif 000008
【図８】
0003992340.tif 000009
【図９】
0003992340.tif 000010
【図１０】
0003992340.tif 000011