JPH07129418A - マルチタスク環境でのプログラム制御方式 - Google Patents
マルチタスク環境でのプログラム制御方式Info
- Publication number
- JPH07129418A JPH07129418A JP5277985A JP27798593A JPH07129418A JP H07129418 A JPH07129418 A JP H07129418A JP 5277985 A JP5277985 A JP 5277985A JP 27798593 A JP27798593 A JP 27798593A JP H07129418 A JPH07129418 A JP H07129418A
- Authority
- JP
- Japan
- Prior art keywords
- program
- execution
- task
- work
- control means
- 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.)
- Pending
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Program-controlled manipulators
- B25J9/16—Program controls
- B25J9/1679—Program controls characterised by the tasks executed
- B25J9/1682—Dual arm manipulator; Coordination of several manipulators
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Program-control systems
- G05B19/02—Program-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of program data in numerical form
- G05B19/408—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of program data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
- G06F8/451—Code distribution
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34344—Standby commands, let proces wait while program controls other process
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34381—Multitasking
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34398—Channel stops and waits for marker until other channel puts that marker
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Manufacturing & Machinery (AREA)
- Human Computer Interaction (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Stored Programmes (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
(57)【要約】 (修正有)
【目的】 あるプログラムを実行して、このプログラム
に付随した関連プログラムも自動的に実行できるマルチ
タスク環境でのプログラム制御方式の提供。 【構成】 複数のプログラムの実行を制御するプログラ
ム実行制御手段1と、相互に関連性のある第1プログラ
ム2及び第2プログラム3と、第1プログラム2の中で
子タスク実行指示21を認識する子タスク実行認識手段
4と、第1プログラムの中の待機指示22と第2プログ
ラム3の中で第1プログラムのタスクと連携するタスク
が完了指示31とを受けて第1プログラムを続行させる
続行制御手段5とから構成される。第1プログラム2が
親タスクとして実行されているとき、子タスク実行認識
手段4で子タスク実行指示21が認識されると、第2プ
ログラム3が実行される。第1プログラム2が待機指示
22で待機していて第2プログラム3の完了指示31が
あると、続行制御手段5がプログラム実行制御手段1に
第1プログラムを続行させる。
に付随した関連プログラムも自動的に実行できるマルチ
タスク環境でのプログラム制御方式の提供。 【構成】 複数のプログラムの実行を制御するプログラ
ム実行制御手段1と、相互に関連性のある第1プログラ
ム2及び第2プログラム3と、第1プログラム2の中で
子タスク実行指示21を認識する子タスク実行認識手段
4と、第1プログラムの中の待機指示22と第2プログ
ラム3の中で第1プログラムのタスクと連携するタスク
が完了指示31とを受けて第1プログラムを続行させる
続行制御手段5とから構成される。第1プログラム2が
親タスクとして実行されているとき、子タスク実行認識
手段4で子タスク実行指示21が認識されると、第2プ
ログラム3が実行される。第1プログラム2が待機指示
22で待機していて第2プログラム3の完了指示31が
あると、続行制御手段5がプログラム実行制御手段1に
第1プログラムを続行させる。
Description
【0001】
【産業上の利用分野】本発明はマルチタスク環境でのプ
ログラム制御方式に関し、特に数値制御工作機械、産業
用ロボットなどの制御装置に適用して、各プログラムの
実行、一時停止、実行再開及び終了を容易にすることが
できるマルチタスク環境でのプログラム制御方式に関す
る。
ログラム制御方式に関し、特に数値制御工作機械、産業
用ロボットなどの制御装置に適用して、各プログラムの
実行、一時停止、実行再開及び終了を容易にすることが
できるマルチタスク環境でのプログラム制御方式に関す
る。
【0002】
【従来の技術】従来、数値制御工作機械、産業用ロボッ
トなどの制御装置においては、通常は1つのプログラム
だけを実行するといった場合が多く、周辺技術もこれに
合わせてシングルタスクで動くような構成になってい
る。ここで、プログラムとは、ユーザ側にて作成される
プログラムであって、ユーザプログラム、動作プログラ
ム、作業プログラム、ティーチィングプログラムなどと
呼ばれているものであり、ここでは単にプログラムとい
うことにする。
トなどの制御装置においては、通常は1つのプログラム
だけを実行するといった場合が多く、周辺技術もこれに
合わせてシングルタスクで動くような構成になってい
る。ここで、プログラムとは、ユーザ側にて作成される
プログラムであって、ユーザプログラム、動作プログラ
ム、作業プログラム、ティーチィングプログラムなどと
呼ばれているものであり、ここでは単にプログラムとい
うことにする。
【0003】最近、複数のプログラムを同時に走らせる
マルチタスクが数値制御装置やロボットの分野でも盛ん
になってきている。あるワークの加工ラインを例に取っ
てみると、たとえば、ワークを倉庫から取り出してくる
装置と、取り出されたワークを作業台まで搬送する機械
と、搬送されたワークを加工する工作機械とからなるシ
ステムがあった場合に、それぞれ関連する機能を実行す
る3つのプログラムは同時に実行される。これらのプロ
グラムはディジタル入力信号で同期を取りながら同時に
走っているが、基本的には、まったく別々のプログラム
として走っている。
マルチタスクが数値制御装置やロボットの分野でも盛ん
になってきている。あるワークの加工ラインを例に取っ
てみると、たとえば、ワークを倉庫から取り出してくる
装置と、取り出されたワークを作業台まで搬送する機械
と、搬送されたワークを加工する工作機械とからなるシ
ステムがあった場合に、それぞれ関連する機能を実行す
る3つのプログラムは同時に実行される。これらのプロ
グラムはディジタル入力信号で同期を取りながら同時に
走っているが、基本的には、まったく別々のプログラム
として走っている。
【0004】この場合、個々のプログラムの実行、一時
停止、実行再開又は終了に関しては制御したいプログラ
ムを1つひとつ指定して起動・停止するか、又は全部の
プログラムを同時に指定して起動・停止するようにして
いる。たとえば、第1及び第2のプログラムが一時停止
している状態にあり、この状態からこれらのプログラム
の実行を再開させようとする場合には、まず、第1のプ
ログラムを何らかの方法で選択して、具体的には、たと
えば教示操作盤でカーソルを移動させて選択するとか、
あるいは外部から入力した信号によって選択するという
ような方法で選択して、実行を再開させ、次に、同じよ
うな方法で第2のプログラムを選択し、実行させるよう
にしている。又は、一時停止しているすべてのプログラ
ムを一度に再開させるようにしている。
停止、実行再開又は終了に関しては制御したいプログラ
ムを1つひとつ指定して起動・停止するか、又は全部の
プログラムを同時に指定して起動・停止するようにして
いる。たとえば、第1及び第2のプログラムが一時停止
している状態にあり、この状態からこれらのプログラム
の実行を再開させようとする場合には、まず、第1のプ
ログラムを何らかの方法で選択して、具体的には、たと
えば教示操作盤でカーソルを移動させて選択するとか、
あるいは外部から入力した信号によって選択するという
ような方法で選択して、実行を再開させ、次に、同じよ
うな方法で第2のプログラムを選択し、実行させるよう
にしている。又は、一時停止しているすべてのプログラ
ムを一度に再開させるようにしている。
【0005】
【発明が解決しようとする課題】従来のプログラム制御
方式は、複数のプログラムを同時に実行することができ
るマルチタスク環境であっても、プログラムを1つひと
つ指定してから制御するという方法で行っているため、
一度に1つのプログラムしか実行できないシングルタス
ク環境での制御方式を単純に拡張したような形になって
いる。
方式は、複数のプログラムを同時に実行することができ
るマルチタスク環境であっても、プログラムを1つひと
つ指定してから制御するという方法で行っているため、
一度に1つのプログラムしか実行できないシングルタス
ク環境での制御方式を単純に拡張したような形になって
いる。
【0006】マルチタスクの環境で実行する場合に、プ
ログラムを1つひとつ指定してから制御するという方法
は、非常に面倒で手間がかかる上に、操作ミスを引き起
こしやすいという面がある。また、この方法は、外部か
らディジタル信号の入出力でプログラムの実行、一時停
止、実行の再開又は終了を行う、現在の自動化システム
には整合性が悪いという面がある。つまり、外部からデ
ィジタル信号で制御する構成はシングルタスクに対応し
て作られているので、通常、そのままではマルチタスク
にうまく対応できないという面がある。
ログラムを1つひとつ指定してから制御するという方法
は、非常に面倒で手間がかかる上に、操作ミスを引き起
こしやすいという面がある。また、この方法は、外部か
らディジタル信号の入出力でプログラムの実行、一時停
止、実行の再開又は終了を行う、現在の自動化システム
には整合性が悪いという面がある。つまり、外部からデ
ィジタル信号で制御する構成はシングルタスクに対応し
て作られているので、通常、そのままではマルチタスク
にうまく対応できないという面がある。
【0007】さらに、すべてのプログラムを全部起動し
たり、全部停止したりする方法は、マルチタスクという
柔軟性のあるシステムを構築できる環境にあるにも拘ら
ず、柔軟性に欠けており、システムの構成が自由に行え
ないという欠点がある。たとえば、一時停止の状態から
実行を再開させるとき、製造ラインのように一連の作業
の中で、既に作業が終わっていて再開させる必要のない
ロボットがあった場合にも、再開は全部一緒にしかでき
ず、選択的にすることができない。
たり、全部停止したりする方法は、マルチタスクという
柔軟性のあるシステムを構築できる環境にあるにも拘ら
ず、柔軟性に欠けており、システムの構成が自由に行え
ないという欠点がある。たとえば、一時停止の状態から
実行を再開させるとき、製造ラインのように一連の作業
の中で、既に作業が終わっていて再開させる必要のない
ロボットがあった場合にも、再開は全部一緒にしかでき
ず、選択的にすることができない。
【0008】本発明はこのような点に鑑みてなされたも
のであり、複数のプログラムが同時に実行することがで
きるマルチタスク環境でのプログラム制御方式におい
て、あるプログラムを実行することにより、このプログ
ラムに付随した関連するプログラムをも自動的に実行で
きるようにするマルチタスク環境でのプログラム制御方
式を提供することを目的とする。
のであり、複数のプログラムが同時に実行することがで
きるマルチタスク環境でのプログラム制御方式におい
て、あるプログラムを実行することにより、このプログ
ラムに付随した関連するプログラムをも自動的に実行で
きるようにするマルチタスク環境でのプログラム制御方
式を提供することを目的とする。
【0009】
【課題を解決するための手段】本発明では上記課題を解
決するために、複数のプログラムが同時に実行すること
ができる環境で工作機械又は産業用ロボットの動作プロ
グラムを実行させるマルチタスク環境でのプログラム制
御方式において、複数のプログラムの実行を制御するプ
ログラム実行制御手段と、前記プログラム実行制御手段
によって親タスクとして起動される第1プログラムと、
前記第1プログラムの中で子タスクの実行指示を認識す
る子タスク実行認識手段と、前記子タスク実行認識手段
での子タスク実行の認識に応答して前記プログラム実行
制御手段により子タスクとして起動される第2プログラ
ムと、前記第1プログラムの中の待機状態を表す指示と
前記第2プログラムの中で前記第1プログラムのタスク
と連携するタスクが完了したことを表す指示とを受けて
前記プログラム実行制御手段により前記第1プログラム
を続行させる続行制御手段とを備えていることを特徴と
するマルチタスク環境でのプログラム制御方式が提供さ
れる。
決するために、複数のプログラムが同時に実行すること
ができる環境で工作機械又は産業用ロボットの動作プロ
グラムを実行させるマルチタスク環境でのプログラム制
御方式において、複数のプログラムの実行を制御するプ
ログラム実行制御手段と、前記プログラム実行制御手段
によって親タスクとして起動される第1プログラムと、
前記第1プログラムの中で子タスクの実行指示を認識す
る子タスク実行認識手段と、前記子タスク実行認識手段
での子タスク実行の認識に応答して前記プログラム実行
制御手段により子タスクとして起動される第2プログラ
ムと、前記第1プログラムの中の待機状態を表す指示と
前記第2プログラムの中で前記第1プログラムのタスク
と連携するタスクが完了したことを表す指示とを受けて
前記プログラム実行制御手段により前記第1プログラム
を続行させる続行制御手段とを備えていることを特徴と
するマルチタスク環境でのプログラム制御方式が提供さ
れる。
【0010】
【作用】上述の手段によれば、選択された第1プログラ
ムはプログラム実行制御手段により親タスクとして実行
される。第1プログラムの中に子タスクの実行指示があ
ると、これを子タスク実行認識手段が認識し、プログラ
ム実行制御手段が第2プログラムを実行する。その間、
第1プログラムは実行を続け、第2プログラムの実行が
完了しないと続行できない待機の指示があれば、これを
続行制御手段に通知する。続行制御手段に第2プログラ
ムの完了が通知されると、プログラム実行制御手段は待
機していた第1プログラムを続行させる。
ムはプログラム実行制御手段により親タスクとして実行
される。第1プログラムの中に子タスクの実行指示があ
ると、これを子タスク実行認識手段が認識し、プログラ
ム実行制御手段が第2プログラムを実行する。その間、
第1プログラムは実行を続け、第2プログラムの実行が
完了しないと続行できない待機の指示があれば、これを
続行制御手段に通知する。続行制御手段に第2プログラ
ムの完了が通知されると、プログラム実行制御手段は待
機していた第1プログラムを続行させる。
【0011】
【実施例】以下、本発明の一実施例を図面に基づいて説
明する。図1は本発明によるプログラム制御方式の構成
を示すブロック図である。図において、1はプログラム
実行制御手段であり、第1プログラム2及び第2プログ
ラム3の実行を制御することができるよう構成されてい
る。第1プログラム2は、子タスク実行指示21及び待
機指示22を含んでいる。子タスク実行指示21は子タ
スク実行認識手段4によって認識されるよう構成され、
待機指示22は続行制御手段5にて検出されるよう構成
されている。第2プログラム3には完了指示31を含ん
でおり、続行制御手段5がその完了指示31を受けるよ
う構成されている。また、子タスク実行認識手段4及び
続行制御手段5の出力はプログラム実行制御手段1を制
御する入力に接続されている。
明する。図1は本発明によるプログラム制御方式の構成
を示すブロック図である。図において、1はプログラム
実行制御手段であり、第1プログラム2及び第2プログ
ラム3の実行を制御することができるよう構成されてい
る。第1プログラム2は、子タスク実行指示21及び待
機指示22を含んでいる。子タスク実行指示21は子タ
スク実行認識手段4によって認識されるよう構成され、
待機指示22は続行制御手段5にて検出されるよう構成
されている。第2プログラム3には完了指示31を含ん
でおり、続行制御手段5がその完了指示31を受けるよ
う構成されている。また、子タスク実行認識手段4及び
続行制御手段5の出力はプログラム実行制御手段1を制
御する入力に接続されている。
【0012】プログラムの起動では、第1プログラム2
及び第2プログラム3をマルチタスクとして起動するこ
とになるが、その起動方法は、第1プログラム2のみを
選択して起動するだけでよく、これはシングルタスクの
場合と同じで方法である。このようにして選択された第
1プログラム2はプログラム実行制御手段1により親タ
スクとして起動される。
及び第2プログラム3をマルチタスクとして起動するこ
とになるが、その起動方法は、第1プログラム2のみを
選択して起動するだけでよく、これはシングルタスクの
場合と同じで方法である。このようにして選択された第
1プログラム2はプログラム実行制御手段1により親タ
スクとして起動される。
【0013】第1プログラム2が実行されていって、そ
の中に子タスク実行指示21があると、これは子タスク
実行認識手段4で認識され、これをプログラム実行制御
手段1に通知する。プログラム実行制御手段1はその通
知を受けて第2プログラム3を第1プログラム2の子プ
ログラムとして起動させる。その間、第1プログラム2
は実行を続ける。
の中に子タスク実行指示21があると、これは子タスク
実行認識手段4で認識され、これをプログラム実行制御
手段1に通知する。プログラム実行制御手段1はその通
知を受けて第2プログラム3を第1プログラム2の子プ
ログラムとして起動させる。その間、第1プログラム2
は実行を続ける。
【0014】第1プログラム2の中に、第2プログラム
の実行が完了しないと続行できない待機指示22があれ
ば、これは続行制御手段5に通知される。第2プログラ
ム3が実行されていって、この実行が完了すると、第2
プログラム3の完了指示31が続行制御手段5に伝えら
れる。続行制御手段5は第1プログラム2の待機指示2
2及び第2プログラム3の完了指示31を受けて、プロ
グラム実行制御手段1に対し、待機していた第1プログ
ラム2を続行させるような制御を行う。
の実行が完了しないと続行できない待機指示22があれ
ば、これは続行制御手段5に通知される。第2プログラ
ム3が実行されていって、この実行が完了すると、第2
プログラム3の完了指示31が続行制御手段5に伝えら
れる。続行制御手段5は第1プログラム2の待機指示2
2及び第2プログラム3の完了指示31を受けて、プロ
グラム実行制御手段1に対し、待機していた第1プログ
ラム2を続行させるような制御を行う。
【0015】このように、第1プログラム2が起動され
ていて、この第1プログラム2の中に子タスク実行指示
21があれば、ここで、第1プログラム2は第2プログ
ラム3の親プログラムとなり、第2プログラム3は第1
プログラム2の子プログラムとなって、親と子との関係
が自動的に設定されることになる。したがって、実行の
一時停止、実行の再開や終了を、親である第1プログラ
ム2に対してのみ行えば、親子関係が設定された子の第
2プログラム3に対しても適用され、自動的に子プログ
ラムに反映されることになる。
ていて、この第1プログラム2の中に子タスク実行指示
21があれば、ここで、第1プログラム2は第2プログ
ラム3の親プログラムとなり、第2プログラム3は第1
プログラム2の子プログラムとなって、親と子との関係
が自動的に設定されることになる。したがって、実行の
一時停止、実行の再開や終了を、親である第1プログラ
ム2に対してのみ行えば、親子関係が設定された子の第
2プログラム3に対しても適用され、自動的に子プログ
ラムに反映されることになる。
【0016】同じようにして、第1プログラム2又は第
2プログラム3の中に、別の第3プログラムを実行させ
る子タスク実行指示があれば、その時点でまた、新たな
親子関係が設定されることになり、子タスク実行認識手
段4及びプログラム実行制御手段1によって、第3プロ
グラムが実行されることになる。このように、この第3
プログラムがたとえば第2プログラム3から実行された
とすれば、第3プログラムは第1プログラム2から見れ
ば孫のプログラムに相当することになるが、この孫に当
たるプログラムにも親のプログラムに対する操作が従属
して適用され、反映される。
2プログラム3の中に、別の第3プログラムを実行させ
る子タスク実行指示があれば、その時点でまた、新たな
親子関係が設定されることになり、子タスク実行認識手
段4及びプログラム実行制御手段1によって、第3プロ
グラムが実行されることになる。このように、この第3
プログラムがたとえば第2プログラム3から実行された
とすれば、第3プログラムは第1プログラム2から見れ
ば孫のプログラムに相当することになるが、この孫に当
たるプログラムにも親のプログラムに対する操作が従属
して適用され、反映される。
【0017】このため、あるシステムにおいて、親子関
係のあるプログラムでグループを作っておけば、そのグ
ループの親だけを選択して起動すれば、そのグループ全
体を起動することができることになる。
係のあるプログラムでグループを作っておけば、そのグ
ループの親だけを選択して起動すれば、そのグループ全
体を起動することができることになる。
【0018】また、外部からプログラムの制御を行う場
合でも、結局は親のプログラムだけを制御すればよいの
で、従来からあるシングルタスク用に作られた環境でも
そのまま適用することができる。
合でも、結局は親のプログラムだけを制御すればよいの
で、従来からあるシングルタスク用に作られた環境でも
そのまま適用することができる。
【0019】図2は本発明の適用例を示すロボットシス
テムの構成図である。図において、ロボット制御装置6
0は、シーリングロボット61、ワークローダ62及び
ワーク供給機63を制御するよう構成され、シーリング
ロボット61を制御するためのプログラムA、ワークロ
ーダ62を制御するためのプログラムB、そしてワーク
供給機63を制御するためのプログラムCを有してい
る。
テムの構成図である。図において、ロボット制御装置6
0は、シーリングロボット61、ワークローダ62及び
ワーク供給機63を制御するよう構成され、シーリング
ロボット61を制御するためのプログラムA、ワークロ
ーダ62を制御するためのプログラムB、そしてワーク
供給機63を制御するためのプログラムCを有してい
る。
【0020】ワーク64はワーク供給機63によって順
次供給され、ワークローダ62がそのローディング用ハ
ンドによって引き取る位置まで移動される。その位置ま
で移動されたワーク64はワークローダ62によって治
具66の所定位置に載せられる。その後、シーリングロ
ボット61がそのシーリングガンを使用して、所定のシ
ーリング作業を行う。
次供給され、ワークローダ62がそのローディング用ハ
ンドによって引き取る位置まで移動される。その位置ま
で移動されたワーク64はワークローダ62によって治
具66の所定位置に載せられる。その後、シーリングロ
ボット61がそのシーリングガンを使用して、所定のシ
ーリング作業を行う。
【0021】図3はロボット制御装置のプログラム実行
例を示すフローチャートである。図2に例示したロボッ
トシステムを制御するプログラムはプログラムA、プロ
グラムB及びプログラムCからなり、ロボット制御装置
60では、このシステムの起動はプログラムAに対して
のみ行われる。
例を示すフローチャートである。図2に例示したロボッ
トシステムを制御するプログラムはプログラムA、プロ
グラムB及びプログラムCからなり、ロボット制御装置
60では、このシステムの起動はプログラムAに対して
のみ行われる。
【0022】プログラムAでは、まず、ステップS11
においてプログラムBを子タスクとして起動させ、これ
によって、プログラムAとプログラムBとの親子関係が
自動的に設定される。次に、ステップS12にて、シー
リングロボット61をその作業開始位置に移動する。ス
テップS13では、ワーク64が治具66の所定位置に
セットされたかどうかを判断する。ワーク64がセット
されたならば、ステップS14に進み、シーリングロボ
ット61はシーリングガン67によりワーク64に対し
てシーリング作業を行う。
においてプログラムBを子タスクとして起動させ、これ
によって、プログラムAとプログラムBとの親子関係が
自動的に設定される。次に、ステップS12にて、シー
リングロボット61をその作業開始位置に移動する。ス
テップS13では、ワーク64が治具66の所定位置に
セットされたかどうかを判断する。ワーク64がセット
されたならば、ステップS14に進み、シーリングロボ
ット61はシーリングガン67によりワーク64に対し
てシーリング作業を行う。
【0023】プログラムBは、プログラムAから起動を
かけられると、プログラムAの実行と並行して実行され
る。プログラムBが起動すると、まず、ステップS21
においてプログラムCを子タスクとして起動させる。こ
れによって、プログラムBとプログラムCとの親子関係
が自動的に設定される。次に、ステップS22にて、ワ
ークローダ62が制御され、ワーク供給機63によって
供給されるワーク64の取り出し位置まで移動される。
ステップS23では、ワーク64がその取り出し位置ま
で来たかどうかを判断する。ワーク64が取り出し位置
まで移動されてくると、ステップS24に進み、ワーク
ローダ62はローディング用ハンド65を使ってワーク
64をワーク供給機63から取り上げ、治具66の所定
位置にセットする。ここで、プログラムBはワークセッ
ト完了信号をオンにする。このワークセット完了信号は
プログラムAのステップS13にて行われる判断の前に
伝えられる。
かけられると、プログラムAの実行と並行して実行され
る。プログラムBが起動すると、まず、ステップS21
においてプログラムCを子タスクとして起動させる。こ
れによって、プログラムBとプログラムCとの親子関係
が自動的に設定される。次に、ステップS22にて、ワ
ークローダ62が制御され、ワーク供給機63によって
供給されるワーク64の取り出し位置まで移動される。
ステップS23では、ワーク64がその取り出し位置ま
で来たかどうかを判断する。ワーク64が取り出し位置
まで移動されてくると、ステップS24に進み、ワーク
ローダ62はローディング用ハンド65を使ってワーク
64をワーク供給機63から取り上げ、治具66の所定
位置にセットする。ここで、プログラムBはワークセッ
ト完了信号をオンにする。このワークセット完了信号は
プログラムAのステップS13にて行われる判断の前に
伝えられる。
【0024】プログラムCは、プログラムBから起動を
かけられると、プログラムA及びプログラムBの実行と
並行して実行される。プログラムCはステップS31に
て、ワーク供給機63を制御してワークローダ62が順
次ワーク64を取り出す位置まで移動させ、あるワーク
64がその位置まで来ると、プログラムCはワーク供給
済信号をオンにする。このワーク供給済信号はプログラ
ムBのステップS23にて行われる判断の前に伝えられ
る。
かけられると、プログラムA及びプログラムBの実行と
並行して実行される。プログラムCはステップS31に
て、ワーク供給機63を制御してワークローダ62が順
次ワーク64を取り出す位置まで移動させ、あるワーク
64がその位置まで来ると、プログラムCはワーク供給
済信号をオンにする。このワーク供給済信号はプログラ
ムBのステップS23にて行われる判断の前に伝えられ
る。
【0025】図4はロボット制御装置のプログラム例を
示す図である。図において、(A)はプログラムAの例
であり、(B)はプログラムBの例であり、(C)はプ
ログラムCの例である。
示す図である。図において、(A)はプログラムAの例
であり、(B)はプログラムBの例であり、(C)はプ
ログラムCの例である。
【0026】プログラムAの例によれば、1行目におい
て、プログラムBを起動し、2行目において、シーリン
グロボット61をその作業開始位置(イチ[1])へ移
動させる。作業開始位置まで移動したら、3行目におい
て、ワークセット完了信号(SDO[1])がオンにな
るまで、シーリングロボット61を待機させる。そし
て、ワークセット完了信号がオンになると、4〜20行
目において、シーリング開始(SS)からシーリング終
了(SE)までの一連のシーリング作業が行われる。
て、プログラムBを起動し、2行目において、シーリン
グロボット61をその作業開始位置(イチ[1])へ移
動させる。作業開始位置まで移動したら、3行目におい
て、ワークセット完了信号(SDO[1])がオンにな
るまで、シーリングロボット61を待機させる。そし
て、ワークセット完了信号がオンになると、4〜20行
目において、シーリング開始(SS)からシーリング終
了(SE)までの一連のシーリング作業が行われる。
【0027】プログラムBの例によれば、1行目におい
て、プログラムCを起動し、2行目において、ワークロ
ーダ62をワーク取り位置(イチ[1])へ移動させ
る。ワーク取り位置まで移動したら、3行目において、
ワーク供給済信号(SDO[2])がオンになるまで、
ワークローダ62を待機させる。ワーク供給済信号がオ
ンになると、4行目で、ワークを取るためのマクロ名
「ワーク_トリ」とするマクロプログラムを呼び出し、
実行する。5行目では、ワークローダ62がワーク64
を持って治具66の所まで移動させる。6行目では、ワ
ーク64を治具66へセットするマクロ名「ワーク_セ
ット」のマクロプログラムを呼び出し、実行する。そし
て、7行目では、ワークセット完了信号(SDO
[1])をオンにする。
て、プログラムCを起動し、2行目において、ワークロ
ーダ62をワーク取り位置(イチ[1])へ移動させ
る。ワーク取り位置まで移動したら、3行目において、
ワーク供給済信号(SDO[2])がオンになるまで、
ワークローダ62を待機させる。ワーク供給済信号がオ
ンになると、4行目で、ワークを取るためのマクロ名
「ワーク_トリ」とするマクロプログラムを呼び出し、
実行する。5行目では、ワークローダ62がワーク64
を持って治具66の所まで移動させる。6行目では、ワ
ーク64を治具66へセットするマクロ名「ワーク_セ
ット」のマクロプログラムを呼び出し、実行する。そし
て、7行目では、ワークセット完了信号(SDO
[1])をオンにする。
【0028】プログラムCの例によれば、1行目におい
て、プログラムBからの起動を受けて、ワーク64をワ
ークローダ62の取り位置まで移動させるマクロ名「ワ
ーク_イドウ」のマクロプログラムを呼び出し、実行す
る。ワーク64がワークローダ62の取り位置まで移動
されると、2行目において、ワーク供給済信号(SDO
[2])をオンにする。
て、プログラムBからの起動を受けて、ワーク64をワ
ークローダ62の取り位置まで移動させるマクロ名「ワ
ーク_イドウ」のマクロプログラムを呼び出し、実行す
る。ワーク64がワークローダ62の取り位置まで移動
されると、2行目において、ワーク供給済信号(SDO
[2])をオンにする。
【0029】
【発明の効果】以上説明したように本発明では、相互に
関連性のある複数のプログラムに親子関係を設定するよ
うにしたので、複数のプログラムの起動時に、親となる
プログラムだけを選択すればよく、起動が簡単になる。
関連性のある複数のプログラムに親子関係を設定するよ
うにしたので、複数のプログラムの起動時に、親となる
プログラムだけを選択すればよく、起動が簡単になる。
【0030】マルチタスク環境でのプログラム制御にか
かる負担を、システムの柔軟性を損なうことなく、大幅
に軽減することができ、その結果、操作ミスなどを未然
に防止することができる。
かる負担を、システムの柔軟性を損なうことなく、大幅
に軽減することができ、その結果、操作ミスなどを未然
に防止することができる。
【0031】さらに、自動化システムの構築において
は、従来のシングルタスク環境用に作成された機器や制
御ソフトウェアを、変更することなく使用することが可
能である。
は、従来のシングルタスク環境用に作成された機器や制
御ソフトウェアを、変更することなく使用することが可
能である。
【図1】本発明によるプログラム制御方式の構成を示す
ブロック図である。
ブロック図である。
【図2】本発明の適用例を示すロボットシステムの構成
図である。
図である。
【図3】ロボット制御装置のプログラム実行例を示すフ
ローチャートである。
ローチャートである。
【図4】ロボット制御装置のプログラム例を示す図であ
る。
る。
1 プログラム実行制御手段 2 第1プログラム 21 子タスク実行指示 22 待機指示 3 第2プログラム 31 完了指示 4 子タスク実行認識手段 5 続行制御手段
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 G06F 9/06 410 S 9367−5B
Claims (2)
- 【請求項1】 複数のプログラムが同時に実行すること
ができる環境で工作機械又は産業用ロボットの動作プロ
グラムを実行させるマルチタスク環境でのプログラム制
御方式において、 複数のプログラムの実行を制御するプログラム実行制御
手段と、 前記プログラム実行制御手段によって親タスクとして起
動される第1プログラムと、 前記第1プログラムの中で子タスクの実行指示を認識す
る子タスク実行認識手段と、 前記子タスク実行認識手段での子タスク実行の認識に応
答して前記プログラム実行制御手段により子タスクとし
て起動される第2プログラムと、 前記第1プログラムの中の待機状態を表す指示と前記第
2プログラムの中で前記第1プログラムのタスクと連携
するタスクが完了したことを表す指示とを受けて前記プ
ログラム実行制御手段により前記第1プログラムを続行
させる続行制御手段と、 を備えていることを特徴とするマルチタスク環境でのプ
ログラム制御方式。 - 【請求項2】 前記第1プログラム又は前記第2プログ
ラムの子タスクとして前記プログラム実行制御手段によ
り起動される少なくとも1つの第3プログラムをさらに
備えていることを特徴とする請求項1記載のマルチタス
ク環境でのプログラム制御方式。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5277985A JPH07129418A (ja) | 1993-11-08 | 1993-11-08 | マルチタスク環境でのプログラム制御方式 |
| US08/720,917 US5742824A (en) | 1993-11-08 | 1996-10-07 | Program control system in multitask environment |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5277985A JPH07129418A (ja) | 1993-11-08 | 1993-11-08 | マルチタスク環境でのプログラム制御方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH07129418A true JPH07129418A (ja) | 1995-05-19 |
Family
ID=17591025
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5277985A Pending JPH07129418A (ja) | 1993-11-08 | 1993-11-08 | マルチタスク環境でのプログラム制御方式 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US5742824A (ja) |
| JP (1) | JPH07129418A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6442436B1 (en) | 1999-10-25 | 2002-08-27 | Seiko Epson Corporation | Multi-tasking system, recording medium in which program thereof is recorded, and processing device |
| JP2013152573A (ja) * | 2012-01-24 | 2013-08-08 | Fujitsu Ltd | 情報処理装置の制御方法、情報処理装置の制御プログラム、及び情報処理装置 |
| WO2023136062A1 (ja) * | 2022-01-14 | 2023-07-20 | オムロン株式会社 | 制御システム及びプログラム |
Families Citing this family (28)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3832517B2 (ja) | 1996-07-05 | 2006-10-11 | セイコーエプソン株式会社 | ロボット用コントローラ及びその制御方法 |
| US5984499A (en) * | 1997-09-12 | 1999-11-16 | Manufacturing Data Systems, Inc. | Method and apparatus for a numerical control system for processing multiple job streams |
| JP2000132529A (ja) * | 1998-10-23 | 2000-05-12 | Sony Corp | 並列処理装置、並列処理方法および記録媒体 |
| US6952827B1 (en) | 1998-11-13 | 2005-10-04 | Cray Inc. | User program and operating system interface in a multithreaded environment |
| DE19857333C1 (de) * | 1998-12-11 | 2000-06-15 | Siemens Ag | Verfahren zur Synchronisation von Prozessen |
| US7225445B1 (en) * | 1999-09-02 | 2007-05-29 | Fuji Xerox Co., Ltd. | Execution control apparatus with key pad that enables selection of jobs to be run |
| ES2203549T3 (es) * | 1999-11-15 | 2004-04-16 | Siemens Aktiengesellschaft | Aparato de automatizacion y procedimiento de actualizacion. |
| DE10152765B4 (de) | 2001-07-13 | 2015-11-12 | Siemens Aktiengesellschaft | Verfahren zur elektronischen Bereitstellung von Diensten für Maschinen über eine Datenkommunikationsverbindung |
| US7395122B2 (en) * | 2001-07-13 | 2008-07-01 | Siemens Aktiengesellschaft | Data capture for electronically delivered automation services |
| US7603289B2 (en) * | 2001-07-13 | 2009-10-13 | Siemens Aktiengesellschaft | System and method for electronic delivery of content for industrial automation systems |
| US7292900B2 (en) * | 2001-07-13 | 2007-11-06 | Siemens Aktiengesellschaft | Power distribution expert system |
| US20060085091A9 (en) * | 2001-07-13 | 2006-04-20 | Martin Kiesel | Electronic fingerprints for machine control and production machines |
| US6975913B2 (en) * | 2001-07-13 | 2005-12-13 | Siemens Aktiengesellschaft | Database system and method for industrial automation services |
| US7016759B2 (en) | 2002-08-23 | 2006-03-21 | Siemens Aktiengesellschaft | Active resource control system method & apparatus |
| DE10345883A1 (de) * | 2003-09-30 | 2005-05-12 | Siemens Ag | Fertigungsvorrichtung mit automatischer Fernüberwachung und entsprechendes Überwachungsverfahren |
| SE0303384D0 (sv) * | 2003-12-15 | 2003-12-15 | Abb Ab | Control system, method and computer program |
| WO2005069092A1 (en) * | 2004-01-16 | 2005-07-28 | Abb Ab | Control system, method and computer program for controlling coordinate movements of several mechanicals units. |
| JP2006277120A (ja) * | 2005-03-28 | 2006-10-12 | Toshiba Corp | オブジェクト管理装置、オブジェクト管理方法およびオブジェクト管理プログラム |
| JP4210270B2 (ja) * | 2005-06-07 | 2009-01-14 | ファナック株式会社 | ロボット制御装置及びロボット制御方法 |
| US7779230B2 (en) * | 2006-10-18 | 2010-08-17 | Wisconsin Alumni Research Foundation | Data flow execution of methods in sequential programs |
| US20080244589A1 (en) * | 2007-03-29 | 2008-10-02 | Microsoft Corporation | Task manager |
| US20090083745A1 (en) * | 2007-09-25 | 2009-03-26 | Jinmei Shen | Techniques for Maintaining Task Sequencing in a Distributed Computer System |
| JP4465012B2 (ja) * | 2008-01-31 | 2010-05-19 | ファナック株式会社 | 搬入/搬出ロボットと協調動作する加工ラインシステム |
| CN102216003A (zh) * | 2008-11-04 | 2011-10-12 | Sms西马格股份公司 | 用于在起动铸造过程时控制铸坯铸造设备中的铸坯的凝固的方法和装置 |
| US10627799B2 (en) * | 2015-09-30 | 2020-04-21 | Nidek Co., Ltd. | Terminal device and terminal control program |
| US20180059640A1 (en) * | 2016-09-01 | 2018-03-01 | Esab Ab | Techniques for event driven scheduling in a welding or cutting system |
| JP6708581B2 (ja) * | 2017-04-07 | 2020-06-10 | ライフロボティクス株式会社 | 教示装置、表示装置、教示プログラム及び表示プログラム |
| US11755003B2 (en) * | 2021-09-30 | 2023-09-12 | Hitachi, Ltd. | Autonomous task management industrial robot |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CA1216343A (en) * | 1983-05-02 | 1987-01-06 | Tomohiro Murata | Method and apparatus for controlling an operation sequence of a machinery |
| US4800482A (en) * | 1984-04-27 | 1989-01-24 | Canon Kabushiki Kaisha | Sequence controller using pulse counts to activate/deactivate controlled elements |
| US5032975A (en) * | 1987-08-07 | 1991-07-16 | Canon Kabushiki Kaisha | Controller for automatic assembling apparatus |
| IT1235796B (it) * | 1989-09-11 | 1992-10-26 | Josb S P A | Macchina utensile a sostituzione automatica di "attuatori multifunzione" per eseguire automaticamente una sequenza di operazioni diverse, in particolare per l'installazione di organi di collegamento per l'assemblaggio di sottoinsiemi meccanici quali strutture aeronautiche, automobilistiche, nautiche ecc |
| US4995148A (en) * | 1990-03-30 | 1991-02-26 | Imta | Robotically controlled multi-task end effector |
| JP2916796B2 (ja) * | 1990-05-23 | 1999-07-05 | 日立精工株式会社 | 複数の工作機械を制御するcnc装置 |
-
1993
- 1993-11-08 JP JP5277985A patent/JPH07129418A/ja active Pending
-
1996
- 1996-10-07 US US08/720,917 patent/US5742824A/en not_active Expired - Fee Related
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6442436B1 (en) | 1999-10-25 | 2002-08-27 | Seiko Epson Corporation | Multi-tasking system, recording medium in which program thereof is recorded, and processing device |
| JP2013152573A (ja) * | 2012-01-24 | 2013-08-08 | Fujitsu Ltd | 情報処理装置の制御方法、情報処理装置の制御プログラム、及び情報処理装置 |
| WO2023136062A1 (ja) * | 2022-01-14 | 2023-07-20 | オムロン株式会社 | 制御システム及びプログラム |
| JP2023103908A (ja) * | 2022-01-14 | 2023-07-27 | オムロン株式会社 | 制御システム及びプログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| US5742824A (en) | 1998-04-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5742824A (en) | Program control system in multitask environment | |
| US20140364989A1 (en) | Controller for controlling machine tool and robot | |
| RU2405183C2 (ru) | Способ управления роботизированной рабочей станцией и соответствующая роботизированная рабочая станция | |
| CN100460161C (zh) | 机械手控制装置及机械手控制方法 | |
| US5984499A (en) | Method and apparatus for a numerical control system for processing multiple job streams | |
| JP4131078B2 (ja) | ロボットコントローラ | |
| JPH02254503A (ja) | オフライン教示システムの実行データ伝送方式 | |
| JPH056213A (ja) | 産業用ロボツト制御方法およびその装置 | |
| JPH0628019A (ja) | 数値制御工作機械のロボットプログラム呼出方法とその装置 | |
| JP2000293212A (ja) | Nc加工装置及びその割込処理方法 | |
| JPS6333168B2 (ja) | ||
| JPH06277990A (ja) | セルコントローラ | |
| JPH0871979A (ja) | ロボットコントローラ | |
| KR100221491B1 (ko) | 다수의 로보트 제어방법 | |
| JPS6091404A (ja) | 産業用ロボツト | |
| JPS63250712A (ja) | 数値制御工作機械の制御装置 | |
| JPH07299792A (ja) | 複腕ロボットシステムとその制御方法 | |
| JP2942812B2 (ja) | 変種変量生産プログラムの作成装置 | |
| JP3209770B2 (ja) | 産業用ロボットの制御装置 | |
| JPH1195825A (ja) | 数値制御プログラムの実行方法 | |
| JPS63239511A (ja) | ロボツト・システム | |
| JPH0492902A (ja) | 自動組立装置の制御装置 | |
| JPH05138561A (ja) | ロボツト装置の制御方法 | |
| JPH067880Y2 (ja) | 搬送制御装置 | |
| JPH02178808A (ja) | ロボットの制御方法 |