WO2022131327A1 - 数値制御装置及び数値制御システム - Google Patents

数値制御装置及び数値制御システム Download PDF

Info

Publication number
WO2022131327A1
WO2022131327A1 PCT/JP2021/046508 JP2021046508W WO2022131327A1 WO 2022131327 A1 WO2022131327 A1 WO 2022131327A1 JP 2021046508 W JP2021046508 W JP 2021046508W WO 2022131327 A1 WO2022131327 A1 WO 2022131327A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
program
command
numerical control
block
Prior art date
Application number
PCT/JP2021/046508
Other languages
English (en)
French (fr)
Inventor
瞭 仲村
Original Assignee
ファナック株式会社
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ファナック株式会社 filed Critical ファナック株式会社
Priority to US18/255,340 priority Critical patent/US20240027990A1/en
Priority to CN202180083107.5A priority patent/CN116635801A/zh
Priority to DE112021005374.4T priority patent/DE112021005374T5/de
Priority to JP2022521184A priority patent/JP7121221B1/ja
Publication of WO2022131327A1 publication Critical patent/WO2022131327A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical 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 programme data in numerical form
    • G05B19/4093Numerical 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 programme data in numerical form characterised by part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1658Programme controls characterised by programming, planning systems for manipulators characterised by programming language
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical 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 programme data in numerical form
    • G05B19/408Numerical 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 programme data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41815Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell
    • G05B19/41825Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell machine tools and manipulators only, machining centre
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36242Convert program for different machines with different M-code, G-code, header
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Definitions

  • the position and orientation of the control point of the robot 3 and the form of the robot 3 are represented by six coordinate values (J1, J2, J3, J4, J5, J6) under each axis coordinate format, and are represented by the orthogonal coordinate format. Is represented by six coordinate values and one morphological value (X, Y, Z, A, B, C, P).
  • the program management unit 613 adds the robot command input to the robot program stored in the storage unit 614.
  • a robot program corresponding to the block robot command transmitted from the numerical control device 5 is generated in the storage unit 614.
  • the locus control unit 652 When the locus control unit 652 receives the operation plan of the robot 3 from the program management unit 613, the locus control unit 652 calculates the operation locus of the control point of the robot 3 by executing the interpolation process based on the motion plan, and the kinematics control unit. Enter in 653.
  • the kinematics control unit 653 calculates the angle of each joint of the robot 3 as a target angle by performing a kinematics calculation based on the motion locus calculated by the locus control unit 652, and these target angles are set to the servo control unit 654. Send to.
  • the second communication unit completes the execution each time the control of the robot operation based on one block robot command is completed.
  • the operation completion notification associated with the block robot command is transmitted to the first communication unit.
  • the program execution management unit generates an execution command for the next block robot command of the block robot command associated with the operation completion notification in the specified order in response to the reception of the operation completion notification in the first communication unit.
  • the first communication unit transmits the execution command to the second communication unit in response to the generation of the execution command by the program execution management unit.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manufacturing & Machinery (AREA)
  • Human Computer Interaction (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Numerical Control (AREA)

Abstract

数値制御装置5は、数値制御プログラムのブロック毎の解析結果に基づいて、ロボット制御装置6において認識可能なブロックロボット指令及びこのブロックロボット指令と関連付けられたブロック情報を生成するプログラム前処理部54と、プログラム前処理部54によって生成されたブロックロボット指令及びブロック情報を記憶するロボット指令記憶部523と、プログラム実行指令によって指定されるブロック情報と関連付けられたブロックロボット指令をロボット指令記憶部523から読み込むプログラム実行管理部58と、プログラム実行管理部58によって読み込まれたブロックロボット指令をロボット制御装置6へ送信する第1通信部59とを備える。

Description

数値制御装置及び数値制御システム
 本開示は、数値制御装置及び数値制御システムに関する。
 近年、加工現場の自動化を促進するため、ワークを加工する工作機械の動作とこの工作機械の近傍に設けられたロボットの動作とを連動して制御する数値制御システムが望まれている(例えば、特許文献1参照)。
 一般的に、工作機械を制御するための数値制御プログラムとロボットを制御するためのロボットプログラムとは、プログラム言語が異なる。このため工作機械の動作とロボットの動作とを連動させるためには、オペレータは数値制御プログラムとロボットプログラムとの両方に習熟する必要がある。
 特許文献1には、数値制御プログラムによって工作機械とロボットとの両方を制御する数値制御装置が示されている。より具体的には、特許文献1に示された数値制御システムでは、数値制御装置において数値制御プログラムに従って、ロボット制御装置において認識可能なロボット指令を生成し、ロボット制御装置において上記ロボット指令に基づいてロボットプログラムを生成し、このロボットプログラムに従ってロボットの動作を制御する。特許文献1に示された数値制御システムによれば、数値制御プログラムに慣れ親しんだユーザであれば、ロボットプログラムを習熟することなくロボットも制御できる。
 ところでGコードやMコード等のプログラミング言語に基づく数値制御プログラムは基本的にはブロック単位で記述されており、また数値制御装置は数値制御プログラムを指令ブロック単位で実行する。このため従来の数値制御システムにおいて、数値制御装置側では、指令ブロック単位でロボット指令を逐次生成し、このロボット指令をロボット制御装置へ送信し、ロボット制御装置側では、指令ブロック単位で送信されるロボット指令に基づいてロボットプログラムを逐次生成し、このロボットプログラムに基づいてロボットの動作を指令ブロック単位で制御する。これにより、数値制御装置及びロボット制御装置において、各々で実行されるプログラムの実行ブロックを同期させることができる。
特許第6647472号
 しかしながら従来の数値制御システムでは、ロボット制御装置側において指令ブロック単位でロボットの動作の制御が完了する度に、数値制御装置側では、次の指令ブロックの読込処理と、読み込んだ指令ブロックからロボット指令への変換処理と、ロボット指令の送信処理と、の少なくとも3つの処理を実行する必要がある。このため従来の数値制御システムでは、数値制御プログラムのプログラムサイズ(すなわち、数値制御プログラムを構成する指令ブロック数)に比例して変換処理の実行回数も増加する。このため従来の数値制御システムでは、プログラムサイズが大きくなるほど変換処理にかかる時間も長くなってしまうため、この変換処理にかかる時間だけロボット制御のサイクルタイムも長くなってしまうおそれがある。
 本開示は、数値制御装置とロボット制御装置との間でプログラムの実行ブロックの同期を図りつつ、ロボット制御のサイクルタイムを短くできる数値制御装置及び数値制御システムを提供することを目的とする。
 本開示の一態様は、数値制御プログラムに基づいて、工作機械の動作を制御するとともに、ロボットの動作を制御するロボット制御装置に対するロボット指令を生成する数値制御装置において、前記数値制御プログラムのブロック毎の解析結果に基づいて、前記ロボット制御装置において認識可能なブロックロボット指令及び当該ブロックロボット指令と関連付けられたブロック情報を生成するプログラム前処理部と、前記プログラム前処理部によって生成されたブロックロボット指令及びブロック情報を記憶するロボット指令記憶部と、所定のプログラム実行指令によって指定されるブロック情報と関連付けられたブロックロボット指令を前記ロボット指令記憶部から読み込むプログラム実行管理部と、前記プログラム実行管理部によって読み込まれたブロックロボット指令を前記ロボット制御装置へ送信する通信部と、を備える、数値制御装置を提供する。
 本開示の一態様は、数値制御プログラムに基づいて、工作機械の動作を制御するとともに、ロボットの動作を制御するロボット制御装置に対するロボット指令を生成する数値制御装置と、前記数値制御装置と通信可能であり前記数値制御装置から送信されるロボット指令に基づいて前記ロボットの動作を制御するロボット制御装置と、を備える数値制御システムにおいて、前記数値制御装置は、前記数値制御プログラムのブロック毎の解析結果に基づいて、前記ロボット制御装置において認識可能なブロックロボット指令及び当該ブロックロボット指令と関連付けられたブロック情報を生成するプログラム前処理部と、前記プログラム前処理部によって生成されたブロックロボット指令及びブロック情報を記憶するロボット指令記憶部と、所定のプログラム実行指令によって指定されるブロック情報と関連付けられたブロックロボット指令を前記ロボット指令記憶部から読み込むプログラム実行管理部と、前記プログラム実行管理部によって読み込まれたブロックロボット指令を前記ロボット制御装置へ送信する第1通信部と、を備え、前記ロボット制御装置は、前記第1通信部から送信されるブロックロボット指令を受信する第2通信部と、前記第2通信部によって受信されたブロックロボット指令に基づいてロボットプログラムを生成するロボットプログラム生成部と、前記ロボットプログラム生成部によって生成されたロボットプログラムに基づいて前記ロボットの動作を制御する動作制御部と、を備える、数値制御システムを提供する。
 本開示の一態様において、数値制御装置のプログラム前処理部は、数値制御プログラムのブロック毎の解析結果に基づいて、ロボット制御装置において認識可能なブロックロボット指令及びこのブロックロボット指令と関連付けられたブロック情報を生成し、数値制御装置のロボット指令記憶部は、生成されたブロックロボット指令及びブロック情報を記憶する。また数値制御装置のプログラム実行管理部は、プログラム実行指令によって指定されるブロック情報と関連付けられたブロックロボット指令をロボット指令記憶部から読み込み、数値制御装置の通信部は、プログラム実行管理部によって読み込まれたブロックロボット指令をロボット制御装置へ送信する。以上のように本開示の一態様によれば、プログラム実行指令をプログラム実行管理部へ入力する前に、予めプログラム前処理部によって数値制御プログラムに含まれる全ブロックに対するブロックロボット指令及びブロック情報を生成し、ロボット指令記憶部に記憶させておくことにより、数値制御装置からロボット制御装置へブロックロボット指令を送信する際には、数値制御プログラムからブロックロボット指令を生成する処理を実行する必要が無い。このため本開示の一態様によれば、数値制御装置とロボット制御装置との間でプログラムの実行ブロックの同期を図りつつ、従来の数値制御システムと比較して、ブロックロボット指令の生成処理にかかる分だけロボット制御のサイクルタイムを短くすることができる。
本開示の第1実施形態に係る数値制御システムの概略図である。 数値制御装置及びロボット制御装置の機能ブロック図である。 プログラム前処理部における前処理によって生成される複数のブロックロボット指令を模式的に示す図である。 数値制御装置とロボット制御装置との間の信号及び情報の流れ、数値制御装置において実行される処理、並びにロボット制御装置において実行される処理を示すシーケンス図である。 ロボット用の数値制御プログラム、及びこの数値制御プログラムに対し前処理を施すことによって生成される複数のブロックロボット指令の一例を示す図である。 本開示の第2実施形態に係る数値制御システムにおいて、数値制御装置とロボット制御装置との間の信号及び情報の流れ、数値制御装置において実行される処理、並びにロボット制御装置において実行される処理を示すシーケンス図である。
<第1実施形態>
 以下、図面を参照して、本開示の第1実施形態に係る数値制御システムについて説明する。
 図1は、本実施形態に係る数値制御システム1の概略図である。
 数値制御システム1は、工作機械2と、この工作機械2の動作を制御する数値制御装置(CNC)5と、工作機械2の近傍に設けられたロボット3と、数値制御装置5と通信可能に接続されたロボット制御装置6と、を備える。数値制御装置5は、所定の数値制御プログラムに基づいて、工作機械2の動作を制御するとともに、ロボット制御装置6に対する指令を生成し、ロボット制御装置6へ送信する。ロボット制御装置6は、数値制御装置5から送信される指令に応じてロボット3の動作を制御する。
 工作機械2は、数値制御装置5から送信される工作機械制御信号に応じて図示しないワークを加工する。ここで工作機械2は、例えば、旋盤、ボール盤、フライス盤、研削盤、レーザ加工機、及び射出成形機等であるが、これに限らない。
 ロボット3は、ロボット制御装置6による制御下において動作し、例えば工作機械2によって加工されるワークに対し所定の作業を行う。ロボット3は、例えば多関節ロボットであり、そのアーム先端部31にはワークを把持したり、加工したり、検査したりするためのツール32が取り付けられている。以下では、ロボット3は、6軸の多関節ロボットとした場合について説明するが、これに限らない。また以下では、ロボット3は、6軸の多関節ロボットとした場合について説明するが、軸数はこれに限らない。
 数値制御装置5及びロボット制御装置6は、それぞれCPU(Central Processing Unit)等の演算処理手段、各種プログラムを格納したHDD(Hard Disk Drive)やSSD(Solid State Drive)等の補助記憶手段、演算処理手段がプログラムを実行する上で一時的に必要とされるデータを格納するためのRAM(Random Access Memory)といった主記憶手段、オペレータが各種操作を行うキーボードといった操作手段、及びオペレータに各種情報を表示するディスプレイといった表示手段等のハードウェアによって構成されるコンピュータである。これらロボット制御装置6及び数値制御装置5は、例えばイーサネット(登録商標)によって相互に各種信号を送受信することが可能となっている。
 図2は、数値制御装置5及びロボット制御装置6の機能ブロック図である。
 数値制御装置5は、以下で説明する手順に従って、ロボット3やツール32の動作を制御するための各種指令を生成し、生成した指令をロボット制御装置6へ送信する。ロボット制御装置6は、数値制御装置5から送信される指令に基づいて、以下で説明する手順に従ってロボット3の動作を制御するためのロボット制御信号を生成したり、ツール32の動作を制御するためのI/O信号を生成したりし、生成したロボット制御信号やI/O信号をロボット3に入力する。これによりロボット制御装置6は、ロボット3やツール32の動作を制御する。
 先ず、数値制御装置5の詳細な構成について説明する。図2に示すように数値制御装置5には、上記ハードウェア構成によって、工作機械2の制御系統としての工作機械制御モジュール50、ロボット3の制御系統としてのロボット制御モジュール51、工作機械制御モジュール50やロボット制御モジュール51において実行される数値制御プログラム等を記憶する記憶部52、及びオペレータによる操作に基づいて数値制御プログラムを作成、選択又は編集するプログラム編集部53等の各種機能が実現される。
 記憶部52は、工作機械制御モジュール50において工作機械2に対する工作機械制御信号を生成するための数値制御プログラムである工作機械用の数値制御プログラムを記憶する工作機械用プログラム記憶部521と、ロボット制御モジュール51においてロボット3に対するロボット指令を生成するための数値制御プログラムであるロボット用の数値制御プログラムを記憶するロボット用プログラム記憶部522と、後述のブロックロボット指令やブロック情報等を記憶するロボット指令記憶部523と、を備える。
 工作機械用プログラム記憶部521に記憶されている工作機械用の数値制御プログラムや、ロボット用プログラム記憶部522に記憶されているロボット用の数値制御プログラムは、共通のプログラミング言語(例えば、GコードやMコード等)で記述された複数の指令ブロックによって構成されている。これらプログラム記憶部521,522には、それぞれ複数の数値制御プログラムが記憶されている。またこれらプログラム記憶部521,522に記憶されている複数の数値制御プログラムには、それぞれ固有のプログラム番号が割り振られている。
 プログラム編集部53は、オペレータによる図示しない操作パネルの操作に基づいて、新たに数値制御プログラムを新たに生成し、プログラム記憶部521,522に記憶させたり、プログラム記憶部521,522に記憶されている数値制御プログラムを選択又は編集したりする。
 工作機械用の数値制御プログラムは、工作機械2上又は工作機械2の近傍に定められた基準点を原点とする第1座標系としての工作機械座標系に基づいて記述されている。すなわち工作機械用の数値制御プログラムにおいて、工作機械2の制御点の位置及び姿勢は、工作機械座標系における座標値によって記述される。
 ロボット用の数値制御プログラムは、工作機械座標系とは異なる第2座標系としてのロボット座標系に基づいて記述されている。すなわちロボット用の数値制御プログラムにおいて、ロボット3の制御点(例えば、ロボット3のアーム先端部31)の位置及び姿勢は、工作機械座標系とは異なるロボット座標系における座標値によって記述される。このロボット座標系は、ロボット3上又はロボット3の近傍に定められた基準点を原点とする座標系である。なお以下では、ロボット座標系は工作機械座標系と異なる場合について説明するが、本開示はこれに限らない。ロボット座標系は工作機械座標系と一致させてもよい。換言すれば、ロボット座標系の原点や座標軸方向を工作機械座標系の原点や座標軸方向と一致させてもよい。
 またこのロボット用の数値制御プログラムにおいてロボット座標系は、制御軸が異なる2以上の座標形式の間で切替可能となっている。より具体的には、ロボット用の数値制御プログラムにおいてロボット3の制御点の位置及び姿勢は、直交座標形式又は各軸座標形式によって指定可能である。
 各軸座標形式では、ロボット3の制御点の位置及び姿勢は、ロボット3の6つの関節の回転角度値(J1,J2,J3,J4,J5,J6)を成分とした計6つの実数の座標値によって指定される。
 直交座標形式では、ロボット3の制御点の位置及び姿勢は、3つの直交座標軸に沿った3つの座標値(X,Y,Z)と、各直交座標軸周りの3つの回転角度値(A,B,C)と、を成分とした計6つの実数の座標値によって指定される。
 ここで各軸座標形式の下では、ロボット3の各関節の回転角度を直接的に指定するため、ロボット3の各アームや手首の軸配置や、360度以上回転可能な関節の回転数(以下、これらを総称して「ロボット3の形態」という)も一意的に定まる。これに対し直交座標形式の下では、6つの座標値(X,Y,Z,A,B,C)によってロボット3の制御点の位置及び姿勢を指定するため、ロボット3の形態は一意的に定めることができない。そこでロボット用の数値制御プログラムでは、ロボット3の形態を、所定の桁数の整数値である形態値Pによって指定することが可能となっている。従ってロボット3の制御点の位置及び姿勢並びにロボット3の形態は、各軸座標形式の下では6つの座標値(J1,J2,J3,J4,J5,J6)によって表され、直交座標形式の下では6つの座標値及び1つの形態値(X,Y,Z,A,B,C,P)によって表される。
 ロボット用の数値制御プログラムでは、Gコード“G68.8”及び“G68.9”によって座標形式を設定することが可能となっている。より具体的には、Gコード“G68.8”を入力することにより、座標形式は各軸座標形式に設定され、Gコード“G68.9”を入力することにより、座標形式は直交座標形式に設定される。これら座標形式を設定するためのGコード“G68.8”及び“G68.9”は、モーダルである。従って座標形式は、これらGコードによって座標形式を各軸座標形式又は直交座標形式に設定した後は、再びこれらGコードによって座標形式が変更されるまで維持される。なお本実施形態では、ロボット用の数値制御プログラムにこれら座標形式を設定するためのGコードが記載されていない場合、座標形式は自動的に直交座標形式に設定されるものとするが、これに限らない。
 工作機械制御モジュール50は、工作機械用プログラム記憶部521に記憶されている工作機械用の数値制御プログラムに従って、工作機械2の動作を制御するための工作機械制御信号を生成し、工作機械2の図示しないアクチュエータへ入力する。より具体的には、工作機械制御モジュール50は、工作機械用プログラム記憶部521に記憶された複数の工作機械用の数値制御プログラムの中から所定のプログラム実行指令によって指定されるプログラム番号の数値制御プログラムを読み込み、当該数値制御プログラムに基づく指令種別を解析することによって工作機械制御信号を生成する。工作機械2は、工作機械制御モジュール50から送信される工作機械制御信号に応じて動作し、図示しないワークを加工する。
 ロボット制御モジュール51は、ロボット用プログラム記憶部522に記憶されているロボット用の数値制御プログラムに基づいて、ロボット3及びツール32の動作を制御するための各種指令を生成し、ロボット制御装置6へ送信する。より具体的には、ロボット制御モジュール51は、プログラム前処理部54と、プログラム実行指令部57と、プログラム実行管理部58と、第1通信部59と、を備える。
 プログラム前処理部54は、複数の指令ブロックによって構成されるロボット用の数値制御プログラムをロボット用プログラム記憶部522から読み込むとともに、読み込んだロボット用の数値制御プログラムに対し以下の手順で示す前処理を施すことにより、ロボット制御装置6において認識可能な形式で記述されたロボット指令であるブロックロボット指令を、ロボット用の数値制御プログラムを構成する指令ブロック毎に生成し、生成した複数のブロックロボット指令をロボット指令記憶部523に記憶させる。
 より具体的には、プログラム前処理部54は、プログラム入力部541と、入力解析部542と、ロボット指令生成部543と、を備え、これらを用いることによってロボット用の数値制御プログラムに対し前処理を施す。
 以下では、プログラム前処理部54は、例えば、プログラム編集部53によるロボット用の数値制御プログラムが生成、選択又は編集が完了したことに応じて、以下で説明する前処理を開始する場合について説明するが、前処理を開始するタイミングはこれに限らない。プログラム前処理部54は、遅くとも後述のプログラム実行指令部57がプログラム実行管理部58へ後述のプログラム実行指令を入力する前に、以下で説明する前処理を開始すればよい。
 始めにプログラム入力部541は、ロボット用プログラム記憶部522に記憶された複数のロボット用の数値制御プログラムの中から前処理を施していないもの、より具体的には、プログラム編集部53による生成、選択又は編集が完了したロボット用の数値制御プログラムを読み込み、これを指令ブロック毎に入力解析部542へ逐次入力する。
 入力解析部542は、プログラム入力部541から入力されるロボット用の数値制御プログラムに基づく指令種別を指令ブロック毎に解析し、その解析結果を指令ブロック毎にロボット指令生成部543へ送信する。
 ロボット指令生成部543は、入力解析部542から指令ブロック毎に送信される解析結果に基づいて、ロボット制御装置6において認識可能なロボット指令であるブロックロボット指令と、このブロックロボット指令と関連付けられたブロック情報と、を指令ブロック毎に生成し、生成したブロックロボット指令やブロック情報をロボット指令記憶部523に記憶させる。より具体的には、ロボット指令生成部543は、読み込んだロボット用の数値制御プログラムの言語をロボット制御装置6において認識可能な言語に変換することによって、ロボット制御装置6において認識可能なブロックロボット指令を生成する。ここでロボット用の数値制御プログラムの言語をロボット制御装置6において認識可能な言語に変換する処理には、ロボット用の数値制御プログラムの文字コードをロボット制御装置6において認識可能な文字コードに変換する処理や、ロボット用の数値制御プログラムをロボット制御装置6において認識可能な信号に変換する処理等も含まれる。またブロック情報には、ブロックロボット指令を生成する際に読み込んだロボット用の数値制御プログラムのプログラム番号や、ロボット用の数値制御プログラムにおけるブロック番号等が含まれる。
 図3は、以上のようなプログラム前処理部54によって生成されるブロックロボット指令を模式的に示す図である。
 図3に示すようにプログラム前処理部54は、ロボット用プログラム記憶部522に記憶されているn組(“n”は任意の整数)のプログラム番号1の数値制御プログラムP1、プログラム番号2の数値制御プログラムP2、…プログラム番号nの数値制御プログラムPnの各々に対し上述のような前処理を施すことにより、複数のブロックロボット指令Ci_jと、各ブロックロボット指令Ci_jと関連付けられた複数のブロック情報(i-j)と、を生成する。ロボット指令記憶部523は、プログラム前処理部54によって生成された複数のブロックロボット指令Ci_jを、図3に示すようにブロック情報(i-j)と関連付けた状態で記憶する。ここで“i”は、プログラム番号に相当し、1からnの間の任意の整数である。また“j”はブロック番号に相当し、1から各数値制御プログラムの指令ブロック数の間の任意の整数である。なお以下では、ロボット用プログラム記憶部522に記憶されているn組の数値制御プログラムP1,…,Pnの全てに対しプログラム前処理部54によって前処理を施す場合について説明するが、本開示はこれに限らない。プログラム前処理部54は、ロボット用プログラム記憶部522に記憶されている複数組の数値制御プログラムのうち図示しない選択処理によって選択されているものに対してのみ前処理を施してもよい。
 より具体的には、プログラム前処理部54は、b1個の指令ブロックによって構成される数値制御プログラムP1に対し前処理を施すことにより、計b1個のブロックロボット指令C1_1,C1_2,…,C1_b1を生成し、b2個の指令ブロックによって構成される数値制御プログラムP2に対し前処理を施すことにより、計b2個のブロックロボット指令C2_1,C2_2,…,C2_b2を生成し、bn個の指令ブロックによって構成される数値制御プログラムPnに対し前処理を施すことにより、計bn個のブロックロボット指令Cn_1,Cn_2,…,Cn_bnを生成する。
 図2に戻り、プログラム実行指令部57は、ロボット用プログラム記憶部522に記憶された複数のロボット用の数値制御プログラムのうち、例えばオペレータによる操作に基づいて指定されるプログラム番号の数値制御プログラムに対するプログラム実行指令を生成し、プログラム実行管理部58へ入力する。
 プログラム実行管理部58は、プログラム実行指令部57からプログラム実行指令が入力されたことを契機として、このプログラム実行指令によって指定される複数のブロックロボット指令をロボット指令記憶部523から読み込み、読み込んだ複数のブロックロボット指令を第1通信部59に書き込む。より具体的には、プログラム実行管理部58は、プログラム実行指令によって指定されるプログラム番号iに属する複数のブロックロボット指令Ci_1,Ci_2,…,Ci_biを、プログラム実行指令による指定順(例えば、ブロック番号が小さいものから順)で読み込むとともに、読み込んだ複数のブロックロボット指令Ci_1,Ci_2,…,Ci_biをプログラム実行指令による指定順で第1通信部59に書き込む。
 第1通信部59は、プログラム実行管理部58において読み込まれた複数のブロックロボット指令Ci_1,Ci_2,…,Ci_biを、プログラム実行管理部58による書込み順(すなわち、プログラム実行管理部58による読込み順と同じであり、プログラム実行指令に基づく指定順とも同じでもある)で、1つずつロボット制御装置6の後述の第2通信部69へ送信する。より具体的には、第1通信部59は、プログラム実行管理部58において読み込まれた複数のブロックロボット指令Ci_1,Ci_2,…,Ci_biを、プログラム実行管理部58による書込み順で、第2通信部69から送信される後述の動作完了通知を受信する度に1つずつ第2通信部69へ送信する。
 次に、ロボット制御装置6の構成について詳細に説明する。図2に示すように、ロボット制御装置6には、上記ハードウェア構成によって、入力解析部60、ロボットプログラム生成部61、動作制御部65、及び第2通信部69等の各種機能が実現される。
 第2通信部69は、数値制御装置5の第1通信部59と、相互に各種指令や通知を送受信する。より具体的には、第2通信部69は、第1通信部59から送信されるブロックロボット指令を受信すると、このブロックロボット指令を逐次入力解析部60へ入力する。また第2通信部69は、後に説明する手順に従い、プログラム管理部613によって動作完了通知が書き込まれると、この動作完了通知を第1通信部59へ送信する。
 入力解析部60は、第2通信部69を介して数値制御装置5から送信されるブロックロボット指令を解析し、解析結果をロボットプログラム生成部61及び動作制御部65へ送信する。
 ロボットプログラム生成部61は、ロボット命令生成部612と、プログラム管理部613と、記憶部614と、を備え、これらを用いることによって、入力解析部60から送信されるブロックロボット指令に応じたロボットプログラムを生成する。
 ロボット命令生成部612は、入力解析部60からブロックロボット指令が入力されると、入力されたブロックロボット指令に対応するロボット命令をプログラム管理部613へ通知する。
 プログラム管理部613は、ロボット命令生成部612からロボット命令が入力されると、記憶部614に格納されているロボットプログラムに入力されたロボット命令を追加する。これにより記憶部614には、数値制御装置5から送信されるブロックロボット指令に応じたロボットプログラムが生成される。
 動作制御部65は、プログラム起動部651と、軌跡制御部652と、キネマティクス制御部653と、サーボ制御部654と、を備え、これらを用いることによって、ロボット3の動作を制御する。
 プログラム起動部651は、入力解析部60からブロックロボット指令が入力された後、上述のロボットプログラム生成部61においてブロックロボット指令に基づくロボットプログラムの生成が完了したことに応じて、このロボットプログラムを起動するべく、プログラム管理部613へプログラム起動通知を送信する。プログラム管理部613は、このプログラム起動通知を受信したことに応じて、記憶部614に格納されたロボットプログラムを起動する。プログラム管理部613は、起動したロボットプログラム内に記述されたロボット命令を逐次実行することにより、ブロックロボット指令に応じたロボット3の動作計画やツール32の動作計画を作成する。またプログラム管理部613は、生成したロボット3の動作計画は軌跡制御部652へ送信し、生成したツール32の動作計画はサーボ制御部654へ送信する。
 軌跡制御部652は、プログラム管理部613からロボット3の動作計画を受信すると、この動作計画に基づいて補間処理を実行することにより、ロボット3の制御点の動作軌跡を算出し、キネマティクス制御部653へ入力する。キネマティクス制御部653は、軌跡制御部652によって算出された動作軌跡に基づいてキネマティクス演算を行うことにより、ロボット3の各関節の角度を目標角度として算出し、これら目標角度をサーボ制御部654へ送信する。
 サーボ制御部654は、キネマティクス制御部653から送信される各関節の目標角度が実現するように、ロボット3の各サーボモータをフィードバック制御することによってロボット3に対するロボット制御信号を生成し、ロボット3のサーボモータへ入力する。またサーボ制御部654は、プログラム管理部613から送信されるツール32の動作計画を受信すると、この動作計画に従ってツール32を駆動するためのI/O信号を生成し、ツール32へ入力する。
 またプログラム管理部613は、以上の手順によって1つのブロックロボット指令に基づくロボット3及びツール32の動作の制御が完了すると、動作完了通知を第2通信部69に書き込む。第2通信部69は、プログラム管理部613によって動作完了通知が書き込まれると、この動作完了通知を数値制御装置5の第1通信部59へ送信する。また第1通信部59は、第2通信部69から送信される動作完了通知を受信したことに応じて、上述のようにプログラム実行管理部58による書込み順で次のブロックロボット指令を第2通信部69へ送信する。
 以上のようにロボット制御装置6では、数値制御装置5から送信されるブロックロボット指令を受信すると、ロボットプログラム生成部61がこれらブロックロボット指令に基づいてロボットプログラムを生成し、さらにこのロボットプログラムを実行することによってロボット3やツール32の動作を制御する。
 次に、以上のように構成された数値制御システム1における各種信号や情報の流れについて、図4及び図5を参照しながら説明する。
 図4は、数値制御装置5とロボット制御装置6との間の信号及び情報の流れ、数値制御装置5において実行される処理、並びにロボット制御装置6において実行される処理を示すシーケンス図である。
 始めに数値制御装置5のプログラム前処理部54は、プログラム編集部53によるロボット用の数値制御プログラムの編集が完了したことに応じて、この数値制御プログラムに対し前処理を施すことにより、複数のブロックロボット指令を生成し、ロボット指令記憶部523に記憶させる。
 図5は、ロボット用の数値制御プログラム、及びこの数値制御プログラムに対し前処理を施すことによって生成される複数のブロックロボット指令の一例を示す図である。
 図5の左側には、プログラム番号を“i”とし指令ブロック数を“bi”とする数値制御プログラムの一例を示す。図5の数値制御プログラムのブロック番号“1”の指令ブロックは、ロボット3の制御点を各軸座標形式の下で指定される座標値(0,0,0,0,-90,0)へ早送りによって移動させるためのコマンドによって構成され、ブロック番号“2”の指令ブロックは、ロボット3の制御点を直交座標形式の下で指定される座標値(200.,0,150.,0,0,0,_)へ直線補間によって移動させるためのコマンドによって構成され、ブロック番号“bi”の指令ブロックは、ロボット3の制御点を各軸座標形式の下で指定される座標値(0,0,0,0,-90,0)へ早送りによって移動させるためのコマンドによって構成される。
 プログラム前処理部54は、このような数値制御プログラムに対して前処理を施すことにより、図5において右側に示すように、合計“bi”個のブロックロボット指令と、各ブロックロボット指令と関連付けられたブロック情報と、を生成し、ロボット指令記憶部523に記憶させる。図5には、数値制御プログラムに対し、その言語をロボット制御装置6において認識可能な言語に変換する前処理を施した場合を示す。ブロック情報(i-1)と関連付けられるブロックロボット指令は、“Move deg(0,0,0,0,-90.,0)”となり、ブロック情報(i-2)と関連付けられるブロックロボット指令は、“Move abs(200.,0,150,0,0,0)”となり、ブロック情報(i-bi)と関連付けられるブロックロボット指令は、“Move deg(0,0,0,0,-90.,0)”となる。
 図4に戻り、その後数値制御装置5のプログラム実行指令部57は、オペレータによる操作に基づいて上記のように前処理が完了したプログラム番号“i”の数値制御プログラムに対するプログラム実行指令を生成し、プログラム実行管理部58へ入力する。
 その後数値制御装置5のプログラム実行管理部58は、プログラム実行指令が入力されたことに応じて、ブロック情報(i-j)(“j”は、ブロック番号であり、1からbiの間の整数)と関連付けられたブロックロボット指令をブロック番号の小さいものから順にロボット指令記憶部523から読み込むとともに、読み込んだ複数のブロックロボット指令を順に第1通信部59に書き込む。
 その後数値制御装置5の第1通信部59は、始めにブロック情報(i-1)と関連付けられたブロックロボット指令をロボット制御装置6へ送信する。
 その後ロボット制御装置6は、ブロック情報(i-1)と関連付けられたブロックロボット指令を受信したことに応じて、このブロックロボット指令に基づいてロボットプログラムを生成し、実行することによってロボット3の制御点を、各軸座標形式の下で指定される座標値(0,0,0,0,-90,0)へ早送りによって移動させる。またロボット制御装置6は、ロボット3の動作の制御が完了すると、数値制御装置5へ動作完了通知を送信する。
 その後数値制御装置5の第1通信部59は、動作完了通知を受信したことに応じて、次のブロック情報(i-2)と関連付けられたブロックロボット指令をロボット制御装置へ送信する。
 その後ロボット制御装置6は、ブロック情報(i-2)と関連付けられたブロックロボット指令を受信したことに応じて、このブロックロボット指令に基づいてロボットプログラムを生成し、実行することによってロボット3の制御点を、直交座標形式の下で指定される座標値(200.,0,150.,0,0,0,_)へ直線補間によって移動させる。またロボット制御装置6は、ロボット3の動作の制御が完了すると、数値制御装置5へ動作完了通知を送信する。
 これ以降、数値制御装置5とロボット制御装置6との間では、ブロック情報(i-bi)と関連付けられるブロックロボット指令に基づくロボット3の動作の制御が完了するまで、ブロックロボット指令及び動作完了通知の送受信を繰り返す。
 本実施形態によれば、以下の効果が奏される。
 本実施形態において、数値制御装置5のプログラム前処理部54は、数値制御プログラムのブロック毎の解析結果に基づいて、ロボット制御装置6において認識可能なブロックロボット指令及びこのブロックロボット指令と関連付けられたブロック情報を生成し、数値制御装置5のロボット指令記憶部523は、生成されたブロックロボット指令及びブロック情報を記憶する。また数値制御装置5のプログラム実行管理部58は、プログラム実行指令によって指定されるブロック情報と関連付けられたブロックロボット指令をロボット指令記憶部523から読み込み、数値制御装置5の第1通信部59は、プログラム実行管理部58によって読み込まれたブロックロボット指令をロボット制御装置6へ送信する。以上のように本実施形態によれば、プログラム実行指令をプログラム実行管理部58へ入力する前に、予めプログラム前処理部54によって数値制御プログラムに含まれる全ブロックに対するブロックロボット指令及びブロック情報を生成し、ロボット指令記憶部523に記憶させておくことにより、数値制御装置5からロボット制御装置6へブロックロボット指令を送信する際には、数値制御プログラムからブロックロボット指令を生成する処理を実行する必要が無い。このため本実施形態によれば、数値制御装置5とロボット制御装置6との間でプログラムの実行ブロックの同期を図りつつ、従来の数値制御システムと比較して、ブロックロボット指令の生成処理にかかる分だけロボット制御のサイクルタイムを短くすることができる。
 本実施形態では、プログラム前処理部54は、プログラム実行指令部57からプログラム実行管理部58へプログラム実行指令が入力される前に、ロボット用数値制御プログラムの解析並びにブロックロボット指令及びブロック情報の生成を開始する。これにより、従来の数値制御システムと比較して、ブロックロボット指令の生成処理にかかる分だけロボット制御のサイクルタイムを短くすることができる。
 本実施形態では、プログラム前処理部54は、プログラム編集部53によるロボット用数値制御プログラムの作成、選択又は編集が完了したことに応じて、このロボット用数値制御プログラムの解析並びにブロックロボット指令及びブロック情報の生成を開始する。これにより、作成、選択又は編集が完了したロボット用数値制御プログラムに基づくロボットの動作の制御を、できるだけ速やかに開始することができる。
 本実施形態では、プログラム前処理部54は、数値制御プログラムの言語をロボット制御装置6において認識可能な言語に変換することによってブロックロボット指令を生成する。またプログラム前処理部54は、数値制御プログラムの文字コードをロボット制御装置6において認識可能な文字コードに変換することによって、ブロックロボット指令を生成する。これにより、既存のロボット制御装置6でも認識可能なブロックロボット指令を生成することができる。
 本実施形態では、プログラム実行管理部58は、プログラム実行指令によって指定される複数のブロック情報の各々と関連付けられた複数のブロックロボット指令を、プログラム実行指令による指定順で読み込み、第1通信部59は、複数のブロックロボット指令を、プログラム実行管理部58による読込み順で、第2通信部69から送信される動作完了通知を受信する度に1つずつ第2通信部69へ送信する。これにより、より確実に数値制御装置5とロボット制御装置6との間でプログラムの実行ブロックの同期を図ることができる。
<第2実施形態>
 以下、図面を参照して、本開示の第2実施形態に係る数値制御システムについて説明する。本実施形態に係る数値制御システムは、第1実施形態に係る数値制御システム1と、主にブロックロボット指令の送信手順が異なる。
 図6は、本実施形態に係る数値制御装置とロボット制御装置との間の信号及び情報の流れ、数値制御装置において実行される処理、並びにロボット制御装置において実行される処理を示すシーケンス図である。本実施形態に係る数値制御システムにおいて、プログラム編集部が数値制御プログラムを作成、選択又は編集する手順、プログラム前処理部が複数のブロックロボット指令及びブロック情報を生成し、ロボット指令記憶部に記憶させる手順、プログラム実行指令部が数値制御プログラムに対するプログラム実行指令を生成し、プログラム実行管理部へ入力する手順、プログラム実行管理部がロボット指令記憶部から複数のブロックロボット指令を読み込む手順、及びロボット制御装置がブロックロボット指令に基づいてロボットの動作を制御する手順等は、第1実施形態に係る数値制御システムと同じであるので、以下では詳細な説明を省略する。なお以下では、図5と同じ数値制御プログラムを実行した場合を例に説明する。
 図6に示すように、数値制御装置のプログラム実行管理部は、プログラム実行指令が入力されたことに応じて、第1実施形態と同様に、ロボット指令記憶部からのブロックロボット指令の読み込み、及び読み込んだブロック指令の第1通信部に設けられたバッファへの書き込みを開始する。なお第1通信部に設けられたバッファは、ブロックロボット指令を書込み順で出力する所謂FIFOバッファである。なお以下では、第1通信部にバッファを設けた場合について説明するが、本開示はこれに限らない。同様のバッファは第2通信部に設けてもよい。第2通信部にバッファを設けた場合でも、僅かな修正により同様の動作を実現することができる。
 図6に示すように、プログラム実行管理部は、始めにブロック情報(i-1)と関連付けられたブロックロボット指令を第1通信部のバッファに書き込むとともに、このブロック情報(i-1)と関連づけられたブロックロボット指令に対する実行指令を生成する。これにより第1通信部は、ブロック情報(i-1)と関連付けられたブロックロボット指令とともにこのブロックロボット指令に対する実行指令をロボット制御装置6へ送信する。
 その後ロボット制御装置のロボットプログラム生成部は、受信したブロックロボット指令を読み取り、ロボットプログラムを生成する。またロボット制御装置の動作制御部は、数値制御装置から実行指令を受信したことに応じて、生成したロボットプログラムを起動することにより、ブロック情報(i-1)と関連付けられたブロックロボット指令に基づくロボットの動作の制御を開始する。
 以上のようにしてロボットの動作を制御する傍ら、ロボット制御装置の第2通信部は、先に受信したブロックロボット指令のロボットプログラム生成部による読み取りが完了したことに応じて、第1通信部へ読取完了通知を送信する。
 その後数値制御装置の第1通信部は、第2通信部から送信される読取完了通知を受信したことに応じて、プログラム実行管理部による書込み順で次にバッファに書き込まれたブロックロボット指令、すなわちブロック情報(i-2)と関連付けられたブロックロボット指令を第2通信部へ送信する。
 その後ロボット制御装置のロボットプログラム生成部は、受信したブロックロボット指令を読み取り、ブロック情報(i-2)と関連付けられたブロックロボット指令に基づくロボットプログラムを生成する。
 その後ロボット制御装置の第2通信部は、ブロック情報(i-1)と関連付けられたブロックロボット指令に基づくロボットの動作の制御が完了したことに応じて、第1通信部へ動作完了通知を送信する。
 その後数値制御装置のプログラム実行管理部は、第2通信部から送信された動作完了通知を受信したことに応じて、次の指令ブロックの実行に移行するべく、プログラム実行管理部による読込み順で次のブロックロボット指令、すなわちブロック情報(i-2)と関連付けられたブロックロボット指令に対する実行指令を、第1通信部を介してロボット制御装置へ送信する。
 その後ロボット制御装置の動作制御部は、数値制御装置から実行指令を受信したことに応じて、先に生成したロボットプログラムを起動することにより、ブロック情報(i-2)と関連付けられたブロックロボット指令に基づくロボットの動作の制御を開始する。
 これ以降、数値制御装置のプログラム実行管理部は、プログラム実行指令によって指定される複数のブロック情報の各々と関連付けられた複数のブロックロボット指令を、プログラム実行指令による指定順(例えば、ブロック番号が小さいものから順)で読み込むとともに、読み込んだ複数のブロックロボット指令をこの指定順で第1通信部のバッファに書き込む。またロボット制御装置の第2通信部は、1つのブロックロボット指令の読み取りが完了する度に読取完了通知を第1通信部へ送信する。また第1通信部は、バッファに書き込まれたブロックロボット指令を、プログラム実行管理部による書込み順で、第2通信部からの読取完了通知を受信する度に1つずつ第2通信部へ送信する。これにより、数値制御装置からロボット制御装置へ、適切な順序で複数のブロックロボット指令を送信し、各ブロックロボット指令に応じたロボットプログラムをロボット制御装置において生成させることができる。
 また以上の手順によって数値制御装置からロボット制御装置へ複数のブロックロボット指令を送信する傍ら、第2通信部は、1つのブロックロボット指令に基づくロボットの動作の制御が完了する度に、実行が完了したブロックロボット指令と関連付けられた動作完了通知を第1通信部へ送信する。またプログラム実行管理部は、第1通信部において上記動作完了通知が受信されたことに応じて、上記指定順において動作完了通知と関連付けられたブロックロボット指令の次のブロックロボット指令に対する実行指令を生成し、第1通信部は、プログラム実行管理部によって実行指令が生成されたことに応じて、この実行指令を第2通信部へ送信する。また動作制御部は、第2通信部において実行指令が受信されたことに応じて、この実行指令と関連付けられたロボットプログラムを実行し、ロボットの動作を制御する。本実施形態に係る数値制御システムでは、このような手順によって数値制御装置からロボット制御装置へ各ブロックロボット指令に対する実行指令を送信することにより、複数のブロックロボット指令に基づくロボットプログラムの生成と並行して生成済のロボットプログラムを起動できるので、第1実施形態に係る数値制御システム1と比較して、サイクルタイムをさらに短くすることができる。
 本実施形態によれば、第1実施形態と同様の効果が奏される。また本開示は、上記実施形態に限定されるものではなく、種々の変更及び変形が可能である。
 1…数値制御システム
 2…工作機械
 3…ロボット
 5…数値制御装置
 50…工作機械制御モジュール
 51…ロボット制御モジュール
 52…記憶部
 521…工作機械用プログラム記憶部
 522…ロボット用プログラム記憶部(プログラム記憶部)
 523…ロボット指令記憶部
 53…プログラム編集部
 54…プログラム前処理部
 57…プログラム実行指令部
 58…プログラム実行管理部
 59…第1通信部
 6…ロボット制御装置
 60…入力解析部
 61…ロボットプログラム生成部
 65…動作制御部
 69…第2通信部

Claims (11)

  1.  数値制御プログラムに基づいて、工作機械の動作を制御するとともに、ロボットの動作を制御するロボット制御装置に対するロボット指令を生成する数値制御装置において、
     前記数値制御プログラムのブロック毎の解析結果に基づいて、前記ロボット制御装置において認識可能なブロックロボット指令及び当該ブロックロボット指令と関連付けられたブロック情報を生成するプログラム前処理部と、
     前記プログラム前処理部によって生成されたブロックロボット指令及びブロック情報を記憶するロボット指令記憶部と、
     所定のプログラム実行指令によって指定されるブロック情報と関連付けられたブロックロボット指令を前記ロボット指令記憶部から読み込むプログラム実行管理部と、
     前記プログラム実行管理部によって読み込まれたブロックロボット指令を前記ロボット制御装置へ送信する通信部と、を備える、数値制御装置。
  2.  ロボット指令を生成するための数値制御プログラムであるロボット用数値制御プログラムを記憶するプログラム記憶部と、
     前記ロボット用数値制御プログラムに対するプログラム実行指令を生成し、前記プログラム実行管理部へ入力するプログラム実行指令部と、をさらに備え、
     前記プログラム前処理部は、前記プログラム実行管理部へ前記プログラム実行指令が入力される前に、前記ロボット用数値制御プログラムの解析並びに前記ブロックロボット指令及び前記ブロック情報の生成を開始する、請求項1に記載の数値制御装置。
  3.  前記ロボット用数値制御プログラムを作成、選択又は編集するプログラム編集部をさらに備え、
     前記プログラム前処理部は、前記プログラム編集部による前記ロボット用数値制御プログラムの作成、選択又は編集が完了したことに応じて、前記ロボット用数値制御プログラムの解析並びに前記ブロックロボット指令及び前記ブロック情報の生成を開始する、請求項2に記載の数値制御装置。
  4.  前記プログラム前処理部は、前記数値制御プログラムの言語を前記ロボット制御装置において認識可能な言語に変換することによって前記ブロックロボット指令を生成する、請求項1から3の何れかに記載の数値制御装置。
  5.  数値制御プログラムに基づいて、工作機械の動作を制御するとともに、ロボットの動作を制御するロボット制御装置に対するロボット指令を生成する数値制御装置と、前記数値制御装置と通信可能であり前記数値制御装置から送信されるロボット指令に基づいて前記ロボットの動作を制御するロボット制御装置と、を備える数値制御システムにおいて、
     前記数値制御装置は、
     前記数値制御プログラムのブロック毎の解析結果に基づいて、前記ロボット制御装置において認識可能なブロックロボット指令及び当該ブロックロボット指令と関連付けられたブロック情報を生成するプログラム前処理部と、
     前記プログラム前処理部によって生成されたブロックロボット指令及びブロック情報を記憶するロボット指令記憶部と、
     所定のプログラム実行指令によって指定されるブロック情報と関連付けられたブロックロボット指令を前記ロボット指令記憶部から読み込むプログラム実行管理部と、
     前記プログラム実行管理部によって読み込まれたブロックロボット指令を前記ロボット制御装置へ送信する第1通信部と、を備え、
     前記ロボット制御装置は、
     前記第1通信部から送信されるブロックロボット指令を受信する第2通信部と、
     前記第2通信部によって受信されたブロックロボット指令に基づいてロボットプログラムを生成するロボットプログラム生成部と、
     前記ロボットプログラム生成部によって生成されたロボットプログラムに基づいて前記ロボットの動作を制御する動作制御部と、を備える、数値制御システム。
  6.  前記数値制御装置は、ロボット指令を生成するための数値制御プログラムであるロボット用数値制御プログラムを記憶するプログラム記憶部と、前記ロボット用数値制御プログラムに対するプログラム実行指令を生成し、前記プログラム実行管理部へ入力するプログラム実行指令部と、をさらに備え、
     前記プログラム前処理部は、前記プログラム実行管理部へ前記プログラム実行指令が入力される前に、前記ロボット用数値制御プログラムの解析並びに前記ブロックロボット指令及び前記ブロック情報の生成を開始する、請求項5に記載の数値制御システム。
  7.  前記数値制御装置は、前記ロボット用数値制御プログラムを作成、選択又は編集するプログラム編集部をさらに備え、
     前記プログラム前処理部は、前記プログラム編集部による前記ロボット用数値制御プログラムの作成、選択又は編集が完了したことに応じて、前記ロボット用数値制御プログラムの解析並びに前記ブロックロボット指令及び前記ブロック情報の生成を開始する、請求項6に記載の数値制御システム。
  8.  前記プログラム前処理部は、前記数値制御プログラムの言語を前記ロボット制御装置において認識可能な言語に変換することによって前記ブロックロボット指令を生成する、請求項5から7の何れかに記載の数値制御システム。
  9.  前記プログラム実行管理部は、前記プログラム実行指令によって指定される複数のブロック情報の各々と関連付けられた複数のブロックロボット指令を、前記プログラム実行指令による指定順で読み込み、
     前記第2通信部は、1つのブロックロボット指令に基づく前記ロボットの動作の制御が完了する度に動作完了通知を前記第1通信部へ送信し、
     前記第1通信部は、複数のブロックロボット指令を、前記プログラム実行管理部による読込み順で、前記動作完了通知を受信する度に1つずつ前記第2通信部へ送信する、請求項5から8の何れかに記載の数値制御システム。
  10.  前記プログラム実行管理部は、前記プログラム実行指令によって指定される複数のブロック情報の各々と関連付けられた複数のブロックロボット指令を、前記プログラム実行指令による指定順で読み込むとともに前記第1通信部の記憶領域に書き込み、
     前記第2通信部は、1つのブロックロボット指令の読み取りが完了する度に読取完了通知を前記第1通信部へ送信し、
     前記第1通信部は、前記記憶領域に書き込まれたブロックロボット指令を、前記プログラム実行管理部による書込み順で、前記読取完了通知を受信する度に1つずつ前記第2通信部へ送信する、請求項5から8の何れかに記載の数値制御システム。
  11.  前記第2通信部は、1つのブロックロボット指令に基づく前記ロボットの動作の制御が完了する度に、実行が完了したブロックロボット指令と関連付けられた動作完了通知を前記第1通信部へ送信し、
     前記プログラム実行管理部は、前記第1通信部において前記動作完了通知が受信されたことに応じて、前記指定順において当該動作完了通知と関連付けられたブロックロボット指令の次のブロックロボット指令に対する実行指令を生成し、
     前記第1通信部は、前記プログラム実行管理部によって実行指令が生成されたことに応じて、当該実行指令を前記第2通信部へ送信し、
     前記動作制御部は、前記第2通信部において前記実行指令が受信されたことに応じて、当該実行指令と関連付けられたロボットプログラムを実行し、前記ロボットの動作を制御する、請求項10に記載の数値制御システム。
PCT/JP2021/046508 2020-12-18 2021-12-16 数値制御装置及び数値制御システム WO2022131327A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US18/255,340 US20240027990A1 (en) 2020-12-18 2021-12-16 Numerical control device, and numerical control system
CN202180083107.5A CN116635801A (zh) 2020-12-18 2021-12-16 数值控制装置以及数值控制系统
DE112021005374.4T DE112021005374T5 (de) 2020-12-18 2021-12-16 Numerik-Steuervorrichtung und Numerik-Steuersystem
JP2022521184A JP7121221B1 (ja) 2020-12-18 2021-12-16 数値制御装置及び数値制御システム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020210473 2020-12-18
JP2020-210473 2020-12-18

Publications (1)

Publication Number Publication Date
WO2022131327A1 true WO2022131327A1 (ja) 2022-06-23

Family

ID=82059574

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/046508 WO2022131327A1 (ja) 2020-12-18 2021-12-16 数値制御装置及び数値制御システム

Country Status (6)

Country Link
US (1) US20240027990A1 (ja)
JP (1) JP7121221B1 (ja)
CN (1) CN116635801A (ja)
DE (1) DE112021005374T5 (ja)
TW (1) TWI804068B (ja)
WO (1) WO2022131327A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000010616A (ja) * 1998-06-22 2000-01-14 Toshiba Mach Co Ltd ロボット制御システム
JP2017134722A (ja) * 2016-01-29 2017-08-03 ファナック株式会社 共通の言語仕様のプログラムにて複数の種類の製造装置を駆動する製造システム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102012112900A1 (de) * 2011-12-22 2013-06-27 Fanuc Robotics America Corp. Numerische Steuerungsprogrammausrichtung durch Roboter
WO2020144772A1 (ja) 2019-01-09 2020-07-16 三菱電機株式会社 数値制御装置および数値制御方法
JP7060540B2 (ja) * 2019-04-03 2022-04-26 ファナック株式会社 加工制御システム及び加工システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000010616A (ja) * 1998-06-22 2000-01-14 Toshiba Mach Co Ltd ロボット制御システム
JP2017134722A (ja) * 2016-01-29 2017-08-03 ファナック株式会社 共通の言語仕様のプログラムにて複数の種類の製造装置を駆動する製造システム

Also Published As

Publication number Publication date
JPWO2022131327A1 (ja) 2022-06-23
US20240027990A1 (en) 2024-01-25
CN116635801A (zh) 2023-08-22
DE112021005374T5 (de) 2023-08-31
TW202224878A (zh) 2022-07-01
JP7121221B1 (ja) 2022-08-17
TWI804068B (zh) 2023-06-01

Similar Documents

Publication Publication Date Title
WO2022224425A1 (ja) 数値制御装置及び数値制御システム
JP7022260B1 (ja) 数値制御システム
WO2022034848A1 (ja) 数値制御システム及びロボット制御方法
WO2022102578A1 (ja) 数値制御装置、及び数値制御システム
WO2022131327A1 (ja) 数値制御装置及び数値制御システム
WO2022004647A1 (ja) 数値制御システム
WO2022004651A1 (ja) 数値制御システム
WO2022176818A1 (ja) ロボット制御装置、ロボット制御システム、及びコンピュータプログラム
US20240160181A1 (en) Motion-path generation device, numerical control device, numerical control system, and non-transitory computer-readable medium storing computer program
WO2022131173A1 (ja) 数値制御システム及び産業機械の制御方法
WO2024142289A1 (ja) プログラミング装置、プログラミング方法及びプログラム
WO2022186255A1 (ja) 指令生成装置及びコンピュータプログラム
JP7177301B1 (ja) 数値制御装置、及び数値制御システム
JP7157281B1 (ja) ロボット制御装置、数値制御システム及び数値制御方法
US20240231308A9 (en) Command generation device and non-transitory computer-readable medium storing a computer program
US20240219885A1 (en) Numerical control device and numerical control system
WO2022269896A1 (ja) 数値制御システム
US20230185272A1 (en) Program analyzer and control system
JPS59218512A (ja) 工業用ロボツトの制御方法

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2022521184

Country of ref document: JP

Kind code of ref document: A

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21906687

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18255340

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 202180083107.5

Country of ref document: CN

122 Ep: pct application non-entry in european phase

Ref document number: 21906687

Country of ref document: EP

Kind code of ref document: A1