Claims
- 1. The method of controlling the velocity and position of a member movable along an axis X in accordance with a block of command data signals numerically designating a desired velocity V, said method comprising:
- a measuring off successive periods .DELTA.T in actual time,
- b producing first electric signals representing a velocity number PRXC proportional to the desired velocity V,
- c producing second electric signals and changing them once each period .DELTA.T to represent a periodically advancing theoretical position XTC which said member should occupy.
- d producing third electric signals representing during each period .DELTA.T the then-existing numerical error XERR between the theoretical position XTC and the actual position at which the member is located,
- e applying to a velocity servo which is coupled to said member, an input signal which is proportional to the sum of (a) a first term proportional to the number PRXC, and (b) a second term proportional to the number XERR, and
- f in response to said signaled error XERR exceeding a predetermined threshold value HERRX during any given period .DELTA.T, foregoing said changing of said second signals in step (c), omitting said step (e), and instead applying to said servo an input signal which is proportional only to the error number XERR.
- 2. The method of controlling the velocity and position of a member movable along an axis X in accordance with a block of numerical command data designating the desired velocity V, said method comprising:
- a measuring off successive time periods in actual time, said periods having a normal duration .DELTA.TN,
- b deriving from said command data first electric signals representing a velocity number PRXC designating said velocity V in units of distance per .DELTA.TN,
- c deriving from said command data electrical second signals representing a theoretical position number XTC and changing such signals to increment the represented number by the amount PRXC during each time period, such that XTC.sub.i = XTC.sub.i.sub.-1 + PRXC,
- d sensing the actual instantaneous position XIN of said member,
- e driving said member along the axis at a velocity which is proportional to the sum of (A) a first term proportional to the number PRXC represented by said first signals and (B) a second term proportional to the difference between the instantaneous theoretical position XTC represented by said second signals and the sensed instantaneous actual position XIN, and
- f modifying the performance of said steps (c) and (e) to effectively treat the number PXRC as being zero whenever said difference exceeds a predetermined threshold value HERRX.
- 3. The method defined in claim 2 further characterized in that said step (f) is carried out only whenever said difference exceeds said threshold value for pre-established number of said time periods.
- 4. The method of controlling the velocity and position of a member movable along an axis in accordance with a block of command data designating the desired velocity V, said method comprising:
- a producing from said command data first electric signals representing a velocity number PRXC denoting said velocity V in units of distance per time period .DELTA.TN, where .DELTA.TN is a preselected normal duration,
- b measuring off successive time periods .DELTA.T in actual time with the normal duration of each period being .DELTA.TN,
- c representing by second electric signals a number XTC designating the theoretical desired position of said member,
- c1 utilizing said first signals from step (a) to change said second signals to increment the number XTC by the amount PRXC during each time period,
- d sensing and representing numerically by third electric signals the actual instantaneous position XIN of said member,
- e computing from said second and third signals and producing fourth electric signals representing the position error XERR = XTC - XIN once during each of the periods .DELTA.T,
- f utilizing said first and fourth signals during each period .DELTA.T to produce fifth signals representing a drive speed number XDAC = G.sub.1.PRXC + G.sub.2.XERR, where G.sub.1 and G.sub.2 are selected gain factors, and representing said number XDAC by an analog electric signal E.sub.x,
- g applying said analog signal E.sub.x to a velocity servo having a motor mechanically coupled to said member to drive the latter along the axis at a speed corresponding to said number XDAC,
- h comparing during each period .DELTA.T said signals representing said error XERR with a predetermined first threshold value LERR and increasing the durations of the succeeding time periods .DELTA.T when, in any given period, the error XERR is a lag greater than LERR and decreasing the durations of such succeeding periods when, in any given period, the error XERR is less than LERR and the duration of the given period is greater than .DELTA.TN,
- i comparing during each period .DELTA.T said signals representing said error XERR with a predetermined second threshold value HERR which is greater than LERR, and in response to the error XERR exceeding said threshold HERR in any given one of said periods (1) setting said gain factor G.sub.1 to zero to make said analog signal E.sub.x substantially proportional only to G.sub.2.XERR in the execution of said steps (f) and (g), and (2) foregoing the execution of said step (c1) to make the represented number XTC remain at the last value thereof.
- 5. The method set forth in claim 4 further including:
- d1 in response to the error XERR exceeding said second threshold value in any given time period, foregoing the execution of said step (h).
- 6. The method set forth in claim 4 further including:
- d1 in response to the error XERR exceeding said second threshold value in any given time period, changing the gain factor G.sub.2 from its existing value to a predetermined higher value during that time period, whereby said member holds after moving to the then-signaled theoretical position XTC.
- 7. In a system for controlling the velocity and position of a member movable along an axis X in accordance with a block of command data signals numerically designating a desired velocity V, said system comprising, in combination
- 1 means for measuring off successive periods .DELTA.T in actual time,
- 2 means responsive to said command data signals for producing first electric signals representing a velocity number PRXC proportional to the desired velocity V,
- 3 means for producing second electric signals representing a theoretical position XTC which the member should occupy,
- 4 means coupled to and controlled in part by said means (1) for changing said second signals once each period to make the signaled theoretical position XTC periodically advance,
- 5 means controlled in part by said means (1) for producing third electric signals representing during each period .DELTA.T the then-existing error XERR between the theoretical position XTC and the actual position at which the member is located,
- 6 a velocity servo coupled to drive the member along the axis and means responsive to said first and third signals for energizing such servo in accordance with the sum of (a) a first term proportional to the number PRXC and (b) a second term proportional to the number XERR, and
- 7 means responsive to said third signals exceeding a predetermined threshold HERRX during any given period .DELTA.T for (a) disabling said means (4) and (b) modifying the operation of said means (6) to negate said first term.
- 8. In a system for controlling the velocity and position of a member movable along an axis X according to a block of numerical command data signals designating the desired velocity V, said system comprising in combination:
- 1 means for measuring off successive periods .DELTA.T in actual time, with such periods having a normal duration .DELTA.TN,
- 2 means responsive to said command data signals for producing first electric signals representing a velocity number PRXC designating said velocity V in units of distance per .DELTA.TN,
- 3 means for producing second electric signals representing a theoretical position number XTC, and means controlled in part by said means (1) responsive to said first signals for changing the second signals to increment the represented number by the amount PRXC once during each time period, such that XTC.sub.i = XTC.sub.i.sub.-1 + PRXC, 4 sensing the actual instantaneous position XIN of said member along the axis,
- 5 a velocity servo responsive to said first and second signals for driving said member along the axis at a velocity which is proportional to the sum of (a) a first term proportional to the number PRXC represented by said first signals, and (b) a second term proportional to the difference between the signaled theoretical position XTC represented by said second signals and the sensed actual position XIN, and
- 6 means for modifying the operation of said means (3) and (5) whenever said difference exceeds a predetermined threshold value, to effectively cause said number PRXC to be treated as zero.
- 9. The combination set forth in claim 8 further characterized in that said means (6) includes:
- 6a means controlled in part by said means (1) for inhibiting the modifying action until said difference has exceeded said threshold value for a pre-established number of the successive time periods.
- 10. In a system for controlling the velocity and position of a member movable along an axis X according to a block of numerical command data signals designating the desired velocity V, said system comprising in combination:
- 1 means responsive to said command data signals for producing first electric signals representing a velocity number PRXC which designates said velocity V in dimensions of distance per time period .DELTA.TN, where .DELTA.TN is a preselected duration,
- 2 means for measuring off successive periods .DELTA.T in actual time with such periods having a normal duration of .DELTA.TN,
- 3 means for producing second electric signals representing a number XTC which designates the instantaneous theoretical desired position of said member,
- 4 means controlled in part by said means (2) and responsive to said first signals for acting upon said means (3) to increment the signaled number XTC by the amount PRXC once during each time period .DELTA.T, such that XTC.sub.i = XTC.sub.i.sub.-1 + PRXC,
- 5 means coupled to said member for producing third signals numerically representing the actual position XIN of the member along the axis,
- 6 means controlled in part by said means (2) and responsive to said second and third signals for producing fourth signals which, during each period .DELTA.T, represent the then-existing position error XERR = XTC - XIN,
- 7 means controlled in part by said means (2) and responsive to said first and fourth signals for producing fifth signals which, during each period .DELTA.T, represent a speed number XDAC = G.sub.1.PRXC + G.sub.2.XERR, where G.sub.1 and G.sub.2 are preselected gain factors of proportionality,
- 8 a velocity servo coupled to said member and means responsive to said fifth signals for energizing such servo in accordance with said number XDAC,
- 9means responsive to said fourth signals for modifying said means (2) and increasing the durations of the following periods .DELTA.T when, in any given period .DELTA.T, the error XERR is a lag and exceeds in magnitude a predetermined threshold value LERR,
- 10 means responsive to said fourth signals for (a) setting said gain factor G.sub.1 to zero, and (b) disabling said means (4) when, in any given period .DELTA.T, the error XERR exceeds in magnitude a second predetermined threshold value HERR.
- 11. The combination set forth in claim 10 further including
- 11 means responsive to said first signals for making at least one of said threshold values LERRX and HERRX a monotonic function of the velocity number PRXC.
- 12. The combination set forth in claim 10 further including
- 11 means responsive to said fourth signals for disabling said means (9).
- 13. The combination set forth in claim 10 further including
- 11 means responsive to said fourth signals for changing said gain factor G.sub.2 to a higher value G.sub.2 ' whenever said error XERRX exceeds said secong threshold HERRX, whereby said member holds after moving to the last-signaled theoretical position XTC.
- 14. The method of controlling the velocity and position of a member movable along an axix X in accordance with a block of numerical command data signals designating the desired velocity V, said method comprising
- a. measuring off successive periods .DELTA.T in actual time, with such periods normally having a duration .DELTA.TN,
- b. deriving from said command data first electric signals numerically representing a velocity number PRXC expressing said velocity V in dimensions of distance per time period .DELTA.TN,
- c. utilizing said first signals to create second electric signals numerically representing a periodically changing theoretical position XTC to which said member should advance during each time period .DELTA.T,
- d. utilizing said second signals to create third electric signals numerically representing, during each period .DELTA.T, the error XERR between the theoretical position XTC and the actual position in which said member resides,
- e. utilizing said first and third signals to create fourth signals proportional to the sum of PRXC and G.sub.2.XERR, where G.sub.2 is a predetermined gain factor,
- f. driving said member along the axis at a velocity which corresponds to the sum represented by said fourth signals,
- g. creating a HOLD signal when said member is to be stopped,
- h. and utilizing said HOLD signal to (1) freeze said second signals and the theoretical position number XTC represented thereby, (2) modify said step (e) such that said fourth signals become proportional to G.sub.2 '.XERR, where G.sub.2 ' is a predetermined gain factor different from the factor G.sub.2.
- 15. The method of controlling the velocity and the dynamically changing position of a member movable along an axis X in accordance with a block of numerical data designating the desired velocity V, said method comprising:
- a. measuring off successive periods .DELTA.T in actual time, with such periods normally having a duration .DELTA.TN,
- b. deriving from said command data first electric signals numerically representing a velocity number PRXC expressing said velocity V in dimensions of distance per time period .DELTA.TN,
- c. creating second electric signals numerically representing the theoretical desired position XTC of said member and utilizing said first signals to change such position signals once during each period .DELTA.T by the amount of the velocity number PRXC,
- d. creating third electric signals dynamically and numerically representing the actual position XIN of said member as it moves along the axis,
- e. utilizing said second and third signals to create, by subtraction once during each period .DELTA.T, fourth electric signals dynamically and numerically representing the then-existing error XERR = XTC - XIN between the theoretical and actual positions of said member,
- f. creating fifth and sixth electric signals numerically representing predetermined gain factors G.sub.2 and G.sub.2 ', where G.sub.2 ' is greater than G.sub.2,
- g. utilizing said first, fourth and fifth signals to compute, once during each period .DELTA.T, and to produce seventh electric signals numerically representing, the then-existing value of a speed command number XDAC proportional to the sum PRXC + G.sub.2 . XERR,
- h. energizing a velocity servo in accordance with said seventh signals to drive said member physically along the axis at a theoretical velocity corresponding to the value XDAC,
- i. creating a HOLD signal when said member is purposely or for an abnormal condition to be held from further travel, and
- j. in response to the presence of said HOLD signal (1) making the effective value of the PRXC signals in said step (g) zero, (2) utilizing said sixth signals instead of the fifth to change the gain factor G.sub.2 to G.sub.2 ' in said step (g), and (3) foreclosing the changing of the XTC signals in step (c); whereupon said signal XDAC becomes equal to G.sub.2 '. XERR during the periods .DELTA.T in which the HOLD signal exists, and said member comes to rest at the position represented by the then non-changing value XTC of the second signals as the error XERR becomes zero.
- 16. The method of controlling the velocity and position of a member movable along an axis X in accordance with a block of numerical command data designating a desired velocity V, said method comprising:
- a. measuring off successive periods .DELTA.T in actual time, with the duration of the periods normally having a predetermined value .DELTA.TN,
- b. deriving from said command data first digital signals numerically representing a velocity number PRXC expressing said velocity V in dimensions of distance per time period .DELTA.TN,
- c. creating second digital signals numerically representing the desired and theoretical position XTC of said member,
- d. utilizing said first and second signals to change, by algebraic addition once during each period .DELTA.T, the XTC signals such that XTC.sub.i = XTC.sub.1.sub.-1 + PRXC and thus to make the theoretical position change from period to period,
- e. creating third digital signals numerically representing the instantaneous actual position XIN of said member as it moves along the axis.
- f. utilizing said second and third signals to create, by algebraic subtraction once during each period .DELTA.T, fourth digital signals numerically representing the then-existing error XERR = XTC - XIN between the theoretical and actual positions of said member,
- g. utilizing said first and fourth signals to compute during each period .DELTA.T and, to produce fifth digital signals numerically representing the then-existing value of a speed command number XDAC = G[G.sub.1 . PRXC + G.sub.2 . XERR], where G, G.sub.1 and G.sub.2 are selected gain constants of proportionality,
- h. converting said digital signals XDAC into a corresponding analog signal and applying the latter as the input to a velocity servo mechanically coupled to said member to drive the latter at a velocity nominally corresponding to the analog signal,
- i. creating a HOLD signal when it is desired to have said member come to a stop at any time it is moving,
- j. in response to the presence of said HOLD signal, (1) setting said gain factor G.sub.1 to zero, (2) increasing said gain factor G.sub.2 from its original to a greater value G.sub.2 ', and (3) preventing the execution of said step (d) during any period .DELTA.T when the hold signal exists, whereby said XDAC signals and analog signals become proportional to G.sub.2 '.XERR and said member moves until it stops in an actual position XIN equal to the then-signaled theoretical position XTC with the error XERR reduced to zero, and
- k. in response to the removal of said hold signal restoring said gain factors G.sub.1 and G.sub.2 to their original values and executing said step (d) during each period .DELTA.T.
- 17. In apparatus for controlling the velocity and position of a member movable along an axis X in accordance with a block of numerical command data signals designating the desired velocity V, said apparatus comprising in combination:
- 1 means for measuring off successive periods .DELTA.T in actual time, with such periods normally having a duration .DELTA.TN,
- 2 means responsive to said command data signals for producing first signals representing a velocity number PRXC expressing said velocity V in dimensions of distance per time period .DELTA.TN,
- 3 means controlled in part by said means (1) and responsive to said first signals for producing second signals representing a periodically changing theoretical position XTC to which said member should advance during each period .DELTA.T,
- 4 means controlled in part by said means (1) and responsive to said second signals for producing third signals representing, during each period .DELTA.T, the error XERR between the theoretical position XTC and the actual position in which said member resides,
- 5 means responsive to said first and third signals for producing fourth signals proportional to the sum of PRXC and G.sub.2.XERR, where G.sub.2 is a predetermined gain factor,
- 6 a velocity servo physically coupled to said member, and means responsive to said fourth signals for supplying an input to such servo which is proportional to the value of the fourth signals,
- 7 means for creating a HOLD signal, and
- 8 means responsive to said HOLD signal to (a) modify the operation of said means (3) to maintain said second signals and the theoretical position unchanged, (b) modify the operation of said means (5) to make said fourth signals proportional to G.sub.2 '.XERR, where G.sub.2 ' is a predetermined gain factor different from said factor G.sub.2.
- 18. In apparatus for controlling the velocity and dynamically changing position of a member movable along an axis X in accordance with a block of numerical command data signals designating the desired velocity V, said apparatus comprising in combination:
- 1 means for measuring off successive periods .DELTA.T in actual time, with such periods normally having a duration .DELTA.TN,
- 2 means responsive to said command data signals for producing first electric signals numerically representing a velocity number PRXC expressing said velocity V in dimensions of distance per time period .DELTA.TN,
- 3 means for producing second electric signals numerically representing the theoretical desired position XTC of said member, such means including means controlled in part by said means (1) and responsive to said first signals to change the second signals once during each period .DELTA.T by the amount PRXC,
- 4 means for producing third electric signals dynamically and numerically representing the actual position XIN of said member during each period .DELTA.T,
- 5 means controlled in part by said means (1) and responsive to said second and third signals to produce fourth signals which represent, during each period .DELTA.T, the then-existing position error XERR = XTC - XIN between the theoretical and actual positions,
- 6 means for producing fifth and sixth signals numerically representing predetermined gain factors G.sub.2 and G.sub.2 ', where G.sub.2 ' is greater than G.sub.2,
- 7 means controlled in part by said means (1) and responsive to said first, fourth and fifth signals for computing, and producing seventh electric signals representing during each time period, the value of a speed number XDAC proportional to the sum PRXC + G.sub.2.XERR,
- 8a velocity servo coupled to drive said member along the axis, and means responsive to said seventh signals for energizing such servo in accordance with the value of XDAC,
- 9 means for creating a HOLD signal when said member is purposely as for an abnormal condition to be held from further travel, and
- 10 means responsive to said HOLD signal for (a) making the effective value of the number PRXC as used by said means (3) and means (7) zero despite the value represented by said fourth signals, and (b) modifying the operation of said means (7) so that it responds to said sixth signals instead of the fifth to make the seventh signals and the XDAC number proportional to G.sub.2 '.XERR.
- 19. In apparatus for controlling the velocity, and the dynamically changing position, of a member movable along an axis X in accordance with a block of numerical command data signals designating a desired velocity V, said apparatus comprising in combination:
- 1 means for measuring off successive time periods .DELTA.T in actual time, with the durations of such periods normally being .DELTA.TN,
- 2 means responsive to said command data signals for producing first digital signals representing a velocity number PRXC expressing said velocity V in dimensions of distance per time period .DELTA.TN,
- 3 means for producing second digital signals representing the theoretical desired position number XTC of said member,
- 4 means controlled in part by said means (1) and responsive to said first and second signals to change the second signals once during each period .DELTA.T so as to periodically change in position number such that XTC.sub.i = XTC.sub.1.sub.-1 + PRXC,
- 5 means coupled to said member for producing third digital signals representing a number XIN which designates the actual position which said member occupies,
- 6 means controlled in part by said means (1) and responsive to said second and third signals to compute, by subtraction once each period .DELTA.T and to produce fourth digital signals representing, a number XERR = XTC - XIN designating the then-existing error between the theoretical and actual positions,
- 7 means controlled in part by said means (1) and responsive to said first and fourth signals to compute during each period .DELTA.T and to produce fifth digital signals representing, a speed command number XDAC, such that XDAC = G[G.sub.1.PRXC + G.sub.2.XERR], where G, G.sub.1 and G.sub.2 are predetermined gain factors,
- 8means responsive to said fifth signals for energizing a velocity servo coupled to said member to drive the latter along the axis at a velocity corresponding to the number XDAC,
- 9 means for creating a HOLD signal when it is desired to have said member come to a stop,
- 10 means responsive to said HOLD signal for (a) disabling said means (5), and (b) modifying the operation of said means (7) to set said factor G.sub.1 to zero and increase said gain factor G.sub.2 to a different and higher predetermined value G.sub.2 '.
- 20. The method of controlling the velocity and the dynamically changing position of a member movable along an axis X in accordance with a block of numerical command data designating the desired velocity V, wherein said method includes
- a. measuring off successive periods .DELTA.T in actual time with the normal duration of each period being .DELTA.TN,
- b. deriving from said command data first digital signals numerically representing a velocity number PRXC expressing said velocity V in dimensions of distance per time period .DELTA. TN,
- c. creating second digital signals numerically representing a number XBIAS,
- d. computing from said first and second signals, once during each period .DELTA.T, and creating third digital signals numerically representing a speed command number XDAC = G[PRXC + XBIAS], where G is a predetermined gain factor,
- e. energizing a velocity servo in accordance with said XDAC signals to drive said member at a velocity theoretically corresponding to the number represented by such signals,
- f. sensing and representing by fourth digital signals the numerical value of any error XERR between the theoretical position which the member should occupy during each period .DELTA. T and the position it actually occupies, and
- g. utilizing said fourth signals to cause said second signals to be incrementally changed to increment the number XBIAS by a predetermined amount XKBIAS during any period .DELTA. T when the represent error XERR exceeds a predetermined value, whereby said XBIAS signals progressively change the XDAC signals to bring the position error progressively toward zero if the PRXC signals fail to keep the position error zero; and said method being characterized by
- h. creating a HOLD signal when said member is to be brought to a stop,
- i. in response to the presence of said HOLD signal, modifying said step (d) to treat the number PRXC as having an effective value of zero, and
- j. in response to either the appearance or the disappearance of said HOLD signal, initializing said second signals to restart the XBIAS number at zero.
- 21. The method of controlling the velocity and the dynamically changing position of a member movable along an axis X in accordance with a block of numerical command data designating the desired velocity V, wherein said method includes
- a. measuring off successive periods .DELTA.T in actual time with the normal duration of each period being .DELTA.TN,
- b. deriving from said command data first digital signals numerically representing a velocity number PRXC expressing said velocity V in dimensions of distance per time period .DELTA.TN,
- c. creating second digital signals numerically representing a number XBIAS,
- d. computing from said first and second signals, once during each period .DELTA.T, and creating third digital signals numerically representing a speed command number XDAC = G [PRXC + XBIAS], where G is a predetermined gain factor,
- e. energizing a velocity servo in accordance with said XDAC signals to drive said member at a velocity theoretically corresponding to the number represented by such signals,
- f. sensing and representing by fourth digital signals the numerical value of any error XERR between the theoretical position which the member should occupy during each period .DELTA.T and the position it actually occupies,
- g. utilizing said fourth signals to cause said second signals to be incrementally changed to increment the number XBIAS by a predetermined amount XKBIAS during any period .DELTA.T when the represented error exceeds a predetermined value, whereby said XBIAS signals progressively change the XDAC signals to bring the position error progressively toward zero if the PRXC signals fail to keep the position error zero; and said method is characterized in that said step (g) includes:
- g1. representing by fifth and sixth digital signals the values of predetermined incrementing numbers XKBH and XKBR,
- g2. comparing during each period .DELTA.T the error XERR represented by said fourth signals with said predetermined value,
- g3. during any period .DELTA.T when said signaled number PRXC has an effective value other than zero and said comparison indicates that said error XERR is greater than said predetermined value, changing said second signals incrementally according to said sixth signals, such that XBIAS.sub.i = XBIAS.sub.1.sub.-1 + XKBR, and
- g4. during any period .DELTA.T when said signaled number PRXC has an effective value of zero and said comparison indicates that said error XERR is greater than said predetermined value, changing said second signals incrementally according to said fifth signals, such that XBIAS.sub.i = XBIAS.sub.i.sub.-1 + XKBH.
- 22. The method of controlling the velocity and dynamically changing position of a member movable along an axis X according to a block of command data numerically designating the desired velocity V and distance DX to be traveled, wherein said method includes
- a. measuring off in actual time successive periods .DELTA.T which normally have a standard duration .DELTA.TN,
- b. deriving from said command data and producing first digital signals numerically representing a velocity number PRXC expressing said velocity V in dimensions of distance per .DELTA.TN,
- c. creating second digital signals numerically representing the theoretical instantaneous position XTC of said member,
- d. utilizing said first and second signals to algebraically add once during each period .DELTA.T to change said second signals and change the position number XTC, such that XTC.sub.i = XTC.sub.i.sub.-1 + PRXC,
- e. creating third digital signals numerically and dynamically representing the changeable actual position XIN of said member,
- f. utilizing said second and third signals to algebraically subtract once during each period .DELTA.T to produce fourth digital signals numerically representing changing values of a position error number XERR = XTC - XIN,
- g. creating adjustable fifth signals numerically representing an adjustable feed rate number PER,
- h. creating sixth and seventh digital signals numerically representing a changeable adjustment number XBIAS and a predetermined increment number XKBIAS,
- i utilizing said first, fourth, fifth and sixth signals to compute, once during each period .DELTA.T, and produce eighth signals representing a speed number XDAC = G[PER . PRXC + XTRIM . XERR + XBIAS] where G is an overall gain factor and XTRIM is an individual term gain factor,
- j. energizing a velocity servo in accordance with said XDAC signals to drive said member along the axis theoretically at a speed equal to the XDAC number,
- k. comparing said fourth signals numerically with a predetermined error threshold value TH1 during each .DELTA.T, and in response to the number XERR representing a lag greater than said threshold, incrementally increasing the duration of the succeeding periods .DELTA.T which are measured off according to step (a),
- l. comparing said fourth signals with a predetermined constant during each .DELTA.T, and in response to the former exceeding the latter in magnitude, changing said sixth signal by said seventh signals to increment or decrement the signaled number XBIAS, such that XBIAS.sub.i = XBIAS.sub.i.sub.-1 .+-. XKBIAS, and
- m. placing the member in holding condition by (1) setting said number PER to zero, and (2) setting said seventh signals and said increment number XKBIAS to a different predetermined value.
- 23. The method defined by claim 22 further characterized in that said step (m) includes
- m. placing the member in a HOLD condition by
- m1. changing said number PER to zero,
- m2. increasing the value of said individual gain factor XTRIM,
- m3. initializing said signaled number XBIAS to be zero, and
- m4. changing the signaled increment number XKBIAS to a different value.
- 24. In apparatus for controlling the velocity and dynamically changing position of a member movable along an axis X in accordance with a block of numerical command data signals designating a desired velocity V, said apparatus including
- 1 means for measuring off successive periods .DELTA.T in actual time with the normal duration of each period being .DELTA.TN,
- 2 means responsive to said command data signals for producing first digital signals representing a velocity number PRXC expressing said velocity V in dimensions of distance per time period .DELTA.TN,
- 3 means for creating second digital signals representing a number XBIAS,
- 4 means controlled in part by said means (1) and responsive to said first and second signals, once during each period .DELTA.T, for producing and changing third digital signals representing a speed number XDAC = G[PRXC + XBIAS], where G is a predetermined gain factor,
- 5 a velocity servo coupled to drive said member along the axis, and means responsive to said third signals for energizing said servo in accordance with said speed number XDAC,
- 6 means for producing fourth digital signals representing the error XERR between the theoretical position which the member should occupy in any period and the position in which it actually resides,
- 7 means controlled in part by said means (1) and responsive to said fourth signals for incrementally changing the second signals to increment said second number XBIAS by a predetermined amount XKBIAS during any period .DELTA.T in which the error XERR exceeds a predetermined value, and said apparatus being characterized by the further inclusion of
- 8 means for creating a HOLD signal when said member is to be brought to a stop,
- 9means responsive to the HOLD signal for causing said means (4) to operate as if the number PRXC were zero, and
- 10 means responsive to the appearance or disappearance of said HOLD signal for causing said means (4) to intialize the number XBIAS to a zero value from which the incrementing by said means (7) begins.
- 25. The combination set forth in claim 24 further characterized by and including
- 11 means responsive to the presence or absence of a HOLD signal for causing said means (7) to operate respectively with the predetermined amount XKBIAS having first or second preselected values XKBH or XKBR.
- 26. The combination set forth in claim 24 wherein said means (4) is responsive not only to said first and second signals but also to said fourth signals and said speed number XDAC is equal to G[PRXC + XTRIM . XERR + XBIAS], where XTRIM is a preselected term gain factor;
- and further including
- 11 means responsive to the presence or absence of said HOLD signal for causing said means (4) to operate respectively with said term gain factor XTRIM having first or second pre-established values of XTRMH or XTRMR.
- 27. The combination set forth in claim 24 further including
- 11 means for producing fifth digital signals representing an adjustable feed rate override number PER, and
- 4a said means (4) is characterized by being responsive not only to said first and second signals but also to said fifth signals to make said speed number XDAC equal to G[PER . PRXC + XBIAS], and
- 12 means responsive to (a) the presence or (b) the absence of a HOLD signal for causing said means (4) to operate respectively as if said number PER (a) is zero or (b) is of its previously adjusted value.
- 28. The method of controlling the velocity and changing position of a member simultaneously movable along two or more axes X and Y in accordance with successive blocks B.sub.n, B.sub.n.sub.+1. . . of numerical command data designating successive path segments D.sub.n, D.sub.n.sub.+1. . . to be traveled at path velocities V.sub.n, V.sub.n.sub.+1. . . having vector components VX.sub.n, VY.sub.n, VX.sub.n.sub.+1, VY.sub.n.sub.+1. ., said method comprising:
- a. measuring off successive periods .DELTA.T in actual time with such periods normally of duration .DELTA.TN,
- b. producing from said command data first and second sets of signals representing velocity numbers PRXC and PRYC, for each block, to express the respective component velocities VX and VY in dimensions of distance per .DELTA.TN time,
- c. utilizing said first and second sets of signals for the block B.sub.n to energize X and Y velocity servos and drive said member at axis velocities substantially equal to the signaled numbers PRXC.sub.n and PRYC.sub.n for a first aggregate time consisting of a quantity LOOPS.sub.n of successive time periods .DELTA.T, where the quantity LOOPS is equal to D.sub.n /V.sub.n.1/.DELTA.TN - .DELTA.PRfa.sub.n.sub.-1 /2A - .DELTA.PRfa.sub.n /2A and where A is a predetermined acceleration constant and .DELTA.PRfa.sub.n is the largest one of the velocity changes between block segments (PRXC.sub.n.sub.+1 - PRXC.sub.n) or (PRYC.sub.n.sub.+1 - PRYC.sub.n),
- d. after said first aggregate time, changing said first and second sets of signals during each period .DELTA.T to increment the signaled numbers PRXC.sub.n and PRYC.sub.n respectively by amounts (PRXC.sub.n.sub.+1 - PRXC.sub.n)/A and (PRYC.sub.n.sub.+1 - PRYC.sub.n)/A until a second aggregate time consisting of a quantity .DELTA.PRfa/A of the periods .DELTA.T has elapsed, and
- e. after said second aggregate time has ended, repeating said steps (c) and (d) with the corresponding numbers for the next block B.sub.n.sub.+.
- 29. The method of controlling the velocity and changing position of a member simultaneously movable along two or more axes X and Y in accordance with successive blocks B.sub.n, B.sub.n.sub.+1, B.sub.n.sub.+2. . . of command data numerically designating desired path velocities V.sub.n, V.sub.n.sub.+1, V.sub.n.sub.+2. . . and successive path segments D.sub.n, D.sub.n.sub.+1, D.sub.n.sub.+2. . . of travel, said method comprising:
- a. measuring off in actual time successive periods .DELTA.T normally of durations .DELTA.TN,
- b. deriving from said command data and producing a first set of signals numerically representing, for each block, the quantity LOOPP.sub.n of time periods .DELTA.TN which would elapse if the member traveled the commanded segment distance D.sub.n at the commanded velocity Vn,
- c. deriving from said command data and producing second and third sets of digital signals representing, for each block, velocity numbers PRXC.sub.n and PRYC.sub.n expressing distances per .DELTA.TN to be traveled along the X and Y axes to produce axis velocities Vx and Vy which are the components of a velocity vector Vn,
- d. deriving from said second and third sets of signals and producing a fourth set of signals representing, for each block, a quantity 2PC.sub.n of periods .DELTA.TN which would elapse if the largest difference between the axis velocity numbers for blocks B.sub.n.sub.+1 and B.sub.n were uniformly spanned by changes of A per .DELTA.TN, where A is a predetermined acceleration value,
- e. deriving from said command data and said fourth signals and producing fifth and sixth sets of signals representing, for each block, increment numbers XINC.sub.n and YINC.sub.n to be imparted to the numbers PRXC.sub.n and PRYC.sub.n in each of 2PC.sub.n periods .DELTA.T in order to change the latter numbers to the corresponding next-block values PRXC.sub.n.sub.+1 and PRYC.sub.n.sub.+1,
- f. energizing X and Y axis velocity servos in accordance with said second and third sets of signals to drive the member along the X and Y axes at velocities substantially proportional to the instantaneous values of the numbers PRXC.sub.n and PRYC.sub.n,
- g. after the inception of step (f), maintaining the signaled numbers PRXC.sub.n and PRYC.sub.n at the values determined by said step (c) until a quantity of time periods equal to the sum (LOOPP.sub.n - PC.sub.n.sub.-1 - PC.sub.n) have elapsed in actual time, and in each subsequent period .DELTA.T changing said second and third signals by use of said fifth and sixth signals to increment said numbers PRXC.sub.n and PRYC.sub.n by the respective amounts XINC.sub.n and YINC.sub.n, and
- h. when the number of periods .DELTA.T actually elapsed in time after the inception of said step (f) reaches the sum (LOOPP.sub.n - PC.sub.n.sub.-1 + PC.sub.n), (1) replacing as the new values for LOOPP.sub.n, PRXC.sub.n, PRYC.sub.n, PC.sub.n, PC.sub.n.sub.-1, XINC.sub.n, YINC.sub.n the signaled numbers which respectively correspond but which are relevant to the block B.sub.n.sub.+1, and (2) continuing the execution of said steps (f), (g) and (h).
- 30. The method of controlling the velocity and changing positions of a member simultaneously movable along two or more axes X and Y in accordance with successive blocks B.sub.n, B.sub.n.sub.+1, B.sub.n.sub.+2. . . of command data numerically designating desired path velocities V.sub.n, V.sub.n.sub.+1, V.sub.n.sub.+2. . . and successive path segments D.sub.n, D.sub.n.sub.+1, D.sub.n.sub.+2. . . of travel, said method comprising:
- a. measuring off in actual time successive periods .DELTA.T nominally of durations .DELTA.TN,
- b. deriving from said command data and producing a first set of digital signals representing for each block, a quantity LOOPP.sub.n of time periods which would elapse if said member traveled the commanded segment at the commanded path velocity, such that LOOPP.sub.n = D.sub.n /V.sub.n . 1/.DELTA.TN,
- c. deriving from said command data and producing second and third sets of digital signals representing, for each block, velocity numbers PRXC and PRYC expressing distances per .DELTA.TN to be traveled along the X and Y axes to produce axis velocities V.sub.x and V.sub.y which are the orthogonal vector components of the command path velocity, such that ##EQU16## where DX.sub.n and DY.sub.n are the orthogonal components of the segment D.sub.n,
- deriving from said second and third sets of signals and producing a fourth set of digital signals representing, for each block, a quantity 2PC.sub.n of time periods .DELTA.TN which would elapse if the velocity of the member were changed by a predetermined amount A during each such period from a starting value of PRfa.sub.n to an ending value PRfa.sub.n.sub.+1, such that ##EQU17## where .DELTA.PRfa is the larger one of the axis velocity changes (PRXC.sub.n.sub.+1 - PRXC.sub.n) and (PRYC.sub.n.sub.+1 - PRYC.sub.n) commanded for the transition between B.sub.n and B.sub.n.sub.+1,
- e. deriving from said command data and producing fifth and sixth sets of digital signals representing, for each block, the velocity increments XINC.sub.n and YINC.sub.n to be imparted to the velocities PRXC.sub.n and PRYC.sub.n during each of 2PC.sub.n successive periods to make them arrive at the next block values PRXC.sub.n.sub.+1 and PRYC.sub.n.sub.+1, such that ##EQU18## f. energizing X and Y velocity servos in accordance with said second and third sets of signals to drive said member along the X and Y axes respectively at velocities which correspond substantially to the instantaneous values of the number PRXC.sub.n and PRYC.sub.n, thereby to move the member along the path segment D.sub.n,
- g. beginning with the inception of said step (f) counting and representing by a seventh set of digital signals the number NLOOP of periods .DELTA.T which have actually elapsed,
- h. after the signaled number NLOOP reaches the value of LOOPP.sub.n - PC.sub.n.sub.-1 - PC.sub.n, changing said second and third sets of signals to increment the numbers PRXC and PRYC by the amounts XINC and YINC during each of the following periods .DELTA.T, such that
- PRXC.sub.n(i) = PRXC.sub.n(i.sub.-1) = XINC.sub.n
- PRYC.sub.n(i) = PRYC.sub.n(i.sub.-1) = YINC.sub.n, and
- i. after the signaled number NLOOP reaches the value LOOP.sub.n - PC.sub.n.sub.-1 + PC.sub.n, terminating the incrementing of step (h), changing said seventh signals to restore the number NLOOP to zero; replacing as the new values for LOOPP.sub.n, PRXC.sub.n, PRYC.sub.n, PC.sub.n, PC.sub.n.sub.-1, XINC.sub.n, YINC.sub.n the signaled numbers LOOPP.sub.n.sub.+1, PRXY.sub.n.sub.+1, PRYC.sub.n.sub.+1, PC.sub.n.sub.+1, PC.sub.n, XINC.sub.n.sub.+1, YINC.sub.n.sub.+1 ; and continuing the execution of said steps (f), (g), (h) and (i).
- 31. The method of controlling the velocity and changing position of a member movable along an axis X in accordance with successive blocks B.sub.n, B.sub.n.sub.+1, B.sub.n.sub.+2. . . of command data numerically designating desired velocities VX.sub.n, VX.sub.n.sub.+1, VX.sub.n.sub.+2. . . and successive desired distances DX.sub.n, DX.sub.n.sub.+1, DX.sub.n.sub.+2. . . of travel, said method comprising:
- a. measuring off in actual time successive periods .DELTA.T each having a nominal duration .DELTA.TN,
- b. deriving from said command data and producing digital signals for each block numerically representing the quantity LOOPP of periods .DELTA.TN which would elapse while the member traveled the distance DX at the velocity VX, such that LOOPP.sub.n = DX.sub.n /V.sub.n. 1/.DELTA.TN,
- c. deriving from said command data and producing digital signals numerically representing velocity numbers PRXC for each block, such that PRXC.sub.n = DX.sub.n /LOOPP.sub.n expressed in distance per .DELTA.TN time,
- d. deriving from said command data and producing digital electrical signals numerically representing for each block substantially the quantity 2PC.sub.n of periods .DELTA.TN which for each block would elapse if the member were changed in velocity from a first value PRXC.sub.n to a second value PRXC.sub.n.sub.+1 at a pre-established acceleration expressed in dimensions of PRX per .DELTA.TN per .DELTA.TN,
- e. deriving from said command data and producing digital signals numerically representing increment numbers XINC.sub.n for each block, such that XINC.sub.n = PRXC.sub.n.sub.+1 - PRXC.sub.n /2PC.sub.n,
- f. energizing a velocity servo in accordance with the signals PRXC.sub.n to drive said member at a velocity substantially proportional to the numerical value instantaneously represented by such signals along the distance segment DX.sub.n,
- g. beginning with the application of the signals PRXC.sub.n for block B.sub.n in said step (f), counting and representing by digital signals the quantity NLOOP of elapsed time periods .DELTA.T,
- h. after the signaled quantity NLOOP reaches the value of LOOPP.sub.n - PC.sub.n.sub.-1 - PC.sub.n in a given period .DELTA.T (where PC.sub.n = 2PC.sub.n /2), incrementing the value of the signaled number PRXC.sub.n during each succeeding period .DELTA.T by the amount of the signaled number XINC.sub.n such that PRXC.sub.n(i) = PRXC.sub.n(i.sub.-1) + XINC.sub.n,
- i. after the signaled quantity NLOOP reaches the value of LOOPP.sub.n - PC.sub.n.sub.-1 + PC.sub.n, terminating the periodic incrementing defined in step (h), restoring the signaled quantity NLOOP to zero, and replacing as new values for LOOPP.sub.n, PRXC.sub.n and P.sub.n the numbers LOOPP.sub.n.sub.+1, PRXC.sub.n.sub.+1 and P.sub.n.sub.+1 in the execution of said steps (f), (g), (h) and (i).
- 32. The method of controlling the velocity and position of a member movable along an axis X in accordance with successive blocks B.sub.n, B.sub.n.sub.+1, B.sub.n.sub.+2. . . of command data designating desired velocities VX.sub.n, VX.sub.n.sub.+1, VX.sub.n.sub.+2. . . and successive desired distances DX.sub.n, DX.sub.n.sub.+1, DX.sub.n.sub.+2. . ., said method comprising:
- a. measuring off in actual time successive time periods .DELTA.T which have normal durations .DELTA.TN,
- b. for each block, deriving from said command data and producing digital signals numerically representing the nominally required number LOOPP of periods .DELTA.TN for the member to travel the designated distance DX at the designated velocity VX, such that LOOPP.sub.n = D.sub.n /V.sub.n, 1/.DELTA.TN,
- c. for each block, deriving from said command data and producing digital signals numerically representing a velocity number PRXC such that PRXC.sub.n = DX.sub.n /LOOPP.sub.n,
- d. for each block, deriving from said command data and digital signals numerically representing the change .DELTA.PRX in the PRXC number at the end of that block distance DX.sub.n to change from one designated velocity to the next, such that .DELTA.PRX.sub.n = PRXC.sub.n.sub.+1 - PRXC.sub.n,
- e. for each block, deriving from said command data and producing digital signals numerically representing a quantity PC.sub.n equal approximately to one-half the number 2PC.sub.n of time periods .DELTA.TN which must elapse if the member is changed in velocity by the amount .DELTA.PRX at a predetermined acceleration A expressed in dimensions of PR per .DELTA.TN per .DELTA.TN, such that PC.sub.n = .DELTA.PRX.sub.n /2A,
- f. for each block, deriving from said command data and producing digital signals numerically representing increments of velocity change XINC.sub.n to be effected in causing said member to change from velocity VX.sub.n to velocity VX.sub.n.sub.+1 in each of a number 2PC.sub.n of time periods, such that XINC.sub.n = .DELTA.PRX.sub.n /2PC.sub.n,
- g. for each block, deriving from said command data and producing digital signals numerically representing the number LOOPB.sub.n of periods .DELTA.T which must elapse with the member traveling at velocity PRXC.sub.n before its velocity must begin to change, such that LOOPB.sub.n = LOOPP.sub.n - PC.sub.n.sub.-1 - PC.sub.n,
- h. for each block, deriving from said command data and producing digital signals numerically representing the number LOOPC.sub.n of time periods .DELTA.TN which must elapse from the member to travel at the velocity PRXC.sub.n and then change its velocity to the next value PRXC.sub.n.sub.+1 at a rate of XINC.sub.n per period .DELTA.TN, such that LOOPC.sub.n = LOOPS.sub.n + 2PC.sub.n.sub.+1,
- i. energizing a velocity servo in accordance with the signaled number PRXC.sub.n to drive said member at the corresponding velocity,
- j. counting and producing digital signals numerically representing the number NLOOP of periods .DELTA.T as they elapse after said signaled number PRXC.sub.n begins to be used in said step (i),
- k. after said signaled number NLOOP becomes equal to said signaled number LOOPB in any given period .DELTA.T, incrementing said number PRXC.sub.n during each succeeding period such that PRXC.sub.n(i) = PRXC.sub.n(i.sub.-1) + XINC.sub.n until the signaled number NLOOP becomes equal to the signaled number LOOPC, and
- 1. after said signaled number NLOOP equals the signaled number LOOPC, resetting the signaled number NLOOP to zero and substituting the next block velocity numbers PRXC.sub.n.sub.+1, LOOPB.sub.n.sub.+1, LOOPC.sub.n.sub.+1, and XINC.sub.n.sub.+1 as the active numbers in carrying out steps (i), (j) and (k) to effect execution of the command block B.sub.n.sub.+1.
- 33. In apparatus for controlling the velocity and changing position of a member simultaneously movable along two or more axes X and Y in accordance with successive blocks B.sub.n, B.sub.n.sub.+1. . . of numerical command data designating successive path segments D.sub.n, D.sub.n.sub.+1. . . to be traveled at path velocities V.sub.n, V.sub.n.sub.+1. . . having vector components VX.sub.n, VY.sub.n, VX.sub.n.sub.+1, VY.sub.n.sub.+1. . ., said apparatus comprising in combination:
- 1. means responsive to said command data for each block for producing first and second sets of digital signals representing velocity numbers PRXC, PRYC expressing the respective component velocities VX and VY in dimensions of distance per unit .DELTA.TN of time,
- 2. means for measuring off successive periods .DELTA.T in actual time, with such periods normally of duration .DELTA.TN,
- 3. means responsive to said means (2) and to said first and second sets of signals for the block B.sub.n and representing the velocity numbers PRXC.sub.n and PRYC.sub.n to drive said member at axis velocities corresponding to such numbers for an aggregate quantity LOOPS.sub.n of time periods .DELTA.T as measured off by said means (2), where LOOPS.sub.n is equal to Dn/Vn.1/.DELTA.TN - .DELTA.PRfa.sub.n.sub.-1 /2A - .DELTA.PRfa.sub.n /2A, and where A is a predetermined acceleration constant and .DELTA.PRfa.sub.n is the largest one of the velocity changes between segments (PRXC.sub.n.sub.+1 - PRXC.sub.n) or (PRYC.sub.n.sub.+1 - PRYC.sub.n),
- 4. means controlled in part by said means (2) for changing said first and second sets of signals for the block B.sub.n, after said aggregate quantity LOOPS.sub.n of time periods has elapsed, to increment the signaled numbers PRXC.sub.n and PRYC.sub.n once during each successive period .DELTA.T respectively by amounts PRXC.sub.n.sub.+1 - PRXC.sub.n /A and PRYC.sub.n.sub.+1 - PRYC.sub.n /A until a second aggregate quantity .DELTA.PRfa.sub.n /A of the periods .DELTA.T as measured off by said means (2) has elapsed.
- 34. In apparatus for controlling the velocity and changing position of a member simultaneously movable along two or more axes X and Y in accordance with successive blocks B.sub.n, B.sub.n.sub.+1. . . of numerically signaled command data designating successive path segments D.sub.n, D.sub.n.sub.+1 . . . and desired path velocities V.sub.n, V.sub.n.sub.+1. . ., said apparatus comprising in combination:
- 1. means responsive to said signaled command data for producing, for each block, a first set of digital signals numerically representing the quantity LOOPP of time periods of duration .DELTA.TN which would elapse if the member traveled the block segment at the block velocity, such that LOOPP.sub.n = Dn/Vn.1/.DELTA.TN,
- 2. means responsive to said signaled command data for producing second and third sets of digital signals numerically representing, for each block, velocity numbers PRXC and PRYC expressing distances per .DELTA.TN to be traveled along the X and Y axes to produce velocity components V.sub.x and V.sub.y whose vector sum is the block velocity V,
- 3. means responsive to said second and third sets of signals for producing a fourth set of digital signals representing, for each block, a quantity 2PC of periods .DELTA.TN which would elapse if the largest difference between the said axis velocity numbers for that block and the next block were uniformly spanned by changes of A per .DELTA.TN, where A is a predetermined acceleration value,
- 4. means responsive to said command data and said fourth signals for producing fifth and sixth sets of digital signals representing, for each block, increment numbers XINC and YINC to be imparted to the velocity numbers PRXC and PRYC in each of 2PC periods .DELTA.T to change those velocity numbers to the values applicable for the next block,
- 5. means for measuring off successive periods .DELTA.T in actual time with the durations of the periods normally being .DELTA.TN,
- 6. x and Y axis velocity servos respectively coupled to drive said number along the X and Y axes, and means responsive to said second and third sets of signals for energizing said servos respectively in accordance with the numbers instantaneous values of the represented numbers PRXC.sub.n and PRYC.sub.n,
- 7. means responsive to said means (5) and to said fifth and sixth signals, and operative after a quantity (LOOPP.sub.n - PC.sub.n.sub.-1 - PC.sub.n) of time periods .DELTA.T have actually elapsed following the initial energization of said servos according to the numbers PRXC.sub.n and PRYC.sub.n, for changing said second and third sets of signals in each subsequent period .DELTA.T to increment said numbers PRXC.sub.n and PRYC.sub.n respectively be amounts XINC.sub.n and YINC.sub.n, and
- 8. means responsive to said means (5) after a quantity (LOOPP.sub.n - PC.sub.n.sub.-1 + PC.sub.n) of periods .DELTA.T have actually elapsed following the initial energization of said servos according to the numbers PRXC.sub.n and PRYC.sub.n, for causing said means (6) and (7) to operate with the signaled numbers LOOPP.sub.n.sub.+1, PRXC.sub.n.sub.+1, PRYC.sub.n.sub.+1, PC.sub.n, PC.sub.n.sub.+1, XINC.sub.n.sub.+1 and YINC n.sub.+1 applicable for the block B.sub.n.sub.+1 in lieu of the corresponding ones applicable for the block B.sub.n.
- 35. In a system for controlling the velocity and changing positions of a member simultaneously movable along two or more axes X and Y in accordance with successive blocks B.sub.n, B.sub.n.sub.+1. . . of numerically signaled command data designating successive path segments D.sub.n, D.sub.n.sub.+1. . . and desired velocities V.sub.n, V.sub.n.sub.+1. . ., said system comprising, in combination:
- 1. means responsive to said signaled command data, for each block, producing a first set of digital signals representing a quantity LOOPP of time periods which would elapse if the member traveled the commanded segment D at the commanded velocity V, such that LOOPP.sub.n = Dn/Vn.1/.DELTA.TN, where .DELTA.TN is a constant representing a predetermined time period duration,
- 2. means responsive to said signaled command data and said first signals for producing second and third sets of digital signals representing, for each block, velocity numbers PRXC and PRYC expressing in dimensions of distances per .DELTA.TN the axis velocities V.sub.x and V.sub.y which are the vector components of the commanded velocity V, such that ##EQU19## where DX.sub.n and DY.sub.n are the orthogonal components of the segment D.sub.n,
- 3. means responsive to said second and third signals for producing a fourth set of digital signals representing, for each block, a quantity 2PC of time periods .DELTA.TN which would elapse if an axis velocity were changed by a predetermined amount A during each of such periods from a starting value of PRfa.sub.n to an ending value of PRfa.sub.n.sub.+1, such that ##EQU20## where .DELTA.PRfa is the larger one of the axis velocity changes (PRXC.sub.n.sub.+1 - PRXC.sub.n) or (PRYC.sub.n.sub.+1 - PRYC.sub.n) commanded for the transition between blocks B.sub.n and B.sub.n.sub.+1,
- 4. means responsive to said second, third and fourth signals for producing fifth and sixth sets of digital signals representing, for each block, increment XINC and YINC to the velocity numbers PRXC and PRYC to make them arrive at the next block values after a quantity of 2PC incrementings, such that ##EQU21##
- 5. means for measuring off successive periods .DELTA.T in actual time, with the durations of such periods normally being .DELTA.TN,
- 6. means responsive to said second and third signals for respectively driving said member along the X and Y axes at velocities which instantaneously correspond to the signaled numbers PRXC.sub.n and PRYC.sub.n,
- 7. means responsive to said means (5) for producing a seventh set of digital signals a number NLOOP representing the number of periods .DELTA.T actually measured off by said means (5) following the inception of operation of said means (6) with signals for a given block B.sub.n,
- 8. means responsive to said means (5) and said seventh, second, third, fifth and sixth signals for changing the second and third signals incrementally during each period .DELTA.T after the signaled number NLOOP becomes equal to LOOPP.sub.n - PC.sub.n.sub.-1 - PC.sub.n, such that
- PRXC.sub.n(i) = PRXC.sub.n(i.sub.-1) + XINC.sub.n
- PRYC.sub.n(i) = PRYC.sub.n(i.sub.-1) + YINC.sub.n, and
- 9. means responsive to said seventh signals for (a) terminating the operation of said means (8) after the signaled number NLOOP becomes equal to LOOP.sub.n - PC.sub.n.sub.-1 + PC, (b) changing said seventh signals to restart the number NLOOP at zero, and (c) initiating the operation of the system with the corresponding signaled values applicable to the next block B.sub.n.sub.+1 of command data.
- 36. In a system for controlling the velocity and changing position of a member movable along an axis X in accordance with successive blocks B.sub.n, B.sub.n.sub.+1. . . of numerically signaled command data designating successive distances DX.sub.n, DX.sub.n.sub.+1. . . and successive velocities VX.sub.n, VX.sub.n.sub.+1. . ., said system comprising in combination:
- 1. means for measuring off successive periods .DELTA.T in actual time, with such periods normally having a predetermined duration .DELTA.TN,
- 2. means responsive to said signaled command data for each block for producing a first digital signal representing a number LOOPP which expresses the quantity of time periods .DELTA.TN required for the member to travel the distance DX at the velocity VX, such that ##EQU22##
- 3. means responsive to said signaled command data and said first signals for producing second digital signals numerically representing, for each block, a velocity number PRXC having dimensions of distance per .DELTA.TN, such that ##EQU23##
- 4. means responsive to said signaled command data for producing third digital signals representing, for each block, the quantity 2PC of periods .DELTA.TN which would elapse if the velocity number PRXC.sub.n were changed to the next block value PRXC.sub.n.sub.+1 at a rate of A per .DELTA.TN, where A is a predetermined acceleration constant,
- 5. means responsive to said second and third signals for producing fourth digital signals representing, for each block, an increment number XINC, such that ##EQU24##
- 6. means responsive to said second signals for driving said member along the axis at a velocity corresponding to the signaled number PRXC.sub.n,
- 7. means for counting the time periods .DELTA.T actually measured off by said means (1) following the inception of operation of said means (6) according to the block velocity number PRXC.sub.n,
- 8. means controlled by said means (7) and responsive to said second and fourth signals after the counted periods .DELTA.T become equal to LOOP.sub.n - PC.sub.n.sub.-1 - PC.sub.n, for changing said second signals to increment the number PRXC.sub.n in each period .DELTA.T, such that
- PRXC.sub.n(i) = PRXC.sub.n(i.sub.-1) + XINC.sub.n, and
- 9. means controlled by said means (7) after the counted periods .DELTA.T become equal to LOOPP.sub.n - PC.sub.n.sub.+1 + PC.sub.n, for (a) terminating the operation of said means (8), (b) restarting the count of said means (7) at zero, and (c) replacing in the operation of the means (6), (8) and (9) the signals representing the new values LOOPP.sub.n.sub.+1, PRXC.sub.n.sub.+1, PC.sub.n, PC.sub.n.sub.+1 applicable to the block B.sub.n.sub.+1.
Parent Case Info
This application is a continuation-in-part of my copending United States application Ser. No. 394,241 filed Sept. 4, 1973 (and now abandoned).
US Referenced Citations (7)
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
394241 |
Sep 1973 |
|