Claims Analysis
Total Claims: 18
Claim 1
Independent Claim
211 words
In a system capable of moving one part relative to another by relative movement of at least three series connected relatively movable members along at least two predetermined axes defined by cooperating structure of adjacent members and having at least two step motors each acting between and moving said adjacent members along the predetermined axes in discrete increments and acting together to drive said parts along a series of successive segments approximating a predetermined path, the improvement comprising clock pulse generator means for generating a train of clock pulses; logic means to select as a major axis that one of the axes having the greater number of steps to be taken over at least the segment next to be followed; interpolation pulse generator means for generating a major axis interpolation pulse for each clock pulse and minor axis interpolation pulses as required by the logic of the system to follow the segment, said interpolation logic employing means whereby minor axis interpolation pulses are derived only after each major axis pulse upon immediate evaluation of whether an interpolation pulse is required along each minor axis and before the next clock pulse; and means for deriving step motor pulses to drive their respective step motors from said interpolation pulses for the respective axes.
Claim 2
Dependent Claim
211 words
In a system capable of moving one part relative to another by relative movement of at least three series connected relatively movable members along at least two predetermined axes defined by cooperating structure of adjacent members and having at least two step motors each acting between and moving said adjacent members along the predetermined axes in discrete increments and acting together to drive said parts along a series of successive segments approximating a predetermined path, the improvement comprising clock pulse generator means for generating a train of clock pulses; logic means to select as a major axis that one of the axes having the greater number of steps to be taken over at least the segment next to be followed; interpolation pulse generator means for generating a major axis interpolation pulse for each clock pulse and minor axis interpolation pulses as required by the logic of the system to follow the segment, said interpolation logic employing means whereby minor axis interpolation pulses are derived only after each major axis pulse upon immediate evaluation of whether an interpolation pulse is required along each minor axis and before the next clock pulse; and means for deriving step motor pulses to drive their respective step motors from said interpolation pulses for the respective axes.
Claim 3
Dependent Claim
46 words
The system of claim 1 in which at least two registers are provided to store remaining major and minor interpolation steps to be taken and an accumulator register is provided into which predetermined outputs from the other registers are transferred to control minor axis interpolation pulses.
Claim 4
Dependent Claim
49 words
The system of claim 1 in which means are provided to generate successive calculation periods defined by successive control pulses during the first of which major axis interpolation pulses are always generated and during second of which minor axis interpolation pulses may be generated as required by system logic.
Claim 5
Dependent Claim
102 words
The system of claim 3 in which at least two registers are provided to store remaining major and minor interpolation steps to be taken with means to decrement the register containing major axis steps and produce a major axis interpolation pulse during the first calculation period and in which an accumulator register is provided to receive calculations from the system logic during the first calculation period so that during the second calculation period when certain predetermined conditions are met, a minor axis interpolation pulse may be generated by means provided for that purpose and to decrement the register containing minor axis steps.
Claim 6
Dependent Claim
43 words
The system of clAim 4 in which a linear segment is to be followed and in which the at least two registers are major and minor axis registers storing respectively the interpolation steps to be taken along the major and minor axes, respectively.
Claim 7
Dependent Claim
57 words
The system of claim 4 in which a circular arc segment is to be followed and in which there are at least four registers storing respectively the remaining interpolation steps to be taken along first and second axes and the coordinate position along said first and second axes of the current point in the segment being followed.
Claim 8
Independent Claim
267 words
The method of simulating the following of a straight line segment by interpolation increments along predetermined major and minor axes where remaining steps to be taken along said axes are stored in major and minor axis registers and certain output logic originating from said registers is stored in an accumulator register comprising, setting the major axis register at the number of interpolation steps of which will be required by major axis motion, setting the minor axis register at the number of units of interpolation steps which will be required by minor axis motion, setting an accumulator register at zero, using each pulse from a variable frequency clock to generate successive timing pulses which represent first and second successive time intervals in which successive steps in calculation may occur, making a first arithmetic calculation in the period of the first timing pulse during which the major axis register is always decremented and a single interpolation pulse is output to the major axis step motor logic and the contents of the minor axis register is added in the accumulator register to the contents of accumulator, during the second calculation period testing the output of the accumulator register to sense positive number storage capacity of the register to determine whether its contents contain a positive number and if it does not, during the second calculation passing no signal to the minor axis step motor logic, but if the accumulator 102 does contain a positive number, passing a signal to cause the minor axis register to be decremented and causing one unit output to the minor axis step motor logic 115.
Claim 9
Independent Claim
267 words
The method of simulating the following of a straight line segment by interpolation increments along predetermined major and minor axes where remaining steps to be taken along said axes are stored in major and minor axis registers and certain output logic originating from said registers is stored in an accumulator register comprising, setting the major axis register at the number of interpolation steps of which will be required by major axis motion, setting the minor axis register at the number of units of interpolation steps which will be required by minor axis motion, setting an accumulator register at zero, using each pulse from a variable frequency clock to generate successive timing pulses which represent first and second successive time intervals in which successive steps in calculation may occur, making a first arithmetic calculation in the period of the first timing pulse during which the major axis register is always decremented and a single interpolation pulse is output to the major axis step motor logic and the contents of the minor axis register is added in the accumulator register to the contents of accumulator, during the second calculation period testing the output of the accumulator register to sense positive number storage capacity of the register to determine whether its contents contain a positive number and if it does not, during the second calculation passing no signal to the minor axis step motor logic, but if the accumulator 102 does contain a positive number, passing a signal to cause the minor axis register to be decremented and causing one unit output to the minor axis step motor logic 115.
Claim 10
Independent Claim
568 words
The method of simulating the following of a circular arc segment by interpolation increments along predetermined major and minor axes X and Y where remaining steps to be taken along said axes are stored in Delta X and Delta Y registers, the rectangular coordinate position at any given time with respect to a predetermined origin representing the center of the arc are stored in I and J registers corresponding to the X and Y coordinating from said registers is stored in an accumulator register by directly interpolation pulses into X and Y step motor logic, respectively, comprising setting the I register at the value of the X coordinate distance from the circular origin to the start point measured along the X axis, setting the J register at the value of the Y coordinate distance from the same circular origin to the same start point measured along the Y axis, setting the Delta X register at the number of units of X axis motion required to reach the end point of the arc segment, setting Delta Y register 212 at the number of units of Y axis motion required to reach said end point, setting the accumulator at zero, generating a train of variable frequency clock pulses, determining if either Delta X or Delta Y equals zero and, if so directing clock pulse directly into the other axis step logic input. If neither Delta X or Delta Y equals zero enabling clock pulses to enter the interpolation registers, previous to the first calculation, determining the major axis by comparison if I is greater than J or J is greater than I, establishing a first calculation period during which, if I is greater than J: (1) the accumulator is augmented by the contents of the J register (2) a Y axis step is commanded through Y axis step logic input, (3) the Delta Y register is decremented by one and (4) the J register is decremented by one, but if J is greater than I: (1) the accumulator is decremented by the contents of the I register and (2) X axis step is commanded through X axis step logic input (3) the Delta X register is decremented by one and (4) the I register 209 is augmented by one, Sensing the storage condition of the accumulator register at the conclusion of the calculation to determine whether its contents contain a positive or a negative number, and during a second calculation period if J is greater than I, and the accumulator register is not negative taking no action if I is greater than J, and the accumulator register is not positive, taking no action if J is greater than I and the accumulator is negative: (1) the accumulator 208 is augmented by the contents of the J register (2) a Y axis step is commanded through Y axis step logic (3) the Delta Y register is decremented by one, and (4) the J register 210 is decremented by one. If I is greater than J and the accumulator is positive, (1) the accumulator is decremented by the contents of the I register, (2) an X axis step is commanded through X axis step logic (3) Delta X register 211 is decremented by one, and, (4) the I register 209 is augmented by one, and continuing calculations until the contents of both the Delta X and the Delta Y registers equal zero.
Claim 11
Independent Claim
568 words
The method of simulating the following of a circular arc segment by interpolation increments along predetermined major and minor axes X and Y where remaining steps to be taken along said axes are stored in Delta X and Delta Y registers, the rectangular coordinate position at any given time with respect to a predetermined origin representing the center of the arc are stored in I and J registers corresponding to the X and Y coordinating from said registers is stored in an accumulator register by directly interpolation pulses into X and Y step motor logic, respectively, comprising setting the I register at the value of the X coordinate distance from the circular origin to the start point measured along the X axis, setting the J register at the value of the Y coordinate distance from the same circular origin to the same start point measured along the Y axis, setting the Delta X register at the number of units of X axis motion required to reach the end point of the arc segment, setting Delta Y register 212 at the number of units of Y axis motion required to reach said end point, setting the accumulator at zero, generating a train of variable frequency clock pulses, determining if either Delta X or Delta Y equals zero and, if so directing clock pulse directly into the other axis step logic input. If neither Delta X or Delta Y equals zero enabling clock pulses to enter the interpolation registers, previous to the first calculation, determining the major axis by comparison if I is greater than J or J is greater than I, establishing a first calculation period during which, if I is greater than J: (1) the accumulator is augmented by the contents of the J register (2) a Y axis step is commanded through Y axis step logic input, (3) the Delta Y register is decremented by one and (4) the J register is decremented by one, but if J is greater than I: (1) the accumulator is decremented by the contents of the I register and (2) X axis step is commanded through X axis step logic input (3) the Delta X register is decremented by one and (4) the I register 209 is augmented by one, Sensing the storage condition of the accumulator register at the conclusion of the calculation to determine whether its contents contain a positive or a negative number, and during a second calculation period if J is greater than I, and the accumulator register is not negative taking no action if I is greater than J, and the accumulator register is not positive, taking no action if J is greater than I and the accumulator is negative: (1) the accumulator 208 is augmented by the contents of the J register (2) a Y axis step is commanded through Y axis step logic (3) the Delta Y register is decremented by one, and (4) the J register 210 is decremented by one. If I is greater than J and the accumulator is positive, (1) the accumulator is decremented by the contents of the I register, (2) an X axis step is commanded through X axis step logic (3) Delta X register 211 is decremented by one, and, (4) the I register 209 is augmented by one, and continuing calculations until the contents of both the Delta X and the Delta Y registers equal zero.
Claim 12
Dependent Claim
247 words
In a system capable of moving one part relative to another by relative movement of at least three series connected relatively movable members along at least two predetermined axes defined by cooperating structure of adjacent members and having at least two step motors each acting between and moving said adjacent members along the predetermined axes in discrete increments and acting together to drive said parts along a series of successive segments approximating a predetermined path, the improvement comprising logic means to select as a major axis that one of the axes having the greater number of steps to be taken over at least the segment next to be followed, means genrating an interpolation pulse train of evenly spaced pulses representing the major axis length of said segment logic means for each minor axis to generate a train of interpolation pulses the number of which minor axis interpolation pulses is representative of the length of that minor axis segment which, pulse train is composed at most of no more pulses than the major axis pulse train and the pulses in which train may be unevenly spaced; separate means for each of said axes receiving interpolation pulses from said logic means and producing a step motor pulse for a predetermined number of interpolation pulses, whereby the variations in spacing of the minor axis interpolation pulse output is averaged so that pulses representing a fixed speed occur at regular intervals and so that the potential error in resolution is decreased.
Claim 13
Dependent Claim
247 words
In a system capable of moving one part relative to another by relative movement of at least three series connected relatively movable members along at least two predetermined axes defined by cooperating structure of adjacent members and having at least two step motors each acting between and moving said adjacent members along the predetermined axes in discrete increments and acting together to drive said parts along a series of successive segments approximating a predetermined path, the improvement comprising logic means to select as a major axis that one of the axes having the greater number of steps to be taken over at least the segment next to be followed, means genrating an interpolation pulse train of evenly spaced pulses representing the major axis length of said segment logic means for each minor axis to generate a train of interpolation pulses the number of which minor axis interpolation pulses is representative of the length of that minor axis segment which, pulse train is composed at most of no more pulses than the major axis pulse train and the pulses in which train may be unevenly spaced; separate means for each of said axes receiving interpolation pulses from said logic means and producing a step motor pulse for a predetermined number of interpolation pulses, whereby the variations in spacing of the minor axis interpolation pulse output is averaged so that pulses representing a fixed speed occur at regular intervals and so that the potential error in resolution is decreased.
Claim 14
Dependent Claim
39 words
The system of claim 9 in which the separate means for each of the axes is counter means into which interpolation pulses are fed and at a predetermined count of interpolation pulses an output step motor pulse is generated.
Claim 15
Dependent Claim
24 words
The system of claim 10 in which the predetermined count of interpolation pulses is some power of 10 for each output step motor pulse.
Claim 16
Dependent Claim
52 words
The system of claim 11 in which the count of the counter means starts at 5 times some power of ten and counts up or down depending on the direction of rotation required of the step motor generating respectively a carry pulse for count up or a borrow pulse for count down.
Claim 17
Dependent Claim
43 words
The system of claim 10 in which the counter means for each of the axes are not reset at the end of each programmed segment but the interpolation counts in each counter means is used as a correction for the next programmed segment.
Claim 18
Dependent Claim
40 words
The system of claim 12 in which the counter means for each of the axes may be at any count at the end of a programmed segment and is not altered so that it provides a correction of subsequent segments.