(57)【要約】【課題】本発明は、通信制御装置における処理負担を軽減することを目的とする。【解決手段】通信制御装置は、送信バッファ２Ａおよび２Ｂと、送信バッファ２Ａまたは送信バッファ２Ｂに、固定データ長のデータである固定データを記憶させる送信バッファ制御回路７Ａおよび７Ｂと、各送信バッファに記憶された固定データを送信する送信制御回路３とを備えている。送信制御回路３は、送信バッファ２Ａに記憶された第１の固定データを送信する送信処理を実行し、送信処理が実行されると共に、送信バッファ制御回路７Ｂは、送信バッファ２Ｂに第２の固定データを記憶させる記憶処理を実行する。送信処理が実行されると共に、送信バッファ制御回路７Ａは、送信済みアドレスに基づいて第２の固定データに含まれる情報を指定し、送信バッファ２Ａの記憶領域のうち送信済みアドレスで指定される領域に、その指定した情報を記憶させる共通化処理を実行する。【選択図】図３
2020119012.tif 000002
【特許請求の範囲】
【請求項１】
第１送信バッファおよび第２送信バッファと、
前記第１送信バッファまたは前記第２送信バッファに、固定データ長のデータである固定データを記憶させる送信バッファ制御回路と、
前記第１送信バッファまたは前記第２送信バッファに記憶された前記固定データを送信する送信制御回路と、を備え、
前記送信制御回路は、
前記第１送信バッファに記憶された第１の前記固定データを送信する送信処理を実行し、
前記送信処理が実行されると共に、前記送信バッファ制御回路は、
前記第２送信バッファに第２の前記固定データを記憶させる記憶処理と、
前記送信制御回路によって送信された情報を指定する送信済みアドレスに基づいて、第２の前記固定データに含まれる情報を指定し、前記第１送信バッファの記憶領域のうち前記送信済みアドレスで指定される領域に、その指定した情報を記憶させる共通化処理と、
を実行する通信制御装置。
【請求項２】
請求項１に記載の通信制御装置において、
前記第２の前記固定データに含まれる情報のうち、前記第２送信バッファに記憶されたデータに含まれる情報と異なるものを、前記第２送信バッファが記憶する、通信制御装置。
【請求項３】
請求項１または請求項２に記載の通信制御装置において、
前記送信制御回路は、前記送信処理を実行するときに、前記第１送信バッファに対してリードアクセス要求を送信し、
前記送信バッファ制御回路は、前記リードアクセス要求が前記第１送信バッファに対して送信されているときに、前記記憶処理および前記共通化処理を実行する、通信制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信制御装置に関し、特に、固定周期で固定データ長のデータの授受を行う装置に関する。
【背景技術】
【０００２】
工作機械等、複数のモータを同期させて制御する装置において、指令を作成するＮＣ装置とモータを制御するインバータとの通信インターフェースに求められる技術要件としては、高速性に加え、定周期性および軸間同期性が必要とされる。さらに、通信インターフェースへの送信データ書き込み、および通信インターフェースからの受信データ読み込みは通信周期内のタイミング制約無しで行えることが望ましい。
【０００３】
一般的に、通信インターフェースへの送信データの書き込み、および受信データ読み込みを、通信周期内のタイミング制約無しで行う方式として、ＤＭＡ方式、ＦＩＦＯ方式、ダブルバッファ方式等がある。ＤＭＡ方式は、通信インターフェースにアクセスするバッファと、通信インターフェースが使用するバッファとの間を上位制御装置がダイレクトメモリアクセス（ＤＭＡ）で転送する方式である。ＦＩＦＯ方式は、上位制御装置と通信インターフェースとの間を先入れ先出しのバッファで接続する方式である。ダブルバッファ方式は、上位制御装置が通信インターフェースにアクセスするバッファと通信インターフェースが送受信処理に使用するバッファとを準備し、通信周期毎にバッファの役割を切り替える方式である。これらの方式のうち、ＦＩＦＯ方式は、送受信の順番に沿ったシーケンシャルなアクセスしかできないため、通信データサイズが大きい装置には適さない。また、ＤＭＡを使用した方式は、バッファ間のメモリ転送を行っている期間は送信処理を行うことができず、通信帯域の利用効率が下がる課題がある。そのため、通信データサイズが大きく、通信帯域の利用効率を向上させたい場合、ダブルバッファ方式を使用することが望まれる。
【０００４】
ダブルバッファ方式を使用した通信制御装置の動作を図１および図２を参照して説明する。
【０００５】
図１は通信制御装置の送信側のブロック図であり、上位制御装置１は送信側通信制御装置１４に対して送信データを設定し、送信側通信制御装置１４は送信信号を図示しない通信相手先に送信する。上位制御装置１は、切替器４を介して、送信データを送信バッファ２Ａまたは２Ｂに書き込む（記憶させる）。送信制御回路３はタイマ６から出力される信号に基づいて送信開始タイミングを決定し、図示しない通信相手先に送信信号を出力する。送信制御回路３が送信するデータは、切替器５の状態に応じて、送信バッファ２Ａまたは２Ｂのどちらかから読み込まれる。切替器４、５はタイマ６から出力される信号に基づいて通信周期毎に同期して状態が切り替わる。また、切替器４、５が接続する送信バッファ２Ａ、２Ｂは、書き込みと読み出しとが逆になる様に制御され、上位制御装置１が送信データを書き込む側の送信バッファと、送信制御回路３が送信データを読み込む側の送信バッファは排他的になる。すなわち、上位制御装置１が送信バッファ２Ａに書き込みを行っているとき、送信制御回路３は送信バッファ２Ｂのデータを送信し、次の通信周期では、切替器４、５の状態が切り替えられ、上位制御装置１は送信バッファ２Ｂに書き込みを行い、送信制御回路３は送信バッファ２Ａのデータを送信する。この仕組みにより、上位制御装置１は、通信周期内に送信バッファ書き込みを完了させればよく、タイミング制約無しで送信バッファに書き込みができる。
【０００６】
図２は通信制御装置の受信側のブロック図である。受信側通信制御装置１５には、図示しない通信相手から受信信号が入力され、上位制御装置１０は受信側通信制御装置１５が受信したデータを取得する。上位制御装置１０が取得する受信データは切替器１２により、受信バッファ９Ａまたは９Ｂから読み込まれる。受信制御回路８は図示しない通信相手先から入力される受信信号を復調して受信データを取得し、切替器１１により、受信バッファ９Ａまたは９Ｂのどちらかに受信データを書き込む。また、受信制御回路８は、受信信号に基づき、タイマ１３を図１に示すタイマ６と同期化する。切替器１１、１２はタイマ１３により通信周期毎に同期して状態が切り替わる。また、切替器１１、１２が接続する受信バッファ９Ａ、９Ｂは、書き込みと読み出しとが逆になる様に制御され、上位制御装置１０が受信データを読み込む側の受信バッファと、受信制御回路８が受信データを書き込む側の送信バッファは排他的になる。すなわち、上位制御装置１０が受信バッファ９Ａから読み込みを行っているときに、受信制御回路８は受信バッファ９Ｂに受信データを書き込み、次の通信周期では、切替器１１、１２の状態が切り替えられ、上位制御装置１０は受信バッファ９Ｂから読み込みを行い、受信制御回路８は受信バッファ９Ａに受信データを設定する。この仕組みにより、上位制御装置１０は、通信周期内に受信バッファの読み込みを完了させればよく、タイミング制約無しで受信バッファの読み込みができる。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
このようなダブルバッファ方式を使用した通信制御装置では、上位制御装置は次回の通信周期ｎ＋１回目の送信データを送信バッファに設定する。通信周期ｎ＋１回目の送信データは、通信周期ｎ回目の送信データと近似していることがある。この場合、仮に、送信バッファに、通信周期ｎ回目の送信データが記憶されているのであれば、送信バッファに設定する通信周期ｎ＋１回目の送信データのうち、通信周期ｎ回目の送信データと異なる部分のみを送信バッファに記憶させればよい。ところが、送信データを設定する側の送信バッファに記憶されているデータは、通信周期ｎ−１回目の送信データであり、通信周期ｎ回目の送信データではない。
【０００８】
そのため、通信周期ｎ回目の送信データと通信周期ｎ＋１回目の送信データが、ほとんど同じであっても、送信データ全体を送信バッファに設定する必要があり、上位制御装置の処理負荷が大きくなるという課題がある。
【０００９】
また、送信データの一部ｂｉｔのオン、オフを通信周期毎に切り替えることで、受信側にて送信側のデータ更新を確認する手法がある。この手法では次のような点が問題となることがある。すなわち、ダブルバッファ方式では、送信バッファが通信周期毎に切り替えられるため、片側の送信バッファのｂｉｔは常に１、逆側の送信バッファのｂｉｔは常に０となり、１ｂｉｔのデータでは受信側で送信側のデータ更新確認ができない。そのため、通信周期毎に加算する２ｂｉｔ以上のカウンタ値を送信データに設定する必要があり、制御データの送受信に使用できるデータ量が低下するという問題が生じることがある。
【００１０】
本発明は、通信制御装置における処理負担を軽減することを目的とする。
【課題を解決するための手段】
【００１１】
本発明は、第１送信バッファおよび第２送信バッファと、前記第１送信バッファまたは前記第２送信バッファに、固定データ長のデータである固定データを記憶させる送信バッファ制御回路と、前記第１送信バッファまたは前記第２送信バッファに記憶された前記固定データを送信する送信制御回路と、を備え、前記送信制御回路は、前記第１送信バッファに記憶された第１の前記固定データを送信する送信処理を実行し、前記送信処理が実行されると共に、前記送信バッファ制御回路は、前記第２送信バッファに第２の前記固定データを記憶させる記憶処理と、前記送信制御回路によって送信された情報を指定する送信済みアドレスに基づいて、第２の前記固定データに含まれる情報を指定し、前記第１送信バッファの記憶領域のうち前記送信済みアドレスで指定される領域に、その指定した情報を記憶させる共通化処理と、を実行する。
【００１２】
望ましくは、前記第２の前記固定データに含まれる情報のうち、前記第２送信バッファに記憶されたデータに含まれる情報と異なるものを、前記第２送信バッファが記憶する。
【００１３】
望ましくは、前記送信制御回路は、前記送信処理を実行するときに、前記第１送信バッファに対してリードアクセス要求を送信し、前記送信バッファ制御回路は、前記リードアクセス要求が前記第１送信バッファに対して送信されているときに、前記記憶処理および前記共通化処理を実行する。
【００１４】
また、本発明の一実施形態は、固定通信周期で固定データ長のデータ送受信を行う通信システムに用いられ、２つの送信バッファを有し、ある通信周期では、一方の前記送信バッファを上位制御装置がデータ書き込みに使用し、他方の前記送信バッファを送信バッファ制御回路が送信信号生成に使用し、次の通信周期では、当該他方の前記送信バッファを前記上位制御装置がデータ書き込みに使用し、当該一方の前記送信バッファを前記送信バッファ制御回路が送信信号生成に使用するダブルバッファ方式の通信制御装置であって、前記上位制御装置と２つの前記送信バッファの間に、前記送信バッファ制御回路が設けられており、前記送信バッファ制御回路は、前記上位制御装置がデータ書き込みする側の前記送信バッファ（Ａ）へのライトアクセスを検出し、ライトアクセスアドレスが、送信済みのアドレスの場合、前記送信バッファ制御回路が送信信号生成に使用する側の前記送信バッファ（Ｂ）に対しても同じデータを書き込み、さらに、前記送信バッファ制御回路の前記送信バッファ（Ｂ）に対するリードアクセスを検出し、前記送信バッファ（Ａ）から同じアドレスのデータを読み込み、前記送信バッファ（Ｂ）に書き込む。
【発明の効果】
【００１５】
本発明によれば、通信制御装置における処理負担を軽減することができる。以下に説明する実施例によると、送信制御回路がデータ送信を完了したタイミング以降、２つの送信バッファのデータが一致する。そのため、上位制御装置による送信バッファへの送信データの書き込みは、送信バッファに先に記憶されているデータと、書き込まれるべきデータとの差分のみについて行えばよくなり、上位制御装置の処理を軽減できる。また、通信データ中の受信側での送信側データ更新確認に使用する領域も１ｂｉｔでよく、通信データを有効活用できる。
【図面の簡単な説明】
【００１６】
【図１】従来技術における通信制御装置の送信側を示すブロック図である。
【図２】従来技術における通信制御装置の受信側を示すブロック図である。
【図３】本発明の実施例を示すブロック図である。
【図４】本発明の送信バッファ制御回路の動作フローを示す図である。
【発明を実施するための形態】
【００１７】
本発明の実施例について、図３および図４を用いて説明する。
【００１８】
図３に、本発明の実施形態に係る通信制御装置の送信側のブロック図を示す。上位制御装置１は送信側通信制御装置１４に対して送信データを設定し、送信側通信制御装置１４は図示しない通信相手先に送信信号を送信する。上位制御装置１は、切替器４、送信バッファ制御回路７Ａ、７Ｂを介して送信バッファ２Ａ、２Ｂに送信データを設定する。切替器４が送信バッファ２Ａ側に接続されている時のライトアクセス信号は、送信バッファ制御回路７Ａだけでなく、送信バッファ制御回路７Ｂにも入力され、上位制御装置１の送信バッファ２Ａに対するライトアクセスを送信バッファ制御回路７Ｂが監視できる。同様に、切替器４が送信バッファ２Ｂ側に接続されている時のライトアクセス信号は、送信バッファ制御回路７Ｂだけでなく、送信バッファ制御回路７Ａにも入力され、上位制御装置１の送信バッファ２Ｂに対するライトアクセスを送信バッファ制御回路７Ａが監視できる。
【００１９】
送信制御回路３はタイマ６から出力される信号に基づいて送信開始タイミングを決定し、図示しない通信相手先に送信信号を出力するとともに、送信済みアドレスを送信バッファ制御回路７Ａ、７Ｂに出力する。送信制御回路３が送信するデータは、切替器５ａ、５ｂの状態に応じて、送信バッファ２Ａまたは２Ｂのどちらかから読み込まれる。切替器５ａは送信バッファ２Ａに対するリードアクセス要求元を送信制御回路３と送信バッファ制御回路７Ｂとの間で切り替え、送信制御回路３が送信バッファ２Ａを使用していないタイミングでは、送信バッファ制御回路７Ｂが送信バッファ２Ａのデータをリード可能となる。切替器５ａと同期してオン／オフを切替える切替器５ｃは、切替器５ａが送信制御回路３側を選択している時にオンとなり、送信バッファ２Ａに対する送信制御回路３からのリードアクセス要求を送信バッファ制御回路７Ａで監視する。
【００２０】
同様に、切替器５ｂは送信バッファ２Ｂへのリードアクセス要求元を送信制御回路３と送信バッファ制御回路７Ａとの間で切り替え、送信制御回路３が送信バッファ２Ｂを使用していないタイミングでは、送信バッファ制御回路７Ａが送信バッファ２Ｂのデータをリード可能となる。切替器５ｂと同期してオン／オフを切替える切替器５ｄは、切替器５ｂが送信制御回路３側を選択している時にオンとなり、送信バッファ２Ｂに対する送信制御回路３からのリードアクセス要求を送信バッファ制御回路７Ｂで監視する。
【００２１】
切替器４、５ａ、５ｂ、５ｃ、５ｄは、タイマ６により通信周期毎に状態が切り替えられる。送信バッファ制御回路７Ａは、切替器４を介して入力される上位制御装置１のライトアクセス信号、送信制御回路３が出力する送信済みアドレス、切替器５ｃ、５ｄから入力される送信制御回路３の送信バッファ２Ａ、２Ｂに対するリードアクセス要求とから送信バッファ２Ａ、２Ｂへの送信データ書き込みを行う。なお、本実施例では、切替器４を送信側通信制御装置１４の一部として記載しているが、切替器４が有する機能を上位制御装置１によるライトアドレス切替で実現してもよい。
【００２２】
図４に、送信バッファ制御回路７Ａの動作フローを示す。送信バッファ制御回路７Ａは、最初に、上位制御装置１から送信バッファ２Ａへのライトアクセスの有無を判定し（Ｓ１０１）、ライトアクセスがある場合、ライトアクセス信号からライトアドレス、ライトデータを取得し（Ｓ１０２）、送信バッファ２Ａに書き込む（Ｓ１０３）。ライトアクセスが無い場合、上位制御装置１から送信バッファ２Ｂへのライトアクセスの有無を判定し（Ｓ１０４）、ライトアクセスがある場合、ライトアクセス信号からライトアドレス、ライトデータを取得し（Ｓ１０５）、ライトアドレスが送信制御回路３の出力する送信済みアドレスに含まれるか否かを判定する（Ｓ１０６）。そして、ライトアドレスが、送信制御回路３の出力する送信済みアドレスに含まれる場合のみ、送信バッファ２Ａへの書き込みを行う（Ｓ１０３）。上位制御装置１の送信バッファ２Ｂへのライトアクセスが無い場合（Ｓ１０４）、または上位制御装置１の送信バッファ２Ｂへのライトアドレスが送信制御回路３の出力する送信済みアドレスに含まれない場合、送信制御回路３から送信バッファ２Ａへのリードアクセス要求の有無を判定し（Ｓ１０７）、リードアクセス要求がある場合、リードアクセス要求から、リードアドレスを取得し、送信バッファ２Ｂからデータをリードする（Ｓ１０８）。さらに、リードアドレスをライトアドレス、リード値をライトデータとして（Ｓ１０９）、送信バッファ２Ａへ書き込む（Ｓ１０３）。送信バッファ制御回路７Ａは本動作フローを繰り返し行う。なお、送信バッファ制御回路７Ｂの動作は、図４の送信バッファ２Ａ、２Ｂの動作が入れ替わるのみであるため、説明を省略する。
【００２３】
このように、本発明の実施形態に係る通信制御装置では、送信バッファ２Ａに記憶されている通信周期ｎ−１回目のデータを送信制御回路３が送信している間に、上位制御装置１および送信バッファ制御回路７Ｂが、通信周期ｎ回目のデータを送信バッファ２Ｂに記憶させる。送信バッファ２Ａの記憶領域のうち、情報が送信されてしまった送信済み領域には、通信周期ｎ回目のデータに含まれる情報のうち、送信済みアドレスに対応する対応情報が、送信バッファ制御回路７Ａによって送信バッファ２Ｂから取り出される。送信バッファ制御回路７Ａは、対応情報を送信バッファ２Ａの送信済み領域に記憶させる。送信バッファ２Ａの送信済み領域に通信周期ｎ回目のデータにおける対応情報が記憶される共通化処理のタイミングは、送信バッファ２Ａへのリードアクセス要求に基づいて規定される。すなわち、共通化処理は、送信バッファ２Ａへのリードアクセス要求のタイミングに従って実行される。
【００２４】
これによって、送信制御回路３が通信周期ｎ−１回目のデータを送信し終わった時点では、送信バッファ２Ａおよび送信バッファ２Ｂの両者には、通信周期ｎ回目のデータが記憶された状態となる。
【００２５】
この状態から、送信制御回路３は、送信バッファ２Ｂに記憶されている通信周期ｎ回目のデータを送信する。その間に上位制御装置１および送信バッファ制御回路７Ａは、通信周期ｎ＋１回目のデータを送信バッファ２Ａに記憶させる。この記憶処理は、通信周期ｎ＋１回目のデータに含まれる情報のうち、先に記憶されていた通信周期ｎ回目のデータと異なる情報についてのみ行われてよい。送信バッファ２Ｂの記憶領域のうち、情報が送信されてしまった送信済み領域には、通信周期ｎ＋１回目のデータに含まれる情報のうち、送信済みアドレスに対応する対応情報が送信バッファ２Ａから取り出され、送信バッファ２Ｂの送信済み領域に記憶される。送信バッファ２Ｂの送信済み領域に通信周期ｎ＋１回目のデータにおける対応情報が記憶される共通化処理のタイミングは、送信バッファ２Ｂへのリードアクセス要求に基づいて規定される。すなわち、共通化処理は、送信バッファ２Ｂへのリードアクセス要求のタイミングに従って実行される。
【００２６】
このように、本発明の実施形態に係る通信制御装置は、送信バッファ２Ａおよび２Ｂ（第１送信バッファおよび第２送信バッファ）と、送信バッファ２Ａまたは送信バッファ２Ｂに、固定データ長のデータである固定データを記憶させる送信バッファ制御回路７Ａおよび７Ｂ（以下、送信バッファ制御回路７Ａおよび７Ｂを併せたものを送信バッファ制御回路という）と、送信バッファ２Ａまたは送信バッファ２Ｂに記憶された固定データを送信する送信制御回路３とを備えている。
【００２７】
送信制御回路３は、送信バッファ２Ａに記憶された第１の固定データ（通信周期ｎ−１回目のデータ）を送信する送信処理を実行し、送信処理が実行されると共に、送信バッファ制御回路は、送信バッファ２Ｂに第２の固定データ（通信周期ｎ回目のデータ）を記憶させる記憶処理を実行する。また、送信処理が実行されると共に、送信バッファ制御回路は、送信制御回路３によって送信された情報を指定する送信済みアドレスに基づいて、第２の固定データに含まれる情報を指定し、送信バッファ２Ａの記憶領域のうち送信済みアドレスで指定される領域に、その指定した情報を記憶させる共通化処理を実行する。
【００２８】
上位制御装置１は、第２の固定データに含まれる情報のうち、送信バッファ２Ｂに記憶されたデータに含まれる情報と異なるものを、送信バッファ２Ｂに記憶させる。また、送信制御回路３は、送信処理を実行するときに、送信バッファ２Ａに対してリードアクセス要求を送信する。送信バッファ制御回路は、リードアクセス要求が送信バッファ２Ａに対して送信されているときに、記憶処理および共通化処理を実行する。
【００２９】
また、本発明の実施形態に係る通信制御装置は、固定通信周期で固定データ長のデータ送受信を行う通信システムに用いられる。本発明の実施形態に係る通信制御装置は、２つの送信バッファ２Ａおよび２Ｂを有し、ある通信周期では、一方の送信バッファを上位制御装置１がデータ書き込みに使用し、他方の送信バッファを送信バッファ制御回路７Ａまたは７Ｂが送信信号生成に使用し、次の通信周期では、当該他方の送信バッファを上位制御装置１がデータ書き込みに使用し、当該一方の送信バッファを送信バッファ制御回路７Ａまたは７Ｂが送信信号生成に使用するダブルバッファ方式の通信制御装置である。
【００３０】
本方式によれば、送信制御回路３は、通信周期ｎ−１回目に上位制御装置１が送信バッファ２Ａに書き込んだ値を通信周期ｎ回目に正しく送信でき、かつ、通信周期ｎ回目が完了したタイミング以降は、上位制御装置１が通信周期ｎ＋１回目用に送信バッファ２Ｂに書き込んだデータと、送信バッファ２Ａのデータが一致する。通信周期ｎ＋１回目では、上位制御装置１は、送信バッファ２Ａに書き込む通信周期ｎ＋２回目の送信データのうち、通信周期ｎ＋１回目に送信バッファ２Ｂに書き込んだデータと異なる部分のみを送信バッファ２Ａへ書き込む。そのため、送信データの変更が少ない場合、上位制御装置１の処理負荷を軽減できる。
【符号の説明】
【００３１】
１，１０  上位制御装置、２Ａ，２Ｂ  送信バッファ、３  送信制御回路、４，５，５ａ，５ｂ，５ｃ，５ｄ，１１，１２  切替器、６，１３  タイマ、７Ａ，７Ｂ  送信バッファ制御回路、８  受信制御回路、９Ａ，９Ｂ  受信バッファ、１４  送信側通信制御装置、１５ 受信側通信制御装置。
【図１】
2020119012.tif 000003
【図２】
2020119012.tif 000004
【図３】
2020119012.tif 000005
【図４】
2020119012.tif 000006