JP3568151B2 - ロボットの実行処理システム - Google Patents
ロボットの実行処理システム Download PDFInfo
- Publication number
- JP3568151B2 JP3568151B2 JP19322199A JP19322199A JP3568151B2 JP 3568151 B2 JP3568151 B2 JP 3568151B2 JP 19322199 A JP19322199 A JP 19322199A JP 19322199 A JP19322199 A JP 19322199A JP 3568151 B2 JP3568151 B2 JP 3568151B2
- Authority
- JP
- Japan
- Prior art keywords
- robot
- subprogram
- program
- processing system
- operation program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Numerical Control (AREA)
- Manipulator (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、動作プログラムに基づいてロボットに所定の動作を実行させるロボットの実行処理システムに関するものである。
【0002】
【従来の技術】
例えば、ロボットの実行処理システムは、ロボットが行なうn段階の一連の動作を各段階の動作毎にブロック化し、各ブロック毎のロボットの動作に対応した動作プログラムを有するサブプログラムを備え、メインプログラムにより所定の順番でサブプログラムを呼び出して実行するものがある。
【0003】
以下、図2及び図3に基づいて、4気筒エンジンのバルブ装置の組付けを行なうロボットの実行処理システムについて説明する。
【0004】
図2に示すように、この4気筒エンジンは、エンジンヘッド6の4つの各気筒に吸・排気孔 (In1〜Ex4)が1つずつあるもので、8つのバルブ装置8が組付けられる。(ここで、Inは吸気孔を示し、Exは排気孔を示し、In,Exに添えた数字はそれぞれ、気筒に設定された所定の順番を示す。以下、本明細書において同じ。)
ロボット2は、バルブ装置8を、各吸・排気孔に所定の順番で組付けるものである。例えば、気筒に設定された所定の順番で4つの吸気孔(In1〜In4)にそれぞれバルブ装置8を組付けた後、同じく気筒に設定された所定の順番で4つの排気孔(Ex1〜Ex4)にそれぞれバルブ装置8を組付けるものである。
【0005】
コンピュータ4は、ロボット2に所定の動作を実行させる実行処理システムを備える。実行処理システムは、ロボット2の一連の動作を各吸・排気孔(In1〜Ex4)毎に、8つにブロック化した各動作プログラムに基づいて、ロボット2に各所定の動作を実行させる。以下、各吸・排気孔(In1〜Ex4)へバルブ装置8を組付けるロボットの一連の動作を、各吸・排気孔の動作毎にブロック化した各動作プログラムは、各吸・排気孔(In1〜Ex4)の記号に対応させて、それぞれIn1,In2,In3,In4,Ex1,Ex2,Ex3,Ex4と表わす。
【0006】
実行処理システムは、図3(B)に示す、ブロック化した8つサブプログラム(Sub1〜Sub8)と、図3(A)に示す、サブプログラムを所定の順番で実行させるメインプログラムとを備える。
【0007】
図3(B)に示すように、8つのサブプログラム(Sub1〜Sub8)は、動作プログラム(In1,In2,In3,In4,Ex1,Ex2,Ex3,Ex4)を、順番に各一つずつ備え、各動作プログラムの実行が完了した直後に、変数xの値をその次に実行する動作プログラムに対応する値に書き換えるプログラムを付加したものである。変数xは、サブプログラムとメインプログラムとの間で引数として処理されるものである。
【0008】
図3(A)に示すように、メインプログラムは、変数xの初期値を「1」に設定し、1番目のサブプログラムを呼び出した後、変数xの値に基づいて、対応する動作プログラムを有するサブプログラム(Sub1〜Sub8)を呼び出す分岐処理部12を備える。
【0009】
以下、上記ロボットの実行処理システムの処理を説明する。
【0010】
図3(A)に示すように、まず、メインプログラムは、変数xの初期値が「1」であることに基づく分岐処理により、サブプログラム(Sub1)を呼び出して実行する。これにより、ロボット2は、動作プログラム(In1)に基づく所定の動作を実行して、吸気孔(In1)にバルブ装置8を組付ける。その後、サブプログラム(Sub1)内で、動作プログラム(In1)の実行が完了した直後で、変数xの値が「2」に書換えられる。次に、メインプログラムは、変数xの値が「2」であることに基づく分岐処理により、サブプログラム(Sub2)を呼び出して実行し、以下同様に、サブプログラム(Sub3〜Sub8)を順番に呼び出して実行する。これにより、ロボット2は、所定の順番で各吸・排気孔(In1〜Ex4)にバルブ装置8の組付け作業を行なう。
【0011】
また、この実行処理システムは、上述のようにサブプログラム中の動作プログラムの実行が完了した直後に、変数xの値を書換えることで、実行中の動作プログラムが何であるかを記録する。これにより、例えばロボット2がバルブ装置を組付ける作業中に動作不良を起した場合等で、何れかのサブプログラムの実行中に、当該サブプログラム中の動作プログラムで実行処理システムが一次的に停止した場合は、変数xの値が書換わらない。このため、その後、ロボットの作業を再開する場合に、メインプログラムは、変数xの値に基づく分岐処理により、当該実行が途中で中断した動作プログラムを有するサブプログラムから順番にサブプログラムを呼び出すことで、ロボット2の作業を再開することができる。
【0012】
また、サブプログラム(Sub8)は、一連の動作プログラムの最後にあたる動作プログラム(Ex4)の実行が完了した後、変数xの値を「1」に書換えるので、一のエンジンヘッドにバルブ装置8の組付け作業が終了した場合に、エンジンヘッドを次のものに取替えると、メインプログラムは、変数xの値が「1」であることに基づく分岐処理により、サブプログラム(Sub1)を実行し、以下、サブプログラム内で書換わる変数xの値に基づく分岐処理により、サブプログラム(Sub2〜Sub8)を順番に実行する。このように、このロボットの実行処理システムは、メインプログラムが変数xの値に基づく分岐処理により、ロボット2がエンジンヘッド6にバルブ装置8を組付ける作業を繰返し行なうように構成している。
【0013】
【発明が解決しようとする課題】
ところで、上述の実行処理システムは、例えば、図3(A)示すように、一のエンジンヘッドにすべてのバルブ装置を組付ける間に、メインプログラムが各サブプログラムを呼び出すための分岐処理が合計8つある。この場合、メインプログラムがサブプログラムを呼び出す分岐処理を行なっている間は、ロボットの動作が一次的に停止する。このように、あるサブプログラムから次に実行されるサブプログラムへ分岐処理により移行する際に、ロボット2は一旦減速して停止し、その後再び加速するという動作をするため、ロボットの作業サイクルタイムが長くなっている。
【0014】
そこで、本発明は、複数n段階の一連の動作を、ブロック化した動作プログラムを順番にロボットに実行させるロボットの実行処理システムの作業サイクルタイムを短縮することを目的とする。
【0015】
【課題を解決するための手段】
本発明に係るロボットの実行処理システムは、複数n段階の一連の動作を、メインプログラムと、該メインプログラムから分岐して前記n段階の動作にそれぞれ対応したn個の動作プログラムを有するサブプログラムに基づいてロボットに実行させるロボットの実行処理システムにおいて、前記n段階のうちの最初からi番目の動作プログラムから始まってn番目の動作プログラムまでを連続的に実行するn個のサブプログラムと(i=1,2…,n)、前記メインプログラムから、前記n個のサブプログラムのうちの1番目のサブプログラム(i=1)に分岐する分岐手段と、前記サブプログラムで実行中の動作プログラムが何であるかを常時記録すると共に、ロボットの実行処理システムが一時的に停止した後再開するときに、前記分岐手段に対して、前記記録に基づいて、実行処理システムの一時停止で中断した動作プログラムから始まるサブプログラムを分岐先として変更指示する分岐指示手段とを具備したことを特徴とする。
【0016】
【発明の実施の形態】
以下、本発明の一実施形態に係るロボットの実行処理システムについて図面に基づいて説明する。
【0017】
図1及び図2に基づいて、本発明に係るロボットの実行処理システムを、4気筒エンジンのバルブ装置の組付けを行なうロボットの実行処理システムに適用した実施形態について説明する。
【0018】
図2に示すように、この4気筒エンジンは、エンジンヘッド6の4つの気筒に吸・排気孔が1つずつあるもので、8つのバルブ装置が組付けられる。ロボット2がバルブ装置8を組付ける動作は、例えば、気筒に設定された所定の順番で4つの吸気孔(In1〜In4)にそれぞれバルブ装置8を組付けた後、同じく気筒に設定された所定の順番で4つの排気孔(Ex1〜Ex4)にそれぞれバルブ装置8を組付けるものである。このロボット2の一連の動作は、各吸・排気孔(In1〜Ex4)毎に8つにブロック化されており、コンピュータ4はブロック化された各動作プログラムを順番に実行してロボット2の動作を制御する。
【0019】
各吸・排気孔(In1〜Ex4)へバルブ装置8を組付けるブロック化された動作プログラムを、各吸・排気孔(In1〜Ex4)の記号に対応させて、それぞれIn1,In2,In3,In4,Ex1,Ex2,Ex3,Ex4と表わす。また、図1(A),(B)中の変数xは、サブプログラムとメインプログラムとの間で引数として処理されるもので、サブプログラム中で実行中の動作プログラムが何れであるかを記録するものある。ここで、動作プログラムの「実行中」とは、当該動作プログラムの直前に実行された動作プログラムが完了した直後から、当該動作プログラムの実行が完了するまでの期間をいう。
【0020】
コンピュータ4は、図1(A)に示す、変数xの値に基づいて所定のサブプログラムを実行させるメインプログラムと、図1(B)に示す、メインプログラムから分岐して実行する8つサブプログラム(Sub1〜Sub8)とを備える。
【0021】
図1(A)に示すように、メインプログラムは、例えば、分岐手段又は分岐指示手段として、メインプログラム中に初期値を1として設定した変数xと、変数xの値に基づく分岐処理により、コンピュータ4に備えたサブプログラム(Sub1〜Sub8)の中から所定のサブプログラムを呼び出して実行する分岐処理部10とを具備する。すなわち、メインプログラムは、例えば変数xが「” k” 」である場合に、対応するk番目の動作プログラムから始まるサブプログラム (Sub” k” )を呼び出して実行する(kは、1以上8以下の整数である)。
【0022】
図1(B)に示すように、各サブプログラム(Sub1〜Sub8)は、所定の順番で連続的に実行する動作プログラムと、実行中の動作プログラムが何れであるかを常時記録するように変数xの値を書き換えるプログラムとを連続的に構成したものである。
【0023】
図1(B)に示すように、サブプログラム(Sub1〜Sub8)はそれぞれ以下のように構成する。なお、各サブプログラム内のIn1乃至Ex4は、それぞれ対応する吸・排気孔のバルブ装置の組付けを行なう動作プログラムを示す。→は、その前後のプログラムが連続していることを示す。また、x=kは、変数xの値をkに書換えるプログラムである。
【0024】
サブプログラム(Sub1)は、In1→x=2→In2→x=3→In3→x=4→In4→x=5→Ex1→x=6→Ex2→x=7→Ex3→x=8→Ex4→x=1を順番に実行するように構成する。
【0025】
サブプログラム(Sub2)は、In2→x=3→In3→x=4→In4→x=5→Ex1→x=6→Ex2→x=7→Ex3→x=8→Ex4→x=1を順番に実行するように構成する。
【0026】
サブプログラム(Sub3)は、In3→x=4→In4→x=5→Ex1→x=6→Ex2→x=7→Ex3→x=8→Ex4→x=1に示すように構成する。
【0027】
サブプログラム(Sub4)は、In4→x=5→Ex1→x=6→Ex2→x=7→Ex3→x=8→Ex4→x=1を順番に実行するように構成する。
【0028】
サブプログラム(Sub5)は、Ex1→x=6→Ex2→x=7→Ex3→x=8→Ex4→x=1を順番に実行するように構成する。
【0029】
サブプログラム(Sub6)は、Ex2→x=7→Ex3→x=8→Ex4→x=1を順番に実行するように構成する。
【0030】
サブプログラム(Sub7)は、Ex3→x=8→Ex4→x=1を順番に実行するように構成する。
【0031】
サブプログラム(Sub8)は、Ex4→x=1を順番に実行するように構成する。
【0032】
すなわち、k番目のサブプログラムは、ロボット2の8段階の動作のうち、最初からk番目の動作プログラムから始まって8番目の動作プログラムまでを連続的に実行する。また、実行中の動作プログラムが何れであるかを常時記録する変数xの値は、サブプログラム内で、各動作プログラムの実行が完了した直後に、次に実行される動作プログラムに対応する値に書換えられる。また、変数xは、各サブプログラム内でロボットの一連の動作の最後にあたる8番目の動作プログラム(Ex4)が完了した場合に、一連の動作の最初にあたる1番目の動作プログラム(In1)に対応する値「1」に書換えられる。
【0033】
以下、上記ロボットの実行処理システムの処理を説明する。
【0034】
図1(A)に示すように、まず、メインプログラムは、変数xの値が初期値「1」であることに基づく分岐処理により、サブプログラム(Sub1)を呼び出して実行する。サブプログラム(Sub1)は、動作プログラム(In1〜Ex4)を所定の順番で連続的に実行し、各吸・排気孔(In1〜Ex4)に各バルブ装置8を組付ける動作を、ロボット2に実行させる。この場合に、サブプログラム(Sub1)内の各動作プログラム(In1〜Ex4)がすべて実行された場合は、それにより一つのエンジンヘッドに対する各バルブ装置8の組付けが終了する。この場合、1つのエンジンヘッドに付き分岐処理は1回である。
【0035】
また、サブプログラム(Sub1)の実行中に、例えば、ロボット2が吸気孔(In3)にバルブ装置8を組付ける作業中に動作不良を起し、サブプログラム(Sub1)内の動作プログラム(In3)が実行途中で中断した場合など、ロボットの実行処理システムが一次的に停止した後は、その直前の動作プログラム(In2)の実行が完了した直後で、変数xの値が動作プログラム(In3)に対応する「3」に書換えられているので、その後ロボットの作業を再開する場合に、メインプログラムは分岐処理部10において変数xの値が「3」であることに基づく分岐処理により、サブプログラム(Sub3)を呼び出して、動作の中断した動作プログラム(In3)から始まって以下の動作プログラム(In4〜Ex4)を連続的に実行してロボット2の作業を再開する。
【0036】
また、この場合、さらにサブプログラム(Sub3)の実行中に、例えばロボット2が吸気孔(Ex1)にバルブ装置8を組付ける作業中に動作不良を起し、サブプログラム(Sub3)内の動作プログラム(Ex1)が実行途中で中断した場合は、その直前の動作プログラム(In4)の実行が完了した直後で、変数xの値が動作プログラム(Ex1)に対応した「5」に書換えられているので、その後ロボットの作業を再開する場合に、メインプログラムは変数xの値が 「5」であることに基づく分岐処理により、サブプログラム(Sub5)を呼び出して、動作の中断した動作プログラム(Ex5)から始まって以下の動作プログラムを連続的に実行してロボット2の作業を再開する。
【0037】
このように、サブプログラムを実行中において、ロボットの実行処理システムが一次的に停止した場合は、その後再開する時に、メインプログラムは、分岐処理部10において、実行中の動作プログラムが何れであるかを記録する変数xの値に基づく分岐処理を行ない、中断した動作プログラムから始まって以下の動作プログラムを連続的に実行するサブプログラムを呼び出してロボットの作業を再開することができる。
【0038】
このような実行処理システムによれば、ロボット実行処理システムが一次停止しない場合において、一のエンジンヘッドにバルブ装置を組付ける場合のメインプログラムの分岐処理が、最初にサブプログラム(Sub1)を呼び出す1回の分岐処理のみで済み、かつ、サブプログラム (Sub1)は各動作プログラム(In1〜Ex4)を連続的に実行するので、各ブロック化された作業間の減速・停止・再加速という動作が無くなって、ロボット2の動作がスムーズになり、ロボット2の作業サイクルタイムを短縮することができる。
【0039】
また、サブプログラムの実行中に、例えばロボットの作業に動作不良が生じて当該サブプログラム内の何れかの動作プログラムで実行処理システムが一次停止した場合は、変数xが中断した動作プログラムが何れであるかを記録しており、メインプログラムはその変数xに基づく1回の分岐処理で、中断のあった動作プログラムから始まって以下の動作プログラムを連続的に実行する所定のサブプログラムを呼び出すので、分岐処理の回数を必要最小限に抑えることができ、かつ、そのサブプログラムは、各動作プログラムを連続的に実行するので、各ブロック化された作業間の減速・停止・再加速という動作が無くなって、ロボットの動作がスムーズになり、ロボットの作業サイクルタイムを短縮することができる。
【0040】
また、各サブプログラムは、一連の動作プログラム(In1〜Ex4)の最後に当たる動作プログラム(Ex4)の実行が完了した直後に、変数xの値を最初に実行すべき動作プログラム (In1)に対応する「1」に書換えるので、一のエンジンヘッドにバルブ装置8の組付け作業が終了した場合に、エンジンヘッドを次のものに取替えると、メインプログラムは、変数xの値が「1」であることに基づく分岐処理により、サブプログラム(Sub1)を実行する。このように、このロボットの実行処理システムは、メインプログラムが変数xの値に基づく分岐処理により、ロボット2がエンジンヘッド6にバルブ装置8を組付ける作業を繰返し行なうように構成している。
【0041】
以上、本願発明の一実施形態に係るロボットの実行処理システムについて説明したが、本願発明は上記実施形態に限定されるものではなく、例えば、適用されるロボットの作業や、プログラム中の変数等は種々の変更が可能である。
【0042】
【発明の効果】
本発明に係るロボットの実行処理システムは、n段階のうちの最初からi番目の動作プログラムから始まってn番目の動作プログラムまでを連続的に実行するn個のサブプログラムと(i=1,2…,n)、メインプログラムから、前記n個のサブプログラムのうちの1番目のサブプログラム(i=1)に分岐する分岐手段と、サブプログラムで実行中の動作プログラムが何であるかを常時記録すると共に、ロボットの実行処理システムが一時的に停止した後再開するときに、分岐手段に対して、その記録に基づいて、実行処理システムの一時停止で中断した動作プログラムから始まるサブプログラムを分岐先として変更指示する分岐指示手段とを具備するので、以下の効果を有する。
【0043】
▲1▼実行処理システムが一次停止しない場合において、メインプログラムの分岐処理が最初に1番目のサブプログラムを呼び出す1回の分岐処理のみで済み、かつ、1番目のサブプログラム実行中は各動作プログラムを連続的に実行するので、各ブロック化された作業間の減速・停止・再加速という動作が無くなって、ロボットの動作がスムーズになり、ロボットの作業サイクルタイムを短縮することができる。
【0044】
▲2▼また、実行処理システムは、実行中の動作プログラムが何れであるかを常時記録し、実行途中で一次停止した実行処理システムを再開する場合に、メインプログラムは、その記録に基づく1回の分岐処理で、中断のあった動作プログラムから始まって以下の動作プログラムを連続的に実行する所定のサブプログラムを呼び出すので、分岐処理の回数を必要最小限に抑えることができ、かつ、そのサブプログラムは、各動作プログラムを連続的に実行するので、各ブロック化された作業間の減速・停止・再加速という動作が無くなって、ロボットの動作がスムーズなものとなり、ロボットの作業サイクルタイムを短縮することができる。
【図面の簡単な説明】
【図1】(A)は、本発明の一実施形態に係るロボットの実行処理システムのメインプログラムの概要を示す図、(B)は、本発明の一実施形態に係るロボットの実行処理システムのサブプログラムの一覧を示す図。
【図2】4気筒エンジンのエンジンヘッドにバルブ装置を取付けるロボットの概略図。
【図3】(A)は、ロボットの実行処理システムのメインプログラムの概要を示す図、 (B)は、本発明の一実施形態に係るロボットの実行処理システムのサブプログラムの一覧を示す図。
【符号の説明】
2 ロボット
4 コンピュータ
6 エンジンヘッド
8 バルブ装置
10 分岐処理部
【発明の属する技術分野】
本発明は、動作プログラムに基づいてロボットに所定の動作を実行させるロボットの実行処理システムに関するものである。
【0002】
【従来の技術】
例えば、ロボットの実行処理システムは、ロボットが行なうn段階の一連の動作を各段階の動作毎にブロック化し、各ブロック毎のロボットの動作に対応した動作プログラムを有するサブプログラムを備え、メインプログラムにより所定の順番でサブプログラムを呼び出して実行するものがある。
【0003】
以下、図2及び図3に基づいて、4気筒エンジンのバルブ装置の組付けを行なうロボットの実行処理システムについて説明する。
【0004】
図2に示すように、この4気筒エンジンは、エンジンヘッド6の4つの各気筒に吸・排気孔 (In1〜Ex4)が1つずつあるもので、8つのバルブ装置8が組付けられる。(ここで、Inは吸気孔を示し、Exは排気孔を示し、In,Exに添えた数字はそれぞれ、気筒に設定された所定の順番を示す。以下、本明細書において同じ。)
ロボット2は、バルブ装置8を、各吸・排気孔に所定の順番で組付けるものである。例えば、気筒に設定された所定の順番で4つの吸気孔(In1〜In4)にそれぞれバルブ装置8を組付けた後、同じく気筒に設定された所定の順番で4つの排気孔(Ex1〜Ex4)にそれぞれバルブ装置8を組付けるものである。
【0005】
コンピュータ4は、ロボット2に所定の動作を実行させる実行処理システムを備える。実行処理システムは、ロボット2の一連の動作を各吸・排気孔(In1〜Ex4)毎に、8つにブロック化した各動作プログラムに基づいて、ロボット2に各所定の動作を実行させる。以下、各吸・排気孔(In1〜Ex4)へバルブ装置8を組付けるロボットの一連の動作を、各吸・排気孔の動作毎にブロック化した各動作プログラムは、各吸・排気孔(In1〜Ex4)の記号に対応させて、それぞれIn1,In2,In3,In4,Ex1,Ex2,Ex3,Ex4と表わす。
【0006】
実行処理システムは、図3(B)に示す、ブロック化した8つサブプログラム(Sub1〜Sub8)と、図3(A)に示す、サブプログラムを所定の順番で実行させるメインプログラムとを備える。
【0007】
図3(B)に示すように、8つのサブプログラム(Sub1〜Sub8)は、動作プログラム(In1,In2,In3,In4,Ex1,Ex2,Ex3,Ex4)を、順番に各一つずつ備え、各動作プログラムの実行が完了した直後に、変数xの値をその次に実行する動作プログラムに対応する値に書き換えるプログラムを付加したものである。変数xは、サブプログラムとメインプログラムとの間で引数として処理されるものである。
【0008】
図3(A)に示すように、メインプログラムは、変数xの初期値を「1」に設定し、1番目のサブプログラムを呼び出した後、変数xの値に基づいて、対応する動作プログラムを有するサブプログラム(Sub1〜Sub8)を呼び出す分岐処理部12を備える。
【0009】
以下、上記ロボットの実行処理システムの処理を説明する。
【0010】
図3(A)に示すように、まず、メインプログラムは、変数xの初期値が「1」であることに基づく分岐処理により、サブプログラム(Sub1)を呼び出して実行する。これにより、ロボット2は、動作プログラム(In1)に基づく所定の動作を実行して、吸気孔(In1)にバルブ装置8を組付ける。その後、サブプログラム(Sub1)内で、動作プログラム(In1)の実行が完了した直後で、変数xの値が「2」に書換えられる。次に、メインプログラムは、変数xの値が「2」であることに基づく分岐処理により、サブプログラム(Sub2)を呼び出して実行し、以下同様に、サブプログラム(Sub3〜Sub8)を順番に呼び出して実行する。これにより、ロボット2は、所定の順番で各吸・排気孔(In1〜Ex4)にバルブ装置8の組付け作業を行なう。
【0011】
また、この実行処理システムは、上述のようにサブプログラム中の動作プログラムの実行が完了した直後に、変数xの値を書換えることで、実行中の動作プログラムが何であるかを記録する。これにより、例えばロボット2がバルブ装置を組付ける作業中に動作不良を起した場合等で、何れかのサブプログラムの実行中に、当該サブプログラム中の動作プログラムで実行処理システムが一次的に停止した場合は、変数xの値が書換わらない。このため、その後、ロボットの作業を再開する場合に、メインプログラムは、変数xの値に基づく分岐処理により、当該実行が途中で中断した動作プログラムを有するサブプログラムから順番にサブプログラムを呼び出すことで、ロボット2の作業を再開することができる。
【0012】
また、サブプログラム(Sub8)は、一連の動作プログラムの最後にあたる動作プログラム(Ex4)の実行が完了した後、変数xの値を「1」に書換えるので、一のエンジンヘッドにバルブ装置8の組付け作業が終了した場合に、エンジンヘッドを次のものに取替えると、メインプログラムは、変数xの値が「1」であることに基づく分岐処理により、サブプログラム(Sub1)を実行し、以下、サブプログラム内で書換わる変数xの値に基づく分岐処理により、サブプログラム(Sub2〜Sub8)を順番に実行する。このように、このロボットの実行処理システムは、メインプログラムが変数xの値に基づく分岐処理により、ロボット2がエンジンヘッド6にバルブ装置8を組付ける作業を繰返し行なうように構成している。
【0013】
【発明が解決しようとする課題】
ところで、上述の実行処理システムは、例えば、図3(A)示すように、一のエンジンヘッドにすべてのバルブ装置を組付ける間に、メインプログラムが各サブプログラムを呼び出すための分岐処理が合計8つある。この場合、メインプログラムがサブプログラムを呼び出す分岐処理を行なっている間は、ロボットの動作が一次的に停止する。このように、あるサブプログラムから次に実行されるサブプログラムへ分岐処理により移行する際に、ロボット2は一旦減速して停止し、その後再び加速するという動作をするため、ロボットの作業サイクルタイムが長くなっている。
【0014】
そこで、本発明は、複数n段階の一連の動作を、ブロック化した動作プログラムを順番にロボットに実行させるロボットの実行処理システムの作業サイクルタイムを短縮することを目的とする。
【0015】
【課題を解決するための手段】
本発明に係るロボットの実行処理システムは、複数n段階の一連の動作を、メインプログラムと、該メインプログラムから分岐して前記n段階の動作にそれぞれ対応したn個の動作プログラムを有するサブプログラムに基づいてロボットに実行させるロボットの実行処理システムにおいて、前記n段階のうちの最初からi番目の動作プログラムから始まってn番目の動作プログラムまでを連続的に実行するn個のサブプログラムと(i=1,2…,n)、前記メインプログラムから、前記n個のサブプログラムのうちの1番目のサブプログラム(i=1)に分岐する分岐手段と、前記サブプログラムで実行中の動作プログラムが何であるかを常時記録すると共に、ロボットの実行処理システムが一時的に停止した後再開するときに、前記分岐手段に対して、前記記録に基づいて、実行処理システムの一時停止で中断した動作プログラムから始まるサブプログラムを分岐先として変更指示する分岐指示手段とを具備したことを特徴とする。
【0016】
【発明の実施の形態】
以下、本発明の一実施形態に係るロボットの実行処理システムについて図面に基づいて説明する。
【0017】
図1及び図2に基づいて、本発明に係るロボットの実行処理システムを、4気筒エンジンのバルブ装置の組付けを行なうロボットの実行処理システムに適用した実施形態について説明する。
【0018】
図2に示すように、この4気筒エンジンは、エンジンヘッド6の4つの気筒に吸・排気孔が1つずつあるもので、8つのバルブ装置が組付けられる。ロボット2がバルブ装置8を組付ける動作は、例えば、気筒に設定された所定の順番で4つの吸気孔(In1〜In4)にそれぞれバルブ装置8を組付けた後、同じく気筒に設定された所定の順番で4つの排気孔(Ex1〜Ex4)にそれぞれバルブ装置8を組付けるものである。このロボット2の一連の動作は、各吸・排気孔(In1〜Ex4)毎に8つにブロック化されており、コンピュータ4はブロック化された各動作プログラムを順番に実行してロボット2の動作を制御する。
【0019】
各吸・排気孔(In1〜Ex4)へバルブ装置8を組付けるブロック化された動作プログラムを、各吸・排気孔(In1〜Ex4)の記号に対応させて、それぞれIn1,In2,In3,In4,Ex1,Ex2,Ex3,Ex4と表わす。また、図1(A),(B)中の変数xは、サブプログラムとメインプログラムとの間で引数として処理されるもので、サブプログラム中で実行中の動作プログラムが何れであるかを記録するものある。ここで、動作プログラムの「実行中」とは、当該動作プログラムの直前に実行された動作プログラムが完了した直後から、当該動作プログラムの実行が完了するまでの期間をいう。
【0020】
コンピュータ4は、図1(A)に示す、変数xの値に基づいて所定のサブプログラムを実行させるメインプログラムと、図1(B)に示す、メインプログラムから分岐して実行する8つサブプログラム(Sub1〜Sub8)とを備える。
【0021】
図1(A)に示すように、メインプログラムは、例えば、分岐手段又は分岐指示手段として、メインプログラム中に初期値を1として設定した変数xと、変数xの値に基づく分岐処理により、コンピュータ4に備えたサブプログラム(Sub1〜Sub8)の中から所定のサブプログラムを呼び出して実行する分岐処理部10とを具備する。すなわち、メインプログラムは、例えば変数xが「” k” 」である場合に、対応するk番目の動作プログラムから始まるサブプログラム (Sub” k” )を呼び出して実行する(kは、1以上8以下の整数である)。
【0022】
図1(B)に示すように、各サブプログラム(Sub1〜Sub8)は、所定の順番で連続的に実行する動作プログラムと、実行中の動作プログラムが何れであるかを常時記録するように変数xの値を書き換えるプログラムとを連続的に構成したものである。
【0023】
図1(B)に示すように、サブプログラム(Sub1〜Sub8)はそれぞれ以下のように構成する。なお、各サブプログラム内のIn1乃至Ex4は、それぞれ対応する吸・排気孔のバルブ装置の組付けを行なう動作プログラムを示す。→は、その前後のプログラムが連続していることを示す。また、x=kは、変数xの値をkに書換えるプログラムである。
【0024】
サブプログラム(Sub1)は、In1→x=2→In2→x=3→In3→x=4→In4→x=5→Ex1→x=6→Ex2→x=7→Ex3→x=8→Ex4→x=1を順番に実行するように構成する。
【0025】
サブプログラム(Sub2)は、In2→x=3→In3→x=4→In4→x=5→Ex1→x=6→Ex2→x=7→Ex3→x=8→Ex4→x=1を順番に実行するように構成する。
【0026】
サブプログラム(Sub3)は、In3→x=4→In4→x=5→Ex1→x=6→Ex2→x=7→Ex3→x=8→Ex4→x=1に示すように構成する。
【0027】
サブプログラム(Sub4)は、In4→x=5→Ex1→x=6→Ex2→x=7→Ex3→x=8→Ex4→x=1を順番に実行するように構成する。
【0028】
サブプログラム(Sub5)は、Ex1→x=6→Ex2→x=7→Ex3→x=8→Ex4→x=1を順番に実行するように構成する。
【0029】
サブプログラム(Sub6)は、Ex2→x=7→Ex3→x=8→Ex4→x=1を順番に実行するように構成する。
【0030】
サブプログラム(Sub7)は、Ex3→x=8→Ex4→x=1を順番に実行するように構成する。
【0031】
サブプログラム(Sub8)は、Ex4→x=1を順番に実行するように構成する。
【0032】
すなわち、k番目のサブプログラムは、ロボット2の8段階の動作のうち、最初からk番目の動作プログラムから始まって8番目の動作プログラムまでを連続的に実行する。また、実行中の動作プログラムが何れであるかを常時記録する変数xの値は、サブプログラム内で、各動作プログラムの実行が完了した直後に、次に実行される動作プログラムに対応する値に書換えられる。また、変数xは、各サブプログラム内でロボットの一連の動作の最後にあたる8番目の動作プログラム(Ex4)が完了した場合に、一連の動作の最初にあたる1番目の動作プログラム(In1)に対応する値「1」に書換えられる。
【0033】
以下、上記ロボットの実行処理システムの処理を説明する。
【0034】
図1(A)に示すように、まず、メインプログラムは、変数xの値が初期値「1」であることに基づく分岐処理により、サブプログラム(Sub1)を呼び出して実行する。サブプログラム(Sub1)は、動作プログラム(In1〜Ex4)を所定の順番で連続的に実行し、各吸・排気孔(In1〜Ex4)に各バルブ装置8を組付ける動作を、ロボット2に実行させる。この場合に、サブプログラム(Sub1)内の各動作プログラム(In1〜Ex4)がすべて実行された場合は、それにより一つのエンジンヘッドに対する各バルブ装置8の組付けが終了する。この場合、1つのエンジンヘッドに付き分岐処理は1回である。
【0035】
また、サブプログラム(Sub1)の実行中に、例えば、ロボット2が吸気孔(In3)にバルブ装置8を組付ける作業中に動作不良を起し、サブプログラム(Sub1)内の動作プログラム(In3)が実行途中で中断した場合など、ロボットの実行処理システムが一次的に停止した後は、その直前の動作プログラム(In2)の実行が完了した直後で、変数xの値が動作プログラム(In3)に対応する「3」に書換えられているので、その後ロボットの作業を再開する場合に、メインプログラムは分岐処理部10において変数xの値が「3」であることに基づく分岐処理により、サブプログラム(Sub3)を呼び出して、動作の中断した動作プログラム(In3)から始まって以下の動作プログラム(In4〜Ex4)を連続的に実行してロボット2の作業を再開する。
【0036】
また、この場合、さらにサブプログラム(Sub3)の実行中に、例えばロボット2が吸気孔(Ex1)にバルブ装置8を組付ける作業中に動作不良を起し、サブプログラム(Sub3)内の動作プログラム(Ex1)が実行途中で中断した場合は、その直前の動作プログラム(In4)の実行が完了した直後で、変数xの値が動作プログラム(Ex1)に対応した「5」に書換えられているので、その後ロボットの作業を再開する場合に、メインプログラムは変数xの値が 「5」であることに基づく分岐処理により、サブプログラム(Sub5)を呼び出して、動作の中断した動作プログラム(Ex5)から始まって以下の動作プログラムを連続的に実行してロボット2の作業を再開する。
【0037】
このように、サブプログラムを実行中において、ロボットの実行処理システムが一次的に停止した場合は、その後再開する時に、メインプログラムは、分岐処理部10において、実行中の動作プログラムが何れであるかを記録する変数xの値に基づく分岐処理を行ない、中断した動作プログラムから始まって以下の動作プログラムを連続的に実行するサブプログラムを呼び出してロボットの作業を再開することができる。
【0038】
このような実行処理システムによれば、ロボット実行処理システムが一次停止しない場合において、一のエンジンヘッドにバルブ装置を組付ける場合のメインプログラムの分岐処理が、最初にサブプログラム(Sub1)を呼び出す1回の分岐処理のみで済み、かつ、サブプログラム (Sub1)は各動作プログラム(In1〜Ex4)を連続的に実行するので、各ブロック化された作業間の減速・停止・再加速という動作が無くなって、ロボット2の動作がスムーズになり、ロボット2の作業サイクルタイムを短縮することができる。
【0039】
また、サブプログラムの実行中に、例えばロボットの作業に動作不良が生じて当該サブプログラム内の何れかの動作プログラムで実行処理システムが一次停止した場合は、変数xが中断した動作プログラムが何れであるかを記録しており、メインプログラムはその変数xに基づく1回の分岐処理で、中断のあった動作プログラムから始まって以下の動作プログラムを連続的に実行する所定のサブプログラムを呼び出すので、分岐処理の回数を必要最小限に抑えることができ、かつ、そのサブプログラムは、各動作プログラムを連続的に実行するので、各ブロック化された作業間の減速・停止・再加速という動作が無くなって、ロボットの動作がスムーズになり、ロボットの作業サイクルタイムを短縮することができる。
【0040】
また、各サブプログラムは、一連の動作プログラム(In1〜Ex4)の最後に当たる動作プログラム(Ex4)の実行が完了した直後に、変数xの値を最初に実行すべき動作プログラム (In1)に対応する「1」に書換えるので、一のエンジンヘッドにバルブ装置8の組付け作業が終了した場合に、エンジンヘッドを次のものに取替えると、メインプログラムは、変数xの値が「1」であることに基づく分岐処理により、サブプログラム(Sub1)を実行する。このように、このロボットの実行処理システムは、メインプログラムが変数xの値に基づく分岐処理により、ロボット2がエンジンヘッド6にバルブ装置8を組付ける作業を繰返し行なうように構成している。
【0041】
以上、本願発明の一実施形態に係るロボットの実行処理システムについて説明したが、本願発明は上記実施形態に限定されるものではなく、例えば、適用されるロボットの作業や、プログラム中の変数等は種々の変更が可能である。
【0042】
【発明の効果】
本発明に係るロボットの実行処理システムは、n段階のうちの最初からi番目の動作プログラムから始まってn番目の動作プログラムまでを連続的に実行するn個のサブプログラムと(i=1,2…,n)、メインプログラムから、前記n個のサブプログラムのうちの1番目のサブプログラム(i=1)に分岐する分岐手段と、サブプログラムで実行中の動作プログラムが何であるかを常時記録すると共に、ロボットの実行処理システムが一時的に停止した後再開するときに、分岐手段に対して、その記録に基づいて、実行処理システムの一時停止で中断した動作プログラムから始まるサブプログラムを分岐先として変更指示する分岐指示手段とを具備するので、以下の効果を有する。
【0043】
▲1▼実行処理システムが一次停止しない場合において、メインプログラムの分岐処理が最初に1番目のサブプログラムを呼び出す1回の分岐処理のみで済み、かつ、1番目のサブプログラム実行中は各動作プログラムを連続的に実行するので、各ブロック化された作業間の減速・停止・再加速という動作が無くなって、ロボットの動作がスムーズになり、ロボットの作業サイクルタイムを短縮することができる。
【0044】
▲2▼また、実行処理システムは、実行中の動作プログラムが何れであるかを常時記録し、実行途中で一次停止した実行処理システムを再開する場合に、メインプログラムは、その記録に基づく1回の分岐処理で、中断のあった動作プログラムから始まって以下の動作プログラムを連続的に実行する所定のサブプログラムを呼び出すので、分岐処理の回数を必要最小限に抑えることができ、かつ、そのサブプログラムは、各動作プログラムを連続的に実行するので、各ブロック化された作業間の減速・停止・再加速という動作が無くなって、ロボットの動作がスムーズなものとなり、ロボットの作業サイクルタイムを短縮することができる。
【図面の簡単な説明】
【図1】(A)は、本発明の一実施形態に係るロボットの実行処理システムのメインプログラムの概要を示す図、(B)は、本発明の一実施形態に係るロボットの実行処理システムのサブプログラムの一覧を示す図。
【図2】4気筒エンジンのエンジンヘッドにバルブ装置を取付けるロボットの概略図。
【図3】(A)は、ロボットの実行処理システムのメインプログラムの概要を示す図、 (B)は、本発明の一実施形態に係るロボットの実行処理システムのサブプログラムの一覧を示す図。
【符号の説明】
2 ロボット
4 コンピュータ
6 エンジンヘッド
8 バルブ装置
10 分岐処理部
Claims (1)
- 複数n段階の一連の動作を、メインプログラムと、該メインプログラムから分岐して前記n段階の動作にそれぞれ対応したn個の動作プログラムを有するサブプログラムに基づいてロボットに実行させるロボットの実行処理システムにおいて、
前記n段階のうちの最初からi番目の動作プログラムから始まってn番目の動作プログラムまでを連続的に実行するn個のサブプログラムと(i=1,2…,n)、
前記メインプログラムから、前記n個のサブプログラムのうちの1番目のサブプログラム(i=1)に分岐する分岐手段と、
前記サブプログラムで実行中の動作プログラムが何であるかを常時記録すると共に、ロボットの実行処理システムが一時的に停止した後再開するときに、前記分岐手段に対して、前記記録に基づいて、実行処理システムの一時停止で中断した動作プログラムから始まるサブプログラムを分岐先として変更指示する分岐指示手段とを具備したことを特徴とするロボットの実行処理システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19322199A JP3568151B2 (ja) | 1999-07-07 | 1999-07-07 | ロボットの実行処理システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19322199A JP3568151B2 (ja) | 1999-07-07 | 1999-07-07 | ロボットの実行処理システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001022421A JP2001022421A (ja) | 2001-01-26 |
JP3568151B2 true JP3568151B2 (ja) | 2004-09-22 |
Family
ID=16304338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP19322199A Expired - Fee Related JP3568151B2 (ja) | 1999-07-07 | 1999-07-07 | ロボットの実行処理システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3568151B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102310406B (zh) * | 2010-06-30 | 2013-12-18 | 华宝通讯股份有限公司 | 自动机械装置及其控制方法 |
JP6748146B2 (ja) | 2018-05-17 | 2020-08-26 | ファナック株式会社 | 制御装置、制御方法及び制御プログラム |
-
1999
- 1999-07-07 JP JP19322199A patent/JP3568151B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001022421A (ja) | 2001-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4006337B2 (ja) | 共有ライブラリを使用して実行可能ファイルの実行を修正する方法 | |
US5579220A (en) | Method of updating a supplementary automation system | |
JPH0437927A (ja) | プロセッサの処理方法 | |
JP3568151B2 (ja) | ロボットの実行処理システム | |
JP3770366B2 (ja) | 制御プログラムの開発環境装置、制御プログラムを実行する制御装置、並びに、それらを実現するプログラムの記録媒体 | |
JPH0991154A (ja) | スタック割り当て方法、制御装置 | |
JPH01100604A (ja) | プログラマブル・コントローラ及びその実行方式 | |
JPH03265027A (ja) | 計算機システムの初期化装置 | |
JPH0424732A (ja) | サーバ型プログラムの活性保守処理方法 | |
JPS63163636A (ja) | 並列処理実行方式 | |
JPH03105527A (ja) | パイプライン計算機におけるプログラムカウンタの構成方式 | |
JPH02113363A (ja) | マルチプロセッサシステムにおけるタイムスライス制御方式 | |
JP2773672B2 (ja) | 入力チェック方式 | |
JP4051644B2 (ja) | ネットワーク間接続装置における中継処理部制御方法 | |
JPH03233721A (ja) | 非リンク形式プログラム作成・実行方法 | |
JP3140442B2 (ja) | データ処理装置 | |
JPS6356728A (ja) | プログラム修正実行方式 | |
JPH09146900A (ja) | 並列分散処理システム | |
JPS62231371A (ja) | マルチプロセッサの起動停止制御方法 | |
JPH08171499A (ja) | デバッグ装置 | |
JPH01292536A (ja) | 複数os対応エミュレータ | |
JPH064319A (ja) | オペレーティング・システムにおける共有ルーチン管理方式 | |
JPS62147545A (ja) | 情報処理装置における転送命令処理方式 | |
JPH0421028A (ja) | レジスタ管理方法 | |
JP2000242524A (ja) | プロセッサのソフトウエアシミュレータ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040607 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040610 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040611 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110625 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |