(57)【特許請求の範囲】
【請求項１】
ＦＢＤ言語またはＳＴ言語を含む複数の汎用言語によって記述可能な同期制御プログラムから機構図を生成して表示することをコンピュータに実行させる表示支援プログラムであって、
動作の基準となるマスタ軸の識別情報及び前記マスタ軸に連動するスレーブ軸の識別情報を引数とするソフトウェアモジュールが複数組み合わされて構成されるとともに前記汎用言語によって記述された同期制御プログラムから、前記マスタ軸の識別情報、前記スレーブ軸の識別情報、及び前記ソフトウェアモジュールの機能を特定する情報である機能情報、前記ソフトウェアモジュールの実行順序を示す実行順序情報を含む同期パラメータを読み出して第１形式にて記述して記憶するパラメータ読出ステップと、
前記パラメータ読出ステップによって記憶された前記同期パラメータに含まれる前記機能情報に対応する機構要素図、前記マスタ軸の識別情報に対応する機構要素図、および前記スレーブ軸の識別情報に対応する機構要素図をそれぞれ選択する機構要素図選択ステップと、
前記機構要素図選択ステップによって選択した機構要素図を前記同期パラメータに含まれる前記実行順序情報で示される実行順序と同じ順序となるように組み合わせて前記機構図を生成する機構図生成ステップと、
前記機構図生成ステップによって生成した前記機構図を表示部に表示する表示ステップと、
を備え、前記複数の汎用言語によって記述可能な同期制御プログラムから読み出した前記同期パラメータを前記第１形式にて記述してから前記機構図を生成する
表示支援プログラム。
【請求項２】
前記機構要素図選択ステップでは、ギア動作を示す機構要素図、及びカム動作を示す機構要素図の少なくとも一方から、前記パラメータ読出ステップによって記憶された前記同期パラメータに対応する前記機構要素図を選択する
請求項１に記載の表示支援プログラム。
【請求項３】
前記パラメータ読出ステップでは、実行許可または不許可を示す情報である実行許可情報が引数として含まれる前記ソフトウェアモジュールが組み合わされて構成される前記同期制御プログラムから、前記同期パラメータとして前記実行許可情報を読み出す
請求項１または請求項２に記載の表示支援プログラム。
【請求項４】
前記パラメータ読出ステップでは、複数のモータの動作を制御するモーションコントローラにおいて前記同期制御プログラムが実行されている間に、この実行されている前記同期制御プログラムから、前記同期パラメータを読み出す
請求項１から３のいずれか一項に記載の表示支援プログラム。
【請求項５】
請求項１から４のいずれか一項に記載の表示支援プログラムを記憶した非一時的なコンピュータ可読記憶媒体。
【請求項６】
ＦＢＤ言語またはＳＴ言語を含む複数の汎用言語によって記述可能な同期制御プログラムから機構図を生成して表示する表示支援方法であって、
動作の基準となるマスタ軸の識別情報及び前記マスタ軸に連動するスレーブ軸の識別情報を引数とするソフトウェアモジュールが複数組み合わされて構成されるとともに前記汎用言語によって記述された同期制御プログラムから、前記マスタ軸の識別情報、前記スレーブ軸の識別情報、及び前記ソフトウェアモジュールの機能を特定する情報である機能情報、前記ソフトウェアモジュールの実行順序を示す実行順序情報を含む同期パラメータを読み出して第１形式にて記述して記憶するパラメータ読出ステップと、
前記パラメータ読出ステップによって記憶された前記同期パラメータに含まれる前記機能情報に対応する機構要素図、前記マスタ軸の識別情報に対応する機構要素図、および前記スレーブ軸の識別情報に対応する機構要素図をそれぞれ選択する機構要素図選択ステップと、
前記機構要素図選択ステップによって選択した機構要素図を前記同期パラメータに含まれる前記実行順序情報で示される実行順序と同じ順序となるように組み合わせて前記機構図を生成する機構図生成ステップと、
前記機構図生成ステップによって生成した前記機構図を表示部に表示する表示ステップと、
を備え、前記複数の汎用言語によって記述可能な同期制御プログラムから読み出した前記同期パラメータを前記第１形式にて記述してから前記機構図を生成する表示支援方法。
【請求項７】
ＦＢＤ言語またはＳＴ言語を含む複数の汎用言語によって記述可能な同期制御プログラムから機構図を生成して表示する表示支援システムであって、
動作の基準となるマスタ軸の識別情報及び前記マスタ軸に連動するスレーブ軸の識別情報を引数とするソフトウェアモジュールが複数組み合わされて構成されるとともに前記汎用言語によって記述された同期制御プログラムを記憶する同期制御プログラム記憶部と、
前記マスタ軸を示す機構要素図、前記スレーブ軸を示す機構要素図、及び前記ソフトウェアモジュールの機能を示す機構要素図を記憶する機構要素図記憶部と、
前記同期制御プログラム記憶部に記憶された同期制御プログラムを、前記マスタ軸の識別情報、前記スレーブ軸の識別情報、及び前記ソフトウェアモジュールの機能を特定する情報である機能情報、前記ソフトウェアモジュールの実行順序を示す実行順序情報を含む同期パラメータを読み出して第１形式にて記述して記憶するパラメータ読出部と、
前記パラメータ読出部によって記憶された同期パラメータに含まれる前記機能情報に対応する機構要素図、前記マスタ軸の識別情報に対応する機構要素図、および前記スレーブ軸の識別情報に対応する機構要素図を、前記機構要素図記憶部に記憶されている機構要素図からそれぞれ選択する機構要素図選択部と、
前記機構要素図選択部によって選択された機構要素図を組み合わせて機構図を生成する機構図生成部と、
前記機構図生成部によって生成された機構図を表示部に表示する表示制御部と、
を備え、前記複数の汎用言語によって記述可能な同期制御プログラムから読み出した前記同期パラメータを前記第１形式にて記述してから前記機構図を生成する表示支援システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示支援プログラム、同プログラムを記憶したコンピュータ可読記憶媒体、表示支援方法、及び表示支援システムに関する。
【背景技術】
【０００２】
モータ制御において、動作の基準となるマスタ軸と、当該マスタ軸に連動するスレーブ軸の動作タイミングを一致させて制御することを同期制御と呼ぶ。従来、マスタ軸とスレーブ軸とを例えばカムやギア等を介して機械的に連動させることにより同期制御が行われていた。しかし、装置の小型化や高性能化を目的に、近年では、個々のモータを個別に制御することでマスタ軸とスレーブ軸とを電気的に連動させることにより同期制御を行うことが多くなっている。【０００３】
このような同期制御を行うためには、同期制御プログラムを作成する必要があり、一般に、多数のスレーブ軸の動作を記述する必要がある。ここで、例えば、カム動作及びギア動作等の各軸の機能をモジュール化し、このモジュール化されたソフトウェアモジュールを組み合わせて同期制御プログラムを作成することで、同期制御プログラムの作成工程の簡単化が図られている。【０００４】
こうした同期制御のソフトウェアモジュールの組み合わせ手法には、大別して、２種類の組み合わせ手法がある。このうち、１つは、例えば、ラダー言語、ＦＢＤ（Ｆｕｎｃｔｉｏｎ  Ｂｌｏｃｋ  Ｄｉａｇｒａｍ）、Ｃ言語、ＳＴ（Ｓｔｒｕｃｔｕｒｅｄ  Ｔｅｘｔ）言語、ＳＦＣ（Ｓｅｑｕｅｎｔｉａｌ  Ｆｕｎｃｔｉｏｎ  Ｃｈａｒｔ）言語等の汎用言語を用いて、同期制御のソフトウェアモジュールをサブルーチンプログラムとして設定する方法である。【０００５】
そして、これら汎用言語で記述されたプログラムの視認を容易化する技術として、例えば特許文献１に記載の技術が知られており、ラダー言語によって記述される制御プログラムを、各制御工程を実行する機器を関数で定義したブロックで表すと共に実行順序を付してパーソナルコンピュータの表示画面に表示し、制御プログラムのシミュレーションを行う技術について開示されている。【０００６】
もう１つは、種々のソフトウェアモジュールの機能に対応する例えばカムやギア等の機械部品が機構要素図として予め用意されており、ユーザがこの機構要素図を選択して配置し機構図を作成することで、機構図に対応する同期制御プログラムを作成する方法である。こうした方法に関し、予め用意された機構要素図だけにとらわれず、機構図によるプログラムの制御アルゴリズムの自由度を高める技術として、例えば特許文献２に記載の技術が知られており、同期関係を図示する機構要素図を配置して機構図を描画しつつ、機構要素図に対応するソフトウェアモジュールの設定値を外部から入力されるパラメータによって変更可能とし、汎用言語を用いて機構要素図のパラメータの設定を変更する技術が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００９−０８０７３８号公報
【特許文献２】国際公開第２０１６／００２８９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上記特許文献１の技術によれば、ラダー言語で記述されるシーケンスプログラムの実行順序を可視化して視認することができるようにはなる。しかしながら、マスタ軸とスレーブ軸との同期関係について可視化することはできない。また、上記特許文献２の技術によれば、同期制御に特化しない汎用言語と機構図によるプログラミングを併用することで、機構図のみを用いる方法と比較して、制御アルゴリズムの自由度を高めることはできるようにはなる。しかしながら、ユーザは、汎用言語によるプログラム作成の作業に加え、機構図の作成の作業が必要となるため、ユーザの作業工数が多い。【０００９】
本発明は、上記に鑑みてなされたものであって、汎用言語により記述される同期制御プログラムにおけるマスタ軸とスレーブ軸の同期関係を、より少ない作業工数で可視化することが可能な、表示支援プログラム、同プログラムを記憶したコンピュータ可読記憶媒体、表示支援方法、及び表示支援システムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、請求項１に記載の発明では、ＦＢＤ言語またはＳＴ言語を含む複数の汎用言語によって記述可能な同期制御プログラムから機構図を生成して表示することをコンピュータに実行させる表示支援プログラムであって、動作の基準となるマスタ軸の識別情報及びマスタ軸に連動するスレーブ軸の識別情報を引数とするソフトウェアモジュールが複数組み合わされて構成されるとともに汎用言語によって記述された同期制御プログラムから、マスタ軸の識別情報、スレーブ軸の識別情報、及びソフトウェアモジュールの機能を特定する情報である機能情報、ソフトウェアモジュールの実行順序を示す実行順序情報を含む同期パラメータを読み出して第１形式にて記述して記憶するパラメータ読出ステップと、パラメータ読出ステップによって記憶された同期パラメータに含まれる機能情報に対応する機構要素図、マスタ軸の識別情報に対応する機構要素図、およびスレーブ軸の識別情報に対応する機構要素図をそれぞれ選択する機構要素図選択ステップと、機構要素図選択ステップによって選択した機構要素図を同期パラメータに含まれる実行順序情報で示される実行順序と同じ順序となるように組み合わせて機構図を生成する機構図生成ステップと、機構図生成ステップによって生成した機構図を表示部に表示する表示ステップと、を備え、複数の汎用言語によって記述可能な同期制御プログラムから読み出した同期パラメータを第１形式にて記述してから機構図を生成することとした。
【発明の効果】
【００１１】
本発明によれば、同期制御に特化しない汎用言語により記述される同期制御プログラムにおけるマスタ軸とスレーブ軸の同期関係を、少ない作業工数により可視化することができるようになる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態１に係る表示支援システムを、当該表示支援システムに接続されるモータ制御システムのハードウェア構成を含めて示す図である。
【図２】本発明の実施の形態１に係る表示支援システムのハードウェア構成を示す図である。
【図３】本発明の実施の形態１に係る表示支援システムの機能ブロックを示す図である。
【図４】本発明の実施の形態１に係る表示支援システムによって作成された同期制御プログラムの一例を示す図である。
【図５】本発明の実施の形態１に係る表示支援システムが同期制御プログラムから読み出した同期パラメータの記憶形式を示す図である。
【図６】本発明の実施の形態１に係る表示支援システムによって実行される機構図生成処理のフローチャートの一例を示す図である。
【図７】本発明の実施の形態１に係る表示支援システムによって生成された機構図の一例を示す図である。
【図８】本発明の実施の形態２に係る表示支援システムを、当該表示支援システムに接続されるモータ制御システムのハードウェア構成を含めて示す図である。
【図９】本発明の実施の形態２に係る表示制御装置によって作成された同期制御プログラムの一例を示す図である。
【図１０】本発明の実施の形態２に係る表示支援システムが同期制御プログラムから読み出した同期パラメータの格納例を示す図である。
【図１１】本発明の実施の形態２に係る表示支援システムによって生成された機構図の一例を示す図である。
【図１２】本発明の実施の形態３に係る表示支援システムを、当該表示支援システムに接続されるモータ制御システムのハードウェア構成を含めて示す図である。
【図１３】本発明の実施の形態３に係る表示支援システムによって作成された同期制御プログラムの一例を示す図である。
【図１４】本発明の実施の形態３に係る表示支援システムが同期制御プログラムから読み出した同期パラメータの格納例を示す図である。
【図１５】本発明の実施の形態３に係る表示支援システムによって生成された機構図の一例を示す図である。
【図１６】本発明の実施の形態４に係る表示支援システムを、当該表示支援システムに接続されるモータ制御システムのハードウェア構成を含めて示す図である。
【図１７】本発明の実施の形態４に係る表示制御装置によって作成された同期制御プログラムの一例を示す図である。
【図１８】本発明の実施の形態４に係る表示支援システムによって実行される機構図生成処理のフローチャートの一例を示す図である。
【図１９（ａ）】本発明の実施の形態４に係る表示支援システムがギア制御モジュールの実行不許可時に同期制御プログラムから読み出した同期パラメータの格納例を示す図である。
【図１９（ｂ）】本発明の実施の形態４に係る表示支援システムがギア制御モジュールの実行許可時に同期制御プログラムから読み出した同期パラメータの格納例を示す図である。
【図２０（ａ）】本発明の実施の形態４に係る表示支援システムによって、ギア制御モジュールの実行不許可時の同期パラメータを用いて作成された機構図の一例を示す図である。
【図２０（ｂ）】本発明の実施の形態４に係る表示支援システムによって、ギア制御モジュールの実行許可時の同期パラメータを用いて作成された機構図の一例を示す図である。
【図２１】本発明の実施の形態５に係る表示支援システムの構成を示す図である。
【図２２】ソフトウェアモジュールの別例として、クラッチ制御モジュールの一例を示す図である。
【図２３】ソフトウェアモジュールの別例として、差動制御モジュールの一例を示す図である。
【発明を実施するための形態】
【００１３】
実施の形態１．
本発明の実施の形態１に係る表示支援プログラム、同プログラムを記憶したコンピュータ可読記憶媒体、表示支援方法、及び表示支援システムについて、図１〜図７を参照しつつ説明する。
【００１４】
図１は、本発明の実施の形態１に係る表示支援システム１を、当該表示支援システム１と有線にて通信可能に接続されるモータ制御システム２０のハードウェア構成を含めて示す図である。表示支援システム１は、表示支援プログラムがコンピュータ１０にインストールされることによって実現される。本実施の形態１では、このコンピュータ１０に、表示支援プログラムがインストールされるだけでなく、例えば、ラダー言語、ＦＢＤ、Ｃ言語、ＳＴ言語、及びＳＦＣ言語等の汎用言語を用いて同期制御プログラムを作成する同期制御プログラム作成プログラム（以下、作成プログラムと呼ぶ）もインストールされる。すなわち、実施の形態１では、表示支援システム１は、モータ制御システム２０を対象として当該モータ制御システム２０で実行される同期制御プログラムを作成するとともに、この作成した同期制御プログラムから自動的に機構図を作成するシステムである。
【００１５】
なお、本実施の形態１では、コンピュータ１０には、表示支援プログラムに加え、作成プログラムもインストールされることとしたが、作成プログラムについてはコンピュータ１０にインストールしなくてもよい。すなわち、当該表示支援システム１にて同期制御プログラムを予め作成しなくてもよい。この場合、表示支援システム１は、例えば他のコンピュータ等にて予め作成された同期制御プログラムを対象として自動的に機構図を作成する。また、本実施の形態１では、コンピュータ１０としてノート型パソコンを採用したが、これに限定されず、他に例えば、デスクトップ型パソコン、スマートフォン、タブレット端末等でも良い。
【００１６】
次に、同期制御プログラムの作成対象とするモータ制御システム２０について説明する。モータ制御システム２０は、図１に示すように、モーションコントローラ２１と、第１モータドライバ２２ａと、第２モータドライバ２２ｂと、第３モータドライバ２２ｃと、第１モータ２３ａと、第２モータ２３ｂと、第３モータ２３ｃとを備えて構成されている。モーションコントローラ２１は、表示支援システム１にて予め作成された同期制御プログラムが当該表示支援システム１から図示しないメモリ等に書き込まれ、書き込まれた同期制御プログラムを実行することにより同期制御を行う。
【００１７】
詳しくは、モーションコントローラ２１は、第１モータ２３ａを動作させるための動作電流を当該第１モータ２３ａに対して出力する第１モータドライバ２２ａに接続されており、同期制御プログラムを実行することにより、第１モータドライバ２２ａに対して駆動指令を与える。同様に、モーションコントローラ２１は、第２モータ２３ｂを動作させるための動作電流を当該第２モータ２３ｂに対して出力する第２モータドライバ２２ｂに接続されており、同期制御プログラムを実行することにより、第２モータドライバ２２ｂに対して駆動指令を与える。また同様に、モーションコントローラ２１は、第３モータ２３ｃを動作させるための動作電流を当該第３モータ２３ｃに対して出力する第３モータドライバ２２ｃに接続されており、同期制御プログラムを実行することにより、第３モータドライバ２２ｃに対して駆動指令を与える。
【００１８】
実施の形態１では、モータ制御システム２０は、第１モータ２３ａを動作の基準となるマスタ軸とし、第２モータ２３ｂ及び第３モータ２３ｃを第１モータ２３ａに連動するスレーブ軸とする。そして、第１モータ２３ａ及び第２モータ２３ｂをカム動作させながら、かつ、第１モータ２３ａ及び第３モータ２３ｃをギア動作させながら、動作タイミングが一致するように、第１モータドライバ２２ａ〜第３モータドライバ２２ｃに対してそれぞれ駆動指令を与えることにより、第１モータ２３ａ〜第３モータ２３ｃを同期制御する。モータ制御システム２０を構成する第１モータ２３ａ〜第３モータ２３ｃには、これらを特定する識別情報として識別番号「Ｍ１」、「Ｓ１」、及び「Ｓ２」がそれぞれ割り付けられている。また、実施の形態１では、モータ制御システム２０は、カム及びギア等の機械要素を備えておらず、第１モータ２３ａ〜第３モータ２３ｃを電気的に連動させることにより、第１モータ２３ａ〜第３モータ２３ｃの同期制御を行う。
【００１９】
なお、モータ制御システム２０の構成は、上記構成に限定されない。モータ制御システム２０は、カム及びギア等の機械要素を備え、第１モータ２３ａ〜第３モータ２３ｃを機械的に連動させることにより、第１モータ２３ａ〜第３モータ２３ｃの同期制御を行ってもよい。また、第１モータ２３ａをスレーブ軸とし、第２モータ２３ｂをマスタ軸とし、第３モータ２３ｃをスレーブ軸としてもよい。この場合、例えば、これら第１モータ２３ａ、第２モータ２３ｂ、及び第３モータ２３ｃに、識別番号「Ｓ１」、「Ｍ１」、及び「Ｓ２」をそれぞれ割り付ければよい。第１モータ２３ａ〜第３モータ２３ｃに識別番号を割り付けていたが番号に限らず、他に例えば文字列等でも良く、これらを識別することができる情報であればよい。また、モータ制御システム２０が備えるモータドライバやモータについても、図１に示した数に限定されるものではなく、適宜変更可能である。
【００２０】
図２は、実施の形態１に係る表示支援システム１のハードウェア構成を示す図である。表示支援システム１は、図２に示すように、プロセッサ１１、メモリ１２、入力装置１３、表示装置１４、及び通信装置１５を備えて構成されており、これらプロセッサ１１、メモリ１２、入力装置１３、表示装置１４、及び通信装置１５は、例えばバス等によって互いに接続され、情報の送受信を行う。
【００２１】
プロセッサ１１は、例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等である。メモリ１２は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリー等の、不揮発性または揮発性の半導体メモリ、磁気ディスク等である。メモリ１２には、例えば、図３を用いて後述するように、作成支援プログラム１２ａ、表示支援プログラム１２ｂ、機構要素図１２ｃ、同期制御プログラム１２ｄ、制御対象のモータ制御システム２０を構成する第１モータ２３ａ〜第３モータ２３ｃの識別番号１２ｅ、同期パラメータ１２ｆ、及び機構図１２ｇ等が記憶される。なお、機構要素図１２ｃは、表示支援プログラム１２ｂがメモリ１２にインストールされた際に、併せてメモリ１２に記憶される。識別番号１２ｅは、作成支援プログラム１２ａの実行により同期制御プログラム１２ｄが作成されメモリ１２に記憶される際に、併せてメモリ１２に記憶される。入力装置１３は、例えばキーボード又はマウス等であるが、キーボード又はマウスに限らない。表示装置１４は、例えば液晶表示装置等であり、同期制御プログラム等の文字列や機構図等の画像を表示する。通信装置１５は、有線にてモータ制御システム２０と通信を行うが、無線にて通信可能に構成してもよい。
【００２２】
図３は、実施の形態１に係る表示支援システム１の一部機能ブロック図を示す図である。表示支援システム１は、図３に示すように、制御部１６を備えて構成されている。この制御部１６は、プログラム作成部１６ａ、パラメータ読出部１６ｂ、機構要素図選択部１６ｃ、機構図生成部１６ｄ、表示制御部１６ｅ、及び通信制御部１６ｆを有する。制御部１６を構成する各部１６ａ〜１６ｆは、プロセッサ１１が、作成支援プログラム１２ａ及び表示支援プログラム１２ｂをメモリ１２から読み出して実行することにより実現されるものである。
【００２３】
なお、本実施の形態１では、作成支援プログラム１２ａ及び表示支援プログラム１２ｂは、例えばＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）−ＲＯＭ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）−ＲＯＭ等の記録媒体に書き込まれた状態でユーザに提供され、ユーザがメモリ１２に予めインストールする形態としたが、この形態に限定されず、作成支援プログラム１２ａ及び表示支援プログラム１２ｂは、インターネット等の通信回線を介してユーザに提供され、ユーザがメモリ１２に予めインストールする形態としてもよい。
【００２４】
プログラム作成部１６ａは、メモリ１２、入力装置１３、及び表示制御部１６ｅ等に接続されている。プログラム作成部１６ａは、入力装置１３を用いたユーザ操作に従って、同期制御プログラムを汎用言語にて新規作成する。使用する汎用言語の種類は、同期制御プログラムの新規作成が開始される際、入力装置１３を用いたユーザ操作によって入力される。プログラム作成部１６ａは、同期制御プログラムを新規作成した場合、この新規作成した同期制御プログラム１２ｄ、モータ制御システム２０を構成する第１モータ２３ａ〜第３モータ２３ｃの識別番号１２ｅ、作成された汎用言語の種類情報等をメモリ１２に記憶する。また、プログラム作成部１６ａは、入力装置１３を用いたユーザ操作に従って、同期制御プログラム１２ｄの作成時に使用された汎用言語にて、同期制御プログラム１２ｄを編集する。同期制御プログラム１２ｄを編集する際、プログラム作成部１６ａは、メモリ１２に記憶されている編集前の同期制御プログラム１２ｄ及び識別番号１２ｅを読み出し編集する。プログラム作成部１６ａは、同期制御プログラムを編集した場合、この編集した同期制御プログラム１２ｄ、及び識別番号１２ｅをメモリ１２に記憶する。また、プログラム作成部１６ａは、同期制御プログラム１２ｄの新規作成又は編集を実行する際、表示装置１４に表示する文字列や機構図等の画像を表示制御部１６ｅに出力する。表示制御部１６ｅは、プログラム作成部１６ａから入力された画像を表示装置１４に表示制御する。なお、プログラム作成部１６ａによって新規作成又は編集される同期制御プログラム１２ｄについては、図４を参照して後述する。
【００２５】
パラメータ読出部１６ｂは、メモリ１２、入力装置１３、及び表示制御部１６ｅ等に接続されている。パラメータ読出部１６ｂは、図６を参照して後述する機構図生成処理Ｓ１が実行される際、メモリ１２に記憶されている同期制御プログラム１２ｄ、及び当該同期制御プログラム１２ｄが作成された汎用言語の種類情報を読み出し、この読み出した同期制御プログラム１２ｄから汎用言語の種類に応じて同期パラメータ１２ｆを読み出す。パラメータ読出部１６ｂは、同期制御パラメータを読み出した場合、この読み出した同期パラメータ１２ｆをメモリ１２に記憶する。また、パラメータ読出部１６ｂは、同期制御プログラム１２ｄから同期パラメータ１２ｆを読み出す際、表示装置１４に表示する文字列や機構図等の画像を表示制御部１６ｅに出力し、表示制御部１６ｅは、パラメータ読出部１６ｂから入力された画像を表示装置１４に表示制御する。なお、同期制御プログラム１２ｄから同期パラメータ１２ｆを読み出す方法については、図４を参照して、読み出した同期パラメータ１２ｆをメモリ１２へ記憶する際の記憶形式については、図５を参照して、それぞれ後述する。
【００２６】
機構要素図選択部１６ｃは、機構図生成部１６ｄ、及びメモリ１２等に接続されている。機構要素図選択部１６ｃは、図６を参照して後述する機構図生成処理が実行される際、メモリ１２に記憶されている同期パラメータ１２ｆを読み出し、この読み出した同期パラメータ１２ｆに対応する機構要素図を、メモリ１２に予め記憶されている機構要素図１２ｃから選択する。そして、機構要素図選択部１６ｃは、選択した機構要素図１２ｃを機構図生成部１６ｄに出力する。なお、メモリ１２には、機構要素図１２ｃとして、例えば、カム動作を示す機構要素図、ギア動作を示す機構要素図、マスタ軸を回転させたままスレーブ軸を滑らかに停止させるためのクラッチ動作を示す機構要素図、２軸のマスタ軸の位置情報の差分もってスレーブ軸の動作指令とする差動動作を示す機構要素図等の同期関係を示す機構要素図、マスタ軸の機構要素図、及びスレーブ軸の機構要素図等が、予め記憶されている。
【００２７】
機構図生成部１６ｄは、機構要素図選択部１６ｃ、表示制御部１６ｅ、及びメモリ１２等に接続されている。機構図生成部１６ｄは、図６を参照して後述する機構図生成処理Ｓ１が実行される際、メモリ１２に記憶されている同期パラメータ１２ｆを読み出し、この読み出した同期パラメータ１２ｆに従って、機構要素図選択部１６ｃにて選択された機構要素図１２ｃを組み合わせ、機構図１２ｇを生成する。また、機構図生成部１６ｄは、表示装置１４に表示する文字列や生成した機構図等の画像を表示制御部１６ｅに出力し、表示制御部１６ｅは、パラメータ読出部１６ｂから入力された画像を表示装置１４に表示制御する。なお、同期パラメータ１２ｆに従い、選択された機構要素図１２ｃを組み合わせ、機構図１２ｇを生成する機構図生成処理については、図６を参照して後述する。また、機構図生成処理を実行することによって生成される機構図１２ｇの一例については、図７を参照して後述する。
【００２８】
表示制御部１６ｅは、プログラム作成部１６ａ、パラメータ読出部１６ｂ、機構図生成部１６ｄ、表示装置１４等に接続されており、これら各部から入力される画像を表示装置１４に表示制御する。
【００２９】
通信制御部１６ｆは、メモリ１２、入力装置１３、及び通信装置１５等と接続されており、通信装置１５と接続された外部機器との通信を行う。詳しくは、通信制御部１６ｆは、入力装置１３を用いたユーザ操作に従って、メモリ１２に記憶されている同期制御プログラム１２ｄを読み出し、通信装置１５と接続されたモータ制御システム２０のメモリに読み出した同期制御プログラム１２ｄを書き込む。
【００３０】
図４は、実施の形態１に係る表示支援システム１のユーザによって新規作成あるいは編集され、表示装置１４の表示画面１４ａに表示された、同期制御プログラム１２ｄの一例を示す図である。同期制御プログラム１２ｄは、図４に示すように、同期制御に特化しない汎用言語の一例であるＦＢＤ言語によって記述されている。
【００３１】
同期制御プログラム１２ｄには、図４に示した例では、カム動作の機能を記述したソフトウェアモジュールであるカム制御モジュール１２１と、ギア動作の機能を記述したソフトウェアモジュールであるギア制御モジュール１２２と、が含まれており、これらカム制御モジュール１２１及びギア制御モジュール１２２は、表示画面１４ａにおいて左右方向にずれることなく上下方向に並んで配置されている。
【００３２】
ＦＢＤ言語で作成されたプログラムでは、各ソフトウェアモジュールの例えば左上角部等の座標の位置に基づいて実行順序が定められる。具体的には、表示画面１４ａにおいて上下方向上方に配置されたソフトウェアモジュールほど実行順序が早く、表示画面１４ａ上において左右方向左方に配置されたソフトウェアモジュールほど実行順序が早い。したがって、図４に示した同期制御プログラム１２ｄでは、同期制御プログラム１２ｄが２つのソフトウェアモジュールで構成されていること、カム制御モジュール１２１の方がギア制御モジュール１２２よりも実行順序が早いことから、カム制御モジュール１２１の実行順序を示す情報である実行順序情報は「１」であり、ギア制御モジュール１２２の実行順序情報は「２」となる。表示支援システム１のユーザがＦＢＤ言語を利用して同期制御プログラム１２ｄを作成した場合、ユーザが各ソフトウェアモジュールの実行順序を改めて設定する必要はなく、各ソフトウェアモジュールの配置位置によって自動的に判断される。
【００３３】
カム制御モジュール１２１は、動作の基準となるマスタ軸を特定するマスタ軸識別番号１２１ａ、マスタ軸に連動するスレーブ軸を特定するスレーブ軸識別番号１２１ｂ、当該カム制御モジュール１２１自体の実行許可または不許可を示す情報である実行許可情報１２１ｃ、複数のカム曲線の種類を特定するカム番号１２１ｄを入力変数とする。なお、実施の形態１では、カム制御モジュール１２１は、カム番号「１」として「正弦曲線」、カム番号「２」として「サイクロイド曲線」、及びカム番号「３」として「等加速度曲線」を指定可能である。ただし、カム曲線の種類については、「正弦曲線」、「サイクロイド曲線」、及び「等加速度曲線」等に限らず、任意であり、カム曲線の種類の数については「３種類」に限らず、任意である。
【００３４】
マスタ軸識別番号１２１ａ及びスレーブ軸識別番号１２１ｂは、表示支援システム１のユーザが、同期制御プログラム１２ｄを作成する際に、同期制御対象とするモータ制御システム２０の構成に対応させて設定する識別番号である。実施の形態１では、モータ制御システム２０（図１）の第１モータ２３ａをマスタ軸とし、第２モータ２３ｂをスレーブ軸とすることから、マスタ軸識別番号として第１モータ２３ａの識別番号である「Ｍ１」が、スレーブ軸識別番号として第２モータ２３ｂの識別番号である「Ｓ１」が、設定されている。
【００３５】
実行許可情報１２１ｃは、表示支援システム１のユーザが同期制御プログラム１２ｄを作成する際に設定する実行条件である。本実施の形態１では、モータ制御システム２０は第１モータ２３ａをマスタ軸、第２モータ２３ｂをスレーブ軸として、これらを常にカム動作させながら同期制御することから、実行許可情報１２１ｃには「ＯＮ」が設定されている。
【００３６】
カム番号１２１ｄは、表示支援システム１のユーザが、同期制御プログラム１２ｄを作成する際に設定するカム曲線の番号である。本実施の形態１では、モータ制御システム２０のマスタ軸とする第１モータ２３ａに対してスレーブ軸とする第２モータ２３ｂは例えば正弦曲線に従って動作させながら同期制御させることから、カム番号には、「正弦曲線」に対応する番号である「１」が設定されている。
【００３７】
ギア制御モジュール１２２は、動作の基準となるマスタ軸を特定するマスタ軸識別番号１２２ａ、マスタ軸に連動するスレーブ軸を特定するスレーブ軸識別番号１２２ｂ、当該ギア制御モジュール１２２自体の実行許可または不許可を示す情報である実行許可情報１２２ｃ、マスタ軸の位置に対するスレーブ軸の位置を計算するための比率を示すギア比の情報であるギア比１２２ｄを入力変数とする。なお、実施の形態１では、ギア制御モジュール１２２は、ギア比として、例えば「１」から「３２」まで指定可能である。ただし、ギア比については、「１」から「３２」に限らず、任意である。
【００３８】
マスタ軸識別番号１２２ａ及びスレーブ軸識別番号１２２ｂは、カム制御モジュール１２１の場合と同様に、表示支援システム１のユーザが、同期制御プログラム１２ｄを作成する際に、同期制御対象とするモータ制御システム２０の構成に対応させて設定する識別番号である。実施の形態１では、モータ制御システム２０（図１）の第１モータ２３ａをマスタ軸とし、第３モータ２３ｃをスレーブ軸とすることから、マスタ軸識別番号として第１モータ２３ａの識別番号である「Ｍ１」が、スレーブ軸識別番号として第３モータ２３ｃの識別番号である「Ｓ２」が、設定されている。
【００３９】
実行許可情報１２２ｃも、カム制御モジュール１２１の場合と同様に、表示支援システム１のユーザが同期制御プログラム１２ｄを作成する際に設定する実行条件である。本実施の形態１では、モータ制御システム２０は第１モータ２３ａをマスタ軸、第３モータ２３ｃをスレーブ軸として、これらを常にギア動作させながら同期制御することから、実行許可情報１２２ｃには「ＯＮ」が設定されている。
【００４０】
ギア比１２２ｄは、表示支援システム１のユーザが、同期制御プログラム１２ｄを作成する際に設定するギア比である。本実施の形態１では、モータ制御システム２０のマスタ軸とする第１モータ２３ａに対してスレーブ軸とする第３モータ２３ｃはギア比「２」にて同期制御されることから、ギア比には「２」が設定されている。
【００４１】
図５は、実施の形態１に係る表示支援システム１において、同期制御プログラム１２ｄから読み出された同期パラメータ１２ｆのメモリ１２への格納形式の一例を示す図である。この図５を併せ参照して、同期制御プログラム１２ｄから同期パラメータ１２ｆを読み出す同期パラメータ読出処理について、また、同期パラメータ読出処理にて読み出した同期パラメータ１２ｆのメモリ１２への格納処理について説明する。
【００４２】
パラメータ読出部１６ｂは、同期制御プログラム１２ｄに含まれるソフトウェアモジュールの名称から、ソフトウェアモジュールの機能を特定する情報である機能情報を判断し、同期パラメータ１２ｆとして読み出す。また、パラメータ読出部１６ｂは、上述のようにして各ソフトウェアモジュールの実行順序を判断し、同期パラメータ１２ｆとして読み出す。また、パラメータ読出部１６ｂは、同期制御プログラム１２ｄに含まれる各ソフトウェアモジュールの入力変数から、マスタ軸番号、スレーブ軸番号、及び実行許可情報を同期パラメータ１２ｆとして読み出す。パラメータ読出部１６ｂは、同期パラメータ１２ｆを読み出すと、例えば開始タグ及び終了タグ等を用いて同期パラメータ１２ｆをメモリ１２へ格納する。
【００４３】
具体的には、同期制御プログラム１２ｄはカム制御モジュール１２１及びギア制御モジュール１２２にて構成されていることから、同期パラメータ読出部１６ｂは、ソフトウェアモジュールの機能を特定する情報である機能情報を「カム制御モジュール」及び「ギア制御モジュール」と判断し、同期パラメータ１２ｆとして読み出す。そして、パラメータ読出部１６ｂは、開始タグ＜同期パラメータ＞と終了タグ＜／同期パラメータ＞との間に、開始タグ＜カム制御モジュール＞と終了タグ＜／カム制御モジュール＞、及び開始タグ＜ギア制御モジュール＞と終了タグ＜／ギア制御モジュール＞を、それぞれ１文字だけ字下げして記述する。
【００４４】
また、カム制御モジュール１２１の実行順序や入力変数は上述した通りであることから、同期パラメータ読出部１６ｂは、各ソフトウェアモジュールの実行順序を判断するとともに、各ソフトウェアモジュールの入力変数を同期パラメータ１２ｆとして読み出す。そして、同期パラメータ読出部１６ｂは、開始タグ＜カム制御モジュール＞と終了タグ＜／カム制御モジュール＞との間に、開始タグ＜実行順序＞と終了タグ＜／実行順序＞、開始タグ＜マスタ軸番号＞と終了タグ＜／マスタ軸番号＞、開始タグ＜スレーブ軸番号＞と終了タグ＜／スレーブ軸番号＞、及び開始タグ＜実行許可＞と終了タグ＜／実行許可＞を、それぞれ１文字だけ字下げして記述し、各開始タグ及び終了タグの間に、対応する入力変数を記述する。
【００４５】
同様に、ギア制御モジュール１２２の実行順序や入力変数は上述した通りであることから、パラメータ読出部１６ｂは、これら実行順序や入力変数を読み出すとともに、開始タグ＜ギア制御モジュール＞と終了タグ＜／ギア制御モジュール＞との間に、開始タグ＜実行順序＞と終了タグ＜／実行順序＞、開始タグ＜マスタ軸番号＞と終了タグ＜／マスタ軸番号＞、開始タグ＜スレーブ軸番号＞と終了タグ＜／スレーブ軸番号＞、及び開始タグ＜実行許可＞と終了タグ＜／実行許可＞を、それぞれ１文字だけ文字下げして記述し、各開始タグ及び終了タグの間に、対応する入力変数を記述する。
【００４６】
そして、同期パラメータ読出部１６ｂは同期パラメータ１２ｆを図５に示す形式にて記述してメモリ１２に記憶する。このように、開始タグ及び終了タグを用いた形式にて同期パラメータ１２ｆを記述しメモリ１２に記憶することにより、当該形式が広く普及していることから、表示支援プログラム１以外のプログラムにおいても同期パラメータ１２ｆを利用しやすくなる。なお、実施の形態１では、同期パラメータ１２ｆを開始タグ及び終了タグを用いた形式にて記述してメモリ１２に記憶したが、記述形式についてはタグを用いた記述形式に限らず、表を用いた記述形式としてもよく、任意である。
【００４７】
図６は、実施の形態１に係る表示支援システム１によって実行される機構図生成処理のフローチャートを示す図であり、図７は、当該機構図生成処理を実行することによって生成される機構図の一例を示す。以下、図６及び図７を併せ参照して説明する。
【００４８】
同期制御プログラム１２ｄが作成あるいは編集された後、入力装置１３を用いた所定のユーザ操作が行われると、表示支援システム１、詳しくは、制御部１６を構成するパラメータ読出部１６ｂ、機構要素図選択部１６ｃ、機構図生成部１６ｄ、及び表示制御部１６ｅは、図６に示す機構図生成処理Ｓ１を実行開始する。
【００４９】
機構図生成処理Ｓ１が実行開始されると、パラメータ読出部１６ｂは、ステップＳ１１の処理として、汎用言語の種類に応じて同期制御プログラム１２ｄから同期パラメータ１２ｆを読み出す。同期パラメータ１２ｆを読み出すと、パラメータ読出部１６ｂは、ステップＳ１２の処理として、読み出した同期パラメータ１２ｆを例えば図５に示した形式にてメモリ１２に格納する。
【００５０】
機構要素図選択部１６ｃは、次に、ステップＳ１３の処理として、メモリ１２に記憶されている同期パラメータ１２ｆに基づいて機構要素図を選択する。図７に示す例では、機構要素図選択部１６ｃは、同期パラメータ１２ｆに「カム制御モジュール」及び「ギア制御モジュール」が機能情報として含まれていることから、当該機能情報に対応する、カム動作を示す機構要素図１２３ｂ及びギア動作を示す機構要素図１２３ｄを、機構要素図１２ｃから、それぞれ選択する。また、機構要素図選択部１６ｃは、同期パラメータ１２ｆにマスタ軸番号「Ｍ１」とスレーブ軸番号「Ｓ１」及び「Ｓ２」が含まれていることから、これら識別番号に対応する、マスタ軸「Ｍ１」の機構要素図１２３ａ、スレーブ軸「Ｓ１」の機構要素図１２３ｃ、及びスレーブ軸「Ｓ２」の機構要素図１２３ｅを、機構要素図１２ｃから、それぞれ選択する。なお、ステップＳ１３の処理が機構要素図選択ステップに相当する。
【００５１】
機構図生成部１６ｄは、次に、ステップＳ１４の処理として、同期パラメータ１２ｆに基づいて、ステップＳ１３において選択したマスタ軸の機構要素図を全て配置する。具体的には、機構図生成部１６ｄは、図７に示す例では、マスタ軸の機構要素図としてマスタ軸「Ｍ１」の機構要素図１２３ａのみ選択することから、ステップＳ１４の処理として、マスタ軸識別番号「Ｍ１」の機構要素図１２３ａを配置する。
【００５２】
機構図生成部１６ｄは、次に、ステップＳ１５の処理として、同期パラメータ１２ｆに基づいて、同期関係を示す機構要素図と、スレーブ軸の機構要素図とを配置し、機構図を生成する。具体的には、図７に示す例では、実行順序情報「１」のソフトウェアモジュールとしてカム制御モジュール１２１が記憶されており、当該カム制御モジュール１２１の入力変数としてマスタ軸識別番号「Ｍ１」が記憶されており、当該カム制御モジュール１２１の入力変数としてスレーブ軸識別番号「Ｓ１」が記憶されていること（図５参照）から、機構図生成部１６ｄは、ステップＳ１５の処理として、カム動作を示す機構要素図１２３ｂ及びスレーブ軸「Ｓ１」の機構要素図１２３ｃをマスタ軸番号「Ｍ１」の機構要素図１２３ａに直列に配置する。
【００５３】
また、図７に示す例では、実行順序情報「２」のソフトウェアモジュールとしてギア制御モジュール１２２が記憶されており、当該ギア制御モジュール１２２の入力変数としてマスタ軸識別番号「Ｍ１」が記憶されており、当該ギア制御モジュール１２２の入力変数としてスレーブ軸識別番号「Ｓ２」が記憶されていること（図５参照）から、機構図生成部１６ｄは、ステップＳ１５の処理として、ギア動作を示す機構要素図１２３ｄ及びスレーブ軸「Ｓ２」の機構要素図１２３ｅを、マスタ軸「Ｍ１」の機構要素図１２３ａに直列に配置する。
【００５４】
すなわち、機構図生成部１６ｄは、図７に示すように、カム動作を示す機構要素図１２３ｂ及びスレーブ軸「Ｓ１」の機構要素図１２３ｃと、ギア動作を示す機構要素図１２３ｄ及びスレーブ軸「Ｓ２」の機構要素図１２３ｅとを、マスタ軸「Ｍ１」の機構要素図１２３ａに並列に配置する。
【００５５】
この際、機構図生成部１６ｄは、カム動作を示す機構要素図１２３ｂ及びスレーブ軸「Ｓ１」の機構要素図１２３ｃと、ギア動作を示す機構要素図１２３ｄ及びスレーブ軸「Ｓ２」の機構要素図１２３ｅとを、実行順序と同じ順序になるように、すなわち、実行順序が「１」であるカム動作を示す機構要素図１２３ｂ及びスレーブ軸「Ｓ１」の機構要素図１２３ｃを、実行順序が「２」であるギア動作を示す機構要素図１２３ｄ及びスレーブ軸「Ｓ２」の機構要素図１２３ｅよりも、左方に配置する。このようにして、機構図生成部１６ｄは、図７に示す機構図１２ｇを生成し、メモリ１２に記憶する。なお、ステップＳ１４及びＳ１５の処理が機構図生成ステップに相当する。
【００５６】
表示制御部１６ｅは、次に、ステップＳ１６の処理として、ステップＳ１３〜ステップＳ１５の処理において生成された機構図を、表示装置１４の表示画面１４ａに表示する。なお、ステップＳ１６の処理が表示ステップに相当する。
【００５７】
以上説明した実施の形態１の表示支援システム１では、同期制御に特化しない汎用言語であるＦＢＤ言語によって作成された同期制御プログラム１２ｄから、マスタ軸とスレーブ軸との同期関係を示す機構図１２ｇを生成し、この生成した機構図１２ｇを表示装置１４に表示することとした。機構図１２ｇの生成及び表示にあたってユーザ操作を必要としないことから、同期制御プログラム１２ｄにおけるマスタ軸とスレーブ軸の同期関係を、少ない作業工数により可視化することができるようになる。
【００５８】
また、実施の形態１の表示支援システム１では、機構図生成部１６ｄは、同期制御プログラム１２ｄを構成する、カム動作を示す機構要素図１２３ｂ及びスレーブ軸「Ｓ１」の機構要素図１２３ｃと、ギア動作を示す機構要素図１２３ｄ及びスレーブ軸「Ｓ２」の機構要素図１２３ｅとを、実行順序と同じ順序となるように配置して、機構図１２ｇを生成することとした。これにより、マスタ軸とスレーブ軸の同期関係だけでなく、ソフトウェアモジュールの実行順序についても、少ない作業工数により可視化することができるようになる。
【００５９】
実施の形態２．
実施の形態１では、表示支援システム１は、１軸のマスタ軸に対する２軸のスレーブ軸の動作を同期制御するモータ制御システム２０の同期制御プログラム１２ｄから機構図１２ｇを自動的に生成する。しかし、機構図の生成対象とする同期制御プログラムは、これに限定されない。実施の形態２では、１軸のマスタ軸に対する１軸のスレーブ軸の動作を同期制御するモータ制御システムの同期制御プログラムから機構図を自動的に生成する。この実施の形態２について、図８〜図１１を参照して説明する。なお、実施の形態２の表示支援システム２も、実施の形態１の表示支援システム１に準じた構成を有する。そのため、以下での重複する説明は割愛する。
【００６０】
図８は、本発明の実施の形態２に係る表示支援システム２を、当該表示支援システム２と有線にて通信可能に接続されるモータ制御システム２０ａのハードウェア構成を含めて示す図である。実施の形態２では、モータ制御システム２０ａは、実施の形態１のモータ制御システム２０から第３モータドライバ２２ｃ及び第３モータ２３ｃが割愛されており、第１モータ２３ａを動作の基準となるマスタ軸とし、第２モータ２３ｂを第１モータ２３ａに連動するスレーブ軸としている。また、モータ制御システム２０ａを構成する第１モータ２３ａ及び第２モータ２３ｂには、それぞれを特定するための識別番号「Ｍ１」及び「Ｓ１」が割り付けられている。また、実施の形態２でも、モータ制御システム２０ａは、カム及びギア等の機械要素を備えず、第１モータ２３ａ及び第２モータ２３ｂを電気的に連動させることにより、第１モータ２３ａ及び第２モータ２３ｂの同期制御を行う。そのため、実施の形態２のモーションコントローラ２１ａは、実施の形態１のモーションコントローラ２１によって実行される同期制御プログラム１２ｄとは異なる同期制御プログラム２２ｄを実行する。
【００６１】
図９は、実施の形態２に係る表示支援システム２のユーザによって新規作成あるいは編集された同期制御プログラム２２ｄの一例を示す図である。同期制御プログラム２２ｄも、実施の形態１の同期制御プログラム１２ｄと同様に、同期制御に特化しない汎用言語の一例であるＦＢＤ言語によって記述されている。
【００６２】
図９に示すように、同期制御プログラム２２ｄには、ギア動作の機能を記述したソフトウェアモジュールであるギア制御モジュール２２１と、カム動作の機能を記述したソフトウェアモジュールであるカム制御モジュール２２２と、が含まれており、これらギア制御モジュール２２１及びカム制御モジュール２２２は、表示画面１４ａにおいて上下方向にずれることなく左右方向に並んで配置されている。
【００６３】
ギア制御モジュール２２１は、動作の基準となるマスタ軸を特定するマスタ軸識別番号２２１ａ、マスタ軸に連動するスレーブ軸を特定するスレーブ軸識別番号２２１ｂ、当該ギア制御モジュール２２１自体の実行許可または不許可を示す情報である実行許可情報２２１ｃ、マスタ軸の位置に対するスレーブ軸の位置を計算するための比率を示すギア比の情報であるギア比２２１ｄを入力変数とする。また、ギア制御モジュール２２１は、上記入力変数のうち、マスタ軸を特定するマスタ軸識別番号２２１ａ及びスレーブ軸を特定する識別番号を出力変数とし、後段に接続されたカム制御モジュール２２２と結線されている。
【００６４】
カム制御モジュール２２２は、動作の基準となるマスタ軸を特定するマスタ軸識別番号２２２ａ、マスタ軸に連動するスレーブ軸を特定するスレーブ軸識別番号２２２ｂ、当該カム制御モジュール２２２自体の実行許可または不許可を示す情報である実行許可情報２２２ｃ、複数のカム曲線の種類を特定するカム番号２２２ｄを入力変数とする。なお、ギア制御モジュール２２１及びカム制御モジュール２２２は上記のように結線されているため、マスタ軸を特定するマスタ軸識別番号２２２ａは、ギア制御モジュール２２１から出力されるマスタ軸識別番号と同一となり、スレーブ軸を特定するスレーブ軸識別番号２２２ｂは、ギア制御モジュール２２１から出力されるスレーブ軸識別番号と同一となる。
【００６５】
図１０は、実施の形態２に係る表示支援システム２において、同期制御プログラム２２ｄから読み出された同期パラメータのメモリ１２への格納形式の一例を示す図である。図１０に示すように、実施の形態２の同期制御プログラム２２ｄから読み出された同期パラメータ２２ｆは、先の図５に示した、実施の形態１の同期制御プログラム１２ｄから読み出された同期パラメータ１２ｆとは、次の点で相違している。すなわち、同期パラメータ１２ｆでは、ギア制御モジュール及びカム制御モジュールの実行順序がそれぞれ「２」及び「１」であるのに対し、同期パラメータ２２ｆでは、ギア制御モジュール及びカム制御モジュールの実行順序がそれぞれ「１」及び「２」であり、実行順序が逆になっている。また、同期パラメータ１２ｆでは、カム制御モジュールのスレーブ軸識別番号及びギア制御モジュールのスレーブ軸識別番号はそれぞれ「Ｓ１」及び「Ｓ２」と異なっているのに対し、同期パラメータ２２ｆでは、ギア制御モジュールでもカム制御モジュールでも、スレーブ軸番号は「Ｓ１」で共通である。
【００６６】
上記同期制御プログラム２２ｄが作成あるいは編集された後、入力装置１３を用いた所定のユーザ操作が行われると、表示支援システム２は、先の図６に示す機構図生成処理Ｓ１を実行開始する。図１１は、当該機構図生成処理Ｓ１を実行することによって生成される機構図の一例を示す。以下、図６及び図１１を併せ参照して説明する。
【００６７】
機構図生成処理Ｓ１が実行開始されると、パラメータ読出部１６ｂは、ステップＳ１１の処理として、汎用言語の種類に応じて同期制御プログラム２２ｄから同期パラメータ２２ｆを読み出す。同期パラメータ２２ｆを読み出すと、パラメータ読出部１６ｂは、ステップＳ１２の処理として、読み出した同期パラメータ２２ｆを例えば図１０に示した形式にてメモリ１２に格納する。なお、ステップＳ１１の処理がパラメータ読出ステップに相当する。
【００６８】
機構要素図選択部１６ｃは、次に、ステップＳ１３の処理として、メモリ１２に記憶されている同期パラメータ２２ｆに基づいて機構要素図を選択する。図１１に示す例では、機構要素図選択部１６ｃは、同期パラメータ２２ｆに「ギア制御モジュール」及び「カム制御モジュール」が機能情報として含まれていることから、当該機能情報に対応する、ギア動作を示す機構要素図２２３ｂ及びカム動作を示す機構要素図２２３ｃを、機構要素図１２ｃから、それぞれ選択する。また、機構要素図選択部１６ｃは、同期パラメータ２２ｆにマスタ軸番号「Ｍ１」及びスレーブ軸番号「Ｓ１」が含まれていることから、これら識別番号に対応する、マスタ軸「Ｍ１」の機構要素図２２３ａ及びスレーブ軸「Ｓ１」の機構要素図２２３ｄを、機構要素図１２ｃから、それぞれ選択する。
【００６９】
機構図生成部１６ｄは、次に、ステップＳ１４の処理として、同期パラメータ２２ｆに基づいて、ステップＳ１３において選択したマスタ軸の機構要素図を全て配置する。具体的には、機構図生成部１６ｄは、図１１に示す例では、マスタ軸の機構要素図としてマスタ軸「Ｍ１」の機構要素図２２３ａのみ選択することから、ステップＳ１４の処理として、マスタ軸識別番号「Ｍ１」の機構要素図２２３ａを配置する。
【００７０】
機構図生成部１６ｄは、次に、ステップＳ１５の処理として、同期パラメータ２２ｆに基づいて、同期関係を示す機構要素図と、スレーブ軸の機構要素図とを配置し、機構図を生成する。具体的には、図１１に示す例では、機構図生成部１６ｄは、実行順序情報「１」のソフトウェアモジュールとしてギア制御モジュール２２１が記憶されており、当該ギア制御モジュール２２１の入力変数としてマスタ軸識別番号「Ｍ１」が記憶されており、当該ギア制御モジュール２２１の入力変数としてスレーブ軸識別番号「Ｓ１」が記憶されていること、また、実行順序情報「２」のソフトウェアモジュールとしてカム制御モジュール２２２が記憶されており、当該カム制御モジュール２２２の入力変数としてマスタ軸識別番号「Ｍ１」が記憶されており、当該カム制御モジュール２２２の入力変数としてスレーブ軸識別番号「Ｓ１」が記憶されていること（図９参照）から、ステップＳ１５の処理として、マスタ軸「Ｍ１」の機構要素図２２３ａに対して、ギア動作を示す機構要素図２２３ｂ、カム動作を示す機構要素図２２３ｃ、及びスレーブ軸「Ｓ１」の機構要素図２２３ｄを直列に配置する。
【００７１】
このようにして、機構図生成部１６ｄは、図１１に示す機構図２２ｇを生成する。この際、機構図生成部１６ｄは、ギア動作を示す機構要素図２２３ｂと、カム動作を示す機構要素図２２３ｃとを、実行順序と同じ順序になるように、すなわち、実行順序が「１」であるギア動作を示す機構要素図２２３ｂを、実行順序が「２」であるカム動作を示す機構要素図２２３ｄよりも、上方に配置する。このようにして、機構図生成部１６ｄは、図１１に示す機構図２２ｇを生成し、メモリ１２に記憶する。
【００７２】
以上説明した実施の形態２の表示支援システム２でも、同期制御に特化しない汎用言語であるＦＢＤ言語によって作成された同期制御プログラム２２ｄから、マスタ軸とスレーブ軸との同期関係を示す機構図２２ｇを生成し、この生成した機構図２２ｇを表示装置１４に表示することとした。機構図２２ｇの生成及び表示にあたってユーザ操作を必要としないことから、同期制御プログラム２２ｄにおけるマスタ軸とスレーブ軸の同期関係を、少ない作業工数により可視化することができるようになる。
【００７３】
また、実施の形態２の表示支援システム２でも、機構図生成部１６ｄは、同期制御プログラム１２ｄを構成する、ギア動作を示す機構要素図２２３ｂと、カム動作を示す機構要素図２２３ｃとを、実行順序と同じ順序となるように配置して、機構図２２ｇを生成することとした。これにより、マスタ軸とスレーブ軸の同期関係だけでなく、ソフトウェアモジュールの実行順序についても、少ない作業工数により可視化することができるようになる。
【００７４】
実施の形態２では、同期制御プログラム２２ｄにおいて、ギア制御モジュール２２１及びカム制御モジュール２２２が結線されていたが、必ずしも結線される必要はない。実施の形態１のように、ギア制御モジュール２２１の入力変数の一つであるマスタ軸識別番号とカム制御モジュール２２２の入力変数の一つであるマスタ軸識別番号とが一致しており、かつ、ギア制御モジュール２２１の入力変数の一つであるスレーブ軸識別番号とカム制御モジュール２２２の入力変数の一つであるスレーブ軸識別番号とが一致していれば、これらモジュールは結線される必要はない。
【００７５】
実施の形態３．
実施の形態１及び２では、表示支援システム１及び２は、同期制御に特化しない汎用言語としてＦＢＤ言語によって記述された同期制御プログラム１２ｄ〜２２ｄから機構図１２ｇ〜２２ｇを自動的に生成する。同期制御プログラムを記述する汎用言語はＦＢＤ言語に限らない。実施の形態３では、表示支援システムは、同期制御に特化しない汎用言語としてＳＴ言語によって記述された同期制御プログラムから機構図を自動的に生成する。この実施の形態３について、図１２〜図１４を参照して説明する。
【００７６】
図１２は、実施の形態３に係る表示支援システム３を、当該表示支援システム３と有線にて通信可能に接続されるモータ制御システム２０ｂのハードウェア構成を含めて示す図である。実施の形態３の表示支援システム３は、実施の形態１の表示支援システム１に準じた構成を有する。ただし、実施の形態３のモーションコントローラ２１ｂは、実施の形態１のモーションコントローラ２１によって実行される同期制御プログラム１２ｄとは異なる同期制御プログラム３２ｄを実行する。
【００７７】
図１３は、実施の形態３に係る表示支援システム３のユーザによって新規作成あるいは編集された同期制御プログラム３２ｄの一例を示す図である。同期制御プログラム３２ｄは、同期制御に特化しない汎用言語の一例であるＳＴ言語によって記述されている。
【００７８】
図１３に示すように、同期制御プログラム３２ｄは、１行目において、ＧｅａｒＣｏｎｔｒｏｌという関数名のソフトウェアモジュールであるギア制御モジュールを呼び出し、２行目において、ＣａｍＣｏｎｔｒｏｌという関数名のソフトウェアモジュールであるカム制御モジュールを呼び出す。
【００７９】
ＳＴ言語で作成されたプログラムでは、記述された順番が早い、すなわち上下方向上方に記述されたソフトウェアモジュールであるほど実行順序が早い。したがって、図１３に示した同期制御プログラム３２ｄでは、同期制御プログラム３２ｄが２つのソフトウェアモジュールを呼び出すこと、ギア制御モジュールの方がカム制御モジュールよりも実行順序が早いことから、ギア制御モジュールの実行順序を示す情報である実行順序情報は「１」であり、カム制御モジュールの実行順序情報は「２」となる。表示支援システム３のユーザがＳＴ言語を利用して同期制御プログラム３２ｄを作成した場合、ユーザが各ソフトウェアモジュールの実行順序を改めて設定する必要はなく、各ソフトウェアモジュールの記述順序によって自動的に判断される。
【００８０】
ギア制御モジュールは、ギア動作の機能を記述するソフトウェアモジュールであり、動作の基準となるマスタ軸を特定する識別番号、マスタ軸に連動するスレーブ軸を特定する識別番号、及びマスタ軸の位置に対するスレーブ軸の位置を計算するための比率を示すギア比の情報であるギア比を引数とする。なお、実施の形態３では、モータ制御システム２０ｂ（図１２）の第１モータ２３ａをマスタ軸とし、第２モータ２３ｂをスレーブ軸とすることから、マスタ軸番号として第１モータ２３ａの識別番号である「Ｍ１」が、スレーブ軸番号として第２モータ２３ｂの識別番号である「Ｓ１」が設定されている。また、実施の形態３では、モータ制御システム２０ｂ（図１２）のマスタ軸とする第１モータ２３ａに対してスレーブ軸とする第３モータ２３ｃはギア比「２」にて同期制御されることから、ギア比には「２」が設定されている。
【００８１】
カム制御モジュールは、カム動作の機能を記述するソフトウェアモジュールであり、動作の基準となるマスタ軸を特定する識別番号、マスタ軸に連動するスレーブ軸を特定する識別番号、複数のカム曲線の種類を特定するカム番号を引数とする。なお、実施の形態３では、モータ制御システム２０ｂ（図１２）の第１モータ２３ａをマスタ軸とし、第３モータ２３ｃをスレーブ軸とすることから、マスタ軸識別番号として第１モータ２３ａの識別番号である「Ｍ１」が、スレーブ軸識別番号として第３モータ２３ｃの識別番号である「Ｓ２」が、それぞれ設定されている。また、実施の形態３では、モータ制御システム２０ｂ（図１２）のマスタ軸とする第１モータ２３ａに対してスレーブ軸とする第３モータ２３ｃは例えば正弦曲線に従って動作させながら同期制御させることから、カム番号には、「正弦曲線」に対応する番号である「１」が設定されている。
【００８２】
上記同期制御プログラム３２ｄが作成あるいは編集された後、入力装置１３を用いた所定のユーザ操作が行われると、表示支援システム３は、先の図６に示す機構図生成処理Ｓ１を実行開始する。図１４は、当該機構図生成処理Ｓ１を実行することによって生成される機構図の一例を示す。以下、図６及び図１４を併せ参照して説明する。
【００８３】
機構図生成処理Ｓ１が実行開始されると、パラメータ読出部１６ｂは、ステップＳ１１の処理として、汎用言語の種類に応じて同期制御プログラム３２ｄから同期パラメータ３２ｆを読み出す。同期パラメータ３２ｆを読み出すと、パラメータ読出部１６ｂは、ステップＳ１２の処理として、読み出した同期パラメータ３２ｆを例えば図１４に示した形式にてメモリ１２に格納する。
【００８４】
機構要素図選択部１６ｃは、次に、ステップＳ１３の処理として、メモリ１２に記憶されている同期パラメータ３２ｆに基づいて機構要素図を選択する。図１５に示す例では、機構要素図選択部１６ｃは、同期パラメータ３２ｆに「ギア制御モジュール」及び「カム制御モジュール」が機能情報として含まれていることから、当該機能情報に対応する、ギア動作を示す機構要素図３２１ｂ及びカム動作を示す機構要素図３２１ｄを、機構要素図１２ｃから、それぞれ選択する。また、機構要素図選択部１６ｃは、同期パラメータ３２ｆにマスタ軸番号「Ｍ１」、スレーブ軸番号「Ｓ１」、及びスレーブ軸番号「Ｓ２」が含まれていることから、これら識別番号に対応する、マスタ軸「Ｍ１」の機構要素図２２３ａ、スレーブ軸「Ｓ１」の機構要素図２２３ｄ、及びスレーブ軸「Ｓ２」の機構要素図２２３ｅを、機構要素図１２ｃから、それぞれ選択する。
【００８５】
機構図生成部１６ｄは、次に、ステップＳ１４の処理として、同期パラメータ３２ｆに基づいて、ステップＳ１３において選択したマスタ軸の機構要素図を全て配置する。具体的には、機構図生成部１６ｄは、図１５に示す例では、マスタ軸の機構要素図としてマスタ軸「Ｍ１」の機構要素図３２１ａのみ選択することから、ステップＳ１４の処理として、マスタ軸識別番号「Ｍ１」の機構要素図３２１ａを配置する。
【００８６】
機構図生成部１６ｄは、次に、ステップＳ１５の処理として、同期パラメータ３２ｆに基づいて、同期関係を示す機構要素図と、スレーブ軸の機構要素図とを配置し、機構図を生成する。
【００８７】
具体的には、図１５に示す例では、機構図生成部１６ｄは、実行順序情報「１」のソフトウェアモジュールとしてギア制御モジュールが記憶されており、当該ギア制御モジュールの引数としてマスタ軸識別番号「Ｍ１」が記憶されており、当該ギア制御モジュールの引数としてスレーブ軸識別番号「Ｓ１」が記憶されていること、また、実行順序情報「２」のソフトウェアモジュールとしてカム制御モジュールが記憶されており、当該カム制御モジュールの引数としてマスタ軸識別番号「Ｍ１」が記憶されており、当該カム制御モジュールの引数としてスレーブ軸識別番号「Ｓ１」が記憶されていること（図１３参照）から、ステップＳ１５の処理として、マスタ軸「Ｍ１」の機構要素図３２１ａに対して、ギア動作を示す機構要素図３２１ｂ及びスレーブ軸「Ｓ１」の機構要素図３２１ｃを直列に配置する。
【００８８】
また、図１５に示す例では、実行順序情報「２」のソフトウェアモジュールとしてカム制御モジュールが記憶されており、当該カム制御モジュールの引数としてマスタ軸識別番号「Ｍ１」が記憶されており、当該カム制御モジュールの引数としてスレーブ軸識別番号「Ｓ２」が記憶されていること（図１４参照）から、機構図生成部１６ｄは、ステップＳ１５の処理として、カム動作を示す機構要素図３２１ｄ及びスレーブ軸「Ｓ２」の機構要素図３２１ｅを、マスタ軸「Ｍ１」の機構要素図３２１ａに直列に配置する。
【００８９】
すなわち、機構図生成部１６ｄは、図１５に示すように、ギア動作を示す機構要素図３２１ｂ及びスレーブ軸「Ｓ１」の機構要素図３２１ｃと、カム動作を示す機構要素図３２１ｄ及びスレーブ軸「Ｓ２」の機構要素図３２１ｅとを、マスタ軸「Ｍ１」の機構要素図３２１ａに並列に配置する。
【００９０】
この際、機構図生成部１６ｄは、ギア動作を示す機構要素図３２１ｂ及びスレーブ軸「Ｓ１」の機構要素図３２１ｃと、カム動作を示す機構要素図３２１ｄ及びスレーブ軸「Ｓ２」の機構要素図３２１ｅとを、実行順序と同じ順序になるように、すなわち、実行順序が「１」であるギア動作を示す機構要素図３２１ｂ及びスレーブ軸「Ｓ１」の機構要素図３２１ｃを、実行順序が「２」であるカム動作を示す機構要素図３２１ｄ及びスレーブ軸「Ｓ２」の機構要素図３２１ｅよりも、上下方向上方に配置する。このようにして、機構図生成部１６ｄは、図１５に示す機構図３２ｇを生成し、メモリ１２に記憶する。
【００９１】
以上説明した実施の形態３の表示支援システム３でも、同期制御に特化しない汎用言語であるＳＴ言語によって作成された同期制御プログラム３２ｄから、マスタ軸とスレーブ軸との同期関係を示す機構図３２ｇを生成し、この生成した機構図３２ｇを表示装置１４に表示することとした。機構図３２ｇの生成及び表示にあたってユーザ操作を必要としないことから、同期制御プログラム３２ｄにおけるマスタ軸とスレーブ軸の同期関係を、少ない作業工数により可視化することができるようになる。
【００９２】
また、実施の形態３の表示支援システム３でも、機構図生成部１６ｄは、同期制御プログラム３２ｄを構成する、ギア動作を示す機構要素図３２１ｂと、カム動作を示す機構要素図３２１ｄとを、実行順序と同じ順序となるように配置して、機構図３２ｇを生成することとした。これにより、マスタ軸とスレーブ軸の同期関係だけでなく、ソフトウェアモジュールの実行順序についても、少ない作業工数により可視化することができるようになる。
【００９３】
実施の形態４．
実施の形態１〜３では、モータ制御システム２０〜２０ｂによって実行中ではない同期制御プログラム１２ｄ〜３２ｄから自動的に機構図１２ｇ〜３２ｇを生成していた。しかし、機構図の生成対象となる同期制御プログラムは、これに限定されない。実施の形態４では、モータ制御システムによって実行中の同期制御プログラムから自動的に機構図を生成する。この実施の形態４について、図１６〜図２０を参照して説明する。なお、実施の形態４の表示支援システム及びモータ制御システムも、実施の形態１の表示支援システム１及びモータ制御システム２０に準じた構成を有するため、重複する説明は割愛する。
【００９４】
図１６は、本発明の実施の形態４に係る表示支援システム４を、当該表示支援システム４と有線にて通信可能に接続されるモータ制御システム２０ｃのハードウェア構成を含めて示す図である。実施の形態４のモーションコントローラ２１ｃは、実施の形態１のモーションコントローラ２１によって実行される同期制御プログラム１２ｄとは異なる同期制御プログラム４２ｄを実行する。実施の形態４の表示支援システム４は、表示支援システム１とは異なり、モータ制御システム２０ｃの動作を監視し、モーションコントローラ２１ｃが同期制御プログラム４２ｄを実行している間、所定の時間間隔（以下、第１の時間間隔とも呼ぶ）にて、後述の同期パラメータ４２ｆ１及び４２ｆ２を当該モーションコントローラ２１ｃから読み出し、機構図４２ｇ１及び４２ｇ２を生成する。
【００９５】
図１７は、実施の形態４に係る表示支援システム４のユーザによって新規作成あるいは編集された同期制御プログラム４２ｄの一例を示す図である。同期制御プログラム４２ｄも、実施の形態１の同期制御プログラム１２ｄ及び実施の形態２の同期制御プログラム２２ｄと同様に、同期制御に特化しない汎用言語の一例であるＦＢＤ言語によって記述されている。
【００９６】
図１７に示すように、同期制御プログラム４２ｄには、タイマモジュール４２１と、カム動作の機能を記述したソフトウェアモジュールであるカム制御モジュール４２２と、ギア動作の機能を記述したソフトウェアモジュールであるギア制御モジュール４２３と、が含まれている。タイマモジュール４２１は、表示画面１４ａにおいて最も左上の位置に配置されており、カム制御モジュール４２２及びギア制御モジュール４２３は、表示画面１４ａにおいて左右方向にずれることなく上下方向に並んで配置されている。
【００９７】
タイマモジュール４２１は、例えばモーションコントローラ２１ｃによって同期制御プログラム４２ｄが実行開始された時点から所定の時間（以下、第２時間間隔とも呼ぶ）に達するまでＯＦＦを出力し、第２の所定時間間隔が経過した以後はＯＮを出力するモジュールである。タイマモジュール４２１は、後段に接続されたギア制御モジュール４２３に結線されている。ちなみに、第１の時間間隔は第２の時間間隔よりも短く設定されている。
【００９８】
カム制御モジュール４２２は、動作の基準となるマスタ軸を特定するマスタ軸識別番号４２２ａ、マスタ軸に連動するスレーブ軸を特定するスレーブ軸識別番号４２２ｂ、当該カム制御モジュール４２２自体の実行許可または不許可を示す情報である実行許可情報４２２ｃ、複数のカム曲線の種類を特定するカム番号４２２ｄを入力変数とする。なお、本実施の形態４では、モータ制御システム２０ｃは第１モータ２３ａをマスタ軸、第２モータ２３ｂをスレーブ軸として、これらを常にカム動作させながら同期制御することから、実行許可情報４２２ｃには「ＯＮ」が設定されている。
【００９９】
ギア制御モジュール４２３は、動作の基準となるマスタ軸を特定するマスタ軸識別番号４２３ａ、マスタ軸に連動するスレーブ軸を特定するスレーブ軸識別番号４２３ｂ、当該ギア制御モジュール４２３自体の実行許可または不許可を示す情報である実行許可情報４２３ｃ、マスタ軸の位置に対するスレーブ軸の位置を計算するための比率を示すギア比の情報であるギア比４２３ｄを入力変数とする。なお、本実施の形態４では、ギア制御モジュール４２３はタイマモジュール４２１と上記のように結線されているため、実行許可情報４２３ｃには「ＯＦＦ」あるいは「ＯＮ」が設定される。
【０１００】
すなわち、実施の形態４では、モータ制御システム２０ｃが同期制御プログラム４２ｄを実行すると、同期制御プログラム４２ｄの実行開始から第２の所定時間に達するまで、第１モータ２３ａをマスタ軸、第２モータ２３ｂをスレーブ軸として、これらをカム動作させながら同期制御する。また、モータ制御システム２０ｃは、同期制御プログラム４２ｄの実行開始から第２の所定時間が経過した以後は、第１モータ２３ａをマスタ軸、第２モータ２３ｂをスレーブ軸として、これらをカム動作させながら同期制御させつつ、第１モータ２３ａをマスタ軸、第３モータ２３ｃをスレーブ軸として、これらをギア動作させながら同期制御させる。
【０１０１】
モータ制御システム２０ｃにて同期制御プログラム４２ｄが実行中に、入力装置１３を用いた所定のユーザ操作が行われると、表示支援システム３は、図１８に示す機構図生成処理Ｓ２を実行開始する。図１９（ａ）及び（ｂ）は、当該機構図生成処理Ｓ２を実行することによって同期制御プログラム４２ｄから読み出される同期パラメータ４２ｆ１及び４２ｆ２の一例を示し、図２０（ａ）及び（ｂ）は、当該機構図生成処理Ｓ２を実行することによって生成される機構図４２ｇ１及び４２ｇ２の一例を示す。以下、図１８、図１９（ａ）及び（ｂ）、並びに、図２０（ａ）及び（ｂ）を併せ参照して説明する。なお、モータ制御システム２０ｃによって同期制御プログラム４２ｄが実行開始された時点からまだ上記第２の時間間隔が経過していない時点でユーザ操作が行われ、上記第２の時間間隔が経過するまでに、少なくとも１度、機構図生成処理Ｓ２が実行されるものとする。
【０１０２】
機構図生成処理Ｓ２が実行開始されると、表示支援システム４は、先の図６にて説明したステップＳ１１〜ステップＳ１６の処理を実行し、続くステップＳ２７の処理として、ステップＳ１１〜ステップＳ１６の処理を実行開始した時点から上記第１の時間間隔が経過したか否かを判断する。上記第１の時間間隔が経過していない場合（ステップＳ２７の処理で「Ｎｏ」）、表示支援システム４は、ステップＳ２７の処理を再度実行し、上記第１の時間間隔が経過した場合（ステップＳ２７の処理で「Ｙｅｓ」）、表示支援システム４は、ステップＳ１１〜ステップＳ１６の処理を再度実行する。すなわち、表示支援システム４は、ステップＳ１１〜ステップＳ１６の処理を、第１の時間間隔毎に周期的に実行する。
【０１０３】
図１９（ａ）は、表示支援システム４において、モータ制御システム２０ｃによる同期制御プログラム４２ｄの実行開始から第２の時間間隔が経過するまでに、モータ制御システム２０ｃで実行中の同期制御プログラム４２ｄから読み出された同期パラメータ４２ｆ１であり、図２０（ａ）は、上記同期パラメータ４２ｆ１に基づいて生成された機構図４２ｇ１である。
【０１０４】
図１９（ａ）に示すように、タイマモジュール４２１からＯＦＦが出力されていることから、同期パラメータ４２ｆ１では、ギア制御モジュールの実行許可情報は「ＯＦＦ」となっている。そのため、図１９（ａ）に示すように、マスタ軸「Ｍ１」の機構要素図４２４ａに対して、カム動作を示す機構要素図４２４ｂ及びスレーブ軸「Ｓ１」の機構要素図４２４ｃが直列に配置された機構図４２ｇ１が生成され、表示装置１４の表示画面１４ａに表示される。
【０１０５】
図１９（ｂ）は、表示支援システム４において、モータ制御システム２０ｃによる同期制御プログラム４２ｄの実行開始から第２の時間間隔が経過した以後に、モータ制御システム２０ｃで実行中の同期制御プログラム４２ｄから読み出された同期パラメータ４２ｆ２であり、図２０（ｂ）は、上記同期パラメータ４２ｆ２に基づいて生成された機構図４２ｇ２である。
【０１０６】
図１９（ｂ）に示すように、タイマモジュール４２１からＯＮが出力されていることから、同期パラメータ４２ｆ２では、ギア制御モジュールの実行許可情報は「ＯＮ」となっている。そのため、図２０（ｂ）に示すように、カム動作を示す機構要素図４２４ｂ及びスレーブ軸「Ｓ１」の機構要素図４２４ｃと、ギア動作を示す機構要素図４２４ｄ及びスレーブ軸「Ｓ２」の機構要素図４２４ｅとが、マスタ軸「Ｍ１」の機構要素図４２４ａに並列に配置された機構図４２ｇ２が生成され、表示装置１４の表示画面１４ａに表示される。
【０１０７】
以上説明した実施の形態４の表示支援システム４では、同期制御に特化しない汎用言語であるＦＢＤ言語によって作成された同期制御プログラム４２ｄを、モータ制御システム２０ｃにて実行されている間に読み出し、この同期制御プログラム４２ｄからマスタ軸とスレーブ軸との同期関係を示す機構図４２ｇ１及び４２ｇ２を生成し、この生成した機構図４２ｇ１及び４２ｇを表示装置１４に表示することとした。機構図４２ｇ１及び４２ｇ２の生成及び表示にあたってユーザ操作を必要としないことから、同期パラメータ４２ｆ１及び４２ｆ２の変化を反映させながらも、同期制御プログラム４２ｄにおけるマスタ軸とスレーブ軸の同期関係を、少ない作業工数により可視化することができるようになる。
【０１０８】
また、実施の形態４の表示支援システム４では、実施の形態１の表示支援システム１及び実施の形態２の表示支援システム２と同様に、機構図生成部１６ｄは、同期制御プログラム４２ｄを構成する、カム動作を示す機構要素図４２４ｂと、ギア動作を示す機構要素図４２４ｄとを、実行順序と同じ順序となるように配置して、機構図４２ｇ２を生成することとした。これにより、マスタ軸とスレーブ軸の同期関係だけでなく、ソフトウェアモジュールの実行順序についても、少ない作業工数により可視化することができるようになる。
【０１０９】
実施の形態４の表示支援システム４では、同期制御プログラム４２ｄに含まれるソフトウェアモジュールのうちギア制御モジュール４２３の実行許可情報が変更されていたが、この構成に限られず、同期制御プログラム４２ｄに含まれるソフトウェアモジュールのうちカム制御モジュール４２２の実行許可情報が変更されることとしてもよい。あるいは、実施の形態２で説明したような、ギア制御モジュール及びカム制御モジュールが直列に結線され、そのうちのギア制御モジュールあるいはカム制御モジュールの実行許可情報が変更される構成としてもよい。
【０１１０】
実施の形態４の表示支援システム４では、モータ制御システム２０ｃの動作を監視し、モーションコントローラ２１ｃが同期制御プログラム４２ｄを実行している間、第１の時間間隔にて周期的に、同期パラメータ４２ｆ１及び４２ｆ２を当該モーションコントローラ２１ｃから読み出し、機構図４２ｇ１及び４２ｇ２を生成していたが、この構成に限定されない。他に例えば、ユーザ操作による指示による任意のタイミングにて、同期パラメータをモーションコントローラ２１ｃから読み出し、機構図を生成することとしてもよい。あるいは、表示支援システム４において任意の別処理が実行されており、別処理の合間に、同期パラメータをモーションコントローラ２１ｃから読み出し、機構図を生成することとしてもよい。
【０１１１】
実施の形態４の表示支援システム４では、モーションコントローラ２１ｃによって同期制御プログラム４２ｄが実際に実行されていたが、この構成に限定されない。他に例えば、モーションコントローラ２１ｃの動作を模擬するシミュレータによって同期制御プログラム４２ｄが実行されることとしてもよい。
【０１１２】
実施の形態５．
実施の形態１〜４では、表示支援システム１〜４は、表示支援プログラムがコンピュータにインストールされることによって実現されていたが、この構成に限られない。実施の形態５では、表示支援プログラムがサーバ−クライアントシステムにインストールされることによって実現されている。実施の形態５について、図２１を参照して説明する。
【０１１３】
図２１は、本発明の実施の形態５に係る表示支援システム５の構成を示す図である。図２１に示すように、表示支援システム５は、コンピュータ１７と、表示装置１８、サーバ１９と、を備えて構成されている。
【０１１４】
コンピュータ１７は、実施の形態１〜３の表示支援システム１〜３のコンピュータ１０に準じた構成を有している。すなわち、コンピュータ１７は、表示支援プログラムがインストールされることにより機構図を生成することが可能である。また、コンピュータ１７は、サーバ１９のクライアントに設定されており、サーバ１９と無線にて通信が可能である。コンピュータ１７は、当該コンピュータ１７によって生成された機構図を、サーバ１９の図示しないメモリに記憶する。
【０１１５】
表示装置１８は、例えばスマートフォン、タブレット端末等によって構成されている。表示装置１８は、サーバ１９のクライアントに設定されており、サーバ１９と無線にて通信が可能である。表示装置１８は、サーバ１９に対して、当該サーバ１９に記憶された機構図を表示装置１８に送信するようリクエストを送信し、サーバ１９から送信された機構図を表示画面１８ａに表示する。
【０１１６】
サーバ１９は、当該サーバ１９のクライアントに設定されたコンピュータ１７から機構図を受信すると、図示しないメモリに記憶する。また、サーバ１９は、当該サーバ１９のクライアントに設定された表示装置１８からのリクエストを受信すると、メモリに記憶した機構図を表示装置１８に送信する。
【０１１７】
以上説明した実施の形態５の表示支援システム５によれば、表示装置１８の外部のコンピュータ１７によってマスタ軸とスレーブ軸の同期関係を示す機構図が生成された場合においても、表示装置１８によって同期関係を可視化することができる。
【０１１８】
なお、実施の形態５では、コンピュータ１７及び表示装置１８がサーバ１９のクライアントに設定されていたが、この構成に限らず、コンピュータ１７を割愛することとしてもよい。その場合には、サーバ１９が機構図生成処理を実行することとなる。
【０１１９】
上記実施の形態１〜５の表示支援システム１〜５では、同期制御に特化しない汎用言語であるＦＢＤ言語あるいはＳＴ言語によって記述された同期制御プログラムを対象として自動的に機構図を生成していたが、同期制御プログラムの記述言語はＦＢＤ言語あるいはＳＴ言語に限られない。他に例えば、ラダー言語、Ｃ言語、ＳＦＣ言語等の汎用言語によって記述された同期制御プログラムを対象として自動的に機構図を生成することとしてもよい。要は、カム動作やギア動作等、同期関係を記述するソフトウェアモジュールの呼び出し可能な言語であれば良い。
【０１２０】
上記実施の形態１〜５の表示支援システムでは、マスタ軸の機構要素図として回転型のモータの絵図を採用したが、マスタ軸の機構要素図の絵図はこれに限らない。例えばリニアモータの絵図を採用しても良いし、エンコーダなどの出力値に対してスレーブ軸を同期制御したい場合には、エンコーダの絵図を採用してもよい。同様にスレーブ軸の絵図も本実施の形態で示した絵図に限られない。
【０１２１】
上記実施の形態１〜５の表示支援システム１〜５では、同期関係を示す機構要素図として、カム動作を示す機構要素図とギア動作を示す機構要素図とを用いたが、同期関係を示す機構要素図はこれらに限られない。例えば、マスタ軸を回転させたままスレーブ軸を滑らかに停止させるためのクラッチ動作を示す機構要素図や、２軸のマスタ軸の位置情報の差分もってスレーブ軸の動作指令とする差動動作を示す機構要素図等を用いることとしてもよい。なお、図２２及び図２３は、それぞれ、クラッチ動作を示す機構要素図に対応するクラッチ制御モジュール及び差動動作を示す機構要素図に対応する差動制御モジュールの一例を示す図である。
【産業上の利用可能性】
【０１２２】
本発明は、同期制御に特化しない汎用言語によって作成された同期制御プログラムにおけるマスタ軸とスレーブ軸の同期関係を可視化した構成図を生成する表示支援プログラム、同プログラムを記憶したコンピュータ可読記憶媒体、表示支援方法、及び表示支援システムの実現に好適である。
【符号の説明】
【０１２３】
１〜５  表示支援システム、１０、１７  コンピュータ、１１  プロセッサ、１２  メモリ（同期制御プログラム記憶部、機構要素図記憶部）、１２ａ  作成支援プログラム、１２ｂ  表示支援プログラム、１２ｃ  機構要素図、１２ｄ〜４２ｄ  同期制御プログラム、１２ｅ  識別番号、１２ｆ  同期パラメータ、１２ｇ〜４２ｇ２  機構図、１３  入力装置、１４、１８  表示装置、１４ａ、１８ａ  表示画面（表示部）、１５  通信装置、１６  制御部、１６ａ  プログラム作成部、１６ｂ  パラメータ読出部、１６ｃ  機構要素図選択部、１６ｄ  機構図生成部、１６ｅ  表示制御部、１６ｆ  通信制御部、１９  サーバ、２０〜２０ｃ  モータ制御システム、２１〜２１ｃ  モーションコントローラ、２２ａ〜２２ｃ  モータドライバ、２３ａ  第１モータ、２３ｂ  第２モータ、２３ｃ  第３モータ、１２１，２２２，３２１，４２２  カム制御モジュール、１２１ａ，２２２ａ，２２１ａ，２０２ａ，４２２ａ，４２３ａ  マスタ軸識別番号、１２１ｂ，２２２ｂ，２２１ｂ，２０２ｂ，４２２ｂ，４２３ｂ  スレーブ軸識別番号、１２１ｃ，２２２ｃ，２２１ｃ，２０２ｃ，４２２ｃ，４２３ｃ  実行許可情報、１２１ｄ，２２２ｄ，４２２ｄ  カム番号、１２２，２２１，４２３  ギア制御モジュール、１２２ｄ，２２１ｄ，４２３ｄ  ギア比、１２３ａ〜１２３ｅ，２２３ａ〜２２３ｄ，３２１ａ〜３２１ｅ、４２４ａ〜４２４ｅ、６２１ａ〜６２２ａ  機構要素図、４２１  タイマモジュール、６２１  クラッチ制御モジュール、６２２  差動制御モジュール。
【要約】
表示支援プログラム１２ｂは、動作の基準となるマスタ軸の識別情報及びマスタ軸に連動するスレーブ軸の識別情報を入力変数とするソフトウェアモジュールが複数組み合わされて構成されるとともにＦＢＤによって記述された同期制御プログラム１２ｄから同期パラメータ１２ｆを読み出すパラメータ読出ステップＳ１１と、パラメータ読出ステップＳ１１によって読み出した同期パラメータ１２ｆに対応する機構要素図１２３ａ〜１２３ｅを選択する機構要素図選択ステップＳ１２と、機構要素図選択ステップＳ１２によって選択した機構要素図１２３ａ〜１２３ｅを組み合わせて機構図１２ｇを生成する機構図生成ステップＳ１３〜Ｓ１６と、機構図生成ステップＳ１３〜Ｓ１６によって生成した機構図１２ｇを表示装置１４の表示画面１４ａに表示する表示ステップＳ１６と、をコンピュータ１０に実行させる。【図１】
0006840288.tif 000002
【図２】
0006840288.tif 000003
【図３】
0006840288.tif 000004
【図４】
0006840288.tif 000005
【図５】
0006840288.tif 000006
【図６】
0006840288.tif 000007
【図７】
0006840288.tif 000008
【図８】
0006840288.tif 000009
【図９】
0006840288.tif 000010
【図１０】
0006840288.tif 000011
【図１１】
0006840288.tif 000012
【図１２】
0006840288.tif 000013
【図１３】
0006840288.tif 000014
【図１４】
0006840288.tif 000015
【図１５】
0006840288.tif 000016
【図１６】
0006840288.tif 000017
【図１７】
0006840288.tif 000018
【図１８】
0006840288.tif 000019
【図１９（ａ）】
0006840288.tif 000020
【図１９（ｂ）】
0006840288.tif 000021
【図２０（ａ）】
0006840288.tif 000022
【図２０（ｂ）】
0006840288.tif 000023
【図２１】
0006840288.tif 000024
【図２２】
0006840288.tif 000025
【図２３】
0006840288.tif 000026