(57)【特許請求の範囲】
【請求項１】
複数のアドオンを実行することにより被制御装置を制御する駆動制御装置であって、
前記被制御装置を制御するために実行されるプログラムであるユーザプログラムと、複数の前記アドオンが記憶されるメモリと、
前記ユーザプログラムを含み前記アドオンを選別するためのアドオン選別条件に基づいて、前記ユーザプログラムに含まれている関数の実行に使用される前記被制御装置の機能である第１機能が使用される前記アドオンを前記ユーザプログラムの実行に使用される有効アドオンとし、複数の前記アドオンのうち前記有効アドオン以外の前記アドオンを前記ユーザプログラムの実行に使用されない無効アドオンとして、複数の前記アドオンを選別するアドオン選別部と、
前記ユーザプログラムに従って前記有効アドオンを実行して被制御装置を制御する制御部と、
を有することを特徴とする駆動制御装置。
【請求項２】
前記アドオン選別条件が、前記ユーザプログラムの実行に使用される使用機能である第２機能が指定された使用機能設定情報を含み、
前記アドオン選別部は、前記アドオン選別条件に基づいて、前記第１機能が使用される前記アドオンと、前記第２機能が使用される前記アドオンと、を前記有効アドオンとし、複数の前記アドオンのうち前記有効アドオン以外の前記アドオンを前記無効アドオンとして、複数の前記アドオンを選別すること、
を特徴とする請求項１に記載の駆動制御装置。
【請求項３】
前記有効アドオンが記憶される有効アドオンメモリ領域と、
前記無効アドオンが記憶される無効アドオンメモリ領域と、
前記アドオンを実行するために使用される実行メモリ領域と、
を備え、
前記制御部は、前記有効アドオンを前記有効アドオンメモリ領域から前記実行メモリ領域にコピーし、前記実行メモリ領域にコピーした前記有効アドオンを実行すること、
を特徴とする請求項１または２に記載の駆動制御装置。
【請求項４】
前記アドオン選別部は、複数の前記アドオンの全ての前記アドオンが実行される場合の前記実行メモリ領域の使用容量から、前記無効アドオンを実行せずに前記アドオン選別部によって選別された前記有効アドオンが実行される場合の前記実行メモリ領域の使用容量を減算した容量である前記実行メモリ領域の減少使用容量を算出すること、
を特徴とする請求項３に記載の駆動制御装置。
【請求項５】
前記アドオン選別部は、複数の前記アドオンの全ての前記アドオンが実行される場合に前記制御部が前記被制御装置を制御する周期である第１制御周期から、前記無効アドオンを実行せずに前記有効アドオンが実行される場合に前記制御部が前記被制御装置を制御する周期である第２制御周期を減算した時間である、制御周期の減少時間を算出すること、
を特徴とする請求項３または４に記載の駆動制御装置。
【請求項６】
複数のアドオンを実行することにより被制御装置を制御する駆動制御装置と、前記駆動制御装置に接続されるエンジニアリングツールと、を備えた駆動制御システムであって、
前記エンジニアリングツールは、
前記被制御装置を制御するために前記駆動制御装置において実行されるプログラムであるユーザプログラムを生成するユーザプログラム作成部と、
前記ユーザプログラムを含み前記アドオンを選別するためのアドオン選別条件を生成するアドオン選別条件生成部と、
を備え、
前記駆動制御装置は、
前記ユーザプログラムと、複数の前記アドオンと、が記憶されるメモリと、
前記アドオン選別条件に基づいて、前記ユーザプログラムに含まれている関数の実行に使用される前記被制御装置の機能である第１機能が使用される前記アドオンを前記ユーザプログラムの実行に使用される有効アドオンとし、複数の前記アドオンのうち前記有効アドオン以外の前記アドオンを前記ユーザプログラムの実行に使用されない無効アドオンとして、複数の前記アドオンを選別するアドオン選別部と、
前記ユーザプログラムに従って前記有効アドオンを実行して被制御装置を制御する制御部と、
を備えること、
を特徴とする駆動制御システム。
【請求項７】
前記アドオン選別条件が、前記ユーザプログラムの実行に使用される使用機能である第２機能が指定された使用機能設定情報を含み、
前記アドオン選別部は、前記アドオン選別条件に基づいて、前記第１機能が使用される前記アドオンと、前記第２機能が使用される前記アドオンと、を前記有効アドオンとし、複数の前記アドオンのうち前記有効アドオン以外の前記アドオンを前記無効アドオンとして、複数の前記アドオンを選別すること、
を特徴とする請求項６に記載の駆動制御システム。
【請求項８】
前記有効アドオンが記憶される有効アドオンメモリ領域と、
前記無効アドオンが記憶される無効アドオンメモリ領域と、
前記アドオンを実行するために使用される実行メモリ領域と、
を備え、
前記制御部は、前記有効アドオンを前記有効アドオンメモリ領域から前記実行メモリ領域にコピーし、前記実行メモリ領域にコピーした前記有効アドオンを実行すること、
を特徴とする請求項６または７に記載の駆動制御システム。
【請求項９】
前記アドオン選別部は、複数の前記アドオンの全ての前記アドオンが実行される場合の前記実行メモリ領域の使用容量から、前記無効アドオンを実行せずに前記アドオン選別部によって選別された前記有効アドオンが実行される場合の前記実行メモリ領域の使用容量を減算した容量である前記実行メモリ領域の減少使用容量を算出すること、
を特徴とする請求項８に記載の駆動制御システム。
【請求項１０】
前記アドオン選別部は、複数の前記アドオンの全ての前記アドオンが実行される場合に前記制御部が前記被制御装置を制御する周期である第１制御周期から、前記無効アドオンを実行せずに前記有効アドオンが実行される場合に前記制御部が前記被制御装置を制御する周期である第２制御周期を減算した時間である、制御周期の減少時間を算出すること、
を特徴とする請求項８または９に記載の駆動制御システム。
【請求項１１】
前記エンジニアリングツールは、前記制御周期の減少時間、前記実行メモリ領域の減少使用容量および前記無効アドオンの名称のうち少なくとも１つを表示する表示部を備えること、
を特徴とする請求項１０に記載の駆動制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、アドオンが実装された駆動制御装置および駆動制御システムに関する。
【背景技術】
【０００２】
特許文献１には、特定の機能モジュールを有効化または無効化するオプションと、有効化した機能のパフォーマンスを左右するパラメータを設定することにより、必要な機能モジュールのリソース使用量を決定し、機能モジュールの着脱を行う数値制御装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−１８５７３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、昨今の駆動制御装置では、アドオンのインストールにより拡張できる機能が多様化されている。このため、駆動制御装置に備わっている初期機能と、アドオンによって実現される拡張機能との関連を、マニュアル等のメーカから提供される資料から確認しなければならない。このため、アドオンによって実現される拡張機能と初期機能との関連付けに工数がかかり、またアドオンによって実現される拡張機能と初期機能との理解不足によって、有効化するアドオンを適切に設定できず、有効化するアドオンの構成の適正化が困難となる場合がある。【０００５】
このため、特許文献１に記載されたように、ユーザがパラメータおよびオプションを用いてアドオンの有効化または無効化を選択し、またリソースの使用量を設定しても、ユーザプログラムの実行に必要なアドオンを適切に有効化することは難しい。そして、駆動制御装置において、有効化するアドオンが適切に設定されず、駆動制御装置による制御対象装置の制御に不要なアドオンも有効化されている場合には、駆動制御装置の制御周期が長くなる、という問題があった。【０００６】
本開示は、上記に鑑みてなされたものであって、複数のアドオンが実装された駆動制御装置においてユーザプログラムの実行に必要なアドオンを適切に設定することが可能な駆動制御装置を得ることを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本開示にかかる駆動制御装置は、複数のアドオンを実行することにより被制御装置を制御する駆動制御装置である。駆動制御装置は、被制御装置を制御するために実行されるプログラムであるユーザプログラムと、複数のアドオンが記憶されるメモリと、ユーザプログラムを含みアドオンを選別するためのアドオン選別条件に基づいて、ユーザプログラムに含まれている関数の実行に使用される被制御装置の機能である第１機能が使用されるアドオンをユーザプログラムの実行に使用される有効アドオンとし、複数のアドオンのうち有効アドオン以外のアドオンをユーザプログラムの実行に使用されない無効アドオンとして、複数のアドオンを選別するアドオン選別部と、ユーザプログラムに従って有効アドオンを実行して被制御装置を制御する制御部と、を有する。
【発明の効果】
【０００８】
本開示にかかる駆動制御装置は、複数のアドオンが実装された駆動制御装置においてユーザプログラムの実行に必要なアドオンを適切に設定することが可能である、という効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１にかかる駆動制御システムの構成を示す図
【図２】実施の形態１にかかる駆動制御システムのエンジニアリングツールの機能構成を示す図
【図３】実施の形態１にかかるアドオン選別条件の作成画面の一例を示す図
【図４】実施の形態１にかかる駆動制御システムの駆動制御装置の機能構成を示す図
【図５】実施の形態１にかかる駆動制御システムのエンジニアリングツールの処理の手順を示すフローチャート
【図６】実施の形態１にかかる駆動制御システムの駆動制御装置の処理の手順を示すフローチャート
【図７】実施の形態１にかかるエンジニアリングツールの表示部における必要アドオン選別機能の処理結果の表示画面の一例を示す図
【発明を実施するための形態】
【００１０】
以下に、実施の形態にかかる駆動制御装置および駆動制御システムを図面に基づいて詳細に説明する。なお、この実施の形態により本開示が限定されるものではない。
【００１１】
実施の形態１．
図１は、実施の形態１にかかる駆動制御システム１００の構成を示す図である。駆動制御システム１００は、ファクトリーオートメーション（Factory  Automation：ＦＡ）システムである。駆動制御システム１００は、エンジニアリングツール１と、駆動制御装置２と、サーボアンプ３と、サーボモータ４と、を備える。
【００１２】
エンジニアリングツール１は、通信線６によって駆動制御装置２と接続されており、駆動制御装置２と有線通信可能である。なお、エンジニアリングツール１と駆動制御装置２との通信は、無線通信であってもよい。なお、エンジニアリングツール１は、必要時にのみ駆動制御装置２と接続される。
【００１３】
駆動制御装置２は、通信線７によってサーボアンプ３と接続されており、サーボアンプ３と有線通信可能である。なお、駆動制御装置２とサーボアンプ３との通信は、無線通信であってもよい。駆動制御装置２は、ユーザプログラムに従ってファームウェアを実行することにより、サーボアンプ３を制御してサーボモータ４の動作を制御する。また、駆動制御装置２は、ユーザプログラムに従って複数のアドオンを実行することにより、サーボアンプ３を制御してサーボモータ４の動作を制御する。アドオンは、ユーザプログラムに従ってファームウェアを実行することにより実行される初期機能以外の拡張機能を駆動制御装置２において実行するためソフトウェアである。
【００１４】
サーボアンプ３は、通信線８によってサーボモータ４と接続されており、サーボモータ４と有線通信可能である。なお、サーボアンプ３とサーボモータ４との通信は、無線通信であってもよい。
【００１５】
図２は、実施の形態１にかかる駆動制御システム１００のエンジニアリングツール１の機能構成を示す図である。エンジニアリングツール１は、情報が入力される入力部１１と、駆動制御装置２との間の通信を行う通信部１２と、情報を表示する表示部１３と、各種処理を実行するプロセッサ１４と、情報を記憶するメモリ１５と、を有する。
【００１６】
入力部１１は、エンジニアリングツール１の外部から各種の情報が入力される。入力部１１は、たとえばキーボード、マウスあるいはタッチパネルといった装置が例示され、ユーザによる操作によって情報が入力される。通信部１２は、駆動制御装置２との間で双方向の通信を行う。表示部１３は、画面にて情報を表示する。
【００１７】
プロセッサ１４は、ＣＰＵ（Central  Processing  Unit）、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、又はＤＳＰ（Digital  Signal  Processor）である。メモリ１５は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ、ＥＰＲＯＭ（Erasable  Programmable  Read  Only  Memory）またはＥＥＰＲＯＭ（登録商標）（Electrically  Erasable  Programmable  Read  Only  Memory）、ＨＤＤ（Hard  Disk  Drive）またはＳＳＤ（Solid  State  Drive）を含む。エンジニアリングツール１の処理プログラムは、メモリ１５に格納される。プロセッサ１４は、メモリ１５に格納されているプログラムを実行する。
【００１８】
図２には、プロセッサ１４を使用することによって実現されるエンジニアリングツール１の機能構成を示している。エンジニアリングツール１は、ユーザプログラム作成部１４１と、アドオン選別条件生成部１４２と、表示処理部１４３と、を備える。
【００１９】
ユーザプログラム作成部１４１は、ユーザプログラムを作成するユーザプログラム作成画面を表示部１３に表示させ、入力部１１に対して行われたユーザの操作に対応して、ユーザプログラムを作成または編集する処理を行う。ユーザプログラムは、駆動制御装置２がサーボアンプ３を制御してサーボモータ４の動作を制御するために実行するプログラムである。ユーザプログラム作成部１４１は、作成または編集したユーザプログラムをメモリ１５に記憶させる。ユーザプログラム作成部１４１におけるプログラムを作成および編集する機能は、一般的なエンジニアリングツールのエディタ機能と同様である。
【００２０】
すなわち、エンジニアリングツール１は、駆動制御装置２がサーボアンプ３を制御してサーボモータ４の動作を制御するために実行するプログラムであるユーザプログラムの作成を支援する支援装置としての機能を有する。ユーザは、エンジニアリングツール１を用いてユーザプログラムを作成し、作成したユーザプログラムをエンジニアリングツール１に記憶させ、また駆動制御装置２に送信する。
【００２１】
アドオン選別条件生成部１４２は、駆動制御装置２がサーボモータ４を制御するために実行するプログラムであるユーザプログラムを含むアドオン選別条件を生成して、メモリ１５に記憶させ、また駆動制御装置２に送信する。アドオン選別条件生成部１４２は、入力部１１に対して行われたユーザの操作に対応して、アドオン選別条件を生成する処理を行う。アドオン選別条件生成部１４２は、生成したアドオン選別条件を、入力部１１に対して行われたユーザの操作に対応して、通信部１２を介して駆動制御装置２に送信する。
【００２２】
すなわち、エンジニアリングツール１は、駆動制御装置２がユーザプログラムに従ってサーボモータ４の動作を制御する際の制御周期を短縮するため、および駆動制御装置２がユーザプログラムに従ってサーボモータ４の動作を制御する際の実行メモリの使用領域を削減するために、ユーザの操作に対応してアドオン選別条件を生成する。アドオン選別条件は、後述するように駆動制御装置２が有効化して実行するアドオンを選別するための選別基準となる条件である。
【００２３】
図３は、実施の形態１にかかるアドオン選別条件の作成画面の一例を示す図である。図３に示すように、表示部１３には、ユーザがアドオン選別条件の設定時に参照するアドオンの名称とアドオン使用機能とが表示されるアドオン表示部１３１と、アドオン選別条件である機能の設定ファイルが表示される設定ファイル表示部１３２と、アドオン選別条件であるユーザプログラムが表示されるユーザプログラム設定表示部１３３と、が表示される。
【００２４】
ここで、機能の設定ファイルとは、ユーザプログラムの実行に使用される使用機能が指定される使用機能設定情報である。使用機能設定情報においては、駆動制御装置２において使用可能な機能のうち、ユーザプログラムの実行に使用される使用機能が指定される。すなわち、使用機能設定情報は、駆動制御装置２において使用可能な機能のうち、ユーザプログラムの実行に使用される使用機能が指定された情報といえる。また、使用機能設定情報において指定される使用機能は、より詳細には、ユーザプログラムの実行において制御条件が設定されて使用される機能である。
【００２５】
アドオン表示部１３１には、駆動制御装置２において使用可能なアドオンの名称とアドオン使用機能とが表示される。アドオン使用機能は、ユーザプログラムに従ってアドオンを実行する場合に駆動制御装置２において使用される、駆動制御装置２において使用可能な機能である。たとえば、駆動制御装置２が実行するアドオンは、被制御装置の動作の停止を制御するアドオンである「停止機能アドオン」と、被制御装置の動作の速度を制御するアドオンである「速度関連機能アドオン」と、外部から入力される信号を処理するアドオンである「外部信号機能アドオン」と、が例示される。
【００２６】
また、「停止機能アドオン」についての「アドオン使用機能」は、「停止設定」が例示される。「停止設定」は、被制御装置の動作の停止を制御するための条件を設定する機能である。
【００２７】
「速度関連機能アドオン」についての「アドオン使用機能」は、「モータ回転数設定」と「速度制限設定」と「加減速設定」とが例示される。「モータ回転数設定」は、被制御装置の動作の速度を制御するためのモータ回転数の条件を設定する機能である。「速度制限設定」は、被制御装置の動作の速度を制御するための動作の速度制限の条件を設定する機能である。「加減速設定」は、被制御装置の動作の速度を制御するための動作の加減速度の条件を設定する機能である。
【００２８】
「外部信号機能アドオン」についての「アドオン使用機能」は、「タッチプローブ機能」と「Forward  Limit  Signal（ＦＬＳ）設定」と、「Reverse  Limit  Signal（ＲＬＳ）設定」とが例示される。タッチプローブ機能は、トリガ入力信号を検出したタイミングで任意のデータをラッチする機能である。ＦＬＳは、位置決め制御可能範囲の上限に設置したリミットスイッチが動作したことを知らせる入力信号である。リミットスイッチは、ｂ接点構成であり通常は通電状態である。ＦＬＳ設定は、ＦＬＳを設定する機能である。ＲＬＳは、位置決め制御可能範囲の下限に設置したリミットスイッチが動作したことを知らせる入力信号である。リミットスイッチは、ｂ接点構成であり通常は通電状態である。ＲＬＳ設定は、ＲＬＳを設定する機能である。
【００２９】
設定ファイル表示部１３２には、アドオン選別条件である、ユーザプログラムの実行に使用される使用機能の指定を行う対象候補となる「設定項目」と、設定項目についての「設定値」が設定される設定テーブル１３２１が表示される。「設定項目」には、駆動制御装置２において使用可能な機能が列挙される。「設定項目」は、「停止設定」、「モータ回転数設定」、「速度制限設定」、「加減速設定」、「ＦＬＳ設定」および「ＲＬＳ設定」が例示される。また、設定ファイル表示部１３２には、設定項目として、「必要アドオン選別機能」が表示される。「必要アドオン選別機能」は、駆動制御装置２の後述するアドオン選別部２４１が、メモリ２５に記憶している複数のアドオンをアドオン選別条件に基づいて有効アドオンと無効アドオンとに選別する機能である。
【００３０】
「設定項目」である、「停止設定」、「モータ回転数設定」、「速度制限設定」、「加減速設定」、「ＦＬＳ設定」および「ＲＬＳ設定」の「設定値」は、「設定あり」または「設定なし」に設定される。「設定あり」は、設定項目の機能をユーザプログラムの実行において使用する機能に指定する設定である。「設定なし」は、設定項目の機能をユーザプログラムの実行において使用しない機能に指定する設定である。「必要アドオン選別機能」の「設定値」は、「有効」または「無効」に設定される。「有効」は、「必要アドオン選別機能」を有効化する設定である。「無効」は、「必要アドオン選別機能」を無効化する設定である。
【００３１】
ユーザプログラム設定表示部１３３には、アドオン選別条件として使用するユーザプログラムが表示される。すなわち、ユーザがアドオン選別条件として選択したユーザプログラムがユーザプログラム設定表示部１３３に表示される。ユーザプログラムは、ユーザが作成してメモリ１５に記憶させたユーザプログラムである。ユーザは、作成してメモリ１５に記憶させたユーザプログラムの中から、アドオン選別条件として使用するユーザプログラムを選択する。
【００３２】
ユーザプログラムには、被制御装置の動作の制御のために後述する駆動制御装置２の制御部２４２が実行する関数が含まれている。関数は、被制御装置の動作の制御のために後述する駆動制御装置２の制御部２４２が実行する処理または演算である。関数は、具体的に、速度制御およびトルク制御などの制御が例示される。また、ユーザプログラムには、関数の具体的な記述とともに関数の名称が文字列で記述されている。たとえば、ユーザプログラムには、タッチプローブ用関数の具体的な記述とともに「タッチプローブ用関数」という文字列が記述されている。
【００３３】
アドオン選別条件生成部１４２は、入力部１１に対して行われたユーザの操作に対応して、アドオン選別条件として少なくともユーザプログラムを設定する。
【００３４】
アドオン選別条件生成部１４２は、機能の設定ファイルとユーザプログラムとが設定されたアドオン選別条件を生成した場合に、機能の設定ファイルとユーザプログラムとを含むアドオン選別条件を駆動制御装置２に送信する。また、アドオン選別条件生成部１４２は、ユーザプログラムのみが設定されたアドオン選別条件を生成した場合には、ユーザプログラムのみ含むアドオン選別条件を駆動制御装置２に送信する。すなわち、アドオン選別条件生成部１４２は、アドオン選別条件として少なくともユーザプログラムを駆動制御装置２に送信する。
【００３５】
表示処理部１４３は、表示部１３における表示のための処理を行う。表示処理部１４３は、ユーザプログラムを作成する場合にはユーザプログラムの作成画面を表示部１３に表示させ、入力部１１に対して行われたユーザの操作に対応して情報を表示部１３に表示させる。また、表示処理部１４３は、アドオン選別条件の設定を行う場合には、図３に示すようなアドオン選別条件の設定画面を表示部１３に表示させ、入力部１１に対して行われたユーザの操作に対応して情報を表示部１３に表示させる。
【００３６】
また、表示処理部１４３は、駆動制御装置２から受け取った情報を、表示部１３に表示させる。具体的に、表示処理部１４３は、制御周期の減少時間、実行メモリ領域の減少使用容量および無効アドオンの名称のうち少なくとも１つを駆動制御装置２から受信して、表示部１３に表示させる。
【００３７】
ユーザプログラム作成部１４１とアドオン選別条件生成部１４２と表示処理部１４３との各機能は、プロセッサ１４およびソフトウェアの組み合わせによって実現される。ユーザプログラム作成部１４１とアドオン選別条件生成部１４２と表示処理部１４３との各機能は、プロセッサ１４およびファームウェアの組み合わせによって実現されてもよく、プロセッサ１４、ソフトウェアおよびファームウェアの組み合わせによって実現されてもよい。ソフトウェアまたはファームウェアは、プログラムとして記述され、メモリ１５に格納される。プロセッサ１４は、ソフトウェアまたはファームウェアを読み出す。プロセッサ１４は、ソフトウェアまたはファームウェアを実行する。
【００３８】
メモリ１５は、ユーザプログラム作成部１４１によって作成されたユーザプログラムと、アドオン選別条件と、を記憶する。また、メモリ１５は、駆動制御装置２から受け取った情報を保持する。
【００３９】
つぎに、駆動制御装置２について説明する。駆動制御装置２は、ユーザプログラムに従って、メモリ２５に記憶されているファームウェアおよびアドオンを実行することにより、被制御装置を制御する。また、駆動制御装置２は、アドオン選別条件をエンジニアリングツール１から取得する。駆動制御装置２は、アドオン選別条件に基づいて、メモリ２５に記憶している複数のアドオンを有効アドオンと無効アドオンとに選別する。そして、駆動制御装置２は、メモリ２５に記憶している複数のアドオンのうち、無効アドオンを実行せずに、有効アドオンのみを実行する。
【００４０】
図４は、実施の形態１にかかる駆動制御システム１００の駆動制御装置２の機能構成を示す図である。駆動制御装置２は、情報が入力される入力部２１と、エンジニアリングツール１との間の通信およびサーボアンプ３との間の通信を行う通信部２２と、情報を表示する表示部２３と、各種処理を実行するプロセッサ２４と、情報を記憶するメモリ２５と、を有する。
【００４１】
入力部２１は、駆動制御装置２の外部から各種の情報が入力される。入力部２１は、たとえばキーボード、マウスあるいはタッチパネルといった装置が例示され、ユーザによる操作によって情報が入力される。通信部２２は、エンジニアリングツール１との間およびサーボアンプ３との間で双方向の通信を行う。表示部２３は、画面にて情報を表示する。
【００４２】
プロセッサ２４は、ＣＰＵ、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、又はＤＳＰである。メモリ２５は、ＲＡＭ、ＲＯＭ、フラッシュメモリ、ＥＰＲＯＭまたはＥＥＰＲＯＭ（登録商標）、ＨＤＤまたはＳＳＤを含む。駆動制御装置２の処理プログラムは、メモリ２５に格納される。プロセッサ２４は、メモリ２５に格納されているプログラムを実行する。
【００４３】
メモリ２５は、ユーザプログラムと、アドオン選別条件と、ファームウェアと、を記憶する。また、メモリ２５は、駆動制御装置２から受け取った情報を保持する。ファームウェアは、駆動制御装置２がユーザプログラムに従ってサーボアンプ３を制御することによりサーボモータ４の動作を制御する際に実行するプログラムであるファームウェアである。
【００４４】
メモリ２５は、複数のアドオンを記憶するアドオンメモリ領域２５１を有する。アドオンメモリ領域２５１は、後述する有効アドオンが記憶される有効アドオンメモリ領域２５１１と、後述する無効アドオンが記憶される無効アドオンメモリ領域２５１２と、を有する。有効アドオンメモリ領域２５１１と無効アドオンメモリ領域２５１２とは、たとえばＲＯＭによって実現される。
【００４５】
また、メモリ２５は、後述する制御部２４２が有効アドオンを実行する際に有効アドオンを有効アドオンメモリ領域２５１１からコピーするメモリ領域である実行メモリ領域２５２を有する。実行メモリ領域２５２は、たとえばＲＡＭによって実現される。
【００４６】
有効アドオンは、駆動制御装置２がユーザプログラムの実行に使用するアドオンであり、駆動制御装置２がユーザプログラムを実行する際に有効化されるアドオンである。無効アドオンは、駆動制御装置２がユーザプログラムの実行に使用しないアドオンであり、駆動制御装置２がユーザプログラムを実行する際に無効化されるアドオンである。
【００４７】
図４には、プロセッサ２４を使用することによって実現される駆動制御装置２の機能構成を示している。駆動制御装置２は、アドオン選別部２４１と、制御部２４２と、を備える。
【００４８】
アドオン選別部２４１は、エンジニアリングツール１のアドオン選別条件生成部１４２から送信されたアドオン選別条件を受信し、アドオン選別条件に基づいて、メモリ２５に記憶されている複数のアドオンを有効アドオンと無効アドオンとに選別する。
【００４９】
すなわち、アドオン選別部２４１は、アドオン選別条件に含まれるユーザプログラムに基づいて、ユーザプログラムの実行に使用される機能である第１機能が使用されるアドオンを有効アドオンとし、複数のアドオンのうち有効アドオン以外のアドオンを無効アドオンとして、メモリ２５に記憶されている複数のアドオンを選別する。第１機能は、ユーザプログラムに含まれている関数の実行に使用される機能である。アドオン選別部２４１は、有効アドオンに選別したアドオンを有効アドオンメモリ領域２５１１に記憶させる。
【００５０】
また、アドオン選別部２４１は、アドオン選別条件に含まれる機能の設定ファイルに基づいて、ユーザプログラムの実行に使用される機能である第２機能が使用されるアドオンを有効アドオンとし、複数のアドオンのうち有効アドオン以外のアドオンを無効アドオンとして、複数のアドオンを選別する。第２機能は、ユーザプログラムの実行に使用される使用機能である。また、第２機能は、アドオン選別条件の機能の設定ファイルにおいて、使用する機能に指定されている機能であり、アドオン選別条件の機能の設定ファイルにおいて「設定値」が「有効」に設定されている機能である。アドオン選別部２４１は、無効アドオンに選別したアドオンを無効アドオンメモリ領域２５１２に記憶させる。
【００５１】
制御部２４２は、ユーザプログラムに従ってファームウェアウェアを実行して、サーボアンプ３を制御することによりサーボモータ４の動作を制御する。また、制御部２４２は、ユーザプログラムに従って有効アドオンを実行して、サーボアンプ３を制御することによりサーボモータ４の動作を制御する。
【００５２】
つぎに、駆動制御システム１００の動作について説明する。まず、エンジニアリングツール１の動作について説明する。エンジニアリングツール１では、駆動制御装置２で実行されるユーザプログラムの作成およびアドオン選別条件の設定が行われる。図５は、実施の形態１にかかる駆動制御システム１００のエンジニアリングツール１の処理の手順を示すフローチャートである。
【００５３】
（ユーザプログラムの作成）
ステップＳ１０において、ユーザプログラムの作成が行われる。エンジニアリングツール１のユーザプログラム作成部１４１は、ユーザプログラムを作成するユーザプログラム作成画面を、表示部１３に表示させる。そして、ユーザプログラム作成部１４１は、入力部１１に対して行われたユーザの操作に対応して、ユーザプログラムを作成する処理を行う。ユーザプログラム作成部１４１は、入力部１１に対して行われたユーザの操作に対応する情報を、表示処理部１４３を制御して表示させて、ユーザプログラムの作成を行う。
【００５４】
（アドオン選別条件の設定）
つぎに、エンジニアリングツール１のアドオン選別条件生成部１４２は、アドオン選別条件の作成画面を表示部１３に表示させる。そして、アドオン選別条件生成部１４２は、入力部１１に対して行われたユーザの操作に対応して、アドオン選別条件を設定し、生成する。
【００５５】
具体的に、ステップＳ２０において、アドオン選別条件生成部１４２が、「必要アドオン選別機能」の有効化を指示する設定情報である有効化設定情報を受信する。有効化設定情報は、ユーザの操作により入力部１１から入力される。たとえば、設定ファイル表示部１３２に表示された設定テーブル１３２１における「必要アドオン選別機能」に対応する「設定値」の欄がプルダウンメニューとされ、入力項目として「有効」または「無効」の選択項目が表示される。ユーザは、プルダウンメニューから「有効」または「無効」のいずれか一方の選択項目を選択することで有効化設定情報を入力する。
【００５６】
ステップＳ３０において、アドオン選別条件生成部１４２は、有効化設定情報に従って、設定ファイル表示部１３２における「必要アドオン選別機能」の「設定値」を「有効」に設定する。
【００５７】
ステップＳ４０において、アドオン選別条件生成部１４２は、アドオン使用機能の設定情報を受信する。具体的に、アドオン選別条件生成部１４２が、アドオン使用機能の「有効化」を指示する「設定あり情報」、またはアドオン使用機能の「無効化」を指示する「設定なし情報」を、アドオン使用機能の設定を行う対象となる各設定項目について受信する。「設定あり情報」および「設定なし情報」は、ユーザの操作により入力部１１から入力される。たとえば、設定ファイル表示部１３２に表示された設定テーブル１３２１における機能の設定ファイルの各項目に対応する「設定値」の欄がプルダウンメニューとされ、入力項目として「設定あり」または「設定なし」の選択項目が表示される。ユーザは、プルダウンメニューから「設定あり」または「設定なし」のいずれか一方の選択項目を選択することでアドオン使用機能の設定情報を入力する。
【００５８】
ステップＳ５０において、アドオン選別条件生成部１４２は、受信したアドオン使用機能の設定情報に従って、設定テーブル１３２１における各設定項目についての「設定値」を設定する。アドオン選別条件生成部１４２は、アドオン使用機能の設定情報として「設定あり情報」を受け取った設定項目については、「設定値」を「設定あり」に設定する。アドオン選別条件生成部１４２は、アドオン使用機能の設定情報として「設定なし情報」を受け取った設定項目については、「設定値」を「設定なし」に設定する。これにより、アドオン選別条件における機能の設定ファイルが設定される。
【００５９】
ステップＳ６０において、アドオン選別条件生成部１４２が、アドオン選別条件に設定するユーザプログラムの指定情報を受信する。ユーザプログラムの指定情報は、ユーザの操作により入力部１１から入力される。
【００６０】
ステップＳ７０において、アドオン選別条件生成部１４２は、ユーザプログラムの指定情報において指定されたユーザプログラムを、設定テーブル１３２１におけるユーザプログラム設定表示部１３３に表示し、アドオン選別条件に設定する。これにより、アドオン選別条件におけるユーザプログラムが設定され、機能の設定ファイルとユーザプログラムとが設定されたアドオン選別条件を生成される。そして、アドオン選別条件生成部１４２は、生成したアドオン選別条件をメモリ１５に記憶させる。
【００６１】
その後、アドオン選別条件生成部１４２は、入力部１１に対して行われたユーザの操作に対応して、メモリ１５に記憶されたアドオン選別条件を駆動制御装置２のアドオン選別部２４１に送信する。
【００６２】
つぎに、駆動制御装置２の動作について説明する。駆動制御装置２では、エンジニアリングツール１で生成されたアドオン選別条件に基づいて、有効化するアドオンを選別して被制御装置の動作の制御を行う。図６は、実施の形態１にかかる駆動制御システム１００の駆動制御装置２の処理の手順を示すフローチャートである。
【００６３】
ステップＳ１１０において、駆動制御装置２のアドオン選別部２４１は、アドオン選別条件をエンジニアリングツール１から取得する。
【００６４】
ステップＳ１２０において、アドオン選別部２４１は、アドオン選別条件に基づいて、「必要アドオン選別機能」を有効にするか否かを判定する。アドオン選別部２４１は、アドオン選別条件に含まれる「必要アドオン選別機能」の「設定値」が「有効」である場合に、アドオン選別部２４１の「必要アドオン選別機能」を有効にすると判定する。アドオン選別部２４１は、アドオン選別条件に含まれる「必要アドオン選別機能」の「設定値」が「無効」である場合に、アドオン選別部２４１の「必要アドオン選別機能」を有効にしないと判定する。
【００６５】
「必要アドオン選別機能」を有効にすると判定された場合は、ステップＳ１２０においてＹｅｓとなり、アドオン選別部２４１は、「必要アドオン選別機能」を有効にしてステップＳ１３０に進む。「必要アドオン選別機能」を有効にしないと判定された場合は、ステップＳ１２０においてＮｏとなり、アドオン選別部２４１は、「必要アドオン選別機能」を無効にして一連の処理を終了する。なお、アドオン選別部２４１の「必要アドオン選別機能」は、基本的に無効化されているものとする。
【００６６】
ステップＳ１３０において、アドオン選別部２４１は、「必要アドオン選別機能」の実行を開始し、アドオン選別条件の設定条件の解析、すなわちアドオン選別条件に含まれる機能の設定ファイルの解析を行う。
【００６７】
ステップＳ１４０において、アドオン選別部２４１は、アドオン選別条件に含まれる機能の設定ファイルの解析の結果に基づいて、アドオンメモリ領域２５１に記憶されているアドオンのうち、無効化できるアドオンがあるか否かを判定する。ここで、「必要アドオン選別機能」の実行開始時において、駆動制御装置２に記憶されている全てのアドオンは、有効化するアドオンとして設定されて有効アドオンメモリ領域２５１１に記憶されている。
【００６８】
アドオン選別部２４１は、有効アドオンメモリ領域２５１１に記憶されているアドオンを有効アドオンと無効アドオンとに選別する。有効アドオンは、アドオン選別条件に含まれる機能の設定ファイルにおいて、「設定値」が「設定あり」に設定されているアドオン使用機能が使用されるアドオンである。無効アドオンは、アドオン選別条件に含まれる機能の設定ファイルにおいて、「設定値」が「設定あり」に設定されているアドオン使用機能が使用されないアドオンである。
【００６９】
アドオン選別部２４１は、無効アドオンに選別されたアドオンが存在する場合に、無効化できるアドオンがあると判定する。アドオン選別部２４１は、無効アドオンに選別されたアドオンが存在しない場合に、無効化できるアドオンがないと判定する。無効化できるアドオンがあると判定された場合は、ステップＳ１４０においてＹｅｓとなり、ステップＳ１５０に進む。無効化できるアドオンがないと判定された場合は、ステップＳ１４０においてＮｏとなり、アドオン選別部２４１は、一連の処理を終了する。
【００７０】
ステップＳ１５０において、アドオン選別部２４１は、無効化できると判定されたアドオンを無効化する無効化処理を行う。アドオン選別部２４１は、有効化するアドオンとして設定されて有効アドオンメモリ領域２５１１に記憶されているアドオンのうち、無効化できると判定されたアドオンを無効アドオンメモリ領域２５１２に移動して記憶させて無効化する。
【００７１】
ステップＳ１６０において、アドオン選別部２４１は、アドオン選別条件のユーザプログラムの解析、すなわちアドオン選別条件に含まれるユーザプログラムの解析を行う。具体的に、アドオン選別部２４１は、アドオン選別条件のユーザプログラムに記述されている関数について、関数の名称の文字列を抽出する。
【００７２】
ステップＳ１７０において、アドオン選別部２４１は、アドオン選別条件に含まれるユーザプログラムの解析の結果に基づいて、無効アドオンメモリ領域２５１２に記憶されているアドオンのうち、有効化できるアドオンがあるか否かを判定する。
【００７３】
アドオン選別部２４１は、抽出した関数の名称の文字列を検索条件として、無効アドオンメモリ領域２５１２に記憶されているアドオンを有効アドオンと無効アドオンとに選別する。ここでの有効アドオンは、抽出した関数の名称の文字列を含むアドオンである。また、ここでの無効アドオンは、抽出した関数の名称の文字列を含まないアドオンである。
【００７４】
アドオン選別部２４１は、有効アドオンに選別されたアドオンが存在する場合に、有効化できるアドオンがあると判定する。アドオン選別部２４１は、有効アドオンに選別されたアドオンが存在しない場合に、有効化できるアドオンがないと判定する。有効化できるアドオンがあると判定された場合は、ステップＳ１７０においてＹｅｓとなり、ステップＳ１８０に進む。有効化できるアドオンがないと判定された場合は、ステップＳ１７０においてＮｏとなり、ステップＳ１９０に進む。
【００７５】
ステップＳ１８０において、アドオン選別部２４１は、無効アドオンメモリ領域２５１２に記憶されている無効アドオンのうち、有効化できるアドオンを有効化する有効化処理を行う。アドオン選別部２４１は、無効化するアドオンとして設定されて無効アドオンメモリ領域２５１２に記憶された無効アドオンのうち、有効化できると判定されたアドオンを有効アドオンメモリ領域２５１１に移動して記憶させて無効化する。
【００７６】
これにより、アドオン選別部２４１は、ユーザプログラムの実行に使用するアドオンである有効アドオンと、ユーザプログラムの実行に使用しないアドオンである無効アドオンとを適切に選別して、有効アドオンを有効化し、無効アドオンを無効化して、有効アドオンの設定の適正化を行うことができる。
【００７７】
すなわち、駆動制御装置２は、上述した処理を行うことにより、駆動制御装置２に記憶されている全てのアドオンのうち、ユーザプログラムの実行に使用されるアドオンのみを有効アドオンとして設定でき、ユーザプログラムの実行に使用されないアドオンが有効アドオンとして設定されることがない。また、ステップＳ１４０とステップＳ１７０とにおいて有効アドオンと無効アドオンとに選別を行うことで、ステップＳ１４０において無効アドオンに判別されたがユーザプログラムの実行に使用されるアドオンを有効アドオンとして設定し直すことができる。
【００７８】
すなわち、駆動制御装置２は、上述した処理を行うことにより、アドオン選別条件に含まれる機能の設定ファイルにおいて「設定値」が「設定あり」に設定されているアドオン使用機能が使用されるアドオン、またはアドオン選別条件のユーザプログラムに記述されている関数の名称の文字列を含むアドオンの少なくとも一方に該当するアドオンを有効アドオンとすることができるため、ユーザプログラムの実行に必要なアドオンを高精度に有効アドオンに設定することができる。
【００７９】
ここで、アドオン選別部２４１は、アドオンメモリ領域２５１に記憶されている全てのアドオンを有効化してユーザプログラムを実行した場合の駆動制御装置２による被制御装置の制御周期からの、有効アドオンのみを有効化してユーザプログラムを実行した場合の駆動制御装置２による被制御装置の制御周期の短縮時間である短縮制御周期を算出する。すなわち、短縮制御周期は、複数のアドオンの全てのアドオンが実行される場合にアドオン選別部２４１が被制御装置を制御する周期である第１制御周期から、無効アドオンを実行せずに有効アドオンが実行される場合にアドオン選別部２４１が被制御装置を制御する周期である第２制御周期を減算した時間である、制御周期の減少時間である。
【００８０】
また、アドオン選別部２４１は、アドオンメモリ領域２５１に記憶されている全てのアドオンを有効化してユーザプログラムを実行した場合の実行メモリ領域２５２の使用容量からの、有効アドオンのみを有効化してユーザプログラムを実行した場合の駆動制御装置２による実行メモリ領域２５２の使用容量の削減容量である削減メモリ容量を算出する。
【００８１】
駆動制御装置２は、使用しないアドオンである無効アドオンを実行メモリ領域２５２上にコピーして常駐させることがない。これにより、駆動制御装置２では、使用しない無効アドオンに起因して実行メモリ領域２５２の不要なメモリ消費が発生しないため、実行メモリ領域２５２の容量を大きくする必要がなく、実行メモリ領域２５２の増大によるコストの増加を抑制できる。また、駆動制御装置２は、使用しない無効アドオンを実行メモリ領域２５２にコピーして常駐させないことにより、実行メモリ領域２５２を有効活用できる。
【００８２】
また、駆動制御装置２は、使用しないアドオンである無効アドオンを実行メモリ領域２５２上にコピーして常駐させないことにより、使用しない無効アドオンを実行メモリ領域２５２にコピーする時間を削減することができる。これにより、駆動制御装置２は、被制御装置の制御を実行する準備の段階の処理時間を削減することができ、被制御装置の制御を実行するまでの駆動制御装置２の立ち上がり時間を短縮することができ、被制御装置の制御の迅速な起動が可能となる。
【００８３】
また、駆動制御装置２は、使用しないアドオンである無効アドオンを実行しないことにより、無効アドオンの実行に起因した制御周期を短縮して、駆動制御装置２により被制御装置を制御する制御周期の不要な長時間化を防止し、適切な制御時間で被制御装置を制御することが可能である。
【００８４】
ステップＳ１９０において、アドオン選別部２４１は、必要アドオン選別機能の処理結果をエンジニアリングツール１の表示処理部１４３に送信する。処理結果には、アドオンメモリ領域２５１に記憶されている全てのアドオンの状態情報、短縮制御周期、削減メモリ容量が含まれる。アドオンの状態情報は、アドオンが有効状態であるか無効状態であるかの情報である。
【００８５】
図７は、実施の形態１にかかるエンジニアリングツール１の表示部１３における必要アドオン選別機能の処理結果の表示画面の一例を示す図である。エンジニアリングツール１の表示処理部１４３は、必要アドオン選別機能の処理結果を受信すると、必要アドオン選別機能の処理結果を表示部１３に表示させる。表示部１３には、各アドオンの状態が表示されるアドオン状態表示部１３４と、無効化アドオン、短縮制御周期、削減メモリ容量などのアドオンの適正化処理の処理結果が表示される処理結果表示画面１３５と、が表示される。これにより、ユーザは、必要アドオン選別機能を有効にした場合に、エンジニアリングツール１において、アドオンメモリ領域２５１に記憶されている全てのアドオンの状態情報、無効化されるアドオンである無効化アドオン、短縮制御周期、削減メモリ容量を確認することができる。
【００８６】
上述したように、本実施の形態１にかかる駆動制御システム１００では、エンジニアリングツール１においてアドオン選別条件が作成される。そして、駆動制御装置２が、駆動制御装置２に記憶されている複数のアドオンのうちユーザプログラムを実行するために必要なアドオンのみをアドオン選別条件に基づいて自動で有効化して、ユーザプログラムを実行する。これにより、駆動制御装置２は、ユーザプログラムを実行するために不要なアドオンを有効化していることに起因した制御周期の長時間化を抑制して、ユーザプログラムの実行時の制御周期の短縮が可能である。また、駆動制御装置２は、ユーザプログラムを実行するために不要なアドオンを有効化していることに起因したメモリ２５の使用容量を低減でき、メモリ２５の容量を有効活用できる。
【００８７】
また、駆動制御システム１００では、ユーザは、アドオン選別条件を作成するだけで、すなわちユーザプログラムおよび機能の設定ファイルを作成するだけで、ユーザプログラムを実行するために必要なアドオンを駆動制御装置２が自動で判別する。これにより、ユーザは各アドオンの機能を熟知していなくても、ユーザプログラムを実行するために必要なアドオンを手間なく適切に有効化または無効化することができる。
【００８８】
また、ユーザは、機能の設定ファイルにおいてユーザプログラムの実行に使用される使用機能を設定する際には、ユーザプログラムの実行において制御条件の設定が必要な機能を選択して指定すればよい。したがって、ユーザは、駆動制御装置２に備わっている初期機能と、アドオンによって実現される拡張機能との関連を熟知していなくても、ユーザプログラムの実行に使用される使用機能を容易に設定することができる。
【００８９】
また、上記においては、駆動制御装置２は、アドオン選別条件に含まれる機能の設定ファイルの解析の結果と、アドオン選別条件に含まれるユーザプログラムの解析の結果と、に基づいて有効アドオンと無効アドオンとに選別している。駆動制御装置２は、機能の設定ファイルの解析の結果のみに基づいて有効アドオンと無効アドオンとを選別してもよい。また、駆動制御装置２は、ユーザプログラムの解析のみに基づいて有効アドオンと無効アドオンとを選別してもよい。
【００９０】
駆動制御装置２が機能の設定ファイルの解析の結果のみに基づいて有効アドオンと無効アドオンとを選別する場合には、機能の設定ファイルのみを含むアドオン選別条件がエンジニアリングツール１で生成されて駆動制御装置２に送信されればよい。また、駆動制御装置２がユーザプログラムの解析の結果のみに基づいて有効アドオンと無効アドオンとを選別する場合には、ユーザプログラムのみを含むアドオン選別条件がエンジニアリングツール１で生成されて駆動制御装置２に送信されればよい。
【００９１】
上述したように、実施の形態１にかかる駆動制御装置２は、駆動制御装置２に実装された複数のアドオンのうちユーザプログラムの実行に必要なアドオンを適切に設定することが可能である、という効果を奏する。
【００９２】
以上の実施の形態に示した構成は、一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、実施の形態同士を組み合わせることも可能であるし、要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【００９３】
１  エンジニアリングツール、２  駆動制御装置、３  サーボアンプ、４  サーボモータ、６，７，８  通信線、１１，２１  入力部、１２，２２  通信部、１３，２３  表示部、１４，２４  プロセッサ、１５，２５  メモリ、１００  駆動制御システム、１３１  アドオン表示部、１３２  設定ファイル表示部、１３３  ユーザプログラム設定表示部、１３４  アドオン状態表示部、１３５  処理結果表示画面、１４１  ユーザプログラム作成部、１４２  アドオン選別条件生成部、１４３  表示処理部、２４１  アドオン選別部、２４２  制御部、２５１  アドオンメモリ領域、２５２  実行メモリ領域、１３２１  設定テーブル、２５１１  有効アドオンメモリ領域、２５１２  無効アドオンメモリ領域。
【要約】
駆動制御装置（２）は、複数のアドオンを実行することにより被制御装置を制御する駆動制御装置（２）である。駆動制御装置（２）は、被制御装置を制御するために実行されるプログラムであるユーザプログラムと、被制御装置を制御するために実行される複数のアドオンが記憶されるメモリ（２５）と、ユーザプログラムを含みアドオンを選別するためのアドオン選別条件に基づいて、ユーザプログラムに含まれている関数の実行に使用される被制御装置の機能である第１機能が使用されるアドオンをユーザプログラムの実行に使用される有効アドオンとし、複数のアドオンのうち有効アドオン以外のアドオンをユーザプログラムの実行に使用されない無効アドオンとして、複数のアドオンを選別するアドオン選別部（２４１）と、ユーザプログラムに従って有効アドオンを実行して被制御装置を制御する制御部（２４２）と、を有する。【図１】
0006779425.tif 000002
【図２】
0006779425.tif 000003
【図３】
0006779425.tif 000004
【図４】
0006779425.tif 000005
【図５】
0006779425.tif 000006
【図６】
0006779425.tif 000007
【図７】
0006779425.tif 000008