(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0021】
(実施形態)
本実施形態に係る生産システム1000の構成について説明する。
図1は、本実施形態の基本的構成の概略図及び数値制御装置100及びロボット制御装置400の機能ブロック図である。
図2は、本実施形態における数値制御装置100の要部ブロック図である。
図1に示す生産システム1000は、数値制御装置(CNC:Computerized Numerical Control)100(工作機械制御装置)と、工作機械200と、ロボット300と、ロボット制御装置400とを備えている。
この生産システム1000は、数値制御装置100を使用してユーザが指示をすると、ロボット制御装置400がロボット300を制御するための動作プログラムを、指示に応じて実行することで、ロボット300を制御することができるものである。
【0022】
数値制御装置100と、工作機械200とは、1対1の組とされて、通信可能に接続されている。なお、数値制御装置100と、工作機械200とは、接続インタフェースを介して直接接続されても、また、LAN(Local Area Network)等のネットワークを介して接続されてもよい。
また、ロボット300と、ロボット制御装置400とは、1対1の組とされて、通信可能に接続されている。ロボット300と、ロボット制御装置400との接続に関しても、接続インタフェースを介して直接接続されても、また、LAN等のネットワークを介して接続されてもよい。
【0023】
数値制御装置100と、ロボット制御装置400とは、例えば、ネットワークNを介して接続されており、相互に通信を行うことが可能である。なお、ネットワークNは、例えば、工場内に構築されたLANや、インターネット、公衆電話網、あるいは、これらの組み合わせであってもよいし、接続インタフェースを介して直接に接続されてもよい。ネットワークNにおける具体的な通信方式や、有線接続及び無線接続のいずれであるか等については、特に限定されない。
【0024】
数値制御装置100は、工作機械200を制御することにより、工作機械200に所定の動作を行わせるための装置である。
ここで、数値制御装置100の一般的な構成について、
図2を参照して説明する。
CPU11は、数値制御装置100を全体的に制御するプロセッサである。CPU11は、ROM12に格納されたシステムプログラムを、バス20を介して読み出し、システムプログラムに従って数値制御装置100の全体を制御する。
RAM13には、一時的な計算データや、表示データ及び表示器/MDIユニット70を介してオペレータが入力した各種データ等が格納される。
【0025】
CMOSメモリ14は、図示しないバッテリでバックアップされ、数値制御装置100の電源がオフにされても記憶状態が保持される不揮発性メモリとして構成される。CMOSメモリ14中には、インタフェース15を介して読み込まれたり、表示器/MDIユニット70を介して入力されたりして工作機械200に所定の動作を行わせる加工プログラムや、ロボット制御装置400にて実行され、ロボット300に所定の動作を行わせる後述する動作プログラム等が記憶されるようにしてもよい。
ROM12には、加工プログラムや動作プログラムの作成及び編集のために必要とされる編集モードの処理や、自動運転のための処理を実施するための各種のシステムプログラムが、予め書き込まれている。
本発明を実行する加工プログラムや動作プログラム等の各種プログラムは、インタフェース15や表示器/MDIユニット70を介して入力し、CMOSメモリ14に格納することができる。
【0026】
インタフェース15は、数値制御装置100と、アダプタ等の外部機器72との接続を可能にするものである。外部機器72側からは、加工プログラム及び動作プログラムや各種パラメータ等が読み込まれる。また、数値制御装置100内で編集した加工プログラム及び動作プログラムは、外部機器72を介して外部記憶手段に記憶させることができる。
PMC(プログラマブル・マシン・コントローラ)16は、一般的に、PLC(プログラマブル・ロジック・コントローラ)と呼ばれるものである。PMC16は、数値制御装置100に内蔵されたシーケンスプログラム(PLCソフトウェア)で、工作機械200の補助装置(例えば、工具交換用のロボットハンドといったアクチュエータ)に、I/Oユニット17を介して信号を出力し制御する。また、PMC16は、工作機械200の本体に配備された操作盤の各種スイッチ等の信号を受け、必要な信号処理をした後、CPU11に渡す。
【0027】
表示器/MDIユニット70は、ディスプレイやキーボード等を備えた手動データ入力装置であり、インタフェース18は、表示器/MDIユニット70のキーボードからの指令やデータを受けてCPU11に渡す。
インタフェース19は、手動パルス発生器等を備えた操作盤71に接続されている。
【0028】
各軸の軸制御回路30〜34は、CPU11からの各軸の移動指令量を受けて、各軸の指令をサーボアンプ40〜44に出力する。
サーボアンプ40〜44は、この指令を受けて、各軸のサーボモータ50〜54を駆動する。
各軸のサーボモータ50〜54は、位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を、軸制御回路30〜34にフィードバックし、位置・速度のフィードバック制御を行う。なお、この図では、位置・速度のフィードバックについては省略している。
【0029】
スピンドル制御回路60は、工作機械200への主軸回転指令を受け、スピンドルアンプ61にスピンドル速度信号を出力する。スピンドルアンプ61は、このスピンドル速度信号を受けて、工作機械200のスピンドルモータ62を指令された回転速度で回転させ、工具を駆動する。
スピンドルモータ62には、歯車あるいはベルト等でパルスエンコーダ63が結合され、パルスエンコーダ63が主軸の回転に同期して帰還パルスを出力し、その帰還パルスは、バス20を経由してCPU11によって読み取られる。
【0030】
図1に戻り、数値制御装置100は、ロボット制御装置400に対してパラメータを送信する。パラメータは、ロボット制御装置400で実行する動作プログラムの選択、及び/又は、選択した動作プログラムの分岐処理や、変数等動作シーケンス及び動作に必要な数値データに対応するものである。
数値制御装置100は、(指定画面出力手段としての)指定画面出力部110と、(受付手段としての)受付部120と、(送信手段としての)信号割付部140とを備える。
【0031】
指定画面出力部110は、ロボット300の動作プログラムの選択、及び/又は、動作プログラムの動作を設定するパラメータを指定する画面である後述する指定画面を、表示器/MDIユニット70に出力する。ここで、パラメータは、ロボット300を制御する動作プログラムの選択、及び/又は、動作プログラムの動作(動作シーケンス及び動作に必要な数値データ等)を設定する情報であって、例えば、ロボット300のハンド種類(シングルハンド又はデュアルハンド)を設定する情報や、ロボット300が扱うワークの個数や配置位置を設定する情報である。
【0032】
受付部120は、指定画面の表示に対応した表示器/MDIユニット70を用いたユーザによる指示入力により、設定情報を受け付ける。
信号割付部140は、受付部120により受け付けた設定情報に基づいて、動作プログラムの選択、及び/又は、動作プログラムの動作を設定するパラメータを、ロボット制御装置400で用いる信号として割り付ける。
【0033】
工作機械200は、数値制御装置100が出力する動作指令に基づいて、部品等のワークに対して切削加工等の所定の加工を行う工作機械である。
本実施形態において、工作機械200と、ロボット300とは、組み合わせて作業を行うものであり、例えば、同一の作業空間内にて共同で作業をする。
【0034】
ロボット300は、例えば、6軸の多関節ロボットであり、工作機械200にて加工された、又は、これから加工を行うワークを把持可能なハンドを有する。ロボット300は、ロボット制御装置400に設定された動作プログラムによって生成される動作指令に従って、例えば、ワークを運搬する。
【0035】
ロボット制御装置400は、ロボット300を制御することにより、ロボット300に所定の動作を行わせる装置である。ロボット制御装置400の一般的な構成については、
図2で数値制御装置100について説明したものと、表示器/MDIユニット70に代えて教示操作盤を用いる点を除いてほぼ同様の構成になっているため、ここでは、詳細な説明を省略する。
ロボット制御装置400は、(受信手段としての)受信部410と、プログラム記憶部420と、(プログラム設定手段としての)プログラム設定部430とを備える。
【0036】
受信部410は、数値制御装置100からパラメータを受信する。
プログラム記憶部420は、ロボット制御装置400を動作させるための各種のプログラムを記憶する記憶領域である。プログラム記憶部420は、受信部410が受信したパラメータに対応した動作プログラムを記憶する。プログラム記憶部420は、予め動作プログラムを記憶していてもよいし、図示しないサーバや、クラウドからネットワークを介して動作プログラムを受信して記憶してもよい。また、プログラム記憶部420は、動作プログラムを1つ記憶するものに限定されるものではなく、複数の動作プログラムを記憶してもよい。
プログラム設定部430は、受信したパラメータに基づいて動作プログラムを設定する。具体的には、プログラム設定部430は、受信したパラメータを、動作プログラムの選択で用いたり、動作プログラムの動作を設定する変数や、分岐処理に用いたりする。
【0037】
以上、生産システム1000の各装置の概略と、数値制御装置100及びロボット制御装置400に含まれる機能ブロックとについて説明した。
なお、上記の生産システム1000に含まれる各装置のそれぞれは、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
具体例として、数値制御装置100は、一般的な数値制御装置に、本実施形態を実現するためのアプリケーションソフトウェアを組み込むことにより実現できる。また、ロボット制御装置400は、一般的なロボット300の制御装置に、本実施形態を実現するためのアプリケーションソフトウェアを組み込むことにより実現できる。
【0038】
次に、ロボット制御装置400の制御を、数値制御装置100を用いて行う具体例について説明する。
(具体例1)
具体例1は、ロボット300のロボットハンドの種類を、数値制御装置100からロボット制御装置400に対して指定するものである。
図3Aは、数値制御装置100のPMC16で実行する第1の処理を表すラダー
図501を示す。ラダー
図501が示す処理は、上述したPMC16において、PLCソフトウェアによって実行される。このラダー
図501によれば、第1の処理として、数値制御装置100の信号M1と、ロボット制御装置400に送信する信号R1とを割り付ける。ここで、信号M1と、信号R1とは、それぞれ1ビットである。
【0039】
図3Bは、ロボット300のハンド種類を選択するための指定画面502を示す。指定画面502は、ハンド種類がシングルか、デュアルかを指定するための画面である。指定画面出力部110は、表示器/MDIユニット70に、指定画面502を出力する。そうすることで、ユーザは、表示器/MDIユニット70を操作して、シングル又はデュアルを指定するので、受付部120は、指定した設定情報(シングル又はデュアル)を受け付ける。
そして、信号割付部140は、ラダー
図501に示す処理によって、設定情報から数値制御装置100側の信号M1を決定し、ロボット制御装置400側の信号R1(パラメータ)を割り付ける。信号割付部140は、この例では、設定情報がシングルの場合には、信号R1=0を割り付ける。また、信号割付部140は、設定情報がデュアルの場合には、信号R1=1を割り付ける。
【0040】
図3Cは、ロボット制御装置400のプログラム記憶部420に記憶されている動作プログラム503を示す。ここで、生産システム1000では、指定画面502に対応する動作プログラム503が、予めプログラム記憶部420に記憶されているものとする。動作プログラム503は、信号R1の値によって、シングルハンド向け動作を行うか、デュアルハンド向け動作を行うかが、予め分岐処理として組み込まれている。
【0041】
そうすることで、ロボット制御装置400において、動作プログラム503の実行時には、信号R1が入力されることで、ロボット制御装置400は、ロボット300の動作を、信号R1に基づいて制御するように設定される。この例では、信号R1=0であれば、動作プログラム503の条件分岐処理によって、ロボット300に対してシングルハンド向け動作を行うように設定され、また、信号R1=1であれば、動作プログラム503の条件分岐処理によって、ロボット300に対してデュアルハンド向け動作を行うように設定される。
【0042】
このように、ユーザによる数値制御装置100の表示器/MDIユニット70に表示された指定画面502を介して受け付けられた設定情報に基づいて、数値制御装置100(信号割付部140)は、数値制御装置100側の信号M1を決定し、予め設定されたPLCソフトウェアを実行することで、ロボット制御装置400側の信号R1(パラメータ)を割り付ける。そして、動作プログラム503の実行時に、信号R1は、ロボット制御装置400により入力され、その結果として、数値制御装置100は、ロボット300の動作シーケンスを決定することができる。
【0043】
(具体例2)
具体例2は、数値制御装置100からロボット制御装置400に対して未加工ワークの横方向の個数を通知するためのものである。これにより、ロボット制御装置400は、ロボット300に対して未加工ワークの個数だけ、ワークの運搬等を行う。
図4Aは、作業空間内に未加工ワークが格子状に置かれている状態510を示す。
図4Bは、数値制御装置100のPMC16で実行する第2の処理を表すラダー
図511を示す。このラダー
図511によれば、第2の処理として、数値制御装置100の信号Miと、ロボット制御装置400に送信する信号Riとを割り付ける。ここで、iは、0〜7までの整数である。
【0044】
図4Cは、未加工ワークの横方向の個数を入力するための指定画面512を示す。指定画面出力部110は、表示器/MDIユニット70に、指定画面512を出力する。そうすることで、ユーザは、表示器/MDIユニット70を操作して、個数を数字で指定するので、受付部120は、指定した設定情報(未加工ワークの横方向の個数)を受け付ける。
そして、信号割付部140は、ラダー
図511に示す処理によって、設定情報(未加工ワークの横方向の個数)から数値制御装置100側の信号Miを決定し、ロボット制御装置400側の信号Riを割り付ける。信号割付部140は、この例では、設定情報(未加工ワークの横方向の個数)を、2進数にして、1バイト(=8ビット)の信号Mi(0≦i≦7)として割り付ける。例えば、
図4Cに示す例のように、設定情報(未加工ワークの横方向の個数)として「5」が指定された場合、2進数では、00000101である。そのため、信号割付部140は、信号M5と信号M7とに1を、信号M0から信号M4までと信号M6とに0を、それぞれ割り付けることで、ロボット制御装置400側の信号R5と信号R7とに1を、信号R0から信号R4までと信号R6とに0を、それぞれ割り付けることができる。
【0045】
図4Dは、ロボット制御装置400のプログラム記憶部420に記憶されている動作プログラム513を示す。この動作プログラム513は、2進数で示された信号Riの値が入力されることで、レジ[2]に、10進数の値を設定するためのものである。動作プログラム513には、この変数を使用した処理が予め組み込まれている。
そうすることで、ロボット制御装置400において、動作プログラム513に信号Riが入力されることで、ロボット制御装置400は、ロボット300の動作を信号Riに基づいて制御するように設定される。この例では、ロボット制御装置400は、動作プログラム513の変数に信号Riが示す2進数が入力されることで、レジ[2]に指定画面で指定された未加工ワークの横方向の個数が設定される。
ロボット制御装置400は、動作プログラム513の実行時に、設定情報によって割り付けられた信号Riが入力されることによって、ロボット300に対して未加工ワークの個数分、未加工ワークの処理を行うように設定される。
【0046】
このように、ユーザによる数値制御装置100の表示器/MDIユニット70に表示された指定画面512を介して受け付けられた設定情報に基づいて、数値制御装置100(信号割付部140)は、数値制御装置100側の信号Miを決定し、予め設定されたPLCソフトウェアを実行することで、数値制御装置100側の信号Miからロボット制御装置400側の信号Ri(パラメータ)を割り付ける。そして、信号Ri(パラメータ)は、動作プログラム513の実行時に、ロボット制御装置400により入力され、その結果として、数値制御装置100は、ロボット制御装置400において、入力が必要な数値の設定を行うことができる。
【0047】
(具体例3)
具体例3は、具体例1と具体例2とを組み合わせたものであり、実際のロボット300での作業に使用可能な例である。
具体例2では、数値制御装置100から未加工ワークの横方向の個数を指示することで、ロボット制御装置400の動作プログラム513に、未加工ワークの横方向の個数を設定するものであった。しかし、ロボット300が未加工ワークに対する処理を実際に行う場合には、横方向の個数だけの情報では足りず、ワークの配置形態や、ワーク同士の配置間隔等の情報等も必要である。
【0048】
図5Aは、数値制御装置100のPMC16で実行する第3の処理を表すラダー
図521を示す。このラダー
図521によれば、第3の処理として、数値制御装置100の信号Mjiと、ロボット制御装置400に送信する信号Rjiとを割り付ける。ここで、i,jは、共に0〜7までの整数である。
図5Bは、設定項目ごとに、数値制御装置100側の信号Mjiと、ロボット制御装置400側の信号Rjiとを割り付けた割付表525を示す。設定情報の一部は、10進数で表されるため、信号割付部140は、10進数の設定情報を2進数に変換して、信号Mjiを信号Rjiとして割り付ける。
【0049】
図6A及び
図6は、
図5Bの設定項目に対応した指定画面522a及び指定画面522bを示す。指定画面出力部110は、表示器/MDIユニット70に、指定画面522a及び指定画面522bを出力する。そうすることで、ユーザは、表示器/MDIユニット70を介して、指定画面522a及び指定画面522bの対応する箇所に、各種の設定項目に対応する情報を指定する。すると、受付部120は、指定した設定情報(各種の設定項目に対応する情報)を受け付ける。
そして、信号割付部140は、ラダー
図521(
図5A参照)に示す処理によって、設定情報(各種の設定項目に対応する情報)から数値制御装置100側の信号Mjiを決定し、ロボット制御装置400側の信号Rjiを割り付ける(
図5B参照)。
【0050】
そうすることで、ロボット制御装置400において、動作プログラム523の実行時に、信号Rjiが入力されることで、ロボット制御装置400は、ロボット300の動作を、信号Rjiに基づいて制御するように設定される。
【0051】
ロボット制御装置400は、動作プログラム523を起動すると、まず、メインプログラム523aを実行する。すると、ロボット制御装置400は、SETUPプログラム523bを呼び出す(ST1)。
ロボット制御装置400は、SETUPプログラム523bにおいて、ロボット簡単設定がON(
図6A参照)の場合には、レジスタ変数であるレジ[1]及びレジ[2]の値を決定する処理(ST2)と、レジスタ変数であるレジ[3]からレジ[8]までの値を決定する2進数から10進数への変換処理(ST3)とを行う。
【0052】
ここで、レジ[3]には、具体例2と同様に、2進数で示された信号R2i(0≦i≦7)の値が入力されることで、指定画面522aで指定されたユーザ座標番号が設定される。同様に、レジ[4]、レジ[5]、レジ[6]、レジ[7]、及びレジ[8]には、それぞれ、2進数で示された信号R3i、R4i、R5i、R6i、及びR7i(0≦i≦7)の値が入力されることで、それぞれ指定画面522a及び522bで指定されたツール座標番号、縦方向ワーク個数、横方向ワーク個数、縦格子間隔、及び横格子間隔が設定される。
【0053】
その後、ロボット制御装置400は、メインプログラム523aに戻り、メインプログラム523aにおいて、SETUPプログラム523bで決定した値である、ハンド種類及び未加工ワークの置かれ方から、呼び出すJOBを選択する(ST4)。
図7に示す例では、JOB4のJOBプログラム523cが選択されている。
ロボット制御装置400は、選択されたJOBプログラム523cにおいて、レジ[5]、レジ[6]、レジ[7]、及びレジ[8]に設定された縦方向ワーク個数、横方向ワーク個数、縦格子間隔、及び横格子間隔に基づいて、ロボット300の動作を決定することができる(ST5、ST6)。
この処理では、ロボット制御装置400は、動作プログラム523の実行時に、設定情報によって割り付けられた信号Rjiが入力されることによって、ロボット300に対してハンド種類及び未加工ワークの置かれ方による未加工ワークの処理を行うように設定される。
【0054】
このように、ユーザによる数値制御装置100の表示器/MDIユニット70に表示された指定画面522a及び522bを介して受け付けられた設定情報(各種の設定項目に対応する情報)に基づいて、数値制御装置100(信号割付部140)は、数値制御装置100側の信号Mjiを決定し、予め設定されたPLCソフトウェアを実行することで、数値制御装置100側の信号Mjiから、ロボット制御装置400側の信号Rji(パラメータ)を割り付ける。
そして、信号Rji(パラメータ)は、動作プログラム523の実行時にロボット制御装置400によって入力され、その結果として、数値制御装置100は、ロボット制御装置400において、動作プログラム523内での分岐処理の選択や、動作プログラム523の動作を設定する変数に必要な数値の入力ができる。
なお、具体例3は、ハンド種類及び未加工ワークの置かれ方に加えて、加工済ワークの置かれ方も含めるものであってもよい。
【0055】
(具体例4)
具体例4は、ロボット300のハンド種類を、数値制御装置100−2からロボット制御装置400に対して指定するものである。具体例4では、具体例1と同様に、第1の処理を実行するものであり、ロボット制御装置400は、具体例1に示した動作プログラム503(
図3C参照)を実行する。ここで、数値制御装置100−2では、指定画面に代えてスイッチS1を用いる点が、具体例1とは異なる。
【0056】
図8Aは、数値制御装置100−2の機能ブロック図である。数値制御装置100−2は、数値制御装置100(
図1参照)と比較して、スイッチS1を備え、指定画面出力部110がないほかは、数値制御装置100と同様である。
スイッチS1は、ロボット300のハンド種類を指定するためのハードウェアである。
図8Bは、数値制御装置100−2の論理回路を表す回路
図531を示す。この回路
図531によれば、第1の処理として、数値制御装置100−2に備える
図8Cに示すスイッチS1と、ロボット制御装置400に送信する信号R1とを割り付ける。
【0057】
図8Cに示すスイッチS1は、ONとOFFとを切り替える部材である。
受付部120は、スイッチS1のON/OFF操作に基づく電流のON又はOFFを受け付ける。信号割付部140は、スイッチS1のON/OFFに操作に基づく電流のON/OFFを、信号R1として割り付ける。
この例では、スイッチS1のONに、ロボット300のハンド種類としてデュアルが指定され、スイッチS1のOFFに、シングルが指定されている。
【0058】
上述したように、ロボット制御装置400のプログラム記憶部420には、動作プログラム503が記憶されている。動作プログラム503は、信号R1の値によって、シングルハンド向け操作を行うか、デュアルハンド向け操作を行うかが、予め分岐処理として組み込まれている。
そうすることで、ロボット制御装置400において、当該動作プログラム503(
図3C参照)の実行時には、信号R1が入力されることで、ロボット制御装置400は、ロボット300の動作を、信号R1に基づいて制御するように設定される。以降の処理は、具体例1で説明したものと同様である。
【0059】
このように、ユーザによる数値制御装置100−2のスイッチS1による操作によって、数値制御装置100−2は、ロボット制御装置400側の信号R1(パラメータ)を、電流のON/OFFによって割り付ける。そして、信号R1は、ロボット制御装置400により入力され、その結果として、数値制御装置100−2は、ロボット300の動作シーケンスを決定することができる。
【0060】
(具体例5)
具体例5は、ロボット300のハンド種類を、数値制御装置100−3からロボット制御装置400に対して指定するものである。具体例5では、数値制御装置100−3は、メモリ内に有する動作プログラム543aをロボット制御装置400に送信して、ロボット制御装置400で動作プログラム543aを実行する。
図9Aは、数値制御装置100−3の機能ブロック図である。数値制御装置100−3は、数値制御装置100(
図1参照)と比較して、プログラム取得部130をさらに有する。
【0061】
プログラム取得部130は、受付部120が受け付けた設定情報に対応した動作プログラム543aを取得し、動作プログラム543aを、ロボット制御装置400に送信する。ロボット制御装置400で用いる動作プログラム543aは、数値制御装置100のメモリ部(例えば、CMOSメモリ14等)に記憶されている。
図9Bに示すように、数値制御装置100のメモリ部は、複数の異なる動作プログラム543が記憶されている。なお、動作プログラム543は、ネットワークNを介してアクセス可能なファイルサーバ又はクラウド等に記憶されていてもよい。
【0062】
この例で、数値制御装置100のPMC16で実行する処理は、第1の処理(
図3Aに示すラダー
図501による処理)と同様である。また、指定画面は、具体例1で説明した
図3Bに示す指定画面502と同様である。
ユーザが、指定画面において、例えば、デュアルを指定した場合、受付部120は、指定した設定情報を受け付ける。
【0063】
次に、プログラム取得部130は、受付部120が受け付けた設定情報であるデュアルに対応した動作プログラム543aを、数値制御装置100のメモリ部から取得し、動作プログラム543aを、ロボット制御装置400に送信する。
ロボット制御装置400の受信部410は、動作プログラム543aを受信する。そして、プログラム設定部430は、動作プログラム543aをロボット制御装置400のメモリ部に保存する。
その後の信号割付部140の処理は、具体例1と同様であり、説明は省略する。
なお、上述では、具体例1と同様のラダー図による処理であるとして、信号R1を送信するものを示した。しかし、動作プログラムに、パラメータによる分岐処理や変数等を有しない場合には、動作プログラム543aを、ロボット制御装置400に送信するだけでもよい。
【0064】
このように、数値制御装置100−3は、表示器/MDIユニット70による操作によって、ロボット制御装置400で実行する動作プログラム543aを取得する。そして、動作プログラム543aは、数値制御装置100−3からロボット制御装置400に送信される。
【0065】
以上により、生産システム1000では、数値制御装置100が、ロボット制御装置400に対してパラメータを信号として送信することで、ロボット制御装置400が、受信した信号に基づいて動作プログラムを選択し、及び/又は、動作プログラムの変数に数値を入力して、ロボット300を動作させる。
つまり、ユーザは、数値制御装置100からロボット制御装置400に対する設定を行うことができる。よって、ユーザは、ロボット制御装置400の操作に不慣れであっても、数値制御装置100から操作が行えるため、便利である。
また、その設定は、指定画面から選択したり、数を入力したりするものであるので、ユーザが簡単に入力できる。
【0066】
さらに、本実施形態においては、工作機械側(数値制御装置100)の信号とロボット側(ロボット制御装置400)との間で、PLCソフトウェア又は論理回路を用いて、信号を割り付けることにより、ロボット300の動作プログラムの選択、及び/又は、動作プログラムの動作を設定するパラメータを送信する構成とした。
そうすることで、工作機械(数値制御装置100)及びロボット(ロボット制御装置400)に特別な構成を追加修正する必要なく、既存の構成により、本発明を実施することができる。また、当業者にとって扱いに慣れているPLCソフトウェア又は論理回路による信号の割り付けを利用することで、工作機械(数値制御装置100)の扱いに慣れている当業者は、容易に本発明を実施することができる。
PLCソフトウェア又は論理回路を設定、設定変更することによって、工作機械側(数値制御装置100)からロボット側(ロボット制御装置400)に対して任意のパラメータを設定することができ、システムの変更、拡充が極めて容易で、低コストでシステム変更を行うことができる。
【0067】
本発明で使用する動作プログラムを初めとするプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non−transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0068】
また、上述した実施形態は、本発明の好適な実施形態ではあるが、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
【0069】
(変形例1)
上述した実施形態では、数値制御装置が1台の工作機械を制御するものとして説明したが、これに限定されない。数値制御装置が複数台の工作機械を制御するものであってもよい。また、ロボット制御装置についても、複数のロボットを制御するものであってもよい。さらに、複数台の数値制御装置と、複数台のロボット制御装置とがネットワークを介して接続されていてもよい。
【0070】
(変形例2)
上述した実施形態では、数値制御装置と、工作機械とが別装置であるものとして説明し、ロボットとロボット制御装置とが別装置であるものとして説明したが、これに限定されない。工作機械に、数値制御装置を備えるものであってもよいし、ロボットに、ロボット制御装置を備えるものであってもよい。
【0071】
(変形例3)
上述した実施形態では、ロボット制御装置には、予め動作プログラムが1つ記憶されているものを例に説明したが、これに限定されない。ロボット制御装置に、複数の動作プログラムが記憶されており、パラメータによって、1つの動作プログラムを選択可能にしてもよい。その場合、例えば、パラメータの個数に応じて、動作プログラムを選択するようにしてもよい。
【0072】
(変形例4)
上述した実施形態の具体例では、ロボットの動作プログラムの選択及び/又は動作プログラムの動作を設定するパラメータを、先ず数値制御装置100側の信号Mに変換し、その後、PLCソフトウェア又はスイッチのような論理回路により、数値制御装置100側の信号Mをロボット制御装置400側の信号Rに割り付けることで、当該パラメータを数値制御装置100からロボット制御装置400に送信したが、これに限定されない。
例えば、数値制御装置の送信手段として、当該パラメータを、例えば、ネットワークを介してロボット制御装置に送信するようにしてもよい。この場合、ロボット制御装置は、当該パラメータを受信した後、プログラム設定手段が、動作プログラムに対して、受信した当該パラメータを組み込むように構成してもよい。
そうすることで、実施形態の具体例と同様の効果を奏することができる。