(57)【要約】【課題】機器間の安定したデータ通信を実現することを目的とする。【解決手段】各バッファ４，５継続動作可能時間から優先的に転送を行うべきバッファ４，５を調べ、そのバッファ４，５の通信を優先的に行うことにより、機器３間の安定したデータ通信を実現することができる。【選択図】図２
2017072869.tif 000002
【特許請求の範囲】
【請求項１】
複数の機器間のデータの送受信を中継し、２以上の前記機器と接続される通信ターミナルであって、
一方の機器から他方の機器に送信する前記データを格納する１または複数の第１のバッファと、
前記一方の機器が前記他方の機器から受信する前記データを格納する１または複数の第２のバッファと、
前記バッファに格納される前記データの送受信を制御する制御装置と、
演算装置と
を有し、
前記制御装置は、前記第１のバッファに格納される前記データが減少する速度であるデータ消費速度を算出し、前記データ消費速度からそれぞれの前記第１のバッファに格納される前記データがなくなるまでの時間である第１のバッファの継続動作可能時間を算出し、前記第２のバッファ空き容量が減少する速度であるバッファ領域消費速度を算出し、前記バッファ領域消費速度からそれぞれの前記第２のバッファの空き容量がなくなるまでの時間である第２のバッファの継続動作可能時間を算出し、
前記演算装置は、それぞれの前記第１のバッファの継続動作可能時間およびそれぞれの前記第２のバッファの継続動作可能時間からそれぞれの前記第１のバッファおよび前記第２のバッファに割り当てる転送時間を決定して前記一方の機器に送信し、
前記一方の機器は、受信した前記転送時間に応じて前記第１のバッファおよび前記第２のバッファと前記データの送受信を行う
ことを特徴とする通信ターミナル。
【請求項２】
コントローラを備え、前記コントローラと１または複数の機器との間のデータの送受信を中継し、２以上の前記機器と接続される通信ターミナルであって、
一方の機器から他方の機器に送信する前記データを格納する１または複数の第１のバッファと、
前記一方の機器が他方の機器から受信する前記データを格納する１または複数の第２のバッファと、
前記バッファに格納される前記データの送受信を制御する制御装置と、
前記コントローラに搭載される演算装置と
を有し、
前記制御装置は、前記第１のバッファに格納される前記データが減少する速度であるデータ消費速度を算出し、前記データ消費速度からそれぞれの前記第１のバッファに格納される前記データがなくなるまでの時間である第１のバッファの継続動作可能時間を算出し、前記第２のバッファ空き容量が減少する速度であるバッファ領域消費速度を算出し、前記バッファ領域消費速度からそれぞれの前記第２のバッファの空き容量がなくなるまでの時間である第２のバッファの継続動作可能時間を算出し、
前記演算装置は、それぞれの前記第１のバッファの継続動作可能時間およびそれぞれの前記第２のバッファの継続動作可能時間からそれぞれの前記第１のバッファおよび前記第２のバッファに割り当てる転送時間を決定して前記一方の機器に送信し、
前記コントローラは、割り当てられた前記転送時間に応じて、前記一方の機器と前記通信ターミナルとの通信を行わせることを特徴とする通信ターミナル。
【請求項３】
前記制御装置がＣＰＵを備え、
プログラムが格納されて前記ＣＰＵが読取可能な記録媒体
をさらに有し、前記制御装置の動作が前記プログラムにより制御されることを特徴とする請求項１または請求項２に記載の通信ターミナル。
【請求項４】
前記制御装置は、前記通信ターミナルの動作に用いる内部クロックをカウントすることにより時間の測定を行うことを特徴とする請求項１〜請求項３のいずれか１項に記載の通信ターミナル。
【請求項５】
一方の機器から他方の機器に送信するデータを格納する１または複数の第１のバッファと前記一方の機器が前記他方の機器から受信する前記データを格納する１または複数の第２のバッファとを備える通信ターミナルを介して、接続される複数の機器間で行われる前記データの送受信の際の通信リソース配分最適化方法であって、
前記第１のバッファに格納される前記データが減少する速度であるデータ消費速度を算出する工程と、
前記データ消費速度からそれぞれの前記第１のバッファに格納される前記データがなくなるまでの時間である第１のバッファの継続動作可能時間を算出する工程と、
前記第２のバッファ空き容量が減少する速度であるバッファ領域消費速度を算出する工程と、
前記バッファ領域消費速度からそれぞれの前記第２のバッファの空き容量がなくなるまでの時間である第２のバッファの継続動作可能時間を算出する工程と、
それぞれの前記第１のバッファの継続動作可能時間およびそれぞれの前記第２のバッファの継続動作可能時間からそれぞれの前記第１のバッファおよび前記第２のバッファに割り当てる転送時間を決定して前記一方の機器に送信する工程と
を有し、割り当てられた前記転送時間に応じて、前記一方の機器が前記通信ターミナルとの通信を行うことを特徴とする通信リソース配分最適化方法。
【請求項６】
前記通信ターミナルの動作に用いる内部クロックをカウントすることにより時間の測定を行うことを特徴とする請求項５記載の通信リソース配分最適化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機器間のデータ通信に用いる通信ターミナルおよび通信リソース配分最適化方法に関する。
【背景技術】
【０００２】
様々な機器においては、互いに各種のデータが通信により送受信される。例えば、一方の機器にて取得したデータを他方の機器に転送したり、一方の機器に対する指示，命令が他方の機器から転送されたりする。機器間のデータ通信においては、所定の通信プロトコルでデータを転送し、データ転送を制御する通信ターミナルが用いられる。以下、従来の通信ターミナルを用いた機器間のデータ通信について、機器の１つがＰＣである場合を例に説明する。
【０００３】
ＰＣと機器との間で通信ターミナルを介してアナログデータの通信を行うとする。データ通信は、機器からＰＣへのアナログデータの入力と、ＰＣから機器へのアナログデータの出力があるとする。通信ターミナルは、ＰＣへのアナログデータ入力用のＡＩバッファと、ＰＣからのアナログデータ出力用のＡＯバッファとを備える。アナログデータ入力用のＡＩバッファは、機器からＰＣに送信されるデータを一時的に格納する。アナログデータ出力用のＡＯバッファは、ＰＣから機器に送信されるデータを一時的に格納する。ＰＣは通信ターミナルに、機器へのデータの送信をする命令、あるいは機器からのデータの受信をする命令を送信する。ＰＣからデータ送受信の命令を受けた通信ターミナルは、命令に則してデータの送受信を行うが、ＰＣと通信ターミナル間、機器と通信ターミナル間の通信速度が異なるため、一端、ＡＩバッファまたはＡＯバッファにデータを格納していき、命令を受けた順にＡＩバッファまたはＡＯバッファに格納されたデータの送受信を行う。なお、ＡＯバッファから他方の機器へのデータの送信および他方の機器からＡＩバッファへのデータの受信は、一定時間間隔で一定量行われる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−３３３１０８号公報
【特許文献２】特開２０１２−６３８１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の通信ターミナルでは、機器へのデータの送信をする命令が連続して続いた場合、対応するバッファの残データがなくなる場合があった。あるいは機器からデータを受信する命令が連続して続いた場合、対応するバッファの空き領域がなくなる場合があった。そして、送信の場合は、残データがなくなるとデータを出力できなくなる。また、受信の場合は、バッファの空き領域がなくなると、それ以上バッファにデータを格納することができなくなる。そのため、通信ターミナルは動作を停止し、ＰＣからの命令が実行できず、データの送受信ができないという問題点があった。
【０００６】
本発明は、機器間の安定したデータ通信を実現することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の通信ターミナルは、複数の機器間のデータの送受信を中継し、２以上の前記機器と接続される通信ターミナルであって、一方の機器から他方の機器に送信する前記データを格納する１または複数の第１のバッファと、前記一方の機器が前記他方の機器から受信する前記データを格納する１または複数の第２のバッファと、前記バッファに格納される前記データの送受信を制御する制御装置と、演算装置とを有し、前記制御装置は、前記第１のバッファに格納される前記データが減少する速度であるデータ消費速度を算出し、前記データ消費速度からそれぞれの前記第１のバッファに格納される前記データがなくなるまでの時間である第１のバッファの継続動作可能時間を算出し、前記第２のバッファ空き容量が減少する速度であるバッファ領域消費速度を算出し、前記バッファ領域消費速度からそれぞれの前記第２のバッファの空き容量がなくなるまでの時間である第２のバッファの継続動作可能時間を算出し、前記演算装置は、それぞれの前記第１のバッファの継続動作可能時間およびそれぞれの前記第２のバッファの継続動作可能時間からそれぞれの前記第１のバッファおよび前記第２のバッファに割り当てる転送時間を決定して前記一方の機器に送信し、前記一方の機器は、受信した前記転送時間に応じて前記第１のバッファおよび前記第２のバッファと前記データの送受信を行うことを特徴とする。
【０００８】
また、コントローラを備え、前記コントローラと１または複数の機器との間のデータの送受信を中継し、２以上の前記機器と接続される通信ターミナルであって、一方の機器から他方の機器に送信する前記データを格納する１または複数の第１のバッファと、前記一方の機器が他方の機器から受信する前記データを格納する１または複数の第２のバッファと、前記バッファに格納される前記データの送受信を制御する制御装置と、前記コントローラに搭載される演算装置とを有し、前記制御装置は、前記第１のバッファに格納される前記データが減少する速度であるデータ消費速度を算出し、前記データ消費速度からそれぞれの前記第１のバッファに格納される前記データがなくなるまでの時間である第１のバッファの継続動作可能時間を算出し、前記第２のバッファ空き容量が減少する速度であるバッファ領域消費速度を算出し、前記バッファ領域消費速度からそれぞれの前記第２のバッファの空き容量がなくなるまでの時間である第２のバッファの継続動作可能時間を算出し、前記演算装置は、それぞれの前記第１のバッファの継続動作可能時間およびそれぞれの前記第２のバッファの継続動作可能時間からそれぞれの前記第１のバッファおよび前記第２のバッファに割り当てる転送時間を決定して前記一方の機器に送信し、前記コントローラは、割り当てられた前記転送時間に応じて、前記一方の機器が前記通信ターミナルとの通信を行うことを特徴とする。
【０００９】
また、本発明の通信リソース配分最適化方法は、一方の機器から他方の機器に送信するデータを格納する１または複数の第１のバッファと前記一方の機器が前記他方の機器から受信する前記データを格納する１または複数の第２のバッファとを備える通信ターミナルを介して、接続される複数の機器間で行われる前記データの送受信の際の通信リソース配分最適化方法であって、前記第１のバッファに格納される前記データが減少する速度であるデータ消費速度を算出する工程と、前記データ消費速度からそれぞれの前記第１のバッファに格納される前記データがなくなるまでの時間である第１のバッファの継続動作可能時間を算出する工程と、前記第２のバッファ空き容量が減少する速度であるバッファ領域消費速度を算出する工程と、前記バッファ領域消費速度からそれぞれの前記第２のバッファの空き容量がなくなるまでの時間である第２のバッファの継続動作可能時間を算出する工程と、それぞれの前記第１のバッファの継続動作可能時間およびそれぞれの前記第２のバッファの継続動作可能時間からそれぞれの前記第１のバッファおよび前記第２のバッファに割り当てる転送時間を決定して前記一方の機器に送信する工程とを有し、割り当てられた前記転送時間に応じて、前記一方の機器が前記通信ターミナルとの通信を行うことを特徴とする。
【発明の効果】
【００１０】
以上のように、各バッファがフル、もしくは、エンプティになるまでの時間を算出し、一方の機器から各バッファに対して、転送されるデータ量を調整することにより機器間の安定したデータ通信を実現することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の通信ターミナルを用いて機器間でデータ通信を行う構成例を説明する図
【図２】本発明の通信ターミナルの構成を例示する概略図
【図３】本発明の通信リソース配分最適化方法を説明するフローを示す図
【図４】本発明の通信ターミナルを用いて機器間でデータ通信を行う際のバッファにおけるデータの動きを例示する図
【発明を実施するための形態】
【００１２】
様々な機器においては、互いに各種のデータが通信により送受信される。特に、一方の機器が１または複数の他方の機器と接続され、一方の機器が他方の機器の動作を制御するとともに、通信も一方の機器の制御により行われる。例えば、他方の機器の例であるセンサや測定器等で取得したデータを一方の機器の例であるＰＣや解析装置等のコントローラに転送したり、一方の機器であるＰＣ等のコントローラから他方の機器への指示，命令が転送されたりする。機器間のデータ通信においては、所定の通信プロトコルでデータを送受信し、データの送受信を制御する通信ターミナルが用いられる。以下、本発明の通信ターミナルを用いた機器間のデータ通信につい図１〜図４を用いて説明する。ここでは、一方の機器としてＰＣを用い、ＰＣから通信ターミナルに対して他方の機器である各機器に指示，命令，データを送信し、各機器から送信されたデータを通信ターミナルを介してＰＣに送信する構成を例に説明するが、２以上の機器間のデータ通信に適応することができる。また、機器は、ＰＣ，解析装置，センサ，測定器等に限らず、その他の様々な機器を用いることができ、一方の機器は他方の機器の制御を行うことができるコントローラ等であれば良い。
【００１３】
図１は本発明の通信ターミナルを用いて機器間でデータ通信を行う構成例を説明する図、図２は本発明の通信ターミナルの構成を例示する概略図、図３は本発明の通信リソース配分最適化方法を説明するフローを示す図、図４は本発明の通信ターミナルを用いて機器間でデータ通信を行う際のバッファにおけるデータの動きを例示する図である。
【００１４】
図１，図２に示すように、ＰＣ２と機器３との間で通信ターミナル１を介してデータ通信を行う。ここでは、データ通信は、アナログデータを機器３からＰＣ２へ入力する通信と、ＰＣ２から機器３へアナログデータを出力する通信があるとする。なお、データ通信は、アナログデータの送受信に限らずデジタルデータその他のデータの送受信を用いることができる。通信ターミナル１とＰＣ２とは、通信可能に任意に接続され、例えば、ＵＳＢ等のプロトコルに対応する通信ケーブルを介して接続される。通信ターミナル１と機器３とは、通信ケーブルで接続されても良く、機器３の端子に直接接続されても良い。また、ＰＣ２は、通信ターミナル１の動作を制御するドライバ１９およびアプリケーション２０、さらには転送されるデータを保持する１または複数のバッファ２１等を備える。
【００１５】
本発明の通信ターミナル１は、転送されるデータを格納するバッファを備える。バッファは、ＰＣ２から機器３に送信するデータを格納するバッファと、ＰＣ２が機器３から受信するデータを格納するバッファとの少なくとも２つのバッファを備え、図１，図２では、アナログデータ出力用のバッファ４とアナログデータ入力用のバッファ５との２つのバッファを備える場合を例示している。通信ターミナル１は他に、コントロールユニット１７を備え、コントロールユニット１７は制御装置や、演算装置１８、記憶媒体７、機能ロジック等を備える。制御装置は通信ターミナル１の動作を制御し、図２の例ではＣＰＵ６である。記憶媒体７は通信ターミナル１の動作プログラムを記憶し、ＣＰＵ６が読取可能なＲＡＭ，ＲＯＭ等の記憶媒体である。また、バッファ４，５および記憶媒体７は、１または複数の記憶装置の一部の領域を設定して設けても良い。機能ロジックとしては、図２に示すように、例えばＦＰＧＡ８が用いられ、制御装置の指示によりバッファ４，５が行うデータの送信を制御する。また、機能ロジックは制御装置に内蔵されても良く、その場合制御装置は、ＣＰＵ６等の制御手段と機能ロジックを備える構成となる。制御装置は、後述のようにバッファ４，５の残量から継続動作可能残時間を算出する。演算装置１８は、後述のように継続動作可能残時間から転送可能データ数算出し、ＰＣ２とバッファ４，５との間のデータ転送を行う際の転送時間の割り当てを決定する。ＰＣ２は、割り当てられた転送時間に応じて通信ターミナル１に送受信を行わせる。ＰＣ２とバッファ４，５との間のデータ転送は、順番に割り当てられた転送時間だけ転送を行う。なお、演算装置１８は、コントロールユニット１７外の通信ターミナル１内に設けられても良く、また、ＰＣ２に設けられても良い（図１の構成例）。通信ターミナル１は通信ケーブル９を備え、通信ケーブル９の一端に設けられた端子１０を介してＣＰＵ６に接続される。通信ケーブル９は、ＵＳＢ等様々な通信プロトコルに対応したものを用いることができる。さらに、通信ターミナル１は端子１６を備え、機器３と直接接続される。端子１６に代わり、通信ケーブルを用いることもできる。
【００１６】
次に、このような構成の通信ターミナル１を介したＰＣ２と機器３との間でのデータ通信における通信リソース配分最適化方法を図１〜図３を用いて説明する。
まず、通信ターミナル１のバッファ４から機器３へは、一定時間間隔で一定量のデータが随時送信されている。同様に、機器３から通信ターミナル１のバッファ５へは、一定時間間隔で一定量のデータが随時送信されている。
【００１７】
ＰＣ２から機器３に命令やパラメータ等のアナログデータを送信する場合は、まず、通信ターミナル１は、通信ケーブル９を介してＰＣ２から出力されるアナログデータを受信する。受信したアナログデータは、通信ターミナル１のアナログデータ出力用のバッファ４に一旦格納される。格納されたアナログデータは、一定時間間隔で一定量ずつ順次機器３に送信される。アナログデータはＰＣ２の要求に従いＰＣ２から連続的に出力される場合があり、バッファ４から機器３に送信されるデータ量よりＰＣ２からバッファ４に出力されるデータ量の方が多い場合、アナログデータ出力用のバッファ４に複数のアナログデータが蓄積される。機器３から送信された測定結果や検出結果等のアナログデータをＰＣ２が受信する場合は、機器３から一定時間間隔で一定量ずつ送信されたアナログデータは、通信ターミナル１のアナログデータ入力用のバッファ５に一旦格納される。格納されたアナログデータはＰＣ２の要求に従いＰＣ２に送信される。
【００１８】
ここで、通信ケーブル９がＵＳＢのようにシリアル転送する１本の通信ケーブルの場合、機器３からＰＣ２へのデータの送信が続くと、アナログデータ入力用のバッファ５からＰＣ２へデータを出力する量より、アナログデータ入力用のバッファ５に蓄積されるデータ量の方が多くなり、結果的にバッファ５の空き容量がなくなる場合がある。逆に、ＰＣ２から通信ターミナル１へのデータ転送速度より通信ターミナル１から機器３へのデータ転送速度が速い場合は、機器３へデータを出力する量より、アナログデータ出力用のバッファ４に蓄積されるデータ量の方が少なくなることがあり、結果的にバッファ４に機器３に送信するデータがなくなる場合がある。このようにバッファ４，５の空き容量より多くのデータをバッファ４，５に格納しようとした場合、データを格納できないため、通信ターミナル１が停止してしまう。また、通信ケーブル９がＵＳＢのようにシリアル転送する１本の通信ケーブルでない場合であっても、ＰＣ２の制御によるＰＣ２と通信ターミナル１との間の転送状況と、バッファ４，５と機器３との間の転送状況によっては、バッファ４が空になったり、バッファ５がいっぱいになったりする。このように、特に、バッファ４から一定時間間隔で一定量ずつデータが機器３に送信される構成であるため、バッファ４が空になった場合には機器３に送信するデータがなく通信ターミナル１が停止してしまう。逆に、機器３からバッファ５に一定時間間隔で一定量ずつデータが送信される構成であるため、バッファ５の空き容量がなくなった場合には機器３からバッファ５にデータを送信することができなくなり通信ターミナル１が停止してしまう。
【００１９】
そのため、本発明の通信ターミナル１はバッファ４，５に対して、ＰＣ２からのデータの送信の場合はデータ消費速度を求め、ＰＣ２がデータを受信する場合はバッファ領域消費速度を求める。さらに、送信の場合はバッファ４の残データがなくなるまでの時間である継続動作可能時間を算出し、受信の場合はバッファ５の空き容量がなくなるまでの継続動作可能時間を算出する。そして、これら２つの継続動作可能時間の内、最短の時間に合わせてそれぞれのバッファに対して行うべき送受信データ量を算出し、順次算出した送受信データ量での送受信を行うことを特徴とする。これにより、バッファ４の残データまたはバッファ５の空き容量の内の時間的余裕のないバッファに合わせてデータ転送量を調整することで、すべてのバッファにおいて、残データまたは空き容量がなくなることを抑制できるため、機器間の安定したデータ通信を実現することができる。
【００２０】
例えば、まず、ＣＰＵ６はバッファ４のバッファ空きデータ数、およびバッファ５の残データ数を検出する（図３のステップ１）。これらの情報は、例えばＦＰＧＡ８から取得することができる。
【００２１】
次に、ＣＰＵ６は、バッファ４内のデータを送信することによりバッファ４に残るデータ量が低減する速度であるデータ消費速度を算出し、バッファ５内にデータを受信することによりバッファ５空き容量が低減する速度であるバッファ領域消費速度を算出する（図３のステップ２）。データ消費速度は一定時間にバッファ４から送信されるデータ量からバッファ４が受信するデータ量を差し引いたデータ量をこの一定時間で除して求める。バッファ領域消費速度は、一定時間にバッファ５が受信するデータ量からバッファ５から送信されるデータ量を差し引いたデータ量をこの一定時間で除して求める。一定時間の計測は、通信ターミナル１が動作する内部クロックまたは通信ターミナル１に入力される外部クロックをカウントすることにより計測しても良いし、実際に時間を計測しても良い。この一定時間の計測に際し、機器３とのデータの送受信である端子１６からの入出力（送受信）のタイミングを通信ターミナル１内の内部クロックに依存している場合は、この内部クロックを基準として一定時間を計測する。外部の信号である外部クロックにより一定時間を計測する場合は、この外部クロックを基準として一定時間を計測する。実際に時間を計測する場合は、ＣＰＵ６は所定の基準時間、例えば測定の開始時間からの経過時間を測定する。
【００２２】
次に、通信ターミナル１は、ＣＰＵ６でバッファ４のバッファ空きデータ数とバッファ４のデータ消費速度から、バッファ４内に格納されているデータが無くなるまでの継続動作可能時間を算出し、バッファ５の残データ数とバッファ領域消費速度からバッファ５内にデータを格納できる空き容量が無くなるまでの継続動作可能時間を算出する（図３のステップ３）。
【００２３】
次に、演算装置１８は、継続動作可能時間が短いバッファに対して、優先的に振り当てられるＰＣ２との送受信を行う時間の振当量を決定する。例えば、対象バッファが３以上ある場合、動作可能残時間である継続動作可能時間が１番目と２番目に短いバッファを選定する。１番目の動作可能残時間を残りのバッファの動作可能残時間の逆比を使用してそれぞれのバッファにＰＣ２からデータを転送するのに割り当てられる転送時間を決定する。なお、１番目に短いバッファに割り当てる転送時間は、２番目に短いバッファの動作可能残時間も考慮して決定される（図３のステップ４）。
【００２４】
次に、ＰＣ２と各バッファ間でのデータの送受信を行う転送可能データ数を演算装置１８が算出する。転送可能データ数は、例えば、演算装置１８がバッファ４であればバッファ５の継続動作可能時間をバッファ４のデータ消費速度で割ることで算出する。なお、ＰＣ２で非リアルタイムＯＳ等を使用しており、処理が実際に実行されるまでにタイムラグの発生が予想される場合、バッファ５の継続動作可能時間から予想される最大タイムラグを引いた時間を使用する（図３のステップ５）。
【００２５】
次に、ＰＣ２に対して、図３のステップ５で算出した各バッファの転送可能データ数を通知する。または各バッファ４，５に割り当てられた転送時間を通知しても良い（図３のステップ６）。
【００２６】
次に、図３のステップ５で算出した各バッファの転送可能データ数または転送時間に応じてＰＣ２は、通信ターミナル１のバッファ４へデータを送信することを通信ターミナル１に指示して送信を実行し、またはバッファ５からデータを受信することを通信ターミナル１に指示して受信を実行する（図３のステップ７）。
【００２７】
このようにバッファ４の空きデータ、または、バッファ５の残データがなくなる可能性の高いバッファに合わせて、ＰＣ２とバッファ４，５とで送受信するデータ数を調整することにより、各バッファ４，５に通信リソースの割り当てが偏る可能性を低減することができるため、機器間の安定したデータ通信を実現することができる。なお、測定の開始時間は記憶媒体７や他の記憶装置に記憶される。また、上記データ数の検出や消費速度の算出，継続動作可能時間の算出，転送可能データ数の検出，転送可能データ数の検出の通知は記憶媒体７に格納されたプログラムをＣＰＵ６が読み出して実行することにより行うこともできる。
【００２８】
次に、本発明に係るデータ転送に伴うバッファ内のデータの動きについて図１，図２，図４を用いて説明する。ここでは、アナログデータ入力用のバッファ５のデータの動きを例に説明する。アナログデータ入力用のバッファ５の最大格納容量は５ＭＢ、機器３からＰＣ２へは、一律に１ＭＢの大きさのデータが転送されるものとする。
【００２９】
まず、測定の開始時間から１秒経過後に、１つのデータ１１が機器３からバッファ５に送信され格納される。次に、２秒経過後に、次のデータ１２がバッファ５に格納される。この時、データ１１はＰＣ２に送信中である。次に、３秒経過後に、次のデータ１３がバッファ５に格納される。この時、データ１１はＰＣ２に送信中であり、データ１３はバッファ５に格納中であり、バッファ５にはデータ１２が格納され、データ１１はＰＣ２に送信中であり、データ１３が格納中である。次に、４秒経過後に、次のデータ１４がバッファ５に格納される。この時、通信ターミナル１とＰＣ２との間の転送としてＰＣ２から機器３への転送が行われている場合、データ１２のＰＣ２への送信は行われず、バッファ５にはデータ１２とデータ１３とデータ１４が格納される状態である。次に、５秒経過後に、次のデータ１５がバッファ５に格納される。この時、ＰＣ２から機器３への転送が行われている場合、データ１２は送信が行われず、バッファ５にはデータ１２とデータ１３とデータ１４とデータ１５の４ＭＢが格納される状態である。５秒経過時のバッファ領域消費速度は、４［ＭＢ］／５［秒］＝０．８［ＭＢ／秒］となる。この状態でのバッファ５の空き容量は１ＭＢであるので、空き容量がなくなるまでの継続動作可能時間は、１［ＭＢ］／０．８［ＭＢ／秒］＝１．２５［秒］となる。継続動作可能時間がバッファ４に比べて短い場合、バッファ５からＰＣ２が受信する割り当て転送時間を長くする。これにより、バッファの空き容量がなくなる可能性を低減することができるため、機器間の安定したデータ通信を実現することができる。
【００３０】
なお、割り当てる転送時間を長くして優先的にデータの送信を行う場合、送信するデータを２分割またはそれ以外の割合で分割して送信しても良い。例えば、５秒経過後にバッファ５のデータの送信を優先的に行う際に、ＰＣ２に送信するデータ１２を２分割し、テータ１２のデータの内、０．５ＭＢのデータから順に送信する。そして、６秒経過後には、データ１２の内の０．５ＭＢ分のデータのＰＣ２への送信は完了し、バッファ５にはデータ１２の半分とデータ１３とデータ１４とデータ１５が格納される状態である。このように、増加速度から空き容量が不足する可能性が高いと判断された場合に、データを分割して順にバッファから送信することにより、１度に大きなデータを送信する場合に比べて短時間でバッファに格納されたデータを送信することができるため、バッファの空き容量がなくなる可能性を低減することができ、機器間の安定したデータ通信を実現することができる。例えば、１ＭＢのデータ１１は２秒後にバッファ５からの送出が完了してバッファ５から削除されるが、データ１２の内の０．５ＭＢを送出する場合は１秒で送出することができ、１秒後にバッファ５の空き領域を増加させることにおいては、データ１２を０．５ＭＢずつ送信するほうが有効であり、バッファ５の空き領域を増加させるためには、通信速度に応じて送出するデータ量を小さくすることが有効となる。つまり、分割の割合は、ＰＣ２と通信ターミナル１との間のデータ転送速度や、格納されたデータのデータ量等によりその都度決定するとより効率的に転送を行うことができる。その決定はＣＰＵ６やＰＣ２により、データの転送速度やデータのデータ量を検出して計算することもできる。
【００３１】
また、上記の説明では、バッファを２つ備える場合について説明したが、３つ以上のバッファを備える場合も同様に、各バッファの継続動作可能時間により割り当てられる転送時間を決定する。バッファは、ある機器例えばＰＣ２と複数の機器３とでデータの通信を行う場合複数の機器３毎に設けられる。また、ＰＣ２と複数の機器３とでデータの送受信を行う場合は、複数の機器３毎に送信用，受信用の２つずつのバッファが設けられる。
【符号の説明】
【００３２】
１    通信ターミナル
２    ＰＣ
３    機器
４    バッファ
５    バッファ
６    ＣＰＵ
７    記憶媒体
８    ＦＰＧＡ
９    通信ケーブル
１０    端子
１１    データ
１２    データ
１３    データ
１４    データ
１５    データ
１６    端子
１７    コントロールユニット
１８    演算装置
１９    ドライバ
２０    アプリケーション
２１    バッファ
【図１】
2017072869.tif 000003
【図２】
2017072869.tif 000004
【図３】
2017072869.tif 000005
【図４】
2017072869.tif 000006