US3699317A - Sampled data numerical contouring machine controller apparatus and method providable with on line capability for contour cornering deceleration and acceleration - Google Patents
Sampled data numerical contouring machine controller apparatus and method providable with on line capability for contour cornering deceleration and acceleration Download PDFInfo
- Publication number
- US3699317A US3699317A US39940A US3699317DA US3699317A US 3699317 A US3699317 A US 3699317A US 39940 A US39940 A US 39940A US 3699317D A US3699317D A US 3699317DA US 3699317 A US3699317 A US 3699317A
- Authority
- US
- United States
- Prior art keywords
- command
- operating
- computer
- machine
- segment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/414—Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/33—Director till display
- G05B2219/33088—Clock
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/33—Director till display
- G05B2219/33098—Several nc machines, dnc, cnc
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/33—Director till display
- G05B2219/33268—D-A, A-D
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34053—Counters, tellers
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34132—Choosing largest, major coordinate axis
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34153—Linear interpolation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34156—Slope control, delta x, y proportional to x, y
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34179—Variable interpolation speed or resolution
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/35—Nc in input of data, input till input file format
- G05B2219/35286—Run tape without machining, tape proving, dry run, test run
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/35—Nc in input of data, input till input file format
- G05B2219/35436—Means, manual input, input reference, hand wheel
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/35—Nc in input of data, input till input file format
- G05B2219/35481—Display, panel
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/36—Nc in input of data, input key till input tape
- G05B2219/36366—Data, read in, distribution
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/36—Nc in input of data, input key till input tape
- G05B2219/36368—Tape reader
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/37—Measurements
- G05B2219/37175—Normal encoder, disk for pulses, incremental
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/41—Servomotor, servo controller till figures
- G05B2219/41021—Variable gain
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/41—Servomotor, servo controller till figures
- G05B2219/41091—Alignment, zeroing, nulling, set parallel to axis
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/41—Servomotor, servo controller till figures
- G05B2219/41241—Anti-coincidence, synchronizer
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/41—Servomotor, servo controller till figures
- G05B2219/41245—Discrimination of direction
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/41—Servomotor, servo controller till figures
- G05B2219/41363—Excess in error, error too large, follow up error
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/41—Servomotor, servo controller till figures
- G05B2219/41469—Servo loop with counter, see figure SE-fifteen
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/43—Speed, acceleration, deceleration control ADC
- G05B2219/43006—Acceleration, deceleration control
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/43—Speed, acceleration, deceleration control ADC
- G05B2219/43009—Acceleration deceleration for each block of data, segment
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/43—Speed, acceleration, deceleration control ADC
- G05B2219/43158—Feedrate override
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/43—Speed, acceleration, deceleration control ADC
- G05B2219/43183—Speed control, input is the reference, but no feedback
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/49—Nc machine tool, till multiple
- G05B2219/49164—Corner, making corner
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/50—Machine tool, machine tool null till machine tool work handling
- G05B2219/50019—Zero, null offset
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/50—Machine tool, machine tool null till machine tool work handling
- G05B2219/50048—Jogging
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/50—Machine tool, machine tool null till machine tool work handling
- G05B2219/50083—Power loss, measures again loss of power
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/50—Machine tool, machine tool null till machine tool work handling
- G05B2219/50193—Safety in general
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Definitions
- a rogram s stem 0 erates the computer to make and P y P
- Field of Search ..340/l72.5;235/l51.ll implement the motion command determination cluding path speed change determinations and to [56]
- FIG. 4B 8 O POWER 2 SUPPLY POWER BUFFER, FAILURE OVERFLOW INTERRUPT INTERRUPT ,7?
- PATENIEIIIJBT 11 I972 SHEET 100F 18 PHOTO DIODES (L68 L69) AMPLIFIER AMPLIFIER AMPLIFIER AMPLIFIER AMPLIFIER AMPLIFIER AMPLIFIER FIG. 9.
Abstract
A numerical contouring controller employs ramped velocity commands for pre-corner slowdown and post-corner speedup in the relative movement between the controlled machine tool and a workpiece. The controller includes a digital computer which generates a command position trajectory. The computer operates in a closed position loop at a predetermined sampling frequency to compare accumulated position feedback data and the command position and thereby to generate command data to velocity loop controls which accurately position the machine tool slides. A program system operates the computer to make and implement the motion command determination including path speed change determinations and to make and implement nonmotion command determinations for machine tool, data input and machine operator interfacing.
Description
United States Patent Middleditch [451 Oct. 17, 1972 [54] SAMPLED DATA NUMERICAL CONTOURING MACHINE CONTROLLER APPARATUS AND METHOD PROVIDABLE WITH ON LINE CAPABILITY FOR CONTOUR CORNERING DECELERATION AND Primary ExaminerEugene G. Botz AttorneyF. H. Henson, R. G. Brodahl and E. F. Possesky 5 7] ABSTRACT ACCELERATION A numerical contouring controller employs ramped velocity commands for pre-corner-slowdown and post- [72-1 Inventor Alan Mlddledltch Pmsburgh corner speedup in the relative movement between the [73] Assignee: Westin house Electric Corporation, controlled machine tool and a workpiece. The cong e n u Pittsburgh, Pa. troller mgludesa digital COmp'IIllI-lfl' WhlCh generates a comman position tra ectory. e computer operates [22] May 1970 in a closed position loop at a predetermined sampling [21] Appl. No.: 39,940 frequency to compare accumulated position feedback data and the command position and thereby to generate command data to velocity loop controls ig 26 6 which accurately position the machine tool slides. A rogram s stem 0 erates the computer to make and P y P [58] Field of Search ..340/l72.5;235/l51.ll implement the motion command determination cluding path speed change determinations and to [56] Reerences cued make and implement nonmotion command determina- UNITED STATES PATENTS tions for machine tool, data input and machine opera- 3 573 738 4/1971 B m t 1 235/151 11 x tonmerfacmg" 0 es e a 3,204,132 8/1965 Benaglio et al ..307/149 92 Claims, 52 Drawing Figures X M 22 I6 l MAC E CONVERTER 24 X fi- MEM E'; Q T I 28 .8, Y D/A Y MACHINE 42 CONVERTER YDR'VE :J' MEMBER 1 DISC 3 STORAGE INTERN/#8 '27 4O SYSTEM DIGITAL 20 M I COMPUTER Z M z SUPERVISORY 36 I SYSTEM CONVERTER Z T M E 22 DIGITAL C% L 2 COMPUTER- OPERATOR a D/A o MACHINE CONTROLS CONVERTER o DR'VE T T MEMBER MAcH 5 Li DISPLAYS C WA 1, c MACHINE REAQOLHS l4 CONVERTER l4 CDR'VE I MEMBER 307 AXIS posmon FEEDBACK COUNTERS P'ATENTEBncr 11 I912 SHEET OZUF 48 PATENTEflum 11 I972 3. 599.31 T SHEET 0; [1F 48 To OTHER N/C SYSTEM CIRCUITS 1 FIG. 4B 8 O POWER 2 SUPPLY POWER BUFFER, FAILURE OVERFLOW INTERRUPT INTERRUPT ,7? I/O ADDRESS To ALL INTERFACE L..R7 R7 CO Co to C7 IE o L63 aLe4 L.: 'NPUTS IEAIS 7360 110 CENTRAL 292 IDIS m5 OXAO INPUT 1115 INPUT STSI T O OUTPEZ'BO 3&0 OUTPUT 6x5 ExRANDER BITS BIT BIT A INTERFACE L INTERFACE EXPANDER L80 L788 L79 Lza s L4aL5 0x80 OD o 010 IE|BO 332% 00% ot'ls 0X55 IEB|5 7 SERVICE REQUEST -lNTEaRRUPT ADDRESS L66 a L67 TAPE CHARACTER ,5R5AD CLOCK /Z-OVERFLOW SAMPLING \d XOVERFLOW SIGNAL looc I P'ATENTEDum n ma 3,699.31 1
TA PE READER+ TAPE 8 CHANNEL DRIVE (L75-L76) TRR PSC
TRH
TRF
DRRT
DRLT
REWIND ENABLE PSC RE QBER NCXA OPERATING CIRCUITRY BOND NCY
PATENIEIIIJBT 11 I972 SHEET 100F 18 PHOTO DIODES (L68 L69) AMPLIFIER AMPLIFIER AMPLIFIER AMPLIFIER AMPLIFIER AMPLIFIER AMPLIFIER FIG. 9.
SPRK
TCHB
ANYCH NOCH DRRT
REWIND ENABLE PATENTEDBIJ I 1 I972 3.699.317
SHEET 11 0F 48 TAPE CONIROL BI MDI INPUT LZB-L74 FIG.|O.
+5V FRI 94 |5V +24v N IEAO M I HI D C MDI ADDRESS FILTER a GATE 3 MDICH3 FILTER a GATE IEA2 M 1 H D C 4 FILTER a GATE IEA3 M H DIC 5 FILTER a GATE IEA4 MDIGHG FILTER a GATE IEA5 MDICH7 FILTER a GATE 3 IEAG MPICHB FILTER a GATE g IEAT R6 MDI ADDREss MDI C4 ADDRESS Um IGNORE co REsET RG OADD6 OXAI4 ADVANCE EARLY STOP ADvANcE ENABLE RD INT PARcL W oxAII OXA|5 M0 L0 EoR SPRK W ENABLE PARCL OXAS SR5AD PARITY IGNORE PATENIEDum 11 m2 3.699.31 7
PATENTEDIIBI I7 I972 3'699'317 SHEET 1; HF 48 FIZgM INPUT CHANNEL K7 INPUT FILTER- R40 IlOV DC N N /I77 MODE N Rl-Y I53 c +5v l7l ATN MIA 3 I72-\ N I I I; M I LMODE2 ATN M2A FILTER CIRCUIT s I l A o B I MODE4 ATN W FILTER CIRCUIT C J WORDI ATN |A FILTER cIRcuIT l OC WORD G P ATN W2 FILTER CIRCUIT A woRD2 1 O X AXISI AT A A FILTER CIRCUIT MANUAL N I z AxIs c SELECT ATN AXZA FILTER CIRCUIT AXISZ I FILTER CIRCUIT BLK j RuN ITAPEI TAIA I N/O ATN TAPE ELK I RuN I TAPE2 ATN TAZA h FILTER CIRCUIT N/O c F3;- K7I0 ATN ASCIIA FILTER CIRCUIT RS358 c Kv ATN BLKDA FILTER cIRcuIT BLOCK 0 DELETE FILTER CIRCUIT FILTER cIRcuIT FILTER CIRCUIT II-lIov DC 2 To FILTER CIRCUIT K8 0 PATENTEB T 17 I972 3.699.317
- SHEET 15 0F 48 Eg INPUTF T R IL E I I58 T"? RIF N N I OP [1 RI l7l I72 ----o o- ATN *e N m DI? N IEAO DI l7 TAPE FORWARD c T t 3 A i ATN FILTER cIRcuIT.
Q Q TAPE TFWDA c I .I/ FILTER cIRcuIT "r n ATN "IEAZ TAPE TRWDA I c O lf ATN FILTER cIRcuIT TA TsToPT I O HA3 DOOR o I J: l. FILTER CIRCUIT o ATN CYCLE CYSTA l sTART J l. FILTER CIRCUIT ATN FEED FHOLDA & I iIEAs HOLD FILTER cIRcuIT L l To K5 FILTER CIRCUIT l TAPE R26 DELAY ATN c -0+5V l 0 HP N TDLYA l g N II-IIOV DC ou) TO K6 FILTER CIRCUIT FILTER cIRcuIT I I FILTER cIRcuIT O FILTER cIRcuIT FILTER CIRCUIT FILTER CIRCUIT a I II DC FILTER CIRCUIT To K5 FIG. I IC. F
PKTENTEU I973 3.699.317
SHEET 17 0F 48 Q P I'NPuT FILTER -IIOVDC N N 1-,
. TRANSFER F RI? +5V I73 ATN TRFA RI I72- N I W N o ge ow L 1550 13550 I64X c T I FILTER cIRcuIT 0-0 o- ATN SETZA IEBI MACH L I Q m FILTER cIRcuIT (Hi-VT w l i FILTER CIRCUIT I KMMACH I ZERO FILTER CIRCUIT a XRANGE XRANGEI ATN v IE I K-HORIZ HOME FILTER cI cuIT I C FILTER cIRcuIT 0- .4 HOME ATN Z RANGE A l z O FILTER CIRCUIT INPUT CHANNEL K6 c FILTER c RcuIT L FILTER CIRCUIT I FILTER cIRcuIT PSC F FILTER CIRCUIT FILTER CIRCUIT v e FILTER CIRCUIT IT T CT FIG. "E c FILTER CIRCU 0 K7 PATENTEBIIN I 1 I972 SHEET 19 0F 48 INPUT FILTER FROM R46 K8 N N "-II0 v DC ['77 78 RI? 73 F +5v I l ATN F7; 3 RI I7 72 N l DI? N '"Q'I'ET ;Cl LL 1'- l64 l v o FILTER CIRCUIT ATN MA IEBI HF i c FILTER cIRcuIT ETA M ATN I -1EB2 c FILTER cIRcuIT 4 l 3 ATN m OIEB3 JOG l U I SELECT FILTER cIRcuIT L Am A T I JIEB4 .ooI c A W FILTER cIRcuIT ATN J l IEB5 c o O A FILTER CIRCUIT ATN I FILTER cIRcuIT ATN .OOOIA I IEB7 RIo \Dio INPUT CHANNEL K9 Cl0 FILTER CIRCUIT FILTER cIRcuIT I =r I FILTER cIRcuIT FILTER cIRcuIT V FILTER CIRCUIT C A FILTER cIRcuIT e \l F|G |IG FILTER CIRCUIT
Claims (92)
1. A numerical contouring controller for a machine having at least two members movable along or about respective motion axes, said controller comprising means for generating a command position trajectory, for each of the two axes in response to input numerical command data, means for generating feedback data relative to the position of each of the machine members, means for accumulating the position feedback data, means for detecting the accumulated position feedback data substantially at each Of successive sample time points, means for generating command outputs in response to the command position trajectories and the sampled position feedback data, and means for operating the two machine members in response to the command outputs.
2. A controller as set forth in claim 1 wherein the time points are substantially equally spaced to provide a fixed time sampling system.
3. A controller as set forth in claim 2 wherein a digital computer detects the accumulated feedback data and generates the trajectories and the command outputs, and the sampling rate is greater than approximately 20 Hertz and less than a rate approximately equal to the ratio of 3 microseconds to the computer memory cycle time times 4 hundred.
4. A controller as set forth in claim 2 wherein a digital computer detects the accumulated feedback data and generates the trajectories and the command outputs, and the sampling rate is greater than approximately 20 Hertz and less than approximately 400 Hertz.
5. A controller as set forth in claim 1 wherein the input command data includes data representative of the end points of successive segments along a desired contour, the command position trajectories are formed by successive axis points corresponding to points along the segment between the segment end points, and means are provided for operating said feedback data detecting means and said position trajectory generating means at a predetermined sampling rate to generate feedback data detections and command point generations at the same sampling rate.
6. A controller as set forth in claim 5 wherein means are provided for each axis for determining in one sampling period the command point to be generated in the next sampling period.
7. A controller as set forth in claim 6 wherein the command points are absolute position values, said accumulating and detecting means includes means for determining absolute position values from each detected position feedback, and means are provided for generating an error representation of the difference between the absolute command and position values for each axis.
8. A controller as set forth in claim 1 wherein a digital computer detects the feedback data and generates the trajectories and the command outputs.
9. A controller as set forth in claim 8 wherein said accummulating means is a counter read each sample period by said computer.
10. A controller as set forth in claim 7 wherein means are provided for operating a digital computer to determine the position error for each axis after the feedback position detections and conversions to absolute values without any other intervening arithmetic operations.
11. A controller as set forth in claim 8 wherein means are provided for operating said computer to detect an operator feed hold request, means are provided for operating said computer during feed hold to prevent the command position trajectories from determining the command outputs and to set the command outputs substantially equal to zero.
12. A controller as set forth in claim 8 wherein means are provided for operating said computer to detect changes in the feedrate override value, and means are provided for operating said computer to change the time scales for the command position trajectories in proportion to changes in the feedrate override.
13. A controller as set forth in claim 8 wherein the input-command data pertains to successive contour segments and means are provided for operating said computer to determine whether a slowdown is required prior to the end of each segment, means are provided for operating said computer to determine a segment point at which to reduce speed in each segment determined to require slowdown, means are provided for operating said computer to implement in the command position trajectories a speed reduction from the segment operating speed value to a lower speed value for each segment determined to require slowdown, means are provided for operating said computer to implement In the generation of the command position trajectories any speed increase required by the command data for each segment following a slowdown segment.
14. A controller as set forth in claim 13 wherein means are provided for operating said computer to implement the slowdowns and speed increases as constant ramp speed changes in the command position trajectories.
15. A controller as set forth in claim 13 wherein the lower speed value is zero.
16. A controller as set forth in claim 13 wherein said computer is operated to determine a need for slowdown if the difference in any axis velocity between successive segments is greater than a specified deceleration rate times the sampling period.
17. A method for operating a machine having at least two members movable along or about respective axes, the steps of said method comprising: operating a computer for determining input numerical command data including data representative of the end points of successive segments along a desired contour, operating a computer for generating representations of successive axis points corresponding to points along the segments between the segment end points to form a command position trajectory for each of the two axes in response to the input command data, generating a sampling determinant at a predetermined rate, operating a computer for generating the successive trajectory command point representations at the sampling determinant rate, operating a computer for determining the successive command points for at least one axis, by adding the next previous command point to a position change quantity which is representative of sample period velocity times the sampling period, operating a computer for generating command outputs at least in response to the command position trajectories, and operating the two machine members in response to the command outputs.
18. A method for operating a machine as set forth in claim 17 wherein the sample period velocity is the average section velocity.
19. A method for operating a machine as set forth in claim 17, wherein the computer is operated to detect operator feedrate override setting and the position change quantity is made a function of the feedrate override.
20. A method for operating a machine as set forth in claim 19 wherein the feedrate override is represented as a percentage value, and the computer is further operated to apply the feedrate representation as a multiplier in the position change quantity.
21. A method for operating a machine as set forth in claim 17 wherein the computer is further operated to determine the position change quantity by adding the next previous sample period position quantity to any required acceleration or deceleration in the present sample period times the square of the sample period.
22. A method for operating a machine as set forth in claim 21 wherein the acceleration or deceleration value is constant.
23. A method for operating a machine as set forth in claim 17 wherein a first program is executed in the computer at a rate equal to the sampling rate, the successive trajectory command points and the command outputs are determined during the execution of the first program, at least one second program is executed in the computer during nonoperating periods of the first program, and predetermined calculations are made on the input command data during the second program execution to develop precalculated data for use in making the command point determinations during execution of the first program.
24. A method for operating a machine as set forth in claim 23 wherein the precalculated data includes representations of respective distances over which acceleration rate and constant speed and deceleration rate values are to be implemented in the trajectories, and the position change quantity is determined in accordance with the distance representations and the acceleration and deceleration and constant speed values.
25. A method for operating a machine as set forth in claim 24 wherein the pRecalculated data further includes the product of a constant specified acceleration or deceleration value and the sampling period so that the position change representation can be determined by an addition or subtraction operation during execution of the first program.
26. A method for operating a machine as set forth in claim 17 wherein the computer is further operated to determine the one axis as the fastest axis in each segment and to determine the slope of each segment relative to the fastest axis and to determine from the corresponding slope and the corresponding fastest axis command points for the other axis in each segment thereby to form the other axis command position trajectory.
27. A method for operating a machine having at least two members movable along or about respective axes, the steps of said method comprising: operating a computer for determining input numerical command data including data representative of the end points of successive segments along a desired contour, operating a computer for generating representations of successive axis points corresponding to points along the segments between the segment end points to form a command position trajectory for each of the two axes in response to the input command data, operating a computer for determining whether acceleration and deceleration are required in each segment, and to implement acceleration and deceleration determinations in generating the command position trajectories, generating a sampling determinant at a predetermined rate, operating a computer for generating the successive trajectory command point representations at the sampling determinant rate, operating a computer for generating command outputs at least in response to the command position trajectories, and operating the two machine members in response to the command outputs.
28. A method for operating a machine as set forth in claim 27, wherein the acceleration and deceleration rate values are specified as predetermined constants.
29. A method for operating a machine as set forth in claim 28 wherein segment deceleration is instituted when required to reach zero velocity at the end of segments in which deceleration is required.
30. A method for operating a machine having at least two members movable along or about respective axes, the steps of said method comprising: operating a computer for determining input numerical command data including data representative of the end points of successive segments along a desired contour, operating a computer for generating representations of successive axis points corresponding to points along the segments between the segment end points to form a command position trajectory for each of the two axes in response to the input command data, generating a sampling determinant at a predetermined rate, operating a computer for generating the successive trajectory command point representations at the sampling determinant rate, operating a computer for generating feedback data relative to tee position of each of the machine members, the position feedback data being accumulated, the accumulated feedback data being periodically detected by the computer at the sampling rate, and further operating the computer for generating the command outputs in response to the command position trajectories and the sampled position feedback data, and operating the two machine members in response to the command outputs.
31. A method for operating a machine as set forth in claim 30 wherein the computer is further operated to determine the successive command points for at least one axis by adding the next previous command point to a position change quantity which is representative of sample period velocity times the sampling period.
32. A method for operating a machine as set forth in claim 31 wherein the computer is further operated to determine the position change quantity by adding the next previous sample period position quantity to any required acceleration or deceleration in the present sample period times the sQuare of the sample period.
33. A method for operating a machine as set forth in claim 31 wherein a first program is executed in the computer at a rate equal to the sampling rate, the successive trajectory command points and the command outputs are determined during the execution of the first program, at least one second program is executed in the computer during nonoperating periods of the first program, and predetermined calculations are made on the input command data during the second program execution to develop precalculated data for use in making the command point determinations during execution of the first program.
34. A method for operating a machine as set forth in claim 33 wherein the precalculated data includes representations of respective distances over which acceleration rate and constant speed and deceleration rate values are to be implemented in the trajectories, and the position change quantity is determined in accordance with the distance representations and the acceleration and deceleration and constant speed values.
35. A method for operating a machine as set forth in claim 30 wherein the computer is operated to determine whether acceleration and deceleration are required in each segment and to implement acceleration and deceleration determinations in generating the command position trajectories.
36. A method for operating a machine as set forth in claim 27 wherein the acceleration determination is made by comparing of a distance quantity representative of endpoint speed in each segment and a distance quantity representative of required speed in each next segment thereby avoiding square root calculations.
37. A numerical contouring controller for a machine having at least two members movable along or about respective axes, said controller comprising a digital computer, means for operating said computer to determine input numerical command data including data representative of the end points of successive segments along a desired contour, means for operating said computer to generate successive axis points corresponding to points along the segments between the segment end points thereby to form a command position trajectory for each of the two axes in response to the input command data, means for operating the computer to determine whether acceleration and deceleration are required in each segment and to implement acceleration and deceleration determinations in generating the command position trajectories, means for generating a sampling determinant at a predetermined rate, and means for operating said computer to generate the successive command points on the trajectory at the sampling determinant rate.
38. A numerical contouring controller for a machine having at least two members movable along or about respective axes, said controller comprising a digital computer, means for operating said computer to determine input numerical command data including data representative of the end points of successive segments along a desired contour, means for operating said computer to generate successive axis points corresponding to points along the segments between the segment end points thereby to form a command position trajectory for each of the two axes in response to the input command data, means for generating a sampling determinant at a predetermined rate, means for operating the computer to determine the successive command points, for at least one axis by adding the next previous command point to a position change quantity which is representative of sample period velocity times the sampling period, and means for operating said computer to generate the successive command points on the trajectory at the sampling determinant rate.
39. A numerical contouring controller as set forth in claim 38 wherein means are provided for operating the computer to determine the position change quantity by adding the next previous sample period velocity times the sample period to any required acceleration or deceleration in the present sample period times the square of the sample period.
40. A numerical contouring controller as set forth in claim 39 wherein the acceleration or deceleration value is constant.
41. A numerical contouring controller for a machine having at least two members movable along or about respective motion axes, said controller comprising a digital computer, means for operating said computer to generate a command position trajectory for each of the two axes in response to input numerical command data, means for generating feedback data relative to the position of each of the machine members, means for transferring the feedback position data from said generating means to said computer, means for operating said computer to generate command outputs in response to the command position trajectories and the position feedback data, and means for operating the machine members in response to the command outputs.
42. A numerical contouring controller as set forth in claim 41 wherein means are provided for operating said computer to generate interfacing data outputs in response to other data inputs, and means for responding to the interfacing data outputs to operate operator and machine interfacing devices.
43. A numerical contouring controller as set forth in claim 41 wherein the input command data includes data representative of the end points of successive segments along a desired contour, the command position trajectories are formed by successive command axis points corresponding to points along the segment between the segment end points and wherein means are provided for operating said computer to generate the successive command axis points in respective sample periods occurring at a predetermined rate.
44. A numerical contouring controller as set forth in claim 41 wherein means are provided for operating said computer to detect an operator feed hold request, means are provided for operating said computer during feed hold to prevent the command position trajectories from determining the command outputs and to set the command outputs substantially equal to zero.
45. A numerical contouring controller as set forth in claim 41 wherein means are provided for operating said computer to detect changes in the feedrate override value, and means are provided for operating said computer to change the time scales for the command position trajectories in proportion to changes in the feedrate override.
46. A numerical contouring controller as set forth in claim 41 wherein means are provided for operating said computer to determine whether a slowdown is required prior to the end of each segment, means are provided for operating said computer to determine a segment point at which to reduce speed in each segment determined to require a slowdown, means are provided for operating said computer to implement in the command position trajectories a speed reduction from the segment operating speed value to a lower speed value for each segment determined to require slowdown, means are provided for operating said computer to implement in the generation of the command position trajectories any speed increased required by the command data for each segment following a slowdown segment.
47. A numerical contouring controller as set forth in claim 46 wherein means are provided for operating said computer to implement the slowdowns and speed increases as ramp speed changes in the command position trajectories.
48. A numerical contouring controller as set forth in claim 47 wherein means are provided for operating said computer to determine a need for slowdown if the difference in any axis velocity between successive segments is greater than a specified deceleration rate times the sampling period.
49. A numerical contouring controller as set forth in claim 41 wherein means are provided for operating said computer to determine whether acceleration and deceleration are required in each segment and to implement acceleration and deceleration determinations in generating the command position trajectories.
50. A method for operating a machine having at least two members movable along or about respective axes, the steps of said method comprising generating feedback data relative to the position of each of the machine members, accumulating the position feedback data, transferring the position feedback data to the input of a digital computer, operating the computer to generate a command position trajectory for each of the two axes, operating the computer to generate command outputs in response to the command position trajectories and the position feedback data, and operating the two machine members in response to the command outputs.
51. A method for operating a machine as set forth in claim 50 wherein interfacing data outputs are generated in response to other data inputs and operator and machine interfacing devices are operated in response to the interfacing data outputs.
52. A method for operating a machine as set forth in claim 50 wherein the input command data includes data representative of the end points of successive segments along a desired contour, the command position trajectories are formed by successive command axis points corresponding to points along the segment between the segment end points and wherein the computer is operated to generate the successive command axis points in respective sample periods occurring at a predetermined rate.
53. A method for operating a machine as set forth in claim 50 wherein the computer is operated to determine whether acceleration and deceleration are required in each segment and to implement acceleration and deceleration determinations in generating the command position trajectories.
54. A method for operating a machine having at least two members movable along or about respective axes, the steps of said method comprising generating feedback data relative to the position of each of the machine members, writing the programs in a program system for a digital computer in assembly language, assembling and entering the program system into the computer memory, operating the computer in accordance with the program system to obtain input axis motion command data and other data and to obtain the generated position feedback data, operating said computer to generate data interfacing outputs in response to the other data, operating said computer to generate axis motion control data outputs in response to the axis motion command data, and operating predetermined machine tool and operator interface devices and the machine members in response to the data outputs.
55. A method for operating a machine as set forth in claim 54 wherein the input command data includes data representative of the end points of successive segments along a desired contour, the command position trajectories are formed by successive command axis points corresponding to points along the segment between the segment end points and the computer is operated to generate the successive command axis points in respective sample periods occurring at a predetermined rate.
56. A method for operating a machine as set forth in claim 54 wherein the computer is operated to determine whether acceleration and deceleration are required in each segment and to implement acceleration and deceleration determination in generating the command position trajectories.
57. A method for operating a machine as set forth in claim 54 wherein feedback data is generated relative to the position of each of the machine members, the position feedback data is accumulated, the accumulated feedback data is periodically detected by the computer at the sampling rate, and the computer is further operated to generate the command outputs in response to the command position trajectories and the sampled position feedback data.
58. A method for operating a machine as set forth in claim 55 wherein feedback data is generated relative to the position of each of the machine members, the position feedback data is accumulated, the accumulated feedback data is periodically detected by the computer at the sampLing rate, and the computer is further operated to generate the command outputs in response to the command position trajectories and the sampled position feedback data.
59. A method for operating a machine as set forth in claim 56 wherein feedback data is generated relative to the position of each of the machine members, the position feedback data is accumulated, the accumulated feedback data is periodically detected by the computer at the sampling rate, and the computer is further operated to generate the command outputs in response to the command position trajectories and the sampled position feedback data.
60. A method for operating a machine as set forth in claim 52 wherein feedback data is generated relative to the position of each of the machine members, the position feedback data is accumulated, the accumulated feedback data is periodically detected by the computer at the sampling rate, and the computer is further operated to generate the command outputs in response to the command position trajectories and the sampled position feedback data.
61. A method for operating a machine as set forth in claim 53 wherein feedback data is generated relative to the position of each of the machine members, the position feedback data is accumulated, the accumulated feedback data is periodically detected by the computer at the sampling rate, and the computer is further operated to generate the command outputs in response to the command position trajectories and the sampled position feedback data.
62. A numerical contouring method for operating a machine having at least two members movable along or about respective axes, the steps of said method comprising obtaining numerical command data for each of successive contour segments, determining a representation of whether a speed reduction is required prior to the end of each segment, determining a representation of a segment point at which to reduce speed in each segment determined to require slowdown, generating a command position trajectory for each of the two axes in response to the command data, implementing in the generation of the command position trajectories a ramp speed reduction from the segment operating speed value to zero speed value over the distance from the determined slowdown point to the end of each segment determined to require slowdown, implementing in the generation of the command position trajectories a ramp speed increase from the starting point of each segment following a deceleration segment, determining command output at least in response to the command position trajectories, and operating the machine members in response to the command outputs.
63. A method for operating a machine as set forth in claim 62 wherein a digital computer is employed to generate the command position trajectories and to implement the ramp speed reductions and increases in the trajectories and to determine the command outputs.
64. A method for operating a machine as set forth in claim 63 wherein feedback data is generated relative to the position of each of the machine members, the position feedback data is accumulated, the accumulated feedback data is periodically detected by the computer, and the computer is further operated to generate the command outputs in response to the command position trajectories and the sampled position feedback data.
65. A method for operating a machine as set forth in claim 62 wherein the numerical command data includes data representative of the end points of successive segments along a desired contour, the computer forms the command position trajectories from successive command axis points corresponding to points along the segment between the segment end points and the computer generates the successive command axis points in respective sample periods occurring at a predetermined rate.
66. A method for operating a machine as set forth in claim 65 wherein feedback data is generated relative to the position of each of the machine members, the position feedback data is accumulated, the accumUlated feedback data is periodically detected by the computer at the sampling rate, and the computer is further operated to generate the command output in response to the command position trajectories and the sample position feedback data.
67. A method for operating a machine as set forth in claim 65 wherein the computer is further operated to determine the successive command points for at least one axis by adding the next previous command point to a position change quantity which is representative of sample period velocity times the sampling period.
68. A method for operating a machine as set forth in claim 67 wherein the sample period velocity is the average velocity.
69. A method for operating a machine as set forth in claim 67 wherein the computer is further operated to determine the position change quantity by adding the next previous sample period velocity times the sample period to any required acceleration or deceleration in the present sample period times the square of the sample period.
70. A method for operating a machine as set forth in claim 69 wherein the acceleration or deceleration value is constant.
71. A method for operating a machine as set forth in claim 73 wherein the computer is further operated to determine the one axis as the fastest axis in each segment and to determine the slope of each segment relative to the fastest axis and to determine from the corresponding slope and the corresponding fastest axis command points for the other axis in each segment thereby to form the other axis command position trajectory.
72. A method for operating a machine wherein feedback data is generated relative to the position of each of the machine members, the position feedback data is accumulated, the accumulated feedback data is periodically detected by the computer at the sampling rate, and the computer is further operated to generate the command outputs in response to the command position trajectories and the sampled position feedback data.
73. A method for operating a machine having at least two members movable along or about respective axes, the steps of said method comprising operating a digital computer to determine input numerical command data including data representative of the end points of successive contour segments, operating the computer to determine the fastest axis in each segment, operating the computer to determine successive axis points corresponding to points along the segments between the segment end points for the fastest axis in each segment thereby to form a fastest axis command position trajectory, operating the computer to determine the slope of each segment relative to the fastest axis, operating the computer to determine from the corresponding slope and the corresponding fastest axis command points successive axis command points for the other axis in each segment thereby to form the other axis command position trajectory, operating the computer to generate command outputs at least in response to the command position trajectories, and operating the machine members in response to the command outputs.
74. A method for operating a machine as set forth in claim 73 wherein a sampling determinant is generated at a predetermined rate, and the computer is further operated to generate the successive trajectory command points at the sampling determinant rate.
75. A method for operating a machine as set forth in claim 74 wherein feedback data is generated relative to the position of each of the machine members, the position feedback data is accumulated, the accumulated feedback data is periodically detected by the computer at the sampling rate, and the computer is further operated to generate the command outputs in response to the command position trajectories and the sampled position feedback data.
76. A method for operating a digital numerical contouring computer used in a controller for a machine having at least two movable members along or about respective axes, the steps of said method comprising executing a first program at a predetermined clocked sampling rate, determining axis command position trajectories during successive first program executions by generating successive axis points corresponding to points along the segments between the segment end points in response to precalculated data, determining during the first program executions machine member command outputs in response at least to the command position trajectories, executing at least one second program during nonoperating periods of the first program, determining during the execution of the second program input numerical command data, and making predetermined precalculations on the input command data to develop the precalculated data for the first program during execution of the second program.
77. A computer operating method as set forth in claim 76 wherein there is further determined during the first program execution accumulated feedback data, and the feedback data and the command position trajectory are compared in each sample period to determine the command outputs.
78. A computer operating method as set forth in claim 77 wherein the first program further determines the successive command points for at least one axis by adding the next previous command point to a position change quantity which is representative of sample period velocity times the sampling period.
79. A computer operating method as set forth in claim 78 wherein the first program further determines the position change quantity by adding the next previous sample period velocity times the sample period to any required acceleration or deceleration in the present sample period times the square of the sample period.
80. A computer operating method as set forth in claim 79 wherein the acceleration or deceleration rate value is a constant.
81. A computer operating method as set forth in claim 80 wherein the precalculated data includes respective distances over which acceleration rate and constant speed and deceleration rate values are to be implemented in the trajectories, and the position change quantity is determined in accordance with the distances and the acceleration and deceleration and constant speed values.
82. A computer operating method as set forth in claim 81 wherein the precalculated data further includes the product of a constant specified acceleration or deceleration value and the sampling period so that the position change representation can be determined by an addition or subtraction operation during execution of the first program.
83. A computer operating method as set forth in claim 77 wherein the computer is further operated to determine one axis as the fastest axis in each segment and to determine the slope of each segment relative to the fastest axis and to determine from the corresponding slope and the corresponding fastest axis the trajectory command points for the other axis in each segment.
84. A computer operating method as set forth in claim 82 wherein the computer is further operated to determine one axis as the fastest axis in each segment and to determine the slope of each segment relative to the fastest axis and to determine from the corresponding slope and the corresponding fastest axis the trajectory command points for the other axis in each segment.
85. A computer operating method as set forth in claim 76 wherein the second program determines whether acceleration and deceleration are required in each segment and generates the precalculated data accordingly, and the first program implements the second program acceleration and deceleration determinations in generating the command position trajectories.
86. A method for operating a digital numerical contouring computer used in a controller for a machine having at least two members movable along or about respective axes, the steps of said method comprising determining a command position trajectory for each of the two axes in response to input numerical command data pertaining to successive contour segments, determining a representation of whetHer a speed reduction is required prior to the end of each segment, determining a representation of a segment point at which to reduce speed in each segment determined to require slowdown, implementing in the generation of the command position trajectories a speed reduction from the segment operating speed value to a lower speed value for each segment determined to require slowdown, implementing in the command position trajectories any speed increase required by the command data for each segment following a slowdown segment, and generating commands for output control in response at least to the command position trajectory.
87. A computer operating method as set forth in claim 86 wherein ramp speeds are implemented in the trajectories for slowdown and speedup.
88. A computer operating method as set forth in claim 87 wherein the slowdown speed ramps are implemented in the trajectories to generate a lower speed zero value equal to zero at the end of slowdown segments.
89. A numerical contouring controller for a machine having at least two members movable along or about respective motion axes, said controller comprising a digital computer, means for operating said computer to generate a command position trajectory for each of the two axes in response to input numerical command data pertaining to successive contour segments, means for operating said computer to determine whether a speed reduction is required prior to the end of each segment, means for operating said computer to determine a segment point at which to reduce speed in each segment determined to require slowdown, means for operating said computer to implement in the generation of the command position trajectories a speed reduction from the segment operating speed value to a lower speed value for each segment determined to require slowdown, means for operating said computer to implement in the generation of the command position trajectories any speed increase required by the command data for each segment following a slowdown segment, means for operating said computer to generate command outputs in response at least to the command position trajectories, and means for operating the two machine members in response to the command outputs.
90. A machine controller as set forth in claim 92 wherein means are provided for generating feedback data relative to the position of each of the machine members, means are provided for accumulating the position feedback data, means are provided for operating the computer to detect the accumulated feedback data periodically at the sampling rate, and means are provided for further operating to generate the command outputs in response to the command position trajectories and the sampled position feedback data.
91. A numerical contouring controller for a machine having at least two members movable along or about respective axes, said controller comprising a digital computer, means for operating said computer to determine input numerical command data, means for operating said computer to determine a command position trajectory for each of the two axes from the input data, means for operating said computer to determine command outputs in response at least to the command position trajectories, means for operating said computer to detect an operator feed hold request, means for operating said computer during feed hold to prevent the command position trajectories from determining the command outputs and to set the command outputs substantially equal to zero, and means for operating the two machine members in response to the command outputs.
92. A numerical contouring controller for a machine having at least two members movable along or about respective axes, said controller comprising a digital computer, means for operating said computer to determine input numerical command data, means for operating said computer to determine a command position trajectory for each of the two axes from the input data, means for operating said computer to determine command outputs in response at least To the command position trajectories, means for operating said computer to detect changes in the operator feedrate override value, means for operating said computer to change the time scales for the command position trajectories in proportion to changes in the feedrate override, and means for operating the machine members in response to the command position trajectories.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US3994070A | 1970-05-22 | 1970-05-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
US3699317A true US3699317A (en) | 1972-10-17 |
Family
ID=21908191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US39940A Expired - Lifetime US3699317A (en) | 1970-05-22 | 1970-05-22 | Sampled data numerical contouring machine controller apparatus and method providable with on line capability for contour cornering deceleration and acceleration |
Country Status (6)
Country | Link |
---|---|
US (1) | US3699317A (en) |
CA (1) | CA932842A (en) |
DE (1) | DE2124983C2 (en) |
FR (1) | FR2090234B1 (en) |
GB (1) | GB1354606A (en) |
NL (1) | NL7107022A (en) |
Cited By (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3746845A (en) * | 1970-08-06 | 1973-07-17 | Bendix Corp | Numerical control system |
USRE29685E (en) * | 1972-04-06 | 1978-06-27 | The Foxboro Company | Process control system |
US4139888A (en) * | 1976-09-14 | 1979-02-13 | Ing. C. Olivetti & C., S.P.A. | Autoadaptive working center for programmable automation |
US4281379A (en) * | 1978-12-18 | 1981-07-28 | Mcdonnell Douglas Corporation | Computer driven control system for a numerically controlled machine tool |
US4310878A (en) * | 1970-12-28 | 1982-01-12 | Hyatt Gilbert P | Digital feedback control system |
US4364110A (en) * | 1970-12-28 | 1982-12-14 | Hyatt Gilbert P | Computerized machine control system |
US4370720A (en) * | 1970-12-28 | 1983-01-25 | Hyatt Gilbert P | Coordinate rotation for numerical control system |
EP0070654A2 (en) * | 1981-07-10 | 1983-01-26 | Gould Inc. | Motion controller |
US4396976A (en) * | 1972-09-11 | 1983-08-02 | Hyatt Gilbert P | System for interfacing a computer to a machine |
EP0086846A1 (en) * | 1981-08-27 | 1983-08-31 | Fanuc Ltd. | Numerical control method |
US4506335A (en) * | 1982-06-10 | 1985-03-19 | Cincinnati Milacron Inc. | Manipulator with controlled path motion |
US4531182A (en) * | 1969-11-24 | 1985-07-23 | Hyatt Gilbert P | Machine control system operating from remote commands |
US4686622A (en) * | 1970-12-28 | 1987-08-11 | Hyatt Gilbert P | Computer system architecture using serial communication |
US4829419A (en) * | 1970-12-28 | 1989-05-09 | Hyatt Gilbert P | Microcomputer control of machines |
US4870559A (en) * | 1969-11-24 | 1989-09-26 | Hyatt Gilbert P | Intelligent transducer |
EP0722580A1 (en) * | 1993-10-07 | 1996-07-24 | Omax Corporation | Motion control with precomputation |
US20010018624A1 (en) * | 1993-07-28 | 2001-08-30 | Pugh Dennis R. | System for adapting an automatic screw machine to achieve computer numeric control |
US6774598B1 (en) * | 1999-09-08 | 2004-08-10 | Dr. Johannes Heidenhain Gmbh | Method and circuitry for producing nominal position values for a closed loop position control of a numerically continuous-path controlled machine |
US20040249484A1 (en) * | 2003-05-14 | 2004-12-09 | Bruno Paillard | Flexible interface for controlling a motion platform |
US20060089748A1 (en) * | 2004-10-22 | 2006-04-27 | Ha Jung I | Method and device to generate position profile in motion controller |
US20060186849A1 (en) * | 2005-02-17 | 2006-08-24 | Yasusuke Iwashita | Servo control device and method of adjusting servo system |
US20070138989A1 (en) * | 2005-12-19 | 2007-06-21 | Fanuc Ltd | Fixed-position stop control apparatus for rotation shaft |
US20070152621A1 (en) * | 2005-12-29 | 2007-07-05 | Doosan Infracore Co., Ltd. | Turret servo control device with overriding and control method thereof |
US7274997B1 (en) * | 2002-08-20 | 2007-09-25 | Goldman Craig E | Method of measuring discrete, incremental feedback from motion devices |
US20090105883A1 (en) * | 2007-10-21 | 2009-04-23 | Miller Daniel H | Method and system for meeting end conditions in a motion control system |
US20110118855A1 (en) * | 2005-06-08 | 2011-05-19 | Brooks Automation, Inc. | Scalable motion control system |
US20110254496A1 (en) * | 2010-04-14 | 2011-10-20 | The University Of North Carolina At Charlotte | Method and Apparatus for Characterizing and Enhancing the Functional Performance of Machine Tools |
US8610393B2 (en) | 2010-04-14 | 2013-12-17 | Babcock & Wilcox Technical Services Y-12, Llc | Method and apparatus for characterizing and enhancing the dynamic performance of machine tools |
US20140172148A1 (en) * | 2008-09-11 | 2014-06-19 | Rockwell Automation Technologies, Inc. | Method and system for programmable numerical control |
US20180164782A1 (en) * | 2016-12-12 | 2018-06-14 | Fanuc Corporation | Numerical controller and data structure |
US11243676B2 (en) * | 2014-10-22 | 2022-02-08 | Okuma Corporation | Numerical control system for machine tool |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3909600A (en) * | 1972-06-26 | 1975-09-30 | Cincinnati Milacron Inc | Method and apparatus for controlling an automation along a predetermined path |
US4137463A (en) * | 1977-06-16 | 1979-01-30 | P.R. Mallory & Co. Inc. | Control system utilizing momentary switching devices |
AT351110B (en) * | 1977-07-04 | 1979-07-10 | Gfm Fertigungstechnik | NUMERICAL PATH CONTROL DEVICE FOR A TOOL MACHINE, IN PARTICULAR A CRANKSHAFT MILLING MACHINE, WITH A CUTTER OR A GRINDING TOOL |
AT373405B (en) * | 1978-10-04 | 1984-01-25 | Gfm Fertigungstechnik | ELECTRICAL CONTROL DEVICE FOR A CUTTING MACHINE TOOL FOR MACHINING CRANKSHAFT |
CN111861236B (en) * | 2020-07-27 | 2023-10-27 | 东北大学 | Bar finishing process data synchronization method |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3204132A (en) * | 1962-02-07 | 1965-08-31 | Bendix Corp | Contouring system accelerationdeceleration control |
US3573738A (en) * | 1968-01-15 | 1971-04-06 | Ibm | Demand computer system for machine tool control |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3072833A (en) * | 1959-03-20 | 1963-01-08 | Seeco Inc | Apparatus for electronic programming of three channel machine tool automatic controltape |
US3246125A (en) * | 1960-03-21 | 1966-04-12 | Warner Swasey Co | Numerical control system for a machine tool |
US3418549A (en) * | 1962-03-19 | 1968-12-24 | Rohr Corp | Combined numerical and torque control for a work and feed machine tool |
US3443178A (en) * | 1964-03-04 | 1969-05-06 | Pratt & Whitney Inc | Servo system |
US3400314A (en) * | 1965-05-27 | 1968-09-03 | Gen Electric | Numerical positioning control system |
GB1189959A (en) * | 1965-09-03 | 1970-04-29 | Olivetti & Co Spa | Improvements in Numerical Control Devices |
DE1763654A1 (en) * | 1967-07-12 | 1972-02-10 | Houdaille Industries Inc | Numerical control system for machine tools |
US3569814A (en) * | 1969-01-17 | 1971-03-09 | Ibm | Programmed digital servo control including repeated command updating whereby output function becomes smoothly varying |
-
1970
- 1970-05-22 US US39940A patent/US3699317A/en not_active Expired - Lifetime
-
1971
- 1971-04-22 CA CA111014A patent/CA932842A/en not_active Expired
- 1971-05-19 DE DE2124983A patent/DE2124983C2/en not_active Expired
- 1971-05-21 NL NL7107022A patent/NL7107022A/xx not_active Application Discontinuation
- 1971-05-24 GB GB1660171A patent/GB1354606A/en not_active Expired
- 1971-05-24 FR FR7118644A patent/FR2090234B1/fr not_active Expired
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3204132A (en) * | 1962-02-07 | 1965-08-31 | Bendix Corp | Contouring system accelerationdeceleration control |
US3573738A (en) * | 1968-01-15 | 1971-04-06 | Ibm | Demand computer system for machine tool control |
Cited By (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4531182A (en) * | 1969-11-24 | 1985-07-23 | Hyatt Gilbert P | Machine control system operating from remote commands |
US4870559A (en) * | 1969-11-24 | 1989-09-26 | Hyatt Gilbert P | Intelligent transducer |
US3746845A (en) * | 1970-08-06 | 1973-07-17 | Bendix Corp | Numerical control system |
US4829419A (en) * | 1970-12-28 | 1989-05-09 | Hyatt Gilbert P | Microcomputer control of machines |
US4686622A (en) * | 1970-12-28 | 1987-08-11 | Hyatt Gilbert P | Computer system architecture using serial communication |
US4364110A (en) * | 1970-12-28 | 1982-12-14 | Hyatt Gilbert P | Computerized machine control system |
US4370720A (en) * | 1970-12-28 | 1983-01-25 | Hyatt Gilbert P | Coordinate rotation for numerical control system |
US4310878A (en) * | 1970-12-28 | 1982-01-12 | Hyatt Gilbert P | Digital feedback control system |
USRE29685E (en) * | 1972-04-06 | 1978-06-27 | The Foxboro Company | Process control system |
US4396976A (en) * | 1972-09-11 | 1983-08-02 | Hyatt Gilbert P | System for interfacing a computer to a machine |
US4139888A (en) * | 1976-09-14 | 1979-02-13 | Ing. C. Olivetti & C., S.P.A. | Autoadaptive working center for programmable automation |
US4281379A (en) * | 1978-12-18 | 1981-07-28 | Mcdonnell Douglas Corporation | Computer driven control system for a numerically controlled machine tool |
EP0070654A3 (en) * | 1981-07-10 | 1984-10-24 | Gould Inc. | Motion controller |
EP0070654A2 (en) * | 1981-07-10 | 1983-01-26 | Gould Inc. | Motion controller |
EP0086846A4 (en) * | 1981-08-27 | 1986-05-14 | Fanuc Ltd | Numerical control method. |
EP0086846A1 (en) * | 1981-08-27 | 1983-08-31 | Fanuc Ltd. | Numerical control method |
US4506335A (en) * | 1982-06-10 | 1985-03-19 | Cincinnati Milacron Inc. | Manipulator with controlled path motion |
US20010018624A1 (en) * | 1993-07-28 | 2001-08-30 | Pugh Dennis R. | System for adapting an automatic screw machine to achieve computer numeric control |
US6662074B2 (en) * | 1993-07-28 | 2003-12-09 | Amt Machines Systems Ltd. | System for adapting an automatic screw machine to achieve computer numeric control |
EP0722580A1 (en) * | 1993-10-07 | 1996-07-24 | Omax Corporation | Motion control with precomputation |
EP0722580A4 (en) * | 1993-10-07 | 1998-05-13 | Omax Corp | Motion control with precomputation |
US6774598B1 (en) * | 1999-09-08 | 2004-08-10 | Dr. Johannes Heidenhain Gmbh | Method and circuitry for producing nominal position values for a closed loop position control of a numerically continuous-path controlled machine |
US7274997B1 (en) * | 2002-08-20 | 2007-09-25 | Goldman Craig E | Method of measuring discrete, incremental feedback from motion devices |
US20040249484A1 (en) * | 2003-05-14 | 2004-12-09 | Bruno Paillard | Flexible interface for controlling a motion platform |
US7321799B2 (en) * | 2003-05-14 | 2008-01-22 | D-Box Technologies Inc. | Flexible interface for controlling a motion platform |
US20060089748A1 (en) * | 2004-10-22 | 2006-04-27 | Ha Jung I | Method and device to generate position profile in motion controller |
US8024061B2 (en) * | 2004-10-22 | 2011-09-20 | Samsung Electronics Co., Ltd. | Method and device to generate position profile in motion controller |
US7368887B2 (en) * | 2005-02-17 | 2008-05-06 | Fanuc Ltd | Servo control device and method of adjusting servo system |
US20060186849A1 (en) * | 2005-02-17 | 2006-08-24 | Yasusuke Iwashita | Servo control device and method of adjusting servo system |
US10488851B2 (en) | 2005-06-08 | 2019-11-26 | Brooks Automation, Inc. | Scalable motion control system |
US20110118855A1 (en) * | 2005-06-08 | 2011-05-19 | Brooks Automation, Inc. | Scalable motion control system |
US9020617B2 (en) * | 2005-06-08 | 2015-04-28 | Brooks Automation, Inc. | Scalable motion control system |
US7446497B2 (en) * | 2005-12-19 | 2008-11-04 | Fanuc Ltd | Fixed-position stop control apparatus for rotation shaft |
US20070138989A1 (en) * | 2005-12-19 | 2007-06-21 | Fanuc Ltd | Fixed-position stop control apparatus for rotation shaft |
US20070152621A1 (en) * | 2005-12-29 | 2007-07-05 | Doosan Infracore Co., Ltd. | Turret servo control device with overriding and control method thereof |
US7501779B2 (en) * | 2005-12-29 | 2009-03-10 | Doosan Infracore Co., Ltd. | Turret servo control device with overriding and control method thereof |
US8050800B2 (en) * | 2007-10-21 | 2011-11-01 | Ge Intelligent Platforms, Inc. | Method and system for meeting end conditions in a motion control system |
CN101849215B (en) * | 2007-10-21 | 2013-11-06 | 通用电气智能平台有限公司 | Method and system for meeting end conditions in a motion control system |
US20090105883A1 (en) * | 2007-10-21 | 2009-04-23 | Miller Daniel H | Method and system for meeting end conditions in a motion control system |
US20140172148A1 (en) * | 2008-09-11 | 2014-06-19 | Rockwell Automation Technologies, Inc. | Method and system for programmable numerical control |
US9483043B2 (en) * | 2008-09-11 | 2016-11-01 | Rockwell Automation Technologies, Inc. | Method and system for programmable numerical control |
US8432119B2 (en) * | 2010-04-14 | 2013-04-30 | Babcock & Wilcox Technical Services Y-12, Llc | Method and apparatus for characterizing and enhancing the functional performance of machine tools |
US8610393B2 (en) | 2010-04-14 | 2013-12-17 | Babcock & Wilcox Technical Services Y-12, Llc | Method and apparatus for characterizing and enhancing the dynamic performance of machine tools |
US20110254496A1 (en) * | 2010-04-14 | 2011-10-20 | The University Of North Carolina At Charlotte | Method and Apparatus for Characterizing and Enhancing the Functional Performance of Machine Tools |
US11243676B2 (en) * | 2014-10-22 | 2022-02-08 | Okuma Corporation | Numerical control system for machine tool |
US20180164782A1 (en) * | 2016-12-12 | 2018-06-14 | Fanuc Corporation | Numerical controller and data structure |
US11402818B2 (en) * | 2016-12-12 | 2022-08-02 | Fanuc Corporation | Numerical controller and data structure |
Also Published As
Publication number | Publication date |
---|---|
GB1354606A (en) | 1974-06-05 |
DE2124983A1 (en) | 1971-12-02 |
FR2090234B1 (en) | 1976-12-03 |
FR2090234A1 (en) | 1972-01-14 |
CA932842A (en) | 1973-08-28 |
DE2124983C2 (en) | 1982-04-01 |
NL7107022A (en) | 1971-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US3699317A (en) | Sampled data numerical contouring machine controller apparatus and method providable with on line capability for contour cornering deceleration and acceleration | |
US3548172A (en) | Adaptive control system for numerically controlled machine tool | |
EP2217979B1 (en) | Method and system for meeting end conditions in a motion control system | |
US5073748A (en) | Method for limiting the rate-of-change of acceleration in numerical driving systems | |
US3629560A (en) | Apparatus for controlled deceleration in numerical positioning | |
US3576979A (en) | Motion monitor system | |
US3725651A (en) | Numerical control system for a lathe | |
US4740885A (en) | Method for monitoring the track generated by the control of the drives of computer controlled machine tool or an industrial robot | |
CN110653826A (en) | Real-time robot trajectory planning method oriented to conveyor belt target following | |
US4815007A (en) | Apparatus for controlling a robot | |
US5394323A (en) | Path error control system | |
CN110377065A (en) | Method for control speed, device and computer readable storage medium | |
US3876873A (en) | Machine tool control system and method | |
US9519280B2 (en) | Numerical control device for machine tool | |
Huang et al. | A novel triple-stage friction compensation for a feed system based on electromechanical characteristics | |
JPS63318240A (en) | Acceleration and deceleration controller | |
US4053819A (en) | Numerical control system for lathes | |
CA1099038A (en) | Method and apparatus for producing a speed pattern for an elevator car or similar vehicle | |
US4214192A (en) | Path control apparatus for the computer directed control of a numerically controlled machine tool | |
US10437234B2 (en) | Machining time calculating apparatus and machining time calculating method | |
US3246218A (en) | Plural motor dual speed positioning system transition control | |
US3148316A (en) | Contouring control apparatus | |
US3325633A (en) | Numerical control system to keep object position within predetermined range | |
CN115847395A (en) | Method and system for judging in-place movement of extractor, electronic equipment and storage medium | |
CN113858213B (en) | Robot dynamic track planning method for target synchronization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: AUTOMATION INTELLIGENCE, INC., 1200 WEST COLONIAL Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:WESTINGHOUSE ELECTRIC CORPORATION, A CORP OF PA;REEL/FRAME:004200/0008 Effective date: 19831206 Owner name: AUTOMATION INTELLIGENCE, INC., 1200 WEST COLONIAL Free format text: ASSIGNMENT OF ASSIGNORS INTEREST.;ASSIGNOR:WESTINGHOUSE ELECTRIC CORPORATION, A CORP OF PA;REEL/FRAME:004200/0008 Effective date: 19831206 |