(57)【要約】【課題】  サーボ演算部においてサーボソフトウェアの格納に要する揮発記憶領域を減少させること。また、サーボ演算部での演算速度の低下を防ぐこと。【解決手段】  サーボ制御装置において、サーボ軸の特性や、各種移動動作や加工動作のためのサーボモータの実行等、種々の機能毎に複数のサーボソフトウェアを準備しておく。上位制御部は、これらのサーボソフトウェアを格納しておき、各サーボ演算部に対して最も適したサーボソフトウェアのみをローディングする。サーボ演算部はローディングしたサーボソフトウェアにより所定の動作を実行する。【選択図】  図１
2005242486.tif 000002
【特許請求の範囲】
【請求項１】
上位制御部と、前記上位制御部から入力した移動指令をサーボソフトウェアで演算処理するサーボ演算部とを備え、前記サーボ演算部の演算結果に基づいてサーボモータを駆動制御するサーボ制御装置において、
前記上位制御部は、複数のサーボソフトウェアを記憶する記憶手段と、
前記サーボソフトウェアとサーボモータとを対応させる対応手段と、
前記記憶手段に記憶するサーボソフトウェアを前記サーボ演算部に転送する転送手段を備え、
前記転送手段は、指定手段による指定に基づいて、前記複数のサーボソフトウェアから指定された少なくとも何れか一つのサーボソフトウェアを前記サーボ演算部に転送し、
前記サーボ演算部は、前記転送されたサーボソフトウェアに基づいて、前記対応手段で対応づけられたサーボモータを駆動制御することを特徴とする前記サーボ制御装置。
【請求項２】
前記複数のサーボソフトウェアの各サーボソフトウェアは、単独で所定の機能を実行するプログラムであることを特徴とする請求項１に記載のサーボ制御装置。
【請求項３】
前記複数のサーボソフトウェアの各サーボソフトウェアは、それぞれ共通のプログラム部分と機能別のプログラム部分を含むモジュール構造で構成されることを特徴とする請求項１に記載のサーボ制御装置。
【請求項４】
前記サーボソフトウェアを指定する指定手段は、パラメータ、設定ピン、あるいは外部信号のいずれかであることを特徴とする請求項１乃至３のいずれかに記載のサーボ制御装置。
【請求項５】
前記サーボソフトウェアとサーボモータとを対応させる対応手段は、前記上位制御部に設定するパラメータ、設定ピン、あるいは外部信号のいずれかであることを特徴とする請求項１乃至３のいずれかに記載のサーボ制御装置。
【請求項６】
前記モジュール構造のサーボソフトウェアの組み合わせは、対応テーブルにより予め記憶されていることを特徴とする請求項３に記載のサーボ制御装置。
【請求項７】
前記サーボ制御装置はさらに復号化プログラムを備え、暗号化された前記複数のサーボソフトウェアを前記復号化プログラムにより復号することを特徴とする請求項１乃至６のいずれかに記載のサーボ制御装置。
【請求項８】
前記上位制御部は暗号化されたサーボソフトウェアを記憶し、
前記サーボ演算部は前記復号化プログラムを記憶し、
前記サーボ演算部は前記上位制御部から送られた暗号化されたサーボソフトウェアを前記復号化プログラムによって復号化することを特徴とする請求項７に記載のサーボ制御装置。
【請求項９】
前記サーボ演算部はＤＳＰで構成され、前記復号化プログラムは当該ＤＳＰのマスクＲＯＭに格納されていることを特徴とする請求項８に記載のサーボ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーボモータの制御をサーボソフトウェアで行うサーボ制御装置に関する。
【背景技術】
【０００２】
数値制御装置によって駆動制御される機械としては、例えばＮＣ旋盤やＮＣフライス盤等の工作機械や電動式射出成形機や産業用ロボット等の種々のものがある。従来の数値制御装置では、個々の機械を駆動制御するためにもソフトウェアは機械毎に生成されている。これらソフトウェアはそれ自体で完結した、単独で用いることができる構成とし、数値制御装置内のＲＯＭやハードディスク等の不揮発記憶領域に格納されている。
【０００３】
また、上記各機械においても複数の駆動機構を備える、それぞれ同じあるいは異なる動作を行うことにより全体として所定の動作を行っている。このように複数の駆動機構を駆動するためには、これらの駆動機構が備えるサーボモータにそれぞれ所定の機能を実行させる必要がある。サーボモータはサーボ演算部によって駆動される。サーボ演算部は、上位制御部から受けた指令をサーボソフトウェアで解釈してサーボモータを制御することによってサーボモータの制御を行う。
【０００４】
そのため、複数のサーボモータを制御するサーボ制御装置は、各サーボモータに対してそれぞれ個別の機能を実行させるためのサーボソフトウェアを各サーボ演算装置に備える必要がある。  
従来、サーボ制御装置の上位制御部の不揮発記憶領域に、サーボ制御装置が制御しようとするサーボモータが必要とする全てのサーボソフトウェアを格納しておき、サーボ制御装置が制御を行う各サーボ演算装置に対して、上位制御部が格納する全てのサーボソフトウェアをローディングする。
【０００５】
図１０は従来のサーボソフトウェアのサーボ演算装置へのローディングを説明するための概略図である。  
図１０において、サーボ制御装置１１は上位制御部１２とサーボ演算部１３を備える。サーボ制御装置１１は、非揮発記憶領域１２ｂに全てのサーボソフトウェア（サーボソフトウェアＡ，サーボソフトウェアＢ，サーボソフトウェアＣ）を格納し、サーボ演算部１３−１，１３−２に対して全てのサーボソフトウェアをローディングする。  
サーボ演算部１３−１，１３−２は、上位制御部１２からローディングした全てのサーボソフトウェアの中からそれぞれ所定の機能を実行するに必要なサーボソフトウェアを用いることによりサーボモータ１４−１、１４−２の駆動制御を行う。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
サーボ軸を制御するサーボソフトウェアは、サーボ軸の特性により各種の機能が必要になる。例えば、サーボ軸の特性として、モータの種類、検出器の種類、直線軸か、回転軸か、水平軸か、重力軸か、高精度の軸か等があり、これらサーボ軸の特性に合ったサーボソフトウェアを使用する必要がある。そのため、その全てに対応するには膨大なプログラム容量が必要となる。  
したがって、膨大なプログラム量のサーボソフトウェアを上位制御部やサーボ演算部に格納するには、上位制御部の不揮発記憶領域、及びサーボ演算部の揮発記憶領域も大きな容量を必要とするという問題がある。
【０００７】
また、サーボ演算部では、不要なプログラム部分についても実行することになるため、サーボソフトウェアを実行するための時間も増え、リアルタイムな処理に支障を来すことになる。  
また、サーボソフトウェアのプログラム容量が増えるにしたがって、このプログラムを開発するための開発工数も増え、開発時間や開発コストが増加するという問題も生じることになる。  
そこで、本発明は、サーボ演算部においてサーボソフトウェアの格納に要する揮発記憶領域を減少させることを目的とする。また、サーボ演算部での演算速度の低下を防ぐことを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、サーボ制御装置において、サーボ軸の特性や、各種移動動作や加工動作のためのサーボモータの実行等、種々の機能毎に複数のサーボソフトウェアを準備しておく。上位制御部は、これらのサーボソフトウェアを格納しておき、各サーボ演算部に対して最も適したサーボソフトウェアのみをローディングする。サーボ演算部はローディングしたサーボソフトウェアにより所定の動作を実行する。
【０００９】
あるいは、本発明は、サーボソフトウェアを、基本となるソフトウェアと機能毎のソフトウェアとに分けてモジュール化して準備しておく。上位制御部は、サーボ軸の特性と、そのサーボ軸特性に適したサーボソフトウェアのモジュールの組み合わせとの対応関係をテーブル等の形態で用意しておく。上位制御部は、使用するサーボ軸に対して、前記対応関係から最適なサーボソフトウェアのモジュールを選択し、サーボ演算部にローディングする。サーボ演算部は、ローディングしたサーボソフトウェアのモジュールにより所定の動作を実行する。
【００１０】
本発明のサーボ制御装置は、上位制御部と、上位制御部から入力した移動指令をサーボソフトウェアで演算処理するサーボ演算部とを備え、サーボ演算部の演算結果に基づいてサーボモータを駆動制御するサーボ制御装置である。  
上位制御部は、複数のサーボソフトウェアを記憶する記憶手段と、サーボソフトウェアとサーボモータとを対応させる対応手段と、記憶手段に記憶するサーボソフトウェアを前記サーボ演算部に転送する転送手段を備える。
【００１１】
転送手段は、指定手段による指定に基づいて、複数のサーボソフトウェアから指定された少なくとも何れか一つのサーボソフトウェアをサーボ演算部に転送する。サーボ演算部は、転送されたサーボソフトウェアに基づいて、対応手段で対応づけられたサーボモータを駆動制御する。  
本発明によれば、サーボ演算部は、上位制御部が格納するサーボソフトウェアの中から指定手段で指定されたサーボソフトウェアのみのローディングで済むため、サーボソフトウェアを格納するための記憶容量を減少させることができる。  
また、対応手段によってサーボソフトウェアとサーボモータとの対応関係を定めておき、サーボ演算部は、上位制御部からサーボソフトウェアをローディングすると共に、上位制御部から当該サーボソフトウェアを実行させるサーボモータの情報を得ることによってサーボモータを駆動制御する。
【００１２】
本発明のサーボ制御装置に用いるサーボソフトウェアは２つの形態とすることができる。  
サーボソフトウェアの第１の形態は、単独で所定の機能を実行するプログラムである。上位制御部は、各サーボ演算部で用いる機能を実行するためのプログラムを記憶領域に格納しておき、これらのプログラムの中から各サーボ演算部で用いるプログラムのみをローディングする。各サーボ演算部は、ローディングしたプログラムを用いてサーボモータの駆動制御を行う。
【００１３】
また、サーボソフトウェアの第２の形態は、それぞれ共通のプログラム部分と機能別のプログラム部分を含むモジュール構造で構成される。上位制御部は、各サーボ演算部に共通するプログラム部分と、各サーボ演算部で用いる機能を実行するための機能別のプログラム部分を記憶領域に格納しておき、これらのプログラム部分の中から、共通するプログラム部分と各サーボ演算部で用いる機能のプログラム部分とをローディングする。各サーボ演算部は、ローディングした共通プログラム部分と機能別プログラム部分との組み合わせによって、所定の機能を実現するサーボソフトウェアを構成しサーボモータの駆動制御を行う。
【００１４】
サーボソフトウェアを指定する指定手段は、パラメータ、設定ピン、あるいは外部信号のいずれかとすることができる。なお、パラメータ、設定ピン、外部信号は、サーボソフトウェアを特定するための一形態であり、その他の形態とすることもできる。指定手段は、サーボ制御装置の任意の部分あるいは外部に設けることができる。サーボ制御装置内に設ける場合には、例えばサーボ演算部が備える記憶手段に格納するパラメータや、サーボ演算部が備える設定ピンにより指定することができる。
【００１５】
また、サーボソフトウェアがモジュール構造である場合には、前記パラメータ、設定ピン、外部信号等とサーボソフトウェアのモジュールの組み合わせとの対応関係を対応テーブルにより予め記憶しておき、指定に対応するモジュールの組み合わせを対応テーブルから読み出し、サーボソフトウェアのモジュールを読み出す。  
また、サーボ演算部は複数のサーボモータの駆動を制御する場合があり、サーボ演算部によって所定の機能を実行させるためには、ローディングしたサーボソフトウェアがいずれのサーボモータを駆動制御すればよいかを特定する必要がある。  
そこで、サーボソフトウェアと当該サーボソフトウェアが駆動制御するサーボモータとの対応関係を予め定めておき、この対応関係に基づいてサーボソフトウェアが実行するサーボモータを特定する。
【００１６】
本発明の上位制御部は、サーボソフトウェアとサーボモータの対応関係を格納しておき、サーボソフトウェアに対してサーボモータを特定しサーボ演算部に転送する。サーボソフトウェアとサーボモータとの対応関係を定める対応手段は、パラメータ、設定ピン、あるいは外部信号のいずれかの形態とすることができ、これらパラメータ等の設定を変えることによってサーボソフトウェアとサーボモータとの対応関係を変更することもできる。なお、パラメータ、設定ピン、外部信号は、サーボソフトウェアとサーボモータとの対応を特定するための一形態であり、その他の形態とすることもできる。
また、本発明のサーボ制御装置はさらに復号化プログラムを備える。復号化プログラムは、暗号化された複数のサーボソフトウェアを復号化プログラムにより復号して使用する。
【００１７】
上位制御部は暗号化されたサーボソフトウェアを記憶し、サーボ演算部は復号化プログラムを記憶する。サーボ演算部は上位制御部から送られた暗号化されたサーボソフトウェアを復号化プログラムによって復号化する。  
サーボ演算部はＤＳＰで構成することができる。復号化プログラムはＤＳＰのマスクＲＯＭに格納しておくことができる。
【発明の効果】
【００１８】
本発明によれば、必要とするサーボソフトウェアのみをサーボ演算部にローディングするため、サーボソフトウェアの格納に要する揮発記憶領域を減少させることができる。  
また、サーボ演算部の揮発記憶領域には使用しないサーボソフトウェアが格納されていないため、不要なサーボソフトウェアの実行を防いで、サーボ演算部での演算速度の低下を防ぐことができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施の形態について、図を参照しながら詳細に説明する。  
本発明の第１の形態は、機能毎に複数のサーボソフトウェアをサーボ制御装置の上位に準備しておき、この中から各機能を実行するために最も適したサーボソフトウェアのみをサーボ制御装置の下位にローディングし、ローディングしたサーボソフトウェアを用いてサーボモータを駆動制御する形態である。
【００２０】
図１は第１の形態を説明するための概略図である。図１において、サーボ制御装置は、サーボ軸に対してそれぞれ異なる機能を実行させるためサーボソフトウェアＡ，Ｂ，Ｃ，…を備える。各サーボソフトウェアは基本部分と各機能に固有の機能部分とから構成される。例えば、機能ａを実行させるサーボソフトウェアＡは、基本部分と機能ａ部分の各ソフトウェアにより構成され、機能ｂを実行させるサーボソフトウェアＢは、基本部分と機能ｂ部分の各ソフトウェアにより構成される。なお、基本部分は基本動作をサーボ軸に実行させるためのソフトウェアであり、この基本部分のみによってサーボ軸に基本動作を実行させることができる。
【００２１】
サーボ制御装置の上位部分はこれらのサーボソフトウェアＡ，Ｂ，Ｃ，…を準備しておき、各サーボ軸に対して所定の機能を実施させる際には、これらサーボソフトウェアＡ，Ｂ，Ｃ，…から各サーボ軸に最適なサーボソフトウェアを選択する。  
例えば、機能ａを実施する場合にはサーボソフトウェアＡ，Ｂ，Ｃ，…から機能ａの実施に用いるサーボソフトウェアＡを選択し、機能ｂを実施する場合にはサーボソフトウェアＡ，Ｂ，Ｃ，…から機能ｂの実施に用いるサーボソフトウェアＢを選択する。また、機能ａ及び機能ｂを実施する場合にはサーボソフトウェアＡ，Ｂ，Ｃ，…から機能ａの実施に用いるサーボソフトウェアＡと機能ｂの実施に用いるサーボソフトウェアＢを選択する。
【００２２】
本発明の第２の形態は、サーボソフトウェアを、基本となるソフトウェアと機能毎のソフトウェアとに分けてモジュール化して準備しておく。また、サーボ軸の特性とそのサーボ軸特性に適したサーボソフトウェアのモジュールの組み合わせとの対応関係を用意しておく。  
サーボ制御装置の上位制御部は、使用するサーボ軸に対して対応関係に基づいて最適なサーボソフトウェアのモジュールの組み合わせを選択してサーボ制御装置の下位にローディングし、ローディングしたサーボソフトウェアのモジュールを用いてサーボモータを駆動制御する形態である。
【００２３】
図２は第２の形態を説明するための概略図である。図２において、サーボ制御装置は、基本モジュールＭと各機能のモジュールａm，ｂm，ｃm，…を備える。  
各サーボソフトウェアは基本モジュールＭと各機能のモジュール部分ａm，ｂm，ｃm，…との組み合わせにより構成される。例えば、機能ａのサーボソフトウェアは、基本モジュールＭと機能ａの機能モジュールａmとの組み合わせにより構成され、機能ｂのサーボソフトウェアは、基本モジュールＭと機能ｂの機能モジュールｂmとの組み合わせにより構成される。また、機能ａ，ｂのサーボソフトウェアは、基本モジュールＭと機能ａの機能モジュールａmと機能ｂの機能モジュールｂmとの組み合わせにより構成される。
次に、本発明の第１の形態によるサーボ制御装置の構成例について、図３の本発明のサーボ制御装置の第１の構成例を説明するための概略ブロック図を用いて説明する。
【００２４】
図３において、第１の構成例のサーボ制御装置１は、ＣＮＣ装置等により構成される上位制御部２と、各サーボ軸を駆動制御するサーボ演算部３を備える。  
上位制御部２は、サーボソフトウェアや各種対応関係を記憶している不揮発記憶領域２ｂ，２ｃと、サーボを指定する指定手段２ｄと、揮発記憶領域に格納するサーボソフトウェアをサーボ演算部３に転送してローディングを行う転送手段２ａを備える。
【００２５】
ここで、不揮発記憶領域２ｂは複数のサーボソフトウェア（サーボソフトウェアＡ，Ｂ，Ｃ，…）を格納する。上位制御部２からサーボ演算部３にサーボソフトウェアを転送するには、不揮発記憶領域２ｂに格納している複数のサーボソフトウェアの中から転送するサーボソフトウェアを特定する必要がある。このサーボソフトウェアの特定はパラメータ、設定ピン、あるいは外部信号によって行う。
【００２６】
上位制御部２は、パラメータ、設定ピン、あるいは外部信号によってサーボソフトウェアを特定し、不揮発記憶領域２ｂから特定したサーボソフトウェアを読み出し、転送手段２ａによってサーボ演算部３に転送する。  
本発明は、パラメータ、設定ピン、あるいは外部信号によってサーボソフトウェアを特定するために、パラメータ、設定ピン、あるいは外部信号とサーボソフトウェアとの対応関係を用意しておき、この対応関係を用いて、入力したパラメータ、設定ピン、あるいは外部信号に対するサーボソフトウェアを取得する。  
そこで、上位制御部２は、不揮発記憶領域２ｂに格納する複数のサーボソフトウェアから特定のサーボソフトウェアを読み出すために、サーボソフトウェアを特定するパラメータ（又は設定ピンあるいは外部信号）とサーボソフトウェアとの対応関係を格納する不揮発記憶領域２ｃを備える。
【００２７】
また、サーボ演算部３は駆動制御するサーボ軸及びサーボモータを複数備える場合がある。このような場合には、サーボ演算部３は転送手段２ａから転送されたサーボソフトウェアによりどのサーボモータを駆動制御するかを特定する必要がある。そこで、上位制御部２は、サーボソフトウェアによってどのサーボモータを駆動制御するかを特定するために、サーボモータを指定する指定手段を備える。このサーボモータを指定する指定手段は、パラメータ、設定ピン、あるいは外部信号とすることができる。なお、パラメータは不揮発記憶領域に格納することができる。
【００２８】
一方、サーボ制御装置１は、複数のサーボ演算部３（３−１，３−２，…）を備えることができる。複数のサーボ演算部３は、上位制御部２からローディングしたサーボソフトウェアを用いて所定の機能を実施する。図３では、サーボ演算部３−１により機能ａを実施する例を示し、サーボ演算部３−２により機能ｂを実施する例を示している。
【００２９】
以下、機能サーボ演算部３−１を例として説明する。  
サーボ演算部３−１は、サーボ軸を駆動するサーボモータ４−１を備える。図３ではサーボモータ４−1a，４−1bを備える例を示しているが、設置するサーボモータの個数は実施する機能に応じて設定される。また、各サーボ軸に対して複数のサーボモータを設けることもできる。  
サーボ演算部３−１は揮発記憶領域３−1aを備え、上位制御部２の転送手段２ａからローディングされたサーボソフトウェアを格納する。サーボソフトウェアは揮発記憶領域に格納されるため、実行する機能を変更する毎に揮発記憶領域にサーボソフトウェアを格納することにより、１つのサーボ演算部による複数種類の機能を実行することができる。  
また、サーボ演算部３−１は、上位制御部２の指定手段で指定されるサーボモータについてサーボソフトウェアによる駆動制御を行う。
【００３０】
図４は、第１の構成例のサーボ制御装置１による動作例を示す図である。なお、以下の（）中に示す数字は図４中に数字と対応している。また、Ｓの符号を付した数字は図３，４中の丸数字と対応している。  
上位制御部２は、サーボ演算部で使用するサーボソフトウェアの指定を受け（Ｓ１）、指定されたサーボソフトウェアを不揮発記憶領域２ｂに知らせ（Ｓ２）、読み出したサーボソフトウェアをサーボ演算部３に転送する（Ｓ３）。
【００３１】
このサーボソフトウェアの指定は、例えばサーボ演算部３の記憶手段に格納したパラメータ（１）や、サーボ演算部３が備える設定ピン（２）によって行う他、サーボ演算部３に対して外部から入力することもできる。外部信号によってサーボソフトウェアと指定する場合には、外部信号はサーボ演算部３から上位制御部２に入力する他、サーボ演算部３以外の装置や入力手段から上位制御部２に直接に入力する構成としてもよい（３）。
【００３２】
不揮発記憶領域２ｃには、パラメータ（又は設定ピンや外部信号）とサーボソフトウェアとの対応関係が格納されており、この対応関係を用いて、入力されたパラメータ（又は設定ピンや外部信号）に対応する例えばサーボソフトウェア名（５）や機能名等の情報を読み出す（Ｓ２）。  
不揮発記憶領域２ｂは、例えばサーボソフトウェア名等の情報に基づいてサーボソフトウェア（６）を読み出し、転送手段２ａはこの読み出したサーボソフトウェアをサーボ演算部３に転送する。図３，４ではサーボソフトウェアＡ，Ｂを読み出して転送する例を示している（Ｓ３）。
【００３３】
サーボ演算部３−１は、転送されたサーボソフトウェア（９）を揮発記憶領域３-1aに格納し、サーボ演算部３−２は、転送されたサーボソフトウェア（１０）を揮発記憶領域３-1ｂに格納する。  
一方、上位制御部２の指定手段２ｄ（例えば不揮発記憶領域）には、例えばサーボソフトウェアとの対応関係等によって、サーボモータを指定する指定情報が設定されている（Ｓ４）。サーボ演算部３は、指定手段からサーボモータの指定（８）を受ける（Ｓ５）。
サーボ演算部３−１は、サーボソフトウェアＡ（９）とサーボモータの指定（８）とを受け、指定されたサーボモータ４-1a，４-1bを駆動制御する。また、サーボ演算部３−２は、サーボソフトウェアＢ（１０）とサーボモータの指定（８）とを受け、演算結果（１１）を指定されたサーボモータ４-2a，４-2bに渡して駆動制御を行う（１２）。
【００３４】
図５は、第１の形態において、上位制御部とサーボ演算部１〜３との間のサーボソフトウェアのローディングを説明するための図である。  
上位制御部は機能（機能ａ，機能ｂ，…）毎に複数のサーボソフトウェアＡ，Ｂ，…を準備しておく。上位制御部は、この中から各機能を実行するために最も適したサーボソフトウェアのみをサーボ演算部にローディングし、サーボ演算部はローディングされたサーボソフトウェアを用いてサーボモータを駆動制御し所定の機能を実施する。
【００３５】
ここで、各サーボソフトウェアは基本部分と機能部分とを備える。基本部分はこの部分のみによって基本動作を行うことができ、機能部分は基本部分と組み合わせるとによって各機能を実施することができる。  
このローディングにおいて、上位制御部に対して、サーボ軸の特性に応じて、パラメータ、設定ピン、あるいは外部信号等の指定手段により、どのサーボ演算部に、どのサーボソフトウェアをローディングするかを知らせる。  
例えば、サーボ演算部１，３に対してパラメータ“Ａ”を設定してサーボソフトウェアＡを指定することにより、サーボソフトウェアＡはサーボ演算部１，３にローディングされる。また、サーボ演算部２に対してパラメータ“Ｂ”を設定してサーボソフトウェアＢを指定することにより、サーボソフトＢはサーボ演算部２にローディングされる。
【００３６】
また、パラメータ“Ｎ”の設定において該当するサーボソフトウェアｎが存在しない場合には、例えば、任意に設定したサーボソフトウェアをサーボ演算部にローディングするように定めておく。これによって、サーボ演算部には少なくとも基本部分がローディングされ、基本動作の実施が可能となり、装置が立ち上がらないという事態を防ぐことができる。また、このとき同時に、ユーザに対して該当するサーボソフトウェアが存在していない旨のワーニングを出して注意を喚起することができる。
【００３７】
次に、本発明の第２の形態によるサーボ制御装置の構成例について、図６の本発明のサーボ制御装置の第２の構成例を説明するための概略ブロック図を用いて説明する。  
本発明の第２の形態は、サーボソフトウェアを、基本となるソフトウェアと機能毎のソフトウェアとに分けてモジュール化して準備しておき、また、サーボ軸の特性に応じて最適なサーボソフトウェアのモジュールの組み合わせをサーボ演算部にローディングして、サーボモータを駆動制御する形態である。
【００３８】
図６において、第２の構成例のサーボ制御装置１は第１の構成例と同様に、ＣＮＣ装置等により構成される上位制御部２と、各サーボ軸を駆動制御するサーボ演算部３を備える。  
第２の構成例の構成と第１の構成例の構成とは、上位制御部に構成において相違し、その他の構成は共通とすることができるため、以下では相違する構成についてのみ説明し、共通する構成については説明を省略する。
【００３９】
上位制御部２は、モジュール化されたサーボソフトウェアを記憶している不揮発記憶領域２ｂと、サーボ演算部とモジュールの組み合わせとの対応関係を格納する不揮発記憶領域２ｅと、サーボを指定する指定手段２ｄと、揮発記憶領域に格納しているサーボソフトウェアをサーボ演算部３に転送してローディングを行う転送手段２ａを備える。
【００４０】
ここで、不揮発記憶領域２ｂは複数の機能のサーボソフトウェアを基本モジュールＭと各機能部分の機能モジュールａm，ｂm，ｃm，…の形態でモジュール化して格納する。各機能ａ，ｂ，ｃ，は、基本モジュールＭと機能モジュールａm，ｂm，ｃm，…との組み合わせによって実施することができる。例えば、機能ａのサーボソフトウェアは基本モジュールＭと機能モジュールａmとの組み合わせにより構成することができ、機能ｂのサーボソフトウェアは基本モジュールＭと機能モジュールｂmとの組み合わせにより構成することができる。また、機能ａ，ｂを実施するサーボソフトウェアは基本モジュールＭと機能モジュールａmと機能モジュールｂmとの組み合わせによって構成することができる。
【００４１】
所定の機能をサーボ演算部に実施させるには、どのような組み合わせの機能モジュールでサーボソフトウェアを構成するかを定める必要がある。本発明は、この機能モジュールの組み合わせを対応テーブルの形態で備えることができる。
【００４２】
図７は、第２の形態において、上位制御部とサーボ演算部１〜３との間のサーボソフトウェアのローディングを説明するための図である。  
上位制御部は機能（機能ａ，機能ｂ，…）を実施するソフトウェアをモジュール化し、基本モジュールＭと、機能ａのための機能モジュールａm，機能ｂのための機能モジュールｂm，機能ｃのための機能モジュールｃm，…等の機能毎に機能モジュールとを準備しておく。上位制御部は、この中から各機能を実行するために最も適した組み合わせのモジュールをサーボ演算部にローディングし、サーボ演算部はローディングされたモジュールを組み合わせてサーボソフトウェアを構成し、サーボモータを駆動制御し所定の機能を実施する。
【００４３】
このローディングにおいて、対応テーブルは、各サーボ演算部に対してどの組み合わせのモジュールを転送するかの対応関係を定めている。例えば図７では、モジュールの組み合わせを表したタイプを定め、このタイプを各サーボ演算部に設定することによって、各サーボ演算部のモジュールの組み合わせを定め、図８に各タイプに対するモジュールの組み合わせを定めている。
【００４４】
例えば、タイプ１は機能ａと機能ｄを実施するモジュールの組み合わせであって、基本モジュールと機能モジュールａmと機能モジュールｂmからなり、タイプ２は機能ｂと機能ｃを実施するモジュールの組み合わせであって、基本モジュールと機能モジュールｂmと機能モジュールｃmからなる。  
図７において、サーボ演算部１にタイプ１を設定した場合には、対応テーブルによりタイプ１には基本モジュールと機能モジュールａmと機能モジュールｄmの組み合わせが設定されているため、この組み合わせのモジュールがサーボ演算部１にローディングされる。
【００４５】
また、同様に、サーボ演算部２にタイプ２を設定した場合には、対応テーブルによりタイプ２には基本モジュールと機能モジュールｂmと機能モジュールｃmの組み合わせが設定されているため、この組み合わせのモジュールがサーボ演算部２にローディングされる。
第２の形態では、サーボソフトウェアの基本部分と機能毎のモジュールとを上位制御部上の不揮発記憶領域に格納しておき、また、タイプ毎にどの機能モジュールを組み合わせるかを決める対応テーブルを準備しておくことにより、各サーボ演算部で使用するモジュールの選択及び設定を容易とすることができ、また、モジュールの組み合わせの変更も容易に行うことができる。  
なお、機能モジュールの組み合わせは、テーブルの形態で備える構成に限らず、機能モジュール毎に選択するパラメータを準備する構成とすることもできる。
【００４６】
さらに、本発明は、サーボソフトウェアを暗号化することにより、サーボソフトウェアのセキュリティを高めることができる。  
図９は、サーボソフトウェアの暗号化及び復号化の構成を説明するための図である。図９において、上位制御部２は暗号化されたサーボソフトウェアを取り込んで不揮発記憶領域２ｂに格納し、サーボ演算部３に転送する。  
一方、サーボ演算部３は、不揮発記憶領域に復号化プログラムを格納し、上位制御部２から転送された暗号化サーボソフトウェアを復号化して実行する。
【００４７】
サーボソフトウェアの作成において、完成したサーボソフトウェアＡ，Ｂ，…をパソコン等の所定の処理手段によって暗号化して暗号化サーボソフトウェアＡ′，Ｂ′，…を作成する。暗号化サーボソフトウェアＡ′，Ｂ′，…は上位制御部の不揮発記憶領域に格納しておく。この暗号化サーボソフトウェアＡ′，Ｂ′，…の格納において、前記した本発明の第１及び第２の形態を適用することができる。第１の形態を適用する場合には、機能毎に暗号化サーボソフトウェアＡ′，Ｂ′，…を作成し、この機能の暗号化サーボソフトウェアＡ′，Ｂ′，…を上位制御部に記憶しておく。また、第２の形態を適用する場合には、サーボソフトウェアをモジュール構成とし、このモジュール単位で暗号化した暗号化モジュールを作成し、上位制御部に記憶しておく。
サーボ制御装置１の電源をＯＮとした時点において、サーボ演算部３の不揮発記憶領域に前記した形態と同様にして暗号化サーボソフトウェアあるいは暗号化モジュールを書き込む。サーボ演算部３は、暗号化されたままのサーボソフトウェアでは稼働することができないので、内部の不揮発記憶領域に格納された復号化プログラムを実行して暗号化サーボソフトウェアあるいは暗号化モジュールを復号化して元の状態に戻した後、アンプ５を駆動してサーボモータ４を制御する。
【００４８】
なお、サーボ演算部において、外部ＲＯＭなどの外部記憶手段に格納しておくと、暗号が解読される可能性がある。このような場合の対策として、サーボ演算部をディジタルシグナルプロセッサ（ＤＳＰ）で形成し、このＤＳＰの内部のマスクＲＯＭ領域に格納することで、復号プログラムの取り出しを防ぐことができる。
【００４９】
本発明の実施の形態によれば、機能毎にサーボソフトウェアを作成することにより、プログラム容量が小さくなり、開発工数が少なくなる。また、サーボ演算装置の揮発記憶領域が小さくて済むため、コスト的に有利になる。  
また、サーボ演算部において、プログラム容量が小さいため、処理時間を短縮することができる。また、サーボ軸の特性に合った機能を容易に選択し、設定することができる。  対応テーブルを用いることによって、様々なタイプの機能を持つサーボソフトウェアをモジュールの組み合わせによって容易に作成可能となる。
【産業上の利用可能性】
【００５０】
本発明の技術は、ＮＣ旋盤やＮＣフライス盤等の工作機械や電動式射出成形機や産業用ロボット等の種々のものに適用することができる。
【図面の簡単な説明】
【００５１】
【図１】第１の形態を説明するための概略図である。
【図２】第２の形態を説明するための概略図である。
【図３】本発明のサーボ制御装置の第１の構成例を説明するための概略ブロック図である。
【図４】第１の構成例のサーボ制御装置１による動作例を示す図である。
【図５】第１の形態において、上位制御部とサーボ演算部１〜３との間のサーボソフトウェアのローディングを説明するための図である。
【図６】本発明のサーボ制御装置の第２の構成例を説明するための概略ブロック図である。
【図７】第２の形態において、上位制御部とサーボ演算部１〜３との間のサーボソフトウェアのローディングを説明するための図である。
【図８】対応テーブルを説明するための図である。
【図９】サーボソフトウェアの暗号化及び復号化の構成を説明するための図である。
【図１０】従来のサーボソフトウェアのサーボ演算装置へのローディングを説明するための概略図である。
【符号の説明】
【００５２】
１，１１  サーボ制御装置
２，１２  上位制御部
２ａ，１２ａ  転送手段
２ｂ，２ｃ，２ｅ，１２ｂ  不揮発記憶領域
２ｄ  指定手段
２ｅ  対応テーブル
３，３−１，３−２、１３−１，１３−２  サーボ演算部
３-1a，３-2a  揮発記憶領域
４，４-1a，４-1b，４-2a，４-2b，１４-1a，１４-1b，１４-2a，１４-2b  サーボモータ
５  アンプ
【図１】
2005242486.tif 000003
【図２】
2005242486.tif 000004
【図３】
2005242486.tif 000005
【図４】
2005242486.tif 000006
【図５】
2005242486.tif 000007
【図６】
2005242486.tif 000008
【図７】
2005242486.tif 000009
【図８】
2005242486.tif 000010
【図９】
2005242486.tif 000011
【図１０】
2005242486.tif 000012