US3617718A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Numerical control contouring system wherein desired velocity information is entered into the system instead of feedrate number
Assignee: Allen Bradley Co LLC
•
Filing: 1969-07-15
•
Granted: 1971-11-02
•
Expires: 1989-07-15
Abstract
Abstract A feedrate generator and a contour generator for a numerical control contouring system are provided wherein the velocity of the operation of the machine tool may be specified by a feedrate number (FRN) addressed with an identifying letter code or by velocity in inches per minute addressed with an identifying letter code. In both cases a normalization process is employed for increasing the operating speed of the system.
Inventors
- 👤 Ernst H Dummermuth
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-24 09:50
CPC Classifications
G; G05; G05B; G05B19/00; G05B19/02; G05B19/18; G05B19/416
Claims Analysis
Total Claims: 30
Claim 1
Independent Claim
198 words
In a machine tool numerical control system, a first rate multiplier, means for entering a binary number into said first rate multiplier, a different axis rate multiplier for each axis, means for entering an axis motion command binary number for each axis into a respective axis rate multiplier, said first and axis rate multipliers each having a plurality of stages for parallel storage of numbers, a source of pulses, means for applying pulses from said source to said first rate multiplier to be multiplied thereby, means for applying the output of the first rate multiplier to all of the axis rate multipliers to be multiplied thereby, means for applying the output of all of the axis rate multipliers to the machine tool to control its motion, and means for decreasing the time required for operation of said machine tool comprising means for shifting all of the motion command binary numbers in said axis rate multipliers by the same number of stages toward a most significant bit stage of said axis rate multipliers until the largest of said motion command binary numbers has its most significant bit located in the most significant bit stage of its axis rate multiplier.
Claim 2
Dependent Claim
198 words
In a machine tool numerical control system, a first rate multiplier, means for entering a binary number into said first rate multiplier, a different axis rate multiplier for each axis, means for entering an axis motion command binary number for each axis into a respective axis rate multiplier, said first and axis rate multipliers each having a plurality of stages for parallel storage of numbers, a source of pulses, means for applying pulses from said source to said first rate multiplier to be multiplied thereby, means for applying the output of the first rate multiplier to all of the axis rate multipliers to be multiplied thereby, means for applying the output of all of the axis rate multipliers to the machine tool to control its motion, and means for decreasing the time required for operation of said machine tool comprising means for shifting all of the motion command binary numbers in said axis rate multipliers by the same number of stages toward a most significant bit stage of said axis rate multipliers until the largest of said motion command binary numbers has its most significant bit located in the most significant bit stage of its axis rate multiplier.
Claim 3
Dependent Claim
36 words
A numerical control system as recited in claim 1 wherein there is also included means for shifting the binary number in said first rate multiplier towards the most significant bit stage of said first rate multiplier.
Claim 4
Dependent Claim
94 words
A numerical control system as recited in claim 2 wherein there is included means for ordering the sequence of operation of both of said means for shifting to order the means for shifting the binary number to occur first and the means for shifting all of the motion command numbers to occur next, and there is included means for counting the number of places shifted by both of said means for shifting and to terminate the operation of said means for shifting all of the motion command numbers when a predetermined count is attained.
Claim 5
Dependent Claim
99 words
In a numerical control system as recited in claim 1 wherein said source of pulses includes means responsive to the values of the shifted motion command binary numbers to calculate a value D where D represents the vectorial distance represented by all of the axis motion command binary numbers, means responsive to the value of D to calculate a value 1/D including a 1/D rate multiplier, a source of oscillations, and means for driving said 1/D rate multiplier with oscillations from said source, and means for applying the output of said 1/D rate multiplier to said first rate multiplier.
Claim 6
Dependent Claim
187 words
In a numerical control system for a machine tool of the type wherein a binary number is entered into a rate multiplier means, wherein means are provided for applying a pulse train to said rate multiplier means to produce an output pulse train, and wherein further means are provided for driving said machine tool responsive to said output pulse train; the improvement comprising apparatus for reducing the time required for operation, said apparatus comprising: normalizing means including an up-counter for counting the number of 0''s between the most significant bit position of the binary number in said rate multiplier means and the most significant bit position of said rate multiplier means, means for circulating binary numbers out from the least significant bit position of said rate multiplier means and back into said rate multiplier means through its most significant bit position and means for withholding the operation of said means for circulating for a portion of its circulating cycle responsive to the count of said up-counter to leave said binary number with its most significant bit position in the most significant bit of the rate multiplier means.
Claim 7
Dependent Claim
187 words
In a numerical control system for a machine tool of the type wherein a binary number is entered into a rate multiplier means, wherein means are provided for applying a pulse train to said rate multiplier means to produce an output pulse train, and wherein further means are provided for driving said machine tool responsive to said output pulse train; the improvement comprising apparatus for reducing the time required for operation, said apparatus comprising: normalizing means including an up-counter for counting the number of 0''s between the most significant bit position of the binary number in said rate multiplier means and the most significant bit position of said rate multiplier means, means for circulating binary numbers out from the least significant bit position of said rate multiplier means and back into said rate multiplier means through its most significant bit position and means for withholding the operation of said means for circulating for a portion of its circulating cycle responsive to the count of said up-counter to leave said binary number with its most significant bit position in the most significant bit of the rate multiplier means.
Claim 8
Dependent Claim
84 words
In a numerical control system as recited in claim 5, wherein said means for withholding the operation of said means for circulating for a portion of its cycle includes: a first down-counter, means for transferring the count of said up-counter to said first down-counter, means for applying shift pulses to said first down-counter to cause it to count down, and means for preventing application of said shift pulses to said rate multiplier which cause it to circulate until said down-counter reaches a predetermined count.
Claim 9
Dependent Claim
84 words
In a numerical control system as recited in claim 6 wherein said rate multiplier means comprises an axis rate multiplier for each axis of said machine tool, wherein a binary number in each axis rate multiplier represents a desired motion command for that axis, and wherein said up-counter counts the number of zeros between the most significant bit position of the largest of said motion command binary numbers in its axis rate multiplier and the most significant bit position of its axis rate multiplier.
Claim 10
Dependent Claim
443 words
In a numerical control system as recited in claim 5 wherein said further means for driving said machine tool responsive to said output pulse train comprises a Plurality of axis rate multipliers, one for each axis, a motion command binary number being entered into each axis rate multiplier, and wherein said means for withholding the operation of said means for circulating includes: a first down-counter, means for transferring the count of said up-counter to said first down-counter, means for resetting said up-counter to a zero count, means for causing said up-counter means to count the number of 0''s between the most significant bit position of the largest of said motion command binary numbers in its axis rate multiplier and the most significant bit position of its axis rate multiplier, a second down-counter, means for entering the count of said up-counter into said second down-counter, means for resetting said up-counter to a 0 count, a source of shift pulses, first means for applying shift pulses from said source to said rate multiplier means to cause it to circulate the binary number therein from out of the least significant bit position back into the most significant bit position of said rate multiplier means, second means for applying shift pulses from said source to said up-counter and first down-counter simultaneously with their application to said first means to respectively produce up-counting and down-counting, first means for blocking the application of shift pulses from said means for applying shift pulses to said rate multiplier means until said down-counter has counted to zero whereby said binary number in said rate multiplier means will be placed in said rate multiplier means with its most significant bit in the most significant bit position of said rate multiplier means, third means operative responsive to said first up-counter attaining a zero count for applying shift pulses from said source to all of said axis rate multipliers to cause each of them to circulate their command binary numbers from out of the least significant bit positions back into the respective axis rate multipliers through the most significant bit positions, said third means for applying shift pulses including means for applying shift pulses to said up-counter and said first and second down-counters simultaneously with the application of shift pulses to all of said axis rate multipliers, and second means for blocking the application of shift pulses to said axis rate multipliers until said up-counter attains a predetermined count whereby the largest axis command binary number is placed in its axis rate multiplier with its most significant bit at a location adjacent the MSB location in said axis rate multiplier determined by the predetermined number.
Claim 11
Dependent Claim
301 words
In a numerical control system as recited in claim 5 wherein said further means for driving said machine tool responsive to said output pulse train comprises a plurality of axis rate multipliers, one for each axis, and means for entering a motion command binary number into each axis rate multiplier, and wherein said means for withholding the operation of said means for circulating includes: a first down-counter, means for transferrring the count of said up-counter to said first down-counter, means for resetting said up-counter to a zero count, means for causing said up-counter to count the number of o''s between the most significant bit position of the largest of said motion command binary numbers in its axis rate multiplier and the most significant bit position of its axis rate multiplier, a second down-counter, means for entering the count of said up-counter into said second down-counter, means for resetting said up-counter to a zero count, a source of shift pulses, means for applying shift pulses from said source to all of said axis rate multipliers to cause each of them to circulate their command binary numbers from out of the least significant bit positions back into the respective axis rate multipliers through their most significant bit positions, said means for applying shift pulses including means for applying shift pulses to be counted to said first and second down-counters simultaneously with the application of shift pulses to all of said axis rate multipliers, and means for blocking the application of shift pulses to said axis rate multipliers until said second down-counter attains a predetermined count whereby the largest axis command binary number is placed in its axis rate multiplier with its most significant bit at a location adjacent the most significant bit location of said axis rate multiplier determined by the predetermined number.
Claim 12
Dependent Claim
89 words
In a numerical control system as recited in claim 9 whereby said up-counter has a count capacity equivalent to the number of bit locations in an axis rate multiplier, and there is included means for transferring the count in said first down-counter to said up-counter whereby each time said up-counter is driven by shift pulses simultaneously with said axis rate multipliers its overflow count is a marker pulse indicating that the least significant bit of the numbers in the axis rate multipliers are in their least significant bit positions.
Claim 13
Dependent Claim
162 words
In a numerical control system for a machine tool having a source of data including axis motion command data and vectorial velocity data V for commanding machine tool operation in response to said data, means for calculating the value of 1/D from said axis command data where D is the vectorial distance commanded, a source of oscillations at a frequency of fo first means for multiplying oscillations from said source by the value of 1/D to produce a pulse train having a first resultant frequency fo.1/D. second means for multiplying said first resultant frequency fo.1/D pulse train by the value of said vectorial velocity data to provide a pulse train having a second resultant frequency fo.V/D, and third means for multiplying the second resultant frequency fo.V/D pulse train from said second means for multiplying by the value of each axis motion command to produce a motion command pulse train for each axis resulting in a machine tool vectorial velocity proportional to fo.V.
Claim 14
Dependent Claim
162 words
In a numerical control system for a machine tool having a source of data including axis motion command data and vectorial velocity data V for commanding machine tool operation in response to said data, means for calculating the value of 1/D from said axis command data where D is the vectorial distance commanded, a source of oscillations at a frequency of fo first means for multiplying oscillations from said source by the value of 1/D to produce a pulse train having a first resultant frequency fo.1/D. second means for multiplying said first resultant frequency fo.1/D pulse train by the value of said vectorial velocity data to provide a pulse train having a second resultant frequency fo.V/D, and third means for multiplying the second resultant frequency fo.V/D pulse train from said second means for multiplying by the value of each axis motion command to produce a motion command pulse train for each axis resulting in a machine tool vectorial velocity proportional to fo.V.
Claim 15
Dependent Claim
26 words
In a numerical control system as recited in claim 11 wherein said first, second and third means for multiplying each constitutes a digital differential integrator circuit.
Claim 16
Dependent Claim
171 words
In a numerical control system as recited in claim 11 wherein said means for calculating /D includes: means for ordering said axis motion command data into a highest value axis command, a next highest value axis command and a third highest axis value command, means for calculating the value of one-half of the second highest value axis command, means for calculating the value of one-eighth of the highest value axis command, means for subtracting the value of one-eighth of the highest value axis command from the value of one-half of the second highest axis command to produce a difference value, means for determining whether or not said difference value exceeds zero, means for determining the value of one-fourth of the third highest value axis command, means for adding said difference value if it exceeds zero to said value one-fourth of the third highest value axis command to produce a sum, and means for adding said sum to the value of said highest value axis command to produce the value of D.
Claim 17
Dependent Claim
108 words
In a numerical control system as recited in claim 13 wherein said means for calculating 1/D further includes: means for multiplying the frequency of said oscillations from said source by a constant C to produce oscillations having a frequency of foC, means for multiplying said first resultant frequency fo.1/D pulse train by the value of D to produce an oscillation having a frequency proportional to fo.1/D.D, means for comparing the frequency foC and the frequency fo.1/D./D, D and producing an output indicative of said difference, and means for correcting the value of 1/D responsive to the output of said means for comparing to cause said difference to null.
Claim 18
Dependent Claim
72 words
In a numerical control system as recited in claim 11 wherein said third means for multiplying includes normalizing means for multiplying the numerical value of all of said axis motion command data by 2i where i is a value equal to the number of 0''s which exist between the highest possible value axis command expressed as a binary number and the actually existing highest value axis command expressed as a binary number.
Claim 19
Dependent Claim
429 words
In a numerical control system for a machine tool having a source of data including axis motion command numbers and vectorial velocity numbers for commanding machine tool operation in response to said data, a rate multiplier means for each axis, each said rate multiplier means having a register means including a plurality of stages, there being a least significant bit stage at one end of said register and a most significant bit stage at the other end of said register, means for entering each axis command number into a different one of said register means with its least significant bit in the least significant bit stage, normalizing means including means for moving the largest axis command number within its register the number of stages required to place its most significant bit in the most significant bit stage, and for moving said other axis command numbers within their respective registers a similar number of stages toward the most significant bit stage as the largest command number was moved, said means for moving the largest axis command number within its register the number of stages required to place its most significant bit in the most significant bit stage, and said means for moving said other axis command numbers within their respective registers a similar number of stages toward the most significant bit stage as the largest command number was moved includes: counting means for establishing a count equal to the number of stages between the highest order stage and the stage in which the most significant bit of said highest command number is placed, a source of shift pulses for simultaneously circulating the contents of each of said register means once said least significant stage into said most significant stage, means for applying shift pulses from said source to each of said register means to cause them to circulate their contents out from their least significant stage positions and into their most significant stage positions, and means responsive to said counting means for preventing a number of shift pulses from being applied to each of said register means equal to the count in said counting means, means responsive to the values of the command numbers on said register means for determining the value 1/D where D is the vectorial distance commanded by said command numbers, and means responsive to said vectorial velocity number, said value 1/D and each axis command number for providing a pulse train for each axis which has a frequency proportional to the product of said vectorial velocity number, said value 1/D and the respective axis command number.
Claim 20
Dependent Claim
429 words
In a numerical control system for a machine tool having a source of data including axis motion command numbers and vectorial velocity numbers for commanding machine tool operation in response to said data, a rate multiplier means for each axis, each said rate multiplier means having a register means including a plurality of stages, there being a least significant bit stage at one end of said register and a most significant bit stage at the other end of said register, means for entering each axis command number into a different one of said register means with its least significant bit in the least significant bit stage, normalizing means including means for moving the largest axis command number within its register the number of stages required to place its most significant bit in the most significant bit stage, and for moving said other axis command numbers within their respective registers a similar number of stages toward the most significant bit stage as the largest command number was moved, said means for moving the largest axis command number within its register the number of stages required to place its most significant bit in the most significant bit stage, and said means for moving said other axis command numbers within their respective registers a similar number of stages toward the most significant bit stage as the largest command number was moved includes: counting means for establishing a count equal to the number of stages between the highest order stage and the stage in which the most significant bit of said highest command number is placed, a source of shift pulses for simultaneously circulating the contents of each of said register means once said least significant stage into said most significant stage, means for applying shift pulses from said source to each of said register means to cause them to circulate their contents out from their least significant stage positions and into their most significant stage positions, and means responsive to said counting means for preventing a number of shift pulses from being applied to each of said register means equal to the count in said counting means, means responsive to the values of the command numbers on said register means for determining the value 1/D where D is the vectorial distance commanded by said command numbers, and means responsive to said vectorial velocity number, said value 1/D and each axis command number for providing a pulse train for each axis which has a frequency proportional to the product of said vectorial velocity number, said value 1/D and the respective axis command number.
Claim 21
Dependent Claim
284 words
In a numerical control system apparatus for generating a feedrate pulse train in response to data representative of a desired velocity for a numerical control system and data representative of a desired vectorial path D X2+Y2+Z2 expressed as distance commands along coordinate axes X, Y and Z, said apparatus comprising: an axis register means for each axis for storing the distance commands for that axis, a D register means responsive to the distance commands stored in all oF said axis register means for establishing the value of D in said D register means, a source of oscillations at a frequency fo a 1/D register means, means for establishing the 1''s complement of the value Din said register, means foe entering the 1''s complement of the value D from said D register means into said 1/D register means, means including said 1/D register means for dividing the frequency fo by the value of the contents of said 1/D register means to produce a pulse train having a frequency fo.1/D, means including said D register means for multiplying pulse train having a frequency fo.1/D by the value of the contents of said D register means to produce a pulse train having a frequency fo* Congruent fo means for comparing the frequency fowith the frequency fo* and producing an error signal responsive thereto, means for correcting the value of 1/D in said 1/D register responsive to said error signal, a V register means, means for establishing the value of V in said V register means, and means including said V register for dividing said pulse train having the frequency fo* by the value in said V register to produce a feedrate pulse train having the frequency fo.1/D.V.
Claim 22
Dependent Claim
284 words
In a numerical control system apparatus for generating a feedrate pulse train in response to data representative of a desired velocity for a numerical control system and data representative of a desired vectorial path D X2+Y2+Z2 expressed as distance commands along coordinate axes X, Y and Z, said apparatus comprising: an axis register means for each axis for storing the distance commands for that axis, a D register means responsive to the distance commands stored in all oF said axis register means for establishing the value of D in said D register means, a source of oscillations at a frequency fo a 1/D register means, means for establishing the 1''s complement of the value Din said register, means foe entering the 1''s complement of the value D from said D register means into said 1/D register means, means including said 1/D register means for dividing the frequency fo by the value of the contents of said 1/D register means to produce a pulse train having a frequency fo.1/D, means including said D register means for multiplying pulse train having a frequency fo.1/D by the value of the contents of said D register means to produce a pulse train having a frequency fo* Congruent fo means for comparing the frequency fowith the frequency fo* and producing an error signal responsive thereto, means for correcting the value of 1/D in said 1/D register responsive to said error signal, a V register means, means for establishing the value of V in said V register means, and means including said V register for dividing said pulse train having the frequency fo* by the value in said V register to produce a feedrate pulse train having the frequency fo.1/D.V.
Claim 23
Dependent Claim
289 words
In a numerical control system as recited in claim 17 wherein said means responsive to the distance data stored in all said axis register means for establishing the value of D in said register means includes: means for ordering the largest distance command, the next largest distance command and the smallest distance command, a calculating register, means for entering said next largest distance command into said calculating register, means for extracting one-half of the value of said next largest distance command from said calculating register, means for entering said one-half of the value of said largest distance into said D register, means for entering said largest distance command into said calculating register, means for extracting one-eighth of the value of said largest distance command from said calculating register, means for converting said one-eighth of the value of said largest distance command into a negative number, means for entering said negative number into said D register to be added to the number already there leaving a resultant difference, means for determining whether the resultant difference is less than zero in value, means for clearing said D register responsive to said resultant difference being less than zero, means for said smallest distance command into said calculating register, means for extracting one-fourth of the value of the smallest distance command from said calculating register, means for entering said one-fourth of the value of the smallest distance command into said D register to be added to the value therein, means for entering the largest distance command into said calculating register, and means for transferring the largest distance command from said calculating register to said D register to be added to the contents thereof whereby the value D is established in said D register.
Claim 24
Dependent Claim
88 words
In a numerical control system as recited in claim 17 wherein there is included means for normalizing the contents of said axis register including means for multiplying all of said distance commands by the value 2nwherein n is a value equal to the number of o''s which exist between the most significant bit of the highest possible distance command expressed as a binary number which can be lifted into said axis register means and the most significant bit of the largest distance command expressed as a binary number.
Claim 25
Dependent Claim
34 words
In a numerical control system as recited in claim 17 whereIn said axis register means, said D register means, said 1/D means and said V register means each comprises a digital differential integrator circuit.
Claim 26
Dependent Claim
190 words
Apparatus for generating a feedrate pulse train in response to number data expressed as a velocity number V representative of a desired velocity for operation of a machine tool and a vectorial distance D representative of a desired motion expressed as an X axis command number, a Y axis command number and a Z axis command number, said apparatus comprising: an axis register means for each axis for storing each axis command number, a source of oscillations at a frequency of fo a 1/D register means, means responsive to the command numbers in said axis register means and including said 1/D register means and oscillations from said source for establishing a value in said 1/D register means having the value 1/D, a V register means, means for entering the value of the V number into said V register means, means for applying the oscillations from said source to said 1/D register means to provide an output pulse train having a frequency fo.1/D, and means for applying the pulse train having a frequency fo.1/D to said V register means to produce a resulting feedrate pulse train having the frequency value fo.V/D.
Claim 27
Dependent Claim
190 words
Apparatus for generating a feedrate pulse train in response to number data expressed as a velocity number V representative of a desired velocity for operation of a machine tool and a vectorial distance D representative of a desired motion expressed as an X axis command number, a Y axis command number and a Z axis command number, said apparatus comprising: an axis register means for each axis for storing each axis command number, a source of oscillations at a frequency of fo a 1/D register means, means responsive to the command numbers in said axis register means and including said 1/D register means and oscillations from said source for establishing a value in said 1/D register means having the value 1/D, a V register means, means for entering the value of the V number into said V register means, means for applying the oscillations from said source to said 1/D register means to provide an output pulse train having a frequency fo.1/D, and means for applying the pulse train having a frequency fo.1/D to said V register means to produce a resulting feedrate pulse train having the frequency value fo.V/D.
Claim 28
Independent Claim
133 words
A method for generating a feedrate pulse train for commanding a numerically controlled machine tool along a vectorial path D from motion command information expressed as a motion command number for each of a plurality of axes, and from a desired velocity for said machine tool expressed as a velocity number V, said method comprising the steps of calculating the value of D from the axis motion command numbers, determining the value 1/D from the calculated value of D, generating a pulse train having a frequency fomultiplying the frequency of the generated pulse train by the value 1/D to establish a second pulse train having a value foi1/D, and multiplying the frequency of the second pulse train by the velocity number to provide a feedrate pulse train having a frequency proportional to fo.1/D.V.
Claim 29
Independent Claim
133 words
A method for generating a feedrate pulse train for commanding a numerically controlled machine tool along a vectorial path D from motion command information expressed as a motion command number for each of a plurality of axes, and from a desired velocity for said machine tool expressed as a velocity number V, said method comprising the steps of calculating the value of D from the axis motion command numbers, determining the value 1/D from the calculated value of D, generating a pulse train having a frequency fomultiplying the frequency of the generated pulse train by the value 1/D to establish a second pulse train having a value foi1/D, and multiplying the frequency of the second pulse train by the velocity number to provide a feedrate pulse train having a frequency proportional to fo.1/D.V.
Claim 30
Dependent Claim
89 words
A method as recited in claim 22 wherein said step of calculating the value of D from the axis motion command numbers includes the step of multiplying the value of each of the motion command numbers by a number 2n where nis a value equal to the number of 0''s between the most significant bit of the largest of the actually existing axis motion command numbers expressed as a binary number and the most significant bit of the largest possible axis motion command number expressed as a binary number.
References Cited (Backward Citations)
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1974-11-01 | 1975-05-03 | 1975-11-02 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 1978-11-01 | 1979-05-03 | 1979-11-02 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 1982-11-01 | 1983-05-03 | 1983-11-02 | $7700.00 | Window Closed / Lapsed |