(57)【要約】【課題】複数プログラムから送信先デバイスへ伝文を送信する場合に、任意のプログラムから送信先デバイスへの送信処理の遅延を減少させるデータ伝送システムを提供する。【解決手段】データ伝送システムにおいて、主局Ｍは、従局Ｓとの間で通信を実行する通信用ソフトウェアに組み込まれた複数のプログラムから異なる伝文データ２１を格納する伝文格納部１１と、伝文格納部１１に格納された全伝文の優先順位を比較する伝文優先順位判定処理部１２と、伝文格納部１１から優先順位の緊急度に応じて緊急度の高い伝文から順に送信先デバイスへ送信する送信処理部１４と、伝文格納部１１にて優先順位低の伝文が格納された時に、該優先順位低の伝文に対して伝文毎に複数のプログラムから送信された後の経過時間をカウントし、該経過時間が規定値に達した伝文を優先順位高の伝文より先に送信処理部１４に出力するタイマカウント部１３を備えた。【選択図】  図１
2006345171.tif 000002
【特許請求の範囲】
【請求項１】
主局（Ｍ）と従局（Ｓ）との間で伝送ラインを介してデータ伝送を行うデータ伝送方法において、
前記主局（Ｍ）が前記従局（Ｓ）との間で通信を実行する通信用ソフトウェアに組み込まれた複数のプログラムから異なる伝文データを伝文格納部（１１）にて格納し、
前記伝文格納部（１１）に格納されている全伝文の優先順位を伝文優先順位判定処理部（１２）にて比較し、
前記伝文格納部（１１）から優先順位の緊急度に応じて緊急度の高い伝文から順に送信処理部（１４）を介して前記従局側（Ｓ）の送信先デバイスへ送信し、
前記伝文格納部（１１）にて優先順位低の伝文が格納された時に、該優先順位低の伝文に対して伝文毎に複数のプログラムから送信された後の経過時間を規定のタイマ値とするタイマカウント部（１３）を用いて、該経過時間をカウントして規定値に達した伝文を前記伝文格納部（１１）に格納されている優先順位高の伝文より先に前記送信処理部（１４）に出力するようにしたことを特徴とするデータ伝送方法。
【請求項２】
主局（Ｍ）と従局（Ｓ）との間で伝送ラインを介してデータ伝送を行うデータ伝送システムにおいて、
前記主局（Ｍ）は、
前記従局（Ｓ）との間で通信を実行する通信用ソフトウェアに組み込まれた複数のプログラムから異なる伝文データを格納するための伝文格納部（１１）と、
前記伝文格納部（１１）に格納されている全伝文の優先順位を比較するための伝文優先順位判定処理部（１２）と、
前記伝文格納部（１１）から優先順位の緊急度に応じて緊急度の高い伝文から順に前記従局側（Ｓ）の送信先デバイスへ送信するための送信処理部（１４）と、
前記伝文格納部（１１）にて優先順位低の伝文が格納された時に、該優先順位低の伝文に対して伝文毎に前記複数のプログラムから送信された後の経過時間を規定のタイマ値として設定し、該経過時間をカウントして規定値に達した伝文を前記伝文格納部（１１）に格納されている優先順位高の伝文より先に前記送信処理部（１４）に出力するタイマカウント部（１３）と、
を備えたことを特徴とするデータ伝送システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、伝送ラインを介して主局と従局との間でデータ伝送を行うおよびデータ伝送方法およびデータ伝送システムに関し、１度に単一伝文しか受信処理できない従局となる送信先デバイスに対して、主局の通信用ソフトウェア内に装備され非同期で動作する複数のプログラムから同時に伝文を送信する方法に関する。
【背景技術】
【０００２】
従来、伝送ラインを介して主局と従局との間でデータ伝送を行うデータ伝送システムは図２のようになっている。図２は一般的な主局と従局との間でデータ伝送を行うデータ伝送システムの構成図である。
このようなデータ伝送システムは、１局のマスタ機器（主局）と、最大３０局程度のスレーブ機器（従局）の間で例えば、１７バイト／３２バイトのデータを、常時２５０μｓ〜８ｍｓ程度の通信周期で、サイクリックに双方向の通信を行うことができるようになっている。上記のマスタ機器は、パソコンまたはコンピュータに装備して通信を実行するソフトウェア（通信用ソフトウェア）を組み込んだもので構成され、また、スレーブ機器は、サーボドライバ、入出力モジュールあるいはカウンタモジュールなどで構成される。
このような構成において、主局の通信用ソフトウェア内部の複数のプログラムから伝文が非同期に従局となる送信先デバイスに送信されるため、例えば、前記複数のプログラム以外の他のプログラムから伝文送信があった場合、送信タイミングや送信先デバイスの受信処理により、任意の伝文が送信先デバイスに送信されるまでに遅延が発生する場合がある。
また、ある特定のプログラムの伝文の応答を優先的に送信先デバイスから受け取りたい場合、該当プログラムが伝文を送信するタイミングを図って、他のプログラムからの伝文の送信を止めるように同期させることが一般的である（例えば、特許文献１を参照）。
【特許文献１】特開平５−３１６１２４号公報（第３頁〜第４頁、第４図）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上記の方法では、複数のプログラムが非同期に伝送先デバイスへ伝文を送信するようなシステムでは、プログラムが送信先デバイスへの送信時、排他処理を行い送信データが送信途中に他のプログラムの送信データによって上書きされないようにし、送信データの送信処理完了後、他のプログラムの送信処理が実行される。送信先デバイスは伝文を受け取ると受信処理が完了するまで伝文が送られてこないようにするために、プログラムが送信を行おうとしてもＢＵＳＹのステータスを返す。それを受けたプログラムは一定時間待って再び送信を行うようになっている。このようなシステムの例をわかりやすく説明するために、以下に述べる。
例えば、今、４つのプログラム（プログラムＡ、プログラムＢ、プログラムＣ、プログラムＤ）が送信先デバイスに非同期に処理時間Ｔ１の伝文送信処理を行う場合を考える。このような場合、あるタイミングでプログラムＡが送信先デバイスへ送信処理を開始した直後にプログラムＢ、プログラムＣ、プログラムＤが送信処理を開始した時、プログラムＢ、Ｃ、Ｄは排他処理によりプログラムＡの送信処理が終わるまで送信処理を行えないが、プログラムＡの送信処理完了直後、プログラムＢが送信処理を開始しても送信先デバイスの処理時間Ｔ２の受信処理が完了していないためプログラムＢに対してＢＵＳＹを返す、このためプログラムＢは一定時間の待機を行い伝文の再送を行う処理に入るが、プログラムＢが待機のための排他処理を終えるとプログラムＣが送信処理を開始する、この時には送信先デバイスの受信処理は完了しているため、送信先デバイスはプログラムＣの伝文を受け取ることができるため再び受信処理を始める、この時にプログラムＢの待機時間が終わり送信処理を開始するが、送信先デバイスは受信処理中のため再びＢＵＳＹをプログラムＢに返し、プログラムＢは再送のための待機状態になり、プログラムＤが送信処理を開始し、プログラムＤの伝文が送信先デバイスで処理されるという状況が発生する可能性があり、プログラムＤの伝文が処理された後、プログラムＢプログラムＢの伝文が処理されたとしても、プログラムＢが伝文を送信しようとしたタイミングからプログラムＣ、Ｄの送信処理時間Ｔ１＋Ｔ１、送信先デバイスのプログラムＣ、Ｄから送信された伝文の処理時間Ｔ２＋Ｔ２、伝文再送時の待機時間等のオーバーヘッド分αが最低でもかかってしまい、プログラムＢの処理に大幅な遅延を発生させる原因となる、更にプログラムＢの再送タイミング直前にプログラムＣ、Ｄの送信処理が行われるとそれ以上の遅延が発生してしまう。それを解決するためにそれぞれ独立したプログラムで共通の同期システムの組み込みを行う必要があるが、プログラムが複雑化するという問題があった。これを回避するためには伝文送信処理において独立したプログラム間で同期をとる必要があった。
本発明はこのような課題に鑑みてなされたものであり、非同期で動作する複数プログラムから送信先デバイスへ伝文を送信する場合に、各プログラムからの送信処理および送信先デバイスの受信処理が重なっても、任意のプログラムから送信先デバイスへの送信処理の遅延を減少させることができるデータ伝送方法およびデータ伝送システムを提供することを目的とする。
【課題を解決するための手段】
【０００４】
上記問題を解決するため、本発明は次のような構成にしたものである。
請求項１の発明は、主局と従局との間で伝送ラインを介してデータ伝送を行うデータ伝送方法において、前記主局が前記従局との間で通信を実行する通信用ソフトウェアに組み込まれた複数のプログラムから異なる伝文データを伝文格納部にて格納し、前記伝文格納部に格納されている全伝文の優先順位を伝文優先順位判定処理部にて比較し、前記伝文格納部から優先順位の緊急度に応じて緊急度の高い伝文から順に送信処理部を介して前記従局側の送信先デバイスへ送信し、前記伝文格納部にて優先順位低の伝文が格納された時に、該優先順位低の伝文に対して伝文毎に複数のプログラムから送信された後の経過時間を規定のタイマ値とするタイマカウント部を用いて、該経過時間をカウントして規定値に達した伝文を前記伝文格納部に格納されている優先順位高の伝文より先に前記送信処理部に出力するようにしたものとなっている。
また、請求項２の発明は、主局と従局との間で伝送ラインを介してデータ伝送を行うデータ伝送システムにおいて、前記主局は、前記従局との間で通信を実行する通信用ソフトウェアに組み込まれた複数のプログラムから異なる伝文データを格納するための伝文格納部と、前記伝文格納部に格納されている全伝文の優先順位を比較するための伝文優先順位判定処理部と、前記伝文格納部から優先順位の緊急度に応じて緊急度の高い伝文から順に前記従局側の送信先デバイスへ送信するための送信処理部と、前記伝文格納部にて優先順位低の伝文が格納された時に、該優先順位低の伝文に対して伝文毎に前記複数のプログラムから送信された後の経過時間を規定のタイマ値として設定し、該経過時間をカウントして規定値に達した伝文を前記伝文格納部に格納されている優先順位高の伝文より先に前記送信処理部に出力するタイマカウント部とを備えたものである。
【発明の効果】
【０００５】
請求項１、２記載の本発明によれば、非同期に動作する複数プログラムから送信先デバイスに対して伝文を送信する場合に、各プログラムからの送信処理および送信先デバイスの受信処理が重なったとしても、送信伝文に優先順位を付加し、伝文送信タイマで送信処理を管理することにより、伝文送信処理を行うプログラムで送信処理タイミングを考慮することなく、任意のプログラムから送信先デバイスへの送信処理の遅延を減少させることができるデータ伝送方法およびデータ伝送システムを得ることができる。
【発明を実施するための最良の形態】
【０００６】
以下、本発明の実施の形態について図を参照して説明する。
【実施例】
【０００７】
図１は本発明の実施例を示すデータ伝送システムの構成図である。
図１において、１は伝文送信処理部、１１は伝文格納部、１２は伝文優先順位判定処理部、１３はタイマカウント処理部、１４は送信処理部、２は送信データ、２１は送信伝文、２２は優先順位である。
本発明の特徴は以下のとおりである。
すなわち、主局Ｍと従局Ｓとの間で伝送ラインを介してデータ伝送を行うデータ伝送システムにおいて、主局Ｍは、従局Ｓとの間で通信を実行する通信用ソフトウェアに組み込まれた複数のプログラムから異なる伝文データ２１を格納するための伝文格納部１１と、伝文格納部１１に格納されている全伝文の優先順位を比較するための伝文優先順位判定処理部１２と、伝文格納部１１から優先順位の緊急度に応じて緊急度の高い伝文から順に従局側Ｓの送信先デバイスへ送信するための送信処理部１４と、伝文格納部１１にて優先順位低の伝文が格納された時に、該優先順位低の伝文に対して伝文毎に複数のプログラムから送信された後の経過時間を規定のタイマ値として設定し、経過時間をカウントして規定値に達した伝文を伝文格納部１１に格納されている優先順位高の伝文より先に送信処理部１４に出力するタイマカウント部１３と、を備えたものとなっている。
【０００８】
次に動作について、図１に基づいて説明する。
プログラム中の伝文送信処理において、送信データ２を処理すると共通の伝文送信処理部１である伝文格納部１１に伝文データが格納される。
この時、伝文格納部１１に他の伝文データが格納されていない場合は、即座に送信処理部１４から図示しない送信先デバイスへ伝文が送信されるが、複数プログラムから送信先デバイス（不図示）に対する送信処理が伝文伝送処理時間Ｔ１と送信先デバイス（不図示）の受信処理時間Ｔ２の合計時間より短い時間内で行われた場合、最初に伝送処理に入った伝文以外は伝文格納部１１に蓄積される。
最初の伝文の処理が送信処理部１４にて終了すると、伝文優先順位判定処理部１２で伝文格納部１１に格納されている全伝文の優先順位を比較する。この時、優先順位が緊急の伝文がある場合には、優先順位緊急の伝文が送信処理部１４で送信先デバイス（不図示）へ送信される、優先順位緊急の伝文が存在しない場合には優先順位高の伝文が送信処理部１４で送信先デバイス（不図示）へ送信される。優先順位緊急、優先順位高の伝文が存在しない場合には優先順位低の伝文が送信処理部１４で送信先デバイス（不図示）へ送信される。この仕組みにより、処理を優先させたい伝文にはより高位の優先順位をつけることで、任意の伝文処理時間の遅延を防ぐことができる。
送信処理部１４では、送信先デバイス（不図示）へ伝文を送信時に送信先デバイス（不図示）の受信処理が終了していない場合は、ＢＵＳＹを受け取るが、送信先デバイス（不図示）へ伝文が送信可能状態になるまで、送信処理を連続して繰り返す。タイマカウント処理部１３は、優先順位低の伝文が格納された時に優先順位低の伝文毎に複数のプログラムから送信された後の経過時間をカウントする。該経過時間のカウント数が規定のタイマ値になった伝文は伝文格納部１１に格納されている優先順位高の伝文より先に送信処理部１４で送信先デバイス（不図示）へ送信される。この仕組みにより、優先順位低の伝文が伝文格納部１１に格納されている状態でプログラムから優先順位高の伝文ばかりが送信されるような場合でも、一定時間がたてば、必ず優先順位低の伝文が送信先デバイス（不図示）へ送信されるため、伝文の優先順位と送信タイミングを複雑に制御しなくても大幅な遅延が発生することもなくすべての伝文の送信処理を行える。また、優先順位が同一のものが伝文格納部１１に複数格納されている場合は、格納された順番に送信処理部１４で送信先デバイス（不図示）へ送信される。
【０００９】
本発明に実施例は、複数プログラムから伝送先デバイスへ送信された伝文と該当伝文の優先順位を一時的に格納し、送信先デバイスへ送信を行うタイミングで格納伝文の優先順位を比較し、高い優先順位で先に格納された伝文から送信先デバイスへ送信させる機能と、優先順位が低でも複数のプログラムから送信された後の経過時間により、格納されている優先順位高の伝文よりも先に送信先デバイスへ送信する機能を備えるような構成にしたので、プログラムからの伝文送信タイミングから実際に送信先デバイスへ伝文が送信されるまでの遅延時間を従来の手法に比べ短くすることができる。
【産業上の利用可能性】
【００１０】
本発明に関わるデータ伝送システムは、意図したタイミングから僅かな遅延で伝送先デバイスへ伝文を送信することが可能になるため、伝文送信の待ち時間が少なくなりシステム全体のスループットを上昇させることができることから、このようなデータ伝送システムを主局と従局の全局を同期させた多軸間の輪郭制御などに適用できる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施例を示すデータ伝送システムの構成図
【図２】一般的な主局と従局との間でデータ伝送を行うデータ伝送システムの構成図
【符号の説明】
【００１２】
１  伝文送信処理部、
１１  伝文格納部、
１２  伝文優先順位判定処理部、
１３  タイマカウント処理部、
１４  送信処理部、
２  送信データ、
２１  送信伝文、
２２  優先順位
【図１】
2006345171.tif 000003
【図２】
2006345171.tif 000004