CN117957503A - 数值控制系统以及机器人控制装置 - Google Patents

数值控制系统以及机器人控制装置 Download PDF

Info

Publication number
CN117957503A
CN117957503A CN202180102458.6A CN202180102458A CN117957503A CN 117957503 A CN117957503 A CN 117957503A CN 202180102458 A CN202180102458 A CN 202180102458A CN 117957503 A CN117957503 A CN 117957503A
Authority
CN
China
Prior art keywords
variable
robot
signal
value
numerical
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
Application number
CN202180102458.6A
Other languages
English (en)
Inventor
今西一刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
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 Fanuc Corp filed Critical Fanuc Corp
Publication of CN117957503A publication Critical patent/CN117957503A/zh
Pending legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • 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], 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], 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], 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Numerical Control (AREA)

Abstract

一种将机床和机器人的动作联动控制的数值控制系统,具有:数值控制装置,其根据数值控制程序来控制所述机床的动作;机器人控制装置,其根据机器人控制程序来控制所述机器人的动作;变量存储部,其存储能够由所述数值控制装置读写的变量的值;信号变量转换部,其将所述数值控制装置的所述变量的值转换为所述机器人控制装置的信号或变量,所述机器人控制装置读出存储在所述变量存储部中的所述数值控制装置的所述变量的值,所述信号变量转换部将读出的所述数值控制装置的所述变量的值转换为所述机器人控制装置的信号或变量,所述机器人控制装置根据转换后的所述机器人控制装置的信号或变量来控制所述机器人的动作。

Description

数值控制系统以及机器人控制装置
技术领域
本公开涉及数值控制系统以及机器人控制装置。
背景技术
近年来,为了促进加工现场的自动化,期望一种数值控制系统,将加工工件的机床的动作、和如工件相对于机床的装卸动作、门的开闭动作那样的机器人的动作进行联动控制(例如,参照专利文献1)。
一般而言,机床的动作由数值控制装置控制,机器人的动作由机器人控制装置控制。为了将机床的动作和机器人的动作联动控制,需要数值控制装置和机器人控制装置双方的操作。与此相对,例如在专利文献1所示的数值控制系统中,能够按照来自数值控制装置侧的用户的指示,进行机器人的动作程序的选择、动作程序的设定。
现有技术文献
专利文献
专利文献1:日本特开2018-195055号公报
发明内容
发明要解决的课题
但是,在将机床和机器人的动作联动控制的数值控制系统中,在经由数值控制装置的变量联动机器人控制程序的情况下,机器人控制装置需要使用数值控制装置的变量来新制作机器人控制程序。因此,机器人控制装置无法使用现有的机器人控制程序。因此,在将机床和机器人的动作联动控制的数值控制系统中,要求能够使用现有的机器人控制程序的技术。
本公开的目的在于,提供一种在将机床和机器人的动作联动控制的数值控制系统中能够使用现有的机器人控制程序的技术。
用于解决课题的手段
本公开的一方式的数值控制系统将机床和机器人的动作联动控制的数值控制系统,其中,具有:数值控制装置,其根据数值控制程序来控制所述机床的动作;机器人控制装置,其根据机器人控制程序来控制所述机器人的动作;变量存储部,其存储能够由所述数值控制装置读写的变量的值;信号变量转换部,其将所述数值控制装置的所述变量的值转换为所述机器人控制装置的信号或者变量,所述机器人控制装置读出存储在所述变量存储部中的所述数值控制装置的所述变量的值,所述信号变量转换部将所读出的所述数值控制装置的所述变量的值转换为所述机器人控制装置的信号或者变量,所述机器人控制装置根据转换后的所述机器人控制装置的信号或者变量来控制所述机器人的动作。
本公开的一方式的机器人控制装置根据机器人控制程序将机床和机器人的动作联动控制,其中,具有:信号变量转换部,其将根据数值控制程序来控制所述机床的动作的数值控制装置的变量的值转换为所述机器人控制装置的信号或者变量,所述机器人控制装置从所述数值控制装置读出所述数值控制装置的所述变量的值,所述信号变量转换部将所读出的所述数值控制装置的所述变量的值转换为所述机器人控制装置的信号或者变量,所述机器人控制装置根据转换后的所述机器人控制装置的信号或者变量来控制所述机器人的动作。
发明效果
根据本公开,在将机床和机器人的动作联动控制的数值控制系统中,能够使用现有的机器人控制程序。
附图说明
图1是本实施方式的数值控制系统的概要图。
图2是本实施方式的数值控制系统的功能框图。
图3是表示本实施方式的数值控制程序的一例的图。
图4是表示使用自定义宏变量的读写指令,并根据图3所示的数值控制程序制作出的机器人控制程序的一例的图。
图5是表示机器人的条件分支用信号与数值控制装置的自定义宏变量的值的对应关系的图。
图6是包含由信号变量转换部转换后的机器人的条件分支用信号的机器人控制程序的一例。
图7是表示数值控制装置的自定义宏变量的值与机器人的条件分支用信号的对应关系的图。
图8是表示使用自定义宏变量的读写指令,根据图3所示的数值控制程序制作出的机器人控制程序的一例的图。
图9是表示机器人的条件分支用变量与数值控制装置的自定义宏变量的值的对应关系的图。
图10是包含由信号变量转换部转换后的机器人的条件分支用变量的机器人控制程序的一例。
图11是表示数值控制装置的自定义宏变量的值与机器人的条件分支用变量的对应关系的图。
图12是表示本实施方式的数值控制程序的其他例的图。
图13是表示使用自定义宏变量的读写指令,并根据图12所示的数值控制程序制作出的机器人控制程序的一例的图。
图14是表示机器人的条件分支用信号与数值控制装置的自定义宏变量的值的对应关系的图。
图15是包含由信号变量转换部转换后的机器人的条件分支用信号的机器人控制程序的一例。
图16是表示数值控制装置的自定义宏变量的值与机器人的条件分支用信号的对应关系的图。
图17是表示机器人的条件分支用变量与数值控制装置的自定义宏变量的值的对应关系的图。
图18是包含由信号变量转换部转换后的机器人的条件分支用变量的机器人控制程序的一例。
图19是表示数值控制装置的自定义宏变量的值与机器人的条件分支用变量的对应关系的图。
图20是表示在本实施方式的数值控制系统中将数值控制装置2的自定义宏变量的值转换为机器人控制装置的信号或变量的处理的流程的流程图。
具体实施方式
以下,参照附图对本公开的实施方式进行详细说明。
图1是本实施方式的数值控制系统1的概要图。如图1所示,数值控制系统1具有:加工未图示的工件的机床20、控制机床20的动作的数值控制装置(CNC)2、设置在机床20的附近的机器人30、以及控制机器人30的动作的机器人控制装置3。数值控制系统1通过使用能够相互通信地连接的数值控制装置2和机器人控制装置3,将机床20和机器人30的动作联动控制。
机床20例如是车床、钻床、铣床、磨床、激光加工机以及注射成形机等,但不限于此。机床20根据按照后面说明的过程从数值控制装置2发送的各种指令信号,执行未图示的工件的加工动作、把持工件的卡盘的开闭动作以及设置于工件的加工区域的门的开闭动作等各种动作。
机器人30在机器人控制装置3的控制下进行动作,例如对由机床20加工的工件进行规定的作业。机器人30例如是多关节机器人,在其臂前端部30a安装有用于把持、加工、检查工件的工具30b。以下,对机器人30为六轴的多关节机器人的情况进行说明,但不限于此。
数值控制装置2以及机器人控制装置3分别是由CPU(Central Processing Unit,中央处理器)等运算处理单元、储存有各种程序的HDD(Hard Disk Drive,硬盘驱动器)、SSD(Solid State Drive,固态驱动器)等辅助存储单元、用于储存运算处理单元执行程序时暂时需要的数据的RAM(Random Access Memory,随机存取存储器)这样的主存储单元、供操作员进行各种操作的键盘这样的操作单元、以及向操作员显示各种信息的显示器这样的显示单元等硬件构成的计算机。这些数值控制装置2以及机器人控制装置3例如能够通过以太网(注册商标)彼此收发各种信号。
本实施方式的数值控制系统1例如可以举出对已设的机床20后装机器人30的系统,但不限于此。例如,本实施方式的数值控制系统1构成为,为了将机床20的动作和机器人30的动作联动控制,从机器人控制装置3对数值控制装置2进行动作请求,能够从机器人控制装置3读写数值控制装置2的变量。
图2是本实施方式的数值控制系统1的功能框图。
首先,对数值控制装置2的详细结构进行说明。如图2所示,在数值控制装置2中,通过上述硬件结构,实现控制机床20的动作的机床控制模块200、存储能够由机床控制模块200以及后述的机器人控制模块300读写的多个变量的值的变量存储部24、以及数据收发部25等各种功能。
机床控制模块200根据数值控制程序读写存储在变量存储部24中的变量的值,并且控制机床20的动作。更具体而言,机床控制模块200具有:存储部21、程序输入部22、解析部23、I/O控制部26、插值控制部27以及伺服控制部28。
在存储部21中储存有用于控制机床20的动作(例如,控制轴的移动动作、主轴的旋转动作、卡盘的开闭动作以及门的开闭动作等)的数值控制程序。储存在存储部21中的数值控制程序为了与处于机器人控制装置3的控制下的机器人30的动作联动地控制机床20的动作而预先由操作员制作,通过使用了G代码、M代码等的程序语言来记述。
程序输入部22从存储部21读出数值控制程序,将其依次输入到解析部23。
解析部23按程序块依次解析基于从程序输入部22输入的数值控制程序的指令种类,将解析结果发送到I/O控制部26、插值控制部27以及变量存储部24。
解析部23在根据数值控制程序取得的指令的种类例如是指令机床20的卡盘的开闭的情况、指令机床20的门的开闭的情况下,将取得的指令输入到I/O控制部26。I/O控制部26在被从解析部23输入指令时,向机床20输入与输入的指令对应的I/O信号。由此,机床20的卡盘、门按照通过数值控制程序确定的过程进行开闭。
在根据数值控制程序取得的指令的种类例如是指令机床20的控制轴的移动的情况下,解析部23将所取得的指令输入到插值控制部27。插值控制部27在被从解析部23输入指令时,通过进行插值处理来计算与指令对应的控制轴的移动路径,将计算出的移动路径输入到伺服控制部28。伺服控制部28对机床20的伺服马达进行反馈控制,以使控制轴沿着由插值控制部27计算出的移动路径移动。由此,机床20的动作通过由数值控制程序确定的过程进行控制。
解析部23在根据数值控制程序取得的指令的种类例如是在指令存储在变量存储部24中的变量的值的读出的情况下、和在指令存储在变量存储部24中的变量的值的改写的情况下,将取得的指令输入到变量存储部24。
变量存储部24具有存储多个变量的值的变量存储器(未图示),根据从解析部23输入的指令、和经由数据收发部25从机器人控制装置3的后述的机器人控制模块300输入的指令,读出或改写存储在变量存储器中的变量的值。
在本实施方式中,在设定了分配给从机器人控制装置3侧向机床20的动作请求的变量的值的情况下,通过机床控制模块200以及变量存储部24,将动作完成时间写入对应的变量,执行对应的动作(例如,门开闭、卡盘开闭、后述的加工1~3等)。
变量存储部24的变量存储器存储有在机床控制模块200中用于控制机床20的动作的数值控制程序以及在机器人控制模块300中用于控制机器人30的动作的机器人控制程序中由编号或字符串指定的多个变量的值。在本实施方式中,作为由变量存储器存储的变量,对分配了由多个数值控制装置定义的自定义宏变量(以下,也简称为变量。)的一部分(例如,#100~#107、#200~#203)的情况进行说明,但不限于此。
在从解析部23输入了读出存储在变量存储器中的变量的值的指令的情况下,变量存储部24从变量存储器读出由指令指定的变量的值,将读出的值发送至解析部23。另外,在从解析部23输入了改写存储在变量存储器中的变量的值的指令的情况下,变量存储部24将在变量存储器中由指令指定的变量的值改写为与指令对应的值。由此,机床控制模块200能够读出或改写存储在变量存储器中的变量的值。
在从机器人控制模块300经由数据收发部25输入了读出存储在变量存储器中的变量的值的指令的情况下,变量存储部24从变量存储器读出由指令指定的变量的值,将读出的值经由数据收发部25发送至机器人控制模块300。另外,在从机器人控制模块300经由数据收发部25输入了改写存储在变量存储器中的变量的值的指令的情况下,变量存储部24将在变量存储器中由指令指定的变量的值改写为与指令对应的值。由此,机器人控制模块300能够读出或改写存储在变量存储器中的变量的值。
变量存储部24的变量存储器存储设想了用于从机器人控制模块300向机床控制模块200的通知、请求的多个变量的值,但不限于此。也可以存储设想了用于从机床控制模块200向机器人控制模块300的通知的多个变量的值。优选的是,变量能够从机床控制模块200以及机器人控制模块300双方读出,并且能够从双方改写。
例如为了从机器人控制模块300向机床控制模块200请求在机床控制模块200中执行中的数值控制程序的停止,而分配变量#100。在变量#100的值为0的情况下,表示未请求数值控制程序的停止的状态(请求关闭),在变量#100的值为1的情况下,表示请求数值控制程序的停止的状态(请求开启)。
例如为了从机器人控制模块300向机床控制模块200请求机床20的门的打开动作而分配变量#101。在变量#101的值为0的情况下,表示未请求门的打开动作的状态(请求关闭),在变量#101的值为1的情况下,表示请求门的打开动作的状态(请求开启)。
例如为了从机器人控制模块300向机床控制模块200请求机床20的门的关闭动作而分配变量#102。在变量#102的值为0的情况下,表示未请求门的关闭动作的状态(请求关闭),在变量#102的值为1的情况下,表示请求门的关闭动作的状态(请求开启)。
例如为了从机器人控制模块300向机床控制模块200请求机床20的卡盘的打开动作而分配变量#103。在变量#103的值为0的情况下,表示未请求卡盘的打开动作的状态(请求关闭),在变量#103的值为1的情况下,表示请求卡盘的打开动作的状态(请求开启)。
例如为了从机器人控制模块300向机床控制模块200请求机床20的卡盘的关闭动作而分配变量#104。在变量#104的值为0的情况下,表示未请求卡盘的关闭动作的状态(请求关闭),在变量#104的值为1的情况下,表示请求卡盘的关闭动作的状态(请求开启)。
例如为了从机器人控制模块300向机床控制模块200请求基于机床20的加工1的执行而分配变量#105。在变量#105的值为0的情况下,表示未请求加工1的执行的状态(请求关闭),在变量#105的值为1的情况下,表示请求加工1的执行的状态(请求开启)。
例如为了从机器人控制模块300向机床控制模块200请求基于机床20的加工2的执行而分配变量#106。在变量#106的值为0的情况下,表示未请求加工2的执行的状态(请求关闭),在变量#106的值为1的情况下,表示请求加工2的执行的状态(请求开启)。
例如为了从机器人控制模块300向机床控制模块200请求基于机床20的加工3的执行而分配变量#107。在变量#107的值为0的情况下,表示未请求加工3的执行的状态(请求关闭),在变量#107的值为1的情况下,表示请求加工3的执行的状态(请求开启)。
例如为了从机床控制模块200向机器人控制模块300请求机器人30的机械手1的打开动作而分配变量#200。在变量#200的值为0的情况下,表示未请求机械手1的打开动作的状态(请求关闭),在变量#200的值为1的情况下,表示请求机械手1的打开动作的状态(请求开启)。
例如为了从机床控制模块200向机器人控制模块300请求机器人30的机械手1的关闭动作而分配变量#201。在变量#201的值为0的情况下,表示未请求机械手1的关闭动作的状态(请求关闭),在变量#201的值为1的情况下,表示请求机械手1的关闭动作的状态(请求开启)。
例如为了从机床控制模块200向机器人控制模块300请求机器人30的机械手2的打开动作而分配变量#202。在变量#202的值为0的情况下,表示未请求机械手2的打开动作的状态(请求关闭),在变量#202的值为1的情况下,表示请求机械手2的打开动作的状态(请求开启)。
例如为了从机床控制模块200向机器人控制模块300请求机器人30的机械手2的关闭动作而分配变量#203。在变量#203的值为0的情况下,表示未请求机械手2的关闭动作的状态(请求关闭),在变量#203的值为1的情况下,表示请求机械手2的关闭动作的状态(请求开启)。
此外,存储在变量存储器中的多个变量的值与使数值控制装置2接通相对应地被复位为规定的初始值(例如0)。
接着,对机器人控制装置3的结构进行详细说明。如图2所示,在机器人控制装置3中,通过上述硬件结构,实现控制机器人30的动作的机器人控制模块300、数据收发部35、信号变量转换部36以及信号变量存储部37等各种功能。
机器人控制模块300根据机器人控制程序读写存储在上述变量存储部24中的变量的值,并且控制机器人30的动作。更具体而言,机器人控制模块300具有:存储部31、程序输入部32、解析部33、轨迹控制部38以及伺服控制部39。
在存储部31中储存有用于控制机器人30的动作的机器人控制程序。为了与处于数值控制装置2的控制下的机床20的动作联动地控制机器人30的动作,预先由操作员制作储存在存储部31中的机器人控制程序。
程序输入部32从存储部31读出机器人控制程序,将其依次输入到解析部33。
解析部33按程序块依次解析根据从程序输入部32输入的机器人控制程序的指令种类,将解析结果发送到轨迹控制部38、数据收发部35以及信号变量转换部36。
在根据机器人控制程序取得的指令的种类例如是指令机器人30的控制点(例如,臂前端部30a)的移动的情况下,解析部33将取得的指令输入到轨迹控制部38。在从解析部33输入指令时,轨迹控制部38计算使机器人30的控制点向由指令指定的位置移动时的控制点的动作轨迹,对与计算出的动作轨迹对应的机器人30的各关节的角度进行计算来作为目标角度,将这些目标角度发送至伺服控制部39。伺服控制部39通过对机器人30的各伺服马达进行反馈控制来生成针对机器人30的机器人控制信号,并输入到机器人30的伺服马达,以便实现从轨迹控制部38发送的各关节的目标角度。由此,机器人30的动作通过在机器人控制程序中确定的过程来控制。
在根据机器人控制程序取得的指令的种类例如是指令存储在变量存储部24中的变量的值的读出的情况下、和在指令存储在变量存储部24中的变量的值的改写的情况下,解析部33将取得的指令输入到数据收发部35。
数据收发部35在从解析部33接收到变量的值的读出的指令的情况下,将该指令发送到数值控制装置2的数据收发部25。如上所述,变量存储部24在被输入了这样的读出指令的情况下,从变量存储器读出由指令指定的变量的值,将读出的值经由数据收发部25及数据收发部35向解析部33送回。另外,数据收发部35在从解析部33接收到变量的值的改写的指令的情况下,将该指令发送到数值控制装置2的数据收发部25。如上所述,变量存储部24在被输入了这样的改写指令的情况下,将在变量存储器中由指令指定的变量的值改写为与指令对应的值。由此,机器人控制模块300能够读出或改写存储在变量存储器中的变量的值。
信号变量转换部36将数值控制装置2的变量的值转换为机器人控制装置3的信号或变量。具体而言,信号变量转换部36将数值控制装置2的自定义宏变量的值转换为机器人控制装置3的信号或变量。
在此,机器人控制装置3的信号或变量是机器人30的条件分支用信号或条件分支用变量。即,信号变量转换部36将数值控制装置2的自定义宏变量的值转换为机器人30的条件分支用信号或条件分支用变量。
信号变量存储部37将数值控制装置2的自定义宏变量的值与机器人的条件分支用信号或条件分支用变量对应起来进行存储。
图3是表示本实施方式的数值控制程序的一例的图。在图3中,作为一例示出了程序编号0123的数值控制程序,对最初的程序块赋予了序列号N10。另外,在图3中一并示出了上述的自定义宏变量的分配的一例。
图3所示的数值控制程序在机床控制模块200中以规定的周期读出变量#100~#107等的值,由此,监视来自机器人控制模块300的请求,并且根据读出的变量#100~#107的值,通过机床控制模块200控制机床20的动作。
机器人控制模块300按照机器人控制程序来控制机器人30的动作,并且按照机器人控制程序来改写存储在变量存储部24的变量存储器中的变量#100~#107的值。
更详细而言,在最初的程序块中,机床控制模块200读出存储在变量存储器中的变量#101的值,判定读出的值是否为“1”。机床控制模块200在变量#101的值为“1”的情况下,即在从机器人控制模块300请求了机床20的门的打开动作的情况下,按照用于调用子程序的命令“M98”,调用程序编号“0001”的子程序,在变量#101的值为“0”的情况下,转移到下一个程序块。此外,机床控制模块200通过执行程序编号“0001”的子程序,打开机床20的门,将变量#101的值复位为“0”后,返回到图3所示的主程序。
在下一个程序块中,机床控制模块200读出存储在变量存储器中的变量#102的值,判定读出的值是否为“1”。机床控制模块200在变量#102的值为“1”的情况下,即在从机器人控制模块300请求了机床20的门的关闭动作的情况下,执行程序编号“0002”的子程序,在变量#102的值为“0”的情况下,转移到下一个程序块。此外,机床控制模块200通过执行程序编号“0002”的子程序,关闭机床20的门,将变量#102的值复位为“0”后,返回到图3所示的主程序。
在下一个程序块中,机床控制模块200读出存储在变量存储器中的变量#103的值,判定读出的值是否为“1”。机床控制模块200在变量#103的值为“1”的情况下,即在从机器人控制模块300请求了机床20的卡盘的打开动作的情况下,执行程序编号“0003”的子程序,在变量#103的值为“0”的情况下,转移到下一个程序块。此外,机床控制模块200通过执行程序编号“0003”的子程序,打开机床20的卡盘,将变量#103的值复位为“0”后,返回到图3所示的主程序。
虽然省略图示,但同样地,机床控制模块200读出存储在变量存储器中的变量#104的值,判定读出的值是否为“1”。机床控制模块200在变量#104的值为“1”的情况下,即从机器人控制模块300请求机床20的卡盘的关闭动作的情况下,执行程序编号“0004”的子程序,在变量#104的值为“0”的情况下,转移到下一个程序块。此外,机床控制模块200通过执行程序编号“0004”的子程序,关闭机床20的卡盘,将变量#104的值复位为“0”后,返回到图3所示的主程序。
在下一个程序块中,机床控制模块200读出存储在变量存储器中的变量#105的值,判定读出的值是否为“1”。机床控制模块200在变量#105的值为“1”的情况下,即从机器人控制模块300请求基于机床20的加工1的动作的情况下,执行程序编号“0005”的子程序,在变量#105的值为“0”的情况下,转移到下一个程序块。
在图3中示出了程序编号“0005”的子程序的一例。当调用程序编号“0005”的子程序时,机床控制模块200输入用于通过机床20加工工件的各种命令“G00”、“G01”。机床控制模块200按照由数值控制程序确定的过程来控制机床20的定位动作、直线插值动作等,对工件进行加工。当加工1的动作完成时,机床控制模块200将存储在变量存储器中的变量#105的值改写为“0”,按照命令“M99”恢复为图3所示的主程序。
虽然省略图示,但对于来自机器人控制模块300的基于机床20的加工2或加工3的动作请求,也通过与上述加工1的动作请求的情况同样的数值控制程序来执行。
在下一个程序块中,机床控制模块200读出存储在变量存储器中的变量#100的值,判定读出的值是否为“0”。机床控制模块200在变量#100的值为“0”的情况下,即在没有从机器人控制模块300请求数值控制程序的停止的情况下,返回到序列号“N10”,再次监视变量#100~#107的值。另外,机床控制模块200在变量#100的值为“1”的情况下,即从机器人控制模块300请求了数值控制程序的停止的情况下,按照命令“M30”结束图3所示的数值控制程序。
图4至图7是表示将自定义宏变量的值转换为机器人30的条件分支用信号的情况的例子的图。图4是表示使用自定义宏变量的读写指令,并根据图3所示的数值控制程序制作出的机器人控制程序的一例的图。在图4所示的机器人控制程序中,使用自定义宏变量的读写指令(自定义宏变量#105)制作第二行以及第五行的代码。
在这样经由数值控制装置2的自定义宏变量来联动机器人控制程序的情况下,机器人控制装置3需要使用数值控制装置2的自定义宏变量来新制作机器人控制程序。因此,机器人控制装置3无法使用现有的机器人控制程序。
因此,本实施方式的机器人控制装置3如以下说明的那样,将数值控制装置2的自定义宏变量的值转换为机器人30的条件分支用信号或条件分支用变量。
图5是表示机器人30的条件分支用信号与数值控制装置2的自定义宏变量的值的对应关系的图。如图5所示,机器人30的条件分支用信号DI[0]、DI[1]、DI[2]、DI[3]、DI[4]、DI[5]、DI[6]以及DI[7]分别与自定义宏变量#100、#101、#102、#103、#104、#105、#106以及#107对应起来。另外,如上所述,这些机器人30的条件分支用信号以及自定义宏变量的值存储在信号变量存储部37中。
如上所述,由解析部33判定机器人控制程序的指令种类,在根据机器人控制程序取得的指令是指令存储在变量存储部24中的变量的值的读出的情况下,解析部33读出存储在变量存储部24中的变量的值。
然后,信号变量转换部36根据存储在信号变量存储部37中的机器人30的条件分支用信号以及自定义宏变量的值,将所读出的数值控制装置2的自定义宏变量的值转换为机器人30的条件分支用信号。
图6是包含由信号变量转换部36转换后的机器人30的条件分支用信号的机器人控制程序的一例。图6所示的机器人控制程序执行与图4所示的机器人控制程序同样的机器人30的控制。
在图6所示的机器人控制程序中,与图4所示的机器人控制程序同样地,第二行以及第五行的代码包含机器人30的条件分支用信号(DO[5]以及DI[5])。但是,数值控制装置2的自定义宏变量的值被转换为机器人30的条件分支用信号。因此,机器人控制装置3不需要变更现有的机器人控制程序中的第二行以及第五行的代码。因此,机器人控制装置3能够使用现有的机器人控制程序而不新制作机器人控制程序。
然后,机器人控制装置3使用由信号变量转换部36转换后的机器人30的条件分支用信号以及机器人控制程序,控制机器人30的动作。
图7是表示数值控制装置2的自定义宏变量的值与机器人30的条件分支用信号的对应关系的图。如图7所示,自定义宏变量#100、#101、#102、#103、#104、#105、#106以及#107分别与机器人30的条件分支用信号DO[0]、DO[1]、DO[2]、DO[3]、DO[4]、DO[5]、DO[6]以及DO[7]对应起来。另外,如上所述,这些机器人30的条件分支用信号以及自定义宏变量的值存储在信号变量存储部37中。
在根据由信号变量转换部36转换后的机器人30的条件分支用信号控制机器人30的动作后,信号变量转换部36根据存储在信号变量存储部37中的机器人30的条件分支用信号以及自定义宏变量的值,将机器人30的条件分支用信号转换为数值控制装置2的自定义宏变量的值。
数据收发部35将转换后的自定义宏变量的值发送至数据收发部25。并且,机器人控制模块300根据由数据收发部25接收到的自定义宏变量的值,更新存储在变量存储部24的变量存储器中的自定义宏变量的值。
图8至图11是表示将自定义宏变量的值转换为机器人30的条件分支用变量的情况下的例子的图。图8是表示使用自定义宏变量的读写指令,根据图3所示的数值控制程序制作出的机器人控制程序的一例的图。在图8所示的机器人控制程序中,使用自定义宏变量的读写指令来制作第二行以及第五行的代码。
图9是表示机器人30的条件分支用变量与数值控制装置2的自定义宏变量的值的对应关系的图。如图9所示,机器人30的条件分支用变量制程[0]、制程[1]、制程[2]、制程[3]、制程[4]、制程[5]、制程[6]以及制程[7]分别与自定义宏变量#100、#101、#102、#103、#104、#105、#106以及#107对应起来。另外,如上所述,这些机器人30的条件分支用变量以及自定义宏变量的值存储在信号变量存储部37中。
如上所述,由解析部33判定机器人控制程序的指令种类,在根据机器人控制程序取得的指令是指令存储在变量存储部24中的变量的值的读出的情况下,解析部33读出存储在变量存储部24中的变量的值。
然后,信号变量转换部36根据存储在信号变量存储部37中的机器人30的条件分支用变量以及自定义宏变量的值,将读出的数值控制装置2的自定义宏变量的值转换为机器人30的条件分支用变量。
图10是包含由信号变量转换部36转换后的机器人30的条件分支用变量的机器人控制程序的一例。图10所示的机器人控制程序执行与图8所示的机器人控制程序一样的机器人30的控制。
在图10所示的机器人控制程序中,与图8所示的机器人控制程序同样地,第二行以及第五行的代码包含机器人30的条件分支用变量(制程[15]以及制程[5])。但是,数值控制装置2的自定义宏变量的值被转换为机器人30的条件分支用变量。因此,机器人控制装置3不需要变更现有的机器人控制程序中的第二行以及第五行的代码。
并且,机器人控制装置3使用由信号变量转换部36转换后的机器人30的条件分支用变量以及机器人控制程序,控制机器人30的动作。
图11是表示数值控制装置2的自定义宏变量的值与机器人30的条件分支用变量的对应关系的图。如图11所示,自定义宏变量#100、#101、#102、#103、#104、#105、#106以及#107分别与机器人30的条件分支用变量制程[10]、制程[11]、制程[12]、制程[13]、制程[14]、制程[15]、制程[16]以及制程[17]对应起来。另外,如上所述,这些机器人30的条件分支用变量以及自定义宏变量的值存储在信号变量存储部37中。
在根据由信号变量转换部36转换后的机器人30的条件分支用变量控制机器人30的动作之后,信号变量转换部36根据存储在信号变量存储部37中的机器人30的条件分支用变量以及自定义宏变量的值,将机器人30的条件分支用变量转换为数值控制装置2的自定义宏变量的值。
数据收发部35将转换后的自定义宏变量的值向数据收发部25发送。并且,机器人控制模块300根据由数据收发部25接收到的自定义宏变量的值,更新存储在变量存储部24的变量存储器中的自定义宏变量的值。
图12是表示本实施方式的数值控制程序的其他例的图。在图12中,作为一例表示程序编号0123的数值控制程序,对最初的程序块赋予序列号N10。另外,在图12中一并示出了上述自定义宏变量的分配的一例。
图12所示的数值控制程序在机床控制模块200中以规定的周期读出变量#200~#203等的值,由此,监视来自机器人控制模块300的请求,并且根据读出的变量#200~#203的值,通过机床控制模块200控制机床20的动作。
机器人控制模块300按照机器人控制程序来控制机器人30的动作,并且按照机器人控制程序来改写存储在变量存储部24的变量存储器中的变量#200~#203的值。
图13至图16是表示将自定义宏变量的值转换为机器人30的条件分支用信号的情况的例子的图。图13是表示使用自定义宏变量的读写指令,根据图12所示的数值控制程序制作出的机器人控制程序的一例的图。在图13所示的机器人控制程序中,使用自定义宏变量的读写指令来制作上段的第二行和第三行的代码以及下段的第五行的代码。
图14是表示机器人30的条件分支用信号与数值控制装置2的自定义宏变量的值的对应关系的图。如图14所示,机器人30的条件分支用信号DI[200]、DI[201]、DI[202]以及DI[203]分别与自定义宏变量#200、#201、#202以及#203对应起来。另外,如上所述,这些机器人30的条件分支用信号以及自定义宏变量的值被存储在信号变量存储部37中。
如上所述,由解析部33判定机器人控制程序的指令种类,在根据机器人控制程序取得的指令是对存储在变量存储部24中的变量的值的读出进行指令的情况下,解析部33读出存储在变量存储部24中的变量的值。
然后,信号变量转换部36根据存储在信号变量存储部37中的机器人30的条件分支用信号以及自定义宏变量的值,将读出的数值控制装置2的自定义宏变量的值转换为机器人30的条件分支用信号。
图15是包含由信号变量转换部36转换后的机器人30的条件分支用信号的机器人控制程序的一例。图15所示的机器人控制程序执行与图13所示的机器人控制程序同样的机器人30的控制。
在图15所示的机器人控制程序中,与图13所示的机器人控制程序同样地,上段的第二行的代码以及下段的第五行的代码包含机器人30的条件分支用信号(DI[200]以及DO[200])。但是,数值控制装置2的自定义宏变量的值被转换为机器人30的条件分支用信号。因此,机器人控制装置3不需要变更现有的机器人控制程序中的上段的第二行的代码以及下段的第五行的代码。
并且,机器人控制装置3使用由信号变量转换部36转换后的机器人30的条件分支用信号以及机器人控制程序,控制机器人30的动作。
图16是表示数值控制装置2的自定义宏变量的值与机器人30的条件分支用信号的对应关系的图。如图16所示,自定义宏变量#200、#201、#202以及#203分别与机器人30的条件分支用信号DO[200]、DO[201]以及DO[202]对应起来。另外,如上所述,这些机器人30的条件分支用信号以及自定义宏变量的值被存储在信号变量存储部37中。
在根据由信号变量转换部36转换后的机器人30的条件分支用信号控制机器人30的动作之后,信号变量转换部36根据存储在信号变量存储部37中的机器人30的条件分支用信号以及自定义宏变量的值,将机器人30的条件分支用信号转换为数值控制装置2的自定义宏变量的值。
数据收发部35将转换后的自定义宏变量的值发送至数据收发部25。并且,机器人控制模块300根据由数据收发部25接收到的自定义宏变量的值,更新存储在变量存储部24的变量存储器中的自定义宏变量的值。
图17至图19是表示将自定义宏变量的值转换为机器人30的条件分支用变量的情况下的例子的图。
图17是表示机器人30的条件分支用变量与数值控制装置2的自定义宏变量的值的对应关系的图。如图17所示,机器人30的条件分支用变量制程[200]、制程[201]、制程[202]以及制程[203]分别与自定义宏变量#200、#201、#202以及#203对应起来。另外,如上所述,这些机器人30的条件分支用变量以及自定义宏变量的值被存储在信号变量存储部37中。
如上所述,由解析部33判定机器人控制程序的指令种类,在根据机器人控制程序取得的指令是对存储在变量存储部24中的变量的值的读出进行指令的情况下,解析部33读出被存储在变量存储部24中的变量的值。
然后,信号变量转换部36根据存储在信号变量存储部37中的机器人30的条件分支用变量以及自定义宏变量的值,将读出的数值控制装置2的自定义宏变量的值转换为机器人30的条件分支用变量。
图18是包含由信号变量转换部36转换后的机器人30的条件分支用变量的机器人控制程序的一例。图18所示的机器人控制程序执行与图13所示的机器人控制程序同样的机器人30的控制。
在图18所示的机器人控制程序中,与图13所示的机器人控制程序同样地,上段的第二行的代码以及下段的第五行的代码包含机器人30的条件分支用变量(制程[200]以及制程[300])。但是,数值控制装置2的自定义宏变量的值被转换为机器人30的条件分支用变量。因此,机器人控制装置3不需要变更现有的机器人控制程序中的上段的第二行的代码以及下段的第五行的代码。
并且,机器人控制装置3使用由信号变量转换部36转换后的机器人30的条件分支用变量以及机器人控制程序,控制机器人30的动作。
图19是表示数值控制装置2的自定义宏变量的值与机器人30的条件分支用变量的对应关系的图。如图19所示,自定义宏变量#200、#201、#202以及#203分别与机器人30的条件分支用变量制程[300]、制程[301]、制程[302]以及制程[303]对应起来。另外,如上所述,这些机器人30的条件分支用变量以及自定义宏变量的值被存储在信号变量存储部37中。
在根据由信号变量转换部36转换后的机器人30的条件分支用变量控制机器人30的动作之后,信号变量转换部36根据存储在信号变量存储部37中的机器人30的条件分支用变量以及自定义宏变量的值,将机器人30的条件分支用变量转换为数值控制装置2的自定义宏变量的值。
数据收发部35将转换后的自定义宏变量的值发送至数据收发部25。并且,机器人控制模块300根据由数据收发部25接收到的自定义宏变量的值,更新存储在变量存储部24的变量存储器中的自定义宏变量的值。
此外,在上述的实施方式中,信号变量转换部36将数值控制装置2的自定义宏变量的值转换为机器人30的条件分支用信号或者条件分支用变量中的任一个。但是,在机器人控制程序包含机器人30的条件分支用信号以及条件分支用变量双方的情况下,信号变量转换部36也可以将数值控制装置2的自定义宏变量的值转换为机器人30的条件分支用信号以及条件分支用变量。
图20是表示在本实施方式的数值控制系统1中将数值控制装置2的自定义宏变量的值转换为机器人控制装置3的信号或变量的处理的流程的流程图。
在步骤S1中,由解析部33判定机器人控制程序的指令种类,在根据机器人控制程序取得的指令是对存储在变量存储部24中的自定义宏变量的值的读出进行指令的情况下,解析部33读出被存储在变量存储部24中的自定义宏变量的值。
在步骤S2中,信号变量转换部36根据被存储在信号变量存储部37中的机器人30的条件分支用信号或条件分支用变量、以及自定义宏变量的值,将读出的数值控制装置2的自定义宏变量的值转换为机器人30的条件分支用信号或条件分支用变量。
在步骤S3中,机器人控制装置3使用由信号变量转换部36转换后的机器人30的条件分支用变量或条件分支用变量、以及机器人控制程序,控制机器人30的动作。
在步骤S4中,信号变量转换部36根据存储在信号变量存储部37中的机器人30的条件分支用信号或条件分支用变量、以及自定义宏变量的值,将机器人30的条件分支用信号或条件分支用变量转换为数值控制装置2的自定义宏变量的值。
在步骤S5中,数据收发部35将转换后的自定义宏变量的值发送至数据收发部25。
在步骤S6中,机器人控制模块300根据由数据收发部25接收到的自定义宏变量的值,更新存储在变量存储部24的变量存储器中的自定义宏变量的值。
根据本实施方式,起到以下的效果。
将机床20和机器人30的动作联动控制的数值控制系统1具有:数值控制装置2,其根据数值控制程序来控制机床20的动作;机器人控制装置3,其根据机器人控制程序来控制机器人30的动作;变量存储部24,其存储能够由数值控制装置2读写的变量的值;信号变量转换部36,其将数值控制装置2的变量的值转换为机器人控制装置3的信号或变量,机器人控制装置3读出存储在变量存储部24中的数值控制装置的变量的值,信号变量转换部36将读出的数值控制装置2的变量的值转换为机器人控制装置3的信号或变量,机器人控制装置3根据转换后的机器人控制装置3的信号或变量来控制机器人30的动作。由此,数值控制系统1的机器人控制装置3能够使用现有的机器人控制程序,而不新制作机器人控制程序。
另外,机器人控制装置3的信号或变量是机器人30的条件分支用信号或条件分支用变量。由此,数值控制系统1能够使用包含机器人30的条件分支用信号或条件分支用变量的现有的机器人控制程序。
另外,数值控制系统1还具有:信号变量存储部37,其将数值控制装置2的变量的值与机器人30的条件分支用信号或条件分支用变量对应起来进行存储,由此,数值控制系统1能够将读出的数值控制装置2的变量的值转换为机器人控制装置3的信号或变量。
另外,机器人控制程序包含机器人30的条件分支用信号或条件分支用变量。由此,数值控制系统1能够使用包含机器人30的条件分支用信号或条件分支用变量的现有的机器人控制程序。
另外,信号变量转换部36将机器人控制装置3的信号或者变量转换为数值控制装置2的变量的值,机器人控制装置3将转换后的数值控制装置2的变量的值发送到变量存储部24,数值控制装置2使用所发送的数值控制装置2的变量的值来更新变量存储部24。由此,数值控制系统1能够将机器人控制装置3的信号或者变量转换为数值控制装置2的变量的值,使用转换后的变量的值来更新变量存储部24。
本公开并不限定于上述实施方式,能够进行各种变更以及变形。
例如在上述实施方式中,对于将存储能够从机床控制模块200和机器人控制模块300双方读写的多个变量的值的变量存储部24设置于数值控制装置2的情况进行了说明,但不限于此。
变量存储部例如可以设置于与数值控制装置能够通信地连接的机器人控制装置。该情况下,数值控制装置的机床控制模块能够经由上述通信读写设置于机器人控制装置的变量存储部中存储的变量的值,因此,实现与上述实施方式同样的效果。
另外,变量存储部例如也可以设置在与数值控制装置以及机器人控制装置分别能够通信地连接的服务器。该情况下,数值控制装置的机床控制模块以及机器人控制装置的机器人控制模块能够分别经由上述通信对设置于服务器的变量存储部中存储的变量的值进行读写,因此,实现与上述实施方式同样的效果。
附图标记说明
1 数值控制系统
2 数值控制装置
3 机器人控制装置
20 机床
21 存储部
22 程序输入部
23 解析部
24 变量存储部
25 数据收发部
26I/O控制部
27 插值控制部
28 伺服控制部
30 机器人
30a 臂前端部
30b 工具
31 存储部
32 程序输入部
33 解析部
35 数据收发部
36 信号变量转换部
37 信号变量存储部
38 轨迹控制部
39 伺服控制部
200 机床控制模块
300 机器人控制模块。

Claims (7)

1.一种将机床和机器人的动作联动控制的数值控制系统,其特征在于,所述数值控制系统具有:
数值控制装置,其根据数值控制程序来控制所述机床的动作;
机器人控制装置,其根据机器人控制程序来控制所述机器人的动作;
变量存储部,其存储能够由所述数值控制装置读写的变量的值;
信号变量转换部,其将所述数值控制装置的所述变量的值转换为所述机器人控制装置的信号或者变量,
所述机器人控制装置读出存储在所述变量存储部中的所述数值控制装置的所述变量的值,
所述信号变量转换部将所读出的所述数值控制装置的所述变量的值转换为所述机器人控制装置的信号或者变量,
所述机器人控制装置根据转换后的所述机器人控制装置的信号或者变量来控制所述机器人的动作。
2.根据权利要求1所述的数值控制系统,其特征在于,
所述机器人控制装置的信号或变量是所述机器人的条件分支用信号或条件分支用变量。
3.根据权利要求2所述的数值控制系统,其特征在于,
所述数值控制系统还具有:信号变量存储部,其将所述数值控制装置的所述变量的值与所述机器人的条件分支用信号或条件分支用变量对应起来进行存储。
4.根据权利要求2或3所述的数值控制系统,其特征在于,
所述机器人控制程序包含所述机器人的条件分支用信号或条件分支用变量。
5.根据权利要求1~4中任一项所述的数值控制系统,其特征在于,
所述信号变量转换部将所述机器人控制装置的信号或变量转换为所述数值控制装置的所述变量的值,
所述机器人控制装置将转换后的所述数值控制装置的所述变量的值发送到所述变量存储部,
所述数值控制装置使用所发送的所述数值控制装置的所述变量的值来更新所述变量存储部。
6.一种根据机器人控制程序将机床和机器人的动作联动控制的机器人控制装置,其特征在于,
所述机器人控制装置具有:信号变量转换部,其将根据数值控制程序来控制所述机床的动作的数值控制装置的变量的值转换为所述机器人控制装置的信号或者变量,
所述机器人控制装置从所述数值控制装置读出所述数值控制装置的所述变量的值,
所述信号变量转换部将所读出的所述数值控制装置的所述变量的值转换为所述机器人控制装置的信号或者变量,
所述机器人控制装置根据转换后的所述机器人控制装置的信号或者变量来控制所述机器人的动作。
7.根据权利要求6所述的机器人控制装置,其特征在于,
所述信号变量转换部将所述机器人控制装置的信号或变量转换为所述数值控制装置的所述变量的值,
所述机器人控制装置将转换后的所述数值控制装置的所述变量的值发送到变量存储部,
所述数值控制装置使用所发送的所述数值控制装置的所述变量的值来更新所述变量存储部。
CN202180102458.6A 2021-09-30 2021-09-30 数值控制系统以及机器人控制装置 Pending CN117957503A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/036357 WO2023053435A1 (ja) 2021-09-30 2021-09-30 数値制御システム及びロボット制御装置

Publications (1)

Publication Number Publication Date
CN117957503A true CN117957503A (zh) 2024-04-30

Family

ID=85782070

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180102458.6A Pending CN117957503A (zh) 2021-09-30 2021-09-30 数值控制系统以及机器人控制装置

Country Status (3)

Country Link
CN (1) CN117957503A (zh)
DE (1) DE112021007762T5 (zh)
WO (1) WO2023053435A1 (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1177485A (ja) * 1997-09-03 1999-03-23 Nisshinbo Ind Inc 論理式の解釈機能を具備した数値制御装置とその制御方法
KR101693020B1 (ko) * 2014-07-23 2017-01-05 한국전기연구원 로봇 cnc 장치
JP6557282B2 (ja) 2017-05-17 2019-08-07 ファナック株式会社 工作機械制御装置及び生産システム

Also Published As

Publication number Publication date
WO2023053435A1 (ja) 2023-04-06
DE112021007762T5 (de) 2024-04-18

Similar Documents

Publication Publication Date Title
US4178632A (en) Method for controlling the operation of a computer operated robot arm
US9063535B2 (en) Numerical control program execution by robot
WO2022224425A1 (ja) 数値制御装置及び数値制御システム
US20240004371A1 (en) Numerical control system, and method for controlling industrial machine
JP7022260B1 (ja) 数値制御システム
JP2018153883A (ja) コントロールシステム、コントローラ及び制御方法
WO2022034848A1 (ja) 数値制御システム及びロボット制御方法
CN117957503A (zh) 数值控制系统以及机器人控制装置
WO2022102578A1 (ja) 数値制御装置、及び数値制御システム
WO2023026373A1 (ja) 数値制御システム
WO2022004647A1 (ja) 数値制御システム
WO2023203617A1 (ja) ロボット制御装置、数値制御システム及び数値制御方法
US20240028000A1 (en) Numerical control system, and industrial machine control method
WO2022004651A1 (ja) 数値制御システム
US20240160181A1 (en) Motion-path generation device, numerical control device, numerical control system, and non-transitory computer-readable medium storing computer program
JP7332822B1 (ja) 数値制御装置及び数値制御システム
WO2024100721A1 (ja) 数値制御装置及び数値制御システム
US20240066690A1 (en) Numerical control apparatus and numerical control system
KR920005252B1 (ko) 수치제어장치
EP0417297A1 (en) Numeric controller for transfer line
CN116964537A (zh) 指令生成装置及计算机程序
Gambao et al. Fuzzy-gain scheduling control architecture for large range robots
CN116917821A (zh) 动作路径生成装置、数值控制装置、数值控制系统、及计算机程序
CN116635801A (zh) 数值控制装置以及数值控制系统
JPH01311304A (ja) 数値制御装置

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination