(58)【調査した分野】(Int.Cl.,DB名)
さらに、前記上位コントローラは、前記モータ制御プログラム転送部による前記モータ制御プログラムの転送終了後、前記モータ制御装置にリセット信号を送信するリセット信号送信部を有し、
前記モータ制御装置は、前記リセット信号を受信して、前記揮発性メモリに記憶された前記モータ制御プログラムを実行するリセット信号受信部を有する
請求項1に記載のモータ制御プログラム転送システム。
前記上位コントローラと前記モータ制御装置間の情報通信は、前記リセット信号の送信前は非定周期通信により行われ、前記リセット信号の送信後は定周期通信により行われる
請求項2に記載のモータ制御プログラム転送システム。
前記モータ制御プログラム転送部は、前記モータ制御プログラムの転送が失敗した場合に、前記モータ制御プログラムの再転送を行う請求項1〜4のいずれかに記載のモータ制御プログラム転送システム。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明の解決しようとする課題は、上位コントローラから1以上のモータ制御装置に対しモータ制御プログラムを転送するにあたり、不揮発性メモリの必要量を低減し、各モータ制御装置へのモータ制御プログラムの転送を簡易かつ自動的に行うことである。
【課題を解決するための手段】
【0005】
本発明の一側面に係るモータ制御プログラム転送システムは、モータ制御装置のモータ制御プログラムを記憶するメモリと、特定の初期識別情報を有する前記モータ制御装置に一意の識別情報を付与する動作を反復して行う識別情報付与部と、前記一意の識別情報が付与された前記モータ制御装置に前記モータ制御プログラムを転送するモータ制御プログラム転送部と、を有する上位コントローラと、前記モータ制御プログラムを記憶する揮発性メモリと、自分自身を識別するための識別情報を書き換え可能に保持し、初期状態で前記初期識別情報を保持する識別情報保持部と、を有し、前記上位コントローラと情報通信可能である1以上のモータ制御装置と、初期状態で1の前記モータ制御装置の前記上位コントローラに対する情報通信を有効とし、モータ制御装置に前記一意の識別情報が付与される毎に新たに1の前記モータ制御装置の前記上位コントローラに対する情報通信を有効とする情報通信切替部と、を備えた。
【0006】
本発明の一側面に係るモータ制御プログラム転送システムはさらに、前記上位コントローラは、前記モータ制御プログラム転送部による前記モータ制御プログラムの転送終了後、前記モータ制御装置にリセット信号を送信するリセット信号送信部を有し、前記モータ制御装置は、前記リセット信号を受信して、前記揮発性メモリに記憶された前記モータ制御プログラムを実行するリセット信号受信部を有してよい。
【0007】
本発明の一側面に係るモータ制御プログラム転送システムはさらに、前記上位コントローラと前記モータ制御装置間の情報通信は、前記リセット信号の送信前は非定周期通信により行われ、前記リセット信号の送信後は定周期通信により行われてよい。
【0008】
本発明の一側面に係るモータ制御プログラム転送システムはさらに、前記上位コントローラは、少なくとも前記モータ制御プログラム転送システムの構成に応じて、前記定周期通信の通信条件を調整する通信条件調整部を有してよい。
【0009】
本発明の一側面に係るモータ制御プログラム転送システムはさらに、前記モータ制御プログラム転送部は、前記モータ制御プログラムの転送が失敗した場合に、前記モータ制御プログラムの再転送を行ってよい。
【0010】
本発明の一側面に係るモータ制御プログラム転送システムはさらに、前記モータ制御装置は、前記上位コントローラに対する情報通信を有効とするか無効とするかの入力を受け付ける有効無効入力部を有し、1の前記モータ制御装置の前記有効無効入力部にはその情報通信を有効とする信号が入力され、他の前記モータ制御装置の前記有効無効入力部には前記情報通信切替部によりその情報通信を有効とする信号又は無効とする信号のいずれかが入力されてよい。
【0011】
本発明の一側面に係るモータ制御プログラム転送システムはさらに、前記モータ制御装置は、前記有効無効入力部への信号を出力する有効無効出力部を有し、1の前記モータ制御装置の前記有効無効出力部からの出力が他の1の前記モータ制御装置の前記有効無効入力部に入力され、前記有効無効出力部は、その属する前記モータ制御装置に前記一意の識別情報が付与されることにより、その出力を無効から有効へと切り替えてよい。
【0012】
本発明の一側面に係るモータ制御プログラム転送システムはさらに、前記上位コントローラは、前記有効無効入力部への信号を出力する有効無効出力部を有し、前記有効無効出力部からの出力が前記モータ制御装置の前記入力ポートに入力され、前記有効無効出力部は、1の前記モータ制御装置に前記一意の識別情報が付与されることにより、他の1の前記モータ制御装置の前記有効無効入力部への出力を無効から有効へと切り替えてよい。
【0013】
本発明の一側面に係るモータ制御プログラム転送システムはさらに、全て又は1を除く前記モータ制御装置毎に、前記上位コントローラとの情報通信を入力に応じて有効とするか無効とするかを切り替える切替スイッチを備え、1の前記モータ制御装置の前記上位コントローラに対する情報通信は有効とされ、他の前記モータ制御装置の前記上位コントローラに対する情報通信は、前記切替スイッチに前記情報通信切替部からその情報通信を有効とする信号又は無効とする信号のいずれかが入力されてよい。
【0014】
本発明の一側面に係るモータ制御プログラム転送システムはさらに、前記モータ制御装置は、前記切替スイッチへの信号を出力する有効無効出力部を有し、1の前記モータ制御装置の前記有効無効出力部からの出力が他の1の前記モータ制御装置についての前記切替スイッチに入力され、前記有効無効出力部は、その属する前記モータ制御装置に前記一意の識別情報が付与されることにより、その出力を無効から有効へと切り替えてよい。
【0015】
本発明の一側面に係るモータ制御プログラム転送システムはさらに、前記上位コントローラは、前記切替スイッチへの信号を出力する有効無効出力部を有し、有効無効出力部からの出力が前記切替スイッチに入力され、前記有効無効出力部は、1の前記モータ制御装置に前記一意の識別情報が付与されることにより、他の1の前記モータ制御装置についての前記切替スイッチへの出力を無効から有効へと切り替えてよい。
【0016】
本発明の一側面に係る上位コントローラは、モータ制御装置のモータ制御プログラムを記憶するメモリと、特定の初期識別情報を有する前記モータ制御装置に一意の識別情報を付与する動作を反復して行う識別情報付与部と、前記一意の識別情報が付与された前記モータ制御装置に前記モータ制御プログラムを転送するモータ制御プログラム転送部と、を有する。
【0017】
本発明の一側面に係るモータ制御装置は、モータ制御プログラムを記憶する揮発性メモリと、自分自身を識別するための識別情報を書き換え可能に保持し、初期状態で特定の初期識別情報を保持する識別情報保持部と、を有し、上位コントローラと情報通信可能である。
【0018】
本発明の一側面に係るモータ制御制御プログラム転送方法は、特定の初期識別情報を有する前記モータ制御装置に一意の識別情報を付与する動作を反復して行うステップと、前記一意の識別情報が付与された前記モータ制御装置に前記モータ制御プログラムを転送するステップと、前記モータ制御装置に前記一意の識別情報が付与される毎に新たに1の前記モータ制御装置の情報通信を有効とするステップと、初期状態で1の前記モータ制御装置の前記上位コントローラに対する情報通信を有効とし、モータ制御装置に前記一意の識別情報が付与される毎に新たに1の前記モータ制御装置の前記上位コントローラに対する情報通信を有効とするステップと、を有する。
【発明の効果】
【0019】
上記発明によれば、上位コントローラから1以上のモータ制御装置に対しモータ制御プログラムを転送するにあたり、不揮発性メモリの必要量を低減し、各モータ制御装置へのモータ制御プログラムの転送を簡易かつ自動的に行うことができる。
【発明を実施するための形態】
【0021】
<本発明の基本的構成>
図1は、以下に説明する各実施形態に共通する、本発明に係るモータ制御プログラム転送システム1の基本的な物理構成を示すブロック図である。
【0022】
モータ制御プログラム転送システム1は、上位コントローラ2と、上位コントローラ2と情報通信回線5により情報通信可能に接続された1以上、通常は複数のモータ制御装置3と、情報通信切替部4を有している。ここでは例として、3a〜3dの4つのモータ制御装置3が上位コントローラ2に接続された場合を示す。
【0023】
上位コントローラ2は、モータ制御装置3により制御されるモータを含むシステム全体の動作を制御するものであり、所定のタイミングで各モータ制御装置3に動作指令を送信したり、各モータ制御装置3からのエラー信号その他の状態信号を受信したりする。上位コントローラ2には、プロセッサ20が含まれ、上位コントローラ2の機能はプロセッサ20がソフトウェアを実行することにより実現されている。プロセッサ20は、CPU(Central Processing Unit)とメモリからなる一般的なコンピュータや、マイクロコントローラやFPGA(Field Programmable Gate Array)等の任意の情報処理装置であってよい。
【0024】
また、上位コントローラ2にはメモリ21が用意されており、後述するモータ制御装置3のプロセッサ30が実行すべきモータ制御プログラムが記憶されている。メモリ21の形式に特に限定はないが、モータ制御プログラムの更新が行えるよう書き換え可能なものであることが好ましく、また、上位コントローラ2への電源供給が途絶えた際に記憶内容を失わないものが望ましいため、いわゆるフラッシュメモリ等のEEPROM(Electrically Erasable Programmable Read−Only Memory)であることが望ましい。しかしながら、メモリ21を書き換えのできないROM(Read−Only Memory)としたり、RAM(Random Access Memory)等の揮発性メモリとすることを妨げるものではない。
【0025】
さらに、上位コントローラ2には通信制御部22が設けられており、モータ制御装置3との情報通信及び、その他の機器との情報通信や入出力が行われるようになっている。通信制御部22の物理的構成にも特に限定はなく、例えば、ASIC(Application Specific Integrated Circuit)等により構成された一般的な通信用集積回路を用いてよい。
【0026】
上位コントローラ2は、通常は図示しない外部のPLC(Programmable Logic Controller)やコンピュータと接続され、かかる機器からの指令に従って各モータ制御装置3を制御することとなる。なお、ここで「上位コントローラ」との語における「上位」とは、1以上のモータ制御装置3a〜3dが接続され、各モータ制御装置3a〜3dに対しモータ制御プログラムを転送したり、制御のタイミングを指示したりするというモータ制御プログラム転送システム1内における役割を示すために用いられており、機器の性能や形式を限定するものではない。
【0027】
モータ制御装置3は、図示しないモータに接続され、モータ制御装置3に含まれるプロセッサ30が実行するモータ制御プログラムによりこれを制御するものである。プロセッサ30はモータへ電流・電圧等を出力するアンプを制御している。一般に、サーボモータを制御するモータ制御装置はサーボコントローラ又はサーボアンプなどと呼ばれるが、本実施形態でいうモータにはサーボモータが含まれるため、モータ制御装置3にはサーボコントローラが含まれる。なお、プロセッサ30は、上位コントローラ2のプロセッサ20と同様、CPUとメモリからなる一般的なコンピュータやマイクロコントローラ等の汎用の情報処理装置であってもよいし、FPGA、ASIC、DSP等の特定用途向けの情報処理装置であってもよい。
【0028】
プロセッサ30が実行するモータ制御プログラムは揮発性メモリ31に記憶される。これは、モータを精密に制御するためにはプロセッサ30は短い動作周期でモータ制御プログラムを実行する必要があり、EEPROM等の不揮発性メモリは一般に情報の読み出し速度が遅いため、モータ制御プログラムを記憶するメモリとしては適さないためである。なお、ここでは、プロセッサ30の動作周期としては数十マイクロ秒程度を想定している。これに対し、上位コントローラ2のプロセッサ20の動作周期は数百マイクロ秒から数ミリ秒程度を想定している。
【0029】
ここでモータ制御プログラムとは、モータ制御装置3が接続されたモータを駆動するための電流・電圧を生成するアルゴリズムや、上位コントローラ2からの入力に対するモータ制御装置3の応答、さらにはモータの状態に応じたモータ制御装置3の動作等を記述する電子データである。さらに、モータ制御プログラムには、モータ制御装置3がモータに実行させる動作のパターンが含まれていてよく、その場合には、モータ制御装置3は上位コントローラ2からの継続的なタイミング指令を受けることなく、自律的にモータを所定のパターンで動作させ得ることになる。
【0030】
揮発性メモリ31はモータ制御プログラムを格納するメモリであり、一般的なRAMである。揮発性メモリ31は揮発性のため、モータ制御装置3の電源が失われるとその記憶内容が失われる。そのため、モータ制御装置の電源を入れた直後(これを初期状態と称する)ではモータ制御プログラムが失われており、何らかの手段でこれを書き込む必要がある。
【0031】
識別情報保持部32は、情報通信を行う上で、上位コントローラ2が個々のモータ制御装置3を識別するための識別情報を保持する部分である。識別情報保持部32の具体的構成は特に限定されないが、少なくとも保持している識別情報が電気的に書き換え可能であることは必要である。具体的には、揮発性メモリ31の特定のアドレスを識別情報保持部32として予約しておくなどするとよい。なお、識別情報保持部32は初期状態において既知の特定の識別情報(これを初期識別情報と称する)を保持するようになされている。このためには、例えば、モータ制御装置3の電源投入直後に実行される、図示しないROM上のブートプログラムによって初期識別情報が識別情報保持部32に書き込まれるようにしておくとよい。以降の例では、識別情報は8ビットの情報であり、初期識別情報は16進数表記で0xEFであるものとする。なお、上位コントローラ2自身の識別情報は予め定めた固定の値、例えば、0x00としておく。
【0032】
さらに、モータ制御装置3は通信制御部33を有しており、上位コントローラ2との情報通信や入出力が行われるようになっている。通信制御部33もまた、例えば、ASIC等により構成された通信用集積回路であってよい。
【0033】
さらに、モータ制御プログラム転送システム1は、情報通信切替部4を有しており、情報通信切替部4は、上位コントローラ2と各モータ制御装置3間の情報通信を有効とするか無効とするか個別に切り替えることができる。なお、正確には、上位コントローラ2とモータ制御装置3の内の1台、ここではモータ制御装置3a間の情報通信は常時有効として差し支えないので、図示の例では、情報通信切替部4は、モータ制御装置3b〜3d間の情報通信の有効及び無効を切り替えるようになっているが、モータ制御装置3aについての情報通信の有効及び無効をも切り替え得るようにしても差し支えない。
【0034】
ここで、情報通信は、所定のプロトコルにしたがって情報伝達を行う通信方式を指す。情報通信の方式は、シリアル通信であってもパラレル通信であってもよく、また、上位コントローラ2から各モータ制御装置3への接続はいわゆるスター接続であってもカスケード接続であってもよい。
図1ではスター接続、すなわち、上位コントローラ2と各モータ制御装置3がそれぞれ直接接続され、直接通信可能であるかのように示されているが、これは便宜上示したものにすぎず、情報通信回線5が上位コントローラ2と各モータ制御装置3とを通信可能に接続していることを概念的に示したものにすぎない。当然に、その接続をカスケード接続(或いはデイジーチェーン接続とも)としても、その他の接続としてもよい。
【0035】
ここで、上位コントローラ2と各モータ制御装置3との接続をカスケード接続とする場合には、情報通信が常時有効とされるモータ制御装置3aが最初に上位コントローラ2に接続され、初期状態において1のモータ制御装置3aが上位コントローラ2と情報通信可能とされることになる。そして、モータ制御装置3a〜3dをこの順にカスケード接続するならば、モータ制御装置3bはモータ制御装置3aを介して、また、モータ制御装置3cはモータ制御装置3b及びモータ制御装置3aを介して、モータ制御装置3dはモータ制御装置3c、モータ制御装置3b及びモータ制御装置3aを介して上位コントローラ2と接続される。
【0036】
そのため、カスケード接続では、特定のモータ制御装置3と上位コントローラ2間の通信は、その間に介在する他のモータ制御装置3を順に転送していくことによりなされるので、より多くのモータ制御装置3を介在すると、より長い通信時間が必要となる。例えば、上述の例では、モータ制御装置3aと上位コントローラ2間の通信時間に比べ、モータ制御装置3dと上位コントローラ2間の通信時間は、モータ制御装置3c、モータ制御装置3b及びモータ制御装置3aにそれぞれ転送する時間が必要となるため長くなる。後述する本発明の実施形態では、上位コントローラ2とモータ制御装置3間の接続はこのカスケード方式が例示される。なお、本明細書に情報通信に用いられる情報通信回線5は、有線回線には限定されず、無線回線を含むものとする。
【0037】
情報通信切替部4は、物理的には、上位コントローラ2がその機能を担ったり、モータ制御装置3が全体としてその機能を担ったりする場合があり得る。そのため、
図1では、その機能のみを抽象化して取り出し、情報通信切替部4として示している。情報通信切替部4が特定の機器により実現されている例は後述する実施形態で示す。
【0038】
図2は、モータ制御プログラム転送システム1の機能ブロック図である。
【0039】
上位コントローラ2には既に述べたメモリ21の他、識別情報付与部24、モータ制御プログラム転送部25、リセット信号送信部26及び通信条件調整部27が含まれる。ここでは、識別情報付与部24、モータ制御プログラム転送部25、リセット信号送信部26及び通信条件調整部27は、プロセッサ20(
図1参照)が実行するプログラムにより実現される機能を仮想的に示したものである。また、モータ制御装置3には既に述べた識別情報保持部32及び揮発性メモリ31の他、リセット信号受信部が含まれる。このリセット信号受信部はプロセッサ30(
図1参照)が実行するプログラムにより仮想的に実現されていてもよいし、リセット信号を検出する専用の回路であってもよい。
【0040】
識別情報付与部24は、初期識別情報を有するモータ制御装置3に一意の識別情報、すなわち、異なるモータ制御装置3間で重複しない識別情報を付与する。付与された一意の識別情報は1のモータ制御装置3の識別情報保持部に保持されることとなる。また、モータ制御プログラム転送部25は、一意の識別情報が付与されたモータ制御装置3に、メモリ21に記憶されたモータ制御プログラムを転送する。転送されたモータ制御プログラムは、1のモータ制御装置3の揮発性メモリ31に記憶されることとなる。さらに、リセット信号送信部26は、モータ制御プログラム転送部25によるモータ制御プログラムの転送から必要なだけ行われた後、モータ制御装置3にリセット信号を送信する。このリセット信号はモータ制御装置3のリセット信号受信部36により受信される。リセット信号受信部36は、リセット信号を受信するとモータ制御装置3をリセットする。すなわち、現在プロセッサ30(
図1参照)により実行されているプログラムの実行を停止し、揮発性メモリ31に記憶されたモータ制御プログラムの実行をプロセッサ30にさせるのである。
【0041】
また、
図2では、情報通信切替部4は破線で示した情報通信回線5の有効無効を適宜個別に切り替えるものとして示されている。なお、
図2における情報通信回線5もまた、
図1と同様、上位コントローラ2と各モータ制御装置3とを通信可能に接続していることを概念的に示したものであり、その接続の態様(すなわち、スター接続であるかカスケード接続であるか、その他の接続であるか)を限定するものではない。
【0042】
以上の構成を有するモータ制御プログラム転送システム1において、モータ制御プログラムを1以上のモータ制御装置3に転送すべき状態の例として、初期状態における初期化、すなわち、全てのモータ制御装置3へのモータ制御プログラムの転送を行う手順を
図3を参照しつつ説明する。
【0043】
図3は、モータ制御プログラム転送システム1の動作フローを示す図である。同図は、
図1及び2に示した各機器の初期状態からの動作及び通信を時系列に沿って示したものであり、時間は図中下方向に向かって進行するものとして示されている。また、各機器の状態は、何らかの動作を行っているときは白抜き箱で、待機中であるときは線で示している。図中の実線矢印は情報通信又は信号を示し、破線矢印は情報通信に対する応答を示している。
【0044】
まず、初期状態では、情報通信切替部4により、1台のモータ制御装置3、すなわち、モータ制御装置3aのみが情報通信有効とされ、他のモータ制御装置3b〜3dは情報通信が無効とされる。この状態で、上位コントローラ2は、初期識別情報である0xEFに対して局検出信号を送出する。かかる局検出信号を検出して応答可能であるのは情報通信が有効とされているモータ制御装置3aのみであるから、モータ制御装置3は上位コントローラ2に応答信号を送出する。
【0045】
応答信号を受信すると、上位コントローラ2は、初期識別情報0xEFを持つモータ制御装置3aに対し、識別情報付与部24により一意の識別情報を付与する。ここでは識別情報として通し番号を付与することとし、その値としてモータ制御装置3aには0x01が付与されるものとする。識別情報を受け取ったモータ制御装置3aは、かかる識別情報を識別情報保持部32に書き込み、自己の識別情報を初期識別情報から更新する。
【0046】
その後、情報通信切替部4は次の1のモータ制御装置3bの情報通信を有効にする。このとき、モータ制御装置3aの識別情報は書き換え後の0x01であり、モータ制御装置3bの識別情報は初期識別情報である0xEFとなっている。
【0047】
上位コントローラ2は、モータ制御装置3aに対し行ったと同様の動作をモータ制御装置3bに対しても繰り返す。すなわち、今回は初期識別情報0xEFを有するモータ制御装置3bに対し局検出信号を送出し、応答信号を受信すると、一意の識別情報、ここでは0x02を付与するのである。同様の動作がモータ制御装置3c、3dに対しても繰り返され、モータ制御装置3cの識別情報は0x03に、モータ制御装置3dの識別情報は0x04に書き換えられる。この時点で、全てのモータ制御装置3に対する情報通信は有効となっている。
【0048】
全てのモータ制御装置3に対して一意の識別情報を付与した後、上位コントローラ2は、全てのモータ制御装置3に対してモータ制御プログラム転送部25によりモータ制御プログラムを転送する。この転送は、情報通信の方式にも依存するが、いわゆるブロードキャスト、またはそれに準じた方式により、複数のモータ制御装置3に対して同時にデータ転送を行うことが好ましい。単に各モータ制御装置3に対してモータ制御プログラムを転送すればよいのであれば、一意の識別情報の付与前又は付与直後に個別にモータ制御プログラムを転送してもよいが、その場合にはモータ制御プログラムの転送に要する時間にモータ制御装置3の数を乗じただけの通信時間が必要となり、転送をすべて終了するまでに長時間を有する。ブロードキャストによる転送であれば転送回数は1回で済むことになり、転送は短時間で済む。
【0049】
また、全てのモータ制御装置3に対して一意の識別情報を付与したか否かの判別は、例えば、上位コントローラ2からの初期識別情報である0xEFに対する局検出信号に応答が無いことにより、識別情報の付与が終了したと判断することにより行ってよい。あるいは、予め手動または自動により上位コントローラ2に接続されたモータ制御装置3の数を与えておき、モータ制御装置3の数に等しい識別情報の付与がなされることにより、識別情報の付与が終了したと判断することにより行ってもよい。
【0050】
モータ制御プログラムの転送の終了後、必要であれば、上位コントローラ2は各モータ制御装置3にそれぞれ、モータ制御プログラムが正常に転送され、揮発性メモリに書き込まれたかを確認する確認信号を送信する。各モータ制御装置3は、確認信号に対し、揮発性メモリ31にモータ制御プログラムが正常に書き込まれているか否かをチェックし、その結果を上位コントローラ2に送信する。このチェックは、揮発性メモリ31上のモータ制御プログラムに対する任意の方式でのチェック、例えばチェックサムによるサムチェックやCRC(Cyclic Redundancy Check)であってよい。
【0051】
上位コントローラ2は、任意のモータ制御装置3からモータ制御プログラムが正常に書き込まれていないとの結果を受信すると、当該モータ制御装置3に対してモータ制御プログラム転送部25によりモータ制御プログラムを再送信する。再送信後は当該モータ制御装置3に対して確認信号を送信し、以下同様の処理を繰り返す。これにより確実にモータ制御プログラムの転送がなされる。
【0052】
全ての、又は必要なモータ制御装置3へのモータ制御プログラムの転送が成功裡に終了したならば、上位コントローラ2は、各モータ制御装置3に対しリセット信号送信部26によりリセット信号を送信する。このリセット信号は、各モータ制御装置3に揮発性メモリ31上のモータ制御プログラムを実行開始させる信号である。また、本実施形態では、各モータ制御装置3と上位コントローラ2間の情報通信を初期化する信号でもある。
【0053】
この情報通信の初期化は、リセット信号の送出までは、上位コントローラ2とモータ制御装置3間の情報通信は非定周期通信により行われていたのに対し、リセット信号の送出後はこの情報通信を定周期通信により行うように切り替えるためになされる。この点をより詳しく説明すると、リセット信号の送出までの各モータ制御装置3の初期化にあたっては、転送すべきモータ制御プログラムの情報量が大きく、またその大きさは必ずしも明らかでないため、定周期通信では通信効率が悪く余計な時間がかかることとなり、非定周期通信を用いる方が有利である。一方、リセット信号の送出後は、各モータ制御装置3は物理的な機構であるモータを制御することになるため、モータの状態が正常であるかを常に把握している必要がある一方、上位コントローラ2との一度の通信に用いられる情報量はさほど多くない。そのため、定周期通信により一定時間ごとにモータの状態をモータ制御装置3から上位コントローラ2へと送信する方が実用上有利となるのである。
図2では、非定周期通信が定周期通信に切り替わるタイミングを破線で示した。
【0054】
なお、ここで定周期通信とは、一定時間ごとに予め定めたフォーマットに従って情報通信を行う通信方式を指し、非定周期通信とは、情報通信のタイミングが必ずしも定められていない通信方式を指している。なお、定周期通信において、一定時間毎の情報通信以外のタイミングで任意の情報通信を行うことは差し支えない。
【0055】
また、上位コントローラ2はリセット信号を送信する際に、通信条件調整部27により、モータ制御装置3との定周期通信の通信条件を調整するようにしてもよい。すなわち、リセット信号送信後の定周期通信の通信条件は常に同一のものでなく、モータ制御プログラム転送システム1の構成その他の条件により最適なものに変化させてよい。
【0056】
ここでの通信条件は、例えば、定周期通信の通信周期や一周期当たりの通信の情報量等である。上位コントローラ2に接続されるモータ制御装置3の数が多いと、その状態を示す情報の量も増大するため、一回の通信により上位コントローラ2が受信すべき情報量は増加する。その結果、一回の通信に要する時間も増大することになる。このような条件では、あらかじめ上位コントローラ2に接続可能なモータ制御装置3の数に上限を設けておき、通信周期を最大数のモータ制御装置3が接続されたときに対応可能なものに設定しておくことも考えられるが、逆にモータ制御装置3の接続数が少ない場合には大半の通信時間を無駄にすることになり、通信の応答速度が低下することになる。上位コントローラ2の通信条件調整部27が、接続されているモータ制御装置3の数を含むモータ制御プログラム転送システム1の構成その他の条件に応じて、定周期通信の通信条件を調整することにより、定周期通信の応答速度を適正なものとすることができる。
【0057】
各モータ制御装置3のリセット信号受信部36は、リセット信号を受信すると、通信の初期化を行って情報通信を定周期通信へと切り替え、揮発性メモリ31上のモータ制御プログラムを実行する。
【0058】
以上の方式によりモータ制御装置3へのモータ制御プログラムの転送を行うモータ制御プログラム転送システム1では、モータ制御プログラムを記憶するメモリ21(
図1参照)をモータ制御装置3毎に用意する必要が無く、上位コントローラ2に備えるだけでよい。このため、システム全体として用意しなければならないメモリ21の容量が小さくて済む。、また、以上の説明では各モータ制御装置3の初期化を行う場合を例として説明したが、これ以外にも例えばモータ制御プログラムの更新が行われた場合においても、上位コントローラ2のメモリ21の内容を書き換えるだけで、必要なモータ制御装置3への更新後のモータ制御プログラムの転送が自動的になされるため、モータ制御プログラムの更新が容易である。さらに、複数のモータ制御装置3に対し個別の識別情報が自動的に付与されるため、モータ制御装置3毎に識別情報の設定を人手で行う必要が無く、モータ制御装置3の追加や削減も容易である。
【0059】
続いて、以上説明したモータ制御プログラム転送システム1の情報通信切替部4を具体的に構成した例を実施形態として示す。
【0060】
<第1の実施形態>
図4は、本発明の第1の実施形態に係るモータ制御プログラム転送システム100の物理的外観を示す図である。本実施形態では、図示の通り、上位コントローラ2に対し、モータ制御装置3a,3b,3c,3dが情報通信回線5によりこの順にカスケード接続されている。また、各モータ制御装置3a〜3dにはサーボモータにより駆動されるリニアスライダ6a〜6dがそれぞれ接続されている。さらに、各モータ制御装置3a〜3dはそれぞれ有効無効入力部34a〜34d及び、有効無効出力部35a〜35dを備えている。
【0061】
ここで、有効無効入力部34a〜34dはそれぞれ、上位コントローラ2に対する情報通信を有効とするか無効とするかの入力を受け付ける入力ポートであり、図示の例ではローインピーダンス(接地電位)において情報通信を有効とするものである。また、有効無効出力部35a〜35dは有効無効入力部34a〜34dへの信号を出力する出力ポートであり、初期状態ではハイインピーダンス(切断)状態となっている。有効無効入力部34aは接地されているため、モータ制御装置3aの情報通信は常時有効となっている。また、有効無効入力部34b〜34dはそれぞれ有効無効出力部35a〜35cに接続されているため、モータ制御装置3b〜3dの情報通信が有効であるか無効であるかは、上位コントローラ2側に接続された、隣接するモータ制御装置3a〜3cにより切り替えられることになる。すなわち、
図1の情報通信切替部4は、本実施形態ではモータ制御装置3a〜3cが担うことになる。
【0062】
本実施形態でのモータ制御装置3a〜3dの動作を
図3に即して説明すると、初期状態において、モータ制御装置3b〜3dの情報通信はそれぞれモータ制御装置3a〜3cからの出力により通信無効とされている。そして、各モータ制御装置3a〜3dは、上位コントローラ2により識別情報が付与されると、有効無効出力部35a〜35cからの出力をローインピーダンス、すなわち、通信有効とするものに切り替える。これにより、モータ制御装置3a〜3cは
図1の情報通信切替部4として機能する。
【0063】
なお、モータ制御装置3dの有効無効出力部35dは特に他の機器に接続されていないため、モータ制御装置3dは特段有効無効出力部35dからの出力を切り替える必要はない。しかしながら、全てのモータ制御装置3の動作を同仕様のものとしておくとモータ制御装置3の追加や削減が容易であることから、モータ制御装置3dについても他のモータ制御装置3a〜3cと同様の動作を行うものであることが望ましい。
【0064】
また、本実施形態では上位コントローラ2とモータ制御装置3a〜3d間の情報通信回線5はカスケード接続によりなされているため、上位コントローラ2から各モータ制御装置3a〜3dに対するリセット信号は、上位コントローラ2から情報接続の遠い順に行う必要がある。この場合は、モータ制御装置3dに対するリセット信号を最初に送信し、以下、3c,3b,3aの順となる。しかしながら、情報通信回線5がスター接続によりなされている場合にはこの順番は特に限定されず、同時送信であっても差し支えない。
【0065】
<第2の実施形態>
図5は、本発明の第2の実施形態に係るモータ制御プログラム転送システム200の物理的外観を示す図である。本実施形態においても、図示の通り、上位コントローラ2に対し、モータ制御装置3a,3b,3c,3dが情報通信回線5によりこの順にカスケード接続されている。また、各モータ制御装置3a〜3dにはサーボモータにより駆動されるリニアスライダ6a〜6dがそれぞれ接続されている。さらに、各モータ制御装置3a〜3dはそれぞれ有効無効入力部34a〜34dを備えており、有効無効入力部34aは接地され、有効無効入力部34b〜34dはそれぞれ上位コントローラ2の有効無効出力部23に接続されている。
【0066】
ここでも、有効無効入力部34a〜34dはそれぞれ、上位コントローラ2に対する情報通信を有効とするか無効とするかの入力を受け付ける入力ポートであり、ローインピーダンスにおいて情報通信を有効とするものである。従って、モータ制御装置3aの情報通信は常時有効となっている。また、有効無効入力部34b〜34dはそれぞれ有効無効出力部23に接続されているため、モータ制御装置3b〜3dの情報通信が有効であるか無効であるかは、上位コントローラ2により切り替えられることになる。すなわち、
図1の情報通信切替部4は、本実施形態では上位コントローラ2が担うことになる。有効無効出力部23の初期状態での出力は全てハイインピーダンスである。
【0067】
本実施形態での上位コントローラ2の動作を
図3に即して説明すると、初期状態において、モータ制御装置3b〜3dの情報通信は上位コントローラ2からの出力により通信無効とされている。そして、上位コントローラ2は、1のモータ制御装置3に識別情報を付与することにより、次の1のモータ制御装置の有効無効入力部34b〜34dへの出力をローインピーダンス、すなわち、通信有効とするものに切り替える。ここでは、識別情報を付与するごとに有効無効入力部34b,34c,34dの順(カスケード接続において、上位コントローラ2に近い順)にローインピーダンスを出力する。これにより、上位コントローラ2は
図1の情報通信切替部4として機能する。
【0068】
なお、モータ制御装置3aの有効無効入力部34aは本実施形態では接地するものとしたが、これをさらに上位コントローラ2の有効無効出力部23に接続するものとしてもよい。この場合には、初期状態において有効無効入力部34aにはローインピーダンスが出力されることになる。上位コントローラ2からリセット信号を送信する順番や、情報通信回線5をスター接続としてもよいことについては先の実施形態と同様である。
【0069】
<第3の実施形態>
図6は、本発明の第3の実施形態に係るモータ制御プログラム転送システム300の物理的外観を示す図である。本実施形態においても、図示の通り、上位コントローラ2に対し、モータ制御装置3a,3b,3c,3dが情報通信回線5によりこの順にカスケード接続されている。また、各モータ制御装置3a〜3dにはサーボモータにより駆動されるリニアスライダ6a〜6dがそれぞれ接続されている。さらに、各モータ制御装置3a〜3dはそれぞれ有効無効出力部35a〜35dを備えている。そして、モータ制御装置3a〜3d間の情報通信回線5には、入力に応じて情報通信を有効とするか無効とするかを切り替える切替スイッチ50がそれぞれ挿入されており、モータ制御装置3a〜3cの有効無効出力部35a〜35cはそれぞれ下流側の切替スイッチ50に接続されている。
【0070】
切替スイッチ50は、ローインピーダンスの入力を受けることにより情報通信を有効とするものである。なお、上位コントローラ2とモータ制御装置3a間の情報通信回線5には切替スイッチ50は挿入されていないため、この間の情報通信は常時有効となっている。また、有効無効出力部35a〜35dは初期状態ではハイインピーダンス状態であるから、各切替スイッチ50において情報通信は無効、すなわち切断された状態となっている。これにより、モータ制御装置3b〜3dの情報通信が有効であるか無効であるかは、上位コントローラ2側に接続された、隣接するモータ制御装置3a〜3cにより切り替えられることになる。すなわち、
図4の情報通信切替部4は、本実施形態ではモータ制御装置3a〜3cが担うことになる。
【0071】
本実施形態でのモータ制御装置3a〜3dの動作は第1の実施形態と同様のものである。これを
図3に即して説明すると、初期状態において、モータ制御装置3b〜3dの情報通信はそれぞれモータ制御装置3a〜3cからの出力により通信無効とされている。そして、各モータ制御装置3a〜3dは、上位コントローラ2により識別情報が付与されると、出力をローインピーダンス、すなわち、通信有効とするものに切り替える。これにより、モータ制御装置3a〜3cは
図1の情報通信切替部4として機能する。
【0072】
なお、モータ制御装置3dの有効無効出力部35dが他のモータ制御装置3a〜3cと同様の動作を行うものであることが望ましい点は第1の実施形態と同様である。また、本実施形態では上位コントローラ2とモータ制御装置3a間に切替スイッチ50を設けなかったが、これを設けて、その入力を接地する等して常に情報通信を有効にするようにしてもよい。もちろん、本実施形態においても情報通信回線5をスター接続としてもよい。
【0073】
また、切替スイッチ50は、情報通信回線5がイーサネット(登録商標)規格に準拠するものである場合、いわゆる物理層インタフェースであって良く、その入力信号は物理層インタフェースに対するイネーブル信号であってよい。
【0074】
<第4の実施形態>
図7は、本発明の第4の実施形態に係るモータ制御プログラム転送システム400の物理的外観を示す図である。本実施形態においても、図示の通り、上位コントローラ2に対し、モータ制御装置3a,3b,3c,3dが情報通信回線5によりこの順にカスケード接続されている。また、各モータ制御装置3a〜3dにはサーボモータにより駆動されるリニアスライダ6a〜6dがそれぞれ接続されている。そして、モータ制御装置3a〜3d間の情報通信回線5には、入力に応じて情報通信を有効とするか無効とするかを切り替える切替スイッチ50がそれぞれ挿入されており、それぞれ上位コントローラ2の有効無効出力部23に接続されている。
【0075】
ここでも、切替スイッチ50は、ローインピーダンスの入力を受けることにより情報通信を有効とするものである。なお、上位コントローラ2とモータ制御装置3a間の情報通信回線5には切替スイッチ50は挿入されていないため、この間の情報通信は常時有効となっている。また、切替スイッチ50はそれぞれ有効無効出力部23に接続されているため、モータ制御装置3b〜3dの情報通信が有効であるか無効であるかは、上位コントローラ2により切り替えられることになる。すなわち、
図1の情報通信切替部4は、本実施形態では上位コントローラ2が担うことになる。有効無効出力部23の初期状態での出力はハイインピーダンスである。
【0076】
本実施形態での上位コントローラ2の動作は第2の実施形態と同様のものである。これを
図3に即して説明すると、初期状態において、各切替スイッチ50の情報通信は上位コントローラ2からの出力により通信無効とされている。そして、上位コントローラ2は、1のモータ制御装置3に識別情報を付与することにより、次の1のモータ制御装置についての切替スイッチ50への出力をローインピーダンス、すなわち、通信有効とするものに切り替える。ここでは、1のモータ制御装置3b,3c,3dに対しその上流側に設けられた切替スイッチ50が対応づけられる。上位コントローラ2は、識別情報を付与するごとにその下流側のモータ制御装置3b,3c,3dについての切替スイッチ50に対し、この順(カスケード接続において、上位コントローラ2に近い順)にローインピーダンスを出力する。これにより、上位コントローラ2は
図1の情報通信切替部4として機能する。
【0077】
なお、本実施形態においても、上位コントローラ2とモータ制御装置3a間に切替スイッチ50を設けなかったが、これを設けて、その入力を接地する等して常に情報通信を有効にするようにしてもよい点は先の実施形態と同様である。上位コントローラ2からリセット信号を送信する順番や、情報通信回線5をスター接続としてもよいこと、切替スイッチ50がイーサネット(登録商標)規格におけるいわゆる物理層インタフェースであっても良いことについては先の実施形態と同様である。
【0078】
以上説明した実施形態は具体例として示したものであり、本明細書にて開示される発明をこれら具体例の構成に限定するものではない。当業者はこれら開示された実施形態に種々の変形、例えば、物理的構成の形状や数、配置等を変更してもよい。本明細書にて開示される発明の技術的範囲は、そのようになされた変形をも含むものと理解すべきである。