掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本公开涉及数值控制系统以及工业机械的控制方法。

背景技术

近年来,为了促进加工现场的自动化,期望一种数值控制系统,能够联动地控制对工件进行加工的机床的动作以及对该机床装卸工件的机器人的动作(例如,参照专利文献1)。一般而言,机床动作由数值控制装置控制,机器人动作由机器人控制装置控制。因此,为了联动地控制机床动作和机器人动作,需要操作数值控制装置和机器人控制装置双方。与之相对地,在专利文献1所示的数值控制系统中,能够按照来自数值控制装置侧的用户指示来选择机器人的动作程序和设定动作程序,由此使用户的设定变得容易。

现有技术文献

专利文献

专利文献1:日本特开2018-195055号公报

发明内容

发明要解决的课题

但是,在联动地控制已设的机床和之后设置的机器人时,需要连接控制机床动作的数值控制装置和控制机器人动作的机器人控制装置。此时,还需要对这些数值控制装置和机器人控制装置重新追加I/O信号、M代码等命令,或者重新设置PLC(可编程逻辑控制器)这样的外部设备。此时,由于还需要将I/O信号经由数值控制装置的梯形电路发送到机器人控制装置,所以也需要编辑已设的梯形电路。因此,在实际的加工现场中,有时无法灵活地应对。

本公开是鉴于上述课题而完成的,提供一种能够容易地使机床与机器人联动的数值控制系统以及工业机械的控制方法。

用于解决课题的手段

本公开的一方式提供一种数值控制系统,其联动地控制机床和机器人的动作,其具有:数值控制装置,其具有根据数值控制程序来控制所述机床的动作的第一控制部;机器人控制装置,其具有根据机器人控制程序来控制所述机器人的动作的第二控制部;以及存储装置,其存储能够由所述第一控制部和所述第二控制部读写的变量的值,所述第一控制部读出所述存储装置中存储的变量的值,并根据该读出的变量的值来控制所述机床的动作,所述第二控制部读出所述存储装置中存储的变量的值,并根据该读出的变量的值来控制所述机器人的动作。

本公开的一方式提供一种工业机械的控制方法,其使用数值控制系统来联动地控制机床和机器人的动作,所述数值控制系统具有:第一控制部,其根据数值控制程序来控制所述机床的动作;第二控制部,其根据机器人控制程序来控制所述机器人的动作;以及存储装置,其存储能够由所述第一控制部和所述第二控制部读写的变量的值,所述工业机械的控制方法具有以下工序:所述第一控制部读出所述存储装置中存储的变量的值,并根据该读出的变量的值来控制所述机床的动作;以及所述第二控制部读出所述存储装置中存储的变量的值,并根据该读出的变量的值来控制所述机器人的动作。

发明效果

在本公开的一方式中,数值控制系统具有:第一控制部,其根据数值控制程序来控制机床的动作;第二控制部,其根据机器人控制程序来控制机器人的动作;存储装置,其存储能够从这些第一控制部和第二控制部两者读写的变量的值。第一控制部从第二控制部读出能够改写的变量值,根据该读出的变量值来控制机床的动作,第二控制部从第一控制部读出能够改写的变量值,根据该读出的变量值来控制机器人的动作。根据本公开的一方式,能够经由可从双方读写的变量来进行从第一控制部向第二控制部的通知和请求、从第二控制部向第一控制部的通知和请求等,因此,能够不用新追加I/O信号和外部设备、或者不用编辑已设的梯形电路,就能够容易地使机床与机器人联动。另外,根据本公开的一方式,仅通过使存储装置存储各种变量的值,也能够应对多样的自动化方式。

附图说明

图1是本公开的一实施方式的数值控制系统的概略图。

图2是数值控制装置以及机器人控制装置的功能框图。

图3是表示在机床控制模块中执行的数值控制程序的第一例的图。

图4是表示在机床控制模块中执行的数值控制程序的第二例的图。

图5是按照数值控制程序调用的子程序的一例。

具体实施方式

以下,参照附图,对本公开的一实施方式的数值控制系统1进行说明。

图1是本实施方式的数值控制系统1的概略图。

数值控制系统1具有:机床2,其加工未图示的工件;数值控制装置(CNC)5,其控制该机床2的动作;机器人3,其设置在机床2的附近;机器人控制装置6,其控制机器人3的动作。数值控制系统1通过使用以能够相互通信的方式连接的数值控制装置5和机器人控制装置6,联动地控制机床2和机器人3的动作。

机床2例如是车床、钻床、铣床、磨床、激光加工机以及注射成型机等,但不限于此。机床2根据按照后面说明的过程从数值控制装置5发送的各种指令信号,执行未图示的工件的加工动作、把持该工件的卡盘的开闭动作、以及设置于工件加工区域的门的开闭动作等各种动作。

机器人3在机器人控制装置6的控制下进行动作,例如对由机床2加工的工件进行规定的作业。机器人3例如是多关节机器人,在其臂部前端部31安装有用于把持、加工、检查工件的工具32。以下,对机器人3为6轴多关节机器人的情况进行说明,但不限于此。另外,以下对机器人3为6轴多关节机器人的情况进行说明,但轴数不限于此。

数值控制装置5和机器人控制装置6分别是由以下各单元等硬件构成的计算机:CPU(Central Processing Unit)等运算处理单元、储存各种程序的HDD(Hard DiskDrive)、SSD(Solid State Drive)等辅助存储单元、用于储存运算处理单元执行程序时暂时需要的数据的RAM(Random Access Memory)这样的主存储单元、供操作员进行各种操作的键盘这样的操作单元、以及向操作员显示各种信息的显示器这样的显示单元。这些机器人控制装置6和数值控制装置5例如可以通过以太网(注册商标)相互收发各种信号。

图2是数值控制装置5和机器人控制装置6的功能框图。

首先,对数值控制装置5的详细结构进行说明。如图2所示,在数值控制装置5中,通过上述硬件结构,实现作为控制机床2的动作的第一控制部的机床控制模块50、存储数值控制程序的存储部51、存储能够由机床控制模块50以及后述的机器人控制模块60读写的多个变量的值的变量存储部58、以及数据收发部59等的各种功能。

在存储部51中储存有用于控制机床2的动作(例如,控制轴的移动动作、主轴的旋转动作、卡盘的开闭动作以及门的开闭动作等)的数值控制程序。为了与处于机器人控制装置6的控制下的机器人3的动作联动地控制机床2的动作,预先由操作员制作储存在存储部51中的数值控制程序,该数值控制程序通过使用了G代码或M代码等的程序语言来描述。

机床控制模块50根据数值控制程序来读写存储在变量存储部58中的变量值,并且控制机床2的动作。更具体而言,机床控制模块50具有:程序输入部52、输入解析部53、插补控制部54、I/O控制部55以及伺服控制部56。

程序输入部52从存储部51读出数值控制程序,并将其依次输入到输入解析部53。

输入解析部53按程序块依次解析基于从程序输入部52输入的数值控制程序的指令类别,并将解析结果发送到I/O控制部55、插补控制部54以及变量存储部58。

输入解析部53在根据数值控制程序取得的指令类别例如是指令机床2的卡盘开闭的类别时、是指令机床2的门开闭的类别时,将所取得的指令输入到I/O控制部55。当从输入解析部53输入指令时,I/O控制部55向机床2输入与所输入的指令对应的I/O信号。由此,机床2的卡盘、门根据由数值控制程序确定的过程来进行开闭。

输入解析部53在根据数值控制程序取得的指令类别例如是指令机床2的控制轴移动的类别时,将所取得的指令输入到插补控制部54。当从输入解析部53输入指令时,插补控制部54通过进行插补处理来计算与指令对应的控制轴的移动路径,将计算出的移动路径输入到伺服控制部56。伺服控制部56对机床2的伺服电动机进行反馈控制,使得控制轴沿着由插补控制部54计算出的移动路径移动。由此,根据由数值控制程序确定的过程来控制机床2的动作。

输入解析部53在根据数值控制程序取得的指令类别例如是指令读出存储在变量存储部58中的变量值的类别时、是指令改写存储在变量存储部58中的变量值的类别时,将所取得的指令输入到变量存储部58。

变量存储部58具有存储多个变量的值的变量存储器58m,根据从输入解析部53输入的指令、经由数据收发部59从机器人控制装置6的后述的机器人控制模块60输入的指令,读出或改写存储在变量存储器58m中的变量值。

变量存储器58m存储在机床控制模块50中用于控制机床2的动作的数值控制程序以及在机器人控制模块60中用于控制机器人3的动作的机器人控制程序中由编号或字符串指定的多个变量的值。在本实施方式中,作为由变量存储器58m存储的变量,对分配了在很多数值控制装置定义的宏变量的一部分(例如,#100~#199、#500~#599)的情况进行说明,但不限于此。

变量存储部58在从输入解析部53输入了读出存储在变量存储器58m中的变量值的指令时,从变量存储器58m读出由指令指定的变量值,将读出的值向输入解析部53发送。另外,变量存储部58在从输入解析部53输入了改写存储在变量存储器58m中的变量值的指令时,将在变量存储器58m中由指令指定的变量值改写为与指令对应的值。由此,机床控制模块50能够读出或改写存储在变量存储器58m中的变量的值。

变量存储部58在从机器人控制模块60经由数据收发部59输入了读出存储在变量存储器58m中的变量值的指令时,从变量存储器58m读出由指令指定的变量值,并将读出的值经由数据收发部59向机器人控制模块60发送。另外,变量存储部58在从机器人控制模块60经由数据收发部59输入了改写存储在变量存储器58m中的变量值的指令时,将在变量存储器58m中由指令指定的变量值改写为与指令对应的值。由此,机器人控制模块60能够读出或改写存储在变量存储器58m中的变量的值。

变量存储器58m具有:第一存储区域581,其存储多个第一变量的值,该第一变量的值设想为用于从机床控制模块50向机器人控制模块60的通知和请求;第二存储区域582,其存储多个第二变量的值,该第二变量的值设想为用于从机器人控制模块60向机床控制模块50的通知和请求。以下,对分配变量#500~#599作为第一变量,分配变量#100~#199作为第二变量的情况进行说明。

由于设想为存储在第一存储区域581中的第一变量用于从机床控制模块50向机器人控制模块60的通知和请求,因此优选能够从机床控制模块50和机器人控制模块60双方进行读出,且至少能够从机床控制模块50进行改写。另外,由于设想为存储在第二存储区域582中的第二变量用于从机器人控制模块60向机床控制模块50的通知和请求,因此优选能够从机床控制模块50和机器人控制模块60双方进行读出,且至少能够从机器人控制装置6进行改写。

例如,为了从机床控制模块50向机器人控制模块60通知机床2的主轴的停止状态而分配第一变量#500。在第一变量#500的值为0时,表示机床2的主轴为动作中,在第一变量#500的值为1时,表示机床2的主轴停止。

例如,为了从机床控制模块50向机器人控制模块60通知机床2的各轴是退避到成为机器人3侵入时干扰区域外的位置的状态而分配第一变量#501。在第一变量#501的值为0时,表示机床2的各轴存在于规定的干扰区域内,在第一变量#501的值为1时,表示机床2的各轴存在于干扰区域外。

例如,为了从机床控制模块50向机器人控制模块60通知机床2的门的开闭状态而分配第一变量#502。在第一变量#502的值为0时,表示机床2的门为未打开的状态,在第一变量#502的值为1时,表示机床2的门为打开的状态。

例如,为了从机床控制模块50向机器人控制模块60请求机床2更换工件而分配第一变量#503。在第一变量#503的值为0时,表示为未请求更换工件的状态,在第一变量#503的值为1时,表示为请求更换工件的状态。

例如,为了从机器人控制模块60向机床控制模块50请求停止在机床控制模块50中执行中的数值控制程序而分配第二变量#100。在第二变量#100的值为0时,表示为未请求停止数值控制程序的状态,在第二变量#100的值为1时,表示为请求停止数值控制程序的状态。

例如,为了从机器人控制模块60向机床控制模块50请求机床2的门的打开动作而分配第二变量#101。在第二变量#101的值为0时,表示为未请求门的打开动作的状态,在第二变量#101的值为1时,表示为请求门的打开动作的状态。

例如,为了从机器人控制模块60向机床控制模块50请求机床2的门的关闭动作而分配第二变量#102。在第二变量#102的值为0时,表示为未请求门的关闭动作的状态,在第二变量#102的值为1时,表示为请求门的关闭动作的状态。

例如,为了从机器人控制模块60向机床控制模块50请求机床2的卡盘的打开动作而分配第二变量#103。在第二变量#103的值为0时,表示为未请求卡盘的打开动作的状态,在第二变量#103的值为1时,表示为请求卡盘的打开动作的状态。

例如,为了从机器人控制模块60向机床控制模块50请求机床2的卡盘的关闭动作而分配第二变量#104。在第二变量#104的值为0时,表示为未请求卡盘的关闭动作的状态,在第二变量#104的值为1时,表示为请求卡盘的关闭动作的状态。

例如,为了从机器人控制模块60向机床控制模块50请求机床2执行第一加工而分配第二变量#105。在第二变量#105的值为0时,表示为未请求执行第一加工的状态,在第二变量#105的值为1时,表示为请求执行第一加工的状态。

例如,为了从机器人控制模块60向机床控制模块50请求机床2执行第二加工而分配第二变量#106。在第二变量#106的值为0时,表示为未请求执行第二加工的状态,在第二变量#106的值为1时,表示为请求执行第二加工的状态。

例如,为了从机器人控制模块60向机床控制模块50请求机床2执行第三加工而分配第二变量#107。在第二变量#107的值为0时,表示为未请求执行第三加工的状态,在第二变量#107的值为1时,表示为请求执行第三加工的状态。

例如,为了从机器人控制模块60向机床控制模块50通知机器人3的动作状态而分配第二变量#150。在第二变量#150的值为0时,表示机器人3为动作中,在第二变量#150的值为1时,表示机器人3的动作为完成的状态。

此外,存储在变量存储器58m中的多个变量值,响应接通数值控制装置5而被复位(reset)为规定的初始值(例如0)。

接着,对机器人控制装置6的结构进行详细说明。如图2所示,在机器人控制装置6中,通过上述硬件结构,来实现作为控制机器人3的动作的第二控制部的机器人控制模块60、存储机器人控制程序的存储部61、以及数据收发部69等的各种功能。

在存储部61中储存有用于控制机器人3的动作的机器人控制程序。为了与处于数值控制装置5的控制下的机床2的动作联动地控制机器人3的动作,而预先由操作员制作储存在存储部61中的机器人控制程序。

机器人控制模块60根据机器人控制程序读写存储在变量存储部58中的变量的值,并且控制机器人3的动作。更具体而言,机器人控制模块60具有:程序输入部62、输入解析部63、轨迹控制部64、I/O控制部65以及伺服控制部66。

程序输入部62从存储部61读出机器人控制程序,并将其依次输入到输入解析部63。

输入解析部63按程序块依次解析基于从程序输入部62输入的机器人控制程序的指令类别,并将解析结果向轨迹控制部64、I/O控制部65以及数据收发部69发送。

输入解析部63在根据机器人控制程序取得的指令类别例如是指令移动机器人3的控制点(例如臂部前端部31)时,将所取得的指令输入到轨迹控制部64。轨迹控制部64当从输入解析部63输入指令时,计算使机器人3的控制点向由指令指定的位置移动时的控制点的动作轨迹,计算与计算出的动作轨迹对应的机器人3的各关节的角度作为目标角度,并将这些目标角度向伺服控制部66发送。伺服控制部66为了实现从轨迹控制部64发送的各关节的目标角度,通过对机器人3的各伺服电动机进行反馈控制来生成针对机器人3的机器人控制信号,并输入到机器人3的伺服电动机。由此,根据在机器人控制程序中确定的过程来控制机器人3的动作。

输入解析部63在根据机器人控制程序取得的指令类别例如是指令驱动安装于机器人3的臂部前端部31的工具32时,将所取得的指令输入到I/O控制部65。I/O控制部65当从输入解析部63输入指令时,向工具32输入与输入的指令对应的I/O信号。由此,机器人3的工具32根据由机器人控制程序确定的过程进行动作。

输入解析部63在根据机器人控制程序取得的指令类别例如是指令读出存储在变量存储部58中的变量值时、或是指令改写存储在变量存储部58中的变量值时,将所取得的指令输入到数据收发部69。

数据收发部69在从输入解析部63接收到读出变量值的指令时,将该指令发送到数值控制装置5的数据收发部59。如上所述,变量存储部58在被输入了这样的读出指令时,从变量存储器58m读出由指令指定的变量值,并将读出的值经由数据收发部59和数据收发部69送回到输入解析部63。另外,数据收发部69在从输入解析部63接收到改写变量值的指令时,将该指令发送到数值控制装置5的数据收发部59。如上所述,变量存储部58在被输入了这样的改写指令时,将在变量存储器58m中由指令指定的变量值改写为与指令对应的值。由此,机器人控制模块60能够读出或改写存储在变量存储器58m中的变量的值。

在以上这样的数值控制系统1中,以由数值控制程序和机器人控制程序确定的顺序反复执行以下要说明的第一变量改写工序、第二变量改写工序、第一变量读出工序、第二变量读出工序、机床控制工序以及机器人控制工序,由此,联动地控制机床2和机器人3的动作。

在第一变量改写工序中,机床控制模块50按照数值控制程序改写存储在变量存储器58m的第一存储区域581中的第一变量的值。由此,能够从机床控制模块50向机器人控制模块60发送各种通知和请求。

在第二变量改写工序中,机器人控制模块60按照机器人控制程序改写存储在变量存储器58m的第二存储区域582中的第二变量的值。由此,能够从机器人控制模块60向机床控制模块50发送各种通知和请求。

在第二变量读出工序中,机床控制模块50按照数值控制程序读出存储在变量存储器58m的第二存储区域582中的第二变量的值。如上所述,第二变量的值在第二变量改写工序中由机器人控制模块60适当改写。因此,机床控制模块50通过读出第二变量的值,能够取得来自机器人控制模块60的各种通知和请求。

在第一变量读出工序中,机器人控制模块60按照机器人控制程序读出存储在变量存储器58m的第一存储区域581中的第一变量的值。如上所述,第一变量的值在第一变量改写工序中由机床控制模块50适当改写。因此,机器人控制模块60通过读出第一变量的值,能够取得来自机床控制模块50的各种通知、请求。

在机床控制工序中,机床控制模块50根据数值控制程序以及在上述第二变量读出工序中读出的第二变量的值来控制机床2的动作。由此,能够以根据从机器人控制模块60发送的各种通知和请求而确定的定时以及方式,来控制机床2的动作。

在机器人控制工序中,机器人控制模块60根据机器人控制程序以及在上述第一变量读出工序中读出的第一变量的值来控制机器人3以及工具32的动作。由此,能够以根据从机床控制模块50发送的各种通知和请求而确定的定时以及方式,来控制机器人3的动作。

图3是表示在机床控制模块50中执行的数值控制程序的第一例的图。

首先,在序列号“N10”至“N16”所示的程序块中,向机床控制模块50输入用于通过机床2加工工件的各种命令“G00”、“M03”、“G83”以及“G80”。由此,机床控制模块50根据由数值控制程序确定的过程来控制机床2的动作,对工件进行加工。

接着,在序列号“N20”所示的程序块中,向机床控制模块50输入用于停止机床2的主轴旋转的命令“S0”。由此,机床控制模块50使机床2的主轴旋转停止。

接着,在序列号“N21”所示的程序块中,向机床控制模块50输入用于将第一变量#500的值从作为初始值的“0”改写为“1”的命令“#500=1”。由此,机床控制模块50为了向机器人控制模块60通知机床2的主轴停止,将存储在变量存储器58m的第一存储区域581中的第一变量#500的值从“0”改写为“1”。

接着,在序列号“N30”所示的程序块中,向机床控制模块50输入用于使机床2的各轴退避到预先确定的干扰区域外的命令“G00”。由此,机床控制模块50使机床2的各轴向由命令“G00”指定的位置移动。

接着,在序列号“N31”所示的程序块中,向机床控制模块50输入用于将第一变量#501的值从作为初始值的“0”改写为“1”的命令“#501=1”。由此,机床控制模块50为了向机器人控制模块60通知机床2的各轴存在于干扰区域外,而将存储在变量存储器58m的第一存储区域581中的第一变量#501的值从“0”改写为“1”。

接着,在序列号“N32”所示的程序块中,向机床控制模块50输入用于使机床2的门为打开状态的命令“M88”。由此,机床控制模块50打开机床2的门。

接着,在序列号“N33”所示的程序块中,向机床控制模块50输入用于将第一变量#502的值从作为初始值的“0”改写为“1”的命令“#502=1”。由此,机床控制模块50为了向机器人控制模块60通知机床2的门为打开状态,而将存储在变量存储器58m的第一存储区域581中的第一变量#502的值从“0”改写为“1”。

接着,在序列号“N34”所示的程序块中,向机床控制模块50输入用于将第一变量#503的值从作为初始值的“0”改写为“1”的命令“#503=1”。由此,机床控制模块50为了对机器人控制模块60请求机床2的机内工件的更换动作,而将存储在变量存储器58m的第一存储区域581中的第一变量#503的值从“0”改写为“1”。

另一方面,机器人控制模块60按照机器人控制程序以规定的周期读出第一变量#500、#501、#502、#503的值。另外,机器人控制模块60在存储在变量存储器58m的第一存储区域581中的第一变量#500、#501、#502、#503的值均为“1”时,即机床2的主轴为停止状态,各轴为存在于干扰区域外的状态,门为打开状态,并且从机床控制模块50请求工件的更换动作时,按照在机器人控制程序中预先确定的过程来控制机器人3和工具32的动作,更换工件。因此,在机床控制模块50中,以序列号“N34”所示的程序块的执行完成为契机,机器人控制模块60开始使用了机器人3和工具32的工件更换动作。另外,当工件更换动作完成时,机器人控制模块60按照机器人控制程序将存储在变量存储器58m的第二存储区域582中的第二变量#150的值从作为初始值的“0”改写为“1”。

接着,在序列号“N36”~“N37”所示的程序块中,机床控制模块50读出第二变量#150的值,以规定的周期反复判定读出的值是否为“0”。即,机床控制模块50为等待完成机器人控制模块60进行的工件更换动作的状态。机床控制模块50在读出的第二变量#150的值为“1”时,即从机器人控制模块60有表示工件更换动作完成的通知时,转移到下一序列号“N38”所示的程序块。

接着,在序列号“N38”所示的程序块中,向机床控制模块50输入用于将第一变量#503的值从“1”改写为“0”的命令“#503=0”。由此,机床控制模块50取消(OFF)针对机器人控制模块60的工件更换动作的请求。

接着,在序列号“N39”所示的程序块中,向机床控制模块50输入用于使机床2的门为关闭状态的命令“M89”。由此,机床控制模块50关闭机床2的门。

接着,在序列号“N40”所示的程序块中,向机床控制模块50输入用于将第一变量#502的值从“1”改写为“0”的命令“#502=0”。由此,机床控制模块50为了向机器人控制模块60通知机床2的门为关闭状态,将存储在变量存储器58m的第一存储区域581中的第一变量#502的值从“1”改写为“0”。

接着,在序列号“N41”~“N43”所示的程序块中,向机床控制模块50输入用于通过机床2对更换后的新工件进行加工的各种命令“M03”以及“G00”。由此,机床控制模块50根据由数值控制程序确定的过程来控制机床2的动作,对工件进行加工。

图4是表示在机床控制模块50中执行的数值控制程序的第二例的图。

此外,机器人控制模块60按照机器人控制程序来控制机器人3的动作,并且按照机器人控制程序来改写存储在变量存储器58m的第二存储区域582中的第二变量#100~#107的值。

图4所示的数值控制程序通过在机床控制模块50中以规定的周期读出第二变量#100~#107的值,来监视来自机器人控制模块60的请求,并且根据读出的第二变量#100~#107的值来控制机床2的动作。

首先,在序列号“N60”~“N62”所示的程序块中,机床控制模块50读出存储在变量存储器58m的第二存储区域582中的第二变量#101的值,判定读出的值是否为“1”。另外,机床控制模块50在第二变量#101的值为“1”时,即从机器人控制模块60请求了机床2的门打开动作时,按照用于调用子程序的命令“M98”,调用程序编号“0001”的子程序,在第二变量#101的值为“0”时,转移到下一个程序块。

图5是表示程序编号“0001”的子程序的一例的图。

当调用图5所示那样的子程序时,机床控制模块50按照命令“M88”打开机床2的门之后,将第二变量#101的值复位为“0”之后,按照命令“M99”恢复到图4所示的主程序。

接着,在序列号“N70”~“N72”所示的程序块中,机床控制模块50读出存储在变量存储器58m的第二存储区域582中的第二变量#102的值,判定读出的值是否为“1”。另外,机床控制模块50在第二变量#102的值为“1”时,即在从机器人控制模块60请求了机床2的门关闭动作时,执行程序编号“0002”的子程序,在第二变量#102的值为“0”时,转移到下一个程序块。在此,机床控制模块50通过执行程序编号“0002”的子程序,关闭机床2的门,将第二变量#102的值复位为“0”后,返回到图4所示的主程序。

接着,在序列号“N80”~“N82”所示的程序块中,机床控制模块50读出存储在变量存储器58m的第二存储区域582中的第二变量#103的值,判定读出的值是否为“1”。另外,机床控制模块50在第二变量#103的值为“1”时,即从机器人控制模块60请求了机床2的卡盘的打开动作时,执行程序编号“0003”的子程序,在第二变量#103的值为“0”时,转移到下一个程序块。在此,机床控制模块50通过执行程序编号“0003”的子程序,关闭机床2的卡盘,将第二变量#103的值复位为“0”之后,返回到图4所示的主程序。

接着,在序列号“N80”~“N82”所示的程序块中,机床控制模块50读出存储在变量存储器58m的第二存储区域582中的第二变量#103的值,判定读出的值是否为“1”。另外,机床控制模块50在第二变量#103的值为“1”时,即从机器人控制模块60请求了机床2的卡盘的打开动作时,执行程序编号“0003”的子程序,在第二变量#103的值为“0”时,转移到下一个程序块。在此,机床控制模块50通过执行程序编号“0003”的子程序,关闭机床2的卡盘,将第二变量#103的值复位为“0”之后,返回到图4所示的主程序。

接着,在序列号“N90”~“N92”所示的程序块中,机床控制模块50读出存储在变量存储器58m的第二存储区域582中的第二变量#105的值,判定读出的值是否为“1”。另外,机床控制模块50在第二变量#105的值为“1”时,即从机器人控制模块60请求了基于机床2的第一加工动作时,执行程序编号“0005”的子程序,在第二变量#105的值为“0”时,转移到下一个程序块。在此,机床控制模块50通过执行程序编号“0005”的子程序来执行机床2的第一加工动作,在将第二变量#105的值复位为“0”之后,返回到图4所示的主程序。

接着,在序列号“N100”~“N101”所示的程序块中,机床控制模块50读出存储在变量存储器58m的第二存储区域582中的第二变量#100的值,判定读出的值是否为“0”。另外,机床控制模块50在第二变量#100的值为“0”时,即,没有从机器人控制模块60请求停止数值控制程序时,返回到序列号“N50”所示的程序块,再次监视第二变量#100~#107的值。另外,机床控制模块50在第二变量#100的值为“1”时,即,从机器人控制模块60请求了停止数值控制程序时,转移到序列号“N110”所示的程序块,结束图4所示的数值控制程序。

根据以上,机床控制模块50在第二变量#100的值从“0”改写为“1”之前,换言之在从机器人控制模块60请求停止数值控制程序之前,通过以规定的周期读出第二变量#101~#107的值来监视来自机器人控制模块60的请求,在通过机器人控制模块60将第二变量#101~#107中的某一个值从“0”改写为“1”时,在改写后的定时,以与改写后的第二变量对应的方式控制机床2的动作。

根据本实施方式,获得以下的效果。

数值控制系统1具有:机床控制模块50,其根据数值控制程序来控制机床2的动作;机器人控制模块60,其根据机器人控制程序来控制机器人3的动作;变量存储部58,其存储能够从这些机床控制模块50和机器人控制模块60双方读写的多个变量的值。机床控制模块50从机器人控制模块60读出能够改写的变量的值,并根据该读出的变量的值控制机床2的动作,机器人控制模块60从机床控制模块50读出能够改写的变量的值,并根据该读出的变量的值控制机器人3的动作。根据数值控制系统1,可以经由能从双方读写的变量来进行从机床控制模块50向机器人控制模块60的通知和请求、从机器人控制模块60向机床控制模块50的通知和请求等,因此,能够在不新追加I/O信号、外部设备、或编辑已设的梯形电路的情况下,容易地使机床2与机器人3联动。另外,根据数值控制系统1,仅通过在变量存储部58中存储各种变量的值,也能够应对多种自动化方式。

在数值控制系统1中,机床控制模块50根据数值控制程序读写存储在变量存储部58中的变量的值,机器人控制模块60根据机器人控制程序读写存储在变量存储部58中的变量的值。即,在数值控制系统1中,作为用于在机床控制模块50与机器人控制模块60之间发送通知和请求的变量,使用在数值控制程序和机器人控制程序中定义的变量。由此,不更新已设的数值控制装置5、机器人控制装置6的软件,就能够联动地控制机床2的动作和机器人3的动作。

在数值控制系统1中,变量存储部58的第一存储区域581存储按照数值控制程序改写的第一变量的值,变量存储部58的第二存储区域582存储按照机器人控制程序改写的第二变量的值,机床控制模块50根据第二变量的值控制机床2的动作,并且按照数值控制程序改写第一变量的值,机器人控制模块60根据第一变量的值控制机器人3的动作,并且按照机器人控制程序改写第二变量的值。由此,在数值控制系统1中,能够利用第一变量从机床控制模块50向机器人控制模块60发送通知和请求等,利用第二变量从机器人控制模块60向机床控制模块50发送通知和请求等。

在数值控制系统1中,数值控制装置5的机床控制模块50以及机器人控制装置6的机器人控制模块60能够经由数据收发部59、69进行通信,变量存储部58设置于数值控制装置5,机器人控制模块60经由使用了数据收发部59、69的通信对存储在变量存储部58中的变量的值进行读写。由此,能够在不新追加用于存储变量的值的外部设备的情况下,联动地控制机床2的动作和机器人3的动作。

本公开并不限定于上述实施方式,能够进行各种变更以及变形。

例如在上述实施方式中,对在数值控制装置5设置了存储能够从机床控制模块50和机器人控制模块60双方读写的多个变量的值的变量存储部58的情况进行了说明,但不限于此。

变量存储部例如可以设置于以能够通信的方式与数值控制装置连接的机器人控制装置。该情况下,数值控制装置的机床控制模块能够经由上述通信读写在设置于机器人控制装置的变量存储部中存储的变量的值,因此,获得与上述实施方式大致相同的效果。

另外,变量存储部例如也可以设置于以能够通信的方式与数值控制装置和机器人控制装置分别连接的服务器。该情况下,数值控制装置的机床控制模块和机器人控制装置的机器人控制模块能够分别经由上述通信来读写在设置于服务器的变量存储部中存储的变量的值,因此,获得与上述实施方式大致相同的效果。

符号说明

1…数值控制系统

2…机床

3…机器人

31…臂部前端部

32…工具

5…数值控制装置

51…存储部

50…机床控制模块(第一控制部)

58…变量存储部(存储装置)

58m…变量存储器

581…第一存储区域

582…第二存储区域

59…数据收发部

6…机器人控制装置

61…存储部

60…机器人控制模块

69…数据收发部。

相关技术
  • 机器学习装置、数值控制装置、数值控制系统以及机器学习方法
  • 机器学习装置、数值控制系统、设定装置、数值控制装置以及机器学习方法
  • 数值控制系统、数值控制装置、运转状态异常检查方法及学习模型组
技术分类

06120116065653