JP2003271203A - 通信装置及びノード - Google Patents
通信装置及びノードInfo
- Publication number
- JP2003271203A JP2003271203A JP2002069915A JP2002069915A JP2003271203A JP 2003271203 A JP2003271203 A JP 2003271203A JP 2002069915 A JP2002069915 A JP 2002069915A JP 2002069915 A JP2002069915 A JP 2002069915A JP 2003271203 A JP2003271203 A JP 2003271203A
- Authority
- JP
- Japan
- Prior art keywords
- data
- axis
- received
- axis data
- area
- 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.)
- Granted
Links
Landscapes
- Computer And Data Communications (AREA)
- Control By Computers (AREA)
- Information Transfer Systems (AREA)
Abstract
送するに際し、読み出す際に、そのCPUの負荷を低減
させることのできる通信装置を提供すること 【解決手段】 受信した各サーボモータに関する情報で
ある軸データを、受信データ用メモリ12aを介してノ
ード内のCPU20へデータ伝送するに際し、受信デー
タ用メモリには、予め各軸データ毎に記憶する領域を設
定するとともに、その各軸データ用の領域(指定add
r)を軸データ受信制御レジスタ12eに登録する。各
軸データは、複数のフェーズに分けて送受信するととも
に、異なるフェーズで送受信する軸データ同士は、同一
の領域に割り当てる。制御部11は、ネットワークを介
して送られてくる受信データを受け取ると、受信データ
内の軸データを識別するとともに、レジスタ12eを参
照し識別された軸データの登録すべきアドレスを取得
し、該当するアドレスに格納する。
Description
接続される通信装置及びノードに関するものである。
ントロールしようとした場合、例えば、図1に示すよう
に、サーボモータ1に対して通電したり、サーボモータ
1の状態(回転角等)を取得するサーボドライバ2と、
そのサーボドライバ2とデータ伝送を行うサーボコント
ローラ3をネットワーク4に接続し、上記データ伝送
は、係るネットワーク4を介して行うようなシステムが
想定できる。
ドライバ2に向けて伝送するデータは、制御指令データ
である。サーボドライバ2は、受け取った制御指令デー
タに従い、サーボモータ1に対する通電量その他を制御
し、サーボモータ1が制御指令に即した動作をするよう
に制御する。
1の所定位置に設けたセンサの出力から、サーボモータ
1の回転角などの状態を取得するので、係るサーボモー
タ1の状態を、制御フィードバックデータとしてサーボ
コントローラ3にデータ伝送する。そして、その制御フ
ィードバックデータを受け取ったサーボコントローラ3
は、その受け取ったデータに基づいて次の制御指令デー
タを生成し出力する。以後、上記処理を繰り返し実行す
ることにより、サーボコントローラ3がサーボモータ1
の動作をネットワーク4を介して制御することができ
る。
ボコントローラ3の各ノードは、いずれもネットワーク
4に接続されて通信を行うことから、その内部構造は、
通信LSI5と、CPU6を有している。
れてきた受信データを取得するとともに、本来のデータ
部分をCPU6に渡したり、CPU6から渡された送信
用のデータに対し、送信先その他のヘッダ情報を付加し
て送信データを生成するとともに、所定のタイミングで
ネットワーク4上に送信したりする機能を有する。CP
U6は、受信したデータに基づき各ノードの本体の処理
を実行し、必要に応じて送信データを生成し、通信LS
I5に渡す機能を有する。
からCPU6へ受信したデータを転送する場合、実際に
は、図2に示すように、共有メモリである受信データ用
メモリ7を介して行われる。つまり、通信LSI5は、
受信データを受信データ用メモリ7に転送し、CPU6
は、その受信データ用メモリ7に格納されたデータを取
得する処理を行う。これにより、通信LSI5とCPU
6は、それぞれ所定のタイミングで受信データ用メモリ
7にアクセスし、データの送受を行うことができる。
通信可能な時期が決まっており、通信LSI5は、割り
当てられた所定のタイミングでデータの送受を行うよう
になっている。従って、受信データ用メモリ7内の「受
信データ1」,「受信データ2」,…「受信データn」
は、今回の受信処理で受信できた各ノード毎の受信デー
タである。つまり、例えばノードがサーボコントローラ
3であり、サーボドライバ2の2つのサーボモータ1か
らのデータは、1つの受信データ内に格納される。よっ
て、各回毎にnの値は異なることはある。
一例を示すと、図3に示すように、ヘッダ部とデータ部
に分かれている。ヘッダ部には送信先ノードアドレスや
送信元ノードアドレス並びにそれに続くデータ部がどこ
までかを特定するためのデータ長などが格納される。そ
して、データ部に、実際のサーボモータの状態などの伝
送すべきデータが格納される。なお、係るフォーマット
自体は一般的なものである。
となっているので、1つのノードに複数のサーボモータ
1が接続されている場合には、その複数のサーボモータ
1についてのデータが一緒に格納される。なお、各サー
ボモータに関するデータを軸データと称する。なお、サ
ーボモータに関するデータとしては、例えば、速度デー
タや位置データがある。つまり、サーボドライバがサー
ボモータの速度制御をする場合には、軸データとして速
度データを用いる。また、位置制御をする場合には、軸
データとして位置データを用いる。
は、軸データである。従って、図1に示すサーボドライ
バ2から送られてきた受信データは、図3(b)の表現
形式をとると、軸データヘッダ部と軸データの組が3組
格納されることになる。
データをCPU6が読み出すための処理アルゴリズム
は、図4に示すようになっている。すなわち、まず、デ
ータが受信されるのを待ち(ST1)、受信完了(たと
えば、所定の通信時間終了)された場合には、受信デー
タ処理を行う(ST2)。つまり、ヘッダ部のデータ長
を参照し、その受信データのデータ部分を抽出する処理
等を行う。
タ部に含まれる軸データの処理を行う。つまり、軸デー
タヘッダ部を解釈し、どの軸データについてのデータで
そのデータ長がいくつであるかなどを判断する(ST
3)。そして、順番に1つの軸データを取得し、その軸
データの処理を行う(ST4)。係る軸データ処理を、
処理対象の受信データに含まれる軸データについて順次
実行する。そして、全ての軸データの処理を実行したな
らば(ST5の分岐判断でYes)、ステップ6に進
み、今回受信した全ての受信データ、つまり、受信デー
タ用メモリ7に格納された全てのデータに対する処理を
行ったか否かを判断する(ST6)。そして、未処理の
受信データがあると、それに対してステップ2からの処
理を実行する。このようにして全ての受信データについ
ての処理を実行すると、今回の受信処理を終了する。
に示す処理は、受信データ用メモリ7に対して逐次アク
セスして行うのではなく、最初にデータ転送を行い受信
データ用メモリ7に格納されたデータをCPU6内の作
業メモリ内に格納し、その作業メモリに対してアクセス
することにより実行する。また、ドライバソフト6aが
受信データ内の軸データを識別している。
た従来の装置では、ドライバソフト6aが受信データ内
の軸データを識別するため、データ受信から最終的な軸
データの識別までに、非常に時間がかかってしまう。そ
のため、CPU6上のプログラムの処理が増えてしま
い、プログラムが複雑化するばかりでなく、CPU6の
負荷が増大してしまい、高速な処理に対応しきれなくな
る。しかも、上記したように、受信データ用メモリ7か
らCPU6にデータ転送を行うため、CPU6に負荷が
更にかかり上記した問題はより顕著となる。
タ数は不定であるが、最大は全てのサーボドライバ(軸
データ)を受信することがあるので、使用する受信デー
タ用メモリ7のメモリ容量は、制御対象の軸の数分だけ
用意する必要があり、係る軸数の増加に伴いメモリ資源
も増大してしまうという問題も生じる。
ータをコントローラに読み出す際に、そのコントローラ
(CPU)の負荷を低減するとともに、使用するメモリ
容量の削減を図ることができ、ノードひいてはネットワ
ーク全体のスムーズなデータ伝送を可能にする通信装置
及びノードを提供することを目的とする。
は、ネットワークに接続されたノード間でデータ伝送を
行い、所定のノードに接続されたサーボモータの動作を
制御するシステムにおける前記ノード用の通信装置であ
って、受信した各サーボモータに関する情報である軸デ
ータを、共有メモリを介して前記ノード内のコントロー
ラへデータ伝送するものである。そして、前記共有メモ
リには、予め各軸データ毎に記憶する領域を設定すると
ともに、その各軸データ用の領域を特定するための領域
情報を記憶保持させる。そして、前記ネットワークを介
して送られてくる受信データを受け取る手段と、前記受
信データ内の軸データを識別する識別手段と、その識別
手段により識別された軸データを、前記領域情報により
指定された前記共有メモリ内の領域に格納するデータ格
納手段とを備える。さらに、前記ネットワークに接続さ
れる各軸データは、複数のフェーズに分けて送受信する
とともに、前記各軸データごとに記憶する領域は、同一
のフェーズで送受信される軸データに対しては前記共有
メモリ上の異なる領域に割り当てるとともに、異なるフ
ェーズで送受信する軸データ同士は、同一の領域に割り
当てるようにした。これは、第1の実施の形態で実現さ
れている。
施の形態では、軸データ指定領域転送部11bにより実
現されているが、機能毎に分けて構成してももちろん良
い。また、コントローラは、実施の形態ではCPU20
に対応する。更に、「各軸データ毎に記憶する領域」が
受信データ用メモリ12aに対応する。また、領域情報
は、実施の形態では、コントローラが登録するようにし
ているが、本発明はこれに限ることはなく、ツール装置
その他を用いて予め別途登録しておいても良い。さら
に、「サーボモータに関する情報」とは、実施の形態で
は、サーボモータから得られた情報、つまり、フィード
バックデータに対応する。
クに接続されたノード間でデータ伝送を行い、所定のノ
ードに接続されたサーボモータの動作を制御するシステ
ムにおける前記ノード用の通信装置であって、受信した
各サーボモータに関する情報である軸データを、共有メ
モリを介して前記ノード内のコントローラへデータ伝送
するものであり、前記ネットワークを介して送られてく
る受信データを受け取る手段と、前記受信データ内の軸
データを識別する識別手段と、その識別手段により識別
された軸データを、軸データ毎に前記共有メモリの所定
領域に格納するデータ格納手段と、その格納した領域を
特定するための領域情報を前記共有メモリに書き込む領
域情報書込手段を備え、さらに、前記ネットワークに接
続される各軸データは、複数のフェーズに分けて送受信
するとともに、前記各軸データごとに記憶する領域は、
同一のフェーズで送受信される軸データに対しては前記
共有メモリ上の異なる領域に割り当てるとともに、異な
るフェーズで送受信する軸データ同士は、同一の領域に
割り当てるように構成することもできる。これは、第2
の実施の形態で実現されている。
情報書込手段は、実施の形態では、軸データ転送領域書
込部11dにより実現されているが、機能毎に分けて構
成してももちろん良い。また、領域情報書込手段におけ
る領域情報の書込タイミングは、動作の開始前に予め行
っても良いし、軸データを書き込む都度行っても良い。
毎に共有メモリの所定領域に格納するので、コントロー
ラ側で軸データヘッダ部を解釈する必要がなくなり、デ
ータ受信から軸データ抽出までを高速に行え、プログラ
ムを単純化でき、コントローラ(CPU)の負荷を削減
できる。なお、通信装置側はその分負荷が増えるもの
の、コントローラに比べると、処理する全体量が少ない
ので、十分対処できる。
接続される各軸データは、複数のフェーズに分けて送受
信するとともに、前記各軸データごとに記憶する領域
は、同一のフェーズで送受信される軸データに対しては
前記共有メモリ上の異なる領域に割り当てるとともに、
異なるフェーズで送受信する軸データ同士は、同一の領
域に割り当てるようにしているので、共有メモリの一つ
の領域が複数の軸データで共有される。その結果、軸デ
ータの総数に比べて、使用するメモリ容量が少なくな
る。
特定し、専用領域とすることにより、共有メモリに格納
された受信データを、一旦コントローラ側へ転送する必
要もなくなり、軸データを受信データ用の記憶部からコ
ントローラ側のメモリエリアへ転送する処理の必要がな
くなり、その点でも処理を高速化できる。
否かのステータス情報を記憶する受信データステータス
記憶手段を設け、前記データ格納手段が前記共有メモリ
に格納した際に、前記ステータス情報をデータ格納済み
にするようにするとよい。
データの内容が更新されたもののみをコントローラが読
み出すことができる。よって、更新されていない軸デー
タの無駄な読み出しをしなくて済むので、コントローラ
の負荷が更に軽減される。
先のコントローラが使用するか否かの情報を記憶する受
信制御記憶部を設け、前記データ格納手段は、前記受信
制御記憶部をアクセスし、使用する軸データのみを前記
共有メモリに格納するようにすると好ましい。
する軸データのみが共有メモリに登録されるので、通信
装置は不要な軸データを受け取ったとしても、共有メモ
リに書き込む必要が無く、負荷が軽減される。
通信装置と、前記共有メモリと、その共有メモリに書き
込まれた軸データを読み出す機能を持つコントローラと
を備えて構成することができる。
限り組み合わせることができる。この発明による通信装
置及びノードを構成する各手段を専用のハードウェア回
路によって実現することができるし、プログラムされた
コンピュータによって実現することもできる。
トワークの一例を示している。図1と比較すると明らか
なように、基本的なハードウェア構成は、従来と同様で
ある。すなわち、サーボモータ1に対して通電したり、
サーボモータ1の状態(回転角等)を取得するサーボド
ライバ2と、そのサーボドライバ2とデータ伝送を行う
サーボコントローラ3をネットワーク4に接続し、上記
データ伝送は、係るネットワーク4を介して行う。
ドライバ2に向けて制御指令データを送り、サーボドラ
イバ2は、受け取った制御指令データに従い、サーボモ
ータ1に対する通電量その他を制御し、サーボモータ1
が制御指令に即した動作をするように制御する。
1の所定位置に設けたセンサの出力から、サーボモータ
1の回転角などの状態を取得するので、係るサーボモー
タ1の状態を、前記制御指令データに対するレスポンス
として、制御フィードバックデータをサーボコントロー
ラ3にデータ伝送する。そして、その制御フィードバッ
クデータを受け取ったサーボコントローラ3は、その受
け取ったデータに基づいて次の制御指令データを生成し
出力する。以後、上記処理を繰り返し実行することによ
り、サーボコントローラ3がサーボモータ1の動作をネ
ットワーク4を介して制御することができる。
イバ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との間ではデータの送受信は行われない。
り、2回のフェーズで全ての軸データの送受が行える。
もちろん、各フェーズで送受対称となる軸データは、任
意の組み合わせを取ることができ、また、フェーズの分
割数も任意である(送受信対象の軸の総数等から決定す
る)。
している。同図に示すように、本実施の形態のノード
は、サーボコントローラ3であって、通信LSI10
と、CPU20を備えている。
処理を行う制御部11と、記憶部12を有している。つ
まり、本形態では、受信データを一時的に記憶する共有
メモリも、通信LSI10内に設けている。また、本発
明では、通信LSI10の通信処理にIEEE1394
を利用している。良く知られているように、IEEE1
394には、定期的に優先に送信されるIsochro
nous Packet、と非同期メッセージとしてA
synchronous Packetがある。Iso
chronous Packetは、同期パケットで各
局が定期的(送信サイクルが125μsec毎)に送信
できる。本発明では、軸データをIsochronou
s Packetで送信する。したがって、125μs
ecの周期での軸データの送受信が可能となり、換言す
ると、125μsecの周期でのサーボの制御が可能と
なる。
は、ネットワーク4に接続可能で、そのネットワーク4
に接続された他のノードとの間でデータ通信可能な通信
処理部11aと、受け取った受信データを記憶部12に
格納する軸データ指定領域転送部11bを有している。
タ用メモリ12aと、指定受信領域用メモリ12b並び
に軸受信データステータスレジスタ12cを有してい
る。受信データ用メモリ12aは、従来と同様に受信デ
ータを記憶するためのメモリ領域であるが、従来と相違
するのは軸データ毎に割り当てたアドレスに格納するよ
うにしている。しかも、1つのアドレスに異なるフェー
ズで送受信する複数の軸を割り当てるようにしている。
そして、その軸データの割り当てを特定する情報を指定
受信領域用メモリ12bに格納する。更に、送信系とし
て、送信データを記憶する送信データ用メモリ12gが
設けられている。
域用メモリ12bに、m個分の軸データを登録する受信
データ用メモリ12a内のアドレスを特定する。すなわ
ち、指定受信領域用メモリ12bの「第1指定add
r」には、「軸1データ」を格納する受信データ用メモ
リ12a内のアドレスを記録する。同様に、「第2指定
addr」には、「軸2データ」用のアドレスを記録
し、…、「第m指定addr」には、「軸mデータ」用
のアドレスを記録する。
回の複数のフェーズで送受信するようにしたため、各フ
ェーズで送受信する軸数を均等に配置すると、1回のフ
ェーズで送信する軸数の最大値Xは、(m/N)個(小
数点以下切り上げ)となる。そこで、受信データ用メモ
リ12a内に、X個分の軸データの格納エリアを確保
し、同一のフェーズで送受信する軸を格納する領域(ア
ドレス)を、上記X個分の何れかの格納エリアに割り付
ける。従って、受信データ用メモリ12a内の同一のア
ドレスには、同一のフェーズで送受信する軸データが重
複して割り当てられることはないが、異なるフェーズで
送信される軸データは、同一のアドレスに割り当てら
れ、共有することになる。
が6個(m=6)で、3回のフェーズ(N=3)に分け
て軸データを送受信することを想定すると、1回のフェ
ーズで送信する軸データ数は、2個となるので、受信デ
ータ用メモリ12aと指定受信領域用メモリ12bのデ
ータ構造は、図8に示すようになる。ここでは、受信デ
ータ用メモリ12a中の2つのアドレス(「addr
A」と「adderB」)を軸データを格納するための
エリアに確保し、「addrA」には軸1データ,軸3
データ,軸5データの各データを割り付け、「addr
B」には軸2データ,軸4データ,軸6データの各デー
タを割り付ける。そして、実際に各「addrA」と
「adderB」にどの軸データが格納されているか
は、現在のフェーズを確認することにより認識できる。
CPU20が行う。つまり、初期設定として、CPU2
0(ドライバソフト21)によって事前に指定受信領域
用メモリ12b内の各領域に、m個分の軸データのアド
レスを登録する。具体的には、図9に示すフローチャー
トを実施することにより行う。
信フェーズ数(N)を確定する(ST11,ST1
2)。制御対称軸の数は、システム構成から一義的に決
定される情報であるので、ユーザが入力した情報を取得
する。また、通信フェーズ数は、1回の通信に割り当て
られる時間や、1つのデータを操守するために要する時
間並びに制御対象軸数などから適正な値が決定される。
そして、最適な通信フェーズ数を算出するようにしても
良いが、本実施の形態では、このフェーズ数もユーザか
らの入力により確定する。つまり、ステップ11,12
の処理は、いずれもユーザが入力した値を取得し、確定
する。
算出する(ST13)。これは、制御対象軸数(m)を
通信フェーズ数(N)で除算し、得られた「商」と「あ
まり」から簡単に求めることができる。すなわち、1回
のフェーズ当りに送受信する軸数は、算出した「商」或
いは「商+1」となり、「あまり」の数分だけ「商+
1」となる。よって、最大送受信数Xは、「商+1」と
なるので、受信データ用メモリ12aには、係るX個分
の記憶エリアを確保すれば良いことになる。
T4)。これは、例えば軸番号順に対象となるフェーズ
番号と、指定addrを設定する。つまり、先頭からX
個分が第1フェーズでの送受信対象とし、X+1番目か
ら2X番目までが第2フェーズでの送受信対象とする。
以下、上記「あまり」の回数分だけX個ずつを1つのグ
ループとしてフェーズ番号を設定し、それ以降は、(X
−1)個ずつを1つのグループとしてフェーズ番号を設
定する。さらに、各フェーズ毎に、最初の軸から順番
に、割り当てられた指定addrを割り付ける。これに
より、例えば図10に示すようなテーブルが作成され
る。
ズ番号と指定addrを割り振ったならば、実際に指定
受信領域用メモリ12bに格納し、前処理としての設定
を終了する。また、図10に示したテーブルは、例えば
CPU20側で保持したり、各種の記憶部に格納する。
領域転送部11bは、通信処理部11aを介して受信し
た受信データの内容を解析し、軸データ毎に分離する。
つまり、本形態における受信データは、図3(c)に示
すように、軸データヘッダ部には送信元軸番号と送信先
軸番号があり、この軸番号に基づき指定受信領域用メモ
リ12bをアクセスし、軸データの登録アドレス(指定
addr)を読み出し、その読み出したアドレスで特定
される受信データ用メモリ12aに、軸データを記憶す
る。なお、この記憶する軸データは、ヘッダの軸データ
長を参照して受信データから対応する部分のデータを読
み出すことにより取得できる。
ドレスはわかっている(自己が指定している)ととも
に、フェーズ管理部22によって、現在のフェーズ番号
が制御されるので、図10に示したテーブルにより、現
在のフェーズ番号において制御対象となっている軸番号
もCPU20側でわかっている。従って、現在受信デー
タ用メモリ12a内の所定アドレスに記録されたデータ
が、どの軸データのものかがわかるので、係るデータを
読み出し、取り込むことができる。
転送部11b)側は、現在のフェーズが何番であるかは
分からないので、受信した軸データは、そのまま軸番号
をキーにして指定受信領域用メモリ12bを参照し、所
定の受信データ用メモリ12aの記憶エリアに格納す
る。このとき、通常であれば、図6にも示したとおり、
サーボコントローラ3から、現在のフェーズにおける対
象の軸のサーボドライバに対して制御指令データが送ら
れ、そのレスポンスとしてその軸のサーボドライバ2か
ら制御フィードバックデータが返信されてくるので、受
信した軸データ指定領域転送部11bは、現在のフェー
ズが何番であるかを知らなくても、正規の軸データのみ
を受信し、所望の記憶エリアに格納することができる。
ェーズの対象外の軸データを受信した場合には、受信デ
ータ用メモリ12aの同一の記憶エリア(アドレス)を
指定addrとする軸データを複数受信することにな
り、係る場合には、受信した複数のデータをその都度受
信データ用メモリ12aに格納する。従って、正規の軸
データを先に受信してしまうと、係る記憶エリアに保持
されるデータは、その後に受信した正規でない軸データ
の内容に書きかえられてしまうという問題がある。
た場合には、本来その正規の軸データが格納されるべき
記憶エリアには、前回のフェーズの際に受信した軸デー
タが格納されているため、そのままでは、CPU20は
誤ったデータを取り込んでしまう。
ステータスレジスタ12cを設け、CPU20は、受信
データ用メモリ12aからデータを取り込むに先立ち、
このレジスタ内容を参照することにより、正規の軸デー
タのみを取得するようにしている。
ジスタ12cは、図11に示すように、該当する軸デー
タに最新のデータがあるか否かのステータス情報を格納
するものである。ステータスが「1」の場合には、新た
に書き込まれたデータがあることを意味し、ステータス
が「0」の場合には新たに書き込まれたデータがないこ
とを意味する。
毎に、軸受信データステータスレジスタ12cを参照
し、受信すべき軸データ(ステータスが「1」)を認識
し、当該軸データのみを受信データ用メモリ12aから
読み出すことになる。係る処理を行うには、軸データ指
定領域転送部11bが、軸データを受信データ用メモリ
12aに格納した場合に、該当する受信軸のステータス
を「1」に設定する。一方、CPU20は、今回のフェ
ーズに伴うデータの読み出しを行ったならば、該当する
各受信軸のステータスを「0」に設定(クリア)する。
す前に、軸受信データステータスレジスタ12cを参照
し、正常な軸データのみを受信するようにしている。す
なわち、今回のフェーズで受信すべきでない受信軸のス
テータスが「1」になっている場合には、その「1」と
なった受信軸が格納される指定addrに格納された軸
データは、正規のものか否かが確定できない。そこで、
係る不定のものは受信しないようにすることにより、誤
ったデータに基づく誤動作を防止する。
受信軸のステータスが「0」になっている場合には、そ
の「0」である受信軸に割り振られた指定addrに
は、それ以前のフェーズで受信した他の軸データのもの
が格納されているので、受信しないようにすることによ
り、誤ったデータに基づく誤動作を防止する。
の具体的な受信データ取得処理は、図12のフローチャ
ートに示すようになっている。すなわち、CPU20が
フェーズの管理をしているので、現フェーズを認識する
(ST21)。つまり、現在のフェーズ番号から、今回
のフェーズで送受信される軸データの番号を認識する。
を判断する(ST22)。具体的には、軸受信データス
テータスレジスタ12cをアクセスし、今回のフェーズ
における制御対象外の軸データのステータスが、「1」
になっているか否かを判断する。そして、「1」になっ
ているものがあると、制御対象外軸受信ありと判断し、
異常軸処理を行う(ST23)。この異常軸処理として
は、例えば、データログを取ったり、異常を通知するこ
となどがある。さらに、現フェーズでの制御対象外の軸
データのステータスと、その軸データと同一の記憶エリ
ア(指定addr)に割り付けられた正規の軸データの
ステータスを共に「0」にリセットする。
ステップ23の処理を実行後、ステップ24に進み、現
フェーズの制御対象軸に対する処理を実行する。実際に
は、ステップ23の異常処理により、制御対象外の軸
と、それに関連する正規の軸のステータスが「0」にな
っているので、軸受信データステータスレジスタ12c
でステータスが「1」になっている全ての軸データを読
み出す。そして、次のフェーズにおける受信に備え、ス
テータスを全て「0」にリセットする。
を次フェーズの番号にセットし(ST25)、その次フ
ェーズが最大フェーズ(X)を越えたか否かを判断する
(ST26)。そして、越えた場合には、次フェーズを
1にセットし、越えない場合には、ステップ25で求め
た番号が、次フェーズに確定する。係る処理を繰り返し
実行することになる。そして、ステップ25から27に
よって決定された次フェーズが、次回の処理における現
フェーズとなる。
うに、本形態によれば、CPU20は軸データを直接読
み出すことができ、受信データ処理や軸データヘッダ解
析処理などが不要となるので、処理が簡単に行え、負荷
が削減される。
示したように通信LSI10内の共有メモリたる記憶部
12内に送信データ用メモリ12gを設けたことは上述
したとおりである。そして、送信データ用メモリ12g
には、そのノード(サーボコントローラ3)が今回のフ
ェーズで送受信する相手に対して送信する制御指令デー
タが格納される。そして、CPU20は、送信すべきサ
ーボドライバ2に対する制御指令データを、任意のタイ
ミングで送信データ用メモリ12gに格納する。このと
き、CPU20は、フェーズ管理部22により、今回の
フェーズで送受信すべき制御指令データ及びそのデータ
を格納する送信データ用メモリ12g内のアドレスを知
っており、軸データ単位(サーボドライバ2単位)で格
納することができるようになっている。
94に従い、125μsec間隔で、軸データを含む送
信データ(図3に示すデータ構造)を送信する。つま
り、所定のタイミングで送信データ用メモリ12gに格
納された全ての軸データを含むデータ(図3(a)の
「データ」部分)を、通信処理部11a内のFIFOに
書き込み、更に図3(a)に示す「ヘッダ部」を付加し
て送信データを作成した後、送出する。このFIFOに
データを格納後、送信データを作成・送出する処理は従
来と同様である。もちろん、データの書込領域は、FI
FOに限るものではなく、他の形式(メモリエリア等)
もある。
メモリである記憶部12を用意し、送信すべき軸データ
を一旦送信データ用メモリ12gに格納するようにした
ため、CPU20は、変更のあった軸データのみを記憶
させるだけで、通信LSI10が最終的な送信データを
作成し、送出するので処理が軽減される。
している。本実施の形態では、軸データ指定領域転送部
11bに替えて、軸データ転送領域書込部11dを設け
ている。また、これに併せて、記憶部12内には、指定
受信領域用メモリ12bに替えてインデックスメモリ領
域用メモリ12dを設けている。
タ用メモリ12aに格納する軸データのアドレスの指定
を、CPU20側から設定するようにしたが、本実施の
形態では、通信LSI10(軸データ転送領域書込部1
1d)側が係るアドレスの指定を行うようにした。
定として軸データ転送領域書込部11dがインデックス
メモリ領域用メモリ12d内の各領域に、m個分の軸デ
ータのアドレスを登録する。このとき、図9に示した処
理を行い、フェーズ数と各フェーズでの制御対象(送受
信対象)となる軸数を確定し、転送addrの割り付け
を行う。
領域書込部11dは、通信処理部11aを介して受信し
た受信データの内容を解析し、軸データ毎に分離し、検
出した軸番号に対応する受信データ用メモリ12a内の
所定アドレスに軸データを格納する。また、この格納に
伴い、軸受信データステータスレジスタ12cのステー
タスを「1」にセットする。
は、図12に示すフローチャートを実行し、現在のフェ
ーズ番号に基づき、インデックスメモリ領域用メモリ1
2dを参照し、現フェーズの対象となっている軸データ
の転送addrを読み出し、その読み出したアドレスで
特定される受信データ用メモリ12aを読み出すことに
より、正規の軸データを取得できる。そして、その読み
出し等に伴い、該当する受信軸のステータスを「0」に
設定(クリア)する。なお、その他の構成並びに作用効
果は、上記した第1の実施の形態と同様であるので、対
応する部材に同一符号を付し、その詳細な説明を省略す
る。
している。本実施の形態では、記憶部12内の軸受信デ
ータステータスレジスタ12cに替えて、軸データ受信
制御レジスタ12eを設けている。この軸データ受信制
御レジスタ12eは、図16に示すように、CPU20
側が必要とする軸番号に該当する軸受信制御レジスタ領
域に「1」をセットする。そして、軸データ転送領域書
込部11dは、受信データのうち、軸受信制御レジスタ
領域に「1」がセットされた軸データのみを書き込む。
ーズで対象となっている軸データのみを「1」にセット
し、他を「0」にセットすることにより、仮に、現フェ
ーズで対象となっていない軸データを受信したとして
も、この軸データ受信制御レジスタ12eの値が「0」
になっているので、受信データ用メモリ12aには格納
されない。よって、図12に示すフローチャートにおけ
る異常判定処理(ST22)は設けなくても良くなり、
処理が簡単になり迅速に実行できる。但し、この場合で
も、正規の軸データが受信できずに、前回のデータがそ
のまま残っていることによる対処はできないので、第1
の実施の形態のように受信の有無(ステータス)に関す
る情報を取得しておくと好ましい。
記した第1の実施の形態と同様であるので、対応する部
材に同一符号を付し、その詳細な説明を省略する。ま
た、本実施の形態では、第1の実施の形態を基本として
説明したが、第2の実施の形態を基本として構成するこ
とももちろんできる。
している。本実施の形態では、上記した第1から第3の
実施の形態の機能を組み合わせたものである。そして、
本実施の形態では、モード設定部11fを更に設け、軸
データ指定領域転送部11bと軸データ転送領域書込部
11dを択一的に切り替えるようにしている。また、択
一的に使用することにより、指定受信領域・インデック
スメモリ領域用メモリ12fを指定受信領域メモリ12
bとインデックスメモリ領域用メモリ12dのいずれか
の領域として使用することができる。さらに、モード設
定部11fは、軸データ受信ステータスレジスタと軸デ
ータ受信制御レジスタの使用の有無も設定できるように
している。
も受信データを格納する受信データ用メモリ12aを1
つ設けた例を示しているが、実際には2個設け、適宜切
り替えて使用する。つまり、CPU20がデータを読み
出している場合には、通信LSI10(制御部11)が
他の受信データ用メモリに対してデータの書き込みを行
うようにする。これにより、CPU20と通信LSI1
0が、ともに任意のタイミングで読み出し或いは書き込
み中を行うことができる。この切替は、フラグ管理をす
ることにより行える。
記憶部12を通信LSI10内に設けたが、CPU20
側に設けても良いし、別途独立した記憶部として設置し
ても良い。
側で受信データの中から軸データを抽出し、共有メモリ
には軸データ単位で格納するようにしたため、コントロ
ーラは、共有メモリから必要な軸データをそのまま直接
読み出すことができるので、コントローラ(CPU)の
負荷が軽減され、その軽減された分、他の処理を実行す
ることができ、効率よく高速処理ができる。しかも、複
数のフェーズに分けて軸データを送受信するようにした
ため、異なるフェーズで送る軸データ同士を同一の記憶
エリアに割り当てることができるので、メモリ容量を削
減することができる。
ある。
図である。
る。
例を示す図である。
タ通信制御の一例を示す図である。
ある。
のデータ構造の一例並びにそれを使用してデータ伝送を
する機能を説明する図である。
軸データに対して設定されたデータの一例を示すテーブ
ルである。
造の一例並びにそれを使用してデータ伝送をする機能を
説明する図である。
である。
である。
領域用メモリのデータ構造の一例並びにそれを使用して
データ伝送をする機能を説明する図である。
である。
例並びにそれを使用してデータ伝送をする機能を説明す
る図である。
である。
データ格納手段) 11d 軸データ転送領域書込部(軸データ識別手段,
データ格納手段) 11f モード設定部 12 記憶部(共有メモリ) 12a 受信データ用メモリ 12b 指定受信領域用メモリ 12c 軸受信データステータスレジスタ(受信データ
ステータス記憶手段) 12d インデックスメモリ領域用メモリ 12e 軸データ受信制御レジスタ(受信制御記憶部) 12f 指定受信領域・インデックスメモリ領域用メモ
リ 20 CPU(コントローラ) 21 ドライバソフト(軸データを読み出す機能) 22 フェーズ管理部
Claims (5)
- 【請求項1】 ネットワークに接続されたノード間でデ
ータ伝送を行い、所定のノードに接続されたサーボモー
タの動作を制御するシステムにおける前記ノード用の通
信装置であって、 受信した各サーボモータに関する情報である軸データ
を、共有メモリを介して前記ノード内のコントローラへ
データ伝送するものであり、 前記共有メモリには、予め各軸データ毎に記憶する領域
を設定するとともに、その各軸データ用の領域を特定す
るための領域情報を記憶保持させ、 前記ネットワークを介して送られてくる受信データを受
け取る手段と、 前記受信データ内の軸データを識別する識別手段と、 その識別手段により識別された軸データを、前記領域情
報により指定された前記共有メモリ内の領域に格納する
データ格納手段とを備え、 前記ネットワークに接続される各軸データは、複数のフ
ェーズに分けて送受信するとともに、前記各軸データご
とに記憶する領域は、同一のフェーズで送受信される軸
データに対しては前記共有メモリ上の異なる領域に割り
当てるとともに、異なるフェーズで送受信する軸データ
同士は、同一の領域に割り当てるようにしたことを特徴
とする通信装置。 - 【請求項2】 ネットワークに接続されたノード間でデ
ータ伝送を行い、所定のノードに接続されたサーボモー
タの動作を制御するシステムにおける前記ノード用の通
信装置であって、 受信した各サーボモータに関する情報である軸データ
を、共有メモリを介して前記ノード内のコントローラへ
データ伝送するものであり、 前記ネットワークを介して送られてくる受信データを受
け取る手段と、 前記受信データ内の軸データを識別する識別手段と、 その識別手段により識別された軸データを、軸データ毎
に前記共有メモリの所定領域に格納するデータ格納手段
と、 その格納した領域を特定するための領域情報を前記共有
メモリに書き込む領域情報書込手段を備え、 前記ネットワークに接続される各軸データは、複数のフ
ェーズに分けて送受信するとともに、前記各軸データが
格納される前記所定領域は、同一のフェーズで送受信さ
れる軸データに対しては前記共有メモリ上の異なる領域
に割り当てるとともに、異なるフェーズで送受信する軸
データ同士は、同一の領域に割り当てるようにしたこと
を特徴とする通信装置。 - 【請求項3】 各軸データ毎に、データ格納済みか否か
のステータス情報を記憶する受信データステータス記憶
手段を設け、 前記データ格納手段が前記共有メモリに格納した際に、
前記ステータス情報をデータ格納済みにするようにした
ことを特徴とする請求項1または2に記載の通信装置。 - 【請求項4】 各軸データ毎に、データ転送先のコント
ローラが使用するか否かの情報を記憶する受信制御記憶
部を設け、 前記データ格納手段は、前記受信制御記憶部をアクセス
し、使用する軸データのみを前記共有メモリに格納する
ようにしたことを特徴とする請求項1〜3のいずれか1
項に記載の通信装置。 - 【請求項5】 請求項1〜4のいずれか1項に記載の通
信装置と、 前記共有メモリと、 その共有メモリに書き込まれた軸データを読み出す機能
を持つコントローラとを備えたことを特徴とするノー
ド。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002069915A JP4164270B2 (ja) | 2002-03-14 | 2002-03-14 | サーボコントローラ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002069915A JP4164270B2 (ja) | 2002-03-14 | 2002-03-14 | サーボコントローラ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003271203A true JP2003271203A (ja) | 2003-09-26 |
JP4164270B2 JP4164270B2 (ja) | 2008-10-15 |
Family
ID=29200623
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002069915A Expired - Fee Related JP4164270B2 (ja) | 2002-03-14 | 2002-03-14 | サーボコントローラ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4164270B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005322268A (ja) * | 2003-10-02 | 2005-11-17 | Omron Corp | プログラマブルコントローラおよび通信ユニットならびにコントローラシステムおよびデータ処理方法ならびに変数解決方法およびデータ受渡方法 |
-
2002
- 2002-03-14 JP JP2002069915A patent/JP4164270B2/ja not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005322268A (ja) * | 2003-10-02 | 2005-11-17 | Omron Corp | プログラマブルコントローラおよび通信ユニットならびにコントローラシステムおよびデータ処理方法ならびに変数解決方法およびデータ受渡方法 |
JP4596153B2 (ja) * | 2003-10-02 | 2010-12-08 | オムロン株式会社 | プログラマブルコントローラおよびコントローラシステムならびに変数解決方法 |
Also Published As
Publication number | Publication date |
---|---|
JP4164270B2 (ja) | 2008-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1593041B (zh) | 具有多个首部的包的解封装和封装的方法、装置和计算机程序 | |
CN101650698B (zh) | 直接存储器访问的实现方法 | |
US9807025B2 (en) | System and method for ordering of data transferred over multiple channels | |
US5175732A (en) | Method and apparatus for controlling data communication operations within stations of a local-area network | |
RU2401452C2 (ru) | Способ передачи данных в сообщениях по линии связи системы связи, а также коммуникационный модуль, абонентское устройство системы связи и система связи для осуществления этого способа | |
CN101501660A (zh) | 因特网连接交换机和因特网连接系统 | |
JP4154853B2 (ja) | 制御データを等値化する冗長化プログラマブルコントローラ及び等値化方法。 | |
WO2007146343A2 (en) | Sharing data between partitions in a partitionable system | |
CN102165739A (zh) | 使用散列对经由rdma写入的消息的可靠接收 | |
CN104247354A (zh) | 接口装置以及总线系统 | |
JP7309580B2 (ja) | 通信装置、通信方法及びプログラム | |
JP3551905B2 (ja) | 管理局及びネットワークシステム並びにネットワークシステムにおける通信方法 | |
JP2003271203A (ja) | 通信装置及びノード | |
CN114928511A (zh) | 数据处理设备及数据处理系统 | |
CN1279788A (zh) | 在总线系统中提供和嵌入控制信息的方法和装置 | |
US20100226393A1 (en) | Communication system and communication apparatus | |
JP2000224208A (ja) | パケット転送制御装置及びパケット転送方法 | |
US7328273B2 (en) | Protocol duplicating configuration and method for replicating and order of reception of packets on a first and second computers using a shared memory queue | |
JP2003521033A (ja) | マイクロプロセッサシステムを動作する方法および対応するマイクロプロセッサシステム | |
US20040114582A1 (en) | Electronic switching circuit and method for a communication interface with buffer storage | |
JP4784838B2 (ja) | 分配装置、通信システム及び通信方法 | |
JP2002328703A (ja) | 通信装置及びノード | |
JP2010258811A (ja) | 通信システム | |
JP2001268094A (ja) | ノード装置、同装置を複数備えた情報処理システム、及びパラメータ交換方法 | |
JP2853607B2 (ja) | ジョブ間通信システム |
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 |