JP4164270B2 - Servo controller - Google Patents

Servo controller Download PDF

Info

Publication number
JP4164270B2
JP4164270B2 JP2002069915A JP2002069915A JP4164270B2 JP 4164270 B2 JP4164270 B2 JP 4164270B2 JP 2002069915 A JP2002069915 A JP 2002069915A JP 2002069915 A JP2002069915 A JP 2002069915A JP 4164270 B2 JP4164270 B2 JP 4164270B2
Authority
JP
Japan
Prior art keywords
data
axis
memory
received
servo
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002069915A
Other languages
Japanese (ja)
Other versions
JP2003271203A (en
Inventor
匡史 本杉
征爾 水谷
康浩 森
健司 鈴木
裕介 牛尾
博文 水上
和敏 小林
邦彦 小川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Yaskawa Electric Corp
Mitsubishi Electric Corp
Original Assignee
Omron Corp
Yaskawa Electric Corp
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp, Yaskawa Electric Corp, Mitsubishi Electric Corp filed Critical Omron Corp
Priority to JP2002069915A priority Critical patent/JP4164270B2/en
Publication of JP2003271203A publication Critical patent/JP2003271203A/en
Application granted granted Critical
Publication of JP4164270B2 publication Critical patent/JP4164270B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Systems (AREA)
  • Computer And Data Communications (AREA)
  • Control By Computers (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、ネットワークに接続されるサーボコントローラに関するものである。
【0002】
【従来の技術】
サーボモータをネットワークを介してコントロールしようとした場合、例えば、図1に示すように、サーボモータ1に対して通電したり、サーボモータ1の状態(回転角等)を取得するサーボドライバ2と、そのサーボドライバ2とデータ伝送を行うサーボコントローラ3をネットワーク4に接続し、上記データ伝送は、係るネットワーク4を介して行うようなシステムが想定できる。
【0003】
ここで、サーボコントローラ3からサーボドライバ2に向けて伝送するデータは、制御指令データである。サーボドライバ2は、受け取った制御指令データに従い、サーボモータ1に対する通電量その他を制御し、サーボモータ1が制御指令に即した動作をするように制御する。
【0004】
また、サーボドライバ2は、サーボモータ1の所定位置に設けたセンサの出力から、サーボモータ1の回転角などの状態を取得するので、係るサーボモータ1の状態を、制御フィードバックデータとしてサーボコントローラ3にデータ伝送する。そして、その制御フィードバックデータを受け取ったサーボコントローラ3は、その受け取ったデータに基づいて次の制御指令データを生成し出力する。以後、上記処理を繰り返し実行することにより、サーボコントローラ3がサーボモータ1の動作をネットワーク4を介して制御することができる。
【0005】
ところで、それらサーボドライバ2,サーボコントローラ3の各ノードは、いずれもネットワーク4に接続されて通信を行うことから、その内部構造は、通信LSI5と、CPU6を有している。
【0006】
そして、通信LSI5では、自己宛に送られてきた受信データを取得するとともに、本来のデータ部分をCPU6に渡したり、CPU6から渡された送信用のデータに対し、送信先その他のヘッダ情報を付加して送信データを生成するとともに、所定のタイミングでネットワーク4上に送信したりする機能を有する。CPU6は、受信したデータに基づき各ノードの本体の処理を実行し、必要に応じて送信データを生成し、通信LSI5に渡す機能を有する。
【0007】
ところで、ノード内における通信LSI5からCPU6へ受信したデータを転送する場合、実際には、図2に示すように、共有メモリである受信データ用メモリ7を介して行われる。つまり、通信LSI5は、受信データを受信データ用メモリ7に転送し、CPU6は、その受信データ用メモリ7に格納されたデータを取得する処理を行う。これにより、通信LSI5とCPU6は、それぞれ所定のタイミングで受信データ用メモリ7にアクセスし、データの送受を行うことができる。
【0008】
また、本システムのネットワーク4では、通信可能な時期が決まっており、通信LSI5は、割り当てられた所定のタイミングでデータの送受を行うようになっている。従って、受信データ用メモリ7内の「受信データ1」,「受信データ2」,…「受信データn」は、今回の受信処理で受信できた各ノード毎の受信データである。つまり、例えばノードがサーボコントローラ3であり、サーボドライバ2の2つのサーボモータ1からのデータは、1つの受信データ内に格納される。よって、各回毎にnの値は異なることはある。
【0009】
一方、受信データのデータフォーマットの一例を示すと、図3に示すように、ヘッダ部とデータ部に分かれている。ヘッダ部には送信先ノードアドレスや送信元ノードアドレス並びにそれに続くデータ部がどこまでかを特定するためのデータ長などが格納される。そして、データ部に、実際のサーボモータの状態などの伝送すべきデータが格納される。なお、係るフォーマット自体は一般的なものである。
【0010】
さらに、1つの受信データは、ノード単位となっているので、1つのノードに複数のサーボモータ1が接続されている場合には、その複数のサーボモータ1についてのデータが一緒に格納される。なお、各サーボモータに関するデータを軸データと称する。なお、サーボモータに関するデータとしては、例えば、速度データや位置データがある。つまり、サーボドライバがサーボモータの速度制御をする場合には、軸データとして速度データを用いる。また、位置制御をする場合には、軸データとして位置データを用いる。
【0011】
また、サーボコントローラ3からのデータは、軸データである。従って、図1に示すサーボドライバ2から送られてきた受信データは、図3(b)の表現形式をとると、軸データヘッダ部と軸データの組が3組格納されることになる。
【0012】
一方、受信データ用メモリ7に格納されたデータをCPU6が読み出すための処理アルゴリズムは、図4に示すようになっている。すなわち、まず、データが受信されるのを待ち(ST1)、受信完了(たとえば、所定の通信時間終了)された場合には、受信データ処理を行う(ST2)。つまり、ヘッダ部のデータ長を参照し、その受信データのデータ部分を抽出する処理等を行う。
【0013】
次いで、データ部分の各受信データのデータ部に含まれる軸データの処理を行う。つまり、軸データヘッダ部を解釈し、どの軸データについてのデータでそのデータ長がいくつであるかなどを判断する(ST3)。そして、順番に1つの軸データを取得し、その軸データの処理を行う(ST4)。係る軸データ処理を、処理対象の受信データに含まれる軸データについて順次実行する。そして、全ての軸データの処理を実行したならば(ST5の分岐判断でYes)、ステップ6に進み、今回受信した全ての受信データ、つまり、受信データ用メモリ7に格納された全てのデータに対する処理を行ったか否かを判断する(ST6)。そして、未処理の受信データがあると、それに対してステップ2からの処理を実行する。このようにして全ての受信データについての処理を実行すると、今回の受信処理を終了する。
【0014】
なお、実際には、上記したフローチャートに示す処理は、受信データ用メモリ7に対して逐次アクセスして行うのではなく、最初にデータ転送を行い受信データ用メモリ7に格納されたデータをCPU6内の作業メモリ内に格納し、その作業メモリに対してアクセスすることにより実行する。また、ドライバソフト6aが受信データ内の軸データを識別している。
【0015】
【発明が解決しようとする課題】
しかしながら、上記した従来の装置では、ドライバソフト6aが受信データ内の軸データを識別するため、データ受信から最終的な軸データの識別までに、非常に時間がかかってしまう。そのため、CPU6上のプログラムの処理が増えてしまい、プログラムが複雑化するばかりでなく、CPU6の負荷が増大してしまい、高速な処理に対応しきれなくなる。しかも、上記したように、受信データ用メモリ7からCPU6にデータ転送を行うため、CPU6に負荷が更にかかり上記した問題はより顕著となる。
【0016】
さらに、1回の受信処理で受信する軸データ数は不定であるが、最大は全てのサーボドライバ(軸データ)を受信することがあるので、使用する受信データ用メモリ7のメモリ容量は、制御対象の軸の数分だけ用意する必要があり、係る軸数の増加に伴いメモリ資源も増大してしまうという問題も生じる。
【0017】
この発明は、共有メモリに格納された軸データをコントローラに読み出す際に、そのコントローラ(CPU)の負荷を低減するとともに、使用するメモリ容量の削減を図ることができ、ノードひいてはネットワーク全体のスムーズなデータ伝送を可能にするサーボコントローラを提供することを目的とする。
【0018】
【課題を解決するための手段】
この発明によるサーボコントローラは、ネットワークに接続されたサーボコントローラと、複数の制御対象の軸である複数のサーボドライバとの間で時間的に複数の通信フェーズに分けて、繰返しデータ伝送を行い、サーボコントローラがサーボドライバに接続されたサーボモータの状態を示す軸デーを受信するとともにサーボモータそれぞれに対する制御指令データを送信することによりサーボモータそれぞれの動作を制御するシステムにおけるサーボコントローラであって、CPUと通信部とを含む。そして、通信部は、1つの通信フェーズにおいて、サーボモータの状態を示す軸データを受信すると、予め記憶保持された前記軸毎に割り当てられたアドレス情報に基づいて、受信した軸データを、その割り当てられた受信データ用メモリのアドレス領域に格納するとともに、送信データ用メモリに格納された前記CPUからの前記制御指令データをサーボドライバへ送信する機能を備える。また、CPUは、予め確定した通信フェーズ数の繰返しの中で、フェーズ番号を制御することによって現在の通信フェーズ番号から今回の通信フェーズで制御対象となるサーボモータ(軸)を特定し、繰返される通信フェーズにおいて、前記特定した制御対象となるサーボモータの軸データを、予め記憶保持されたフェーズ番号に対応した軸毎に割り当てられたメモリのアドレス情報に基づいて前記受信データ用メモリから取り込み、取り込んだ軸データに基づいて制御指令データを生成し、その生成した制御指令データを送信データ用メモリへ格納する機能を備えるようにした。フェーズ管理機能は、フェーズ管理部22に対応する。
【0019】
前記予め記憶保持されたフェーズ番号に対応した前記軸毎に割り当てられたメモリのアドレス情報は、1つの通信フェーズにおいてデータ伝送の対象となる前記軸データに対しては、その軸毎に前記メモリ上の異なる領域に割り当てるとともに、異なる通信フェーズのそれぞれにおいてデータ伝送の対象となる前記軸データ同士については、割り当て領域を共有して割り当てるようにすると良い。
【0020】
前記通信部は、軸毎に、1つの通信フェーズにおいて新たにデータを書き込んだか否かのステータス情報を記憶する受信データステータス記憶手段を備え、前記メモリの対応するアドレスに前記軸データを格納した際に、対応する軸データのステータス情報をデータ書き込み済みにするようにしたものであり、前記CPUは、前記受信データステータス記憶手段のステータス情報を参照し、データ書き込み済みである旨を認識した軸データのみを前記メモリから読み出し、読み出しを行ったならば該当するステータス情報の設定をクリアするように構成すると良い。ステータス情報を確認することにより、軸データの内容が更新されたもののみをコントローラ(CPU)が読み出すことができる。よって、更新されていない軸データの無駄な読み出しをしなくて済むので、コントローラの負荷が更に軽減される。
【0022】
この発明によれば、通信装置(通信部)が、軸データを軸毎に共有メモリの所定領域に格納するので、コントローラ(CPU)側で軸データヘッダ部を解釈する必要がなくなり、データ受信から軸データ抽出までを高速に行え、プログラムを単純化でき、コントローラ(CPU)の負荷を削減できる。なお、通信装置側はその分負荷が増えるものの、コントローラに比べると、処理する全体量が少ないので、十分対処できる。
【0023】
しかも、本発明では、前記ネットワークに接続される各軸(サーボモータ)の軸データは、複数のフェーズに分けて送受信するとともに、前記軸ごとに記憶する領域は、同一のフェーズで送受信される軸データに対しては前記共有メモリ上の異なる領域に割り当てるとともに、異なるフェーズで送受信する軸データ同士は、同一の領域に割り当てるようにしているので、共有メモリの一つの領域が複数の軸(サーボモータ)の軸データで共有される。その結果、軸(サーボモータ)の総数に比べて、使用するメモリ容量が少なくなる。
【0024】
さらに、軸データを転送,格納する領域を特定し、専用領域とすることにより、共有メモリに格納された受信データを、一旦コントローラ側へ転送する必要もなくなり、軸データを受信データ用の記憶部からコントローラ側のメモリエリアへ転送する処理の必要がなくなり、その点でも処理を高速化できる。
【0027】
さらにまた、軸毎に、データ転送先のコントローラが使用するか否かの情報を記憶する受信制御記憶部を設け、前記データ格納手段は、前記受信制御記憶部をアクセスし、使用する軸データのみを前記共有メモリに格納するようにすると好ましい。
【0028】
係る構成によると、コントローラが必要とする軸データのみが共有メモリに登録されるので、通信装置は不要な軸データを受け取ったとしても、共有メモリに書き込む必要が無く、負荷が軽減される。
【0030】
この発明の以上説明した構成要素は可能な限り組み合わせることができる。この発明によるサーボコントローラを構成する各手段を専用のハードウェア回路によって実現することができるし、プログラムされたコンピュータによって実現することもできる。
【0031】
【発明の実施の形態】
図5は、本発明が適用されるネットワークの一例を示している。図1と比較すると明らかなように、基本的なハードウェア構成は、従来と同様である。すなわち、サーボモータ1に対して通電したり、サーボモータ1の状態(回転角等)を取得するサーボドライバ2と、そのサーボドライバ2とデータ伝送を行うサーボコントローラ3をネットワーク4に接続し、上記データ伝送は、係るネットワーク4を介して行う。
【0032】
そして、サーボコントローラ3からサーボドライバ2に向けて制御指令データを送り、サーボドライバ2は、受け取った制御指令データに従い、サーボモータ1に対する通電量その他を制御し、サーボモータ1が制御指令に即した動作をするように制御する。
【0033】
また、サーボドライバ2は、サーボモータ1の所定位置に設けたセンサの出力から、サーボモータ1の回転角などの状態を取得するので、係るサーボモータ1の状態を、前記制御指令データに対するレスポンスとして、制御フィードバックデータをサーボコントローラ3にデータ伝送する。そして、その制御フィードバックデータを受け取ったサーボコントローラ3は、その受け取ったデータに基づいて次の制御指令データを生成し出力する。以後、上記処理を繰り返し実行することにより、サーボコントローラ3がサーボモータ1の動作をネットワーク4を介して制御することができる。
【0034】
ここで、本実施の形態では、各サーボドライバ2が1つのサーボモータを制御するようにしている。さらに、フェーズ管理を行い、制御指令データ,制御フィードバックデータの送受信を複数のフェーズに分けて実行するようにしている。すなわち、図5に示すように制御対象の軸(サーボドライバ2)が4軸有り、それを2つのフェーズに分けて送受信する場合を想定すると、例えば図6に示すように、まず第1のフェーズではサーボコントローラ3から、軸1,軸2のサーボドライバに対して制御指令データを送り、そのレスポンスとして軸1と軸2のサーボドライバ2から制御フィードバックデータがサーボコントローラ3に向けて送られる。この第1フェーズでは、軸3,軸4のサーボドライバ2とサーボコントローラ3との間ではデータの送受信は行われない。そして、次の第2フェーズでは、サーボコントローラ3から、軸3,軸4のサーボドライバ2に対して制御指令データを送り、そのレスポンスとして軸3と軸4のサーボドライバ2から制御フィードバックデータがサーボコントローラ3に向けて送られる。この第2フェーズでは、軸1,軸2のサーボドライバ2とサーボコントローラ3との間ではデータの送受信は行われない。
【0035】
以後、上記処理を繰り返し行うことにより、2回のフェーズで全ての軸データの送受が行える。もちろん、各フェーズで送受対称となる軸データは、任意の組み合わせを取ることができ、また、フェーズの分割数も任意である(送受信対象の軸の総数等から決定する)。
【0036】
図7は、本発明の好適な一実施の形態を示している。同図に示すように、本実施の形態のノードは、サーボコントローラ3であって、通信LSI10と、CPU20を備えている。
【0037】
そして、通信LSI10は、各種のデータ処理を行う制御部11と、記憶部12を有している。つまり、本形態では、受信データを一時的に記憶する共有メモリも、通信LSI10内に設けている。また、本発明では、通信LSI10の通信処理にIEEE1394を利用している。良く知られているように、IEEE1394には、定期的に優先に送信されるIsochronous Packet、と非同期メッセージとしてAsynchronous Packetがある。Isochronous Packetは、同期パケットで各局が定期的(送信サイクルが125μsec毎)に送信できる。本発明では、軸データをIsochronous Packetで送信する。したがって、125μsecの周期での軸データの送受信が可能となり、換言すると、125μsecの周期でのサーボの制御が可能となる。
【0038】
次に各部について詳述する。制御部11は、ネットワーク4に接続可能で、そのネットワーク4に接続された他のノードとの間でデータ通信可能な通信処理部11aと、受け取った受信データを記憶部12に格納する軸データ指定領域転送部11bを有している。
【0039】
記憶部12には、受信系として、受信データ用メモリ12aと、指定受信領域用メモリ12b並びに軸受信データステータスレジスタ12cを有している。受信データ用メモリ12aは、従来と同様に受信データを記憶するためのメモリ領域であるが、従来と相違するのは軸毎に割り当てたアドレスに格納するようにしている。しかも、1つのアドレスに異なるフェーズで送受信する複数の軸を割り当てるようにしている。そして、その軸データの割り当てを特定する情報を指定受信領域用メモリ12bに格納する。更に、送信系として、送信データを記憶する送信データ用メモリ12gが設けられている。
【0040】
受信系について更に説明する。指定受信領域用メモリ12bに、m個分の軸データを登録する受信データ用メモリ12a内のアドレスを特定する。すなわち、指定受信領域用メモリ12bの「第1指定addr」には、「軸1データ」を格納する受信データ用メモリ12a内のアドレスを記録する。同様に、「第2指定addr」には、「軸2データ」用のアドレスを記録し、…、「第m指定addr」には、「軸mデータ」用のアドレスを記録する。
【0041】
本実施の形態では、m個分の軸データをN回の複数のフェーズで送受信するようにしたため、各フェーズで送受信する軸数を均等に配置すると、1回のフェーズで送信する軸数の最大値Xは、(m/N)個(小数点以下切り上げ)となる。そこで、受信データ用メモリ12a内に、X個分の軸データの格納エリアを確保し、同一のフェーズで送受信する軸を格納する領域(アドレス)を、上記X個分の何れかの格納エリアに割り付ける。従って、受信データ用メモリ12a内の同一のアドレスには、同一のフェーズで送受信する軸データが重複して割り当てられることはないが、異なるフェーズで送信される軸データは、同一のアドレスに割り当てられ、共有することになる。
【0042】
そして、具体例を挙げて説明すると、軸数が6個(m=6)で、3回のフェーズ(N=3)に分けて軸データを送受信することを想定すると、1回のフェーズで送信する軸データ数は、2個となるので、受信データ用メモリ12aと指定受信領域用メモリ12bのデータ構造は、図8に示すようになる。ここでは、受信データ用メモリ12a中の2つのアドレス(「addrA」と「adderB」)を軸データを格納するためのエリアに確保し、「addrA」には軸1データ,軸3データ,軸5データの各データを割り付け、「addrB」には軸2データ,軸4データ,軸6データの各データを割り付ける。そして、実際に各「addrA」と「adderB」にどの軸データが格納されているかは、現在のフェーズを確認することにより認識できる。
【0043】
そして、この記録するアドレスの指定は、CPU20が行う。つまり、初期設定として、CPU20(ドライバソフト21)によって事前に指定受信領域用メモリ12b内の各領域に、m個分の軸データのアドレスを登録する。具体的には、図9に示すフローチャートを実施することにより行う。
【0044】
すなわち、まず、制御対象軸数(m)と通信フェーズ数(N)を確定する(ST11,ST12)。制御対称軸の数は、システム構成から一義的に決定される情報であるので、ユーザが入力した情報を取得する。また、通信フェーズ数は、1回の通信に割り当てられる時間や、1つのデータを操守するために要する時間並びに制御対象軸数などから適正な値が決定される。そして、最適な通信フェーズ数を算出するようにしても良いが、本実施の形態では、このフェーズ数もユーザからの入力により確定する。つまり、ステップ11,12の処理は、いずれもユーザが入力した値を取得し、確定する。
【0045】
次に、1フェーズ値に通信する制御軸数を算出する(ST13)。これは、制御対象軸数(m)を通信フェーズ数(N)で除算し、得られた「商」と「あまり」から簡単に求めることができる。すなわち、1回のフェーズ当りに送受信する軸数は、算出した「商」或いは「商+1」となり、「あまり」の数分だけ「商+1」となる。よって、最大送受信数Xは、「商+1」となるので、受信データ用メモリ12aには、係るX個分の記憶エリアを確保すれば良いことになる。
【0046】
次いで、全軸指定addrを算出する(ST4)。これは、例えば軸番号順に対象となるフェーズ番号と、指定addrを設定する。つまり、先頭からX個分が第1フェーズでの送受信対象とし、X+1番目から2X番目までが第2フェーズでの送受信対象とする。以下、上記「あまり」の回数分だけX個ずつを1つのグループとしてフェーズ番号を設定し、それ以降は、(X−1)個ずつを1つのグループとしてフェーズ番号を設定する。さらに、各フェーズ毎に、最初の軸から順番に、割り当てられた指定addrを割り付ける。これにより、例えば図10に示すようなテーブルが作成される。
【0047】
このようにして全ての軸に対して、フェーズ番号と指定addrを割り振ったならば、実際に指定受信領域用メモリ12bに格納し、前処理としての設定を終了する。また、図10に示したテーブルは、例えばCPU20側で保持したり、各種の記憶部に格納する。
【0048】
そして、実際の稼働時には、軸データ指定領域転送部11bは、通信処理部11aを介して受信した受信データの内容を解析し、軸データ毎に分離する。つまり、本形態における受信データは、図3(c)に示すように、軸データヘッダ部には送信元軸番号と送信先軸番号があり、この軸番号に基づき指定受信領域用メモリ12bをアクセスし、軸データの登録アドレス(指定addr)を読み出し、その読み出したアドレスで特定される受信データ用メモリ12aに、軸データを記憶する。なお、この記憶する軸データは、ヘッダの軸データ長を参照して受信データから対応する部分のデータを読み出すことにより取得できる。
【0049】
一方、CPU20は、各軸データの登録アドレスはわかっている(自己が指定している)とともに、フェーズ管理部22によって、現在のフェーズ番号が制御されるので、図10に示したテーブルにより、現在のフェーズ番号において制御対象となっている軸番号もCPU20側でわかっている。従って、現在受信データ用メモリ12a内の所定アドレスに記録されたデータが、どの軸データのものかがわかるので、係るデータを読み出し、取り込むことができる。
【0050】
ところで、通信LSI(軸データ指定領域転送部11b)側は、現在のフェーズが何番であるかは分からないので、受信した軸データは、そのまま軸番号をキーにして指定受信領域用メモリ12bを参照し、所定の受信データ用メモリ12aの記憶エリアに格納する。このとき、通常であれば、図6にも示したとおり、サーボコントローラ3から、現在のフェーズにおける対象の軸のサーボドライバに対して制御指令データが送られ、そのレスポンスとしてその軸のサーボドライバ2から制御フィードバックデータが返信されてくるので、受信した軸データ指定領域転送部11bは、現在のフェーズが何番であるかを知らなくても、正規の軸データのみを受信し、所望の記憶エリアに格納することができる。
【0051】
しかし、何らかの原因によって、現在のフェーズの対象外の軸データを受信した場合には、受信データ用メモリ12aの同一の記憶エリア(アドレス)を指定addrとする軸データを複数受信することになり、係る場合には、受信した複数のデータをその都度受信データ用メモリ12aに格納する。従って、正規の軸データを先に受信してしまうと、係る記憶エリアに保持されるデータは、その後に受信した正規でない軸データの内容に書きかえられてしまうという問題がある。
【0052】
さらに、正規の軸データが受信できなかった場合には、本来その正規の軸データが格納されるべき記憶エリアには、前回のフェーズの際に受信した軸データが格納されているため、そのままでは、CPU20は誤ったデータを取り込んでしまう。
【0053】
そこで、本実施の形態では、軸受信データステータスレジスタ12cを設け、CPU20は、受信データ用メモリ12aからデータを取り込むに先立ち、このレジスタ内容を参照することにより、正規の軸データのみを取得するようにしている。
【0054】
すなわち、この軸受信データステータスレジスタ12cは、図11に示すように、該当する軸データに最新のデータがあるか否かのステータス情報を格納するものである。ステータスが「1」の場合には、新たに書き込まれたデータがあることを意味し、ステータスが「0」の場合には新たに書き込まれたデータがないことを意味する。
【0055】
従って、CPU20は、読み出すサイクル毎に、軸受信データステータスレジスタ12cを参照し、受信すべき軸データ(ステータスが「1」)を認識し、当該軸データのみを受信データ用メモリ12aから読み出すことになる。係る処理を行うには、軸データ指定領域転送部11bが、軸データを受信データ用メモリ12aに格納した場合に、該当する受信軸のステータスを「1」に設定する。一方、CPU20は、今回のフェーズに伴うデータの読み出しを行ったならば、該当する各受信軸のステータスを「0」に設定(クリア)する。
【0056】
これにより、各フェーズのデータを読み出す前に、軸受信データステータスレジスタ12cを参照し、正常な軸データのみを受信するようにしている。すなわち、今回のフェーズで受信すべきでない受信軸のステータスが「1」になっている場合には、その「1」となった受信軸が格納される指定addrに格納された軸データは、正規のものか否かが確定できない。そこで、係る不定のものは受信しないようにすることにより、誤ったデータに基づく誤動作を防止する。
【0057】
また、今回のフェーズで受信すべき正規の受信軸のステータスが「0」になっている場合には、その「0」である受信軸に割り振られた指定addrには、それ以前のフェーズで受信した他の軸データのものが格納されているので、受信しないようにすることにより、誤ったデータに基づく誤動作を防止する。
【0058】
そして、上記処理を行うためのCPU20の具体的な受信データ取得処理は、図12のフローチャートに示すようになっている。すなわち、CPU20がフェーズの管理をしているので、現フェーズを認識する(ST21)。つまり、現在のフェーズ番号から、今回のフェーズで送受信される軸データの番号を認識する。
【0059】
次に、制御対象外の軸データの受信の有無を判断する(ST22)。具体的には、軸受信データステータスレジスタ12cをアクセスし、今回のフェーズにおける制御対象外の軸データのステータスが、「1」になっているか否かを判断する。そして、「1」になっているものがあると、制御対象外軸受信ありと判断し、異常軸処理を行う(ST23)。この異常軸処理としては、例えば、データログを取ったり、異常を通知することなどがある。さらに、現フェーズでの制御対象外の軸データのステータスと、その軸データと同一の記憶エリア(指定addr)に割り付けられた正規の軸データのステータスを共に「0」にリセットする。
【0060】
ステップ22の分岐判断で「なし」或いはステップ23の処理を実行後、ステップ24に進み、現フェーズの制御対象軸に対する処理を実行する。実際には、ステップ23の異常処理により、制御対象外の軸と、それに関連する正規の軸のステータスが「0」になっているので、軸受信データステータスレジスタ12cでステータスが「1」になっている全ての軸データを読み出す。そして、次のフェーズにおける受信に備え、ステータスを全て「0」にリセットする。
【0061】
その後、現フェーズの番号を1加算した値を次フェーズの番号にセットし(ST25)、その次フェーズが最大フェーズ(X)を越えたか否かを判断する(ST26)。そして、越えた場合には、次フェーズを1にセットし、越えない場合には、ステップ25で求めた番号が、次フェーズに確定する。
係る処理を繰り返し実行することになる。そして、ステップ25から27によって決定された次フェーズが、次回の処理における現フェーズとなる。
【0062】
この図12と図4を比較すると明らかなように、本形態によれば、CPU20は軸データを直接読み出すことができ、受信データ処理や軸データヘッダ解析処理などが不要となるので、処理が簡単に行え、負荷が削減される。
【0063】
一方、軸データの送信系であるが、図7に示したように通信LSI10内の共有メモリたる記憶部12内に送信データ用メモリ12gを設けたことは上述したとおりである。そして、送信データ用メモリ12gには、そのノード(サーボコントローラ3)が今回のフェーズで送受信する相手に対して送信する制御指令データが格納される。そして、CPU20は、送信すべきサーボドライバ2に対する制御指令データを、任意のタイミングで送信データ用メモリ12gに格納する。このとき、CPU20は、フェーズ管理部22により、今回のフェーズで送受信すべき制御指令データ及びそのデータを格納する送信データ用メモリ12g内のアドレスを知っており、軸データ単位(サーボドライバ2単位)で格納することができるようになっている。
【0064】
一方、通信処理部11aは、IEEE1394に従い、125μsec間隔で、軸データを含む送信データ(図3に示すデータ構造)を送信する。つまり、所定のタイミングで送信データ用メモリ12gに格納された全ての軸データを含むデータ(図3(a)の「データ」部分)を、通信処理部11a内のFIFOに書き込み、更に図3(a)に示す「ヘッダ部」を付加して送信データを作成した後、送出する。このFIFOにデータを格納後、送信データを作成・送出する処理は従来と同様である。もちろん、データの書込領域は、FIFOに限るものではなく、他の形式(メモリエリア等)もある。
【0065】
本形態によれば、通信LSI10内に共有メモリである記憶部12を用意し、送信すべき軸データを一旦送信データ用メモリ12gに格納するようにしたため、CPU20は、変更のあった軸データのみを記憶させるだけで、通信LSI10が最終的な送信データを作成し、送出するので処理が軽減される。
【0066】
図13は、本発明の第2の実施の形態を示している。本実施の形態では、軸データ指定領域転送部11bに替えて、軸データ転送領域書込部11dを設けている。また、これに併せて、記憶部12内には、指定受信領域用メモリ12bに替えてインデックスメモリ領域用メモリ12dを設けている。
【0067】
つまり、第1の実施の形態では、受信データ用メモリ12aに格納する軸データのアドレスの指定を、CPU20側から設定するようにしたが、本実施の形態では、通信LSI10(軸データ転送領域書込部11d)側が係るアドレスの指定を行うようにした。
【0068】
具体的には、図14に示すように、初期設定として軸データ転送領域書込部11dがインデックスメモリ領域用メモリ12d内の各領域に、m個分の軸データのアドレスを登録する。このとき、図9に示した処理を行い、フェーズ数と各フェーズでの制御対象(送受信対象)となる軸数を確定し、転送addrの割り付けを行う。
【0069】
そして、実際の稼働時には、軸データ転送領域書込部11dは、通信処理部11aを介して受信した受信データの内容を解析し、軸データ毎に分離し、検出した軸番号に対応する受信データ用メモリ12a内の所定アドレスに軸データを格納する。また、この格納に伴い、軸受信データステータスレジスタ12cのステータスを「1」にセットする。
【0070】
一方、CPU20(ドライバソフト21)は、図12に示すフローチャートを実行し、現在のフェーズ番号に基づき、インデックスメモリ領域用メモリ12dを参照し、現フェーズの対象となっている軸データの転送addrを読み出し、その読み出したアドレスで特定される受信データ用メモリ12aを読み出すことにより、正規の軸データを取得できる。そして、その読み出し等に伴い、該当する受信軸のステータスを「0」に設定(クリア)する。なお、その他の構成並びに作用効果は、上記した第1の実施の形態と同様であるので、対応する部材に同一符号を付し、その詳細な説明を省略する。
【0071】
図15は、本発明の第3の実施の形態を示している。本実施の形態では、記憶部12内の軸受信データステータスレジスタ12cに替えて、軸データ受信制御レジスタ12eを設けている。この軸データ受信制御レジスタ12eは、図16に示すように、CPU20側が必要とする軸番号に該当する軸受信制御レジスタ領域に「1」をセットする。そして、軸データ転送領域書込部11dは、受信データのうち、軸受信制御レジスタ領域に「1」がセットされた軸データのみを書き込む。
【0072】
このようにすると、CPU20が、現フェーズで対象となっている軸データのみを「1」にセットし、他を「0」にセットすることにより、仮に、現フェーズで対象となっていない軸データを受信したとしても、この軸データ受信制御レジスタ12eの値が「0」になっているので、受信データ用メモリ12aには格納されない。よって、図12に示すフローチャートにおける異常判定処理(ST22)は設けなくても良くなり、処理が簡単になり迅速に実行できる。但し、この場合でも、正規の軸データが受信できずに、前回のデータがそのまま残っていることによる対処はできないので、第1の実施の形態のように受信の有無(ステータス)に関する情報を取得しておくと好ましい。
【0073】
なお、その他の構成並びに作用効果は、上記した第1の実施の形態と同様であるので、対応する部材に同一符号を付し、その詳細な説明を省略する。また、本実施の形態では、第1の実施の形態を基本として説明したが、第2の実施の形態を基本として構成することももちろんできる。
【0074】
図17は、本発明の第4の実施の形態を示している。本実施の形態では、上記した第1から第3の実施の形態の機能を組み合わせたものである。そして、本実施の形態では、モード設定部11fを更に設け、軸データ指定領域転送部11bと軸データ転送領域書込部11dを択一的に切り替えるようにしている。また、択一的に使用することにより、指定受信領域・インデックスメモリ領域用メモリ12fを指定受信領域メモリ12bとインデックスメモリ領域用メモリ12dのいずれかの領域として使用することができる。さらに、モード設定部11fは、軸データ受信ステータスレジスタと軸データ受信制御レジスタの使用の有無も設定できるようにしている。
【0075】
更に、上記した各実施の形態では、いずれも受信データを格納する受信データ用メモリ12aを1つ設けた例を示しているが、実際には2個設け、適宜切り替えて使用する。つまり、CPU20がデータを読み出している場合には、通信LSI10(制御部11)が他の受信データ用メモリに対してデータの書き込みを行うようにする。これにより、CPU20と通信LSI10が、ともに任意のタイミングで読み出し或いは書き込み中を行うことができる。この切替は、フラグ管理をすることにより行える。
【0076】
さらにまた、上記した各実施の形態では、記憶部12を通信LSI10内に設けたが、CPU20側に設けても良いし、別途独立した記憶部として設置しても良い。
【0077】
【発明の効果】
以上のように、この発明では、通信装置側で受信データの中から軸データを抽出し、共有メモリには軸データ単位で格納するようにしたため、コントローラは、共有メモリから必要な軸データをそのまま直接読み出すことができるので、コントローラ(CPU)の負荷が軽減され、その軽減された分、他の処理を実行することができ、効率よく高速処理ができる。しかも、複数のフェーズに分けて軸データを送受信するようにしたため、異なるフェーズで送る軸データ同士を同一の記憶エリアに割り当てることができるので、メモリ容量を削減することができる。
【図面の簡単な説明】
【図1】従来のネットワークシステムの一例を示す図である。
【図2】従来のノードの内部構造を示す図である。
【図3】受信データのデータフォーマットの一例を示す図である。
【図4】従来のCPUの機能を示すフローチャートである。
【図5】本発明が適用されるネットワークシステムの一例を示す図である。
【図6】図5に示すネットワークシステムにおけるデータ通信制御の一例を示す図である。
【図7】本発明の第1の実施の形態を示すブロック図である。
【図8】受信データ用メモリと、指定受信領域用メモリのデータ構造の一例並びにそれを使用してデータ伝送をする機能を説明する図である。
【図9】前処理機能を説明するフローチャートである。
【図10】図9に示す前処理機能を実施して得られた各軸データに対して設定されたデータの一例を示すテーブルである。
【図11】軸受信データステータスレジスタのデータ構造の一例並びにそれを使用してデータ伝送をする機能を説明する図である。
【図12】本発明のCPUの機能を示すフローチャートである。
【図13】本発明の第2の実施の形態を示すブロック図である。
【図14】受信データ用メモリと、インデックスメモリ領域用メモリのデータ構造の一例並びにそれを使用してデータ伝送をする機能を説明する図である。
【図15】本発明の第3の実施の形態を示すブロック図である。
【図16】軸データ受信制御レジスタのデータ構造の一例並びにそれを使用してデータ伝送をする機能を説明する図である。
【図17】本発明の第4の実施の形態を示すブロック図である。
【符号の説明】
1 サーボモータ
2 サーボドライバ
3 サーボコントローラ(ノード)
4 ネットワーク
5 通信LSI
6 CPU
7 受信データ用メモリ
11 制御部
11a 通信処理部(受け取る手段)
11b 軸データ指定領域転送部(軸データ識別手段,データ格納手段)
11d 軸データ転送領域書込部(軸データ識別手段,データ格納手段)
11f モード設定部
12 記憶部(共有メモリ)
12a 受信データ用メモリ
12b 指定受信領域用メモリ
12c 軸受信データステータスレジスタ(受信データステータス記憶手段)
12d インデックスメモリ領域用メモリ
12e 軸データ受信制御レジスタ(受信制御記憶部)
12f 指定受信領域・インデックスメモリ領域用メモリ
20 CPU(コントローラ)
21 ドライバソフト(軸データを読み出す機能)
22 フェーズ管理部
[0001]
BACKGROUND OF THE INVENTION
  The present invention relates to a servo controller connected to a network.LaIt is related.
[0002]
[Prior art]
When trying to control the servo motor via a network, for example, as shown in FIG. 1, the servo driver 2 that energizes the servo motor 1 or acquires the state (rotation angle, etc.) of the servo motor 1; A system in which the servo controller 2 and the servo controller 3 that performs data transmission are connected to the network 4 and the data transmission is performed via the network 4 can be assumed.
[0003]
Here, the data transmitted from the servo controller 3 to the servo driver 2 is control command data. The servo driver 2 controls the energization amount and the like for the servo motor 1 according to the received control command data, and controls the servo motor 1 to operate in accordance with the control command.
[0004]
Further, since the servo driver 2 acquires a state such as the rotation angle of the servo motor 1 from the output of a sensor provided at a predetermined position of the servo motor 1, the servo controller 3 uses the state of the servo motor 1 as control feedback data. Transmit data to. The servo controller 3 that has received the control feedback data generates and outputs the next control command data based on the received data. Thereafter, the servo controller 3 can control the operation of the servo motor 1 via the network 4 by repeatedly executing the above processing.
[0005]
By the way, since each node of the servo driver 2 and the servo controller 3 is connected to the network 4 for communication, the internal structure has a communication LSI 5 and a CPU 6.
[0006]
Then, the communication LSI 5 acquires the received data sent to itself, passes the original data portion to the CPU 6, and adds transmission destination and other header information to the transmission data passed from the CPU 6. Thus, the transmission data is generated and transmitted to the network 4 at a predetermined timing. The CPU 6 has a function of executing processing of the main body of each node based on the received data, generating transmission data as necessary, and passing it to the communication LSI 5.
[0007]
By the way, when the received data is transferred from the communication LSI 5 to the CPU 6 in the node, it is actually performed via the reception data memory 7 which is a shared memory as shown in FIG. That is, the communication LSI 5 transfers the received data to the received data memory 7, and the CPU 6 performs processing for acquiring the data stored in the received data memory 7. As a result, the communication LSI 5 and the CPU 6 can access the received data memory 7 at a predetermined timing to transmit and receive data.
[0008]
Also, in the network 4 of this system, the time when communication is possible is determined, and the communication LSI 5 transmits and receives data at the assigned predetermined timing. Therefore, “Received data 1”, “Received data 2”,... “Received data n” in the received data memory 7 are received data for each node that can be received in the current receiving process. That is, for example, the node is the servo controller 3, and data from the two servo motors 1 of the servo driver 2 is stored in one received data. Therefore, the value of n may be different each time.
[0009]
On the other hand, an example of the data format of the received data is divided into a header part and a data part as shown in FIG. The header part stores a transmission destination node address, a transmission source node address, a data length for specifying how far the subsequent data part is, and the like. The data portion stores data to be transmitted such as the actual servo motor state. The format itself is a general format.
[0010]
Furthermore, since one received data is in node units, when a plurality of servo motors 1 are connected to one node, data about the plurality of servo motors 1 are stored together. Data relating to each servo motor is referred to as axis data. Note that data relating to the servo motor includes, for example, speed data and position data. That is, when the servo driver controls the speed of the servo motor, the speed data is used as the axis data. In the case of position control, position data is used as axis data.
[0011]
The data from the servo controller 3 is axis data. Therefore, if the received data sent from the servo driver 2 shown in FIG. 1 takes the expression format of FIG. 3B, three sets of the axis data header part and the axis data are stored.
[0012]
On the other hand, a processing algorithm for the CPU 6 to read data stored in the received data memory 7 is as shown in FIG. That is, first, it waits for data to be received (ST1), and when reception is completed (for example, a predetermined communication time is ended), reception data processing is performed (ST2). That is, referring to the data length of the header part, processing for extracting the data part of the received data is performed.
[0013]
Next, the axis data included in the data portion of each received data in the data portion is processed. That is, the axis data header part is interpreted, and it is determined what data length is the data for which axis data (ST3). Then, one axis data is acquired in order, and the axis data is processed (ST4). Such axis data processing is sequentially executed for the axis data included in the reception data to be processed. If all the axis data has been processed (Yes in the branch determination of ST5), the process proceeds to step 6 for all the received data received this time, that is, all the data stored in the received data memory 7. It is determined whether or not processing has been performed (ST6). If there is unprocessed received data, the processing from step 2 is executed on the received data. When processing for all received data is executed in this way, the current reception processing is terminated.
[0014]
Actually, the processing shown in the above-described flowchart is not performed by sequentially accessing the reception data memory 7, but the data stored in the reception data memory 7 after first transferring data is stored in the CPU 6. Are stored in the working memory and executed by accessing the working memory. Further, the driver software 6a identifies the axis data in the received data.
[0015]
[Problems to be solved by the invention]
However, in the above-described conventional apparatus, since the driver software 6a identifies the axis data in the received data, it takes a very long time from the data reception to the final axis data identification. As a result, the processing of the program on the CPU 6 increases and the program becomes complicated, and the load on the CPU 6 increases, making it impossible to handle high-speed processing. In addition, as described above, since data is transferred from the received data memory 7 to the CPU 6, the load on the CPU 6 is further increased, and the above-described problem becomes more prominent.
[0016]
Furthermore, although the number of axis data received in one reception process is indefinite, the maximum may receive all servo drivers (axis data), so the memory capacity of the received data memory 7 to be used is controlled. It is necessary to prepare as many as the number of target axes, and there is a problem that memory resources increase as the number of axes increases.
[0017]
  The present invention can reduce the load on the controller (CPU) when reading the axis data stored in the shared memory to the controller, and can reduce the memory capacity to be used. Servo controller that enables data transmissionLaThe purpose is to provide.
[0018]
[Means for Solving the Problems]
  A servo controller according to the present invention includes a servo controller connected to a network andIs the axis of multiple controlled objectsDivided into multiple communication phases in time with multiple servo drivers, repeated data transmission is performed, and the servo controller receives axis data indicating the status of the servo motor connected to the servo driver and servo motorRespectivelyBy sending control command data to the servo motorRespectivelyThe servo controller in the system for controlling the operation of the CPU includes a CPU and a communication unit. And the communication unit is in one communication phase, SaWhen the axis data indicating the state of the motor is received, the received axis data is stored in the address area of the allocated reception data memory based on the address information assigned to each axis stored and held in advance. And a function of transmitting the control command data from the CPU stored in the transmission data memory to the servo driver. In addition, the CPUNumber of communication phases determined in advanceIn the repetition ofControl phase numberBy current communication phaseThe servo motor (axis) to be controlled in the current communication phase is identified from the number and repeated.In the communication phaseIdentifiedThe axis data of the servo motor to be controlled, For each axis corresponding to the phase number stored in advanceA function of fetching from the received data memory based on the address information of the memory allocated to the control unit, generating control command data based on the fetched axis data, and storing the generated control command data in the transmission data memory. I did it. The phase management function corresponds to the phase management unit 22.
[0019]
  Corresponding to the phase number stored in advanceSaidPer axisAssigned toMemoryThe address information is for the axis data that is subject to data transmission in one communication phase.Per axisAssigned to different areas on the memory and different communication phasesEach ofIn the above, it is preferable that the axis data to be subjected to data transmission be allocated by sharing an allocation area.
[0020]
  The communication unit isPer axisReceiving data status storage means for storing status information indicating whether or not new data has been written in one communication phase, and when the axis data is stored at a corresponding address in the memory, The status information is set to data written, and the CPU refers to the status information in the received data status storage means, reads only the axis data recognized that data has been written from the memory, It may be configured to clear the setting of the corresponding status information after reading.By checking the status information, the controller (CPU) can read out only the data whose axis data has been updated. Therefore, since it is not necessary to perform unnecessary reading of the axis data that has not been updated, the load on the controller is further reduced.
[0022]
  According to this invention, the communication device(Communication Department)Stored in a predetermined area of the shared memory(CPU)There is no need to interpret the axis data header on the side, data reception to axis data extraction can be performed at high speed, the program can be simplified, and the load on the controller (CPU) can be reduced. Although the load on the communication apparatus side is increased by that amount, the total amount to be processed is smaller than that of the controller, so that it can be dealt with sufficiently.
[0023]
  Moreover, in the present invention, each connected to the networkAxis (servo motor) axisThe data is transmitted and received in a plurality of phases,Per axisSince the axis data transmitted and received in the same phase is allocated to different areas on the shared memory, the axis data transmitted and received in different phases is allocated to the same area. A single area of shared memoryAxis (servo motor) axisShared with data. as a result,Shaft (servo motor)The memory capacity to be used is smaller than the total number.
[0024]
Furthermore, by specifying the area for transferring and storing the axis data and making it a dedicated area, it is not necessary to transfer the received data stored in the shared memory to the controller side once, and the axis data is stored in the storage unit for the received data. This eliminates the need to transfer data from the controller to the memory area on the controller side.
[0027]
  Furthermore,For each axisA reception control storage unit for storing information on whether or not the controller of the data transfer destination is used, and the data storage means accesses the reception control storage unit and stores only the axis data to be used in the shared memory. It is preferable to do so.
[0028]
According to such a configuration, since only axis data required by the controller is registered in the shared memory, even if the communication apparatus receives unnecessary axis data, it is not necessary to write in the shared memory, and the load is reduced.
[0030]
  The above-described components of the present invention can be combined as much as possible. Servo controller according to the present inventionLaEach component means can be realized by a dedicated hardware circuit, or can be realized by a programmed computer.
[0031]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 5 shows an example of a network to which the present invention is applied. As is clear from comparison with FIG. 1, the basic hardware configuration is the same as the conventional one. That is, the servo driver 2 that energizes the servo motor 1 or acquires the state (rotation angle, etc.) of the servo motor 1 and the servo controller 3 that performs data transmission with the servo driver 2 are connected to the network 4. Data transmission is performed via the network 4.
[0032]
Then, control command data is sent from the servo controller 3 to the servo driver 2, and the servo driver 2 controls the energization amount and the like for the servo motor 1 according to the received control command data, and the servo motor 1 conforms to the control command. Control to work.
[0033]
Further, since the servo driver 2 acquires a state such as the rotation angle of the servo motor 1 from the output of a sensor provided at a predetermined position of the servo motor 1, the state of the servo motor 1 is used as a response to the control command data. The control feedback data is transmitted to the servo controller 3. The servo controller 3 that has received the control feedback data generates and outputs the next control command data based on the received data. Thereafter, the servo controller 3 can control the operation of the servo motor 1 via the network 4 by repeatedly executing the above processing.
[0034]
Here, in this embodiment, each servo driver 2 controls one servo motor. Furthermore, phase management is performed, and transmission / reception of control command data and control feedback data is performed in a plurality of phases. That is, assuming that there are four axes to be controlled (servo driver 2) as shown in FIG. 5 and they are transmitted and received divided into two phases, for example, as shown in FIG. Then, control command data is sent from the servo controller 3 to the servo drivers of the axes 1 and 2, and control feedback data is sent from the servo driver 2 of the axes 1 and 2 to the servo controller 3 as a response. In this first phase, no data is transmitted / received between the servo driver 2 and the servo controller 3 of the axes 3 and 4. In the next second phase, control command data is sent from the servo controller 3 to the servo drivers 2 of the axes 3 and 4, and control feedback data from the servo drivers 2 of the axes 3 and 4 is servoed as a response. It is sent to the controller 3. In this second phase, data transmission / reception is not performed between the servo driver 2 and the servo controller 3 of the axes 1 and 2.
[0035]
Thereafter, by repeating the above process, all axis data can be transmitted and received in two phases. Of course, the axis data that is symmetrical between transmission and reception in each phase can take any combination, and the number of divisions of the phase is also arbitrary (determined from the total number of axes to be transmitted and received).
[0036]
FIG. 7 shows a preferred embodiment of the present invention. As shown in the figure, the node of the present embodiment is a servo controller 3 and includes a communication LSI 10 and a CPU 20.
[0037]
The communication LSI 10 includes a control unit 11 that performs various data processing and a storage unit 12. That is, in the present embodiment, a shared memory that temporarily stores received data is also provided in the communication LSI 10. In the present invention, IEEE 1394 is used for communication processing of the communication LSI 10. As is well known, IEEE 1394 includes an isochronous packet that is periodically and preferentially transmitted, and an asynchronous packet as an asynchronous message. The isochronous packet can be transmitted by each station periodically (transmission cycle is every 125 μsec) in a synchronous packet. In the present invention, the axis data is transmitted with an isochronous packet. Therefore, axis data can be transmitted and received at a cycle of 125 μsec, in other words, servo control can be performed at a cycle of 125 μsec.
[0038]
Next, each part will be described in detail. The control unit 11 is connectable to the network 4 and is capable of communicating data with other nodes connected to the network 4, and the axis data designation for storing the received data received in the storage unit 12. An area transfer unit 11b is included.
[0039]
  The storage unit 12 includes a reception data memory 12a, a designated reception area memory 12b, and an axis reception data status register 12c as a reception system. The reception data memory 12a is a memory area for storing reception data as in the conventional case.Per axisIt is stored at the address assigned to. In addition, a plurality of axes that transmit and receive in different phases are assigned to one address. Then, information specifying the allocation of the axis data is stored in the designated reception area memory 12b. Further, a transmission data memory 12g for storing transmission data is provided as a transmission system.
[0040]
The receiving system will be further described. The address in the reception data memory 12a for registering m pieces of axis data is specified in the designated reception area memory 12b. That is, the address in the reception data memory 12a storing the “axis 1 data” is recorded in the “first designation addr” of the designation reception area memory 12b. Similarly, an address for “axis 2 data” is recorded in “second designation addr”,..., An address for “axis m data” is recorded in “mth designation addr”.
[0041]
In the present embodiment, since m pieces of axis data are transmitted and received in a plurality of N phases, if the number of axes transmitted and received in each phase is evenly arranged, the maximum number of axes transmitted in one phase is set. The value X is (m / N) (rounded up after the decimal point). Therefore, a storage area for X axis data is secured in the reception data memory 12a, and an area (address) for storing axes transmitted and received in the same phase is stored in any of the X storage areas. Assign. Therefore, axis data transmitted / received in the same phase is not allocated to the same address in the reception data memory 12a, but axis data transmitted in different phases is allocated to the same address. , Will share.
[0042]
Then, with a specific example, assuming that the number of axes is 6 (m = 6) and axis data is transmitted / received in three phases (N = 3), transmission is performed in one phase. Since the number of axis data to be processed is two, the data structures of the reception data memory 12a and the designated reception area memory 12b are as shown in FIG. Here, two addresses (“addrA” and “adderB”) in the reception data memory 12a are secured in the area for storing the axis data, and “addrA” includes axis 1 data, axis 3 data, and axis 5 Each data of data is allocated, and each data of axis 2 data, axis 4 data, and axis 6 data is allocated to “addrB”. Then, which axis data is actually stored in each “addrA” and “adderB” can be recognized by confirming the current phase.
[0043]
The CPU 20 designates the address to be recorded. That is, as an initial setting, addresses of m pieces of axis data are registered in advance in each area in the designated reception area memory 12b by the CPU 20 (driver software 21). Specifically, this is performed by executing the flowchart shown in FIG.
[0044]
That is, first, the number of control target axes (m) and the number of communication phases (N) are determined (ST11, ST12). Since the number of control symmetry axes is information uniquely determined from the system configuration, information input by the user is acquired. In addition, an appropriate value is determined as the number of communication phases from the time allotted for one communication, the time required to maintain one data, the number of control target axes, and the like. The optimum number of communication phases may be calculated, but in the present embodiment, this number of phases is also determined by input from the user. That is, in the processes of steps 11 and 12, both values input by the user are acquired and confirmed.
[0045]
Next, the number of control axes that communicate with one phase value is calculated (ST13). This can be easily obtained from the obtained “quotient” and “too much” by dividing the number of control target axes (m) by the number of communication phases (N). That is, the number of axes transmitted / received per phase is “quotient” or “quotient + 1” calculated, and “quotient + 1” by the number of “too much”. Therefore, since the maximum transmission / reception number X is “quotient + 1”, it is only necessary to secure such X storage areas in the reception data memory 12a.
[0046]
Next, all axis designation addr is calculated (ST4). For example, the target phase number and the specified addr are set in the order of the axis number. In other words, X pieces from the top are transmission / reception targets in the first phase, and X + 1 to 2Xth are transmission / reception targets in the second phase. In the following, the phase number is set with X as one group for the number of times of “too much”, and thereafter the phase number is set with (X−1) as one group. Further, for each phase, assigned assigned addr is assigned in order from the first axis. Thereby, for example, a table as shown in FIG. 10 is created.
[0047]
If the phase numbers and the specified addr are assigned to all the axes in this way, the phase is actually stored in the specified reception area memory 12b, and the setting as the preprocessing is ended. Further, the table shown in FIG. 10 is held on the CPU 20 side or stored in various storage units, for example.
[0048]
Then, during actual operation, the axis data designation area transfer unit 11b analyzes the content of the received data received via the communication processing unit 11a and separates each axis data. In other words, as shown in FIG. 3C, the received data in this embodiment has a transmission source axis number and a transmission destination axis number in the axis data header part, and the designated reception area memory 12b is accessed based on this axis number. Then, the registered address (designated addr) of the axis data is read, and the axis data is stored in the received data memory 12a specified by the read address. The stored axis data can be obtained by referring to the axis data length of the header and reading the corresponding data from the received data.
[0049]
On the other hand, the CPU 20 knows the registration address of each axis data (designated by itself), and the current phase number is controlled by the phase management unit 22, so the current table number shown in FIG. The axis number to be controlled in the phase number is also known on the CPU 20 side. Accordingly, since the data recorded at the predetermined address in the currently received data memory 12a can be identified as to which axis data, the data can be read and taken in.
[0050]
By the way, since the communication LSI (axis data designation area transfer unit 11b) does not know what number the current phase is, the received axis data is stored in the designated reception area memory 12b using the axis number as a key as it is. Reference is made and stored in a storage area of a predetermined reception data memory 12a. At this time, normally, as shown in FIG. 6, control command data is sent from the servo controller 3 to the servo driver of the target axis in the current phase, and the servo driver 2 of that axis is returned as a response. Since the control feedback data is returned, the received axis data designation area transfer unit 11b receives only the normal axis data without knowing what number the current phase is, and the desired storage area. Can be stored.
[0051]
However, if for some reason axis data that is not subject to the current phase is received, a plurality of axis data having the same storage area (address) in the received data memory 12a as the designated addr will be received. In such a case, the received data is stored in the received data memory 12a each time. Therefore, if normal axis data is received first, there is a problem that data held in the storage area is rewritten to the contents of non-normal axis data received thereafter.
[0052]
Furthermore, if the normal axis data cannot be received, the axis data received during the previous phase is stored in the storage area where the normal axis data should be stored. The CPU 20 takes in incorrect data.
[0053]
Therefore, in the present embodiment, the axis reception data status register 12c is provided, and the CPU 20 refers to the contents of this register prior to fetching data from the reception data memory 12a so as to acquire only normal axis data. I have to.
[0054]
That is, as shown in FIG. 11, the axis reception data status register 12c stores status information indicating whether or not there is the latest data in the corresponding axis data. When the status is “1”, it means that there is newly written data, and when the status is “0”, it means that there is no newly written data.
[0055]
Therefore, the CPU 20 refers to the axis reception data status register 12c for each read cycle, recognizes the axis data to be received (status is “1”), and reads only the axis data from the reception data memory 12a. Become. In order to perform such processing, when the axis data designation area transfer unit 11b stores the axis data in the reception data memory 12a, the status of the corresponding reception axis is set to “1”. On the other hand, if the CPU 20 has read the data associated with the current phase, the CPU 20 sets (clears) the status of each corresponding receiving axis to “0”.
[0056]
Thus, before reading out data of each phase, the axis reception data status register 12c is referred to receive only normal axis data. That is, when the status of the receiving axis that should not be received in this phase is “1”, the axis data stored in the designated addr in which the receiving axis that has become “1” is stored is normal. It is not possible to determine whether or not Therefore, malfunctions based on erroneous data are prevented by preventing such indefinite items from being received.
[0057]
If the status of the normal receiving axis that should be received in this phase is “0”, the designated addr assigned to the receiving axis that is “0” is received in the previous phase. Since other axis data is stored, by preventing the data from being received, malfunctions based on erroneous data are prevented.
[0058]
The specific received data acquisition process of the CPU 20 for performing the above process is as shown in the flowchart of FIG. That is, since the CPU 20 manages the phase, the current phase is recognized (ST21). That is, the axis data number transmitted and received in the current phase is recognized from the current phase number.
[0059]
Next, it is determined whether or not axis data that is not controlled is received (ST22). Specifically, the axis reception data status register 12c is accessed, and it is determined whether or not the status of the axis data that is not controlled in this phase is “1”. Then, if there is an item that is “1”, it is determined that there is reception of a non-control target axis, and abnormal axis processing is performed (ST23). Examples of the abnormal axis processing include taking a data log and notifying an abnormality. Furthermore, both the status of the axis data that is not controlled in the current phase and the status of the normal axis data allocated to the same storage area (designated addr) as the axis data are reset to “0”.
[0060]
After executing “None” in the branch determination of Step 22 or the processing of Step 23, the process proceeds to Step 24, and the processing for the control target axis in the current phase is executed. Actually, the status of the non-controllable axis and the related normal axis are “0” due to the abnormality processing in step 23, so the status is “1” in the axis reception data status register 12c. Read all axis data. Then, all the statuses are reset to “0” in preparation for reception in the next phase.
[0061]
Thereafter, a value obtained by adding 1 to the number of the current phase is set as the number of the next phase (ST25), and it is determined whether or not the next phase exceeds the maximum phase (X) (ST26). If it exceeds, the next phase is set to 1. If not, the number obtained in step 25 is determined as the next phase.
Such processing is repeatedly executed. Then, the next phase determined in steps 25 to 27 becomes the current phase in the next process.
[0062]
As apparent from comparison between FIG. 12 and FIG. 4, according to this embodiment, the CPU 20 can directly read the axis data, and the reception data processing, the axis data header analysis processing, and the like are not required. And the load is reduced.
[0063]
On the other hand, the axis data transmission system is provided with the transmission data memory 12g in the storage unit 12 as the shared memory in the communication LSI 10 as shown in FIG. The transmission data memory 12g stores control command data that the node (servo controller 3) transmits to the other party that transmits and receives in the current phase. Then, the CPU 20 stores the control command data for the servo driver 2 to be transmitted in the transmission data memory 12g at an arbitrary timing. At this time, the CPU 20 knows the control command data to be transmitted / received in the current phase and the address in the transmission data memory 12g for storing the data by the phase management unit 22, and the axis data unit (servo driver 2 unit). Can be stored in.
[0064]
On the other hand, the communication processing unit 11a transmits transmission data including the axis data (data structure shown in FIG. 3) at intervals of 125 μsec in accordance with IEEE1394. That is, data including all the axis data stored in the transmission data memory 12g at a predetermined timing (the “data” portion in FIG. 3A) is written to the FIFO in the communication processing unit 11a, and further FIG. After the “header part” shown in a) is added to create transmission data, it is sent out. Processing for creating and sending transmission data after storing data in this FIFO is the same as in the prior art. Of course, the data writing area is not limited to the FIFO, and there are other formats (such as a memory area).
[0065]
According to the present embodiment, the storage unit 12 that is a shared memory is prepared in the communication LSI 10 and the axis data to be transmitted is temporarily stored in the transmission data memory 12g. Since the communication LSI 10 creates and sends the final transmission data simply by storing the data, the processing is reduced.
[0066]
FIG. 13 shows a second embodiment of the present invention. In the present embodiment, an axis data transfer area writing unit 11d is provided instead of the axis data specifying area transfer unit 11b. In addition to this, an index memory area memory 12d is provided in the storage unit 12 in place of the designated reception area memory 12b.
[0067]
That is, in the first embodiment, the designation of the address of the axis data stored in the received data memory 12a is set from the CPU 20, but in this embodiment, the communication LSI 10 (axis data transfer area document) The addressing section 11d) specifies the address.
[0068]
Specifically, as shown in FIG. 14, the axis data transfer area writing unit 11d registers addresses of m pieces of axis data in each area in the index memory area memory 12d as an initial setting. At this time, the processing shown in FIG. 9 is performed, the number of phases and the number of axes to be controlled (transmission / reception targets) in each phase are determined, and transfer addr is assigned.
[0069]
During actual operation, the axis data transfer area writing unit 11d analyzes the content of the received data received via the communication processing unit 11a, separates the data for each axis data, and receives the received data corresponding to the detected axis number. The axis data is stored at a predetermined address in the memory 12a. With this storage, the status of the axis reception data status register 12c is set to “1”.
[0070]
On the other hand, the CPU 20 (driver software 21) executes the flowchart shown in FIG. 12, refers to the index memory area memory 12d based on the current phase number, and transfers the axis data transfer addr that is the target of the current phase. By reading and reading the received data memory 12a specified by the read address, normal axis data can be acquired. Then, the status of the corresponding receiving axis is set (cleared) to “0” along with the reading or the like. Since other configurations and operational effects are the same as those of the first embodiment described above, the same reference numerals are assigned to corresponding members, and detailed descriptions thereof are omitted.
[0071]
FIG. 15 shows a third embodiment of the present invention. In the present embodiment, an axis data reception control register 12e is provided in place of the axis reception data status register 12c in the storage unit 12. As shown in FIG. 16, the axis data reception control register 12e sets “1” in the axis reception control register area corresponding to the axis number required by the CPU 20 side. Then, the axis data transfer area writing unit 11d writes only the axis data in which “1” is set in the axis reception control register area among the received data.
[0072]
In this case, the CPU 20 sets only the axis data targeted in the current phase to “1” and sets the others to “0”, so that the axis data that is not targeted in the current phase. Is not stored in the reception data memory 12a because the value of the axis data reception control register 12e is "0". Therefore, it is not necessary to provide the abnormality determination process (ST22) in the flowchart shown in FIG. 12, and the process is simplified and can be executed quickly. However, even in this case, it is impossible to deal with the fact that the normal axis data cannot be received and the previous data remains as it is, so information on the presence / absence (status) of reception is acquired as in the first embodiment. It is preferable to keep it.
[0073]
Since other configurations and operational effects are the same as those of the first embodiment described above, the same reference numerals are assigned to corresponding members, and detailed descriptions thereof are omitted. Further, in the present embodiment, the description has been made based on the first embodiment, but it is of course possible to configure based on the second embodiment.
[0074]
FIG. 17 shows a fourth embodiment of the present invention. In the present embodiment, the functions of the first to third embodiments described above are combined. In the present embodiment, a mode setting unit 11f is further provided to selectively switch between the axis data designation area transfer unit 11b and the axis data transfer area writing unit 11d. Alternatively, the designated reception area / index memory area memory 12f can be used as either one of the designated reception area memory 12b and the index memory area memory 12d. Further, the mode setting unit 11f can set whether or not to use the axis data reception status register and the axis data reception control register.
[0075]
Further, in each of the above-described embodiments, an example is shown in which one reception data memory 12a for storing reception data is provided. That is, when the CPU 20 is reading data, the communication LSI 10 (control unit 11) writes data to another received data memory. Thereby, both the CPU 20 and the communication LSI 10 can perform reading or writing at an arbitrary timing. This switching can be performed by flag management.
[0076]
Furthermore, in each of the above-described embodiments, the storage unit 12 is provided in the communication LSI 10, but it may be provided on the CPU 20 side or may be installed as a separate storage unit.
[0077]
【The invention's effect】
As described above, according to the present invention, the axis data is extracted from the received data on the communication device side and stored in the shared memory in units of axis data. Therefore, the controller stores the necessary axis data from the shared memory as it is. Since data can be read directly, the load on the controller (CPU) is reduced, and other processing can be executed by the reduced amount, and high-speed processing can be performed efficiently. In addition, since the axis data is transmitted and received in a plurality of phases, the axis data sent in different phases can be assigned to the same storage area, so that the memory capacity can be reduced.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating an example of a conventional network system.
FIG. 2 is a diagram showing an internal structure of a conventional node.
FIG. 3 is a diagram illustrating an example of a data format of received data.
FIG. 4 is a flowchart showing functions of a conventional CPU.
FIG. 5 is a diagram showing an example of a network system to which the present invention is applied.
6 is a diagram showing an example of data communication control in the network system shown in FIG. 5. FIG.
FIG. 7 is a block diagram showing a first embodiment of the present invention.
FIG. 8 is a diagram for explaining an example of a data structure of a reception data memory and a designated reception area memory and a function of performing data transmission using the memory structure;
FIG. 9 is a flowchart illustrating a preprocessing function.
10 is a table showing an example of data set for each axis data obtained by executing the preprocessing function shown in FIG. 9; FIG.
FIG. 11 is a diagram illustrating an example of a data structure of an axis reception data status register and a function of performing data transmission using the data structure.
FIG. 12 is a flowchart illustrating functions of a CPU according to the present invention.
FIG. 13 is a block diagram showing a second embodiment of the present invention.
FIG. 14 is a diagram illustrating an example of a data structure of a reception data memory and an index memory area memory and a function of performing data transmission using the memory structure.
FIG. 15 is a block diagram showing a third embodiment of the present invention.
FIG. 16 is a diagram illustrating an example of a data structure of an axis data reception control register and a function of performing data transmission using the axis data reception control register.
FIG. 17 is a block diagram showing a fourth embodiment of the present invention.
[Explanation of symbols]
1 Servo motor
2 Servo driver
3 Servo controller (node)
4 network
5 Communication LSI
6 CPU
7 Received data memory
11 Control unit
11a Communication processing unit (means for receiving)
11b Axis data designation area transfer unit (axis data identification means, data storage means)
11d Axis data transfer area writing unit (axis data identification means, data storage means)
11f mode setting section
12 Storage unit (shared memory)
12a Received data memory
12b Designated reception area memory
12c Axis reception data status register (reception data status storage means)
12d Memory for index memory area
12e Axis data reception control register (reception control storage unit)
12f Designated reception area / index memory area memory
20 CPU (controller)
21 Driver software (function to read axis data)
22 Phase Management Department

Claims (3)

ネットワークに接続されたサーボコントローラと、複数の制御対象の軸であるサーボドライバとの間で時間的に複数の通信フェーズに分けて、繰返しデータ伝送を行い、サーボコントローラがサーボドライバに接続されたサーボモータそれぞれの状態を示す軸データを受信するとともにサーボモータそれぞれに対する制御指令データを送信することによりサーボモータの動作を制御するシステムにおけるサーボコントローラであって、
CPUと通信部とを含み、
前記通信部は、1つの通信フェーズにおいて、サーボモータの状態を示す軸データを受信すると、予め記憶保持された前記軸毎に割り当てられたアドレス情報に基づいて、受信した軸データを、その割り当てられた受信データ用メモリのアドレス領域に格納するとともに、送信データ用メモリに格納された前記CPUからの前記制御指令データをサーボドライバへ送信する機能を備え、
前記CPUは、予め確定した通信フェーズ数の繰返しの中で、フェーズ番号を制御することによって現在の通信フェーズ番号から今回の通信フェーズで制御対象となるサーボモータを特定し、繰返される通信フェーズにおいて、前記特定した制御対象となるサーボモータの軸データを、予め記憶保持されたフェーズ番号に対応した軸毎に割り当てられたメモリのアドレス情報に基づいて前記受信データ用メモリから取り込み、取り込んだ軸データに基づいて制御指令データを生成し、その生成した制御指令データを送信データ用メモリへ格納する機能を備えた
ことを特徴とするサーボコントローラ。
The servo controller connected to the servo driver is connected to the servo driver by repeatedly transmitting data repeatedly in multiple communication phases in time between the servo controller connected to the network and the servo driver that is the axis to be controlled. A servo controller in a system for controlling the operation of a servo motor by receiving axis data indicating the state of each motor and transmitting control command data for each servo motor,
Including a CPU and a communication unit,
The communication unit, one, communication phase odor receives the shaft data indicating the state of the servomotor, on the basis of a prestored retained the shaft assigned address information for each, the axis data received, the assignment A function of transmitting the control command data from the CPU stored in the transmission data memory to the servo driver, and storing the received data in the address area of the received data memory,
The CPU identifies the servo motor to be controlled in the current communication phase from the current communication phase number by controlling the phase number in the repetition of the predetermined number of communication phases, and in the repeated communication phase, The axis data of the specified servo motor to be controlled is fetched from the received data memory based on the memory address information assigned to each axis corresponding to the phase number stored and held in advance , and the fetched axis data is converted into the fetched axis data. A servo controller comprising a function of generating control command data based on the data and storing the generated control command data in a transmission data memory.
前記予め記憶保持されたフェーズ番号に対応した前記軸毎に割り当てられたメモリのアドレス情報は、
1つの通信フェーズにおいてデータ伝送の対象となる前記軸データに対しては、その軸毎に前記メモリ上の異なる領域に割り当てるとともに、
異なる通信フェーズのそれぞれにおいてデータ伝送の対象となる前記軸データ同士については、割り当て領域を共有して割り当てることを特徴とする請求項1記載のサーボコントローラ。
Memory address information assigned to each axis corresponding to the previously stored and stored phase number is:
For the axis data to be subject to data transmission in one communication phase, each axis is assigned to a different area on the memory, and
2. The servo controller according to claim 1, wherein the axis data to be subjected to data transmission in each of different communication phases are allocated by sharing an allocation area.
前記通信部は、軸毎に、1つの通信フェーズにおいて新たにデータを書き込んだか否かのステータス情報を記憶する受信データステータス記憶手段を備え、前記メモリの対応するアドレスに前記軸データを格納した際に、対応する軸データのステータス情報をデータ書き込み済みにするようにしたものであり、
前記CPUは、前記受信データステータス記憶手段のステータス情報を参照し、データ書き込み済みである旨を認識した軸データのみを前記メモリから読み出し、読み出しを行ったならば該当するステータス情報の設定をクリアすることを特徴とする
請求項1または2に記載のサーボコントローラ。
The communication unit includes reception data status storage means for storing status information as to whether or not data has been newly written in one communication phase for each axis, and when the axis data is stored at a corresponding address in the memory In addition, the status information of the corresponding axis data is made to have data written,
The CPU refers to the status information in the received data status storage means, reads only the axis data recognized that data has been written from the memory, and clears the status information setting if read. The servo controller according to claim 1 or 2, wherein
JP2002069915A 2002-03-14 2002-03-14 Servo controller Expired - Fee Related JP4164270B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002069915A JP4164270B2 (en) 2002-03-14 2002-03-14 Servo controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002069915A JP4164270B2 (en) 2002-03-14 2002-03-14 Servo controller

Publications (2)

Publication Number Publication Date
JP2003271203A JP2003271203A (en) 2003-09-26
JP4164270B2 true JP4164270B2 (en) 2008-10-15

Family

ID=29200623

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002069915A Expired - Fee Related JP4164270B2 (en) 2002-03-14 2002-03-14 Servo controller

Country Status (1)

Country Link
JP (1) JP4164270B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4596153B2 (en) * 2003-10-02 2010-12-08 オムロン株式会社 Programmable controller, controller system, and variable solution method

Also Published As

Publication number Publication date
JP2003271203A (en) 2003-09-26

Similar Documents

Publication Publication Date Title
CN112416840B (en) Remote mapping method, device, equipment and storage medium for computing resources
JP4344576B2 (en) Packet communication device
US20030060285A1 (en) Network game system, network game server, and network game terminal
CN112347015B (en) Communication device and method between heterogeneous multiprocessors of system on chip
CN102165739A (en) Reliable reception of messages written via RDMA using hashing
EP4155925A1 (en) Data transmission method, processor system, and memory access system
US11409679B2 (en) System component and use of a system component
KR100799305B1 (en) High-Performance Cryptographic Device using Multiple Ciphercores and its Operation Method
JP3551905B2 (en) Management station, network system, and communication method in network system
US20200053024A1 (en) Method of transferring mirror packet and system for transferring mirror packet
US10169279B2 (en) Input/output control device, input/output control system, and input/output control method for conversion of logical address of instruction into local address of device specified in instruction
JP4164270B2 (en) Servo controller
US7245615B1 (en) Multi-link protocol reassembly assist in a parallel 1-D systolic array system
KR102303424B1 (en) Direct memory access control device for at least one processing unit having a random access memory
EP4044041A1 (en) Data processing device and data processing system
KR100350315B1 (en) Apparatus And Method For Remote Input/Output Control In Real-time System
JP2003271209A (en) Control device, expansion device and programming tool
CN114866534B (en) Image processing method, device, equipment and medium
JP3016788B2 (en) Device communication / cache matching processing method
JP2001268094A (en) Mode unit, information processing system provided with the mode units, and parameter exchange method
JP2002328703A (en) Communication equipment and node
WO2022226998A1 (en) Apparatus and method for executing atomic operations
JP3961794B2 (en) Proxy server control program
JP3339442B2 (en) Communication processing system network
JP3265026B2 (en) I / O data exchange method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080122

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080324

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080416

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080616

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080715

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080728

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110801

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110801

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120801

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130801

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees