CN105388852A - 数控装置、机床和控制方法 - Google Patents
数控装置、机床和控制方法 Download PDFInfo
- Publication number
- CN105388852A CN105388852A CN201510500719.6A CN201510500719A CN105388852A CN 105388852 A CN105388852 A CN 105388852A CN 201510500719 A CN201510500719 A CN 201510500719A CN 105388852 A CN105388852 A CN 105388852A
- Authority
- CN
- China
- Prior art keywords
- instruction
- rotating shaft
- numerical control
- cpu21
- action
- 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.)
- Granted
Links
Classifications
-
- 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—Programme-control systems
- G05B19/02—Programme-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 programme data in numerical form
- G05B19/4155—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 programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B23—MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
- B23Q—DETAILS, COMPONENTS, OR ACCESSORIES FOR MACHINE TOOLS, e.g. ARRANGEMENTS FOR COPYING OR CONTROLLING; MACHINE TOOLS IN GENERAL CHARACTERISED BY THE CONSTRUCTION OF PARTICULAR DETAILS OR COMPONENTS; COMBINATIONS OR ASSOCIATIONS OF METAL-WORKING MACHINES, NOT DIRECTED TO A PARTICULAR RESULT
- B23Q15/00—Automatic control or regulation of feed movement, cutting velocity or position of tool or work
- B23Q15/20—Automatic control or regulation of feed movement, cutting velocity or position of tool or work before or after the tool acts upon the workpiece
- B23Q15/22—Control or regulation of position of tool or workpiece
- B23Q15/26—Control or regulation of position of tool or workpiece of angular position
-
- 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—Programme-control systems
- G05B19/02—Programme-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 programme data in numerical form
- G05B19/414—Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Mechanical Engineering (AREA)
- Numerical Control (AREA)
- Automatic Control Of Machine Tools (AREA)
Abstract
本发明涉及数控装置、机床和控制方法。数控装置的CPU通过预读处理和执行处理一边预读数控程序,一边执行处理。在预读处理中,CPU以一个程序块为单位对数控程序进行解释,将解释信息存储于预读缓冲器。在使C轴即旋转台停止后的最初的C轴定位指令是增量值指令时,CPU由于不清楚旋转台停止后的位置,因此将停止指令存储于预读缓冲器。在执行处理中,在CPU从预读缓冲器读出的解释信息中有停止指令时,数控程序有错误,因此,CPU停止机床的运转。因此,数控装置能防止机床进行违背操作者意图的动作。
Description
技术领域
本发明涉及数控装置、机床和控制方法。
背景技术
数控装置将预读数控程序并进行解释而得到的结果存储于缓冲器,根据存储于该缓冲器的解释结果对机床的动作进行控制。机床的伺服马达有时从速度控制切换为位置控制。数控装置预读从速度控制切换为位置控制的最初的定位指令时,由于不清楚伺服马达的当前位置,因此无法对伺服马达进行定位。因此,数控装置需要暂且停止预读,在确定了连续旋转的伺服马达的停止位置之后,以所确定的停止位置为基准对伺服马达进行定位,然后重新开始预读。
日本特许公开2014年48761号公报披露的数控装置在从速度控制切换为位置控制的情况下预读使伺服马达停止后的最初的定位指令时,根据距离预先设定的基准位置的移动量来临时确定该定位指令所指示的移动量,将其存储于缓冲器。数控装置运算出从该移动量减去伺服马达的当前位置而得到的差分,根据该差分进行伺服马达的定位。
上述方法以使转轴停止后的最初的定位指令是绝对值指令为前提。绝对值指令是将移动坐标系设为绝对坐标的指令。在最初的定位指令是增量值指令时,由于将移动坐标系设为相对坐标,因此若数控装置通过上述方法同样地进行处理,则机床有可能进行违背使用者意图的动作。
发明内容
本发明的目的在于提供一种在使转轴的旋转停止后的最初的定位指令是增量值指令时能停止机床的动作的数控装置、机床和控制方法。
技术方案1的数控装置和技术方案7的机床中,数控装置包括:预读部,该预读部以一个程序块为单位对包括多个程序块的数控程序进行预读并解释,上述程序块具有对机床的动作进行控制的控制指令;存储部,该存储部将上述预读部预读并解释的解释信息存储于存储装置;以及执行部,该执行部从上述存储装置读出上述解释信息并加以执行,上述控制指令具有指示机床的转轴的速度的旋转指令和指示该转轴的位置的定位指令,上述执行部根据上述数控程序来控制上述机床,其特征在于,上述预读部包括:第一判断部,该第一判断部对定位指令是将移动坐标系设为绝对坐标的绝对值指令还是将移动坐标系设为相对坐标的增量值指令进行判断,其中,上述定位指令是在使上述转轴根据上述旋转指令进行的旋转停止后的该转轴的最初的定位指令;临时确定部,在上述第一判断部判断为上述定位指令是上述绝对值指令时,该临时确定部根据距离预先设定的上述转轴的基准位置的移动量,来临时确定根据上述定位指令指示上述转轴的移动量的指令移动量;以及停止指令存储部,在上述第一判断部判断为上述定位指令是上述增量值指令时,该停止指令存储部将使上述机床的动作停止的停止指令作为上述解释信息存储于上述存储装置,上述执行部包括:第一运算部,该第一运算部根据从上述存储装置读出的上述解释信息运算出第一差分,该第一差分是从上述临时确定部临时确定出的上述指令移动量中减去对上述转轴的位置进行检测的位置检测装置检测出的上述转轴的当前位置而得到的;第一定位执行部,该第一定位执行部根据上述第一运算部运算出的上述第一差分对上述转轴进行定位;以及停止部,在从上述存储装置读出的上述解释信息中有上述停止指令时,该停止部停止上述机床。在转轴的旋转停止后最初的转轴的定位指令是增量值指令时,不清楚转轴停止的位置。由于在数控程序中很可能有不确定的指令,因此数控装置停止机床的运转。因此,数控装置能防止机床进行违背操作者意图的动作。操作者能注意到在数控程序中有不确定的指令。
技术方案2的数控装置和技术方案7的机床的特征在于,上述定位指令具有返回参考点指令,该返回参考点指令将上述转轴的位置从当前的位置即当前位置定位至指定的位置即中间位置,之后,将上述转轴的位置定位至预先确定的位置即参考点,上述预读部还包括第二判断部,在上述第一判断部判断为上述定位指令是上述增量值指令时,上述第二判断部对该定位指令是否是不从上述当前位置朝上述中间位置移动的返回参考点指令进行判断,在上述第二判断部判断为上述定位指令是不从上述当前位置朝上述中间位置移动的返回参考点指令时,上述临时确定部将上述指令移动量临时确定为从上述基准位置至上述参考点的移动量。即使转轴的旋转停止后最初的转轴的定位指令是增量值指令,在执行不朝中间位置移动的返回参考点指令时,数控装置和机床也不会停止机床的运转。因此,数控装置和机床能使机床的动作继续,且能减少数控程序的限制。
技术方案3的数控装置和技术方案7的机床的特征在于,上述预读部在对上述返回参考点指令进行预读并解释时,解释为第一动作指令和第二动作指令,上述第一动作指令将从上述当前位置至上述中间位置的移动量设为0°,上述第二动作指令将从距离上述当前位置的移动量是0°的上述中间位置至上述参考点的移动量设为上述临时确定部临时确定的上述指令移动量,上述执行部包括:第一动作执行部,该第一动作执行部根据上述第一动作指令,使上述转轴不从上述当前位置移动;第二运算部,在上述第一动作执行部执行了上述第一动作之后,该第二运算部根据上述第二动作运算出第二差分,该第二差分是从上述指令移动量中减去上述位置检测装置检测出的上述转轴的当前位置而得到的;以及第二动作执行部,该第二动作执行部根据上述第二运算部运算出的上述第二差分对上述转轴进行定位。数控装置和机床将返回参考点指令解释为第一动作和第二动作这两个动作,在第一动作中使转轴保持当前位置而不移动,在第二动作中使转轴移动。因此,在数控程序的执行过程中,在针对与作为返回参考点指令的对象的转轴不同的其它轴有返回参考点指令这样的定位指令时,数控装置和机床能使其它轴和转轴的动作相协调。
技术方案4~6的数控装置和技术方案7的机床的特征在于,上述转轴是保持被切削件且能连续旋转的轴。因此,对于保持被切削件且能连续旋转的转轴,数控装置和机床能发挥技术方案1至3中任一项所述的效果。
技术方案8的数控装置的控制方法包括:预读工序,该预读工序以一个程序块为单位对包括多个程序块的数控程序进行预读并解释,上述程序块具有对机床的动作进行控制的控制指令;存储工序,该存储工序将在上述预读工序中预读并解释的解释信息存储于存储装置;以及执行工序,该执行工序从上述存储装置读出上述解释信息并加以执行,上述控制指令具有指示机床的转轴的速度的旋转指令和指示该转轴的位置的定位指令,上述执行工序根据上述数控程序来控制上述机床,其特征在于,上述预读工序包括:第一判断工序,该第一判断工序对定位指令是将移动坐标系设为绝对坐标的绝对值指令还是将移动坐标系设为相对坐标的增量值指令进行判断,其中,上述定位指令是在使上述转轴根据上述旋转指令进行的旋转停止后的上述转轴的最初的定位指令;临时确定工序,在上述第一判断工序中判断为上述定位指令是上述绝对值指令时,该临时确定工序根据距离预先设定的上述转轴的基准位置的移动量,来临时确定根据上述定位指令指示上述转轴的移动量的指令移动量;以及停止指令存储工序,在上述第一判断工序中判断为上述定位指令是上述增量值指令时,该停止指令存储工序将使上述机床的动作停止的停止指令作为上述解释信息存储于上述存储装置,上述执行工序包括:第一运算工序,该第一运算工序根据从上述存储装置读出的上述解释信息运算出第一差分,该第一差分是从上述临时确定工序中临时确定出的上述指令移动量中减去对上述转轴的位置进行检测的位置检测装置检测出的上述转轴的当前位置而得到的;第一定位执行工序,该第一定位执行工序根据在上述第一运算工序中运算出的上述第一差分对上述转轴进行定位;以及停止工序,在从上述存储装置读出的上述解释信息中有上述停止指令时,该停止工序停止上述机床。因此,数控装置通过执行上述控制方法,能发挥技术方案1所述的效果。
数控装置也可包括输出部来代替技术方案1的停止部,在上述第一判断部判断为上述定位指令是上述增量值指令时,上述输出部输出警报。
附图说明
图1是机床1的立体图。
图2是机床1的主视图。
图3是机床1的右视图。
图4是表示机床1和数控装置20的电气结构的框图。
图5是预读处理的流程图。
图6是上接图5的流程图。
图7是执行处理的流程图。
图8是上接图7的流程图。
图9是数控程序P1的图。
图10是数控程序P2的图。
图11是数控程序P3的图。
图12是数控程序P4的图。
具体实施方式
下面对本发明的实施方式进行说明。在以下说明中,使用图中箭头所示的左右、前后、上下。图1所示的机床1的左右、前后、上下分别为X轴方向、Y轴方向、Z轴方向。机床1是组合机床。图4所示的数控装置20通过对机床1的动作进行控制,来对被切削件实施旋转加工或车削加工。
下面参照图1~图3来说明机床1的结构。机床1包括基台2、Y轴移动机构、搬运体12、X轴移动机构、立柱5、Z轴移动机构、主轴头7、主轴8、操作盘10(参照图4)、数控装置20(参照图4)、被切削件保持装置80、自动工具更换装置(下称ATC)30等。
基台2是Y轴方向较长的矩形箱状的铁制构件,在其上表面包括基座部4、右侧支撑部18、左侧支撑部19。基座部4设于基台2上表面的后部侧。右侧支撑部18设于基台2上表面的右前侧,左侧支撑部19设于基台2上表面的左前侧。右侧支撑部18和左侧支撑部19从下方支撑被切削件保持装置80。
Y轴移动机构设于基座部4的上表面,使搬运体12在Y轴方向上移动。Y轴移动机构包括一对Y轴轨道61、62、Y轴滚珠丝杠63(参照图2)、Y轴马达52(参照图4)等。搬运体12能沿Y轴轨道61、62移动。搬运体12是例如具有规定厚度的金属制板构件,在其下表面包括螺母(未图示)。螺母与Y轴滚珠丝杠63螺合。在Y轴马达52使Y轴滚珠丝杠63旋转时,搬运体12与螺母一起沿Y轴方向移动。
X轴移动机构设于搬运体12的上表面,使立柱5在X轴方向上移动。X轴移动机构包括一对X轴轨道71、72、X轴滚珠丝杠73、X轴马达51等。立柱5能沿X轴轨道71、72移动。立柱5在其下表面包括螺母(未图示)。螺母与X轴滚珠丝杠73螺合。在X轴马达51使X轴滚珠丝杠73旋转时,立柱5与螺母一起沿X轴方向移动。立柱5通过搬运体12在Y轴方向上移动。因此,立柱5能利用Y轴移动机构、X轴移动机构、搬运体12在X轴方向和Y轴方向上移动。
立柱5在其右侧面下部包括保护罩16,在其左侧面下部包括保护罩17,在其背面下部包括罩13。保护罩16、17、罩13防止切屑和切削液侵入X轴移动机构和Y轴移动机构内。
Z轴移动机构设于立柱5的前表面,使主轴头7在Z轴方向上移动。Z轴移动机构包括一对Z轴轨道(未图示)、Z轴滚珠丝杠(未图示)、Z轴马达53(参照图4)等。主轴头7能沿Z轴轨道移动。主轴头7在其背面包括螺母(未图示)。螺母与Z轴滚珠丝杠螺合。在Z轴马达53使Z轴滚珠丝杠旋转时,主轴头7沿Z轴方向移动。保护罩28固定于主轴头7上部后侧。立柱5在其前表面包括Z轴保护罩27。Z轴保护罩27防止切屑和切削液侵入Z轴移动机构内。
主轴8设于主轴头7内。主轴8的工具安装部(未图示)设于主轴头7下部。工具安装部安装工具T。工具T至少有工具TA(未图示)、工具TB(未图示)这两种。工具TA是旋转加工用工具,工具TB是车削加工用工具。以下,将工具TA、TB总称为工具T。主轴马达54设于主轴头7上表面前侧。主轴马达54使主轴8旋转。
操作盘10设于覆盖机床1的罩的外壁,包括输入部11和显示部14。输入部11是用于进行各种输入、指示、设定等的设备。显示部14是显示各种显示画面、设定画面、警告画面等的设备。数控装置20收纳在机床1所具有的控制箱(未图示)内,对机床1的动作进行控制。
下面参照图1~图3来说明被切削件保持装置80的结构。被切削件保持装置80包括右侧固定部88、左侧固定部89、夹具固定台81、C轴马达56、旋转台82、倾斜马达57等。右侧固定部88固定于右侧支撑部18上表面。左侧固定部89固定于左侧支撑部19上表面。夹具固定台81包括台部81A、右连接部81B、左连接部81C。C轴马达56设于夹具固定台81下表面侧。旋转台82设于夹具固定台81大致中央。旋转台82与C轴马达56的转轴连接。夹具(未图示)固定于旋转台82上表面,夹具保持被切削件。旋转台82的轴线方向与台部81A表面正交。因此,夹具能与旋转台82一起旋转。
右连接部81B从台部81A朝右上方伸出,且以能绕X轴旋转的方式与右侧固定部88连接。左连接部81C从台部81A朝左上方伸出,且以能绕X轴旋转的方式与左侧固定部89连接。倾斜马达57固定于右侧固定部88。倾斜马达57使夹具固定台81绕X轴旋转。倾斜马达57的转轴与右连接部81B连接。固定于夹具的被切削件通过C轴马达56的驱动而绕旋转台82的轴旋转。固定于夹具的被切削件与夹具固定台81在倾斜马达57驱动下的旋转无关地,通过C轴马达56的驱动而绕与台部81A成直角的轴旋转。
ATC30对位于工具更换位置的下一工具与安装于主轴8的当前工具进行更换。
下面说明被切削件的加工方法。机床1能进行旋转加工和车削加工。旋转加工使旋转的工具TA与固定的被切削件抵接,使工具TA移动。工具TA例如是钻头、丝锥等,且能在安装于主轴8的状态下旋转。车削加工使工具TB与旋转的被切削件抵接,使工具TB移动。工具TB在安装于主轴8的状态下不能旋转。机床1能利用倾斜马达57绕X轴变更被切削件姿势,因此,能加工被切削件的期望部位。机床1还能使主轴马达54和C轴马达56同时旋转来对被切削件进行加工。
下面参照图4来说明数控装置20和机床1的电气结构。数控装置20包括CPU21、ROM22、RAM23、存储装置24、I/O基板26等。CPU21对机床1的动作进行控制。ROM22存储后述的各种程序。RAM23将在各种处理执行中产生的数据、后述的标志等信息予以存储,且包括预读缓冲器23A。预读缓冲器23A将在后述的预读处理(参照图5、图6)中产生的数控程序的解释信息予以存储。存储装置24是非易失性的,存储数控程序等。数控程序由多个程序块构成,各个程序块包含各种控制指令。控制指令包括指示旋转台82的速度的旋转指令即M03、指示旋转台82的位置的定位指令即G00C。I/O基板26与机床1进行信号的输入输出。
机床1还包括驱动电路41~48。驱动电路41~48分别与数控装置20的I/O基板26连接。驱动电路41根据CPU21的指令信号,朝X轴马达51输出驱动电流(脉冲)。编码器91与X轴马达51及I/O基板26连接。编码器91对X轴马达51的位置信息(马达的绝对位置信息)进行检测,且将该检测信号输入I/O基板26。驱动电路42根据CPU21的指令信号,朝Y轴马达52输出驱动电流。编码器92与Y轴马达52及I/O基板26连接。编码器92对Y轴马达52的位置信息进行检测,且将该检测信号输入I/O基板26。
驱动电路43根据CPU21的指令信号,朝Z轴马达53输出驱动电流。编码器93与Z轴马达53及I/O基板26连接。编码器93对Z轴马达53的位置信息进行检测,且将该检测信号输入I/O基板26。驱动电路44根据CPU21的指令信号,朝主轴马达54输出驱动电流。编码器94与主轴马达54及I/O基板26连接。编码器94对主轴马达54的位置信息进行检测,且将该检测信号输入I/O基板26。驱动电路45根据CPU21的指令信号,朝库马达55输出驱动电流。编码器95与库马达55及I/O基板26连接。编码器95对库马达55的位置信息进行检测,且将该检测信号输入I/O基板26。
驱动电路46根据CPU21的指令信号,朝C轴马达56输出驱动电流。编码器96与C轴马达56及I/O基板26连接。编码器96对C轴马达56的位置信息进行检测,且将该检测信号输入I/O基板26。驱动电路47根据CPU21的指令信号,朝倾斜马达57输出驱动电流。编码器97与倾斜马达57及I/O基板26连接。编码器97对倾斜马达57的位置信息进行检测,且将该检测信号输入I/O基板26。驱动电路48根据CPU21的指令信号,朝显示部14输出驱动电流。输入部11与I/O基板26连接。
马达51~57均是伺服马达。编码器91~97是普通的绝对值编码器,是检测旋转位置的绝对位置并将其输出的位置传感器。驱动电路41~47从编码器91~97接收反馈信号,进行位置和速度的反馈控制。驱动电路41~48例如也可以是FPGA电路。
下面参照图5~图11说明CPU21所执行的控制处理。控制处理以一个程序块为单位对数控程序进行解释,根据该解释结果对机床1的各马达51~57等进行驱动控制。控制处理由预读处理和执行处理构成。CPU21以不同步的方式分别执行预读处理和执行处理。在本实施方式中,以分别执行四个数控程序P1~P4的情况为例进行说明。
-第一实施例-
第一实施例假定的是预读图9的数控程序P1并加以执行的情况。数控程序P1是用于从速度控制切换为位置控制的旋转台82停止后的最初的旋转台82的定位指令为绝对值指令时的一例。N1程序块为M03S5000。M03是使旋转台82旋转的C轴旋转指令,S5000是使旋转台82以5000rpm旋转的速度指令。N2程序块是M05。M05是使旋转台82停止的C轴停止指令。N3程序块是G90G00C100。G90是将移动坐标系作为绝对坐标的绝对值指令,G00是定位指令,C100是将旋转台82的目标位置设为100°的指令。M30是程序结束指令。
下面参照图5、图6来说明预读处理。在操作者使用操作盘10的输入部11选择数控程序P1并按下启动键时,CPU21读出存储于ROM22的预读程序,执行本处理。
如图5所示,CPU21对预读缓冲器23A(参照图4)中是否有空余区域进行判断(S1)。在预读缓冲器23A中没有空余区域时(S1:否),无法在预读缓冲器23A中存储解释信息,因此,CPU21返回到S1待机。在预读缓冲器23A中有空余区域时(S1:是),CPU21从存储装置24中读出数控程序P1,对一个程序块进行解释(S2)。CPU21对已解释程序块的控制指令是否是M30进行判断(S3)。
由于N1程序块不是M30(S3:否),因此CPU21对已解释程序块的控制指令是否是旋转台82的转轴即C轴以外的轴的指令进行判断(S4)。由于N1程序块的控制指令是C轴的指令(S4:否),因此CPU21对控制指令是否是C轴旋转指令进行判断(S9)。由于控制指令是C轴旋转指令(S9:是),因此CPU21对存储于RAM23的第一状态标志的值进行更新。第一状态标志在旋转台82处于旋转状态时为0,在无法确定旋转台82位置的不确定状态时为1,在能确定旋转台82位置的确定状态时为2。第一状态标志的数值并不局限于此。由于旋转台82处于旋转状态,因此CPU21将0作为第一状态标志存储于RAM23(S10)。
CPU21执行速度运算处理(S5)。速度运算处理是例如在旋转指令或定位指令连续存在于多个程序块中时,为了通过该多个程序块执行最佳的旋转动作而以程序块为单位对加速度、速度、结束速度等进行重新运算的处理。速度运算处理例如具有第一处理、第二处理、第三处理。第一处理根据规定条件来运算预读的多个程序块的各结束点处的结束速度。第二处理进行重新运算,以使各程序块的结束速度满足加速度条件。第三处理进行满足所指定的加速度、速度、结束速度的条件的插补运算。
CPU21针对一个程序块内的所有轴指令,对是否完成了移动轴的速度运算处理进行判断(S6)。在一个程序块内有未完成的轴指令时(S6:否),CPU21返回到S4,对未完成的轴指令进行同样的处理。在对所有轴指令都完成了处理时(S6:是),CPU21对运算是否完成进行判断(S7)。在旋转台82处于旋转状态时,旋转指令有可能连续存在于下一个程序块以后的程序块。因此,需要再次计算,运算并未完成(S7:否),因而,CPU21返回到S2,解释下一个程序块。在例如已解释的下一个程序块也是C轴旋转指令时(S9:是),第一状态标志保持为0(S10),CPU21与已经预读的程序块一起,再次执行速度运算处理(S5)。
由于数控程序P1的N2程序块的控制指令不是C轴旋转指令(S9:否),因此,如图6所示,CPU21对控制指令是否是C轴停止指令且第一状态标志是否是0进行判断(S12)。由于N2程序块是C轴停止指令且第一状态标志是0(S12:是),因此CPU21将第一状态标志更新为1(S13),存储旋转台82处于不确定状态这一信息。之后,CPU21执行速度运算处理(S5)。由于已完成N2程序块内的所有轴指令的类别判断(S6:是),因此CPU21对运算是否完成进行判断(S7)。旋转台82从旋转状态停止,因此,运算完成(S7:是)。因此,CPU21将已解释程序块的解释信息存储于预读缓冲器23A(S8)。CPU21返回到S1,若预读缓冲器23A中有空余区域(S1:是),则解释下一个程序块(S2)。
由于N3程序块的控制指令是将旋转台82定位于100°位置的C轴定位指令(S4:否,S9:否,图6的S12:否),因此如图6所示,CPU21对控制指令是否是C轴定位指令且第一状态标志是否是1进行判断(S14)。由于N3程序块是C轴定位指令且第一状态标志是1(S14:是),因此CPU21无法确定旋转台82的位置。因此,CPU21对C轴定位指令是否是绝对值指令进行判断(S15)。由于N3程序块的G90是绝对值指令(S15:是),因此CPU21根据从C轴基准点至目标位置的移动量临时确定旋转台82的指令移动量(S16)。C轴基准点是预先设定的,本实施方式的C轴基准点是0°。目标位置是100°。因此,CPU21将旋转台82的指令移动量临时确定为从C轴基准点即0°减去100°而得到的100°。C轴基准点也可以是0°以外的值。CPU21将第一状态标志更新为2(S17),存储旋转台82的位置处于确定状态这一信息。因此,CPU21即使无法确定旋转台82的位置,也能在不停止数控程序P1的预读的情况下继续进行解释。
返回到图5,CPU21进行速度运算处理(S5)。由于已完成N3程序块内的所有轴指令的类别判断(S6:是),因此CPU21对运算是否完成进行判断(S7)。在与预读的程序块一起完成了运算时(S7:是),CPU21将解释信息存储于预读缓冲器23A(S8)。N3程序块的解释信息包含根据距离C轴基准点的移动量临时确定的指令移动量(100°)。CPU21返回到S1,若预读缓冲器23A中有空余区域(S1:是),则解释下一个程序块(S2)。
在已解释程序块的控制指令例如是X轴、Y轴、朝Z轴等C轴以外的其它轴的指令时(S4:是),CPU21执行速度运算处理(S5),在完成了运算时(S7:是),将解释信息存储于预读缓冲器23A(S8)。CPU21在已解释程序块是M30时(S3:是),结束预读处理。
下面参照图7、图8来说明执行处理。CPU21在开始执行预读处理时,读出存储于ROM22的执行程序,以与预读处理不同步的方式执行本处理。
如图7所示,CPU21对预读缓冲器23A中是否有解释信息进行判断(S21)。在预读缓冲器23A中没有解释信息时(S21:否),CPU21返回到S21待机。在预读缓冲器23A中有解释信息时(S21:是),CPU21从预读缓冲器23A获取解释信息(S22)。CPU21对解释信息是否是后述的停止指令进行判断(S23)。停止指令是朝显示部14输出警报且指示机床1的运转停止的指令。在解释信息不是停止指令时(S23:否),CPU21对解释信息是否是M30进行判断(S26)。在解释信息不是M30时(S26:否),CPU21对解释信息是否是针对C轴以外的轴的指令进行判断(S27)。
由于N1程序块的解释信息是C轴的指令(S27:否),因此CPU21对解释信息是否是C轴旋转指令进行判断(S31)。由于N1程序块是C轴旋转指令(S31:是),因此CPU21更新RAM23的第二状态标志(S32)。与第一状态标志一样,第二状态标志在旋转台82处于旋转状态时为0,在无法确定旋转台82位置的不确定状态时为1,在能确定旋转台82位置的确定状态时为2。第二状态标志的数值并不局限于此。由于旋转台82处于旋转状态,因此CPU21将第二状态标志更新为0(S32)。
CPU21根据解释信息,朝指令轴的驱动电路发送执行要求(S28)。N1程序块的解释信息是使旋转台82以5000rpm进行旋转的速度指令。CPU21朝驱动电路46(参照图4)输出控制信号。驱动电路46根据控制信号,朝C轴马达56输出驱动电流。因此,C轴马达56以5000rpm进行旋转。
CPU21针对一个程序块内的所有轴的解释信息,对是否完成了朝驱动电路发送执行要求进行判断(S29)。在有执行要求未完成的解释信息时(S29:否),CPU21返回到S27,针对未完成的解释信息发送执行要求。在针对所有轴的解释信息都发送了执行要求时(S29:是),CPU21对是否完成了要求执行的动作进行判断(S30)。在动作完成之前(S30:否),CPU21返回到S30待机。在动作完成了时(S30:是),CPU21返回到S21,若预读缓冲器23A中有解释信息(S21:是),则接着反复进行上述处理。
CPU21从预读缓冲器23A获取N2程序块的解释信息(S22)。由于N2程序块的解释信息是C轴停止指令(S23:否,S26:否,S27:否,S31:否),因此如图8所示,CPU21对解释信息是否是C轴停止指令且第二状态标志是否是0进行判断(S33)。由于N2程序块是C轴停止指令且第二状态标志是0(S33:是),因此CPU21将第二状态标志更新为1(S34),存储旋转台82处于不确定状态这一信息。返回到图7,CPU21根据解释信息,朝指令轴的驱动电路发送执行要求(S28)。由于N2程序块的解释信息是使旋转台82的旋转停止的C轴停止指令,因此CPU21朝驱动电路46(参照图4)输出控制信号。因此,C轴马达56停止旋转。
在针对N2程序块内的所有轴的解释信息都发送了执行要求(S29:是)而且完成了要求执行的动作时(S30:是),CPU21返回到S21,若预读缓冲器23A中有解释信息(S21:是),则接着反复进行上述处理。
CPU21从预读缓冲器23A获取N3程序块的解释信息(S22)。由于N3程序块的解释信息是将旋转台82定位于100°位置的C轴定位指令(S23:否,S26:否,S27:否,S31:否,图8的S33:否),因此CPU21对解释信息是否是C轴定位指令且第二状态标志是否是1进行判断(S35)。由于N3程序块的解释信息是C轴定位指令且第二状态标志是1(S35:是),因此CPU21无法确定旋转台82的位置。因此,CPU21对C轴定位指令是否是增量值指令且是否是返回特殊参考点指令进行判断(S36)。返回特殊参考点指令会在后面进行说明。由于N3程序块的C轴定位指令是G91且是绝对值指令(S36:否),因此CPU21利用来自编码器96(参照图4)的反馈信号来检测旋转台82的当前位置(S39)。CPU21从在预读处理中临时确定的旋转台82的指令移动量(100°)减去检测出的旋转台82的当前位置,从而运算出C轴移动量(S40)。
在旋转台82的当前位置是20°时,作为C轴移动量,CPU21运算出从100°减去20°而得到的80°(相当于本发明的第一差分)。运算出的C轴移动量存储于RAM23。接着,CPU21执行捷径辨别处理(S41)。捷径辨别处理是辨别旋转台82从当前位置即20°至目标位置即100°的移动量较小的旋转方向(正转或反转)的处理。作为辨别结果的旋转方向存储于RAM23。CPU21将第二状态标志更新为2(S42),存储旋转台82的位置处于确定状态这一信息。
返回到图7,CPU21根据解释信息,朝指令轴的驱动电路发送执行要求(S28)。由于N3程序块的解释信息是C轴定位指令,因此CPU21根据存储于RAM23的C轴移动量(80°)和旋转方向,朝驱动电路46输出控制信号。C轴马达56驱动,旋转台82从当前位置(20°)朝捷径辨别处理中辨别出的旋转方向旋转80°,在100°的位置定位。因此,CPU21能使旋转台82以较少的移动量快速移动至目标位置。
在针对N3程序块内的所有轴的解释信息都发送了执行要求(S29:是)且完成了所有要求执行的动作时(S30:是),CPU21返回到S21,若预读缓冲器23A中有解释信息(S21:是),则接着反复进行上述处理。在从预读缓冲器23A获取的解释信息是X轴、Y轴、朝Z轴等C轴以外的其它轴的指令时(S27:是),朝对应的轴的驱动电路发送执行要求(S28)。在解释信息是M30时(S26:是),CPU21结束执行处理。
-第二实施例-
第二实施例假定的是预读图10的数控程序P2并加以执行的情况。数控程序P2是用于将旋转台82从速度控制切换为位置控制的旋转台82停止后的最初的旋转台82的定位指令为增量值指令时的一例。数控程序P1(参照图9)与P2的差异在于N3程序块的定位指令在数控程序P1中是G90(绝对值指令)、在数控程序P2中是G91(增量值指令)这点。
数控程序P2期望通过N2程序块使旋转台82停止,通过N3程序块使旋转台82从该停止位置旋转+100°,但在N2程序块中旋转台82的停止位置是不确定的。从不确定的停止位置旋转+100°这样的指令是错误的。本实施方式在预读处理和执行处理中进行控制,以在旋转台82停止后的最初的旋转台82的定位指令是增量值指令时将警报输出至显示部14,使机床1的运转停止。因此,操作者能注意到数控程序P2编写错误。
下面参照图5、图6来说明预读处理。对于与第一实施例中说明的预读处理相同的处理,将省略说明或简化说明。在预读缓冲器23A(参照图4)中有空余区域时(S1:是),CPU21从存储装置24读出数控程序P2,对一个程序块进行解释(S2)。由于N1程序块及N2程序块与第一实施例相同,因此省略说明。在N2程序块的解释结束之后,第一状态标志是1(图6的S13)。
CPU21解释N3程序块(S2)。由于N3程序块的控制指令是将旋转台82定位于100°位置的C轴定位指令(S3:否,S4:否,S9:否,图6的S12:否),因此CPU21对控制指令是否是C轴定位指令且第一状态标志是否是1进行判断(S14)。由于N3程序块的控制指令是C轴定位指令且第一状态标志是1(S14:是),因此CPU21无法确定旋转台82的位置。因此,CPU21对C轴定位指令是否是绝对值指令进行判断(S15)。
此处,由于N3程序块的G91是增量值指令(S15:否),因此CPU21对C轴定位指令是否是后述的返回特殊参考点指令进行判断(S18)。虽然返回特殊参考点指令是通过G28指定的,但N3程序块是通过G00指定的(S18:否),因此,C轴定位指令是通常的增量值指令。即,旋转台82停止后的最初的旋转台82的定位指令是增量值指令,因此,如上所述,数控程序P2很可能编写错误。在CPU21执行存在错误的数控程序P2时,机床1很可能进行违背操作者意图的动作。因此,为了将数控程序P2的异常通知操作者,CPU21将停止指令作为N3程序块的解释信息存储于预读缓冲器23A(S19),结束预读处理。
下面参照图7来说明执行处理。在预读缓冲器23A中有解释信息时(S21:是),CPU21从预读缓冲器23A获取解释信息(S22)。N1、N2程序块的解释信息与第一实施例相同。因此,CPU21根据N1程序块的解释信息使旋转台82以5000rpm进行旋转,根据N2程序块的解释信息使旋转台82停止。
CPU21从预读缓冲器23A获取N3程序块的解释信息(S22),对解释信息是否是停止指令进行判断(S23)。由于N3程序块的解释信息是停止指令(S23:是),因此CPU21将警报输出至显示部14(S24),使机床1的运转停止(S25)。因此,操作者能注意到数控程序P2编写错误。机床1停止运转,因此,能防止进行违背操作者意图的动作。CPU21结束执行处理。
-第三实施例-
第三实施例假定的是预读图11的数控程序P3并加以执行的情况。数控程序P3是用于将旋转台82从速度控制切换为位置控制的旋转台82停止后的最初的旋转台82的定位指令为不朝中间点移动的返回参考点指令时的一例。
下面说明返回参考点指令。返回参考点指令是指在朝指示的坐标点(中间点)移动之后朝预先输入的参考点移动这样的由两个动作所构成的定位指令,在本实施方式中是通过G28指定的。返回参考点动作由第一动作和第二动作构成。第一动作是从当前位置朝中间点的移动,第二动作是从中间点至参考点的移动。在例如以绝对值模式发出了G28X10的指令时,X轴在以快速进给方式移动至10之后(第一动作),以快速进给方式移动至参考点(第二动作)。在以增量值模式发出了G28Y20的指令时,Y轴在从当前位置以快速进给方式移动至20之后(第一动作),以快速进给方式移动至参考点(第二动作)。对Z轴、C轴等也能同样地使用返回参考点指令。
在以增量值模式将返回参考点指令指示为0时,当前位置成为中间点,意味着从当前位置通过一个动作朝参考点移动。在本实施方式中,将中间点指示为0的返回参考点指令称作返回特殊参考点指令。增量值模式的返回特殊参考点指令例如也能作为用于防止构件彼此干扰的避让动作、数控程序开头的初始化处理进行使用。除了X轴、Y轴、Z轴之外,对C轴也能同样地使用返回特殊参考点指令。
如图11所示,在数控程序P3中,N1程序块是M141。M141是从旋转台82的速度控制朝位置控制切换的切换指令,且是使旋转台82的旋转停止的停止指令。N2程序块由于是G91G28C0,因此是在增量值模式下的旋转台82的返回特殊参考点指令。第三实施例假定的是将旋转台82的参考点设定为100°的情况。
在旋转台82停止后的最初的C轴定位指令是增量值指令时,在第二实施例中,CPU21输出警报,使机床1的运转停止。在控制指令是增量值指令且是返回特殊参考点指令时,为了能进行上述避让动作或数控程序开头的初始化处理等,CPU21在预读处理和执行处理中进行控制,以在不输出警报的情况下使运转继续进行。
下面参照图5、图6来说明预读处理。对于与第一实施例中说明的预读处理相同的处理,将省略说明或简化说明。在预读缓冲器23A中有空余区域时(S1:是),CPU21从存储装置24中读出数控程序P3,对一个程序块进行解释(S2)。由于N1程序块的M141是从旋转台82的速度控制朝位置控制切换的切换指令且是C轴停止指令(S3:否,S4:否,S9:否),因此CPU21对控制指令是否是C轴停止指令且第一状态标志是否是0进行判断(S12)。由于N1程序块是C轴停止指令且第一状态标志是0(S12:是),因此CPU21将第一状态标志更新为1(S13),存储旋转台82处于不确定状态这一信息。CPU21执行速度运算处理(S5)。由于已完成N2程序块内的所有轴指令的判断(S6:是)且通过旋转台82的停止完成了运算(S7:是),因此CPU21将已解释程序块的解释信息存储于预读缓冲器23A(S8)。CPU21返回到S1,若预读缓冲器23A中有空余区域(S1:是),则解释下一个程序块(S2)。
由于N2程序块的控制指令是旋转台82的返回特殊参考点指令(S3:否,S4:否,S9:否,图6的S12:否),因此CPU21对控制指令是否是C轴定位指令且第一状态标志是否是1进行判断(S14)。由于返回特殊参考点指令是定位指令且第一状态标志是1(S14:是),因此CPU21对旋转台82的返回特殊参考点指令是否是绝对值指令进行判断(S15)。由于N2程序块的G91是增量值指令(S15:否),因此CPU21对控制指令是否是返回特殊参考点指令进行判断(S18)。
在返回参考点指令不是返回特殊参考点指令时(S18:否),由于是增量值模式,因此,CPU21无法确定旋转台82的停止位置,无法计算出中间点。因此,数控程序很可能编写错误,因此,CPU21将停止指令作为程序块的解释信息存储于预读缓冲器23A(S19),结束预读处理。
由于数控程序P3的N2程序块是在增量值模式下的返回特殊参考点指令(S18:是),因此,CPU21将从C轴基准点至目标位置的移动量临时确定为0°,以作为返回参考点指令的第一动作指令的指令移动量,并将从0°至参考点(100°)的移动量临时确定为第二动作指令的指令移动量(S16)。CPU21将第一状态标志更新为2(S17),存储旋转台82的位置处于确定状态这一信息。
返回到图5,CPU21进行速度运算处理(S5)。在完成了N2程序块内的所有轴指令的类别判断(S6:是)且与预读的程序块一起完成了运算时(S7:是),CPU21将解释信息存储于预读缓冲器23A(S8)。N2程序块的解释信息包含返回参考点指令的第一动作指令的指令移动量(0°)和第二动作指令的指令移动量(100°)。CPU21返回到S1,若预读缓冲器23A中有空余区域(S1:是),则解释下一个程序块(S2)。CPU21在已解释程序块是M30时(S3:是),结束预读处理。
下面参照图7、图8来说明执行处理。在预读缓冲器23A中有解释信息时(S21:是),CPU21从预读缓冲器23A获取解释信息(S22)。由于N1程序块的解释信息是从旋转台82的速度控制朝位置控制切换的切换指令且是C轴停止指令(S23:否,S26:否,S27:否,S31:否),因此CPU21对解释信息是否是C轴停止指令且第二状态标志是否是0进行判断(S33)。由于N1程序块是C轴停止指令且第二状态标志是0(S33:是),因此CPU21将第二状态标志更新为1(S34),存储旋转台82处于不确定状态这一信息。CPU21根据解释信息,朝指令轴的驱动电路发送执行要求(S28)。由于N1程序块的解释信息是从速度控制朝位置控制切换的切换指令且是使旋转台82的旋转停止的C轴停止指令,因此CPU21朝驱动电路46(参照图4)输出控制信号。因此,C轴马达56停止旋转,从速度控制切换至位置控制。在针对N1程序块内的所有轴的解释信息都发送了执行要求(S29:是)且完成了要求执行的动作时(S30:是),CPU21返回到S21,若预读缓冲器23A中有解释信息(S21:是),则接着反复进行上述处理。CPU21从预读缓冲器23A获取N2程序块的解释信息(S22)。由于N2程序块的解释信息是旋转台82的返回特殊参考点指令(S23:否,S26:否,S27:否,S31:否,图8的S33:否),因此CPU21对解释信息是否是C轴定位指令且第二状态标志是否是1进行判断(S35)。由于返回特殊参考点指令是C轴定位指令且第二状态标志是1(S35:是),因此CPU21对控制指令是否是增量值指令且是否是返回特殊参考点指令进行判断(S36)。由于N2程序块是返回特殊参考点指令且G91是增量值指令(S36:是),因此CPU21开启存储于RAM23的再次计算标志(S37),将第二状态标志更新为2(S38)。CPU21根据解释信息,朝旋转台82的驱动电路46发送执行要求(S28)。N2程序块的解释信息包含旋转台82的返回特殊参考点指令的第一动作指令的指令移动量(0°)和第二动作指令的指令移动量(100°)。CPU21最初针对第一动作指令发送执行要求。由于第一动作指令的旋转台82的指令移动量为0°,因此C轴马达56不驱动。
N2程序块的解释信息包含第二动作指令的旋转台82的指令移动量(S29:否),因此,为了执行第二动作指令,CPU21返回到S27。由于第二动作指令也是旋转台的定位指令(S27:否,S31:否,图8的S33:否),因此如图8所示,CPU21对解释信息是否是C轴定位指令且第二状态标志是否是1进行判断(S35)。虽然第二动作指令是C轴定位指令,但第二状态标志是2(S35:否),因此,CPU21对再次计算标志是否开启且第二状态标志是否是2进行判断(S43)。由于再次计算标志开启且第二状态标志是2(S43:是),因此CPU21关闭再次计算标志(S44),为了运算出第二动作指令的旋转台82的移动量而利用来自编码器96的反馈信号检测旋转台82的当前位置(S45)。
CPU21从旋转台82的第二动作指令的指令移动量减去旋转台82的当前位置,从而运算出C轴移动量(S46)。在旋转台82的当前位置是30°时,CPU21运算出从第二动作指令的指令移动量即100°减去30°而得到的70°(相当于本发明的第二差分)以作为C轴移动量,并将其存储于RAM23。接着,CPU21执行捷径辨别处理(S47)。
返回到图7,CPU21根据解释信息,朝指令轴的驱动电路发送执行要求(S28)。由于第一动作指令的执行要求完成,因此CPU21针对第二动作指令发送执行要求。由于第二动作指令的旋转台82的指令移动量是70°,因此CPU21朝驱动电路46输出控制信号。C轴马达56驱动,旋转台82从当前位置(30°)朝捷径辨别处理中辨别出的旋转方向旋转70°,在100°的位置定位。因此,即使用于将旋转台82从速度控制切换为位置控制的旋转台82停止后的最初的旋转台82的定位指令是增量值指令,在执行返回特殊参考点指令时,CPU21也可以在不输出警报的情况下使旋转台82以较少的移动量快速移动至参考点。
在针对N2程序块内的所有轴的解释信息都完成了执行要求(S29:是)而且完成了所有要求执行的动作时(S30:是),CPU21返回到S21,若预读缓冲器23A中有解释信息(S21:是),则接着反复进行上述处理。在从预读缓冲器23A获取的解释信息是除了M30、C轴定位指令、C轴旋转指令、C轴停止指令、停止指令以外的指令(例如插补指令、工具长度修正指令、工具直径修正指令、钻头循环指令等)时(S43:否),CPU21使处理前进至图7的S28,朝驱动电路发送执行要求。在解释信息是M30时(S26:是),CPU21结束执行处理。
下面,对将旋转台82的返回特殊参考点指令分为两个阶段的动作来控制的原因进行说明。在第三实施例中,在控制指令是增量值模式且是旋转台82的返回特殊参考点指令时,即使是从当前位置通过一个动作朝参考点移动的动作,CPU21也进行控制,将从当前位置至参考点的移动分为第一动作和第二动作,运算各个动作中的旋转台82的指令移动量,使旋转台82分两个阶段移动。原因如下。在数控程序P3中,虽然N3程序块是旋转台82单独的返回特殊参考点指令,但有时也同时对其它轴(X轴、Y轴、Z轴)通过G28发出指令。在解释返回参考点指令时,CPU21生成两个内部指令,因此,需要与其它轴的动作彼此保持协调。因此,在本实施方式中,即使是旋转台82的返回特殊参考点指令,也将第一动作作为没有移动的指令(0°)处理,将第二动作作为从当前位置至参考点的移动指令处理。因此,通过G28同时指令的轴能在彼此不发生干扰的情况下同时到达各自的参考点。
下面说明以绝对值模式发出返回参考点指令时和以增量值模式发出返回参考点指令时的动作的差异。返回参考点指令除了通过增量值指令进行指定之外,有时也通过绝对值指令进行指定。例如以G28X-10C0的返回参考点指令为例进行说明。假定将X轴的参考点预先设定为-200,将旋转台82的参考点预先设定为90。假定X轴的当前位置是-50,假定旋转台82的当前位置是180。在数控程序以该条件发出G28X-10C0的指令时,CPU21在内部生成如下两个指令。CPU21始终以距离当前位置的增量值的量对各马达的驱动电路发出指令。
-绝对值指令时-
·第一动作指令:G91G0X40C-180
·第二动作指令:G91G0X-190C90
各动作的结束时坐标如下。
·第一动作结束后的结束时坐标:X轴:-10,C轴:0
·第二动作结束后的结束时坐标:X轴:-200,C轴:90
-增量值指令时-
·第一动作指令:G91G0X-10C0
·第二动作指令:G91G0X-140C-90
各动作的结束时坐标如下。
·第一动作结束后的结束时坐标:X轴:-60,C轴:180
·第二动作结束后的结束时坐标:X轴:-200,C轴:90
如上所述,对于绝对值指令和增量值指令,即使是相同的返回参考点指令,虽然第二动作结束时的移动轴的坐标位置相同,但第一动作结束时的移动轴的坐标位置(中间点)也彼此不同。
在除了旋转台82之外也对其它轴以增量值模式同时发出了G28的指令时,即使对旋转台82发出的是返回特殊参考点指令,如上所述,其它轴也会分别朝已设定的中间点移动。因此,若仅有旋转台82通过最初的一次动作到达参考点,则有可能无法与其它轴的动作相协调而发生干扰。因此,如上所述,在本实施方式中,即使是返回特殊参考点指令,也将第一动作作为没有移动的指令(0°)处理,将第二动作作为从当前位置至参考点的移动指令处理,从而通过G28同时指令的移动轴能彼此同时到达各自的参考点。
在以上说明中,机床1相当于本发明的机床,旋转台82相当于本发明的转轴,执行图5、6的预读处理的CPU21相当于本发明的预读部,预读缓冲器23A相当于本发明的存储装置,执行S8处理的CPU21相当于本发明的存储部,执行图7、图8处理的CPU21相当于本发明的执行部,执行S15处理的CPU21相当于本发明的第一判断部,执行S16处理的CPU21相当于本发明的临时确定部,执行S19处理的CPU21相当于本发明的停止指令存储部,编码器96相当于本发明的位置检测装置,执行S40处理的CPU21相当于本发明的第一运算部,执行S28处理的CPU21相当于本发明的第一定位执行部,执行S23:是、S25处理的CPU21相当于本发明的停止部,执行S18处理的CPU21相当于本发明的第二判断部,执行S36:是、S28处理的CPU21相当于本发明的第一动作执行部,执行S45、S46处理的CPU21相当于本发明的第二运算部,执行S28处理的CPU21相当于本发明的第二动作执行部。
CPU21执行图5的预读处理的工序相当于预读工序,CPU21执行S8处理的工序相当于本发明的存储工序,CPU21执行图7、图8的执行处理的工序相当于本发明的执行工序,CPU21执行S15处理的工序相当于本发明的第一判断工序,CPU21执行S16处理的工序相当于本发明的临时确定工序,CPU21执行S19处理的工序相当于本发明的停止指令存储部,CPU21执行S40处理的工序相当于本发明的第一运算工序,CPU21执行S28处理的工序相当于本发明的第一定位执行工序,CPU21执行S23:是、S25处理的工序相当于本发明的停止工序。
如以上说明的那样,本实施方式的数控装置20对机床1的运转进行控制。数控装置20的CPU21通过预读处理和执行处理一边预读数控程序,一边执行处理。在预读处理中,CPU21以一个程序块为单位对数控程序进行解释,将解释信息存储于预读缓冲器23A。在执行处理中,CPU21根据存储于预读缓冲器23A的解释信息来执行动作。而且,在预读处理中,CPU21对使旋转台82的旋转停止后的最初的旋转台82的定位指令是绝对值指令还是增量值指令进行判断。在定位指令是绝对值指令时,CPU21根据定位指令,根据距离预先设定的C轴基准位置的移动量临时确定旋转台82的指令移动量。在定位指令是增量值指令时,CPU21将使机床1的运转停止的停止指令作为解释信息存储于预读缓冲器23A。
而且,在执行处理中,在旋转台82停止之后以绝对值指令执行最初的定位指令时,CPU21根据从预读缓冲器23A读出的解释信息,运算出从临时确定的旋转台82的指令移动量减去编码器96检测出的旋转台82当前位置而得到的差分。CPU21将运算出的差分作为旋转台82的移动量来进行旋转台82的定位。在从预读缓冲器23A读出的解释信息中有停止指令时,数控程序有可能编写错误,因此,CPU21停止机床1的运转。因此,数控装置20能防止机床1进行违背操作者意图的动作。另外,操作者能注意到数控程序编写错误。
在预读处理中,在旋转台82停止后的最初的定位指令是增量值指令时,本实施方式的CPU21还对该定位指令是否是返回特殊参考点指令进行判断。在以增量值指令发出返回特殊参考点指令时,CPU21将旋转台82的指令移动量临时确定为从C轴基准位置至参考点的移动量。因此,即便使旋转台82的旋转停止后的最初的转轴定位指令是增量值指令,在执行返回特殊参考点指令时,数控装置20也不停止机床1的运转。因此,数控装置20能使机床1的动作继续,且能减少数控程序的限制。
在预读处理中,在预读返回特殊参考点指令并加以解释时,本实施方式的CPU21还将返回特殊参考点指令分为第一动作指令和第二动作指令进行解释。第一动作指令是将从当前位置至中间位置的移动量设为0°的指令。第二动作指令是将从距离当前位置的移动量为0°的中间位置至参考点的移动量设为指令移动量的指令。而且,在执行处理中,CPU21根据第一动作指令,不从当前位置发生移动。在执行了第一动作之后,CPU21根据第二动作指令,运算出从指令移动量减去旋转台82的当前位置而得到的差分。CPU21将运算出的差分作为旋转台82的移动量来进行旋转台82的定位。因此,在数控程序的执行过程中,在针对与作为返回特殊参考点指令的对象的旋转台82的C轴不同的其它轴有返回参考点指令这样的定位指令时,数控装置20能使其它轴和旋转台82的动作相协调。
而且,在本实施方式中,对保持被切削件且能连续旋转的轴即旋转台82进行上述控制。因此,对于能从速度控制切换为位置控制的转轴,数控装置20能发挥上述效果。
本发明不限于上述实施方式,能进行各种变形。在上述实施方式中,对作为组合机床的机床1进行了说明,但例如也可以是车床这样的包括一个转轴的机床。也可以是包括能连续旋转的轴的机床。
在上述实施方式中,将旋转台82作为本发明的转轴进行了说明,但只要是能从速度控制切换为位置控制的转轴,也可以是其它移动轴。
在上述实施方式中,将预读处理中解释的解释信息存储于RAM23的预读缓冲器23A,但也可存储于其它的存储装置,还可设置专用的存储装置。
在上述实施方式中,针对旋转台82的增量值指令形式的返回特殊参考点指令,在第三实施例中使用数控程序P3进行了说明,但返回特殊参考点指令例如也可以像图12的数控程序P4这样进行使用。在数控程序P4中,N1程序块是G40G49M141。G40是取消工具直径修正指令,G49是取消工具长度修正指令,M141是从旋转台82的速度控制朝位置控制切换的切换指令(停止指令)。N2程序块是G91G28Z0。G91是增量值指令,G28Z0是指示从Z轴当前位置朝参考点移动的返回特殊参考点指令。N3程序块是G28X0Y0C0。这是指示X、Y、C轴从当前位置朝参考点移动的返回特殊参考点指令。在这样的数控程序P4中,通过在执行程序中各轴的最初的定位指令时加入返回特殊参考点指令,返回特殊参考点指令作为返回原点处理起作用。
Claims (8)
1.一种数控装置(20),包括:预读部,该预读部以一个程序块为单位对包括多个程序块的数控程序进行预读并解释,所述程序块具有对机床(1)的动作进行控制的控制指令;存储部,该存储部将所述预读部预读并解释的解释信息存储于存储装置(23A);以及执行部,该执行部从所述存储装置读出所述解释信息并加以执行,所述控制指令具有指示机床的转轴的速度的旋转指令和指示该转轴的位置的定位指令,所述执行部根据所述数控程序来控制所述机床,其特征在于,
所述预读部包括:
第一判断部,该第一判断部对定位指令是将移动坐标系设为绝对坐标的绝对值指令还是将移动坐标系设为相对坐标的增量值指令进行判断,其中,所述定位指令是使所述转轴根据所述旋转指令进行的旋转停止后的该转轴的最初的定位指令;
临时确定部,在所述第一判断部判断为所述定位指令是所述绝对值指令时,该临时确定部根据距离预先设定的所述转轴的基准位置的移动量,来临时确定根据所述定位指令指示所述转轴的移动量的指令移动量;以及
停止指令存储部,在所述第一判断部判断为所述定位指令是所述增量值指令时,该停止指令存储部将使所述机床的动作停止的停止指令作为所述解释信息存储于所述存储装置,
所述执行部包括:
第一运算部,该第一运算部根据从所述存储装置读出的所述解释信息运算出第一差分,该第一差分是从所述临时确定部临时确定出的所述指令移动量中减去对所述转轴的位置进行检测的位置检测装置(96)检测出的所述转轴的当前位置而得到的;
第一定位执行部,该第一定位执行部根据所述第一运算部运算出的所述第一差分对所述转轴进行定位;以及
停止部,在从所述存储装置读出的所述解释信息中有所述停止指令时,该停止部停止所述机床。
2.如权利要求1所述的数控装置,其特征在于,
所述定位指令具有返回参考点指令,该返回参考点指令将所述转轴的位置从当前的位置即当前位置定位至指定的位置即中间位置,之后,将所述转轴的位置定位至预先确定的位置即参考点,
所述预读部还包括第二判断部,在所述第一判断部判断为所述定位指令是所述增量值指令时,该第二判断部对该定位指令是否是不从所述当前位置朝所述中间位置移动的返回参考点指令进行判断,
在所述第二判断部判断为所述定位指令是不从所述当前位置朝所述中间位置移动的返回参考点指令时,所述临时确定部将所述指令移动量临时确定为从所述基准位置至所述参考点的移动量。
3.如权利要求2所述的数控装置,其特征在于,
所述预读部在对所述返回参考点指令进行预读并解释时,解释为第一动作指令和第二动作指令,所述第一动作指令将从所述当前位置至所述中间位置的移动量设为0°,所述第二动作指令将从距离所述当前位置的移动量是0°的所述中间位置至所述参考点的移动量设为所述临时确定部临时确定的所述指令移动量,
所述执行部包括:
第一动作执行部,该第一动作执行部根据所述第一动作指令,使所述转轴不从所述当前位置移动;
第二运算部,在所述第一动作执行部执行了所述第一动作之后,该第二运算部根据所述第二动作运算出第二差分,该第二差分是从所述指令移动量中减去所述位置检测装置检测出的所述转轴的当前位置而得到的;以及
第二动作执行部,该第二动作执行部根据所述第二运算部运算出的所述第二差分对所述转轴进行定位。
4.如权利要求1所述的数控装置,其特征在于,
所述转轴是保持被切削件且能连续旋转的轴。
5.如权利要求2所述的数控装置,其特征在于,
所述转轴是保持被切削件且能连续旋转的轴。
6.如权利要求3所述的数控装置,其特征在于,
所述转轴是保持被切削件且能连续旋转的轴。
7.一种机床,其特征在于,包括权利要求1至6中任一项所述的数控装置。
8.一种数控装置的控制方法,包括:预读工序,该预读工序以一个程序块为单位对包括多个程序块的数控程序进行预读并解释,所述程序块具有对机床的动作进行控制的控制指令;存储工序,该存储工序将在所述预读工序中预读并解释的解释信息存储于存储装置;以及执行工序,该执行工序从所述存储装置读出所述解释信息并加以执行,所述控制指令具有指示机床的转轴的速度的旋转指令和指示该转轴的位置的定位指令,所述执行工序根据所述数控程序来控制所述机床,其特征在于,
所述预读工序包括:
第一判断工序,该第一判断工序对定位指令是将移动坐标系设为绝对坐标的绝对值指令还是将移动坐标系设为相对坐标的增量值指令进行判断,其中,所述定位指令是使所述转轴根据所述旋转指令进行的旋转停止后的所述转轴的最初的定位指令;
临时确定工序,在所述第一判断工序中判断为所述定位指令是所述绝对值指令时,该临时确定工序根据距离预先设定的所述转轴的基准位置的移动量,来临时确定根据所述定位指令指示所述转轴的移动量的指令移动量;以及
停止指令存储工序,在所述第一判断工序中判断为所述定位指令是所述增量值指令时,该停止指令存储工序将使所述机床的动作停止的停止指令作为所述解释信息存储于所述存储装置,
所述执行工序包括:
第一运算工序,该第一运算工序根据从所述存储装置读出的所述解释信息运算出第一差分,该第一差分是从在所述临时确定工序中临时确定出的所述指令移动量中减去对所述转轴的位置进行检测的位置检测装置检测出的所述转轴的当前位置而得到的;
第一定位执行工序,该第一定位执行工序根据在所述第一运算工序中运算出的所述第一差分对所述转轴进行定位;以及
停止工序,在从所述存储装置读出的所述解释信息中有所述停止指令时,该停止工序停止所述机床。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014174944A JP6299527B2 (ja) | 2014-08-29 | 2014-08-29 | 数値制御装置と制御方法 |
JP2014-174944 | 2014-08-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105388852A true CN105388852A (zh) | 2016-03-09 |
CN105388852B CN105388852B (zh) | 2018-06-19 |
Family
ID=55421232
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510500719.6A Active CN105388852B (zh) | 2014-08-29 | 2015-08-14 | 数控装置、机床和控制方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6299527B2 (zh) |
CN (1) | CN105388852B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106647619A (zh) * | 2016-11-28 | 2017-05-10 | 金舜 | 伺服驱动器主轴位置的快速设定方法 |
CN107885161A (zh) * | 2016-09-29 | 2018-04-06 | 兄弟工业株式会社 | 数值控制装置和控制方法 |
CN108108516A (zh) * | 2016-11-24 | 2018-06-01 | 发那科株式会社 | 伸缩罩的异常发生推定装置以及异常发生推定方法 |
CN109643091A (zh) * | 2016-08-24 | 2019-04-16 | 三菱电机株式会社 | 可编程逻辑控制器 |
CN110275483A (zh) * | 2018-03-16 | 2019-09-24 | 兄弟工业株式会社 | 数控装置 |
CN111123845A (zh) * | 2018-10-31 | 2020-05-08 | 发那科株式会社 | 数值控制装置 |
CN111123846A (zh) * | 2018-10-31 | 2020-05-08 | 发那科株式会社 | 数值控制装置和数值控制系统 |
CN111123844A (zh) * | 2018-10-31 | 2020-05-08 | 发那科株式会社 | 数值控制系统 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6444938B2 (ja) * | 2016-05-12 | 2018-12-26 | ファナック株式会社 | 条件指定による加工プログラム先読み開始機能を備えた数値制御装置 |
CN106227151B (zh) * | 2016-07-14 | 2018-09-04 | 广东工业大学 | 应用于数控机床的数据处理方法、装置和数控机床 |
JP6716446B2 (ja) * | 2016-12-21 | 2020-07-01 | Dmg森精機株式会社 | 加工プログラム解析装置、加工プログラム解析プログラムおよび加工プログラム解析方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4769583A (en) * | 1987-05-01 | 1988-09-06 | General Motors Corporation | Motion control system with minimum time path generation |
CN102029446A (zh) * | 2009-09-29 | 2011-04-27 | 兄弟工业株式会社 | 数控装置 |
CN102540970A (zh) * | 2010-12-28 | 2012-07-04 | 兄弟工业株式会社 | 机床及机床的控制方法 |
CN102729083A (zh) * | 2011-03-30 | 2012-10-17 | 兄弟工业株式会社 | 机床 |
CN103659297A (zh) * | 2012-09-26 | 2014-03-26 | 兄弟工业株式会社 | 数控装置及转台位置调节方法 |
CN103676771A (zh) * | 2012-08-30 | 2014-03-26 | 兄弟工业株式会社 | 数值控制装置 |
CN203726146U (zh) * | 2013-02-27 | 2014-07-23 | 兄弟工业株式会社 | 旋转工作台装置和机床 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01312605A (ja) * | 1988-06-13 | 1989-12-18 | Sodick Co Ltd | 放電加工機 |
JPH05127726A (ja) * | 1991-10-30 | 1993-05-25 | Murata Mach Ltd | Nc加工機の座標指定方法 |
JPH0991016A (ja) * | 1995-09-22 | 1997-04-04 | Fanuc Ltd | 数値制御装置 |
JP2007172325A (ja) * | 2005-12-22 | 2007-07-05 | Toshiba Mach Co Ltd | 自由曲線加工法および数値制御装置 |
JP4382123B2 (ja) * | 2007-12-13 | 2009-12-09 | ファナック株式会社 | 制御モード切り換え機能を有する数値制御装置 |
-
2014
- 2014-08-29 JP JP2014174944A patent/JP6299527B2/ja active Active
-
2015
- 2015-08-14 CN CN201510500719.6A patent/CN105388852B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4769583A (en) * | 1987-05-01 | 1988-09-06 | General Motors Corporation | Motion control system with minimum time path generation |
CN102029446A (zh) * | 2009-09-29 | 2011-04-27 | 兄弟工业株式会社 | 数控装置 |
CN102540970A (zh) * | 2010-12-28 | 2012-07-04 | 兄弟工业株式会社 | 机床及机床的控制方法 |
CN102729083A (zh) * | 2011-03-30 | 2012-10-17 | 兄弟工业株式会社 | 机床 |
CN103676771A (zh) * | 2012-08-30 | 2014-03-26 | 兄弟工业株式会社 | 数值控制装置 |
CN103659297A (zh) * | 2012-09-26 | 2014-03-26 | 兄弟工业株式会社 | 数控装置及转台位置调节方法 |
CN203726146U (zh) * | 2013-02-27 | 2014-07-23 | 兄弟工业株式会社 | 旋转工作台装置和机床 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109643091B (zh) * | 2016-08-24 | 2020-07-14 | 三菱电机株式会社 | 可编程逻辑控制器 |
CN109643091A (zh) * | 2016-08-24 | 2019-04-16 | 三菱电机株式会社 | 可编程逻辑控制器 |
CN107885161B (zh) * | 2016-09-29 | 2020-04-03 | 兄弟工业株式会社 | 数值控制装置和控制方法 |
CN107885161A (zh) * | 2016-09-29 | 2018-04-06 | 兄弟工业株式会社 | 数值控制装置和控制方法 |
CN108108516B (zh) * | 2016-11-24 | 2020-06-26 | 发那科株式会社 | 伸缩罩的异常发生推定装置以及异常发生推定方法 |
CN108108516A (zh) * | 2016-11-24 | 2018-06-01 | 发那科株式会社 | 伸缩罩的异常发生推定装置以及异常发生推定方法 |
US10761063B2 (en) | 2016-11-24 | 2020-09-01 | Fanuc Corporation | Apparatus and method for presuming abnormality occurrence for telescopic cover |
CN106647619A (zh) * | 2016-11-28 | 2017-05-10 | 金舜 | 伺服驱动器主轴位置的快速设定方法 |
CN110275483A (zh) * | 2018-03-16 | 2019-09-24 | 兄弟工业株式会社 | 数控装置 |
CN111123845A (zh) * | 2018-10-31 | 2020-05-08 | 发那科株式会社 | 数值控制装置 |
CN111123846A (zh) * | 2018-10-31 | 2020-05-08 | 发那科株式会社 | 数值控制装置和数值控制系统 |
CN111123844A (zh) * | 2018-10-31 | 2020-05-08 | 发那科株式会社 | 数值控制系统 |
CN111123844B (zh) * | 2018-10-31 | 2023-09-15 | 发那科株式会社 | 数值控制系统 |
CN111123845B (zh) * | 2018-10-31 | 2023-09-15 | 发那科株式会社 | 数值控制装置 |
CN111123846B (zh) * | 2018-10-31 | 2023-11-14 | 发那科株式会社 | 数值控制装置和数值控制系统 |
Also Published As
Publication number | Publication date |
---|---|
JP6299527B2 (ja) | 2018-03-28 |
CN105388852B (zh) | 2018-06-19 |
JP2016051249A (ja) | 2016-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105388852A (zh) | 数控装置、机床和控制方法 | |
CN103676771B (zh) | 数值控制装置 | |
CN104281091B (zh) | 具有复合形状固定周期的开始点路径缩短功能的数值控制装置 | |
US20080018287A1 (en) | Machine Tool Controller | |
US20150105900A1 (en) | Numerical controller provided with operation setting screen | |
JP2002224936A (ja) | ツールプリセッタ及び工具補正量算出方法 | |
CN109746911A (zh) | 加工系统 | |
US20150091898A1 (en) | Display Apparatus | |
CN107132815B (zh) | 数值控制装置 | |
JPS63273108A (ja) | 速度制御装置 | |
US6856853B2 (en) | Simulation device | |
CN107272575A (zh) | 数值控制装置和控制方法 | |
US8924004B2 (en) | Numerical controller for making positioning completion check | |
JP4059411B2 (ja) | Nc工作機械の制御装置 | |
CN106557067A (zh) | 数控装置和控制方法 | |
JPH11170117A (ja) | 工作機械の移動軸の制御方法及び装置 | |
JPS6226041B2 (zh) | ||
CN104756025A (zh) | 工件安装信息报告装置 | |
JP2009134542A (ja) | 工作機械の干渉検出装置及び干渉マップ | |
JP5167767B2 (ja) | 工作機械の干渉検出装置 | |
KR20190068858A (ko) | 공작기계의 사이클 가공시 공구경로 변경장치 및 변경방법 | |
US10996655B2 (en) | Numerical controller | |
CN101893874B (zh) | 四轴加工机用数值控制装置 | |
JP2007249671A (ja) | 工作機械の衝突防止方法 | |
WO2022113223A1 (ja) | 工作機械 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |