(57)【要約】【課題】操作機器側の演算処理機能の有無に拘わらず異常原因の解析が容易な分散制御システムの軸操作装置を提供する。【解決手段】オペレータが軸操作機器３９を操作すると操作状態が操作判別部３３により操作方向と操作量とに解析された操作入力値として演算部３８に渡される。演算部３８は操作入力値を操作入力値記録部４１に書き込み、操作値・速度変換部２９のテーブルにより操作入力値に対応するアクチュエータの移動速度値を算出して移動速度値記録部４２に書き込み、アクチュエータの移動目標座標値を移動速度値とタイマ部３７の周期時間との乗算で算出して移動目標座標値記録部４３に書き込み、アクチュエータ制御装置２２から通信で得られるモータ動作状態値に基づいてアクチュエータ制御装置２２に対する制御命令を作成して通信コントローラ２４に渡すと共にその制御命令と通信により得られるモータの現在位置座標値を制御状態記録部４５に書き込む。【選択図】　図１
2004038855.tif 000002
【特許請求の範囲】
【請求項１】
シリアル通信ラインを介して複数のアクチュエータ制御装置に接続され、該複数のアクチュエータに対し個別に制御を行なう分散制御システムにおける軸操作装置であって、
手動操作される複数の軸操作機器との接続手段と、
前記アクチュエータ制御装置の現在位置座標とアクチュエータ状態を読み取る読取手段と、
前記軸操作機器に対して手動操作された操作入力値に基づいて移動速度値と移動目標座標とを算出する算出手段と、
所定時間毎のタイマ割込み信号に応答して前記移動速度値をアクチュエータ移動命令に変換しながら、該アクチュエータ移動命令に対応する前記アクチュエータ制御装置に対し前記アクチュエータ移動命令を前記シリアル通信ラインを介して出力する通信手段と、
手動操作される複数の前記軸操作機器からの前記操作入力値、前記算出手段により算出される前記移動速度値及び前記移動目標座標値、通信手段により出力される前記アクチュエータ制御命令、前記読取手段により読み取られる前記アクチュエータ制御装置の現在位置座標値及び前記アクチュエータ状態、の中の少なくともいずれか一つの制御情報を記録する記録手段と、
該記録手段に記録された前記制御情報を前記シリアル通信ラインとは異なる通信ラインを介して接続された外部装置に出力する出力手段と、
を具備した事を特徴とする軸操作装置。
【請求項２】
シリアル通信ラインを介して複数のアクチュエータ制御装置に接続され、該複数のアクチュエータに対し個別に制御を行なう分散制御システムにおける軸操作装置であって、
手動操作される複数の軸操作機器との接続手段と、
前記アクチュエータ制御装置の現在位置座標とアクチュエータ状態を読み取る読取手段と、
前記軸操作機器に対して手動操作された操作入力値に基づいて移動速度値と移動目標座標とを算出する算出手段と、
所定時間毎のタイマ割込み信号に応答して前記移動速度値をアクチュエータ移動命令に変換しながら、該アクチュエータ移動命令に対応する前記アクチュエータ制御装置に対し前記アクチュエータ移動命令を前記シリアル通信ラインを介して出力する通信手段と、
手動操作される複数の前記軸操作機器からの前記操作入力値、前記算出手段により算出される前記移動速度値及び前記移動目標座標値、通信手段により出力される前記アクチュエータ制御命令、前記読取手段により読み取られる前記アクチュエータ制御装置の現在位置座標値及び前記アクチュエータ状態、の中の少なくともいずれか一つの制御情報を取得し、該取得した制御情報を前記アクチュエータ制御装置とは異なる外部装置に出力する出力手段と、
を具備したことを特徴とする軸操作装置。
【請求項３】
複数の前記軸操作機器は、前記シリアル通信ラインとは別系統の通信手段を介して接続されることを特徴とする請求項１又は２記載の軸操作装置。
【請求項４】
シリアル通信ラインを介して複数のアクチュエータ制御装置に軸操作装置を接続し、該軸操作装置により前記複数のアクチュエータに対し個別に制御を行なう分散制御システムにおける軸操作方法であって、
前記軸操作装置に、手動操作される複数の軸操作機器を接続し、
前記軸操作装置により、少なくとも
前記アクチュエータ制御装置の現在位置座標とアクチュエータ状態を読み取らせる読取工程と、
前記軸操作機器に対して手動操作された操作入力値に基づいて移動速度値と移動目標座標とを算出させる工程と、
所定時間毎のタイマ割込み信号に応答して前記移動速度値をアクチュエータ移動命令に変換しながら、該アクチュエータ移動命令に対応する前記アクチュエータ制御装置に対し前記アクチュエータ移動命令を前記シリアル通信ラインを介して出力する通信工程と、
手動操作される複数の前記軸操作機器からの前記操作入力値、前記算出工程により算出される前記移動速度値及び前記移動目標座標値、通信工程により出力される前記アクチュエータ制御命令、前記読取工程により読み取られる前記アクチュエータ制御装置の現在位置座標値及び前記アクチュエータ状態、の中の少なくともいずれか一つの制御情報を記録する記録工程と、
該記録工程により記録された前記制御情報を前記シリアル通信ラインとは異なる通信ラインを介して接続された外部装置に出力する出力工程と、
を含むことを特徴とする軸操作方法。
【請求項５】
シリアル通信ラインを介して複数のアクチュエータ制御装置に軸操作装置を接続し、該軸操作装置により前記複数のアクチュエータに対し個別に制御を行なう分散制御システムにおける軸操作方法であって、
前記軸操作装置に、手動操作される複数の軸操作機器を接続し、
前記軸操作装置により、少なくとも
前記アクチュエータ制御装置の現在位置座標とアクチュエータ状態を読み取らせる読取工程と、
前記軸操作機器に対して手動操作された操作入力値に基づいて移動速度値と移動目標座標とを算出させる算出工程と、
所定時間毎のタイマ割込み信号に応答して前記移動速度値をアクチュエータ移動命令に変換しながら、該アクチュエータ移動命令に対応する前記アクチュエータ制御装置に対し前記アクチュエータ移動命令を前記シリアル通信ラインを介して出力する通信工程と、
手動操作される複数の前記軸操作機器からの前記操作入力値、前記算出工程により算出される前記移動速度値及び前記移動目標座標値、通信工程により出力される前記アクチュエータ制御命令、前記読取工程により読み取られる前記アクチュエータ制御装置の現在位置座標値及び前記アクチュエータ状態、の中の少なくともいずれか一つの制御情報を取得し、該取得した制御情報を前記アクチュエータ制御装置とは異なる外部装置に出力する出力工程と、
を含むことを特徴とする軸操作方法。
【請求項６】
複数の前記軸操作機器は、前記シリアル通信ラインとは別系統の通信手段を介して接続されることを特徴とする請求項４又は５記載の軸操作方法。
【請求項７】
シリアル通信ラインを介して複数のアクチュエータ制御装置に軸操作装置を接続した分散制御システムにおいて、前記軸操作装置に手動操作される複数の軸操作機器を接続し、前記軸操作装置のコンピュータに、前記複数のアクチュエータに対し個別に制御を行なう軸操作処理を実行させる軸操作プログラムであって、
前記アクチュエータ制御装置の現在位置座標とアクチュエータ状態を読み取らせる読取処理と、
前記軸操作機器に対して手動操作された操作入力値に基づいて移動速度値と移動目標座標とを算出させる算出処理と、
所定時間毎のタイマ割込み信号に応答して前記移動速度値をアクチュエータ移動命令に変換しながら、該アクチュエータ移動命令に対応する前記アクチュエータ制御装置に対し前記アクチュエータ移動命令を前記シリアル通信ラインを介して出力する通信処理と、
手動操作される複数の前記軸操作機器からの前記操作入力値、前記算出処理により算出される前記移動速度値及び前記移動目標座標値、前記通信処理により出力される前記アクチュエータ制御命令、前記読取処理により読み取られる前記アクチュエータ制御装置の現在位置座標値及び前記アクチュエータ状態、の中の少なくともいずれか一つの制御情報を記録する記録処理と、
該記録処理により記録された前記制御情報を前記シリアル通信ラインとは異なる通信ラインを介して接続された外部装置に出力する出力処理と、
を前記コンピュータに実行させることを特徴とする軸操作プログラム。
【請求項８】
シリアル通信ラインを介して複数のアクチュエータ制御装置に軸操作装置を接続した分散制御システムにおいて、前記軸操作装置に手動操作される複数の軸操作機器を接続し、前記軸操作装置のコンピュータに、前記複数のアクチュエータに対し個別に制御を行なう軸操作処理を実行させる軸操作プログラムであって、
前記アクチュエータ制御装置の現在位置座標とアクチュエータ状態を読み取らせる読取処理と、
前記軸操作機器に対して手動操作された操作入力値に基づいて移動速度値と移動目標座標とを算出させる算出処理と、
所定時間毎のタイマ割込み信号に応答して前記移動速度値をアクチュエータ移動命令に変換しながら、該アクチュエータ移動命令に対応する前記アクチュエータ制御装置に対し前記アクチュエータ移動命令を前記シリアル通信ラインを介して出力する通信処理と、
手動操作される複数の前記軸操作機器からの前記操作入力値、前記算出処理により算出される前記移動速度値及び前記移動目標座標値、前記通信処理により出力される前記アクチュエータ制御命令、前記読取処理により読み取られる前記アクチュエータ制御装置の現在位置座標値及び前記アクチュエータ状態、の中の少なくともいずれか一つの制御情報を取得し、該取得した制御情報を前記アクチュエータ制御装置とは異なる外部装置に出力する出力処理と、
を前記コンピュータに実行させることを特徴とする軸操作プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、多数軸のアクチュエータ等の制御を行なうアクチュエータ制御装置に対してシリアル通信網を介して接続された分散制御システムにおける軸操作装置、軸操作方法、及び軸操作プログラムに関する。
【０００２】
【従来の技術】
従来より、例えば試料を観察するために使用される顕微鏡等の可動軸を駆動操作して位置決めする軸操作装置が知られている。
図６（ａ），（ｂ）　は、そのような従来の位置決め運転装置の構成を示す図である。同図は特開平１０−２１７１６８号公報に記載されているもので、同図（ａ），（ｂ）　に示すように、従来の位置決め運転装置は、教示装置１と位置決めコントローラ２とを通信線３を介して通信線側コネクタ３−１と位置決めコントローラ側コネクタ２−１とにより接続すると共に両者の接続を切り離す事が可能な構成となっている。
【０００３】
上記の位置決めコントローラ２には、ケーブル４−１と４−２との間にプログラマブルコントローラ５を介在させてホスト機器６が接続され、更にケーブル４−３を介して他の位置決めコントローラ２が接続されている。そして、それぞれの位置決めコントローラ２には、更に２本のケーブル７−１及び７−２を介してモータコントローラ８が接続され、モータコントローラ８が駆動するモータによって、ロボット９が動作する。ロボット９は、旋回可能な２本のアーム１０−１及び１０−２、上下動及び回転可能な手首軸１１、並びに手首軸１１に取り付けられたハンド１２を供えている。
【０００４】
同図（ａ），（ｂ）　に示す位置決め運転装置は、接続確認コマンドを所定時間毎に送信する手段と、教示装置１が無い運転モードに切り替える操作が行われた時にモード切り替えコマンドを送信する手段とを教示装置１に設け、また、接続確認コマンドを受信した時点から次の接続確認コマンドを受信する前に第１の設定時間が経過した時に接続エラーが発生したと判断する手段と、モード切り替えコマンドを受信した後は教示装置１の接続無しの運転モードに切り替えると共に、接続エラー判定処理を実行させない手段とを位置決めコントローラ２に設けたものである。
【０００５】
これにより、教示装置１と位置決めコントローラ２との間に用いる接続線の断線に代表される装置故障、オペレータが意識しないで教示装置１を位置決めコントローラ２から外してしまう等の事態が発生した場合に、オペレータが速やかに発生した事態の原因を確認することが出来る。加えてエラー状態として装置の運転を停止することが可能であるとしている。
【０００６】
図７は、複数のアクチュエータの制御が可能な分散制御システムに係わる軸操作装置の構成を示す図である。同図は本出願人になる特開２０００−１５５６０８号公報に記載されているもので、複数のアクチュエータの同時制御とアクチュエータの連続杓な制御が可能で、自由度の高い応答設定、高速かつ高精度な位置決めの達成が可能であるとして提案されているものである。
【０００７】
同図に示すように、この分散制御システムは、ホスト制御装置１３と、３台のアクチュエータ制御装置１４（１４−１、１４−２、１４−３）と、軸操作装置１５とが、それぞれ通信コントローラを介してシリアル通信線１６により相互に送受信可能に接続されている。これらの接続は、それぞれ切り離す事が可能である。
【０００８】
アクチュエータ制御装置１４にはモータコントローラとモータドライバを介してアクチュエータ軸を駆動すするモータ１７（１７−１、１７−２、１７−３）が接続されており、軸操作装置１５には３台の軸操作機器１８（１８−１、１８−２、１８−３）が着脱自在に接続されている。軸操作機器１８には、トラックボール、ジョイスティック、マウスなどが用いられる。
【０００９】
軸操作装置１５は、複数のアクチュエータ制御装置１４を同時に指定可能であり、複数の軸操作機器１８を手動操作され、所定時間毎にタイマ割込み信号を発生させ、このタイマ割込み信号に応答して、軸操作機器１８から出力される操作信号をアクチュエータ制御命令に変換しながら、シリアル通信ライン１６を介して指定されたアクチュエータ制御装置１４に制御命令を出力する。
【００１０】
【発明が解決しようとする課題】
ところで、従来の位置決め運転装置や複数アクチュエータ分散制御システムでは、通信線を用いてコントローラ（位置決めコントローラ、軸操作装置）と操作機器（教示装置、軸操作機器）とを着脱可能な構成とし、操作機器の接続外れ状態を監視することにより、異常発生時における異常処理の実行判断、及び異常処理を行なっている。
【００１１】
しかしながらコントローラがその一連の機能実現に使用している情報は、操作機器のイベント情報を別にすれば、故障等の不具合の発生に関してはコントローラが監視する操作機器間の着脱状態情報のみである。したがって、故障発生時にその故障の原因個所が、操作機器との接続ではなく装置制御系の別個所にある場合には、故障の原因の解析に困難が伴うという問題があった。
【００１２】
特に、エンコーダ、ジヨイスティツク等に代表される演算処理機能を持たない操作機器がコントローラに接続されている場合には、イベント情報は別として、接続を確認するアクノリッジ信号等の通信がコントローラと操作機器間で出来ないため、コントローラ側では操作機器の接続有無さえも監視が不可能であるという問題があった。
【００１３】
本発明の課題は、上記従来の実情に鑑み、操作機器側の演算処理機能の有無に拘わらずシステム内に発生した異常原因の解析が容易な分散制御システムの軸操作装置、軸操作方法、及び軸操作プログラムを提供することである。
【００１４】
【課題を解決するための手段】
先ず、請求項１記載の発明の軸操作装置は、シリアル通信ラインを介して複数のアクチュエータ制御装置に接続され、該複数のアクチュエータに対し個別に制御を行なう分散制御システムにおける軸操作装置であって、手動操作される複数の軸操作機器との接続手段と、上記アクチュエータ制御装置の現在位置座標とアクチュエータ状態を読み取る読取手段と、上記軸操作機器に対して手動操作された操作入力値に基づいて移動速度値と移動目標座標とを算出する算出手段と、所定時間毎のタイマ割込み信号に応答して上記移動速度値をアクチュエータ移動命令に変換しながら、該アクチュエータ移動命令に対応する上記アクチュエータ制御装置に対し上記アクチュエータ移動命令を上記シリアル通信ラインを介して出力する通信手段と、手動操作される複数の上記軸操作機器からの上記操作入力値、上記算出手段により算出される上記移動速度値及び上記移動目標座標値、通信手段により出力される上記アクチュエータ制御命令、上記読取手段により読み取られる上記アクチュエータ制御装置の現在位置座標値及び上記アクチュエータ状態、の中の少なくともいずれか一つの制御情報を記録する記録手段と、該記録手段に記録された上記制御情報を上記シリアル通信ラインとは異なる通信ラインを介して接続された外部装置に出力する出力手段と、を具備して構成される。
【００１５】
これにより、故障等の不具合が発生した場合に、記録されている制御情報を取り出して分析することにより十分な原因究明が可能となり、確実な改善策を早期に発見し、発生した不具合を早期に復旧することが容易となる。
次に、請求項２記載の発明の軸操作装置は、シリアル通信ラインを介して複数のアクチュエータ制御装置に接続され、該複数のアクチュエータに対し個別に制御を行なう分散制御システムにおける軸操作装置であって、手動操作される複数の軸操作機器との接続手段と、上記アクチュエータ制御装置の現在位置座標とアクチュエータ状態を読み取る読取手段と、上記軸操作機器に対して手動操作された操作入力値に基づいて移動速度値と移動目標座標とを算出する算出手段と、所定時間毎のタイマ割込み信号に応答して上記移動速度値をアクチュエータ移動命令に変換しながら、該アクチュエータ移動命令に対応する上記アクチュエータ制御装置に対し上記アクチュエータ移動命令を上記シリアル通信ラインを介して出力する通信手段と、手動操作される複数の上記軸操作機器からの上記操作入力値、上記算出手段により算出される上記移動速度値及び上記移動目標座標値、通信手段により出力される上記アクチュエータ制御命令、上記読取手段により読み取られる上記アクチュエータ制御装置の現在位置座標値及び上記アクチュエータ状態、の中の少なくともいずれか一つの制御情報を取得し、該取得した制御情報を上記アクチュエータ制御装置とは異なる外部装置に出力する出力手段と、を具備して構成される。
【００１６】
これにより、制御の状態を例えば表示装置等にリアルタイムで表示報知させることができ、オペレータはリアルタイムで現状のシステム制御状態を認識することができて便利である。
尚、複数の上記軸操作機器は、例えば請求項３記載のように、上記シリアル通信ラインとは別系統の通信手段を介して接続されるようにすることが好ましい。
【００１７】
続いて、請求項４記載の発明の軸操作方法は、シリアル通信ラインを介して複数のアクチュエータ制御装置に軸操作装置を接続し、該軸操作装置により上記複数のアクチュエータに対し個別に制御を行なう分散制御システムにおける軸操作方法であって、上記軸操作装置に、手動操作される複数の軸操作機器を接続し、上記軸操作装置により、少なくとも上記アクチュエータ制御装置の現在位置座標とアクチュエータ状態を読み取らせる読取工程と、上記軸操作機器に対して手動操作された操作入力値に基づいて移動速度値と移動目標座標とを算出させる工程と、所定時間毎のタイマ割込み信号に応答して上記移動速度値をアクチュエータ移動命令に変換しながら、該アクチュエータ移動命令に対応する上記アクチュエータ制御装置に対し上記アクチュエータ移動命令を上記シリアル通信ラインを介して出力する通信工程と、手動操作される複数の上記軸操作機器からの上記操作入力値、上記算出工程により算出される上記移動速度値及び上記移動目標座標値、通信工程により出力される上記アクチュエータ制御命令、上記読取工程により読み取られる上記アクチュエータ制御装置の現在位置座標値及び上記アクチュエータ状態、の中の少なくともいずれか一つの制御情報を記録する記録工程と、該記録工程により記録された上記制御情報を上記シリアル通信ラインとは異なる通信ラインを介して接続された外部装置に出力する出力工程と、を含んで構成される。
【００１８】
また、請求項５記載の発明の軸操作方法は、シリアル通信ラインを介して複数のアクチュエータ制御装置に軸操作装置を接続し、該軸操作装置により上記複数のアクチュエータに対し個別に制御を行なう分散制御システムにおける軸操作方法であって、上記軸操作装置に、手動操作される複数の軸操作機器を接続し、上記軸操作装置により、少なくとも上記アクチュエータ制御装置の現在位置座標とアクチュエータ状態を読み取らせる読取工程と、上記軸操作機器に対して手動操作された操作入力値に基づいて移動速度値と移動目標座標とを算出させる算出工程と、所定時間毎のタイマ割込み信号に応答して上記移動速度値をアクチュエータ移動命令に変換しながら、該アクチュエータ移動命令に対応する上記アクチュエータ制御装置に対し上記アクチュエータ移動命令を上記シリアル通信ラインを介して出力する通信工程と、手動操作される複数の上記軸操作機器からの上記操作入力値、上記算出工程により算出される上記移動速度値及び上記移動目標座標値、通信工程により出力される上記アクチュエータ制御命令、上記読取工程により読み取られる上記アクチュエータ制御装置の現在位置座標値及び上記アクチュエータ状態、の中の少なくともいずれか一つの制御情報を取得し、該取得した制御情報を上記アクチュエータ制御装置とは異なる外部装置に出力する出力工程と、を含んで構成される。
【００１９】
ここで、複数の上記軸操作機器は、例えば請求項６記載のように、上記シリアル通信ラインとは別系統の通信手段を介して接続されるようにすることが好ましい。
更に、請求項７記載の発明の軸操作プログラムは、シリアル通信ラインを介して複数のアクチュエータ制御装置に軸操作装置を接続した分散制御システムにおいて、上記軸操作装置に手動操作される複数の軸操作機器を接続し、上記軸操作装置のコンピュータに、上記複数のアクチュエータに対し個別に制御を行なう軸操作処理を実行させる軸操作プログラムであって、上記アクチュエータ制御装置の現在位置座標とアクチュエータ状態を読み取らせる読取処理と、上記軸操作機器に対して手動操作された操作入力値に基づいて移動速度値と移動目標座標とを算出させる算出処理と、所定時間毎のタイマ割込み信号に応答して上記移動速度値をアクチュエータ移動命令に変換しながら、該アクチュエータ移動命令に対応する上記アクチュエータ制御装置に対し上記アクチュエータ移動命令を上記シリアル通信ラインを介して出力する通信処理と、手動操作される複数の上記軸操作機器からの上記操作入力値、上記算出処理により算出される上記移動速度値及び上記移動目標座標値、上記通信処理により出力される上記アクチュエータ制御命令、上記読取処理により読み取られる上記アクチュエータ制御装置の現在位置座標値及び上記アクチュエータ状態、の中の少なくともいずれか一つの制御情報を記録する記録処理と、該記録処理により記録された上記制御情報を上記シリアル通信ラインとは異なる通信ラインを介して接続された外部装置に出力する出力処理と、を上記コンピュータに実行させるように構成される。
【００２０】
また、請求項８記載の発明の軸操作プログラムは、シリアル通信ラインを介して複数のアクチュエータ制御装置に軸操作装置を接続した分散制御システムにおいて、上記軸操作装置に手動操作される複数の軸操作機器を接続し、上記軸操作装置のコンピュータに、上記複数のアクチュエータに対し個別に制御を行なう軸操作処理を実行させる軸操作プログラムであって、上記アクチュエータ制御装置の現在位置座標とアクチュエータ状態を読み取らせる読取処理と、上記軸操作機器に対して手動操作された操作入力値に基づいて移動速度値と移動目標座標とを算出させる算出処理と、所定時間毎のタイマ割込み信号に応答して上記移動速度値をアクチュエータ移動命令に変換しながら、該アクチュエータ移動命令に対応する上記アクチュエータ制御装置に対し上記アクチュエータ移動命令を上記シリアル通信ラインを介して出力する通信処理と、手動操作される複数の上記軸操作機器からの上記操作入力値、上記算出処理により算出される上記移動速度値及び上記移動目標座標値、上記通信処理により出力される上記アクチュエータ制御命令、上記読取処理により読み取られる上記アクチュエータ制御装置の現在位置座標値及び上記アクチュエータ状態、の中の少なくともいずれか一つの制御情報を取得し、該取得した制御情報を上記アクチュエータ制御装置とは異なる外部装置に出力する出力処理と、を上記コンピュータに実行させるように構成される。
【００２１】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照しながら説明する。尚、以下の説明において、上記アクチュエータは例えばモータドライバ４７、モータ４８、不図示の被駆動軸等から成り、上記軸操作機器との接続手段は例えば操作判別部３３等から成り、上記読取手段は例えば通信コントローラ２４や演算制御部２８等から成り、上記算出手段は例えば操作値・速度変換部２９や演算制御部２８等から成り、上記通信手段は例えば通信コントローラ２４や演算制御部２８等から成り、上記記録手段は例えば制御情報記録部３４等から成り、そして、上記出力手段は例えば制御情報出力部３２等から成る。
【００２２】
図１は、複数のアクチュエータ制御装置を制御する分散制御システムにおいて本発明の軸操作装置を用いた場合の基本構成を示す図である。同図に示すようにこの分散制御システムは、シリアル通信ライン１９を介して、ホスト制御装置２０、軸操作装置２１、及び複数のアクチュエータ制御装置２２（２２−１、２２−２、・・・、２２−ｎ）が、それぞれ通信コントローラ２３、２４、及び２５（２５−１、２５−２、・・・、２５−ｎ）により相互に接続されている。これらの接続は、それぞれ任意に分離可能である。
【００２３】
ホスト制御装置２０は、上記の通信コントローラ２３と、この通信コントローラ２３に接続された演算制御部２６及びこの演算制御部２６に接続されたメモリ２７を備えている。
また、軸操作装置２１は、上記の通信コントローラ２４と、この通信コントローラ２４に接続された演算制御部２８と、この演算制御部２８に接続された操作値・速度変換部２９、メモリ３１、制御情報出力部３２、４つの操作判別部３３（３３−１、３３−２、３３−３、３３−４）、及び制御情報記録部３４を備えている。
【００２４】
上記の制御情報出力部３２には、外部配線３５を介して制御情報モニタ部３６が接続され、また、各操作判別部３３には、それぞれ軸操作機器３９（３９−１、３９−２、３９−３、３９−４）が着脱自在に接続されている。上記の軸操作機器３９−１は、例えばトラックボールやエンコーダ等のような、操作量に応じてパルス数が変化し操作速度に応じてパルス周波数が変化する１軸以上・両方向のパルス列を出力する軸操作機器である。
【００２５】
また、軸操作機器３９−２は、例えばジョイスティックのような、操作量に応じて抵抗値が変化する２軸以上・両方向の電圧値を出力する軸操作機器である。また、軸操作機器３９−３は、例えば方向スイッチのような、多方向の矢印が表示されているスイッチ装置であり、オン・オフに応じた論理信号を出力する軸操作機器である。そして、軸操作機器３９−４は、例えばティーチングペンダントと称される図６（ａ），（ｂ）　に示した教示装置１のような、操作入力機能、表示機能、清算機能、通信機能を備えた軸操作機器である。
【００２６】
図１において、上述した演算制御部２８は、タイマ部３７及び演算部３８を備え、制御情報記録部３４は、操作入力値記録部４１、移動速度値記録部４２、移動目標座標値記録部４３、現在位置座標値記録部４４、及び制御状態記録部４５を備えている。
【００２７】
また、各アクチュエータ制御装置２２は、それぞれ上記の通信コントローラ２５と、この通信コントローラ２５に接続されたモータコントローラ４６（４６−１、４６−２、・・・、４６−ｎ）を備えている。各モータコントローラ４６には、それぞれモータドライバ４７（４７−１、４７−２、・・・、４７−ｎ）が接続されている。各モータドライバ４７には、モータ４８（４８−１、４８−２、・・・、４８−ｎ）が接続されている。モータ４８には必要に応じて回転情報検出器４９（４９−１、４９−２、・・・）が取り付けられる。また、モータ４８の回転軸には不図示の被駆動軸がカップリング等を介して連結されている。
【００２８】
上記の基本構成における各部の機能及び動作については以下に説明する。
先ず、通信の形態としては、ホスト制御装置２０側の通信コントローラ２３又は軸操作装置２１側の通信コントローラ２４が主局になり、各アクチュエータ制御装置２２側の通信コントローラ２５が従局となる。結合は主局が１個で従局がｎ個の１：ｎの結合である。
【００２９】
ホスト制御装置２０又は軸操作装置２１と各アクチュエータ制御装置２２との間のデータ交換という観点に立てば、通信コントローラ２５は単にホスト制御装置２０の演算制御部２６と各アクチュエータ制御装置２２のモータコントローラ４６との仲介、又は軸操作装置２１側の演算制御部２８と各アクチュエータ制御装置２２のモータコントローラ４６との仲介をしているにすぎない。
【００３０】
したがって、ホスト制御装置２０の演算制御部２６とモータコントローラ４６、又は軸操作装置２１の演算制御部２８とモータコントローラ４６とは直接に結合されているかの如く動作が進行する。さらに、ホスト制御装置２０の演算制御部２６又は軸操作装置２１の演算制御部２８又は各アクチュエータ制御装置２２のモータコントローラ４６が繁雑な通信制御に関わることなく、本来のプログラム実行に専念出来る。
【００３１】
また、シリアル通信ライン１９の通信プロトコルは一定期間にてトークンを回すトークンパシング方式を取ることにより、各アクチュエータ制御装置２２に接続されているモータ４８の現在位置座標値や、移動中、停止中、異常発生等のモータ動作状態値はホスト制御装置２０の演算制御部２６、又は軸操作装置２１の演算制御部２８が取得し把握することが出来る。
【００３２】
次に軸操作装置２１における制御情報値の取得、記録、出力方法を多数軸のモータ制御を例に上げて説明する。
まず、ホスト制御装置２０と同様に、軸操作装置２１を通信コントローラ２４によりシリアル通信ライン１９に結合する。次にシステム起動時に初期設定の動作として軸操作装置２１の演算制御部２８がメモリ３１に格納されている動作プログラムデータを読み出し、通信コントローラ２４、操作判別部３３の初期化を行う。そして、軸操作機器２１に対応させたい各アクチュエータ制御装置２２の指定を、通信を介して軸指定命令で行なう。この軸指定命令は、ホスト制御装置２０から送信してもよく、あるいは軸操作装置２１から送信してもよい。
【００３３】
ここ迄は、初期動作として操作判別部３３−１、３３−２、３３−３、及び３３−４は全て共通の動作となるが、以下の動作では操作判別部３３−１、３３−２、及び３３−３と操作判別部３３−４とでは処理の動作が異なる。
まず、操作判別部３３−１、３３−２、及び３３−３の場合の動作について説明する。
【００３４】
システム起動後にオペレータが軸操作機器３９を操作すると、その操作状態が操作判別部３３により、操作方向、操作量とに判別された形の操作入力値として演算部３８に渡される。
演算部３８は操作入力値記録部４１に対し、上記操作入力値の書き込み記録を行なった後に操作値・速度変換部２９に上記操作入力値を入力する。
【００３５】
操作値・速度変換部２９は、操作入力値を速度に変換する機能を持っており、入力データである前記操作入力値に対応したアクチュエータの移動速度値を出力データとして演算部３８に出力する。
次に演算部３８は、上記算出された移動速度値を移動速度値記録部４２に書き込み記録を行なった後に、アクチュエータの移動目標座標値を、上記移動速度値とタイマ部３７の周期時間との乗算から算出し、この算出した移動目標座標値を移動目標座標値記録部４３に対して書き込み記録を行なう。
【００３６】
続いて演算部３８は、アクチュエータ制御装置２２からの通信によって得られる移動状態、停止状態、異常発生状態等のモータ動作状態値に基づいて、アクチュエータ制御装置２２に対応した制御命令の内、一定速度移動の開始命令、移動中の速度変更命令、停止命令の何れかを選択して、アクチュエータ制御命令を作成して、この作成したアクチュエータ制御命令を通信コントローラ２４に渡すと共に、演算部３８は、上記作成したアクチュエータ制御命令を制御状態情報値の１つとして制御状態記録部４５に書き込み保存する。又演算部２８はシリアル通信ライン１９を通じて一定期間にて得られるモータの現在位置座標値を現在位置座標値記録部４４へ書き込み保存する。
【００３７】
通信コントローラ２４は演算部３８から受取った上記のアクチュエータ制御命令を、タイマ部３７から出力されるタイミング信号に同期して、上記軸指定命令により指定されているアクチュエータ制御装置２２のモータコントローラ４６に対し送信する。アクチュエータ制御装置２２のモータコントローラ４６は、その受信した命令に従って、モータドライバ４７を介しモータ４８の速度制御を行なう。
【００３８】
次に操作判別部３３−４から入力があった場合の動作を説明する。
システム起動後にオペレータが軸操作機器３９−４を操作すると、操作状態が操作判別部３３−４により移動速度、移動方向を含む操作データが操作入力値として演算部３８に渡される。
【００３９】
演算部３８は、上記操作データを操作入力値記録部４１に対して書き込み記録すると共に、その受信した操作データから移動速度値を抽出し、この抽出した移動速度値を移動速度値記録部４２に対し書き込み記録を行なう。
次に、演算部３８は、アクチュエータの移動目標座標値を、上記移動速度値とタイマ部３７から出力される周期時間との乗算から算出し、この算出した移動目標座標値を移動目標座標値記録部４３に対して書き込み記録を行なう。
【００４０】
また、演算部３８は、シリアル通信ライン１９を通じて一定期間にて得られるアクチュエータの現在位置座標値を現在位置座標値記録部４４に対して書き込み記録を行なう。
そして演算部３８は、アクチュエータ制御装置２２から通信によって得られる移動状態、停止状態、異常発生状態等のモータ動作状態値に基づいて、アクチュエータ制御装置２２に対応した制御命令の内、一定速度移動の開始命令、移動中の速度変更命令、停止命令の何れかを選択して、アクチュエータ制御命令を作成し、この作成したアクチュエータ制御命令を通信コントローラ２４に渡す。
【００４１】
また、演算部３８は、上記作成したアクチュエータ制御命令と、シリアル通信ライン１９を通じて一定期間にて得られるアクチュエータ動作状態を、制御状態情報値の１つとして制御状態記録部４５に書き込み保存する。
通信コントローラ２４は演算部３８から受取った上記アクチュエータ制御命令をタイマ部３７から出力されるタイミング信号に同期して、上記軸指定命令により指定されているアクチュエータ制御装置２２のモータコントローラ４６に対し送信する。アクチュエータ制御装置２２のモータコントローラ４６は、その受信した命令に従って、モータドライバ４７を介しモータ４８の速度制御を行なう。
【００４２】
以上、操作判別部３３−１、３３−２、及び３３−３により行う処理と、操作判別部３３−４により行う処理との違いを（場合分け）を説明したが、以下、共通の処理動作について説明する。
尚、モータの上記現在位置座標値、及びモータ動作状態値はシリアル通信ライン１９を通じて一定期間の上記トークン受信のタイミングにて得られ、演算部３８が通信コントローラ２４から受取る。
【００４３】
その後演算部３８により、前述した通り、モータ４８の現在位置座標値は現在位置座標値記録部４４に記録をされ、モータ動作状態値は、アクチュエータ制御命令の作成に使用されるとともに、制御状態記録部４５への書き込み保存データとして使用される。尚、本構成での通信はトークンパッシグ方式であるため、データ送信のタイミングは、トークン受信のタイミングと同時となる。
【００４４】
先ず、オペレータが３９軸操作機器２１を操作することにより、操作状態が発生し、この操作状態が軸操作装置２１に入力されてから、軸操作装置２１が、予め指定されているアクチュエータ制御装置２２に対して命令を送信する迄の、これら一連の軸操作装置２１の動作は、オペレータの連続操作に違和感が生じない程度の定期的な周期で繰り返される。
【００４５】
これにより、モータ４８は１周期内では一定速度移動を行い、次の周期のタイミングにて速度変更することとなる。その結果、定期的な周期で一且停止することが無くなり、あたかも連続的にモータ４８は移動することとなる。
また、上記一連の動作を繰り返す度に、制御情報記録部３４へ各種の制御情報値が記録され蓄積される。
【００４６】
軸操作装置２１の装置外に制御情報を読み出す場合は、制御情報モニタ部３６として適宜の外部モニタ装置を制御情報出力部３２に接続する。そして、軸操作装置２１の演算部３８に対し、制御情報読み取り命令を送る。制御情報読み取り命令を受信した演算部３８は、要求された制御情報を制御情報記録部３４から読み出し、制御情報出力部３２を介して外部モニタ装置に送信する。
【００４７】
シリアル通信ライン１９による制御系通信とは別系統の通信となる制御情報出力部３２を設けることにより、シリアル通信ライン１９、通信コントローラ２４等が異常を起している場合でも、軸操作装置２１の外部に制御情報の読み出しが可能となる。つまりは制御システム全体の異常監視が可能となる。
【００４８】
また、制御情報は、制御情報出力部３２を介し制御情報モニタ部３６で読み出しを行なう以外に、ホスト制御装置２０又は軸操作機器３９−４によって制御情報の読み出しを行なっても良い。ホスト制御装置２０によって制御情報を読み出す場合は、ホスト制御装置２０から制御情報読み出し命令を通信コントローラ２３、シリアル通信ライン１９を介して送信する。制御情報読み出し命令を受信した軸操作装置２１の演算部３８は、制御情報記録部３４から制御情報を読み出し、ホスト制御装置２０の演算制御部２６に送信する。
【００４９】
同様に軸操作機器３９−４によって制御情報を読み出す場合は、軸操作機器３９−４から制御情報読み出し命令をＲＳ２３２Ｃの通信形式で送信する。制御情報読み出し命令を受信した軸操作装置２１の演算部３８は制御情報記録部３４から制御情報を読み出し軸操作機器３９−４に送信する。
【００５０】
このようにすれば、制御システムの異常時でも、制御情報を読み出せない虞が解消される。
また、制御情報モニタ部３６でリアルタイムの制御情報を取得したい場合は、制御情報記録部３４に制御情報が記録されている場合には即座に制御情報出力部３２を介して出力するように、演算部３８の動作プログラムを組んで、軸操作装置２１のメモリ３１に格納することで可能となる。
【００５１】
また、制御情報記録部３４を持たない構成とし、演算部３８が制御情報を取得した時点で即座にその制御情報を制御情報出力部３２から外部に出力する方法でも、リアルタイムの制御情報の取得は実現可能である。尚、ホスト制御装置２０又は軸操作装置３９−４によってリアルタイムの制御情報を取得する場合も上記と同様に行うことができる。
【００５２】
また、このようにリアルタイムで制御情報を外部に出力する以外に、制御情報を軸操作装置２１内にフイードバックして使用するように、演算部３８の動作プログラムを組んでメモリ３１に格納しておけば、リアルタイムのフイードバック情報を有効に活用した機能を持つ軸操作装置２１の実現が容易となる。
【００５３】
また、この軸操作装置２１によれば、トラックボール、ジョイスティックに代表されるような演算部を内蔵しない軸操作機器３９を使用した場合でも、その入力操作値を記録し利用することができるようになる。
続いて、本発明の第１の実施形態を図面を参照しながら説明する。
【００５４】
図２は、第１の実施形態における軸操作装置とホスト制御装置と複数のアクチュエータ制御装置とで構成される分散制御システムを示す図である。同図に示すようにこの分散制御システムは、シリアル通信ライン５１を介して、ホスト制御装置５２、軸操作装置５３、及び複数のアクチュエータ制御装置５４（５４−１、・・・、５４−ｎ）が、それぞれ通信コントロールＩＣ５５、５６、及び５７（５７−１、・・・、５７−ｎ）により相互に接続されている。これらの接続は、それぞれ任意に分離可能である。
【００５５】
ホスト制御装置５２は、上記の通信コントロールＩＣ５５と、この通信コントロールＩＣ５５に接続されたＣＰＵ（ｃｅｎｔｒａｌ　ｐｒｏｃｅｓｓｉｎｇ　ｕｎｉｔ）５８及びこのＣＰＵ５８に接続されたＲＯＭ（ｒｅａｄ　ｏｎｌｙ　ｍｅｍｏｒｙ）５９を備えている。これらの通信コントロールＩＣ５５、ＣＰＵ５８及びＲＯＭ５９の構成及び機能は、図１に示した基本構成のホスト制御装置２０の通信コントローラ２３、演算制御部２６及びメモリ２７の構成及び機能にそれぞれ対応するものである。
【００５６】
また、図２において、軸操作装置５３は、上記の通信コントロールＩＣ５６と、この通信コントロールＩＣ５６にバス６１を介して接続された演算制御部６２を構成するＣＰＵ６３及びタイマ６４、この演算制御部６２と同様に、同じくバス６１を介して接続された操作値・速度変換用ＥＥＰＲＯＭ６５、ＲＯＭ６６、ＲＳ２３２Ｃ通信回路６７、カウンタ６８、Ａ／Ｄ変換器６９、Ｉ／Ｏインターフェース７１、及びＲＳ２３２Ｃ通信回路７２、並びに制御情報記録部７３を備えている。
【００５７】
上記の通信コントロールＩＣ５６、演算制御部６２のＣＰＵ６３及びタイマ６４、操作値・速度変換用ＥＥＰＲＯＭ６５、ＲＯＭ６６、ＲＳ２３２Ｃ通信回路６７、カウンタ６８、Ａ／Ｄ変換器６９、Ｉ／Ｏインターフェース７１、及びＲＳ２３２Ｃ通信回路７２の構成及び機能は、図１に示した基本構成の軸操作装置２１の通信コントローラ２４、演算制御部２８の演算部３８及びタイマ部３７、操作値・速度変換部２９、メモリ３１、制御情報出力部３２、操作判別部３３−１、３３−２、３３−３、及び３３−４の構成及び機能にそれぞれ対応するものである。
【００５８】
尚、上記のタイマ６４は、通信コントロールＩＣ５６によるシリアル通信動作よりも十分に長い一定周期でＣＰＵ６３に割込みを発生させるように構成されている。
図２において、カウンタ６８、Ａ／Ｄ変換器６９、Ｉ／Ｏインターフェース７１、及びＲＳ２３２Ｃ通信回路７２には、それぞれ異なる機種からなる軸操作機器７４が接続されている。例えばカウンタ６８にはトラックボール７４−１、Ａ／Ｄ変換器６９にはジョイスティック７４−２、Ｉ／Ｏインターフェース７１には方向スイッチ７４−３、そして、ＲＳ２３２Ｃ通信回路７２にはティーチングペンダント７４−４がそれぞれ接続されている。
【００５９】
上記のトラックボール７４−１、ジョイスティック７４−２、方向スイッチ７４−３、及びティーチングペンダント７４−４は、図１に示した基本構成の軸操作機器３９−１、３９−２、３９−３、及び３９−４に、それぞれ対応するものである。
【００６０】
上記のトラックボール７４−１は、２軸分の操作状態の信号をＡ相／Ｂ相の方形波で出力する軸操作機器であり、その操作量に応じたパルス数（位置情報）、操作速度に応じたパルス周波数（速度情報）、操作方向に応じたＡ相／Ｂ相の位相ずれ（方向情報）を伴った操作状態信号を出力する。尚、このような操作状態信号の出力には、トラックボールに限ることなく例えばエンコーダを用いても良い。
【００６１】
また、ジョイスティック７４−２は、ポテンショメータが内蔵されたジョイスティックであり、一定電圧を印加することで２軸分の操作状態の信号を電圧値として出力する軸操作機器である。すなわち、ジョイスティック７４−２は、スティックの傾斜時間に応じた電圧変化時間（位置情報）、傾斜角度に応じた電圧振幅（速度情報）、操作方向に応じた基準電圧からの電圧符号（方向情報）を伴った操作状態信号を出力する。
【００６２】
また、方向スイッチ７４−３は、複数のスイッチから成る方向スイッチ群を備えた軸操作機器であり、各スイッチには、方向・速度等の設定機能が割り当てられており、それらスイッチのオン・オフ状態を電圧値として出力する。
また、ティーチングペンダント７４−４は、特には図示はしないが、複数の操作スイッチと、表示用モニタと、ＣＰＵに代表される演算回路と、通信機能としてのＲＳ２３２Ｃ通信回路とを備えた軸操作機器であり、オペレータのスイッチ操作状態をＲＳ２３２Ｃ通信コマンドの形式で、外部接続機器に送受信する。送受信する制御情報は移動速度・移動方向の情報を含んでいる。
【００６３】
また、図２における構成の、カウンタ６８は、２チャンネルのカウンタであり、トラックボール７４−１から入力される操作状態信号を、位置情報、速度情報、及び方向情報に変換し、この変換した情報をトラックボール７４−１の操作情報として演算制御部６２のＣＰＵ６３に出力する。
【００６４】
Ａ／Ｄ変換器６９は、ジョイスティック７４−２に一定電圧を印加し、ジョイスティック７４−２の操作状態であるアナログ電圧値や電圧変化率等をＣＰＵ６３が認識できるデジタルデータに変換し、その変換したデジタルデータを、ジョイスティック７４−２の操作情報として、演算制御部６２のＣＰＵ６３に出力する。
【００６５】
Ｉ／Ｏインターフェース７１は、バッファ等により構成され、方向スイッチ７４−３から操作情報として入力される多方向のスイッチ操作信号をＣＰＵ６３が取り扱うことができるデジタルデータに変換して、変換したデジタルデータを方向スイッチ７４−３の操作情報として演算制御部６２のＣＰＵ６３に出力する。
【００６６】
ＲＳ２３２Ｃ通信回路７２は、ＲＳ２３２Ｃ通信の通信プロトコル形式によりティーチングペンダント７４−４から受信する各アクチュエータの移動速度や移動方向が含まれるデータ構成の操作命令を、ＣＰＵ６３の認識可能な操作情報に変換し、この操作情報をティーチングペンダント７４−４の操作情報として演算制御部６２のＣＰＵ６３に出力する。
【００６７】
尚、このような通信では、ＲＳ２３２Ｃ通信回路７２に限ることなく、例えばシリアル、パラレル、有線、無線とその通信形態を問うものではない。勿論、通信プロトコルも、ＲＳ２３２Ｃ通信に限るものではない。
また、上記の操作値・速度変換用ＥＥＰＲＯＭ６５は、操作値・速度変換部を構成しており、ＣＰＵ６３に送信される上記の各操作情報をアクチュエータの移動速度値に変換する機能を有している。本構成では一例として、操作値・速度変換用ＥＥＰＲＯＭ６５は、メモリ領域の番地に操作量を割り当て、その番地のデータ領域に速度値を割り当てた操作値・速度変換テーブルを予め備えている。
【００６８】
ＣＰＵ６３は、軸操作装置５３の電源投入直後、又は一定速移動命令の速度データヘの変換時に上記の操作値・速度変換テーブルを読み込む。ここでは、予め軸操作機器５３の操作値に対して一定速移動命令の速度が比例するようにテーブルが作成されているものとする。ＣＰＵ６３は、その操作値・速度変換テーブルによって上記の各操作情報をアクチュエータの移動速度値に変換する。
【００６９】
尚、操作値・速度変換用ＥＥＰＲＯＭ６５は、ＥＥＰＲＯＭに限ることなく、ＲＡＭ（ｒａｎｄｏｍ　ａｃｃｅｓｓ　ｍｅｍｏｒｙ）であっても良いが、稼動の都度外部から操作値・速度変換テーブルを読み込むのではなく、装置電源をオフにした場合でも操作値・速度変換テーブルを記憶したまま保存しておく方が便利であるから、上記のように不揮発性ＲＡＭ等で構成するほうが好ましい。
【００７０】
また、別方法として、ＣＰＵ６３は、このように操作値・速度変換テーブルを用いるのではなく、各軸操作機器７４の入力に対応する計算式を用いて操作値からの速度変換を行うようにしても良い。
また、図２において、制御情報記録部７３は、操作入力値記録用ＥＥＰＲＯＭ７５、移動速度値記録用ＥＥＰＲＯＭ７６、移動目標座標値記録用ＥＥＰＲＯＭ７７、現在位置座標値記録用ＥＥＰＲＯＭ７８、及び制御状態記録用ＥＥＰＲＯＭ７９を備えている。
【００７１】
上記の操作入力値記録用ＥＥＰＲＯＭ７５、移動速度値記録用ＥＥＰＲＯＭ７６、移動目標座標値記録用ＥＥＰＲＯＭ７７、現在位置座標値記録用ＥＥＰＲＯＭ７８、及び制御状態記録用ＥＥＰＲＯＭ７９の構成及び機能は、図１に示した基本構成の制御情報記録部３４の操作入力値記録部４１、移動速度値記録部４２、移動目標座標値記録部４３、現在位置座標値記録部４４、及び制御状態記録部４５の構成及び機能にそれぞれ対応するものである。
【００７２】
制御情報記録部７３は、各種の制御情報を記録（記憶）しておくための記憶部を構成しており、ＣＰＵ６３によって各種の制御情報が所定の記憶領域に格納される。すなわち、操作入力値記録用ＥＥＰＲＯＭ７５には、軸操作機器７４からの操作入力情報が格納される。
【００７３】
また、移動速度値記録用ＥＥＰＲＯＭ７６には、ＣＰＵ６３がＲＳ２３２Ｃ通信回路部７２を介して得られた操作命令から抽出した移動速度値、あるいは操作量・速度変換用ＥＥＰＲＯＭ６５に操作量を入力することにより操作量・速度変換用ＥＥＰＲＯＭ６５からの出力として得られる移動速度値が格納される。
【００７４】
移動目標座標値記録用ＥＥＰＲＯＭ７７には、タイマ６４の所定の周期と上記の移動速度値を乗算して算出される移動目標座標値が格納される。更に、現在位置座標値記録用ＥＥＰＲＯＭ７８には、シリアル通信ライン５１及び通信コントロールＩＣ５６を介して各アクチュエータ制御装置５４から得られるアクチュエータの現在位置値座標情報が格納される。
【００７５】
そして制御状態記録用ＥＥＰＲＯＭ７９には、移動中、停止中、異常発生等の各アクチュエータの動作状態、及び軸操作機器７４の動作状態として、上記移動速度値に基づきＣＰＵ６３が作成したアクチュエータ制御命令等の制御状態情報が格納される。
【００７６】
本例では、記憶部にＥＥＰＲＯＭを用いているが、ＲＡＭであっても良く、また、格納する情報の記録数が１つの場合はレジスタで構成しても良い。また、ＦＩＦＯメモリを使用して、常に一定量の最新データを更新しながら記録するように構成してもよい。
【００７７】
尚、制御情報をリアルタイムで外部に出力することのみを目的とする場合は、この制御情報記録部７３は設けなくても良いが、本例は、制御情報の記録を目的としているため、このように制御情報記録部７３が設けられている。そして、これにより、故障等の不具合が発生した場合に、制御情報記録部７３に記録されている制御情報を取り出して分析することにより十分な原因究明が可能となり、確実な改善策を早期に構築することができるようになる。
【００７８】
また、図２のＲＳ２３２Ｃ通信回路６７には、図１の基本構成に示した制御情報モニタ部３６としてのパソコン（パーソナルコンピュータ）８４が、シリアル通信ライン５１とは異なる外部との通信ライン８５を介して接続されている。
上記のＲＳ２３２Ｃ通信回路６７は、ＲＳ２３２Ｃ通信プロトコル形式により制御情報記録部７３に格納されている制御情報を外部に送信するためのＲＳ２３２Ｃ通信出力回路であり、例えば、ＲＳ２３２Ｃトランシ−バ、ＵＡＲＴ、ＦＩＦＯバッファ等にて構成される。
【００７９】
尚、ＲＳ２３２Ｃ通信回路に限ることなく、シリアル、パラレル、有線、無線等のＲＳ２３２Ｃと異なる他の有線通信回路あるいは無線通信回路であってもよく、その通信形態を問うものではない。また、通信プロトコルも問うものではない。また、通信ではなく単なるデータ出力端子で構成してもよい。
【００８０】
通信を用いる場合には通信機能を有する制御情報モニタ部３６として代表的なものとしてはパソコン８４が軸操作装置５３に接続される。また、データ出力端子を用いる場合は、制御情報モニタ部３６として代表的なものとしてはオシロスコープ装置等を接続するようにするとよい。
【００８１】
上記のパソコン８４は、軸操作装置５３から制御情報を読み出す役割を持つものであり、これによりパソコン８４の表示装置にオペレータが必要とする制御情報を、バッチ処理で又はリアルタイムで表示させることができる。
尚、軸操作命令のデータ内容としては、多種多様に設定することが可能であるが、本実施例では、一例として、方向情報と速度情報とを軸操作命令のデータとしている。
【００８２】
また、図２において、各アクチュエータ制御装置５４は、それぞれ上記の通信コントロールＩＣ５７と、この通信コントロールＩＣ５７に接続されたモータコントロールＩＣ８０（８０−１、・・・、８０−ｎ）を備えている。各モータコントロールＩＣ８０には、それぞれモータドライバ８１（８１−１、・・・、８１−ｎ）が接続されている。各モータドライバ８１には、モータ８２（８２−１、・・・、８２−ｎ）が接続されている。モータ８２には必要に応じて回転情報検出器８３（８３−１、・・・）が取り付けられる。また、モータ８２の回転軸には不図示の被駆動軸がカップリング等を介して連結されている。
【００８３】
上記の通信コントロールＩＣ５７、モータコントロールＩＣ８０、モータドライバ８１、モータ８２、及び回転情報検出器８３の構成及び機能は、図１に示した基本構成のアクチュエータ制御装置２２における通信コントローラ２５、モータコントローラ４６、モータドライバ４７、モータ４８、及び回転情報検出器４９の構成及び機能にそれぞれ対応するものである。
【００８４】
また、図２において、ホスト機器５２には、キーボード８６が接続されている。オペレータは、このキーボード８６を入力インターフェースとして用い、この分散制御システムに種々の指示を与えることができる。
図３は、上記第１の実施形態における軸操作装置５３のＣＰＵ６３により実行される処理動作を示すフローチャートである。尚、ホスト制御装置５２からの各種命令に対応してＣＰＵ６３が処理を実行する場合のソフトウェアプログラムについては、ここでは図示と説明を省略する。
【００８５】
図３において、動作Ａ１は、システム起動後に、軸操作装置５３のハードウェアに関する各種初期設定を行なう動作であり、通信コントロールＩＣ５６、ＲＳ２３２Ｃ通信回路６７、タイマ６４、カウンタ６８、Ａ／Ｄ変換器６９、Ｉ／０インターフェース７１、ＲＳ２３２Ｃ通信回路７２等の設定や初期化が行われる。
【００８６】
動作Ｂ１は、主に軸操作装置５３において、オペレータが選択する各種初期設定を行なう動作であり、トラックボール７４−１で操作するアクチュエータ制御装置５４の軸指定、ジョイスティック７４−２で操作するアクチュエータ制御装置５４の軸指定、方向スイッチ７４−３で操作するアクチュエータ制御装置５４の軸指定、ティーチングペンダント７４−４で操作するアクチュエータ制御装置５４の軸指定、更に、トラックボール７４−１で操作する最高速度の設定、ジョイスティック７４−２で操作する最高速度の設定、方向スイッチ７４−３で操作する最高速度の指定等を行なう動作である。
【００８７】
これらの設定入力は、オペレータによるホスト制御装置５２のキーボード８６からの入力操作より入力される。この入力された軸操作装置５３に対する設定指示は、ホスト制御装置５２から、通信コントロールＩＣ５５、シリアル通信ライン５１、及び通信コントロールＩＣ５６による通信を介して行なわれる。
【００８８】
動作Ｃ１は、制御情報の読み取り装置であるパソコン８４から軸操作装置５３に送信される「制御情報読み取り要求」の有無をＣＰＵ６３が判断する動作である。「制御情報読み取り要求」があった場合は動作Ｄ１に進み、「制御情報読み取り要求」が無かった場合には、動作Ｄ１の処理は実行せずに動作Ｅ１の処理に移行する。
【００８９】
動作Ｄ１は、制御情報の読み取り装置であるパソコン８４から軸操作装置５３に送信される「制御情報読み取り要求」があった場合に、ＣＰＵ６３が制御情報を制御情報記録部７３から読み出し、ＲＳ２３２Ｃ通信回路６７を介してパソコン８４に送信する動作である。
【００９０】
動作Ｅ１は、カウンタ６８、Ａ／Ｄ変換器６９、Ｉ／Ｏインターフェース７１、又はＲＳ２３２Ｃ通信回路７２に、対応する軸操作機器からの入力値があるか否かを判断する動作である。カウンタ６８、Ａ／Ｄ変換器６９、Ｉ／Ｏインターフェース７１、又はＲＳ２３２Ｃ通信回路７２のいずれにも、対応する軸操作機器からの入力値が無い場合は動作Ｃ１に戻り、入力値が有った場合には次の動作Ｆ１の処理に進む。
【００９１】
動作Ｆ１は、ＲＳ２３２Ｃ通信回路７２に、ティーチングペンダント７４−４からの入力値があるか否かを判断する動作である。ティーチングペンダント７４−４はＣＰＵを内蔵する軸操作機器であり、したがって、ＲＳ２３２Ｃ通信回路７２に入力値があった場合には、軸操作機器のＣＰＵと通信を行う動作Ｐ１〜動作Ｖ１の処理に進む。また、ＲＳ２３２Ｃ通信回路７２に入力値が無い場合には動作Ｅ１の処理で得られた入力値は、いずれもＣＰＵを有しない軸操作機器からの入力値であり、したがって、この場合は動作Ｇ１〜動作Ｍ１の処理に進む。
【００９２】
動作Ｇ１は、カウンタ６８、Ａ／Ｄ変換器６９、又はＩ／０インターフェース７１に、トラックボール７４−１、ジョイスティック７４−２、又は方向スイッチ７４−３からの入力があった場合に、その操作入力値を操作入力情報記録用ＥＥＰＲＯＭ７５に記録する動作である。
【００９３】
動作Ｈ１は、ＣＰＵ６３がカウンタ６８、Ａ／Ｄ変換器６９、又はＩ／０インターフェース７１から受け取った操作入力値に応じて、操作値・連度変換用ＥＥＰＲＯＭ６５に予め格納されている操作入力値と速度が比例するデータテーブルを参照し、アクチュエータ制御装置５４に指示する移動速度を算出する動作である。
【００９４】
動作Ｉ１は、動作Ｈ１の処理により算出された移動速度値を移動速度値記録用ＥＥＰＲＯＭ７６に記録する動作である。
動作Ｊ１は、動作Ｈ１の処理により算出された移動速度値とタイマ６４の所定の周期との乗算によって各アクチュエータの移動目標座標値を算出する動作である。
【００９５】
動作Ｋ１は、動作Ｊ１の処理により算出された各アクチュエータの移動目標座標値を、移動目標座標値記録用ＥＥＰＲＯＭ７７に記録する動作である。
動作Ｌ１は、通信コントロールＩＣ５６が定期的に受信している各アクチュエータの現在位置座標値を、現在位置座標値記録用ＥＥＰＲＯＭ７８に記録する動作である。
【００９６】
動作Ｍ１は、通信コントロールＩＣ５６が定期的に受信している移動中状態、停止状態、異常発生状態等の各アクチュエータの動作状態と動作Ｈ１の処理で算出されたアクチュエータ制御装置５４の移動速度とに基づいて、一定速度移動開始命令、移動中の速度変更命令、又は停止命令のいずれかのアクチュエータ制御命令を選択し、選択された命令が停止命令であれば、そのままアクチュエータ制御命令を作成し、他方、一定速度移動開始命令または移動中の速度変更命令の場合は、上記動作Ｈ１の処理により算出されている移動速度値を伴うアクチュエータ制御命令を作成する動作である。
【００９７】
動作Ｎ１〜動作Ｏ１の処理は、ＣＰＵを内蔵しているか否かに拘わりなく全ての軸操作機器に対応する共通の処理であり、動作Ｎ１では、上記の動作Ｍ１又は後述する動作Ｖ１の処理により作成されるアクチュエータ制御装置５４用の命令と、通信コントロールＩＣ５６が定期的に受信している各アクチュエータの動作状態とを、制御状態記録用ＥＥＰＲＯＭ７９に記録する動作である。
【００９８】
動作０１は、アクチュエータ制御装置５４に対し、動作Ｍ１または動作Ｖ１の処理により選択されたアクチュエータ制御命令を、通信コントロールＩＣ５６及びシリアル通信ライン１９を介して出力する動作である。この後、動作Ｃ１の処理に戻り、上述した動作Ｃ１〜動作Ｏ１の処理、又は後述する動作Ｐ１〜動作Ｖ１の処理を繰り返す無限ループのシーケンス処理が実行される。
【００９９】
動作Ｐ１は、動作Ｆ１の処理において、ＲＳ２３２Ｃ通信回路７２にティーチングペンダント７４−４からの入力があった場合に、その入力された操作入力データを操作入力情報記録用ＥＥＰＲＯＭ７５に記録する動作である。
動作Ｑ１は、ＣＰＵ６３が、ＲＳ２３２Ｃ通信回路７２の操作入力データからアクチュエータ制御装置５４の移動速度を抽出する動作である。
【０１００】
動作Ｒ１は、動作Ｑ１の処理により抽出された移動速度値を移動速度値記録用ＥＥＰＲＯＭ７６に記録する動作である。
動作Ｓ１は、動作Ｑ１の処理により算出された移動速度値と、タイマ６４の周期との乗算から各アクチュエータの移動目標座標値を算出する動作である。
【０１０１】
動作Ｔ１は、動作Ｓ１の処理により算出された各アクチュエータの移動目標座標値を移動目標座標値記録用ＥＥＰＲＯＭ７７に記録する動作である。
動作Ｕ１は、通信コントロールＩＣ５６が定期的に受信している各アクチュエータの現在位置座標値を現在位置座標値記録用ＥＥＰＲＯＭ７８に記録する動作である。
【０１０２】
動作Ｖ１は、通信コントロールＩＣ５６が定期的に受信している移動中状態、停止状態、異常発生状態等の各アクチュエータの動作状態に基づいて、一定速度移動開始命令、移動中の速度変更命令、停止命令等を選択し、この選択された命令が停止命令であればそのままアクチュエータ制御命令を作成し、他方、一定速度移動開始命令または移動中の速度変更命令であった場合は動作Ｑ１の処理により算出されている移動速度値を伴うアクチュエータ制御命令を作成する動作である。
【０１０３】
このように、動作Ｂ１の処理が終了してから動作Ｃ１〜動作Ｖ１の無限ループの処理の間に、動作Ｗ１又は動作Ｘ１に示される割込みの動作が発生する。
動作Ｗ１は、シリアル通信ライン５１を介してのデータ送受信時等に、通信コントロールＩＣ５６等により発生する通信関連動作であり、通信コントロールＩＣ５６による割込み、各アクチュエータ制御装置５４、軸操作装置５３等の状態監視命令や、モータ制御命令等が優先して実行され、各アクチュエータの現在位置情報とアクチュエータ動作状態情報、軸操作装置５３の状態情報が取得される。また、タイマ割込みの動作が行われる。これらの処理動作は、動作Ｃ１〜動作Ｖ１による無限ループの処理や、割込み動作Ｘ１の処理よりも優先する動作である。
【０１０４】
動作Ｘ１は、タイマ６４により周期的に発生する割込みの動作であり、この周期は、動作Ａ１の初期設定の処理で設定される。また、その周期は、動作Ｗ１の発生間隔より充分長い。この動作Ｘ１では、ＣＰＵ６３は、カウンタ６８、Ａ／Ｄ変換器６９、Ｉ／０インターフェース７１、又はＲＳ２３２Ｃ通信回路７２の操作情報を読み出した後カウンタ６８のカウント値をクリアする。これにより、カウンタ６８は次の割込み周期迄の間に入力されるパルスの計数を開始する。
【０１０５】
続いて、上記の動作を、オペレータによる操作と関連して更に説明する。上記の無限ループの処理において、オペレータが例えばトラックボール７４−１を操作すると、トラックボール７４−１から２軸それぞれのＡ相／Ｂ相の方形波信号がカウンタ６８出力される。
【０１０６】
カウンタ６８は、入力する上記の出力信号を、パルス信号と方向信号とに変換する。そしてＣＰＵ６３は、無限ループの状態に対してタイマ６４による周期的な割込みが入ると、この周期によって定まる一定時間内の上記変換されたパルス信号のカウント値を読み出し、カウンタ６８をクリアして割込みを終了する。
【０１０７】
ＣＰＵ６３は、割込みを終了すると無限ループの処理に戻り、上記読み出したパルス信号のカウント値を操作入力値記録用ＥＥＰＲＯＭ７５へ記録する。またそのパルス信号のカウント値を操作値・速度変換用ＥＥＰＲＯＭ６５へ入力することにより、操作値・速度変換用ＥＥＰＲＯＭ６５からの出力としてトラックボール７４−１の操作速度に比例した移動速度値を得る。
【０１０８】
この移動速度値は、移動速度値記録用ＥＥＰＲＯＭ７６に記録される。次に上記移動速度値とタイマ６４の割込み周期とを乗算することにより移動目標座標値を算出し、移動目標座標値記録用ＥＥＰＲＯＭ７７に記録する。
そしてＣＰＵ６３は、通信コントロールＩＣ５６を介して受信している各アクチュエータの現在位置座標値を現在位置座標記録用ＥＥＰＲＯＭ７８に記録する。次に各アクチュエータ動作状態と、上記移動速度値とからアクチュエータ制御命令を作成する。次にＣＰＵ６３は上記作成されたアクチュエータ制御命令と上記アクチュエータの移動状態とを制御情報として制御状態記録用ＥＥＰＲＯＭ７９に記録する。
【０１０９】
そしてＣＰＵ６３は上記アクチュエータ制御命令を通信コントロールＩＣ５６へ出力する。これにより、通信コントロールＩＣ５６及びシリアル通信ライン５１を介して指定されたアクチュエータ制御装置５４にアクチュエータ制御命令が送信され、指定されたアクチュエータ制御装置５４のモータコントロールＩＣ８０は算出された移動速度で一定速移動命令を実行するか、指定された速度に速度変更するか、移動停止する。
【０１１０】
トラックボール７４−１により信号が出力されてから、指定されたアクチュエータ制御装置５４での一定速移動命令が実行されるまでの、一連の動作は、タイマ６４による周期割込みと同一の一定時間毎に繰り返され、制御情報が制御情報記録部７３に順次記録されてゆく。
【０１１１】
また、制御情報を外部に読み出したい場合には、パソコン８４から軸操作装置５３にＲＳ２３２Ｃ通信回路６７を介して制御情報読み出し命令を送信する。ＣＰＵ６３は制御情報読み出し命令が有るかの判定を無限ループの処理内で行なっているので、制御情報読み出し命令の入力有りの場合は制御情報記録部７３から制御情報の読み出しを行ない、ＲＳ２３２Ｃ通信回路６７を介してパソコン８４に返信する。
【０１１２】
また、オペレータがジョイスティック７４−２を操作すると、ジョイスティック７４−２から２軸それぞれの電圧値が出力され、Ａ／Ｄ変換器６９へ入力される。そしてＣＰＵ６３は、無限ループの処理中にタイマ６４による周期的な割込みが入ると、その割込みタイミングでの電圧値をデジタルデータヘ変換して読み出し、割込みを終了する。
【０１１３】
ＣＰＵ６３は、割込みを終了すると無限ループの処理に戻り、上記読み出した電圧値のデジタルデータを操作入力値記録用ＥＥＰＲＯＭ７５へ記録すると共にその電圧値のデジタルデータを操作値・速度変換用ＥＥＰＲＯＭ６５に入力し、この入力に対応する操作値・速度変換用ＥＥＰＲＯＭ６５の出力から、ジョイスティック７４−２の操作角度に比例した移動速度値を算出する。この算出された移動速度値は移動速度値記録用ＥＥＰＲＯＭ７６に記録される。
【０１１４】
次に、ＣＰＵ６３は、上記算出された移動速度値とタイマ６４の割込み周期とを乗算することにより、移動目標座標値を算出し、この算出した移動目標座標値を移動目標座標値記録用ＥＥＰＲＯＭ７７に記録する。
そして、ＣＰＵ６３は、通信コントロールＩＣ５６から受信している各アクチュエータの現在位置座標値を現在位置座標記録用ＥＥＰＲＯＭ７８に記録する。次に各アクチュエータ動作状態と、前算出された記移動速度値とからアクチュエータ制御命令を作成する。そしてＣＰＵ６３は上記作成されたアクチュエータ制御命令と上記アクチュエータの移動状態とを制御情報として制御状態記録用ＥＥＰＲＯＭ７９に記録する。
【０１１５】
次に、ＣＰＵ６３は、上記アクチュエータ制御命令を通信コントロールＩＣ５６へ出力する。これにより、通信コントロールＩＣ５６及びシリアル通信ライン５１を介して指定されたアクチュエータ制御装置５４にアクチュエータ制御命令が送信され、指定されたアクチュエータ制御装置５４のモータコントロールＩＣ８０は、設定された移動速度にて一定速移動命令を実行するか、指定された速度に速度変更するか、移動停止する。
【０１１６】
ジョイスティック７４−２により信号が出力されてから、指定されたアクチュエータ制御装置５４での一定速移動命令が実行されるまでの、一連の動作は、タイマ６４による周期割込みと同一の一定時間毎に繰り返され、制御情報が制御情報記録部７３に順次記録されてゆく。
【０１１７】
制御情報を外部に読み出したい場合には、オペレータがパソコン８４を操作して、パソコン８４から軸操作装置５３にＲＳ２３２Ｃ通信回路６７を介して制御情報読み出し命令を送信する。ＣＰＵ６３は制御情報読み出し命令が有るかの判定を無限ループにて行なっているので、制御情報読み出し命令の入力有り場合は制御情報記録部７３から制御情報の読み出しを行ない、ＲＳ２３２Ｃ通信回路６７を介してパソコン８４に返信する。
【０１１８】
また、オペレータが方向スイッチ７４−３を操作すると、方向スイッチ７４−３からそれぞれの電圧値が出力され、Ｉ／０インターフェース７１へ入力される。そして、ＣＰＵ６３は、無限ループの処理中にタイマ６４による周期的な割込みが入ると、その割込みタイミングでのＩ／０入力状態を読み出し、割込みを終了する。ＣＰＵ６３は、割込みを終了すると無限ループヘ戻り、上記読み出したＩ／０入力状態を操作入力値記録用ＥＥＰＲＯＭ７５へ記録する。
次に、ＣＰＵ６３は、上記読み出したＩ／０入力状態を操作値・速度変換用ＥＥＰＲＯＭ６５に入力して、この入力に対応する操作値・速度変換用ＥＥＰＲＯＭ６５の出力から、方向スイッチ７４−３の操作状態に対応した移動速度値を算出する。この算出された移動速度値は移動速度値記録用ＥＥＰＲＯＭ７６に記録される。
【０１１９】
次に、ＣＰＵ６３は、上記算出された移動速度値とタイマ６４の割込み周期とを乗算することにより移動目標座標値を算出し、この算出した移動目標座標値を移動目標座標値記録用ＥＥＰＲＯＭ７７に記録する。
そして、ＣＰＵ６３は、通信コントロールＩＣ５６から受信している各アクチュエータの現在位置座標値を現在位置座標記録用ＥＥＰＲＯＭ７８に記録し、更に、各アクチュエータ動作状態と、算出された上記移動速度値とからアクチュエータ制御命令を作成する。
【０１２０】
続いて、ＣＰＵ６３は、上記作成されたアクチュエータ制御命令と上記アクチュエータの移動状態とを制御情報として制御状態記録用ＥＥＰＲＯＭ７９に記録すると共に、上記アクチュエータ制御命令を通信コントロールＩＣ５６へ出力する。
【０１２１】
これにより、通信コントロールＩＣ５６及びシリアル通信ライン５１を介して指定されたアクチュエータ制御装置５４にアクチュエータ制御命令が送信され、指定されたアクチュエータ制御装置５４のモータコントロールＩＣ８０は、上記算出された移動速度で一定速移動命令を実行するか、指定された速度に速度変更するか、移動停止する。
【０１２２】
方向スイッチ７４−３により信号が出力されてから、指定されたアクチュエータ制御装置５４により一定速移動命令が実行されるまでの、一連の動作は、タイマ６４による周期割込みと同一の一定時間毎に繰り返され、制御情報が制御情報記録部７３に順次記録されてゆく。
【０１２３】
この場合も、制御情報を外部に読み出したい場合には、オペレータがパソコン８４を操作して、パソコン８４から軸操作装置５３にＲＳ２３２Ｃ通信回路６７を介して制御情報読み出し命令を送信する。ＣＰＵ６３は制御情報読み出し命令が有るかの判定を無限ループにて行なっているので、制御情報読み出し命令の入力有り場合は制御情報記録部７３から制御情報の読み出しを行ない、ＲＳ２３２Ｃ通信回路６７を介してパソコン８４に返信する。
【０１２４】
尚、方向スイッチの場合の操作値・速度変換用ＥＥＰＲＯＭ６５に書き込まれている操作値・速度変換データは、操作値と速度が１：１に成るように構成しても良い。
また、オペレータがティーチングペンダント７４−４を操作すると、軸操作装置５３のＲＳ２３２Ｃ通信回路７２に、ＲＳ２３２Ｃ通信形式による速度情報と方向情報から成る制御データが入力される。ＣＰＵ６３は、無限ループの処理中にタイマ６４による周期的な割込みが入ると、ＲＳ２３２Ｃ通信回路７２にバッファリングされている上記の制御データを読み出し、割込みを終了する。
【０１２５】
ＣＰＵ６３は、割込みを終了すると無限ループの処理に戻り、上記読み出した制御データを操作入力値記録用ＥＥＰＲＯＭ７５へ記録する。また上記読み出した通信データからアクチュエータの移動速度値を抽出し、移動速度値記録用ＥＥＰＲＯＭ７６に記録する。
【０１２６】
次に、ＣＰＵ６３は、上記抽出した移動速度値とタイマ６４の割込み周期とを乗算することにより移動目標座標値を算出し、この算出した移動目標座標値を移動目標座標値記録用ＥＥＰＲＯＭ７７に記録する。
そして、ＣＰＵ６３は、通信コントロールＩＣ５６から受信している各アクチュエータの現在位置座標値を現在位置座標値記録用ＥＥＰＲＯＭ７８に記録すると共に、各アクチュエータ動作状態と、上記抽出された移動速度値とからアクチュエータ制御命令を作成する。そしてＣＰＵ６３は上記作成されたアクチュエータ制御命令と上記アクチュエータの移動状態とを制御情報として制御状態記録用ＥＥＰＲＯＭ７９に記録する。
【０１２７】
続いて、ＣＰＵ６３は、上記アクチュエータ制御命令を通信コントロールＩＣ５６へ出力する。これにより、通信コントロールＩＣ５６及びシリアル通信ライン５１を介して指定されたアクチュエータ制御装置５４にアクチュエータ制御命令が送信され、指定されたアクチュエータ制御装置５４のモータコントロールＩＣ８０は、指定された移動速度にて一定速移動命令を実行するか、指定された速度に速度変更するか、移動停止する。
【０１２８】
ティーチングペンダント７４−４により信号が出力されてから、指定されたアクチュエータ制御装置５４での一定速移動命令が実行される迄の一連の動作は、タイマ６４による周期割込みと同一の一定時間毎に繰り返され、その制御情報が制御情報記録部７３に順次記録されてゆく。
【０１２９】
この場合も、制御情報を外部に読み出したい場合には、オペレータがパソコン８４を操作して、パソコン８４から軸操作装置５３にＲＳ２３２Ｃ通信回路６７を介して制御情報読み出し命令を送信する。ＣＰＵ６３は制御情報読み出し命令が有るかの判定を無限ループにて行なっているので、制御情報読み出し命令の入力有り場合は制御情報記録部７３から制御情報の読み出しを行ない、ＲＳ２３２Ｃ通信回路６７を介してパソコン８４に返信する。
【０１３０】
尚、本実施の形態では、操作入力値記録用ＥＥＰＲＯＭ７５、移動速度値記録用ＥＥＰＲＯＭ７６、移動目標座標値記録用ＥＥＰＲＯＭ７７、現在位置座標記録用ＥＥＰＲＯＭ７８、制御状態記録用ＥＥＰＲＯＭ７９、及び操作値・速度変換用ＥＥＰＲＯＭ６５の複数のＥＥＰＲＯＭを用いているが、メモリ容量に問題が無い場合には、一つのメモリ装置にまとめた構成にしても良い。
【０１３１】
また、本実施の形態では、システム異常発生時の原因が通信コントロールＩＣ５６やシリアル通信ライン５１にある場合でも、パソコン８４によって制御情報を読み出せるようにＲＳ２３２Ｃ通信回路部６７を設けているが、異常状態での原因調査の可能範囲を、軸操作装置５３と軸操作機器７４の接続確認のみに限定する場合には、ＲＳ２３２Ｃ通信回路６７を削除または使用しない構成とし、且つ軸操作装置５３のＲＯＭ６６に格納されるプログラムを変更することにより、ホスト制御装置５２からシリアル通信ライン５１及び通信コントロールＩＣ５６を介して制御情報を読み出すことができる。
【０１３２】
また、ティーチングペンダント７４−４により制御情報を取り出したい場合も同様であり、ＲＳ２３２Ｃ通信回路６７を削除または使用しない構成とし、且つ軸操作装置５３のＲＯＭ６６に格納されるプログラムを変更することにより、ティーチングペンダント７４−４からＲＳ２３２Ｃ通信回路７２を介して制御情報を読み出すことができる。
【０１３３】
このように、第１の実施の形態によれば、複数のアクチュエータ制御装置と軸操作装置をシリアル通信ラインに接続し、軸操作装置によって複数のアクチュエータ制御を個別に行なう分散制御システムの軸操作装置において、手動操作される複数の軸操作機器を接続し、上記アクチュエータ制御装置の現在位置座標とアクチュエータ状態を読み取り、操作値と速度値とから移動速度と移動目標座標とを算出し、所定時間毎のタイマ割込みにより上記移動速度をアクチュエータ移動命令に変換し、上記シリアル信号ラインを介して上記指定されたアクチュエータ制御装置に出力するよう通信制御すると共に、上記手動操作される複数の軸操作機器からの操作入力値と、上記演算算出手段により抽出及び算出される移動速度値、移動目標座標値、アクチュエータ制御命令と、アクチュエータ制御装置の現在位置座標値と、アクチュエータ状態とを制御情報として記録するので、操作機器に演算処理機能が有る無しに拘わり無く、制御情報を取得して記録装置に記録することが可能となる。
【０１３４】
また、複数のアクチュエータ制御装置と軸操作装置を接続し、制御に使用している通信と別系統の通信系を軸操作装置と他の外部装置との間に備えることにより、外部装置により制御情報を取得し保存することができる。
これにより、装置の異常等の不具合が発生した場合に、記録装置から読み出した又は外部装置により読み出されている操作入力値、移動速度値、移動目標座標値、現在位置座標値、制御状態値等の各種の多彩な制御情報を分析することにより、異常発生の原因の解析と究明が容易となり、確実な改善策を構築して、発生した不具合を早期に復旧することが容易となる。
【０１３５】
図４は、第２の実施の形態における軸操作装置とホスト制御装置と複数のアクチュエータ制御装置とで構成される分散制御システムを示す図である。尚、同図には、図２に示した構成と同一構成部分には図２の場合と同一の番号を付与して示している。
【０１３６】
図４に示すように、この分散制御システムは、シリアル通信ライン５１を介して、ホスト制御装置８７、軸操作装置８８、及び複数のアクチュエータ制御装置５４（５４−１、・・・、５４−ｎ）が、それぞれ通信コントロールＩＣ８９、５６、及び５７（５７−１、・・・、５７−ｎ）により相互に接続されている。これらの接続は、それぞれ任意に分離可能である。
【０１３７】
ホスト制御装置８７は、上記の通信コントロールＩＣ８９と、この通信コントロールＩＣ８９に接続されたＣＰＵ９２及びこのＣＰＵ９２に接続されたＲＯＭ９３及びＲＳ２３２Ｃ通信回路９４を備えている。
これらの通信コントロールＩＣ８９、ＣＰＵ９２及びＲＯＭ９３の構成及び機能は、図２に示した分散制御システムのホスト制御装置５２の通信コントロールＩＣ５５、ＣＰＵ５８及びＲＯＭ５９の構成及び機能と同様である。また、図４のＲＳ２３２Ｃ通信回路９４の構成及び機能は、図２に示した分散制御システムのパソコン８４の同図には図示を省略したＲＳ２３２Ｃ通信回路の構成及び機能と同様である。また、ホスト制御装置８７には、キーボード８６の他に状態監視用のモニタ９５が接続されている。
【０１３８】
また、本例における軸操作装置８８は、図２に示した軸操作装置５３の構成から、制御情報記録部７３と、操作判別部としてのＡ／Ｄ変換器６９、Ｉ／Ｏインターフェース７１、及びＲＳ２３２Ｃ通信回路７２を取り除いた構成となっている。残る他の構成部分の機能は図２の構成の機能と同一である。
【０１３９】
また、操作判別部としてカウンタ６８のみが設けられていることにより、これに対応する軸操作機器７４′としてトラックボール７４−１のみが軸操作装置８８に接続された構成となっていて、図２の構成の軸操作機器７４のうちのジョイスティック７４−２、方向スイッチ７４−３、及びティーチングペンダント７４−４とを取り除いた構成となっている。図４のカウンタ６８及びトラックボール７４−１の構成及び機能は、図２のカウンタ６８及びトラックボール７４−１の構成及び機能と同一である。
【０１４０】
そして、本例における軸操作装置８８おいては、各種の制御情報を記録する制御情報記録部７３が無い代わりに、制御系のシリアル通信ライン５１とは別系統の通信ライン９６を介して軸操作装置８８のＲＳ２３２Ｃ通信回路６７とホスト制御装置８７のＲＳ２３２Ｃ通信回路９４とが接続されている。これにより、各種の制御情報は、図２の場合のように制御情報記録部７３に記録されることなく直ちに、ＲＳ２３２Ｃ通信回路６７、通信ライン９６、及びＲＳ２３２Ｃ通信回路９４を介してホスト制御装置８７に読み込まれ、モニタ９５の表示画面に表示される。
【０１４１】
図５は、上記第２の実施形態における軸操作装置８８のＣＰＵ６３により実行される処理動作を示すフローチャートである。尚、ホスト制御装置８７からの各種命令に対応してＣＰＵ６３が処理を実行する場合のソフトウェアプログラムについては、ここでは図示と説明を省略する。
【０１４２】
図５において、動作Ａ１は、システム起動後に軸操作装置８８のハードウェアに関する各種初期設定を行なう動作である。すなわち、システム稼動時に、アクチュエータ制御装置５４やモータドライバ８１、モータ８２、検出器８３、及び軸操作装置８８、トラックボール７４−１、ホスト制御装置８７等に電源が投入されると、軸操作装置８８のＣＰＵ６３は、通信コントロールＩＣ５６、タイマ６４、カウンタ６８、ＲＳ２３２Ｃ通信回路６７等の初期化や設定を行なう。
【０１４３】
動作Ｂ１は、主に軸操作装置５３において、オペレータが選択する各種初期設定を行なう動作である。すなわち、ＣＰＵ６３は、次に、トラックボール７４−１で操作するアクチュエータ制御装置５４の軸指定、トラックボール７４−１で操作する最高速度の設定等を行なう。
【０１４４】
これらの設定指示は、オペレータによるホスト制御装置８７のキーボード８６からの入力操作より入力される。この入力された軸操作装置８８に対する設定指示は、ホスト制御装置８７から、通信コントロールＩＣ８９、シリアル通信ライン５１、及び通信コントロールＩＣ５６による通信を介して行なわれる。
【０１４５】
動作Ｅ１は、カウンタ６８に入力値があるか否かを判断する動作である。この処理では、トラックボール７４−１での操作出力であるパルスをカウントするカウンタ６８に、カウントした操作入力値があるか否かを判断する。
そして、操作入力値が無ければ、動作Ｅ１の処理を繰り返して、トラックボール７４−１からの操作出力を待機する。そして、操作入力値があれば、動作Ｆ１の処理に進む。
【０１４６】
動作Ｆ１では、カウンタ６８に操作入力値があった場合の処理を実行する、すなわち、ＣＰＵ６３は、ＲＳ２３２Ｃ通信回路６７及び通信ライン９６を介して操作入力値をホスト制御装置５２に送信すると共に、動作Ｇ１の処理を行う。
動作Ｇ１では、ＣＰＵ６３は、操作値・速度変換用ＥＥＰＲＯＭ６５に予め格納されている操作入力値と速度が比例するデータテーブルを参照し、カウンタ６８の操作入力値に応じたアクチュエータ制御装置５４の移動速度を算出する。
【０１４７】
動作Ｈ１では、ＣＰＵ６３は、動作Ｇ１の処理により算出された移動速度値をＲＳ２３２Ｃ通信回路６７及び通信ライン９６を介してホスト制御装置８７に送信する。
動作Ｉ１では、ＣＰＵ６３は、動作Ｇ１の処理により算出された移動速度値とタイマ６４の周期とを乗算することにより、各アクチュエータの移動目標座標値を算出する。
【０１４８】
動作Ｊ１では、ＣＰＵ６３は、動作Ｉ１により算出された上記各アクチュエータの移動目標座標値を、ＲＳ２３２Ｃ通信回路６７及び通信ライン９６を介してホスト制御装置５２に送信する。
動作Ｋ１では、ＣＰＵ６３は、更にホスト制御装置５２に、通信コントロールＩＣ５６が定期的に受信している各アクチュエータの現在位置座標値をＲＳ２３２Ｃ通信回路６７及び通信ライン９６を介して送信する。
【０１４９】
動作Ｌ１では、ＣＰＵ６３は、通信コントロールＩＣ５６が定期的に受信している移動中状態、停止状態、異常発生状態等の各アクチユエータ動作状態と操作値・速度変換用ＥＥＰＲＯＭ６５から算出されたアクチュエータ制御装置５４の移動速度とに基づいて、一定速度移動開始命令、移動中の速度変更命令、停止命令のいずれかの命令を選択し、選択された命令が停止命令であれば、そのままアクチュエータ制御命令を作成し、他方、一定速度移動開始命令または移動中の速度変更命令の場合は、上記動作Ｈ１の処理により算出されている移動速度値を伴うアクチュエータ制御命令を作成する。
【０１５０】
動作Ｍ１では、ＣＰＵ６３は、動作Ｌ１の処理により作成されるアクチュエータ制御命令と、通信コントロールＩＣ５６が定期的に受信している各アクチュエータ動作状態とを、制御情報として、ＲＳ２３２Ｃ通信回路６７及び通信ライン９６を介してホスト制御装置８７に送信する。
【０１５１】
動作Ｎ１では、ＣＰＵ６３は、動作Ｍ１の処理により作成された移動命令を通信コントロールＩＣ５６及びシリアル通信ライン５１を介してアクチュエータ制御装置５４に出力し、そして、動作Ｅ１の処理に戻って、無限ループの処理である動作Ｅ１〜動作Ｎ１の処理を繰り返す。
【０１５２】
この動作Ｅ１〜Ｎ１の無限ループの処理中におけるシリアル通信の受信時等に通信コントロールＩＣ５６等により発生する通信関連動作０１が割込みとして発生する。この動作０１は、動作Ｅ１〜動作Ｎ１、及び後述する動作Ｐ１よりも優先する動作である。
【０１５３】
動作０１では、ＣＰＵ６３は、各アクチュエータ制御装置５４や軸操作装置８８等の状態監視命令、モータ制御命令等を優先した動作として実行する。
更に、上記の動作Ｅ１〜Ｎ１の無限ループの処理中において、タイマ６４により周期的に発生する割込み動作Ｐ１が発生する。この動作Ｐ１は、動作Ｅ１〜動作Ｎ１の無限ループの処理よりも優先する動作である。また、この動作Ｐ１の発生周期は、動作Ａ１の処理で行なわれたタイマ６４への初期設定によって設定されている。そして、その周期は、動作０１の発生間隔よりも充分に長い期間となっている。
【０１５４】
動作Ｐ１では、ＣＰＵ６３は、カウンタ６８の操作情報を読み出した後、カウンタ６８のカウント値をクリアする。これにより、カウンタ６８は、次の割込み周期迄の間に入力されるパルスのカウントを開始する。
続いて、上記の動作を、オペレータによる操作と関連して更に説明する。上記の無限ループの処理において、オペレータがトラックボール７４−１を操作すると、トラックボール７４−１から２軸それぞれのＡ相／Ｂ相の方形波信号が出力され、それを入力したカウンタ６８はパルス信号と方向信号とに変換する。
【０１５５】
そして、ＣＰＵ６３は、無限ループの処理中にタイマ６４による周期的な割込みが入ると、この周期によって定まる一定時間内の上記変換されたパルス信号のカウント値を読み出し、カウンタ６８をクリアして割込みを終了する。
ＣＰＵ６３は、割込みを終了すると無限ループの処理に戻り、上記読み出したパルス信号のカウント値をＲＳ２３２Ｃ通信回路６７及び通信ライン９６を介してホスト制御装置８７に送信する。
【０１５６】
また、ＣＰＵ６３は、操作値・速度変換用ＥＥＰＲＯＭ６５に予め格納されている操作入力値と速度が比例するデータテーブルを参照して、上記のパルスカウント値に対応するトラックボール７４−１の操作速度に比例した移動速度値を得る。そして、この得られた移動速度値を、ＲＳ２３２Ｃ通信回路６７及び通信ライン９６を介してホスト制御装置８７に送信する。
【０１５７】
続いて、ＣＰＵ６３は、上記得られた移動速度値とタイマ６４の割込み周期とを乗算することにより移動目標座標値を算出し、この算出した移動目標座標値をＲＳ２３２Ｃ通信回路６７及び通信ライン９６を介してホスト制御装置８７に送信する。
【０１５８】
更に、ＣＰＵ６３は、通信コントロールＩＣ５６から受信している各アクチュエータの現在位置座標値を、ＲＳ２３２Ｃ通信回路６７及び通信ライン９６を介してホスト制御装置８７に送信する。
次に、ＣＰＵ６３は、各アクチュエータ動作状態と、上記移動速度値とからアクチュエータ制御命令を作成する。そして、ＣＰＵ６３は、上記作成されたアクチュエータ制御命令と上記アクチュエータの移動状態とを、制御情報として、ＲＳ２３２Ｃ通信回路６７及び通信ライン９６を介してホスト制御装置８７に送信する。
【０１５９】
また、それと共にＣＰＵ６３は、上記アクチュエータ制御命令を通信コントロールＩＣ５６へ出力する。これにより、通信コントロールＩＣ５６、シリアル通信ライン５１を介して、指定されたアクチュエータ制御装置５４にアクチュエータ制御命令が送信される。そして、この指定されたアクチュエータ制御装置５４のモータコントロールＩＣ８０は、設定された移動速度により一定速移動命令を実行するか、指定された速度に速度変更するか、移動停止する。
【０１６０】
トラックボール７４−１により信号が出力されてから、指定されたアクチュエータ制御装置５４での一定速移動命令が実行されるまでの、一連の動作は、タイマ６４による周期割込みと同一の一定時間毎に繰り返される。
その結果、ホスト制御装置８７はリアルタイムで、操作入力値、移動速度値、移動目標座標値、現在位置座標値、モータ制御状態値から成る制御情報を取得することが可能となり、制御情報を入力値として用いたリアルタイムな所望の処理を行うことが可能となる。
【０１６１】
このような制御情報の処理方法の応用例としては、例えば操作入力状態値とアクチュエータの現在位置座標値をリアルタイムにモニタ表示することにより、操作機器の操作と、モータ移動動作とを、イメージし易く表示する装置が挙げられる。
【０１６２】
また、その他の応用例としては、移動目標座標値と現在目標座標値を比較し、アクチュエータが取り付けられた軸の歪みや撓みを検査する方法や、アクチュエータの現在位置座標が一定の範囲内であることを確認しつつサーボチューニングを行う調整方法等が挙げられる。
【０１６３】
【発明の効果】
以上説明したように、本発明によれば、操作機器の演算処理機能の有無に関わらず操作入力値、移動速度値、移動目標座標値、現在位置座標値、制御状態値等の各種多彩な制御情報を軸操作装置側で取得して、この取得した制御情報を記録装置に記録することが可能となる。
【０１６４】
また、制御に使用している通信系とは別系統の通信系を備えて各種多彩な制御情報を外部装置により読み出せるようにしたので、制御通信系統に異常が発生した場合でも、別通信系統の外部装置により制御情報を取得することができる。
このように、各種多彩な制御情報を記録装置に記録又は外部装置で取得するので、システムや各装置の異常等の不具合が発生した場合に、記録装置から読み出した又は外部装置で取得した各種多彩な制御情報を分析して異常発生の原因の解析と究明が容易となり、これにより、確実な改善策を構築して、発生した不具合を早期に復旧することが容易となる。
【０１６５】
また、同様に、制御に使用している通信系とは別系統の通信系を備えて各種多彩な制御情報をホスト制御装置等の外部装置により読み出せるようにしたので、各種多彩な制御情報をリアルタイムで外部装置に出力することができ、これにより、外部装置はタイムラグ無く制御情報を得ることができると共に、制御情報を入力値として用いたリアルタイムな所望の処理を行うことが可能となる。
【図面の簡単な説明】
【図１】複数のアクチュエータ制御装置を制御する分散制御システムにおいて本発明の軸操作装置を用いた場合の基本構成を示す図である。
【図２】第１の実施の形態における軸操作装置とホスト制御装置と複数のアクチュエータ制御装置とで構成される分散制御システムを示す図である。
【図３】第１の実施形態における軸操作装置のＣＰＵにより実行される処理動作を示すフローチャートである。
【図４】第２の実施の形態における軸操作装置とホスト制御装置と複数のアクチュエータ制御装置とで構成される分散制御システムを示す図である。
【図５】第２の実施形態における軸操作装置のＣＰＵにより実行される処理動作を示すフローチャートである。
【図６】（ａ），（ｂ）　は従来の位置決め運転装置の構成を示す図である。
【図７】従来の複数のアクチュエータの制御が可能な分散制御システムに係わる軸操作装置の構成を示す図である。
【符号の説明】
１　　教示装置
２　　位置決めコントローラ
２−１　位置決めコントローラ側コネクタ
３　　通信線
３−１　通信線側コネクタ
４−１、４−２、４−３　ケーブル
５　　プログラマブルコントローラ
６　　ホスト機器
７−１、７−２　ケーブル
８　　モータコントローラ
９　　ロボット
１０−１、１０−２　アーム
１１　手首軸
１２　ハンド
１３　ホスト制御装置
１４（１４−１、１４−２、１４−３）　アクチュエータ制御装置
１５　軸操作装置
１６　シリアル通信線
１７（１７−１、１７−２、１７−３）　モータ
１８（１８−１、１８−２、１８−３）　軸操作機器
１９　シリアル通信ライン
２０　ホスト制御装置
２１　軸操作装置
２２（２２−１、２２−２、・・・、２２−ｎ）　アクチュエータ制御装置
２３、２４、２５（２５−１、２５−２、・・・、２５−ｎ）　通信コントローラ
２６　演算制御部
２７　メモリ
２８　演算制御部
２９　操作値・速度変換部
３１　メモリ
３２　制御情報出力部
３３（３３−１、３３−２、３３−３、３３−４）　操作判別部
３４　制御情報記録部
３５　外部配線
３６　制御情報モニタ部
３７　タイマ部
３８　演算部
３９（３９−１、３９−２、３９−３、３９−４）　軸操作機器
４１　操作入力値記録部
４２　移動速度値記録部
４３　移動目標座標値記録部
４４　現在位置座標値記録部
４５　制御状態記録部
４６（４６−１、４６−２、・・・、４６−ｎ）　モータコントローラ
４７（４７−１、４７−２、・・・、４７−ｎ）　モータドライバ
４８（４８−１、４８−２、・・・、４８−ｎ）　モータ
４９（４９−１、４９−２、・・・）　検出器
５１　シリアル通信ライン
５２　ホスト制御装置
５３　軸操作装置
５４（５４−１、・・・、５４−ｎ）　アクチュエータ制御装置
５５、５６、５７（５７−１、・・・、５７−ｎ）　通信コントロールＩＣ
５８　ＣＰＵ
５９　ＲＯＭ
６１　バス
６２　演算制御部
６３　ＣＰＵ
６４　タイマ
６５　操作値・速度変換用ＥＥＰＲＯＭ
６６　ＲＯＭ
６７　ＲＳ２３２Ｃ通信回路
６８　カウンタ
６９　Ａ／Ｄ変換器
７１　Ｉ／Ｏインターフェース
７２　ＲＳ２３２Ｃ通信回路
７３　制御情報記録部
７４　軸操作機器
７４−１　トラックボール
７４−２　ジョイスティック
７４−３　方向スイッチ
７４−４　ティーチングペンダント
７５　操作入力値記録用ＥＥＰＲＯＭ
７６　移動速度値記録用ＥＥＰＲＯＭ
７７　移動目標座標値記録用ＥＥＰＲＯＭ
７８　現在位置座標値記録用ＥＥＰＲＯＭ
７９　制御状態記録用ＥＥＰＲＯＭ
８０（８０−１、・・・、８０−ｎ）　モータコントロールＩＣ
８１（８１−１、・・・、８１−ｎ）　モータドライバ
８２（８２−１、・・・、８２−ｎ）　モータ
８３（８３−１、・・・）　回転情報検出器
８４　パーソナルコンピュータ
８５　通信ライン
８６　キーボード
８７　ホスト制御装置
８８　軸操作装置
８９　通信コントロールＩＣ
９２　ＣＰＵ
９３　ＲＯＭ
９４　ＲＳ２３２Ｃ通信回路
９５　モニタ
９６　通信ライン
【図１】
2004038855.tif 000003
【図２】
2004038855.tif 000004
【図３】
2004038855.tif 000005
【図４】
2004038855.tif 000006
【図５】
2004038855.tif 000007
【図６】
2004038855.tif 000008
【図７】
2004038855.tif 000009