Numerical controller
Claim Score by NHIP
Abstract
A numerical controller capable of driving a controlled axis in synchronism with a reference axis at a desired speed not restricted by a speed of the reference axis in a path table operation (electronic cam control). The numerical controller is also capable of performing auxiliary function, spindle function and tool wearing compensation function, and further changing a position of starting the path table operation of the controlled axis. Data tables are provided for storing command positions of controlled axes to be associated with positions of the reference axis. The number of pulses of a reference pulse signal from the reference axis is counted by a counter. The counted number of pulses is multiplied by an override scale factor and the resultant product is stored in a reference position counter. The controlled axes are driven in accordance with respective command positions of the controlled axes determined based on the reference position stored in the reference position counter, referring to the path data tables. Further, commands for auxiliary function, spindle function, tool wearing compensation function, and re-setting of a coordinate system may be stored to be associated with respective reference positions to perform those functions.

Term
Term ended
Projected expiry passed 7 April 2023, 3.5 years ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
4 claims: 1 independent, 3 dependent
- 1Broadest claimClaim Score 61, broad(NHIP)A numerical controller for driving a controlled axis in synchronism with a reference axis, comprising:reference-axis position determining means for determining a position of the reference axis based on reference pulses representing motion of the reference axis;override means for setting a scale factor for override;reference position calculating means for obtaining a reference position by multiplying a value representing the position of the reference axis determined by said reference-axis position determining means by the scale factor set by said override means;a data table for storing information on a command position of the controlled axis corresponding to the reference position;and control means for drivingly controlling the position of the controlled axis according to the command position of the controlled axis determined based on the reference position determined by said reference position determining means and the information stored in said data table.
74 paragraphs in 4 sections, as filed
BACKGROUND OF THE INVENTION
[0001] 1. Field of the Invention
[0002] The invention relates to a numerical controller for controlling an industrial machine such as a machine tool and a manufacturing machine, and in particular to a path-table operation, i.e. so-called electronic cam control in which axes of the machine are controlled to be synchronized by the numerical controller.
[0003] 2. Description of Related Art
[0004] As a method of drivingly controlling axes of a machine in synchronism with motion of a reference axis, there is known a path-table operation, i.e. so called “electronic cam control”, in which each of the controlled axes is driven in synchronism with the reference axis based on a path-table operation data table storing information on command positions of controlled axes with respect to positions of the reference axis, from Japanese Laid-Open Patent Publication Hei 3-296109, for instance. A spindle or an external axis of a machine tool is designated as the reference axis, and a present position of the reference axis is determined based on a pulse signal from a position coder provided at the spindle or an external pulse signal from the external axis. The synchronized operation of the controlled axes with the reference axis is performed by determining a command position of each of the controlled axes for the present position of the reference axis based on the information on command position of the controlled axis for the position of the reference axis stored in the path-table operation data table prepared for each controlled axis, and driving each of the controlled axes to the command position.
[0005] In the above-mentioned conventional path-table operation (electronic cam control), the speed of each controlled axis is fixedly determined in accordance with the rotating speed of the reference axis, and cannot be altered. However, in general, prior to actual machining with the machine tool, motions of the axes are checked with the spindle as the reference axis not connected to a workpiece to be idle, and increasing or decreasing feed rates of controlled axes of an X-axis and a Z-axis. Further, under some machining conditions, the feed rates of controlled axes may be changed even during actual machining.
[0006] Also, in the pass-table operation (electronic cam control), it is desirable that the speed of controlled axes is changeable as mentioned above. However, conventionally, the speed of controlled axes depends on the speed of a spindle (reference axis) and cannot be changed.
[0007] Further, generally, a machine tool has auxiliary functions such as starting or stopping supply of cutting fluid, and spindle functions such as changing the rotating speed of the spindle, etc., and is operated using those auxiliary functions and spindle functions. However, in the conventional path-table operation (electronic cam control), the auxiliary functions and spindle functions cannot be used to be inconvenient for users.
[0008] Further, in the conventional path table operation (electronic cam control), it is inconvenient that data in a path-table operation data table are required to be changed when a tool wears.
[0009] Furthermore, it is inconvenient that relative position of the reference axis and the controlled axes need to be determined on the basis of a fixed position, and respective positions of start of the path-table operation of the controlled axes need to be determined on the basis of the fixed position in advance.
SUMMARY OF THE INVENTION
[0010] An object of the invention is to solve the above-mentioned inconveniences and problems in the conventional path table operation (electronic cam control).
[0011] A numerical controller of the present invention comprises: reference-axis position determining means for determining a position of a reference axis based on reference pulses representing motion of the reference axis; override means for setting a scale factor for override; reference position calculating means for obtaining a reference position by multiplying a value representing the position of the reference axis determined by the reference-axis position determining means by the scale factor set by the override means; a data table for storing information on a command position of the controlled axis corresponding to the reference position; and control means for drivingly controlling the controlled axis according to the command position of the controlled axis determined based on the reference position determined by the reference position determining means and the information stored in the data table. With the above arrangement, the controlled axis can be driven in synchronism with the reference axis at a speed not restricted by a speed of operation of the reference axis.
[0012] In the data table, commands for an auxiliary function and a spindle function, a command for a tool wearing compensation function, and a command of re-setting a coordinate system of the controlled axis may be stored to be associated with the reference position, so that these functions are performed at respective designated reference positions.
BRIEF DESCRIPTION OF THE DRAWINGS
[0013]FIG. 1 is a functional diagram schematically showing a path table operation process performed by a numerical controller according to an embodiment of the present invention;
[0014]FIG. 2 is a diagram of a motion pattern of a controlled axis based on a path-table operation data table shown in FIG. 3;
[0015]FIG. 3 is an example of a path-table operation data table;
[0016]FIG. 4 is an example of a function data table;
[0017]FIG. 5 is a block diagram of principal parts of a numerical controller according to the embodiment of the invention;
[0018]FIG. 6 is a flowchart of processing for obtaining a reference position by multiplication of a position of the reference axis by an override factor;
[0019]FIG. 7 is a flowchart of processing for performing an auxiliary function, a spindle function and a tool wearing compensation function in the path-table operation using the function data table; and
[0020]FIG. 8 is a flowchart of processing for synchronizing the controlled axis with the reference axis in path-table operation.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0021]FIG. 1 is a functional diagram of a path-table operation according to an embodiment of the invention. In FIG. 1, a reference pulse signal representing motion of a reference axis, such as a pulse signal from a position coder provided at a spindle or from an external reference pulse generator, is inputted to a counter <b>1</b> and the number of pulses of the reference pulse signal is counted by the counter <b>1</b> at every predetermined processing period (ITP). A multiplier <b>2</b> multiplies the number of pulses counted by the counter <b>1</b> by a scale factor set by override means, and result of the multiplication is stored in a reference position counter <b>3</b>. The reference position counter <b>3</b> is reset when a path-table operation function is commanded or when a one-rotation signal is issued from the position coder for the reference axis for the first time after a path-table operation function is commanded. Thus, the reference position counter <b>3</b> stores the position of the reference axis altered by the multiplication by the override factor.
[0022] The value of the reference position counter <b>3</b> (hereinafter referred to as reference position”) is respectively inputted to path-table operation interpolation sections <b>4</b><i>x</i>, <b>4</b><i>z </i>provided for respective controlled axes (in the present embodiment, X-axis and Z-axis). Referring to path-table operation data tables Tx, Tz stored in a memory for the respective controlled axes, respective command positions of the controlled axes with respect to the reference-axis position are obtained, and motion commands of a difference between the command position obtained in the present processing period and the command position in the last processing period are outputted to motors <b>5</b><i>x</i>, <b>5</b><i>z </i>for the controlled axes respectively.
[0023] The path-table operation is performed as above. Thus, when the scale factor set by the override means is “1”, the number of pulses of the reference pulse signal counted by the counter <b>1</b> is stored in the reference position counter <b>3</b> as the reference position, and the controlled axes are operated in synchronism with the reference axis in the same manner as the conventional manner. If the reference pulse signal is generated by a position coder attached to the spindle, the controlled axes (X-axis and Z-axis) move in synchronization with the spindle and also in synchronization with each other. When the scale factor is changed by the override means to, for example, “0.5”, the controlled axes move at a speed which corresponds to half the rotating speed of the spindle. Thus, by changing the value of the override factor, the controlled axes (X-axis and Z-axis) can be driven in the path-table operation in synchronism with the reference axis (spindle), at a desired speed not restricted by the speed of the reference axis.
[0024]FIG. 3 shows an example of a path-table operation data table Tx for the X-axis. FIG. 2 is a diagram showing how the position of the X-axis changes with the reference position S when the X-axis is driven in path-table operation using the X-axis path-table operation data table Tx. In the table of FIG. 3, predetermined values of the reference position S which is based on values of the reference position counter <b>3</b> are stored, and command positions of the X-axis and attributes for the set positions of the reference-axis are stored. An attribute can be selected from among path connection patterns and re-setting of the coordinate system according to the present invention. The respective meanings of attribute codes are as follows: <tables id="TABLE-US-00001" num="1"><table frame="none" colsep="0" rowsep="0"><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="91PT" align="center" /><colspec colname="2" colwidth="126PT" align="left" /><thead><row><entry /></row><row><entry namest="1" nameend="2" align="center" rowsep="1" /></row><row><entry>Attribute code</entry><entry>Meaning</entry></row><row><entry namest="1" nameend="2" align="center" rowsep="1" /></row></thead><tbody valign="top"><row><entry>0</entry><entry>Linear connection</entry></row><row><entry>1 or 2</entry><entry>Quadratic curve connection</entry></row><row><entry>3</entry><entry>Cubic curve connection</entry></row><row><entry>4</entry><entry>Re-setting of the coordinate system</entry></row><row><entry namest="1" nameend="2" align="center" rowsep="1" /></row></tbody></tgroup></table></tables>
[0025] Liner connection represented by code “0” means that the start position (end position of the last connection) and the end position should be connected linearly. Code “1” or “2” means that the start position (end position of the the last connection) and the end position should be connected by a quadratic curve. Code “3 ” means that the start position (end position of the last connection) and the end position should be connected by a cubic curve. In the quadratic curve connection represented by code “1” or “2”, the inclination Fs at either the start position or the end position needs to be set. In the cubic curve connection represented by code “3”, the inclination Fs at the start position and the inclination Fe at the end position need to be set. In the re-setting of the coordinate system represented by code “4”, the path table operation start position, that is, the position of the controlled axis (X-axis) corresponding to reference position S<b>0</b>=0 is changed, and the controlled axis (X-axis) is operated starting from the changed position, in accordance with a movement pattern determined by the path-table operation data table. In the re-setting of the coordinate system, the position of the controlled axis at that time is regarded as the position corresponding to reference position S<b>0</b>=0, and the controlled axis is not actually moved. This makes it possible to start the path-table operation of the controlled axis from a desired position.
[0026] Since the connection patterns and re-setting of the coordinate system mentioned as attributes have already been put into practice and known to the public, the connection patterns will be explained only briefly.
[0027] Assuming that the set reference position predetermined as corresponding to the start position is Ss, the start position of the controlled X-axis is Xs, the reference position predetermined as corresponding to the end position is Se, and the end position of the controlled X-axis is Xe. In the case of linear connection, position X of the controlled X-axis corresponding to the reference position S is expressed by the following equation (1).
<i>X=[</i>(<i>S−Ss</i>)·(<i>Xe−Xs</i>)/(<i>Se−Ss</i>)]+<i>Xs</i> (1)
[0028] In the case of quadratic curve connection, if the inclination Fs at the start position is set, position X is expressed by the following equation (2).
<i>X=</i>(½)·((<i>Fe−Fs</i>)/(<i>Se−Ss</i>))·(<i>S−Ss</i>)<sup>2</sup><i>+Fs</i>(<i>S−Ss</i>)+<i>Xs</i> (2)
[0029] where, Fe=2·((Xe−Xs)/(Se−Ss))−Fs
[0030] In the case of cubic curve connection, position X is expressed by the following equation (3).
<i>X=</i>(⅙)·((<i>Ae−As</i>)/(<i>Se−Ss</i>))·(<i>S−Ss</i>)<sup>3</sup>+(½)·<i>As</i>(<i>S−Ss</i>)<sup>2</sup><i>+Fe</i>(<i>S−Ss</i>)+<i>Xs</i> (3)
[0031] where, when S equals Se, F equals Fe and X equals Xe. From here, accelerations As and Ae can be obtained.
[0032] Coming back to the path-table operation data table Tx in FIG. 3, assuming that the controlled X-axis is placed at its command position X<b>0</b> corresponding to the set reference position S<b>0</b>=0, before the path-table operation is started. As will be described later, it is arranged that if the controlled X-axis is not placed at position X<b>0</b>, an alarm is issued.
[0033] It is to be noted that “−1” stored in the column “reference position, the last row of the path-table operation data table Tx represents the end of the table data.
[0034]FIG. 2 is a diagram showing a pattern of motion of the X-axis based on the data stored in the path-table operation data table Tx shown in FIG. 3.
[0035] The X-axis is positioned at a coordinate position X<b>0</b>. When a path-table operation command is issued and the reference position S stored in the reference position counter <b>3</b> becomes “0”, command position X<b>0</b> and attribute “0” associated with the set reference position S<b>0</b>=0 are read from the table Tx. Since the attribute “0” means the linear connection, position X<b>0</b> and command position X<b>1</b> associated with the next set reference position S<b>1</b> are connected linearly. When the reference position S becomes S<b>1</b>, command position X<b>1</b>, attribute “1” and inclination F<b>1</b> associated with the set reference position S<b>1</b> are read from the table Tx, and position X<b>1</b> and command position X<b>2</b> associated with the next set reference position S<b>2</b> are connected by a quadratic curve.
[0036] When the reference position S becomes the set reference position S<b>2</b>, position X<b>2</b> and command position X<b>3</b> associated with the next set reference position S<b>3</b> are connected linearly according to the attribute “0”. In this case, however, since position X<b>3</b> equals position X<b>2</b>, the X-axis does not move. In the same manner, the position X<b>3</b> and the position X<b>4</b> are connected linearly. When the reference position S becomes S<b>5</b>, a command position X<b>5</b> and an attribute “4” associated with the set reference position S<b>5</b> are read from the table Tx. Since the attribute “4” means re-setting of the coordinate system, a new coordinate system is set, in which the present position X<b>5</b> of the controlled axis is regarded as the position corresponding to the set reference position S<b>0</b>=0. This means that the X-axis movement pattern shown in FIG. 2 is so shifted that it starts from position X<b>5</b>. The shift amount (X<b>5</b>-X<b>0</b>) is stored. In the subsequent path-table operation, positions resulting from shifting the command positions stored in the path-table operation data table Tx by the above shift amount are used as command positions. It is to be noted that in the re-setting of the coordinate system, a controlled axis does not move. Thus, in the example to which FIGS. 2 and 3 relate, X<b>5</b> equals X<b>4</b>.
[0037] The path-table operation is performed on the controlled axes based on their respective path-table operation data tables Tx, Tz in the above-described manner. In the path-table operation, even when the speed of change of the reference-axis position is changed by the override means, the controlled axes can perform their respective movements determined by their respective path-table operation data tables Tx, Tz, in synchronism with each other.
[0038] The present embodiment can further perform auxiliary function, spindle function and tool wearing compensation function. In order to perform these functions, the present embodiment has another data table, namely, a function data table T<b>0</b>, in addition to the path-table operation data tables. As shown in FIG. 4, in the function data table T<b>0</b>, M-codes which represent auxiliary function, S-codes which represent spindle function, and T-codes which represent tool function are stored in a manner connected with reference positions, that is, predetermined values of the reference position S. When this type of path table operation is started, a T-code which represents a tool that has been used so far to perform machining programs is stored in the command column of the function data table T<b>0</b>, in the row relating to the set reference position S<b>0</b>=0, from which position the path-table operation using the function data table T<b>0</b> should be started. In the example shown in FIG. 4, T<b>01</b> is stored.
[0039] Auxiliary function code M<b>11</b> (cramp command) is stored, in a manner connected with the set reference position SP<b>1</b>. When the reference position S becomes SP<b>1</b>, auxiliary function code M<b>11</b> is outputted, as shown in FIG. 2. Tool code T<b>02</b> and spindle function code S10000 are stored, in a manner connected with the set reference position SP<b>2</b>(=S<b>3</b>). Thus, when the reference position S becomes SP<b>2</b>(=S<b>3</b>), spindle function code S10000 is outputted as shown in FIG. 2 and a difference in wearing compensation amount between tool code T<b>01</b> read in the preceding processing period and tool code T<b>02</b> read in the present processing period is outputted to all the controlled axes.
[0040] The above is an outline of the operation of the numerical controller according to the embodiment of the present invention.
[0041]FIG. 5 shows relevant parts of a numerical controller <b>10</b> for performing the path-table operation according to an embodiment of the invention. A CPU <b>11</b> is provided as a processor for generally controlling the numerical controller <b>10</b>. The CPU <b>11</b> reads a system program stored in a ROM <b>12</b> through a bus <b>20</b> and generally controls the numerical controller in accordance with the system program. A RAM <b>13</b> is provided for storing temporary calculation data, display data and data of various kinds inputted by an operator through a CRT/MDI unit <b>70</b>. A CMOS memory <b>14</b> is a nonvolatile memory backed up by a battery (not shown) to retain stored data even when a power supply to the numerical controller <b>10</b> is turned off. Machining programs loaded through an interface <b>15</b> or inputted through the CRT/MDI unit <b>70</b> are stored in the CMOS memory <b>14</b>. The above-described path-table operation data tables Tx, Tz and function data table T<b>0</b> are also stored in the CMOS memory <b>14</b>. In the ROM <b>12</b>, various programs for edit-mode processing for creating and editing machining programs and for automatic operation of the machine are stored in advance.
[0042] The interface <b>15</b> connects the numerical controller <b>10</b> to external devices <b>72</b> such as an adaptor. Machining programs edited in the numerical controller <b>10</b> can be stored in external storage means through the external devices <b>72</b>. A PC (programmable controller) <b>16</b> controls auxiliary devices of the machine tool by outputting signals to them through an I/O unit <b>17</b> in accordance with sequence programs stored in the numerical controller <b>10</b>. Further, the PC <b>16</b> receives signals from various switches on an operation panel provided at a body of the machine tool, performs necessary signal processing on them, and outputs them to the CPU <b>11</b>.
[0043] The CRT/MDI unit <b>70</b> is a manual data input unit provided with a display, a keyboard, etc. An interface <b>18</b> receives commands and data from the keyboard of the CRT/MDI unit <b>70</b> and outputs them to the CPU <b>11</b>. An interface <b>19</b> is connected to an operation panel <b>71</b> and receives various commands from the operation panel <b>71</b>.
[0044] Axis control circuits <b>30</b>, <b>31</b> for respective axes receive motion commands of their respective axes from the CPU <b>11</b>, and output commands for the respective axes to servo amplifiers <b>40</b>, <b>41</b>. Upon receipt of those commands, the servo amplifiers <b>40</b>, <b>41</b> drive servo motors <b>5</b><i>x</i>, <b>5</b><i>z </i>for the respective axes. Each of the servo motors <b>5</b><i>x</i>, <b>5</b><i>z </i>has a position/speed detector. The servo motors <b>5</b><i>x</i>, <b>5</b><i>z </i>perform position/speed feedback control by feeding position/speed feedback signals from their respective position/speed detectors back to their respective axis control circuits <b>30</b>, <b>31</b>. The position/speed feedback is not shown in FIG. 5.
[0045] A spindle control circuit <b>60</b> receives a spindle rotation command, and outputs a spindle speed signal to a spindle amplifier <b>61</b>. Based on the spindle speed signal, the spindle amplifier <b>61</b> drives a spindle motor <b>62</b> at a rotating speed commanded by the spindle speed signal. A position coder <b>63</b> feeds back a pulse signal (reference pulse signal) and a one-rotation signal in synchronism with rotation of the spindle motor <b>62</b> to the spindle control circuit <b>60</b> for performing a speed control of the spindle. The feedback pulse signal (reference pulse signal) and the one-rotation signal are read by the CPU <b>11</b> through the spindle control circuit <b>60</b>, and the number of pulses of the feedback pulse signal (reference pulse signal) is counted and stored in a counter provided in the RAM <b>13</b> (which corresponds to the counter <b>1</b> in FIG. 1).
[0046] The foregoing embodiment is an example where the feedback pulse signal from the position coder provided to the spindle is a reference pulse signal, the spindle is a reference axis, and the X- and Z-axes are controlled axes. It is a matter of course that the number of controlled axes may be more than two. In that case, pass-table operation data tables for additional controlled axes are stored in the nonvolatile memory, and axes control circuits, servo amplifiers and servo motors for the additional controlled axes are added. Further, the reference axis may be an external axis in place of the spindle, and the reference pulse signal may be a pulse signal which is generated as the external axis moves. In that case, a counter for counting the number of pulses of this pulse signal needs to be provided.
[0047] In the discussed embodiment, path-table operation data tables Tx, Tz provided for the controlled X- and Z-axis separately, which are like the table shown in FIG. 3, and a function data table T<b>0</b> like the table shown in FIG. 4 are stored in the nonvolatile memory <b>14</b> as data tables.
[0048] A machining program stored in the nonvolatile memory <b>14</b> is executed, while the CPU <b>11</b> performs processing shown by a flowchart of FIG. 6, which relates to the present invention, at every predetermined processing period.
[0049] First, it is determined whether or not an override cancel signal is commanded by a machining program, the operating panel <b>71</b> or MD <b>170</b> (Step <b>101</b>). If an override cancel signal has not been issued, the procedure proceeds to Step <b>103</b>. If an override cancel signal has been issued, the override scale factor “A” which has been set is set at “1” (Step <b>102</b>), and then the procedure proceeds to Step <b>103</b>. In Step <b>103</b>, the override scale factor “A” is read from a register which is provided for storing the override scale factor. Then, from the counter which counts the number of pulses of the reference pulse signal, the counted number of pulses is read (Step <b>104</b>). Then, the value resulting from multiplying the value of the counter by the override scale factor A is stored in the reference position counter (Step <b>105</b>). The processing from Step <b>101</b> to Step <b>105</b> is performed at each predetermined period.
[0050] When a path table operation command is read from a machining program, the CPU performs processing shown in FIG. 7 and processing shown in FIG. 8 at every predetermined period, where the processing shown in FIG. 7 using the function data table T<b>0</b> is performed prior to the processing shown in FIG. 8 concerning the controlled axes.
[0051] First, referring to FIG. 7, how the auxiliary function, spindle function, and tool wearing compensation function are performed on the basis of the function data table T<b>0</b> will be described.
[0052] When a path-table operation command is read from a machining program, the process shown in FIG. 7 is performed at every predetermined period. First, it is determined whether or not a one-rotation signal is issued from the position coder <b>63</b> (Step <b>201</b>). The CPU <b>11</b> waits until the one-rotation signal is issued. When the one-rotation signal is issued, if a T-code for tool compensation has been given by the machining program, a compensation code of the given T-code is written in the command column of the function data table T<b>0</b> at the row for the set reference position S<b>0</b> (Step <b>202</b>). Then, the reference position counter is reset, and a pointer i indicating a row of the function data table T<b>0</b> to be read is set at “0” (Step <b>203</b>).
[0053] Then, the reference position S, which is the value of the reference position counter, is read, and it is determined whether or not the reference position S is “0” (Step <b>204</b>). At first, since the reference position counter has been reset to “0” in Step <b>203</b>, the procedure proceeds to Step <b>217</b> where it is determined whether or not a T-code has been stored in the command column at the row of reference position SP<b>0</b>=0 where the reference position S is 0. If the tool compensation has been already performed and thus it is determined that a T-code is stored in the above-mentioned row at Step <b>202</b>, a wearing compensation amount corresponding to the T-code is stored in a register (Step <b>215</b>) and the procedure proceeds to Step <b>216</b>. If a T-code is not stored, the procedure proceeds from Step <b>217</b> to Step <b>216</b>. In Step <b>216</b>, the value of the pointer i is incrementally increased by “1”. Then, the procedure returns to Step <b>205</b>.
[0054] In Step <b>205</b>, set reference position SPi indicated by the pointer i and stored at i-th row of the function table T<b>0</b> is read, and it is determined whether or not the set position SPi is of “−1” (Step <b>206</b>). If the set position SPi is of “−1”, it means that the function table T<b>0</b> includes no more data. Thus, the processing of FIG. 7 terminates.
[0055] If the set position SPi is not “−1 ”, it is determined whether or not the reference position S read from the reference position counter is equal to or greater than the set reference position SPi read at Step <b>205</b>. The CPU <b>11</b> waits until the value of the reference position S increases to reach the set reference position SPi (Step <b>207</b>). It is to be noted that here, it is assumed that the spindle is rotated in a forward direction. If the spindle is rotated in a reverse direction, it is determined whether or not the reference position S read from the reference position counter is equal to or lower than the reference position SPi read at Step <b>205</b>. When the value of the reference position S reaches the reference position SPi, it is determined which of an M-code, an S-code and a T-code is stored in the command column of the function data table T<b>0</b>, in the row indicated by the pointer i (Steps <b>208</b>, <b>210</b>, <b>212</b>). If an M-code is stored, a command corresponding to the M-code is outputted to an auxiliary device or the like through the PC <b>16</b> and the I/O unit <b>17</b> (Step <b>209</b>). If an S-code is stored, the CPU <b>11</b> outputs a command corresponding to the S-code to the spindle control circuit <b>60</b> (Step <b>211</b>).
[0056] If a T-code is stored, a wearing compensation amount designated by the stored Ti code is read (Step <b>213</b>), and a difference between the wearing compensation amount read this time and the wearing compensation amount stored in the register is obtained. Then, the obtained difference is outputted to all the controlled axes (Step <b>214</b>). Then, the compensation amount obtained in Step <b>213</b> is stored in the register (Step <b>215</b>), the value of the pointer i is incrementally increased by “1 ” (Step <b>216</b>), and the procedure returns to Step <b>205</b>. Then, until “−1” is read as reference position SPi in Step <b>206</b>, the processing from Step <b>205</b> to Step <b>216</b> is performed as an interrupt performance in each predetermined period. When “−1” is read as reference position SPi, the process of performing the auxiliary function, spindle function and tool wearing compensation function in the path table operation using the function data table T<b>0</b> terminates.
[0057] Regarding the controlled axes, the processing shown in FIG. 8 is performed in each predetermined period. FIG. 8 is an example in which the processing is performed on the X-axis as a controlled axis. The like process is performed on the Z-axis which is another controlled axis, of which an explanation will be omitted.
[0058] When a path table operation command is read from a machining program, processing shown in FIG. 8 is performed at every predetermined period. The CPU <b>11</b> waits until a one-rotation signal is issued from the position coder <b>63</b> (Step <b>301</b>). When a one-rotation signal is issued, a pointer “j” is set to “0” (Step <b>302</b>), and it is determined whether or not the present position of the controlled X-axis is the path-table operation start position X<b>0</b>(=Xj) which is set for position Sj=0 of the reference axis in the path-table operation data table Tx (Step <b>303</b>). Normally, the position of the X-axis is set at the path table operation start position X<b>0</b> before a path table operation command is issued. However, if the position of the X-axis is not set at the path table operation start position X<b>0</b>, an alarm is given and the path table operation is not commenced (Step <b>318</b>).
[0059] If it is determined that the X-axis is placed at the path-table operation start position X<b>0</b>, the reference position S which is the value of the reference position counter is read, and it is determined whether or not the reference position S is at least equal in value to reference position Sj (=S<b>0</b>=0) stored in that row of the path-table operation data table Tx which is pointed by the pointer j (Step <b>304</b>, <b>305</b>). Normally, the process shown in FIG. 7 is performed prior to the processing shown in FIG. 8, and the reference position counter is reset to “0” in Step <b>203</b> in FIG. 7. Thus, the reference position S read in Step <b>304</b> is “0”, and the determination result in Step <b>305</b> is Yes.
[0060] Next, set reference position Sj, command position Xj and attribute code stored in the row of the path-table operation data table Tx, which are designated by the value of the pointer “j”, and set reference position Sj+1 and command position Xj+1 stored in the next row “j+1” are read (Step <b>306</b>). Then, it is determined whether the set reference position Sj is “−1” or not (Step <b>307</b>). If the set reference position Sj is determined to be “−1”, the procedure terminates. If the set reference position Sj is not determined to be “−1”, the reference position S which is the value of the reference position counter is read (Step <b>308</b>), and it is determined whether or not the read reference position S is equal to or greater than the next set reference position Sj+1 (Step <b>309</b>).
[0061] At the beginning of the processing, the read reference position S does not reach the next set reference position Sj+1, and it is determined the attribute code in the row of the table Tx indicated by the value of the pointer j which is read in Step <b>306</b> is “0”, “1 or 2”, “3” or “4” (Steps <b>311</b>, <b>312</b> and <b>313</b>). If the attribute code is “0”, liner connection is performed (Step <b>315</b>). Specifically, the command position X corresponding to the reference position S is obtained by calculating the above-mentioned equation (1) using the set reference positions Sj, Sj+1 and the command positions Xj, Xj+1 which have been read in Step <b>306</b> and the reference position S which has been read in Step <b>308</b>. Then, a difference between the command position obtained the present processing period and the command position in the last processing period is obtained and outputted to the axis control circuit <b>30</b> for the X-axis.
[0062] If the attribute code is “1 or 2 ”, quadratic curve connection is performed. In this case, the command position X corresponding to the reference position S is obtained by calculating the above-mentioned equation (2), and a difference between the command position obtained in the present processing period and the command position in the last processing period is obtained and outputted to the axis control circuit <b>30</b> for the X-axis (Step <b>316</b>). If the attribute code is determined to be “3”, cubic curve connection is performed. In this case, the command position X corresponding to the reference position S is obtained by calculating the above-mentioned formula (3), and a difference between the command position obtained in the present processing period and the command position in the last processing period is obtained and outputted to the axis control circuit <b>30</b> for the X-axis (Step <b>317</b>).
[0063] If the attribute is determined to be “4”, re-setting of a coordinate system is performed (Step <b>314</b>). This is to use the present position of the controlled axis as the start position of the subsequent path-table operation. The difference (Xr−X<b>0</b>) between the present position Xr of the controlled axis and the start position X<b>0</b> of the present path table operation using the path-table operation data table Tx is stored as a shift amount.
[0064] At Step <b>303</b> in the subsequent path operation, it is determined whether or not the present position of the controlled X-axis is the start position X<b>0</b> stored in the path-table operation data table Tx plus the shift amount (Xr−X<b>0</b>).
[0065] Then, Steps are performed in accordance with the given attribute. Specifically, if the attribute code is “0”, the processing of Steps <b>308</b>, <b>309</b>, <b>311</b> and <b>315</b> is performed at every predetermined period. If the attribute code is “1 or 2”, the processing of Steps <b>308</b>, <b>309</b>, <b>311</b>, <b>312</b> and <b>316</b> is performed at every predetermined period. If the attribute code is determined to be “3”, the processing of Steps <b>308</b>, <b>309</b>, <b>311</b>, <b>312</b>, <b>313</b> and <b>317</b> is performed at every predetermined period.
[0066] Each time the reference position S reaches the next set reference position Sj+1, the value of the pointer j is increased by “1” (Step <b>310</b>), and the procedure returns to Step <b>306</b> and the processing of Step <b>306</b> and subsequent Steps is performed as described above. When “−1” which means the end of the table is read as set reference position Sj in Step <b>307</b>, the path table operation terminates.
[0067] Next, an example in which the movement of the controlled X-axis shown in FIG. 2 is performed using the path-table operation data table Tx shown in FIG. 3 will be described briefly.
[0068] The position of the X-axis is set at the start position X<b>0</b> of the path table operation in advance. When, in Step <b>305</b>, it is determined that the reference position S has reached the path-table operation start position S<b>0</b>=0, data in the row j=0 of the data table Tx indicated by the value “0” of the pointer j and in the row “1”=j+1 is read (Step <b>306</b>). Since the attribute stored in the row j=0 is “0”, the process for liner connection, namely, calculation of the equation (1) is performed at every predetermined period, using the values S<b>0</b>=0, S<b>1</b>, X<b>0</b>, X<b>1</b> which have been read in Step <b>306</b> and the present value S of the reference position counter (Step <b>315</b>). As a result, the X-axis is moved from X<b>0</b> to X<b>1</b> linearly as shown in FIG. 2. When the reference position S reaches the next set reference position S<b>1</b> (Step <b>309</b>), values S<b>1</b>, S<b>2</b>, X<b>1</b>, X<b>2</b>, attribute “1”, and inclination F<b>1</b> are read (Step <b>306</b>). Since the attribute is “1”, the process for quadratic curve connection in Step <b>316</b> is performed at every predetermined period (Step <b>316</b>). Specifically, by calculating the equation (2) using values S<b>1</b>, S<b>2</b>, X<b>1</b>, X<b>2</b> and the present reference position S and giving a motion command at every predetermined period, the X-axis is moved from X<b>1</b> to X<b>2</b> describing a quadratic curve as shown in FIG. 2.
[0069] When the reference position S reaches the next set reference position S<b>2</b> (Step <b>309</b>), values S<b>2</b>, X<b>2</b> in the row of the path-table operation data table indicated by the pointer j and values S<b>3</b>, X<b>3</b>((=X<b>2</b>) in the next row thereof are read. Also, the attribute “0” is read, and the procedure proceeds to Step <b>315</b>. However, since the command position X<b>2</b> stored in the row indicated by the pointer j and the next command position X<b>3</b> in the next row are the same, the X-axis is not moved but remains stopped. When the reference position S reaches the next set reference position S<b>3</b> (Step <b>309</b>), values S<b>3</b>, X<b>3</b>(=X<b>2</b>), S<b>4</b>, X<b>4</b> and the attribute “0” are read (Step <b>306</b>), and process for linear connection (Step <b>315</b>) is performed at every predetermined period, using these values and the present reference position S. Thus, the X-axis is moved from position X<b>3</b>(=X<b>2</b>) to the position X<b>4</b> linearly as shown in FIG. 2.
[0070] When the reference position S reaches the next set reference position S<b>4</b>, values S<b>4</b>, X<b>4</b>, S<b>5</b>, X<b>5</b>(=X<b>4</b>) and the attribute “0” are read (Step <b>306</b>). The attribute “0” means that X<b>4</b> and X<b>5</b> should be connected linearly. However, since X<b>5</b> equals X<b>4</b>, the X-axis remains stopped. When the reference position S reaches the next set reference position S<b>5</b>, values S<b>5</b>, X<b>5</b>, S<b>6</b>=−1 and the attribute “4” are read (Step <b>306</b>). Since the attribute is “4”, re-setting of a coordinate system is performed (Step <b>314</b>) and a shift amount (X<b>5</b>-X<b>0</b>) is obtained and stored. It is to be noted that when the attribute “4” which means re-setting of the coordinate system is given, the next command position is the same as the present command position. Thus, in the discussed example, X<b>4</b> equals X<b>5</b>, and the controlled axis is not moved.
[0071] According to the present invention, it is possible that controlled axes are synchronized with a reference axis with their speeds changeable without being restricted by a speed of the reference axis in path table operation. This is useful in checking the movement of the controlled axes. Further, also the auxiliary function, the spindle function and the tool wearing compensation function can be performed in path table operation, and the coordinate system re-setting function enables the position of the controlled axis at the time when the coordinate system is re-set to be adopted as a start position of the controlled axis in the subsequent path-table operation.
Contents4
7 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US10018987B2 | Cited by | United States of America | Applicant |
| US7580770B2 | Cited by | United States of America | Search report |
| CN102768507A | Cited by | China | Search report |
| US10401835B2 | Cited by | United States of America | Applicant |
| US10012973B2 | Cited by | United States of America | Applicant |
| US9715225B2 | Cited by | United States of America | Applicant |
| US10317873B2 | Cited by | United States of America | Search report |
| US7030586B2 | Cited by | United States of America | Search report |
| US2018074476A1 | Cited by | United States of America | Search report |
| US9904277B2 | Cited by | United States of America | Applicant |
| US7552002B2 | Cited by | United States of America | Applicant |
| CN103341787A | Cited by | China | Search report |
| US10394219B2 | Cited by | United States of America | Applicant |
| CN105739431A | Cited by | China | Search report |
| US10732602B2 | Cited by | United States of America | Search report |
| US9760083B2 | Cited by | United States of America | Search report |
| US9310799B2 | Cited by | United States of America | Search report |
| CN100461053C | Cited by | China | Search report |
| US2018074476A1 | Cited by | United States of America | Search report |
| US2006241839A1 | Cited by | United States of America | Pre-grant |
| US2012283879A1 | Cited by | United States of America | Pre-grant |
| JP2016122399A | Cited by | Japan | Search report |
| US9964943B2 | Cited by | United States of America | Applicant |
| US2016116902A1 | Cited by | United States of America | Applicant |
| JP2016122399A | Cited by | Japan | Search report |
| US9696712B2 | Cited by | United States of America | Applicant |
| US2013253670A1 | Cited by | United States of America | Pre-grant |
| US2006235565A1 | Cited by | United States of America | Pre-grant |
| US2004164698A1 | Cited by | United States of America | Pre-grant |
| US10073433B2 | Cited by | United States of America | Applicant |
| US2001029404A1 | Cites | United States of America | Pre-grant |
| US3731175A | Cites | United States of America | Pre-grant |
| US4061952A | Cites | United States of America | Pre-grant |
| US4881021A | Cites | United States of America | Pre-grant |
| US5210478A | Cites | United States of America | Pre-grant |
| US5260879A | Cites | United States of America | Pre-grant |
| US5568028A | Cites | United States of America | Pre-grant |
| US5740058A | Cites | United States of America | Pre-grant |
| US6038489A | Cites | United States of America | Pre-grant |
| US6625498B1 | Cites | United States of America | Pre-grant |
9 members in 4 offices
Priority claims3
| Document | Office | Kind | Date |
|---|---|---|---|
| 2002106251 | Japan | A | |
| 1062512002 | – | – | – |
| JP20020106251 | – | – | – |
Members9
| Document | Office | Kind | |
|---|---|---|---|
| US2003191553A1 | United States of America | A1 | |
| EP1353251A2 | European Patent Office (EPO) | A2 | |
| JP2003303005A | Japan | A | |
| EP1353251A3 | European Patent Office (EPO) | A3 | |
| US6885909B2 | United States of America | B2 | |
| JP3671020B2 | Japan | B2 | |
| EP1353251B1 | European Patent Office (EPO) | B1 | |
| DE60302920D1 | Germany | D1 | |
| DE60302920T2 | Germany | T2 |
9 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Fee paymentFPAY | FPAY | |
| Fee paymentFPAY | FPAY | |
| Fee payment procedurePAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| Fee payment procedurePAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| Fee paymentFPAY | FPAY | |
| Certificate of correctionCC | CC | |
| Fee payment procedurePAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| AssignmentAS | AS |
Numbers
- Publication, DOCDB
- 2003191553
- Publication, EPODOC
- US2003191553
- Application
- 10407331
- Application, DOCDB
- 40733103
- Application, EPODOC
- US20030407331
Titles
- English
- Numerical controller
Classification
- CPC, 4
- G05B19/4142
- G05B2219/41206
- G05B2219/43174
- G05B2219/50218
- IPC, 6
- B23Q15 00
- B23Q15 16
- G05B19 18
- G05B19 19
- G05B19 414
- G05D3 00
- USPC, 1
- 700170000