(57)【要約】【目的】産業用ロボットにおいて，ブレーキ駆動装置を，ブレーキ以外のオン，オフ駆動機器の駆動のために活用する。【構成】ブレーキ駆動装置をブレーキ駆動用として使うか，ブレーキ以外のオン，オフ駆動機器の駆動用として使うかを示す制御モードのデータを当該軸について記憶しておく。移動命令に基づく制御に際して，制御モードのデータが当該軸についてブレーキ駆動の制御を指示している場合に，ブレーキ制御処理を行い，当該軸に関連するオン，オフ制御命令に基づく制御に際して，制御モードのデータがブレーキ以外のオン，オフ駆動機器の駆動の制御を指示している場合に，ブレーキ制御処理を行う。【選択図】図５
2015168018.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１軸について，モータ駆動装置に加えてブレーキ駆動装置が備えられている産業用ロボットを制御する方法であり，
ブレーキ駆動装置をブレーキ駆動用として使うか，ブレーキ以外のオン，オフ駆動機器の駆動用として使うかを示す制御モードのデータを当該軸について記憶しておき，
移動命令に基づく制御に際して，上記制御モードのデータを参照して，制御モードのデータが当該軸についてブレーキ駆動の制御を指示している場合に，ブレーキ制御処理を行い，
当該軸に関連するオン，オフ制御命令に基づく制御に際して，上記制御モードのデータを参照して，制御モードのデータがブレーキ以外のオン，オフ駆動機器の駆動の制御を指示している場合に，ブレーキ制御処理を行う，
産業用ロボットの制御方法。
【請求項２】
移動命令に基づく制御に際して，上記制御モードのデータを参照して，制御モードのデータが当該軸についてブレーキ駆動の制御を指示していない場合に，ブレーキ制御処理をスキップする，
請求項１に記載の産業用ロボットの制御方法。
【請求項３】
当該軸に関連するオン，オフ制御命令に基づく制御に際して，上記制御モードのデータを参照して，制御モードのデータがブレーキ以外のオン，オフ駆動機器の駆動の制御を指示していない場合に，ブレーキ制御処理をスキップする，
請求項１に記載の産業用ロボットの制御方法。
【請求項４】
オン，オフ制御命令に付随するオペランドが仮想ポート番号で表わされ，当該軸に対応する仮想ポート番号が記憶されており，この記憶に基づいて当該軸に関連するオン，オフ制御命令かどうかを判断する，
請求項１に記載の産業用ロボットの制御方法。
【請求項５】
少なくとも１軸について，モータ駆動装置に加えてブレーキ駆動装置が備えられている産業用ロボットを制御するシステムであり，
ブレーキ駆動装置をブレーキ駆動用として使うか，ブレーキ以外のオン，オフ駆動機器の駆動用として使うかを示す制御モードのデータを当該軸について記憶する記憶手段，
移動命令に基づく制御に際して，上記制御モードのデータを参照して，制御モードのデータが当該軸についてブレーキ駆動の制御を指示している場合に，ブレーキ制御処理を行う第１の制御手段，および
当該軸に関連するオン，オフ制御命令に基づく制御に際して，上記制御モードのデータを参照して，制御モードのデータがブレーキ以外のオン，オフ駆動機器の駆動の制御を指示している場合に，ブレーキ制御処理を行う第２の制御手段，
を備える産業用ロボットの制御システム。
【請求項６】
少なくとも１軸について，モータ駆動装置に加えてブレーキ駆動装置が備えられている産業用ロボットを制御するコントローラであって，ブレーキ駆動装置をブレーキ駆動用として使うか，ブレーキ以外のオン，オフ駆動機器の駆動用として使うかを示す制御モードのデータを当該軸について記憶する記憶装置を備えたコントローラのためのシステムプログラムであり，
移動命令に基づく制御に際して，上記制御モードのデータを参照して，制御モードのデータが当該軸についてブレーキ駆動の制御を指示している場合に，ブレーキ制御処理を行い，
当該軸に関連するオン，オフ制御命令に基づく制御に際して，上記制御モードのデータを参照して，制御モードのデータがブレーキ以外のオン，オフ駆動機器の駆動の制御を指示している場合に，ブレーキ制御処理を行うように該コントローラのコンピュータを制御するためのシステムプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は，少なくとも一軸についてブレーキが備えられ，ブレーキ駆動装置（回路）を有するタイプの産業用ロボットの制御方法，システムおよびプログラムに関し，さらに詳しくは，ブレーキ駆動装置（回路）を，他の機器のオン，オフ駆動にも活用するための制御方法，システムおよびプログラムに関する。
【背景技術】
【０００２】
産業用ロボットには，複数本の軸が直交している直交型，各軸が回動するスカラ型，一軸のみのもの，軸の先端に回転軸を有するものなど，種々のタイプのものがあるが，一般には，これらの軸はサーボモータ（リニアモータを含む）によって駆動される。省電力を図るために，軸を静止させているときにはモータの励磁を解除してブレーキを作動させる構成のものもある。
【０００３】
産業用ロボットのブレーキ制御に関しては，従来からさまざまな工夫がなされている。たとえば特許文献１では，軸の停止状態が一定時間経過したときにサーボモータへの電力供給を停止し（励磁を解き）かつブレーキをかけるように制御している。特許文献２では教示データに基づいてブレーキで制動可能な軸に停止状態が発生する期間を割り出し，該軸について該期間においてモータへの電源供給を断ちかつブレーキをかける。特許文献３では，教示データ（位置指令）とは別に，サーボ・ブレーキ指令の一覧表を設けている。すなわち，教示データの行番号に対応してその行番号の教示データを実行するときにどの軸のブレーキをオン（またはオフ）するかをあらかじめ一覧表にしておくものである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第２７０９９３４号公報
【特許文献２】特開２０００−３０８９９０号公報
【特許文献３】特開２００５−３４９５３５号公報
【０００５】
ロボットの制御装置（コントローラ）には，汎用性をもたせるために，軸ごとに，各軸のモータを駆動するモータ駆動装置（回路）（モータ・ドライバ）とブレーキを駆動するブレーキ駆動装置（回路）が対として備えられているものが多い。ブレーキによる制動ないしは停止状態の保持を必ずしも行なわなくても良い軸もあるが，その場合にはブレーキ駆動装置は利用されない。
【０００６】
ブレーキの制御ないしは駆動はオン，オフである。もし，ブレーキ駆動装置が活用されていないときにオン，オフのみで駆動できる機器があれば，そして，それをブレーキ駆動装置で駆動できるならば，その機器のための駆動装置をわざわざ設けなくてもすむ。
【発明の開示】
【０００７】
この発明はブレーキ駆動装置をブレーキ以外のオン，オフ駆動機器の駆動のために活用できるようにすることを目的とするものである。
【０００８】
この発明は，少なくとも１軸について，モータ駆動装置に加えてブレーキ駆動装置が備えられている産業用ロボットを制御する方法であり，ブレーキ駆動装置をブレーキ駆動用として使うか，ブレーキ以外のオン，オフ駆動機器の駆動用として使うかを示す制御モードのデータを当該軸について記憶しておき，移動命令に基づく制御に際して，上記制御モードのデータを参照して，制御モードのデータが当該軸についてブレーキ駆動の制御を指示している場合に，ブレーキ制御処理を行い，当該軸に関連するオン，オフ制御命令に基づく制御に際して，上記制御モードのデータを参照して，制御モードのデータがブレーキ以外のオン，オフ駆動機器の駆動の制御を指示している場合に，ブレーキ制御処理を行うものである。
【０００９】
この発明はまた，上記産業用ロボットを制御するシステムも提供しており，この制御システムは，ブレーキ駆動装置をブレーキ駆動用として使うか，ブレーキ以外のオン，オフ駆動機器の駆動用として使うかを示す制御モードのデータを当該軸について記憶する記憶手段，移動命令に基づく制御に際して，上記制御モードのデータを参照して，制御モードのデータが当該軸についてブレーキ駆動の制御を指示している場合に，ブレーキ制御処理を行う第１の制御手段，および当該軸に関連するオン，オフ制御命令に基づく制御に際して，上記制御モードのデータを参照して，制御モードのデータがブレーキ以外のオン，オフ駆動機器の駆動の制御を指示している場合に，ブレーキ制御処理を行う第２の制御手段を備えるものである。
【００１０】
この発明はさらに，上記制御システム（コントローラ）のためのシステムプログラムを提供している。このシステムプログラムは，上記制御システムが，ブレーキ駆動装置をブレーキ駆動用として使うか，ブレーキ以外のオン，オフ駆動機器の駆動用として使うかを示す制御モードのデータを当該軸について記憶する記憶装置を備えていることを前提とする。このシステムプログラムは，移動命令に基づく制御に際して，上記制御モードのデータを参照して，制御モードのデータが当該軸についてブレーキ駆動の制御を指示している場合に，ブレーキ制御処理を行い，当該軸に関連するオン，オフ制御命令に基づく制御に際して，上記制御モードのデータを参照して，制御モードのデータがブレーキ以外のオン，オフ駆動機器の駆動の制御を指示している場合に，ブレーキ制御処理を行うように該制御システムのコンピュータを制御するためのものである。
【００１１】
この発明によると，ブレーキ駆動装置をブレーキ駆動用として使うか，ブレーキ以外のオン，オフ駆動機器の駆動用として使うかを示す制御モードのデータを当該軸について記憶しておき，移動命令に基づく制御に際して，上記制御モードのデータを参照して，ブレーキ駆動装置をブレーキ駆動用として使うか，ブレーキ以外のオン，オフ駆動装置の駆動用として使うかを判断することができる。さらに，制御モードのデータが当該軸についてブレーキ駆動の制御を指示している場合には，ブレーキ制御処理を行う。
【００１２】
また，ブレーキ以外の他のオン，オフ機器のためにブレーキ駆動装置を使う場合には，移動命令以外のオン，オフ制御命令を使うことができる。そして，当該軸に関連するオン，オフ制御命令に基づく制御に際して，上記制御モードのデータを参照して，制御モードのデータがブレーキ以外のオン，オフ駆動機器の駆動の制御を指示している場合に，ブレーキ制御処理を行う。
【００１３】
このようにして，この発明によると，ブレーキ駆動装置をブレーキ以外のオン，オフ機器の駆動に活用することが可能となる。
【００１４】
この発明の一実施態様では，移動命令に基づく制御に際して，上記制御モードのデータを参照して，制御モードのデータが当該軸についてブレーキ駆動の制御を指示していない場合には，ブレーキ制御処理をスキップする。
【００１５】
さらに，他の実施態様では，当該軸に関連するオン，オフ制御命令に基づく制御に際して，上記制御モードのデータを参照して，制御モードのデータがブレーキ以外のオン，オフ駆動機器の駆動の制御を指示していない場合には，ブレーキ制御処理をスキップする。
【００１６】
さらに他の実施態様では，オン，オフ制御命令に付随するオペランドを仮想ポート番号で記述することができる。この場合には，当該軸に対応する仮想ポート番号を記憶しておく。この記憶に基づいて当該軸に関連するオン，オフ制御命令かどうかを判断することができる。
【図面の簡単な説明】
【００１７】
【図１】産業用ロボットの一部および産業用ロボットの制御システムの電気的構成の概要を示すブロック図。
【図２】制御モードテーブルを示す。
【図３】仮想出力ポートテーブルを示す。
【図４】ユーザプログラムの一例を示す。
【図５】システムプログラムによる動作を示すフローチャート。
【図６】図１に示す第４軸のヘッドの構成例を示す断面図。
【実施例】
【００１８】
図１は産業用ロボットの一部および産業用ロボットの制御システムの電気的構成の概要を示すブロック図である。
【００１９】
この実施例の産業用ロボットは４つの軸を有している（または，産業用ロボットの４つの軸のみが示されている）。これらの軸を，第１軸（Ｘ軸），第２軸（Ｙ軸），第３軸（Ｚ軸）および第４軸（θ軸，回転軸）とする。第１，第２および第３軸は互いに直交している。第４軸は後述するところから明らかになるように第３軸に設けられている。直交三軸と回転軸を有する産業用ロボットが示されているが，直交二軸と回転軸を有するもの，一軸と回転軸を有するもの，スカラ型のロボット等，上記以外のタイプの産業用ロボットにも適用可能であるのはいうまでもない。
【００２０】
各軸はモータ（リニアモータを含む）によって駆動される。これらのモータが符号41〜44で示されている。これらのモータのうち，モータ41，42，44にはブレーキが設けられていない。モータ43にはブレーキ53が設けられている。モータ43はブレーキと一体化されたブレーキ付モータでもよいし，ブレーキがモータとは別体のものでもよい。モータ41，42，44もブレーキ付モータでもよいが，この場合にはブレーキは制御，駆動の対象にならない（たとえば，ブレーキを駆動するためのケーブルが外されている）。
【００２１】
第４軸については，詳しくは後述するが，１つのヘッド60にモータ44とソレノイド54（ブレーキ以外のオン，オフ駆動機器）が設けられている。ソレノイド54がブレーキ駆動装置（回路）によって駆動される。ソレノイド54はブレーキと同じようにオン，オフ駆動されるものである。また，ブレーキ用の駆動装置を流用して駆動することができるように，ブレーキと同じ（または，近い）定格電圧で動作するものであり，定格電流もブレーキの定格電流と同じか，それに近いことが好ましい。一般に，ブレーキ付モータを駆動する場合に，モータの駆動ラインとブレーキの駆動ラインが必要である。この実施例ではモータ44の駆動ラインとソレノイド54の駆動ラインとを設ければよいから，ブレーキ付モータを駆動する場合と同じ配線（ケーブル）ですむことになる。
【００２２】
このような産業用ロボットを制御するコントローラ（制御システム）10は，後述する制御モードテーブル（図２），仮想出力ポートテーブル（図３）およびシステムプログラムの一部（図５）を除き，既に知られたコントローラと同じ電気的構成およびソフトウェア構成を有する。
【００２３】
コントローラ10は汎用性を持たせるために複数対のモータ駆動装置（回路）21〜24とブレーキ駆動装置（回路）31〜34を備えている。図１には三直交軸プラス一回転軸の産業用ロボットにあわせて４対のモータ，ブレーキ駆動装置が示されているが，６対，８対，12対等，任意の対数の駆動装置を備えることができる。もちろん，この実施例の産業用ロボット専用としてブレーキ駆動装置31，32を省略してもよい。
【００２４】
コントローラ10は命令解析部11，記憶部12およびサーボ処理部13を備えている。産業用ロボットをユーザの意図に沿うように制御するためにユーザが作成するプログラムをユーザプログラムといい，このユーザプログラムを解釈してコントローラ10を動作させるのがシステムプログラムである。記憶部12にはこれらのシステムプログラムとユーザプログラムが格納されている。また記憶部12には後述する制御モードテーブル（図２）と仮想出力ポートテーブル（図３）が格納されている。命令解析部11はシステムプログラムにしたがってユーザプログラムを解釈し，各種駆動装置を制御する。サーボ処理部13は，移動命令のようなモータを駆動するための命令の場合に，その命令にしたがってモータ駆動装置を制御するためのサーボ信号を発生する。これらの命令解析部11，サーボ処理部13は一または複数台のコンピュータ（ＣＰＵ）によって実現される。
【００２５】
第４軸（θ軸）のヘッド60の具体的構成例について図６を参照して説明しておく。
【００２６】
図６に示されるヘッド60は回転型把持ユニット（装置）である。この回転型把持ユニット60はプレート（支持体またはフレーム）61を備え，このプレート61が産業用ロボットの先端部に取付けられる。たとえば，三軸直交ロボットの場合にはそのＺ軸の上下動する可動体に取付けられる。他の形態の産業用ロボット，たとえば一軸または二軸ロボットの場合にはそのＸ軸またはＹ軸の水平方向に動く可動体に，スカラ・ロボットの場合にはその先端アームの先端部などにプレート61を介して回転型把持ユニット60が取付けられる。最も一般的にはユニット60はプレート61が水平となる姿勢で取付けられ，かつ利用されるので，以下の記述では上下方向は図６を基準にする。
【００２７】
回転型把持ユニット60の一方の半分（図６において右半分）の場所には，プレート61に穴61Ａが形成され，この穴61Ａの周縁に回転軸45を下向きにしてモータ44が固定されている。このモータ44には，その回転量または回転角度位置を検出するロータリ・エンコーダ46が設けられている。モータ44の回転軸（出力軸）45は穴61Ａを通ってプレート61の下側にまで突出している。そして，プレート61の下側において回転軸45にはプーリ47が固定されている。プーリ47には歯が形成され，タイミング・ベルト48が掛けられている。
【００２８】
回転型把持ユニット60の他方の半分（図６において左半分）の場所において，プレート61は円筒状に盛上り，エンボス部（またはボス部，凸部）61Ｂが形成されている。このエンボス部61Ｂの円筒内空間に軸受装置70が配置されかつ固定されている。軸受装置70はボール・ベアリングであり，ボール71，そのリティナー，上下のベアリング押さえ72，73などから構成され，その内部に回転軸（回転体）81を，回転自在にかつ，軸方向に移動しないように支持している。
【００２９】
回転軸81は中空の円筒状の部分（円筒部）を有し，この円筒状の部分の上端はプレート61のエンボス部61Ｂの上面付近にあり，下部は軸受装置70よりも下方に突出し，プレート61の下面より突出した部分にプーリ77が固定されている。プーリ77にタイミング・ベルト48が掛けられている。したがって，回転軸81は，プーリ47，77，タイミング・ベルト48を介してモータ44によって回転駆動される。
【００３０】
回転軸81の下部は，プーリ77が設けられている位置よりもさらに下方に突出し，この下方に突出した部分には，後述する把持機構80を配置する空間を形成するように，箱形のフレーム82が一体的に形成されている。
【００３１】
回転軸81の円筒部の下半部の内面にはすべり軸受74が固定的に設けられ，このすべり軸受74内にジョイント部材83が上下方向に移動自在に収められている。このジョイント部材83は後述するスプリング88の力によって間接的に上方に付勢されている。
【００３２】
プレート61の軸受70を内部に収めるエンボス部61Ｂの上にはプランジャ形ソレノイド54が設けられている。このソレノイド54がブレーキ以外のオン，オフ駆動機器の一例である。エンボス部61Ｂの上端の平坦な面には，ソレノイド取付枠55が固定され，この取付枠55内にプランジャ形ソレノイド54が垂直な姿勢で固定的に取付けられている。ソレノイド54の可動鉄芯56の下端には押棒57が取付けられ，回転軸81の中空空間内を，内壁との間に間隙をあけて軸方向下方に伸びている。押棒57の下端には合成樹脂製のキャップ57ａが取付けられている。キャップ57ａはジョイント部材83の上端面に当っている。
【００３３】
ジョイント部材83は回転軸81や把持機構80とともに回転する。他方，ソレノイド54は取付枠55に固定され，取付枠55はプレート61（エンボス部61Ｂ）に固定されている。ソレノイド54の可動鉄芯56はその軸方向に移動する。そして可動鉄芯56が回転可能であったとしても回転しない方が好ましい。滑らかな表面を持つキャップ57ａがジョイント部材83の上端面に接することにより，ジョイント部材83が回転してもその回転力は可動鉄芯56には伝達し難くなっている。
【００３４】
把持機構80について説明する。把持機構80は２つの把持リンク84Ａ，84Ｂを備えている。把持機構80のフレーム82の２つの対向する側壁間に２つの枢支ピン85Ａ，85Ｂが固定され，この枢支ピン85Ａ，85Ｂに把持リンク84Ａ，84Ｂが回転自在に取付けられている。把持リンク84Ａ，84Ｂはそれぞれ枢支ピン85Ａ，85Ｂの位置から内方に（互いに向い合う方向に）伸びるアーム部分を有し，それらのアーム部分の先端部にＵ状の切欠84ａ，84ｂがそれぞれ形成されている。
【００３５】
他方，ジョイント部材83の下端部には駆動ピン86が通り，かつ固定されている。駆動ピン86はジョイント部材83の両側に突出し，把持リンク84Ａ，84Ｂの内方にのびるアーム部分のＵ状切欠84ａ，84ｂ内にそれぞれ回動可能に嵌っている。
【００３６】
把持リンク84Ａ，84Ｂは，枢支ピン85Ａ，85Ｂの位置よりも下方に延びるアーム部分を有し，このアーム部分は下端で互いの方向に向うように屈曲している。把持リンク84Ａ，84Ｂの下端部が対象物を把持する部分である。すなわち，把持リンク84Ａ，84Ｂは，後述するように，その下端部が互いに接近，離間する方向に駆動される。必要に応じて，把持リンク84Ａ，84Ｂには，把持する対象物に適した把持具（チャック，把持爪）が取付けられる。
【００３７】
フレーム82の壁には把持リンク84Ａ，84Ｂに対向する位置に凹所87が形成され，この凹所87内にスプリング（付勢部材）88が収められている。スプリング88は把持リンク84Ａ，84Ｂの枢支ピン85Ａ，85Ｂよりも下方にのびるアーム部分に当り，把持リンク84Ａ，84Ｂを内方に押している（付勢している）。
【００３８】
図６に図示の状態は，ソレノイド54の励磁コイルに通電を停止している状態（オフ状態）である。このとき，２つのスプリング88が把持リンク84Ａ，84Ｂの枢支ピン85Ａ，85Ｂよりも下方にのびるアーム部分を内方に向って押しているので，把持リンク84Ａ，84Ｂの下端部の内方に屈曲した部分は互いに最も接近した状態である。これは，対象物を把持リンク84Ａ，84Ｂにより把持した状態である。ソレノイド54の鉄芯56はスプリング88の付勢力により上昇するが，その上端が取付枠55の天板のゴムシート56ａに当って止まる。
【００３９】
ソレノイド54の励磁コイルに通電すると（オン状態），その鉄芯56はスプリング88の付勢力に抗して下方に下り，ジョイント部材83も下方の位置に下る。このとき，把持リンク84Ａ，84Ｂの下端部の屈曲した先端は互いに最も離れた状態にある（図６に鎖線で示す）。これは把持した対象物を離す（把持の解除）ことを意味する。
【００４０】
上記のソレノイド54による把持動作，把持解除動作とモータ44による回転軸81（すなわち把持機構80）の回転動作とは相互に独立しており，互いに影響を及ぼさないから，対象物を把持した状態で把持機構80を回転させることも，対象物を離した状態で把持機構80を回転させることもできる。
【００４１】
図２に示す制御モードテーブルは，第１〜第４軸の各軸について，ブレーキ出力制御モードのデータと，ブレーキ装着の有無のデータとを有する。ブレーキ出力制御モードのデータは，各軸について，ブレーキ駆動装置（ブレーキ駆動装置の有無にかかわらず）を，ブレーキ駆動用として使うか（「ブレーキ制御」といい，データは「０」である），ソレノイド駆動用として（すなわちブレーキ以外のオン，オフ機器の駆動用として）使うか（「ユーザ制御」といい，データは「１」である）を示す。ブレーキ装着の有無のデータは文字通りブレーキが装着されているかどうかを示すもので，「０」は装着されていないことを（現実に装着されていたとしても制御しない場合にも「０」とされる），「１」は装着されていることを（制御することを）示す。
【００４２】
図３に示す仮想出力ポートテーブルは，後述するＢＴ命令（オン，オフ出力命令）（オン，オフ制御命令）で使用する仮想出力ポート番号（NO. ）と現実のロボット軸との対応関係を示すものである。ここでは仮想出力ポート NO.７３０４が第４軸に対応することが記述されている。
【００４３】
図４はユーザプログラムの一例を示す。便宜的に左側に行番号が，右側に意味が記述されている。このユーザプログラムは，行番号００３から説明するとヘッド60を取出位置（座標は（ｘ1，ｙ1））に移動し，そこで把持機構80を角度θ（たとえば90°）回転させ（００４），その後，ヘッド60を下降して（高さの座標はｚ1 ）（００５），取出位置にある対象物を把持機構80で把持し（００６），さらにヘッド60を上昇して（高さの座標はｚ2）（００７），ヘッドを排出位置（座標は（ｘ2，ｙ2））に移動して（００８）排出位置上方でヘッド60を逆回転させ（角度−θ）（００９），ヘッド60を下降し（高さはｚ1 ）（０１０），そこで把持を解除して対象物を排出し（０１１）（００１），さらにヘッドを上昇（高さはｚ2 ）させる（０１２）（００２）一連の動作を行なわせるものである。一般には，行番号０１０から行番号００１に戻る繰返しルーチンである（行番号０１１，０１２は不要）。
【００４４】
行番号００１，０１１の命令「ＢＴＯＮ  ７３０４」は，オン，オフ出力インストラクション「ＢＴＯＮ」と仮想出力ポートNO. を表わすオペランド「７３０４」とから構成され，仮想出力ポート NO.７３０４，現実には第４軸（図３参照）のブレーキ駆動装置にオン信号を出力せよという命令である。行番号００６の命令「ＢＴＯＦ  ７３０４」は上記出力をオフせよという命令である。
【００４５】
この実施例では移動命令はＭＯＶＰというインストラクションで表わされている。移動命令はポイント・ツー・ポイント命令や，複数軸（たとえばＸ，Ｙ座標）について同時に移動を完了する移動を表わす命令や，弧を描いて移動すべきことを表わす命令など，さまざまな種類があるが，ＭＯＶＰが上記の移動命令のいずれを示しているかは問わないものとする。また，簡便のためにＭＯＶＰというインストラクションの後に，目標位置を示す座標を示すオペランドを記述するという形式で表現することとする。
【００４６】
行番号００３の「ＭＯＶＰ  ｘ1，ｙ1」は第１軸，第２軸を駆動してヘッド60を取出位置（ｘ1，ｙ1）へ移動させる命令であり，行番号００８の「ＭＯＶＰ  ｘ2，ｙ2」はヘッド60を排出位置（ｘ2，ｙ2）に移動させる命令である。行番号００５，０１０の「ＭＯＶＰ  ｚ1」は，第３軸を駆動してヘッドを高さ位置ｚ1まで移動（下降）させる命令，行番号００２，００７の「ＭＯＶＰ  ｚ2」はヘッドを高さ位置ｚ2まで移動（上昇）させる命令である。行番号００４の「ＭＯＶＰ  θ1」，行番号００９の「ＭＯＶＰ  −θ1」はそれぞれ第４軸を駆動してヘッド60を角度θ1，−θ1，回転させる命令である。
【００４７】
このようなユーザプログラムを解析してコントローラ10を制御するシステムプログラムの例が図５に示されている。
【００４８】
記憶部12からユーザプログラムを１命令ずつ読出し（Ｓ11），その命令がどのような命令であるかを解釈して（Ｓ12），解釈した命令に応じて処理に進む。
【００４９】
ＭＯＶＰ命令にはブレーキ制御も付随している。ＭＯＶＰ命令の場合には，該当する（制御，駆動すべき）軸のサーボがオン（モータが励磁されている）かどうかを判断して（Ｓ21），オンになっていなければ，サーボをオンする（Ｓ21）。サーボがオンとなっていれば，ブレーキ解除を行う必要はないから（ブレーキがオンになっていることはあり得ないから）ただちに，ＭＯＶＰ命令にしたがう移動処理を行う（Ｓ26）。移動処理においては，サーボ処理部13がモータのサーボ駆動信号（速度指令，位置指令等）を生成して，対応するモータ駆動装置に信号を与える。
【００５０】
サーボがオフの場合には，モータを励磁して（サーボオン）（Ｓ22），制御モードテーブル（図２）を参照する。ＭＯＶＰ命令で駆動すべき軸について，ブレーキ出力制御モードのデータが０か１か，ブレーキ装着のデータが０か１かを判断する（Ｓ23，Ｓ24）。ブレーキ出力制御モードのデータが０で（Ｓ23でＹ），ブレーキ装着データが１（Ｓ24でＹ）の場合のみ，ブレーキ制御処理（Ｓ25）を行う。このブレーキ制御処理（Ｓ25）は該当する軸のブレーキ駆動装置によりブレーキに通電してブレーキ（制動）を解除することである。これにより，該当する軸は動きうる状態となるから，移動処理（Ｓ26）に進むことができる。なお，移動処理（Ｓ26）の最終ステップでブレーキをかける。
【００５１】
ブレーキ出力制御モードのデータが１の場合（ユーザ制御の場合）（Ｓ23でＮ）や，ブレーキ装着のデータが０の場合（非装着の場合）には，ブレーキ制御処理はスキップである。
【００５２】
解釈した命令がＢＴ命令の場合には，ＢＴ命令のオペランドが出力ポート NO.７３０４かどうかを判断し（Ｓ31），そうであれば（Ｓ31でＹ），仮想出力ポートテーブル（図３）を参照して，出力ポート NO.７３０４に対応する現実の軸が第４軸であることを認識し，その第４軸について制御モードテーブル（図２）のブレーキ出力制御モードのデータが１であるかどうかをみる。このデータが１であれば（Ｓ32でＹ）「ユーザ制御」であるから，該当する（第４軸の）ブレーキ駆動装置34を，ＢＴ命令（ＢＴＯＮかＢＴＯＦか）に応じて，駆動するか，駆動を停止する（Ｓ33）。これにより，ソレノイド54が動作し，または動作を停止し，対象物の把持を解除するか，対象物を把持する。
【００５３】
該当する軸についてブレーキ出力制御モードのデータが０の場合には（Ｓ32でＮ），ブレーキ制御処理は行なわない。また，ＢＴ命令のオペランドが出力ポート NO.７３０４以外の場合には，他の処理に進む。
【００５４】
以上のようにして，制御モードテーブルを設け，このテーブルにブレーキ出力制御モードのデータを格納しておいて，ブレーキ制御を行うか，ブレーキ以外の他の機器のオン，オフ制御（ユーザ制御）を行うかを事前に定めているから，移動命令が与えられたときに，ブレーキ駆動装置をブレーキ駆動に使うのか，それ以外のオン，オフ機器の駆動に使うのかをコントローラが判断して制御することができる。ブレーキ以外の他のオン，オフ機器のためにブレーキ駆動装置を使う場合には，移動命令以外のオン，オフ制御命令を用いることができ，このオン，オフ制御命令に関連する軸について，ブレーキ出力制御モードがユーザモードであればブレーキ駆動装置を制御して，オン，オフ制御命令に応じてブレーキ駆動装置の動作を行なわせることができる。
【００５５】
したがって，ブレーキ駆動装置をブレーキ以外のオン，オフ機器の駆動に活用することが可能となる。
【００５６】
仮想出力ポートテーブルを設けることにより，オン，オフ制御命令のオペランドとして現実の軸ではなく仮想出力ポート番号を用いることができるので，ティーチング時等において使い勝手が向上する。
【符号の説明】
【００５７】
10  コントローラ（制御システム）
11  命令解析部
12  記憶部
21，22，23，24  モータ駆動装置（回路）
31，32，33，34  ブレーキ駆動装置（回路）
41，42，43，44  モータ
53  ブレーキ
54  ソレノイド（ブレーキ以外のオン，オフ機器）
60  ヘッド
【図１】
2015168018.tif 000003
【図２】
2015168018.tif 000004
【図３】
2015168018.tif 000005
【図４】
2015168018.tif 000006
【図５】
2015168018.tif 000007
【図６】
2015168018.tif 000008