CA1102434A - Interactive machining system - Google Patents

Interactive machining system

Info

Publication number
CA1102434A
CA1102434A CA281,097A CA281097A CA1102434A CA 1102434 A CA1102434 A CA 1102434A CA 281097 A CA281097 A CA 281097A CA 1102434 A CA1102434 A CA 1102434A
Authority
CA
Canada
Prior art keywords
control
program
machine
tool
data
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
Application number
CA281,097A
Other languages
French (fr)
Inventor
Gerald V. Roch
James P. Wiles
Chris L. Hadley
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.)
Hurco Manufacturing Co Inc
Original Assignee
Hurco Manufacturing Co Inc
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 Hurco Manufacturing Co Inc filed Critical Hurco Manufacturing Co Inc
Application granted granted Critical
Publication of CA1102434A publication Critical patent/CA1102434A/en
Expired legal-status Critical Current

Links

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
    • G05B19/4142Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by the use of a microprocessor
    • 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/34034Multiplier, prm, brm
    • 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/34215Microprocessor
    • 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/34237Multiplexed d-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/35Nc in input of data, input till input file format
    • G05B2219/35431Interactive
    • 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/35447Potentiometer
    • 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/35Nc in input of data, input till input file format
    • G05B2219/35556Conversion inch to metric
    • 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/36111Local memory instead of tape, or combined
    • 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/36117Magnetic tape cassette
    • 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/36162Pendant control box
    • 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/36557Copy entered program in memory to tape
    • 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/37092Display position actual and or target
    • 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/37154Encoder and absolute position counter
    • 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/41036Position error in memory, lookup table for correction actual position
    • 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/41047Recirculating ballnut, ballscrew, preloaded bearing
    • 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/43159Feedrate override only for x y, not for z or only for z and not for 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/43Speed, acceleration, deceleration control ADC
    • G05B2219/43161Second, independent feedrate 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/49Nc machine tool, till multiple
    • G05B2219/49395Repeating same operations for other coordinates
    • 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/50031Zero setting, go to reference with gauge
    • 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/50294Tool offset length by going to a reference and recording distance

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Control Of Position Or Direction (AREA)

Abstract

ABSTRACT

A microprocessor numerical control for a milling machine including means for programming part features by the machine operator as the machine location. The control apparatus includes a CRT display which provides an inquiry system and a keyboard for entry of data by the machine operator. The control system further includes a tape cassette deck operable to read or write data or program material into or out of the processor memory.
The control system regulates motion in the X, Y and Z directions for the milling machine ant also includes an external feed rate adjustment for either the XY plane or the Z axis direction which may be utilized by the machine operator to effect the programmed feed rates. There is further provided automatic tool length calibration and cutter diameter compensation for milling operations.

Description

2~3~

Various types of machine control systems are known, such as for milling machines, utilizing various metal-working tools.
Typically, such numerical controls provide signals to servo motors associated with each o the X, Y and Z axes of the machine and are programmed from a punched paper tape. If modifications are to be made in a particular program, a new tape mus~ be made, generally at a location remote from the milling machine, thereby causing a delay in machine usage.
Other larger computer controls have been devised for control-ling various types of machines with attendant higher cost, 1arger size, etc. An exampl~ of such a numerical con~rol system is shown in U. S. Patent No. 3,746,845 to Henegar et al.
The presently disclosed machine control system includes a servo apparatus associated with each axis of the three axes o~ a milling machine and a control module coupled to the servos by appropriate wiring. The control module includes a cabinet containing a microprocessor and its related supporting circuitry, servo amplifiers, etc. A control panel is pendently mounted above and extending outwardly from the cabinet. The control panel includes ~arious operator controls, a CRT display screen, a data entry key-board and a cassette tape deck.
The presently disclosed apparatus further includes a Z axis carriage and frame for spindle motion specially designed to increase rigidity of the Z axis spindle during an operation such as drilling.
Also utilized is a feed rate adjust control for the operator or the machine with a unique interaction with the program feed rates of the controller.
It should be noted that while the present apparatus described in conjunction with ~he presently disclosed control system is a milling machine, other types of equipment wherein motion may be controlled in a programmed fashion may be controlled by the presently described control system.
~`,,i~
3~

According to a broad aspect of the present invention~ there is provided a programma~le m~crocomputer control apparatus for controlling the relative motion between a tool and a workpiece comprising: indicator means for providing at an output digital signals indicative of the relative position between the tool and the workpiece; an alterable memory operable to retain a control program and control parameters; a microprocessor unit coupled to the output of the indicator means and to the memory and operable to produce control signals dependent upon said indicator means output and said control parameters according to said control program; control means for directing said control signals from the microprocessor unit to appropriate motion-providing means; interface means for transferring a control program and control parameters from an external medium into said alterable memory and for recording the control parameter contents of said memory onto an external medium; and data entry means for loading control parameters into said memory through externally accessible data inputs independently of said interface means.

. . .
;
.

~ , -la-3~

Fur~her features and advantages of the present lnvention shall be apparent from the following detailed description and accompanying figures, wherein:
Fig. 1 is a front view of a three axis mill adapted for operation with a controller according to the present invention, - shown with the control cabinet and pendently mounted control panel.Fig. 2 is a block diagram of the hardware associated with the controller.
Figs. 3-8 are more detailed illustrations of the peripheral interface adaptors of Fig. 2 shown in conjunction with external apparatus with which they interface.
Fig. 9 is an enlarged front view of the control panel of Fig. 1.
Fig. lG is a sectional view of the Z axis servo apparatus of Fig. 1 shown on its side.
Fig. 11 is a top view of the Z axis servo apparatus of Figs. 1 and 10.
Fig. 12 is a circuit diagram of the feed rate adjust - circuitry.
Fig. 13A is a chart showing the effect of the feed rate adjust potentiometers when the controller is in the AUTO mode.
Fig. 13B is a chart similar to that of Fig. 13A for the controller in the JOG mode.
Figs. 14-43 are the various elements of a flow chart illustrating the operation of ~he software associated with the presently disclosed control system.
.

~3~ ~t~
Z~3~L

.

For ~he purposes of promoting an understanding of the principles of the invention, reference will now be made to ~ the embodimen~ illustrated in the drawings and specific - language will be used to describe the same. It will never-theless be understood that no limitation o~ the scope of the in~.Tention is thereby intended, such alterati.ons an~ further modifications in the illustrated device, an~ such further applica~ions of the principles of the invention as illustra~ed therein being contemplated as would normally occur to one skilled in the art to which the invention relates.
Referring in particular to FIG, 1, there is shown a control cabinet and control panel together wlth a 3 axis mill adapted for operation therewith. Cabinet 11 contains the electronic hardware for ~he control system and is mounted , ~ on casters 12 so as to be locatable beside or behind the 3 axis mill 13. Arm 14 extends upwardly and outwardly from the top of cabinet 11 to provide pendent mounting for a con~rol panel 15 conveniently positloned for easy access by the operator of tbe mill. Control panel lS shall be discussed in more detail hereinafter.
The movement control signals and position informa~ion signals are coupled between the servo motor assemblies and the control ci.rcuitry by cables 22, 23 & 24 as shown. An enclosed X axis servo assembly 16 and an enclosed Y axis servo assembly 17 are shown in their appropriate locations Oll the mill.
The Z axis servo assembly is sho~l generally at 18 Witllout its normal casing, and ~urther showing limit switch subassembly ~'' .
., ' ' .
.
.
.. ... . . . ~ .. ... . _ . .... .. _ .. _ _ . . ..

2~ 3 ~
19 which includes the encoder and limit switches as shall be described more particularly hereinafter. The servo motors for all three axes are essentially the same, and a limit : switch subassembly such as 19 is associated with each servo.
:.~ As-is known, table 20 o~ the milling machine is moved -. in the XY plane by screw drives, which in this case are . powered by servos 16 and 17. A Z axis spindle assembly 21 - . is rotated by a spindle motor and also moved in the Z direction .~ by servo 18.
. Referring now to FIGS. 2A and 2B there is shown a block diagram of the control.system electronic hardware. As 5hown in FlG. 2, a microprocesser 31 receives clocking pulses rom a twv phase, non-overla-pping, clock 32. The . ~ microprocessor is, in the exemplary embodiment, a Motorola `.- 6800 MPU. The microprocessor 31 is coupled to both an 8 bit ~: . data bus and a 16.bit address bus. Address lines from ; microprocessor 31 are coupled through line drivers 33 and an .. . .
address decoder 34 to the address bus 35.
The address.information on bus 35 is actually divided ; . 20 into eight 3K decoder segments~ For example, two segments : might be assigned to R~ 36 and an additional segment or : segments assigned to the balance ol the peripheral interface adapters (PIA's) or additional memory~
~: : The PROM 37 is utiLized for boot strapping the micro-- processor 31 under initial start-up conditions~ For example, the information stored in PROM 37 enables the microprocessor unit 31 to appropriately load a program into ~M 36 I`rom a . magnetic tape cassette input. The primary unctioning of -. the microprocessor and related circuitry is dictated by the control program~resident in RAM 36 after.initial set up. A

: ' ' , ', -~ Z~3~ ;

further address decoder 38 is used to provide addressing oE
`the RA~ in the most economical fashion possi~le. Similar address decoding is utili~ed for PROM 37.
MUX 39 multiplexes 6~L external indications down to 8 to accommodate the 8 bit data bus lines. The particular set o~
8 switches addressed is selected by the address from the address bus on line 40 and the appropriate data-out indications are provided on line 41~ Transceiver, or line driver-receiver, 42 provides amplification and directionality for the data bus line branch serving MUX 39 and display PIA 43.
Transceiver 42 is of the same type as line driver-receiver 44 adjacent the microprocessor unlt 31 and transceiver 45 between R~M 36 and the data bus line. The decoder and transceiver associated with PROM 37 are also similar to decoder 38 and transceiver 45 of RAM 36.
As shown in FIG. 7, one o eight binary addresses is provided on lines A0 through A2 from the address bus, and an address signal is received at the CE input~ to ~IUX 39 with decoder 34 address;ng one of the 8 series of 8 switches as shown dia~rammatlcally at 46. An appropriate data word~i dependent upon the settings of switches 46 is placed as an output from the Z terminal of MUX 39 to the transceiver 42.
These switch settings may be limlt switches on the machine, pushbuttons etc.
Display PIA 43, as indicated above, may receive informa-tion from the data bus 47. There are two sections, an A
section and a B section, for PIA 43, as well as the other PIA's disclosed herein. An address line 48 is operable to address either the A or B section of PIA 43. If section A
of PIA 43 is addressed, the data from data bus 47 is coupled through transceiver 42 to the PIA 43, and the ~ bit word is ' . .. . . , . ~ . , .. i 2~ 3 ~ :

coupled to a lamp display indicated at 49 in FIG. 3. In FIG. 3, an exemplary lamp 50 is shown coupled from lamp display 49. For an appropriate address through section A o~
PIA 43, a lamp such as 50 may be activated in response to the required level of the addressed data bit. With the approprlate addresses on line 4g, cRr display 51 is addressed through section B of the PIA 43. Over an ensuing interval, data is sequentially provided io the PIA and interrupted by internal circui.try o display circuit 51 to produce alpha-nurneric charaaters on the screen of CRT 52.
Another ~IA 53 is addressed on llne 54 and interfaceswith the X axis drive of the mill. The Y axis PI~ 55 is similarly addressed on line 56 and PIA 57 for the Z axis is addressed on line 58. Since these three axis controls ' J operate essentially in the same manner, only the X axis PIA
and its associated motor, ampli~ier etc., shall be described in detail herein. As sho~l in FIG. 4, PIA 53 has an A and a B section, and it is addressable by the above-mentioned addresses for each section A and B. If the A section is addressed, an 8 bit word is coupled on line 59 to the PIA, which word is indicative oE relative position. This position indication is an output of an upldown couni~er coinprising the lower portion of servo interace 60 The upper, or B; portion of PIA 53 is an output to servo interface 60. A properly addressed command from the processor 31 is coupled to servo interface 60, which generates an analog voltage and couples it to the input oE amplifier 61. Amplifier 61 runs motor 62 al an appropriate speed for the data information received. Feed back is provided by tachometer 63 to insure accurate motor speed control by .

f ~ rf~
2~3 amplifier 61. Appropriate encoding is done by encoder 64, whlch detects changes in position in the X direction oE the .-milling table, and this encoded in~ormation is provided to the up/down counter in servo interface 60. In the case of the Z axis movernent, the encoder detects the position of the tool head rather than a rectilinear table position.
Feed rate override PIA 65 is also connected between transceiver 66 and address bus 35. As shown in FIG. 6, PIA
65 has an A section and a B section, each oE wllich is addressable by a 2 byte address and each o~ which are coupled from ~ata bus 47. A multiplexer 69 rece.ives a selection indication from the microprocessor at a given time to select the output from either potentiometer 67 or potentiometer 68. The analog voltage indication ~rom the selected pot is coupled on line 70 to the analog-to-digital converter 66.
Potentiometer 67 is a spindle feed rate adjustment, and potentiometer 68 is a feed rate adjustment for the mill table. The digital output from converter 66 is ulitized by the microprocessor to aEfect programmed speeds for the mill table and the mill spindle. A 100 hertz cloclc initiates inquiries to the feed rate override circuitry as shall be . explained in more detail hereinafter. The feed rate modi~ica-tion information from potentiometer 67 and 68 is ultimately coupled to the relay drivers and machine control relays as shown.
A tool change PIA 71 may optionally also be provided and is addressed and coupled to the data bus in the same fashion as those previously described, through a transceiver 72. The A section of PIA 71, as shown in l~IG. 5, receives an 8 bit word indicative of various limit switch conditions frorn a limit sw~tch conditioner 73. The B section of PIA 7l ~ 3 ~ , provides commands rom ~he microprocessor unit 31 affectin~
solenold drivers 74 and ai.r-operated solenoid 75, powered by air from air source 76. The solenoid drivers and solenoids would position the appropriate tool requested by the processor unit in the working position in the mill head. The particular tool selected would then be detected through the limi-t swi~ch conditioners 73.
A tape cassette PIA 77 is couplecl between address bus 35 and data bus 47 throu~h transceiver 78. PIA 77 provides the interfacing with a tape cassetLe which is utilized to load RAM 36. Also, a subsequently inserted cassette may be utilized to record stored RA~I program data through PIA 77.
Cassette control data is coupled through PIA 77 to the cassette on lines 79 as shown in FIG. 8A. Front panel switches shown generally at 80 provide inputs by way of a multiplexer 39 as described above to direct the cassette operation. The processor is also abie to read data from the tape cassette 81 on a read command.
A spindle speed PIA 82 may also optionally be provided between the address bus and the data bus through transceiver 83. PIA 82 interfaces between the microprocessor and the motor driving the spindle of the tool head such as for a drilling operation. The amplifier and motor control operation for Z axis spindle speed control would be essentially the same as that shown earlier in regard to the motor control in -FIG. 4.
Referring now to FIG. 9, there is sho~l the front panel of the control. The control panel includes a power switch 201 for providing electrical power to the control system and a key-lock inch-millimeter selector 202. A machine mode positioning control 203 has six positions for determining __ _ , , , . .. ~ _~ ._ . . ...... . . .

the X, Y or Z direction (plus or minus) for motion in JOG
mode Additionally control 203 may be placed in the auto mode for automatically positioning the X, Y and Z a~es according to programmed inEormation, or in one of two - tape modes for energizing the tape cassette. In the tape manual mode the cassette switches ON and REl~IND 226 and 227 are enabled. Depressing switch 226 causes the tape transport to operate in the forward direction while depressing button 227 causes the transport to operate in the rewind direction.
The tape auta position permits operation o~ the cassette under control of the stored program. In the digital readout mode, the X, Y and Z axis positi.ons are dLsplayed. In this mode, the servos for the three axes are disabled, and the machine may be manually operated and the control used as a digital-`
readout device only.
In regard to spindle mode switch 204, when control 204 is ln the off position, only the mill table moves in the X
and Y direction and there ,is no Z direction movement for the spindle. In the auto position, the spindle is moved in the - 20 Z direction normally per program instructions. In the manual-on position the spindle is on and rotatin~, and a first depression of the spindle down push button 205 will cause the spindle to move to its Z down position, and a subsequent depression of push button 205 will result in the spindle returning to ull up position. In the manual-off position for control 204, the spindle motor is deenergized and the Z axis feed is per program only ater the spindle down button 205 has~been pushed, except Z moves to Z up dimension and remains until pushbutton 205 is depressed again.
The spindle then retracts to its ull up position.
Push button 206 is a motion hold button which stops all 2~

sérvo motion. Button 207 is operable while de~ressed to provide coolant for the tool being utilized in the vicinity of the workpiece. Button 208 starts operation o~ the mill when the control is in the operate or single cycle mode.
Button 209 is an emergency stop button which removes power from the control and motors, etc.
Two feed rate override controls are provided. Knob 210 lS . the table feed rate override control, and when it is set at P (program) positi.on no alteration of programmed table eed rate is obtained. S~indle control knob 211 is similarl.y set at P for no eEfect on the feed rate in the Z direction for the mill spindle. The manner in which these control settings effect programmed feed rates as they are moved to the left or right of P is discussed in more detail herein-after. Spindle knob 211 and table knob 210 are coupled to potentiometers 67 and 68 of FIG. 6, respectively.
A GRT screen 212 is provided for dlsplaying data blocks etc. A clata entry keyboard 213 is supplied for placing data into the control memory in response to inq~iries on the CRT
2Q 212. Program keys 214 through Z17 are provided for various functions involving entry of data into memory for execu~ion of the program. Next block key 214 advances the data block displayed on the CRT. Advance key 215 advances the current inquiry displayed at the bottom of the CRT screen to the , next data item for that data block. I a number from keyboard 213 is entered through advance key 215, the GRT display will advance to the da~a block having a corresponding number.
Erase key 216 erases an entry made in response to the particular item o inquiry at the bottom of the CRT (unless the data block number is at the bottom of the CRT, in which case all data is erased from that data block). Increment key 217 - indicates, in response to an inquiry, tha~ a dimension .

2~3~ :~

entered into a data bloclc is to be measured E~-om tlle last position rather than the initial ~e~erence positi.on o~ the table or spindle. The sequence of inquiries on the ~CRT
screen for a data block ollows the sequence: data block : number, machine mode, control mode, X dimension, Y ~imensi.on, Z dimension, feed rate, peclc rate an~ tool number. In addition, ~or step-repeat blocks, ~he X ancl ~ dimcnsions are requested as well as the number o repetitions in the X and Y directions. Xn a milling block, an inquiry is made as to whe.ther or not the milling is inside or-outside frame milling.
Therefore, the operator of the machine has control of ~he selection of number entries from the keyboard to identi~y various parameters in a data block. The operator makes the type selections by number keys on tbe keyboard, such as for :- Drill, Mill, etc. By a~propriate digit entries through the .
. keyboard, the operator lias control of ttle machine operating mode, control operating mode and part program coordinates.
There are four mode or control keys provlded. Key 218 places the program in the enter mode. Key 219 is Eor check mo~e, key 220 for single cycle operation and key 221 for ' operate mode. These modes are explained in further detail in regard to the program ~low chart and description thereo~.
Push buttons 222 tllrough 224 a~fect various items in the memory o~ the co~ntrol. Table zero 222 instructs the .: processor, in the operate mode, to look for marker switches to obtain a zero position. When the progralll is in data block zero the table zero may be establisl-ed over tlle full range of table travel by pushing table zero.222 when the table is in the desired location. Programmed coor-30 dinates are t.hen measured from that point. Bu~ton 223 controls tool calibration ln a similar fashlon. In data ~ ~Q2~39~ :

block zero, pushing tool calibration establishes individual tool length calibration for the respective tool number on the display. Tool length calibraticn may be established by manually lowering the Z axis with the tool in place in the spindle until it reaches a desired zero reference plane then depressing tool calibration button 223. These calibration operations are disclosed in further detail in the program flow chart for the processor.
Master clear push button 224 clears the machine set up information when the controller is in data block zero. When master clear is depressed with the processor at any other - data block, all data is cleared from data blocks 1-99. A
tape cassette transport apparatus is sho~ generally at 225 or receiving a magnetic tape cassette operable to read or write data to or from the R~M memory. With mode switch 203 ` in the tape auto mode, the da~a block entries may be recorded - onto a tape cassette. In addition, previously recorded data may be read from the cassette and placed into the memory of the con~roller in order to duplicate a program established for operating on a workpiece to provide a desired part Push button 226 turns on the tape cassette deck and push button 227 is available to rewind the tape after play or record. Read, write and search-for-data functions are controlled by data entry keys, when control 203 is in the TAPE auto mode. As indicated above in the tape manual mode the cassette switches ON and REWIND are enabled.
Reerring now to FIGS. 10 and 11, there is shown the Z
axis drive and positioning apparatus. The Z axis drive provides a vertical servo motor-controlled feed drive system for the mill spindle and also provides a mechanical link for accurate linear positioning and feed rate control for vertical machining functions.

r `~ ~ 4391 Tlle drive for the spindle ver~i.cal ~ee~ is provided by a servo motor 241 which is mounted on a motor nlounting plate 242. The motor mounting pLate is adjustable relative to the Z axis spindle. The servo motor 241 drives a baLl screw 243 tllrough a pair of timing belt pulleys 24~ and a timing belt 2~6. The ball screw is securely retained by a preloaded double race baLl bearing 247 which allows rotation of ~he screw withou~ any shaft end play. The l.nner race of the bearing is secured by a lock nut 248 and adjacent lock washer. The outer race is secured to the main ~rame 251 by a re~ainer cap 252 with cap screws 253. The main frame 251 is in turn rigidly secured to the mill he~d through a retainer plate 254 with cap screws 256.
Vertical motion of the spindle is obtained b~ rotation of the ball screw 243 driving a preloaded ball nut assembly 257 which is affixed to the Z axis carriage 258, which moves vertically on a set of '!V" groove ways 259 via a mating set`
of four "V'` rollers 261. Rollers 261 are mounted on the carriage by carriage adjusting studs in carriage portions 262 and by loclc nuts 263. The adjusting studs have an 2q eccentric shank upon which the "V" rollers 261 are mounted.
Tightness of the carriage is adjusted by the eccentric moving the "V" rollers 261 in or out untll the desi.red tightness i.s obtained.
The actual driving link between the mill spindle and the Z axis carriage 258 is a shank rod 264-, which is attached to the carriage 258 by a pair of ball bearings 266 moun~ed in a preloaded state by coml)ression of the flexlble inner races with a bearing lock nut 267 and lock washer 268. The sh~nk rod 264 is rigidly mounted in the mill spindle in tension by utilizing ~he existing spinclle shank rod bearing and a tool adaptor (not shownj threaded to the shank rod.

~ "."1 f~
3~ ;
Essentially, servo motor 241 drives ball scre~ 243 via a timing bel~ drive, driving preloaded ball nut 257. 13all nut 257 is mounted to the carriage 258,-causitlg the carriage to travel vertically (in the FIG. to the right), trapped in "V" ways 259 by "~" rollers 261, driving the shank rod 264 which is mounted to carriage 258 by ball bearings 266. The bearings allow spindle rota~ion to be isola~ed rom verticle drive. Thus the mill spindle is driven by being retained by a tool adapter ~not sllown) allowing accura~e vertical sl)in(lle . 10 control wllen used with the limit switch assembly explained - hereinater.
In order to provide a method o:~ mounting limit switches and an enco~er on an lsolated mount tllat ~ill provide accu~ate measuring of long distances in less space, the present limit switch assembly has been utilized. It provi~es a stable, end-play free, mount for the encoder The main frame 2~9 of the limi~ swi~ch assembly is mounted to the motor mounting bracket 242 by a slloulder screw 271 and a lock nut 272.
This provides an adjustable mount for timing belt tensioning.
Set screw and lock nut 273 and 274 provide a positive stop after the desired setting is made. The driven belt 276 is .
driven by a pulley on tlle motor shaEt extension and drives the driven shaft 277 which is mounted in compression between two bearings 278 and 279 in the main frame 269 by retainer 281 on the outer race of the ~ront bearing 279 and a snap rin~ at 282 on the outer ring of the rear bearing 278. A
shoulder on tlle driven sllaft 277 provldes the compression member, and nut 283 provi~es the adjustmell~ for beaLill~, 27~.
~ The driven sha~t 277 is threa~ed with an extra-fine tllread so tha~ a ratio is obtained between`the actual travel (rotation of motor shaft) and the travel o~the L.S. DOG 284. L.S.
DOG 284 is kept from rotating by guide bar 286 whlch is .. .. .

~' ~r~

mounted on the main frame with cap screws 287. As the screw 277 rotates, L.S. DO~ 284 moves linearly actuating the appropriate limit switch 288. The limit switches may be ' mechanical as shown, or also, for example, ~hotoelectric.
Adjustment of the limit switch loca~ion is made by Ioosening screw and washer 289 and 291 and sliding limit switch bracket 292 in the keyway in the main frame 269. An alternate setting method is to remove the guide bar 286 and rotate the l,.S. DOG 284 to the desired setting and replace the guide bar, The encoder 293 is mounted to the main frame 269 with its encoding disc (not sho~) rigidly mounted to the driven shaft 277, Referring now to FIG. 12, there is shown a simpliEied' schematic diagram of the feed rate override control of the present system. Analog,values from zero through ~5 volts ~rom potentiometer 301 (for table feed rate adjustment) or ' from potentiometer 302 ~for splndle feed rate adjustment) are switched by means of an analog multiplexer 303. Potentiometers 301 and 302 are lO K ohms each and correspond to the potentio-meters 68 and 67j respectively, shown diagrammatically inFIG. 6.
The A0 and Al outputs of PIA 304 are connected to the control pins of multiplexer 303 and select either the table potentiometer or spindle potentiometer voltage value to be encoded into an 8 bit code by analog to digital converter 306. Eight parallel bits are output from t,he analog-to-' : digital converter along the 0 through 7 bit outputs and connected to PIA number 6 inputs B0 through B7, respectively.
The system program scans'the data output of PIA 304 to determine if a data-valid condition exists wherein the inputs of B0 through B7 may be coupled to the data outputs - D0 through D7. The valid data output from analog to digital converter 306 is connected to the A7 input of PIA
304. Potentiometer 307 sets the full scale 8 -15.

j~ r r 2~34 blt output fo~ a particular lnput volta~e for the converter 306. Thus, when the output from multiplexer 303 is at its ' full five volt value, the output ~rom potentlometer 3~7 to the input of the analog-to-digital converter 306 is se~
to produce all high outputs on bit outputs 0 through 7 of analog-to-digital converter 306. Potentiometer 309 sets the zero value for zero volts input. The ends of potentiome~er 309 are at ~5 volts and -5 volts respectively., The OUtp~lt o potentiometer 309 is coupled through a 100 K resistor to the , zero adjust input of converter 306 on line 311. ,Line 311 is also coupled to ground through a lK resistor, providing a voltage divider network for the ze'ro adjust.
The various other inputs utilized, such as voltage supplies and current references, are supplied to converter 306 as necessary. Analog-to-digital converter 306 may be, for example, an 8700 CN type, manufacturered by Teledyne. A
lO0 hertz clock 312 couples pulses to the input of the analog-~o-digital converter 306 which initiates an output on output lines 0 through 7., The clock output is also coupled to the CBl input o~ PIA 304'as a system interrupt. This 20~ interrupt causes a program factor to service the X, Y and Z
servo routines. This is an interrupt operation described hereina~ter in regard to the flow chart for the system program. In the course of servicing the X, Y and Z servo 'routines, changes in the settings for table feed rate or spindle feed rate at potentiometers 301 and 302 are noted by the program and the rates are recalculated. As generally shown in FIG. 12, the data'outpu~s are coupled to the data bus at 313 and the various timing and addressing outputs of PIA 304 are coupled as shown,at 314 to'the address decoding and timing portion of the microcomputer.
As sho~l in FIG. 13a, the outputs on data lines 7 through 0 (most significant bit through least significant blt) effect different changes in feed rate. If only the most significant bit is high7 indicating a mid range (two and one half volt) potentiometer output, the progra~ned feed rate value wilL be utilized. If the potentiometer is se~
between 0 and two and one half volts, less than half of the total bit weight of lines 7 through 0 will be present and the program value of feed rate will be multi.plied by a fraction comprising t.he bit rate di.vided by 128. The figure 128 is 2 to the 7th power and represents half of the bit rate of lines 0 through 7 or all of the bit weight of lines 0 through 6.
If the potentiometer is set between two and one half - and 5 volts, more than half of the bit wei~ht will be applied, ' and in the two exemplary conditions shown, i~ the potentio-meter is at 5 volts all~bits are high and the feed rate will be the programmed value plus 6 inches per minute. I three quarters of the bit rate is applied, with bits 6 and 7 high, the feed rate will be the programmed value plus 3 inches per ' minute.
As shown in FIG. 13b, when the control is in a JOG
mode, the two and one half volt, or half weight, feed rate is set at 50 inches per minute, for example. For voltages between zero and two and one half vol'ts, this 50 inches per minute rate is multiplied by a fraction of bit weight divided by 128. For voltages between two and one half and ive volts, the'feed rate becomes 150 inches per minute mult:iplied by a fraction consisting of a bit rate divided by 256. 256 is two to the eighth power, or the full bit weight for lines 7 through 0.
., ,3 ~ , ~

~r 3g~
Referring now ~o FIGS. 14-42, there is shc~wn a 10w chart o~ the basic operations of the`software associated with the control system. These software operations are broken down into a plurality of subroutines with each step which is underlined within a block in the figures being further explained in a subsequent Figure as to its various substeps~
In general, the software in the memory o~ the micro-computer controls all of the basic functions of the machine.
The software monitors the keyboard and the control switches on the control panel. Sotware also generates display messages on the CRT screen and operates the magnetic tape cassette unit. The operation of t.he cassette unit allows parts progra~s to be loaded on to tape and from tape. The software further controls the three servo axes, X, Y and Z"
and controls ~he machine sequence and motion as it executes parts programs.
Referring now to FIG. 14, when power ~s applied ~o the system at the control panel, the program begins executing at BEGIN. This places the PIA's in proper state, clears the variable memory to start rom.the zero condition and enables the system interrupts.
As sho~l in FIG. 15~ the INTERRUPT program, which is the heart of the servo positioning system, is executed 100 times per second by command of an external clock. Regardless o what the main program is doing, the INTERRUPT ~rogram is executed from beginning to end each time one of these 100 hertz clock pulses is received. The program checks for any keys pushed on a polling basis and stores ~heir values to be retrieved by the ~nain program at a later time. In the servo portion of the interrupt program, the desired position is . , 2~34L

compared ~o actual positlon and forms an output error signal to a digital-to-analog-converter. The program then determines the deslred position by taking move commands from a command bu~fer and adding them to an error signal. The change in - encoder reading for the par~icular axis motion being cal-culated is adcled to determi.ne any motion taken place during the last interval. The resultant error slgnal then is the difference between desired posi.tion and actual posi~ion.
This is applied to the velocity command of the rnotor control and adjusts the axis velocity to obtain the desired position.
On each 100 hertz clock pulse, the X, Y and Z axis movements are checked.
In order to~cause motion i.n any of the axes, it is only necessary to supply MOVE values to the command buffer.
, These MOVE values are the distance desired to move in one one hundredth of a second for each axis. If a continuous stream of MOVE values are loaded into the command bufer, each interrupt will remove one of the values and execute it.
The axis will move along at the rate proportional to the size of MOVE values, As further shown in FIG. 14, after BEGIN~the SETMODE
program is executed. This program is also execu~ed each time a new mode is selected by the machine operator, This program sets the initial conditlons and then jumps to one of the modes (ENTER, CHECK, SINGLE, OPERATE or EMERGE~CY STOP).
Reerring now~to FIG. 16 the first of the 5 available modes reached Erom the SLT~ODE program is discussed. Eor ENTER mode, the ENTER pxogram is executed. The program starts with data block one, displays values in that data block, and then sets up the inquiry scheme for each item in .

that data block. By pushing various keys on the control .

- ' -19- .

. , . . .. . , ~ .... _ ..

3~ ;~

panel, the operato~ can advance to the ne~ item withi.n a data block or modlfy or enter values for the particular item being displayed. In ENTER,-all oE the items are displayed on the CRT and sequentially an inquiry is placed at ~he bottom o~ the CRT display for each item of the da~a block.
The opera~or makes keyboard data and mode selection entries through the keyboard for each in~uiry. The data block advance key and inquiry item advance key are located on the control panel as shown in FIG. 9. When the operator i9 satisfied with a particular data block, pushing ~he data block advance key increments the data block number and the next data block is displayed on the CRT. If the next data block has not yet been programmed, it is created by transferring forward data from the previous data block. This allows :- unchanged values to be carried forward and they do not need to be entered again on the keyboard by the operator. If data block zero is requested, a separate ENTER program is executed which allows X and Y offsets and tool data to be entered. The tool calibration length can be entered by actually moving the Z axis to a position and recording this point.
FIG. 17 shows the E~TER DBO routine and FIG. 1~ shows the DISPLAY CURRENT D~TA BLK routine from the ENT~R PGM of FIG. 16.
Referring now to FIG. 19, CHE-CK ~IODE, the second of the five available modes, is shown. CHECK MODE can be entered through the SE~rMODE program and allows consecutive display gf all of the data blocks which have been programmed. This CIIECK MODE is for operator convenience ln veriying that a proper program has been entered into the memory.
FIGS. 20 and 21 illustrate the next two modes enterable by the program. The SINGLE MODE program sets the single .

.

3~ .
\

step flag and goes to the OPE~ATE program, to be discussed hereinafter. The EMERGENCY STOP program is entered whenever the emer~ency stop switch is activated on the control panel.
It stops all motion and waits until the machine operator puts the machine in CI~ECK MODE. Then the emer~ency stop condition is released.
The fifth mode, and the principle mode in which the automatic mach~.ning of parts is done, is the OPEr~TE MODE.
As shown in FIG. 22, the OPERAT~ PROGRAM allows manual jogging of the Z axis spindle and table calibration as well as data block parts program execution. When the start key is pushed, in JOG MODE, a displacement is entered in and the feed rate is set to 50 inches per minute and the DOMOVE
program is executed.
The DOMOVE program is shown in FIG. 38. The DOMOVE
program calculates the move increments which are fed to the INTERRUPT program which actually drive the three axis servos. The program determines whether a Z move is desired or an X~ move. If an XY move is desired, the program obtains eed rate and modifies lt according to the feed rate pot.
It then calculates the distance that X needs to move by taking XD (X desired) minus X position (present location of X?. It does the same for Y and then calculates DL (total length to be moved, taking the square of the sum of the squares of DX and DY). Next the number o~ iterations required - to move this distance at the proper feed rate is calculated.
NNN equals the length requlred to move rnultiplie~ by tlle steps per minute, which in this case is 6,000, based on the one hundred times per second execution of the-INTERRUPT
~ program.
Now that the number of steps have been calculated, the , . . . _._ __ . . ... ~ .

`~?
243~ ;

size of each step (for example, X INCREMENT) is calculated by taking the X distance to be moved divided by the number of steps. Also, Y INCREMENT equals the total Y movement to be made divided by the number of steps. This X INCREMENT
and Y INCREMENT will be added to the X and Y position NNN
tin~es. This is done by the INTERPOLATE prograrn. If a Z
move is required, a similar calculation is made to détermine NNN and Z i.ncrement.
The INTERPOLATE program calls the Lh'AD SCREW COMPENSATION
program five times a second. The INTERPOLATE program - checks to see whe~her the ~eed rate pot has changed. If the JOG mode is being executed the progr~m returns whenever the start button is released by the operator.
After doing these things, the INTERPOLATE program counts ~ down NNN. If this quantity is equal to zero, the move is completed and the program goes to FINISH MOVE. Otherwise, it adds the increment calculated earlier to the actual position and updates the position for each of the three axes. It then calculates a MOVE value and when the command buffer has an opening, places the three MOVE values in this buffer. Command bu~fer values are being used by the INTERRUPT
program so it may be necessary to wait until a value has been moved by the INTERRUPT program. This:allows the INTERPOLATE
program to calculate several move values ahead and guarantees that data~ will always be available to t.he INTERPOI,ATE program.
The INTERPOLATE program also displays on the CRT screen the present instantaneous X, Y and Z values. 1~ then loops, calculates the next move value, and waits again to place it into the command buf~er. When NNN has reached zero, the move is complete and X position has reached the X desired .

value. FINISI~ MOVE (FIG. 41) sets them precisely equal and returns to the calling program. It can be seen that if X~, .
YD or ZD is set to a desired location, the DOMOVE program will take care of moving ~he servos at the proper feed rate to that location. The Fl~ATE and LEAD SCREW COMP subroutines are shown in FIGS. 39 and 40, respectively.
Returnin~ to the OPERATE program (~IG. 22), if the A~TO
position mode is selected and start button is pushed, the - AUTO program is then called to execute a parts program stored as data blocks. The XYCAL, ZTCAL, ZZERO and XYMARKER
subroutines cited in the OPEl~ATE program are shown in FIGS.
23, 24, 25 and 26, respectively.
As shown in FIG. 24, the Z axis spindle calibration ls carried out by adding the Z offset saved from the previous tool to the Z position to arrive temporarily at an "absolute"
Z position. Then the current tool calibration length for a new tool is entered as a current Z offset distance which is - subtracted from~the "absolute" Z ~osition to arrive at a new Z position for the current tool. Then the new Z offset is saved for subsequent Z calibration routines. The CALLENGTH
is obtained as a step in the calibration operations oE DBZERO
as shown in FIG, 17. As di.scussed above, when the Z axis is manually moved to a desired zero reference plane, the tool length calibration may be entered ~hrough the TOOL CAL
button 223. Generally, the ~ool length calibration for each tool to be used is entered and stored in the memory of the microcomputer and recalled as each tool is utilized.
The AUTO program reads the data bloclc and decides on the type or mode (POSITION, MILL, DI~ILL or BORE). Each of these modes i5 a sequence of operations to ~ake the milling machine through the deslred action. The AUTO SEQI)ENCE, - beginning with NEXTDB, is shown in FIG. 27 -23~

~2~39L
;

IE the selected function or mode is POSITION (FIG. 28) a retract is executed, bringing the Z spindle up. This is accomplished by setting the Z desired to ten inches, setting RAPID and execu~ing the DOMOVE program until the Z up limit switch is actua~ed. After Z is up, POSITION reads the XY
values from the data block, sets R~PID and executes DOMOVE.
This brings the tab:Le to the XY position called out in the data block~ WAIT ERROR S~LL delays the program until the servos are in position within several ~housandths. After this, the portion o~ the program NEXTDB is executed (FIG.
27).
NEXTDB checks for data block stop, which returns to the OPERATE program or it increments to the next data block. If the program is in single cycle, or if a tool is to be changed, control is returned to the OPERATE program, otherwise, the loop is repeated, which jumps to the proper program type and that data block is executed.
MILL (FIG. 29) goes through the sequence of lowering the spindle to the Z down dimension, getting the XY data from the data block, and executing DOMOVE. Therefore, the table will move at the program feed rate to the XY value.
After DOMOVE, a WAIT ERROR SMALL subroutine is executed, and then a check of the next data block is made. If the next data block is not also a MILL mode, a Z retract is performed, ' bringing the spindle up. This completes the data block of MILL and the next data block is executed.
In a MILL operation, before the DOMOVE step, ir an inside or outside frame milling operation has been entered in the data block the program goes to FR~. The operator will have chosen either inside, outside or none ~or possible .

Z~L3~

frame milling ~or the ~I1.L da~a block. As ~sho~m in ~IG. 29, iE ei~her inside or outside milling is selected, ~he 1l~M~.
milling subroutine is execu~ed (FIG 43~. ~
For an inside :Erame millin~ opera~ion, for example, a first ~ata block would position the tool at t-he proper location on the workpiece T,O begin the ~rame m:L]ling operation.
The next data block would be ~he MILL data block wherein the - operator inserts the clesired inside frame mill:ing and enters the X and Y (1istances for the tool to travel. As shown in the F1~AME milling subroutine of FIG 43, the Z axis i.s lnoved in the four directions necessary to comple~e the frame milling and then the spindle is retracted. As indicated in DRILL in FIG. 30, in the middle block after ~A1T ERROR
SMALL, if T he next data block contains an inside or outside frame milling step, the X and Y positi.ons are offset by one half the current tool diameter. This enables the operator to program X and Y dimensions for the frame milling actually desired to be accomplished rather than having to take into consideration the ~ool diameter. After the~ZR~TKACT operation of FIG. 43, the XY offset is removed so tha~ the XY posi.tioning returns to its true vaLue for subse~uent opera~ions.
- BORE mode sets the bore 1ag and ~hetl proceeds as iE i~
were a DRILL mode.
DRILL moc1e execution is as ~ollows. The spi.ndle is re~racted. The XY values are obtained from the data block.
A move is made in I~PID to those XY values, and a WAIT ERROR
S~ALL subroutine is performed. ~ R~PID move ~o the Z up position is made with a WAIT 1.RROR SMA],L subrou~ e:~ If P~CK mode is set, a separate DOP~C~ program is then executed.
Otherwise, Z is moved ~o the ~own position at the program _, . . . ~-, feed rate. A delay of three tenths oE a second takes place and then a check of the next data block type is made.
If it is a MILL, that data block is then executed without retracting tbe spindle. Or if the bore flag is set, , the spindle i~ retracted slowly at the programmed feed rate .
to Z up. Otherwise, Z retract is executed, which brings the spindle back up to the top position and the next data block in sequence is then executed.
The subroutines for Z RETRACT GET XY FKOM DATA BLK, ~o WAIT ERROR S~UiLL, Z TO DOWN, RAPID TO Z UP and SLOW TO Z U~' are set forth in FIGS. 31, 32, 33, 34, 35 and 36, respecti.~Ly.
During all motions, lead screw compensation is bein~
calculated and applied to the move. This takes the positlon times the lead screw error which-is entered into ~he program ,~ through jumper wires and calculates a lead screw correction, which is added to the desired position when it is fed to the INTERRUPT program.
The DOPECK program, which is an option of the DRILL
mode, divides the drill stroke, or distance between ZUP and ZDOWN, by the desired number of pecks. This distance ZD is then used to carry the Z desired position into the workpiece N peck times, with a retract to ZUP between each peck. This enables chips to be cleared when drilling a large hole. The ` DOPECK subroutine is shown in FIG. 37~
As shown in FIG. 42, the REPEAT pro~ram allows execution of nested step and repeats. This allows a pattern to be repeated N times at various X or Y offset distances. When a step and repeat is started, certain conditions are stored onto a STP/~EP stack. When the REPEAT BLOCK is encountered, the number of times NX and NY are stored onto the stack and a loop is made back to the beginning data block. ~ach time h '~
3~ :
the REPEAT is encountered in t~his loop, the X or Y positions arP modified by the step values and the counters are decremented.
When both X and Y counters have reached zero, the pattern is repeated the proper number of times, and the next data block is executed.
The REP~AT program may be devised, for example, to permit nesting up to three loops deep. The beginning data bl.ock of a loop is flagged by being selected by the operator as a STP/REP block as indicated in the AUTO program of FIG.
10 27. This STP/REP-indicated data block further contains ~he usual information such as for a MILL, DRILL, etc. This flagged block may then be followed by one or more data blocks containing the balance of the steps of the operation to be repeated, and this series of blocks is concluded with a repeat block. The repeat block contains an incremental X
dimension and a count of the number of X operations, an incremental Y dimension and a number of counts for Y dlrection operations. The program operates to perform all of the X
repeats for a given Y dimension and then moves to the next Y
20 dimension for another series of operations in the X direction.
An example of a simple ~ype of repeat program whlch may be prepared by the operator of the machine would be a pattern of drilled holes in a workpiece in an~array such as two by three, four hy five, etc.
The utilization of a repeat block to eliminate the need for reentering data in a data block for identical operations -- and the use of the frame milling operations described above are exemplary programming tools for the operator of the - machine.
While there have been described above the principles of this invention in connection with specific apparatus, it is to be clearly understood that this description is made only by way of example and not as a limitation in the scope of the invention.

Claims (9)

Having thus described the invention, what is desired to be claimed and secured by Letters Patent is:
1. A programmable microcomputer control apparatus for con-trolling the relative motion between a tool and a workpiece comprising:
indicator means for providing at an output digital signals indicative of the relative position between the tool and the workpiece;
an alterable memory operable to retain a control program and control parameters;
a microprocessor unit coupled to the output of the indicator means and to the memory and operable to produce control signals dependent upon said indicator means output and said control para-meters according to said control program;
control means for directing said control signals from the microprocessor unit to appropriate motion-providing means;
interface means for transferring a control program and control parameters from an external medium into said alterable memory and for recording the control parameter contents of said memory onto an external medium; and data entry means for loading control parameters into said memory through externally accessible data inputs independently of said interface means.
2. The apparatus of claim 1 in which said interface means includes means for reading from and writing onto a magentic stored information input.
3. The apparatus of claim 2 in which said means for reading and writing comprises a tape cassette transport.
4. The apparatus of claim 1 in which said interface means and said data entry means comprise a pendently mounted control panel, and further comprising a cabinet and a mounting arm extending upwardly and outwardly from the top of said cabinet, the control panel being attached to the end of said arm further from the cabinet.
5. The apparatus of claim 4 which further comprises a machine bear-ing said tool and said workpiece and including motion-providing means re-ceiving said control signals, said cabinet being positioned on one side of said machine and said arm extending over a portion of the machine such that the control panel is pendently mounted on the other side of the machine, whereby the machine operator may have convenient access to the control panel.
6. The apparatus of claim 1 which further comprises display means for displaying control parameters, said control program being operable to display control parameter inquiries on the display means, whereby an operator may load control parameters into said memory through said data entry means in response to the inquiries.
7. The apparatus of claim 6 in which the display means comprises a CRT display.
8. The apparatus of claim 1 which further comprises feed rate adjust means externally settable independent of said control parameters for altering said control signals to vary the rate of relative motion between the tool and the workpiece.
9. The apparatus of claim 8 in which the programmed rate of relative motion between the tool and the workpiece dependent upon said control param-eters is reduced by the feed rate adjust means through effecting a multipli-cation of the programmed rate by a fraction less than unity and said pro-grammed rate is increased through adding a proportionate rate increment be-tween two preset values.
CA281,097A 1976-07-06 1977-06-21 Interactive machining system Expired CA1102434A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US70256976A 1976-07-06 1976-07-06
US702,569 1976-07-06

Publications (1)

Publication Number Publication Date
CA1102434A true CA1102434A (en) 1981-06-02

Family

ID=24821762

Family Applications (1)

Application Number Title Priority Date Filing Date
CA281,097A Expired CA1102434A (en) 1976-07-06 1977-06-21 Interactive machining system

Country Status (7)

Country Link
JP (2) JPS536784A (en)
CA (1) CA1102434A (en)
CH (1) CH618528A5 (en)
DE (1) DE2730335A1 (en)
FR (1) FR2357943A1 (en)
GB (3) GB1584646A (en)
IT (1) IT1079960B (en)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5518383A (en) * 1978-07-28 1980-02-08 Toyoda Mach Works Ltd Numerical controller for controlling grinding
JPS55143607A (en) * 1979-04-26 1980-11-10 Mitsubishi Electric Corp Process controller
JPS55143606A (en) * 1979-04-26 1980-11-10 Mitsubishi Electric Corp Process controller
JPS5650405A (en) * 1979-10-02 1981-05-07 Matsushita Electric Ind Co Ltd Control unit of machine tool
DE2929545A1 (en) * 1979-07-20 1981-01-29 Heidenhain Gmbh Dr Johannes METHOD AND CIRCUIT ARRANGEMENT FOR PROGRAMMING AND / OR CHANGING PROGRAMS IN NUMERICALLY CONTROLLED MACHINES
JPS5719809A (en) * 1980-07-10 1982-02-02 Fanuc Ltd Numerical control information generating system
DE3028708A1 (en) * 1980-07-29 1982-02-11 Dr. Johannes Heidenhain Gmbh, 8225 Traunreut METHOD FOR PROGRAMMING RAILWAY CONTROLLED MACHINES
JPS5729104A (en) * 1980-07-30 1982-02-17 Mitsubishi Electric Corp Forming system for sewing data of automatic sewing machine
JPS5729105A (en) * 1980-07-30 1982-02-17 Mitsubishi Electric Corp Forming system for sewing data of automatic sewing machine
JPS5760408A (en) * 1980-09-30 1982-04-12 Okuma Mach Works Ltd Numerical control system capable of controlling external interruption
JPS5779508A (en) * 1980-10-31 1982-05-18 Mitsubishi Electric Corp Numeric controller
JPS57169813A (en) * 1981-04-13 1982-10-19 Mitsubishi Electric Corp Numerical controller
JPS57211604A (en) * 1981-06-22 1982-12-25 Fanuc Ltd Numerical controlling method
JPS5819908A (en) * 1981-07-28 1983-02-05 Mitsubishi Electric Corp Numerical controlling device
JPS5846409A (en) * 1981-09-14 1983-03-17 Yamazaki Mazak Corp Inputting method for work information at machining center
JPS57114362A (en) * 1981-11-07 1982-07-16 Toyoda Mach Works Ltd Control parameter input method in numerical control for machine tool
JPS57114361A (en) * 1981-11-07 1982-07-16 Toyoda Mach Works Ltd Numerical control for machine tool
JPS58132439A (en) * 1982-02-02 1983-08-06 Yamazaki Mazak Corp Correction control system of work program in nc machine tool
JPS58163007A (en) * 1982-03-24 1983-09-27 Fanuc Ltd Portable nc automatic programming device
JPS5962947A (en) * 1982-10-01 1984-04-10 Fanuc Ltd Numerical control system
JPS62228159A (en) * 1985-12-26 1987-10-07 Kagakuhin Kensa Kyokai Column for gas chromatograph
JPS632642A (en) * 1986-06-19 1988-01-07 Mitsubishi Electric Corp Numerical controller
US5453933A (en) * 1993-09-08 1995-09-26 Hurco Companies, Inc. CNC control system
CN103394814B (en) * 2013-08-01 2015-05-13 江苏大德重工有限公司 Z-axis capacitance increasing system of laser cutting machine
CN104875075A (en) * 2015-06-03 2015-09-02 安徽圣力达电器有限公司 Quick lowering, positioning and sawing system of saw machine
CN105499668A (en) * 2016-01-13 2016-04-20 高碧 Numerical control automatic milling machine
CN114161154B (en) * 2021-12-07 2023-05-16 安徽机电职业技术学院 Intelligent regulation module of digit control machine tool

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1189958A (en) * 1965-09-03 1970-04-29 Olivetti & Co Spa A Numerical Control Device
US3668653A (en) * 1968-10-22 1972-06-06 Sundstrad Corp Control system
US3746845A (en) * 1970-08-06 1973-07-17 Bendix Corp Numerical control system
GB1369193A (en) * 1970-08-17 1974-10-02 Doall Co Numerical control system for machine tools
US3821525A (en) * 1972-03-16 1974-06-28 Conrac Corp Method and apparatus for automatically compensated tube bending
JPS5113083A (en) * 1974-07-22 1976-02-02 Tokyo Shibaura Electric Co Taiwagata nc sochi

Also Published As

Publication number Publication date
FR2357943A1 (en) 1978-02-03
DE2730335A1 (en) 1978-01-12
JPS536784A (en) 1978-01-21
IT1079960B (en) 1985-05-16
JPS6145248B2 (en) 1986-10-07
GB1584647A (en) 1981-02-18
GB1584645A (en) 1981-02-18
JPS60186907A (en) 1985-09-24
JPS6142289B2 (en) 1986-09-20
FR2357943B3 (en) 1980-04-04
CH618528A5 (en) 1980-07-31
GB1584646A (en) 1981-02-18

Similar Documents

Publication Publication Date Title
CA1102434A (en) Interactive machining system
US4477754A (en) Interactive machining system
US4199814A (en) Computer numerical control machine tool
US6073058A (en) Computer generated graphic depiction of manual machining operations
US4498259A (en) Numerical controller for a grinding machine
US4385570A (en) Programming system for automatic sewing machine
DE3886138T2 (en) Numerically controlled machine tool.
GB1481739A (en) System for numerical control of a machine tool
EP0035282B1 (en) Apparatus for programmed control of a robot
US4674928A (en) Milling machine controller
US5742140A (en) Numerical-control machine tool
DE3110149A1 (en) Programming system for a sewing machine
DE69120050T2 (en) TOOL SELECTION PROCESS OF A PUNCHING PRESS
US4633408A (en) Program-controlled edge grinding machine for glass panes with a program-controlled rotatable grinding head
DE69414658T2 (en) METHOD FOR EXECUTING A PROCESSING PROGRAM
US4136306A (en) Apparatus for preparing pattern control tapes
EP0275325B1 (en) Numerical controller
DE3134360A1 (en) METHOD FOR DETECTING A WORKPIECE CHARACTERISTICS AND FOR CONTROLLING THE SEQUENCE OF PROCESSING STEPS OF A MACHINE TOOL
EP0036914B1 (en) Tracer control equipment
JP3217329B2 (en) NC data confirmation device
DE19900140A1 (en) Numerical control of machine tool with rapid positioning cycle
US3912995A (en) Curve milling or curve grinding machines including feed rate control
DE69025765T2 (en) METHOD FOR REWRITING CORRECTION DATA FOR SLOPE ERRORS
DE2940492A1 (en) Computer numerical control machine tool - uses central processor unit associated with ROM and RAM and provides ease of programming
KR850000090B1 (en) Tracer control system

Legal Events

Date Code Title Description
MKEX Expiry