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 PDF

Info

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
Application number
US39940A
Inventor
Alan E Middleditch
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AUTOMATION INTELLIGENCE Inc 1200 WEST COLONIAL DRIVE ORLANDO FL 32804 A CORP OF
Original Assignee
Westinghouse Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Westinghouse Electric Corp filed Critical Westinghouse Electric Corp
Application granted granted Critical
Publication of US3699317A publication Critical patent/US3699317A/en
Assigned to AUTOMATION INTELLIGENCE, INC., 1200 WEST COLONIAL DRIVE, ORLANDO, FL 32804 A CORP OF DE reassignment AUTOMATION INTELLIGENCE, INC., 1200 WEST COLONIAL DRIVE, ORLANDO, FL 32804 A CORP OF DE ASSIGNMENT OF ASSIGNORS INTEREST. Assignors: WESTINGHOUSE ELECTRIC CORPORATION, A CORP OF PA
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical 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/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33088Clock
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33098Several nc machines, dnc, cnc
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33268D-A, A-D
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34053Counters, tellers
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34132Choosing largest, major coordinate axis
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34153Linear interpolation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34156Slope control, delta x, y proportional to x, y
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34179Variable interpolation speed or resolution
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35286Run tape without machining, tape proving, dry run, test run
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35436Means, manual input, input reference, hand wheel
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35481Display, panel
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36366Data, read in, distribution
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36368Tape reader
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37175Normal encoder, disk for pulses, incremental
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41021Variable gain
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41091Alignment, zeroing, nulling, set parallel to axis
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41241Anti-coincidence, synchronizer
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41245Discrimination of direction
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41363Excess in error, error too large, follow up error
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41469Servo loop with counter, see figure SE-fifteen
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/43Speed, acceleration, deceleration control ADC
    • G05B2219/43006Acceleration, deceleration control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/43Speed, acceleration, deceleration control ADC
    • G05B2219/43009Acceleration deceleration for each block of data, segment
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/43Speed, acceleration, deceleration control ADC
    • G05B2219/43158Feedrate override
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/43Speed, acceleration, deceleration control ADC
    • G05B2219/43183Speed control, input is the reference, but no feedback
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/49Nc machine tool, till multiple
    • G05B2219/49164Corner, making corner
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50019Zero, null offset
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50048Jogging
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50083Power loss, measures again loss of power
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50193Safety in general
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total 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
SHEET 08 0F 48 FIG.8.
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
sum 12 0F 48 EOB SPRK ADVANCE FEOBM ENABLE READ INIT PARCL ENAB- RDI NT-PARCL SR5AD ADVANCE SPRREL 'ANY CH EARLY STOP TAPE CHARACTER TAPE CONTROL CIRCUITRY L7] FIG. IOA.
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.
US39940A 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 Expired - Lifetime US3699317A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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