GB1584645A – Microcomputer control apparatus for a machine tool
– Google Patents
GB1584645A – Microcomputer control apparatus for a machine tool
– Google Patents
Microcomputer control apparatus for a machine tool
Download PDF
Info
Publication number
GB1584645A
GB1584645A
GB2789577A
GB2789577A
GB1584645A
GB 1584645 A
GB1584645 A
GB 1584645A
GB 2789577 A
GB2789577 A
GB 2789577A
GB 2789577 A
GB2789577 A
GB 2789577A
GB 1584645 A
GB1584645 A
GB 1584645A
Authority
GB
United Kingdom
Prior art keywords
program
tool
control
data block
workpiece
Prior art date
1976-07-06
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
GB2789577A
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.)
1976-07-06
Filing date
1977-07-04
Publication date
1981-02-18
1977-07-04
Application filed by Hurco Manufacturing Co Inc
filed
Critical
Hurco Manufacturing Co Inc
1981-02-18
Publication of GB1584645A
publication
Critical
patent/GB1584645A/en
Status
Expired
legal-status
Critical
Current
Links
Espacenet
Global Dossier
Discuss
Classifications
G—PHYSICS
G05—CONTROLLING; REGULATING
G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
G05B19/00—Programme-control systems
G05B19/02—Programme-control systems electric
G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
G05B19/414—Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
G05B19/4142—Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by the use of a microprocessor
G—PHYSICS
G05—CONTROLLING; REGULATING
G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
G05B2219/00—Program-control systems
G05B2219/30—Nc systems
G05B2219/34—Director, elements to supervisory
G05B2219/34034—Multiplier, prm, brm
G—PHYSICS
G05—CONTROLLING; REGULATING
G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
G05B2219/00—Program-control systems
G05B2219/30—Nc systems
G05B2219/34—Director, elements to supervisory
G05B2219/34215—Microprocessor
G—PHYSICS
G05—CONTROLLING; REGULATING
G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
G05B2219/00—Program-control systems
G05B2219/30—Nc systems
G05B2219/34—Director, elements to supervisory
G05B2219/34237—Multiplexed d-a a-d
G—PHYSICS
G05—CONTROLLING; REGULATING
G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
G05B2219/00—Program-control systems
G05B2219/30—Nc systems
G05B2219/35—Nc in input of data, input till input file format
G05B2219/35431—Interactive
G—PHYSICS
G05—CONTROLLING; REGULATING
G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
G05B2219/00—Program-control systems
G05B2219/30—Nc systems
G05B2219/35—Nc in input of data, input till input file format
G05B2219/35447—Potentiometer
G—PHYSICS
G05—CONTROLLING; REGULATING
G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
G05B2219/00—Program-control systems
G05B2219/30—Nc systems
G05B2219/35—Nc in input of data, input till input file format
G05B2219/35481—Display, panel
G—PHYSICS
G05—CONTROLLING; REGULATING
G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
G05B2219/00—Program-control systems
G05B2219/30—Nc systems
G05B2219/35—Nc in input of data, input till input file format
G05B2219/35556—Conversion inch to metric
G—PHYSICS
G05—CONTROLLING; REGULATING
G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
G05B2219/00—Program-control systems
G05B2219/30—Nc systems
G05B2219/36—Nc in input of data, input key till input tape
G05B2219/36111—Local memory instead of tape, or combined
G—PHYSICS
G05—CONTROLLING; REGULATING
G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
G05B2219/00—Program-control systems
G05B2219/30—Nc systems
G05B2219/36—Nc in input of data, input key till input tape
G05B2219/36117—Magnetic tape cassette
G—PHYSICS
G05—CONTROLLING; REGULATING
G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
G05B2219/00—Program-control systems
G05B2219/30—Nc systems
G05B2219/36—Nc in input of data, input key till input tape
G05B2219/36162—Pendant control box
G—PHYSICS
G05—CONTROLLING; REGULATING
G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
G05B2219/00—Program-control systems
G05B2219/30—Nc systems
G05B2219/36—Nc in input of data, input key till input tape
G05B2219/36557—Copy entered program in memory to tape
G—PHYSICS
G05—CONTROLLING; REGULATING
G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
G05B2219/00—Program-control systems
G05B2219/30—Nc systems
G05B2219/37—Measurements
G05B2219/37092—Display position actual and or target
G—PHYSICS
G05—CONTROLLING; REGULATING
G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
G05B2219/00—Program-control systems
G05B2219/30—Nc systems
G05B2219/37—Measurements
G05B2219/37154—Encoder and absolute position counter
G—PHYSICS
G05—CONTROLLING; REGULATING
G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
G05B2219/00—Program-control systems
G05B2219/30—Nc systems
G05B2219/41—Servomotor, servo controller till figures
G05B2219/41036—Position error in memory, lookup table for correction actual position
G—PHYSICS
G05—CONTROLLING; REGULATING
G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
G05B2219/00—Program-control systems
G05B2219/30—Nc systems
G05B2219/41—Servomotor, servo controller till figures
G05B2219/41047—Recirculating ballnut, ballscrew, preloaded bearing
G—PHYSICS
G05—CONTROLLING; REGULATING
G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
G05B2219/00—Program-control systems
G05B2219/30—Nc systems
G05B2219/43—Speed, acceleration, deceleration control ADC
G05B2219/43158—Feedrate override
G—PHYSICS
G05—CONTROLLING; REGULATING
G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
G05B2219/00—Program-control systems
G05B2219/30—Nc systems
G05B2219/43—Speed, acceleration, deceleration control ADC
G05B2219/43159—Feedrate override only for x y, not for z or only for z and not for x y
G—PHYSICS
G05—CONTROLLING; REGULATING
G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
G05B2219/00—Program-control systems
G05B2219/30—Nc systems
G05B2219/43—Speed, acceleration, deceleration control ADC
G05B2219/43161—Second, independent feedrate override
G—PHYSICS
G05—CONTROLLING; REGULATING
G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
G05B2219/00—Program-control systems
G05B2219/30—Nc systems
G05B2219/49—Nc machine tool, till multiple
G05B2219/49395—Repeating same operations for other coordinates
G—PHYSICS
G05—CONTROLLING; REGULATING
G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
G05B2219/00—Program-control systems
G05B2219/30—Nc systems
G05B2219/50—Machine tool, machine tool null till machine tool work handling
G05B2219/50031—Zero setting, go to reference with gauge
G—PHYSICS
G05—CONTROLLING; REGULATING
G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
G05B2219/00—Program-control systems
G05B2219/30—Nc systems
G05B2219/50—Machine tool, machine tool null till machine tool work handling
G05B2219/50294—Tool offset length by going to a reference and recording distance
Description
(54) MICROCOMPUTER CONTROL APPARATUS FOR A MACHINE TOOL (71) We, HURCO MANUFACTURING
COMPANY, INC., of 6602 Guion Road, P.O.
Box 68180, Indianapolis, Indiana 46268,
U.S.A., a corporation organised under the laws of the State of Indiana, U.S.A., do hereby declare the invention, for which we pray that a patent may be granted to us, and the method by which it is to be performed, to be particularly described in and by the following statement:
This invention relates to microcomputer control apparatus for a machine tool, and to a method for automatically performing machining operations on a workpiece.
Various types of machine control systems are known, for example for milling machines, using various metal-working tools. Typically, such numerical controls provide signals to servo motors associated with each of 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 must 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 controlling various types of machines with attendent high cost, larger size etc.
An example of such a numerical control system is shown in U.S. Patent No. 3,746,845 to
Henegar et al.
According to this invention, there is provided a programmable microcomputer between a tool and a workpiece, the apparatus comprising:
indicator means which provide, 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 which direct said control signals from the microprocessor unit to appropriate motion-providing means of the tool and/or the workpiece;;
interface means which transfer a control program and control parameters form an external medium into said alterable memory and which record the control parameter contents of said memory on an external medium; and
data entry which load control parameters into said memory through data inputs independently of said interface means, which data inputs are accessible from outside the apparatus.
One embodiment of the apparatus includes a servo apparatus associated with each axis of the three axes of 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 various operator controls, a GRT display screen, a data entry keyboard and a cassette tape deck.
The embodiment further includes a Z axis carriage and frame for spindle motion 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 of the machine with an interaction with the program feed rates of the controller.
It should be noted that while the apparatus is described herein in conjunction with a milling machine, other types of equipment wherein motion may be controlled in a programmed fashion may be controlled by the apparatus of the invention.
The invention also includes a method for controlling the relative motion between a tool and a workpiece using the microcomputer control apparatus when programmed, the method comprising the steps of:
entering the mode type and dimensioned parameters for a machining operation into the alterable memory as a data clock;
repeating the entering step for data blocks for any further operations and dimensions as necessary to complete processing of the workpiece; and
executing the program using the data blocks to direct the tool to perform the said operations on the workpiece.
The invention will now be described by way of example with reference to the drawings in which:
Figure 1 is a front view of a three axis mill adapted for operation with apparatus in accordance with the invention, shown with the control cabinet and pendently mounted control panel;
Figures 2a and 2g comprise a block diagram of the hardware associated with the apparatus;
Figures 3 to 8b are more detailed illustrations of the peripheral interface adaptors of
Figures 2a and 2b shown in conjunction with external apparatus with which they interface;
Figure 9 is an enlarged front view of the control panel of Figure 1;
Figure 10 is a sectional view of the Z axis servo apparatus of Figure 1 shown on its side;
Figure 11 is a top view of the Z axis servo apparatus of Figures 1 and 10;
Figure 12 is a circuit diagram of the feed rate adjust circuitry;;
Figure 13a is a chart showing the effect of the feed rate adjust potentiometers when the apparatus is in the Auto mode;
Figure 1 3b is a chart similar to that of Figure 13a for the apparatus in the Jog mode;
Figures 1443 are the various elements of a flow chart illustrating the operation of the software associated with the apparatus.
Referring in particular to Figure 1, there is shown a control cabinet and control panel together with a 3 axis mill adapted for operation therewith. Cabinet 11 contains the electronic hardware for the apparatus on 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 control panel 15 conveniently positioned for easy access by the operator of the mill.
Control panel 15 shall be discussed in more detail hereinafter.
The movement control signals and position information signals are coupled between the servo motor assemblies and the control circuitry 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 on the mill. The Z axis servo assembly is shown generally at 18 without its normal casing, and further showing limit switch subassembly such as 19 is associated with each servo.
As is known, table 20 of 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 Figures 21 and 2b there is shown a block diagram of the control system electronic hardware. As shown in Figure 2, a microprocesser 31 receives clocking pulses from a tow phase, non-overlapping, 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 into eight 8K decoder segments.
For example, two segments might be assigned to RAM 36 and an additional segment or segments assigned to the balance of the peripheral interface adapters (PIA’s) or additional memory.
The PROM 37 is utilized for boot strapping the microprocessor 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
RAM 36 from a magnetic tape cassette input.
The primary functioning of the microprocessor and related circuitry is dictated by the control program resident in RAM 36 after initial set up. A further address decoder 38 is used to provide addressing of the RAM in the most economical fashion possible. Similar address decoding is utilized for PROM 37.
MUX 39 multiplexes 64 external indications down to 8 to accommodate the 8 bit data bus lines. The particular set of 8 switches addressed is selected by the address from the address but 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 driverreceiver 44 adjacent the microprocessor unit 31 and transceiver 45 between RAM 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 Figure 7, one of 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 MUX 39 with decoder 34 addressing one of the 8 series of 8 switches as shown diagrammatically at 46. An appropriate data word 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 limit switches on the machine, pushbuttons etc.
Display PIA 43, as indicated above, may receive information from the data bus 47.
There are two sections, an A section and a B section, for PIA 43, (Figure 3) as well as for 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 8 bit word is coupled to a lamp display indicated at 49 in Figure 3. In Figure 3, an exemplary lamp 50 is shown coupled from lamp display 49. For an appropriate address through section A of PIA 43, a lamp such as 50 may be activated in response to the required level of the addressed data bit. With the appropriate addresses on line 48, CRT display 51 is addressed through section B of the PIA 43.Over an ensuing intervals, data is sequentially provided to the PIA and interrupted by internal circuitry of display circuit 51 to produce alpha-numeric characters on the screen of CRT 52.
Another PIA 53 is addressed on line 54 and interfaces with the X axis drive of the mill. The
Y axis PIA 55 is similarly addressed on line 56 and PIA 57 for the Z axis is addressed on line 58. Since these three axis controls operate essentially in the same manner, only the X axis
PIA and its associated motor, amplifier etc., shall be described in detail herein. As shown in
Figure 4, PIA 53 has an A and a B section, and it is addressable by the above-mentioned address line 54 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 work is indicative of relative position. This position indication is an output of an up/down counter comprising the lower portion of servo interface 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 of amplifier 61. Amplifier 61 runs motor 62 at an appropriate speed for the data information received. Feed back is provided by tachometer 63 to insure accurate motor speed control by amplifier 61. Appropriate encoding is done by encoder 64, which detects changes in position in the X direction of the milling table, and this encoded information is provided to the up/ down counter in servo interface 60. In the case of the Z axis movement, 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 Figure 6, PIA 65 has an A section and a B section, each of which is addressable by a 2 byte address and each of which are coupled from data bus 47. A multiplexer 69 receives 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 from 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 used by the microprocessor to affect programmed speeds for the mill table and the mill spindle.A 100 hertz clock initiates inquiries to the feed rate override circuitry as shall be explained in more detail hereinafter. The feed rate modification 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 Figure 5, receives an 8 bit word indicative of various limit switch conditions from a limit switch conditioner 73. The B section of PIA 71 provides commands from the microprocessor unit 31 affecting solenoid drivers 74 and airoperated 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 limit switch conditioners 73.
A tape cassette PIA 77 is coupled between address bus 35 and data bus 47 transceiver 78.
PIA 77 provides the interfacing with a tape cassette which is utilized to load RAM 36.
Also, a subsequently inserted cassette may be utilized to record stored RAM program data through PIA 77. Cassette control data is coupled through PIA 77 to the cassette on lines 79 as shown in Figure 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 able 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 Figure 4.
Referring now to Figure 9, there is shown 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 axes according to programmed information, or in one of two tape modes for energizing the tape cassette. In the tape manual mode the cassette switches ON and REWIND 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 auto position permits operation of the cassette under control of the stored program. In the digital readout mode, the X, Y and Z axis positions are displayed. 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 in 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 Z direction normally per program instructions. In the manual-on position the spindle is on and rotating, 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 full up position. In the manual-off position for control 204, the spindle motor is deenergized and the
Z axis feed is per program only after 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 full up position.
Push button 206 is a motion hold button which stops all servo motion. Button 207 is operable while depressed to provide coolant for the tool being utilized in the vicinity of the workpiece. Button 208 starts operation of 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 is the table feed rate override control, and when it is set at P (program) position no alteration of programmed table feed rate is obtained. Spindle control knob 211 is similarly set at P for no effect 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 hereinafter. Spindle knob 211 and table knob 210 are coupled to potentiometers 67 and 68 of Figure 6, respectively.
A CRT screen 212 is provided for displaying data blocks etc. A data entry keyboard 213 is supplied for placing data into the control memory in response to inquiries on the CRT 212. Program keys 214 through 217 are provided for various functions involving entry of data into memory for execution 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. If a number from keyboard 213 is entered through advance key 215, the CRT display will advance to the data block having a corresponding number. Erase key 216 erases an entry made in response to the particular item of 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, that a dimension entered into a data block is to be measured from the last position rather than the initial reference position of the table or spindle. The sequence of inquiries on the CRT screen for a data block follows the sequence: data block number, machine mode, control mode, X dimension, Y dimension, Z dimension, feed rate, peak rate and tool number. In addition, for step-repeat blocks, the X and Y dimensions are requested as well as the number of repetitions in the X and y directions. In a milling block, an inquiry is made as to whether or not the milling is inside or outside frame milling.
Therefore, the operator of the machine has control of the selection of number entries from the keyboard to identify various parameters in a data block. The operator makes the type selections by number keys on the keyboard, such as for Drill, Mill, etc. By appropriate digit entries through the keyboard, the operator has control of the machine operating mode, control operating mode and part program coordinates.
There are four mode or control keys provided. Key 218 places the program in the enter mode. Key 219 is for check mode, key 220 for single cycle operation and key 221 for operate mode. These modes are explained in further detail in regard to the program flow chart and description thereof.
Push buttons 222 through 224 affect various items in the memory of the control. Table zero 222 instructs the processor, in the operate mode, to look for marker switches to obtain a zero position. When the program is in data block zero the table zero may be established over the full range of table travel by pushing table zero 22 when the table is in the desired location. Programmed coordinates are then measured from that point. Button 223 controls tool calibration in a similar fashion. In data block zero, pushing tool calibration button 223 establishes individual tool length calibration for the respective tool number on the display. Tool length calibration 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 shown generally at 225 for receiving a magnetic tape cassette operable to read or write data to or from the RAM memory. With mode switch 203 in the tape auto mode, the data 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 controller 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 searchfor-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.
Referring now to Figures 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.
The drive for the spindle vertical feed is provided by a servo motor 241 whiich is mounted on a motor mounting plate 242. The motor mounting plate is adjustable relative to the Z axis spindle. The servo motor 241 drives a ball screw 243 through a pair of timing belt pulleys 244 and a timing belt 246. The ball screw is securely retained by a preloaded double race ball bearing 247 which allows rotation of the screw without any shaft end play. The inner race of the bearing is secured by a lock nut 248 and adjacent lock washer. The outer race is secured to the main frame 251 by a retainer cap 252 with cap screws 253. The main frame 251 is in turn rigidly secured to the mill head through a retainer plate 254 with cap screws 256.
Vertical motion of the spindle is obtained by 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 lock nuts 263. The adjusting studs have an 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 until the desired tightness is 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 mounted in a preloaded state by compression of the flexible inner races with a bearing lock nut 267 and lock washer 268. The shank rod 264 is rigidly mounted in the mill spindle in tension by utilizing the existing spindle shank rod bearing and a tool adapter (not shown) threaded to the shank rod.
Essentially, servo motor 241 drives ball screw 243 via a timing belt drive, driving preloaded ball nut 257. Ball nut 257 is mounted to the carriage 258, causing the carriage to travel vertically (in the Figure to the right), trapped in “V” ways 259 by “V” rollers 261, driving the shank rod 264 which is mounted to carriage 258 by ball bearings 266. The bearings allow spindle rotation to be isolated from vertical drive. Thus the mill spindle is driven by being retained by a tool adapter (not shown) allowing accurate vertical spindle control when used with the limit switch assembly explained hereinafter.
In order to provide a method of mounting limit switches and an encoder on an isolated mount that will provide accurate measuring of long distances in less space, the present limit switch assembly has been utilized. It provides a stable, end-play free, mount for the encoder.
The main frame 269 of the limit switch assembly is mounted to the motor mounting bracket 242 by a shoulder 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 the motor shaft 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 front bearing 279 and a snap ring at 282 on the outer ring of the rear bearing 278.A shoulder on the driven shaft 277 provides the compression member, and nut 283 provides the adjustment for bearing 279. The driven shaft 277 is threaded with an extra-fine thread so that a ratio is obtained between the actual travel (rotation of motor shaft) and the travel of the L.S.DOG 284. L.S. DOG 284 is kept from rotating by guide bar 286 which is mounted on the main frame with cap screws 287.
As the screw 277 rotates, L.S. DOG 284 moves linearly actuating the appropriate limit switch 288. The limit switches may be mechanical as shown, or also, for example, photoelectric.
Adjustment of the limit switch location is made by loosening 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 shown) rigidly mounted to the driven shaft 277.
Referring now to Figure 12, there is shown a simplified schematic diagram of the feed rate override control of the present system. Analog values from zero through +5 volts from potentimeter 301 (for table feed rate adjustment) or from potentiometer 302 (for spindle feed rate adjustment) are switched by means of an analog multiplexer 303. Potentiometers 301 and 302 are 10 K ohms each and correspond to the potentiometers 68 and 67, respectively, shown diagrammatically in Figure 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 the analog-to-digital converter along the 0 through 7 bit outputs and connected to PIA number 6 inputs BO 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 BO through B7 may be coupled to the data coutputs DO 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 bit output for a particular input voltage for the converter 306. Thus, when the output from multiplexer 303 is at its full five volt value, the output from potentiometer 307 to the input of the analog-to-digital converter 306 is set to produce all high outputs on bit outputs 0 through 7 of analog-to-digital converter 306. Potentiometer 309 sets the zero valve for zero volts input. The ends of potentiometer 309 are at +5 volts and -5 volts respectively.The output of 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 1K resistor, providing a voltage divider network for the zero adjust
The various other inputs utilized, such as voltage supplies and current references, are supplied to convertor 306 as necessary. Analogto-digital converter 306 may be, for example, an 8700 CN type, manufacturered by Teledyne.
A 100 hertz clock 312 couples pulses to the input of the analog-to-digital converter 306 which initiates an output on output lines 0 through 7.
The clock output is also coupled to the CBI input of PIA 304 as a system interrupt. This interrupt causes a program factor to service the
X, Y and Z servo routines. This is an interrupt operation described hereinafter 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 Figure 12, the data outputs 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 shown in Figure 13a, the outputs on data lines 7 through 0 (most significant bit through least significant bit) effect different changes in feed rate. If only the most significant bit is high, indicating a mid range (two and one half volt) potentiometer output, the programmed feed rate value will be utilized. If the potentiometer is set 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 multiplied by a fraction comprising the bit rate divided 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 weight will be applied, and in the two exemplary conditions shown, if the potentiometer is at 5 volts all bits are high and the feed rate will be the programmed value plus 6 inches per minute. If 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 Figure 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 volts, 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 five volts, the feed rate becomes 150 inches per minute multiplied 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.
Referring now to Figures 14-42, there is shown a flow chart of 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 of 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. Software also generates display messages on the CRT screen and operates the magnetic tape cassette unit. The operation of the cassette unit allows parts programs to be loaded on to tape and from tape. The software further controls the three servo axes, Z. Y and
Z, and controls the machine sequence and motion as it executes parts programs.
Referring now to Figure 14, when power is applied to 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 from the zero condition and enables the system interrupts.
As shown in Figure 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 of what the main program is doing, the INTERRUPT program 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 their values to be retrieved by the main program at a later time. In the servo portion of the interrupt program, the desired position is compared to actual position and forms an output error signal to a digital-toanalog-converter. The program then determines the desired position by taking move commands from a command buffer and adding them to an error signal. The change in encoder reading for the particular axis motion being calculated is added to determine any motion taken place during the last interval. The resultant error signal then is the difference between desired position and actual position.This is applied to the velocity command of the motor 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 in 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 hun dredth of a second for each axis. If a continuous stream of MOVE values are loaded into the command buffer, 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 Figure 14, after BEGIN the SETMODE program is executed. This program is also executed each time a new mode is selected by the machine operator. This program sets the inital conditions and then jumps to one of the modes (ENTER, CHECK, SINGLE, OP
ERATE or EMERGENCY STOP).
Referring now to Figure 16 the first of the 5 available modes reached from the SETMODE program is discussed. For ENTER mode, the
ENTER program 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 panel, the operator can advance to the next item within a data block or modifiy or enter values for the particular item being displayed. In ENTER, all of the items are displayed on the CRT and sequentially an inquiry is placed at the bottom of the CRT display for each item of the data block. The operator makes keyboard data and mode selection entries through the keyboard for inquiry. The data block advance key and inquiry item advance key are located on the control panel as shown in Figure 9.When the operator is satisfied with a particular data block, pushing the 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 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.
Figure 17 shows the ENTER DBO routine and Figure 18 shows the DISPLAY CURRENT
DATA BLK routine from the ENTER PGM of
Figure 16.
Referring now to Figure 19, CHECK MODE, the second of the five available modes, is shown. CHECK MODE can be entered through the SETMORE program and allows consecutive display of all of the data blocks which have been programmed. This CHECK MODE is for operator convenience in verifying that a proper program has been entered into the memory.
Figures 20 and 21 illustrate the next two modes enterable by the program. The SINGLE
NODE program sets the single step flag and goes to the OPERATE program, to be discussed hereinafter. The EMERGENCY STOP program is entered whenever the emergency stop switch is activated on the control panel. It stops all motion and waits until the machine operator puts the machine in CHECK MODE. Then the emergency stop condition is released.
The fifth mode, and the principle mode in which the automatic machining of parts is done, is the OPERATE MODE. As shown in
Figure 22, the OPERATE 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 Figure 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 XY move. If an XY move is desired, the program obtains feed rate amd modifies it 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 squres of DX and DY). Next the number of iterations required to move this distance at the proper feed rate is calculated. NNN equals the length required to move multiplied by the 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 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 INCRE
MENT will be added to the X and Y position
NNN times. This is done by the INTERP
OLATE program. If a Z move is required a similar calculation is made to determine NNN and Z increment.
The INTERPOLATE program calls the
LEAD SCREW COMPENSATION program five times a second. The INTERPOLATE Program checks to see whether the feed rate pot has changed. If the JOG mode is being executed the program returns whenever the start button is released by the operator.
After doing these things, the INTERP
OLATE 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 buffer 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 the INTERPOLATE program.
The INTERPOLATE program also displays on the CRT screen the present instantaneous
X. Y and Z values. It then loops, calculates the next move value, and waits again to place it into the command buffer. When NNN has reached zero, the move is completed and X position has reached the X desired value.
FINISH MOVE (Figure 41) sets them precisely equal and returns to the calling program. It can be seen that if XD, YD or ZD is set to a desired location, the DOMOVE program will take care of moving the servos at the proper feed rate to that location. The FRATE and LEAD SCREW
COMP subroutines are shown in Figures 39 and 40, respectively.
Returning to the OPERATE program (Figure 22), if the AUTO 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
OPERATE program are shown in Figures 23, 24, 25 and 26, respectively.
As shown in Figure 24, the Z axis spindle calibration is 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 position 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 of DBZERO as shown in
Figure 17. As discussed above, when the Z axis is manually moved to a desired zero reference plane, the tool length calibration may be entered through the TOOL CAL button 223.
Generally, the tool 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 block and decides on the type or mode (POSITION,
MILL, DRILL or BORE). Each of these modes is a sequence of operations to take the milling machine through the desired action. The
AUTO SEQUENCE, beginning with NEXTDB, is shown in Figure 27.
If the selected function or mode is POSI
TION (Figure 28) a retract is executed, bringing the Z spindle up. This is accomplished by setting the Z desired to the inches, setting RAPID and executing the DOMOVE program until the
Z up limit switch is actuated. After Z is up,
POSITION reads the XY values from the data block, sets RAPID and executes DOMOVE.
This brings the table to the XY position called out in the data block. WAIT ERROR SMALL delays the program until the servos are in position within several thousandths. After this, the portion of the program NEXTDB is executed (Figure 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 (Figure 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 excuted, 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, if an inside or outside frame milling operation has been entered in the data block the program goes to FRAME. The operator will have chosen either inside, outside or none for possible frame milling for the MILL data block. As shown in Figure 29, if either inside or outside milling is selected, the FRAME milling subroutine is executed (Figure 43).
For an inside frame milling operation, for example, a first data block would position the tool at the proper location on the workpiece to begin the frame milling operation.
The next data block would be the MILL data block wherein the operator inserts the desired inside from milling and enters the X and Y distances for the tool to travel. As shown in the FRAME milling subroutine of
Figure 43, the Z axis is moved in the four directions mecessary to complete the frame milling and then the spindle is retracted. As indicated in DRILL in Figure 30, in the middle block after WAIT ERROR SMALL, if the next data block contains an inside or outside frame milling step, the X and Y positions 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 tool diameter.
After the ZRETRACT operation of Figure 43, the XY offset is removed so that the XY positioning returns to its true value for subsequent operations.
BORE mode sets the bore flag and then proceeds as if it were a DRILL mode.
DRILL mode execution is as follows. The spindle is retracted. The XY values are obtained from the data block. A move is made in
RAPID to those XY values, and a WAIT ER
ROR SMALL subroutine is performed. A
RAPID move to the Z up position is made with a WAIL ERROR SMALL subroutine, If PECK mode is set, a separate DOPECK program is then executed. Otherwise, Z is moved to the down position at the program feed rate. A delay of three tenths of 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 the spindle. Or if the bore flag is set, the spindle is 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
FROM DATA BLK, WAIT ERROR SMALL,
Z TO DOWN, RAPID TO Z UP and SLOW TO
Z UP are set forth in Figures 31, 32, 33, 34, 35 and 36, respectively.
During all motions, lead screw compensation is being calculated and applied to the move.
This takes the position times the lead screw error which is entered into the 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 Figure 37.
As shown in Figure 42, the REPEAT program allows excution 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/REP stack. When the RE
PEAT 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. Each time the REPEAT is encountered in this loop, the X or Y positions are 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 REPEAT program may be devised, for example, to permit nesting up to three loops deep. The beginning data block of a loop is flagged by being selected by the operator as a STP/REP block as indicated in the AUTO program of Figure 27. This STP/REP-indicated data block further contains the 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 court of the number of X operations, an incremental Y dimension and a number of counts for Y direction operations. The program operates to perform all of the X repeats for a given Y dimension and then moves to the next Y dimension for another series of operations in the X direction.An example of a simple type of repeat program which 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 by five, etc.
The utilization of a repeat block to eliminate the need for re-entering 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.
Mechanical features of the apparatus described above are claimed in our copending applications No. 79/24563 (Serial No. 1584 646) and No. 79/24564 (Serial No. 1584647), both of which are divided from this application.
WHAT WE CLAIM IS:
1. A programmable microcomputer control apparatus for controlling the relative motion between a machine tool and a workpiece, the apparatus comprising:
indicator means which provide, 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 which direct said control signals from the microprocessor unit to appropriate motion-providing means of the tool and/ or the workpiece; ;
interface means which transfer a control program and control parameters from an external medium into said alterable memory and which record the control parameter contents of said memory on an external medium; and
data entry means which load control parameters into said memory through data inputs independently of said interference means, which data inputs are accessible from outside
**WARNING** end of DESC field may overlap start of CLMS **.
Claims (18)
**WARNING** start of CLMS field may overlap end of DESC **. desired to be accomplished rather than having to take into consideration the tool diameter. After the ZRETRACT operation of Figure 43, the XY offset is removed so that the XY positioning returns to its true value for subsequent operations. BORE mode sets the bore flag and then proceeds as if it were a DRILL mode. DRILL mode execution is as follows. The spindle is retracted. The XY values are obtained from the data block. A move is made in RAPID to those XY values, and a WAIT ER ROR SMALL subroutine is performed. A RAPID move to the Z up position is made with a WAIL ERROR SMALL subroutine, If PECK mode is set, a separate DOPECK program is then executed. Otherwise, Z is moved to the down position at the program feed rate. A delay of three tenths of 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 the spindle. Or if the bore flag is set, the spindle is 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 FROM DATA BLK, WAIT ERROR SMALL, Z TO DOWN, RAPID TO Z UP and SLOW TO Z UP are set forth in Figures 31, 32, 33, 34, 35 and 36, respectively. During all motions, lead screw compensation is being calculated and applied to the move. This takes the position times the lead screw error which is entered into the 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 Figure 37. As shown in Figure 42, the REPEAT program allows excution 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/REP stack. When the RE PEAT 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. Each time the REPEAT is encountered in this loop, the X or Y positions are 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 REPEAT program may be devised, for example, to permit nesting up to three loops deep. The beginning data block of a loop is flagged by being selected by the operator as a STP/REP block as indicated in the AUTO program of Figure 27. This STP/REP-indicated data block further contains the 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 court of the number of X operations, an incremental Y dimension and a number of counts for Y direction operations. The program operates to perform all of the X repeats for a given Y dimension and then moves to the next Y dimension for another series of operations in the X direction.An example of a simple type of repeat program which 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 by five, etc. The utilization of a repeat block to eliminate the need for re-entering 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. Mechanical features of the apparatus described above are claimed in our copending applications No. 79/24563 (Serial No. 1584 646) and No. 79/24564 (Serial No. 1584647), both of which are divided from this application. WHAT WE CLAIM IS:
1. A programmable microcomputer control apparatus for controlling the relative motion between a machine tool and a workpiece, the apparatus comprising:
indicator means which provide, 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 which direct said control signals from the microprocessor unit to appropriate motion-providing means of the tool and/ or the workpiece;;
interface means which transfer a control program and control parameters from an external medium into said alterable memory and which record the control parameter contents of said memory on an external medium; and
data entry means which load control parameters into said memory through data inputs independently of said interference means, which data inputs are accessible from outside
the apparatus.
2. The apparatus of claim 1 wherein the interface means includes means for reading from and writing onto a magnetic stored information input.
3. The apparatus of claim 2 wherein the said means for reading and writing comprises a tape cassette transport.
4. The apparatus of claim 1 wherein the said interface means and said data entry means comprise a pendently mounted control panel, the apparatus 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 the arm further from the cabinet.
5. The apparatus of claim 4 which further comprises a machine bearing said tool and said workpiece and including motion-providing means receiving 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 inquires on the display means, whereby an operator may load control parameters into said memory through said data entry means in response to the inquiries, and the apparatus including means to display sequentially data block enquiries and to display, in response to the loading of certain control parameters into said memory relating to the data block enquiries, separate displays of additional control parameter enquiries relating to information used in the data block which was the subject of the previous enquiry, whereby the sequential display of enquiries as to a single data block can be used to make use of the apparatus simpler.
7. The apparatus of claim 6 wherein the display means comprises a CRT display.
8. The apparatus of claim 1 wherein the said control signals include programmed rate signals for controlling the rate of relative motion between the tool and the workpiece, the apparatus further comprising feed rate adjust means externally settable independently of said control parameters for altering said rate signals to vary the rate of relative motion between the tool and the workpiece.
9. The apparatus of claim 8 wherein the programmed rate of relative motion between the tool and the workpiece dependent upon said control parameters is reduced by the feed rate adjust means through effecting a multiplication of the programmed rate by a fraction less than unity and said programmed rate is increased through adding a proportionate rate increment between two preset values.
10. The apparatus of claim 1 which further comprises means for positioning the tool at a desired calibration location in a first direction relative to the workpiece and in which the indicator means includes means for providing a signal indicative of displacement of a tool holder relative to a reference location, said signal being a tool length calibration signal when the tool is placed in said calibration location, said indicator means providing said output digital signals indicative of the relative position between the tool and the workpiece after taking into account said tool length calibration signal.
11. The apparatus of claim 1 which further comprises means associated with said control program for enabling the microprocessor unit to produce control signals which produce, through the appropriate motion-providing means, repetitive relative motions between the tool and the workpiece at a series of different relative locations, and the apparatus including means for entering feed rate and Z coordinate data for the repetitive motions only once and entering (1) an instruction to repeat and (2) the X and Y coordinate information for the repeating motions in order to undergo the repetitive motions.
12. A method for controlling the relative motion between a tool and a workpiece using programmed microcomputer control apparatus according to any preceding claim, the method comprising the steps of:
entering the mode type and dimensional parameters for a machining operation into the alterable memory as a data block;
repeating the entering step for data blocks for any further operations and dimensions as necessary to complete processing of the workpiece; and
executing the program using the data blocks to direct the tool to perorm the said operations on the workpiece.
13. The method of claim 12 wherein the entering step includes the substep of:
selecting a data block as the starting point of a repeat sequence and, after a number of data blocks, indicating the end of the sequence and the number of times it is to be repeated, the said executing step including the repetition of execution of the said sequence of steps the said number of times.
14. The method of claim 12 or claim 13 wherein the entering step comprises the provision of a preprogrammed two or three dimensional parameters therefor in a single data block.
15. The method of claim 14 wherein the said preprogrammed operation is a frame milling operation.
16. The method of claim 13 wherein the entering step includes the substep of compensating in at least one dimensional parameter for the diameter of the tool being used.
17. A programmable microcomputer control apparatus constructed and arranged substantially as herein described and shown in the drawings.
18. A method for controlling the relative motion between a cool and a workpiece using a programmed apparatus according to any of claims 1 to 11, and substantially as herein described with reference to the drawings.
GB2789577A
1976-07-06
1977-07-04
Microcomputer control apparatus for a machine tool
Expired
GB1584645A
(en)
Applications Claiming Priority (1)
Application Number
Priority Date
Filing Date
Title
US70256976A
1976-07-06
1976-07-06
Publications (1)
Publication Number
Publication Date
GB1584645A
true
GB1584645A
(en)
1981-02-18
Family
ID=24821762
Family Applications (3)
Application Number
Title
Priority Date
Filing Date
GB2456379A
Expired
GB1584646A
(en)
1976-07-06
1977-07-04
Machine tool apparatus
GB2789577A
Expired
GB1584645A
(en)
1976-07-06
1977-07-04
Microcomputer control apparatus for a machine tool
GB2456479A
Expired
GB1584647A
(en)
1976-07-06
1977-07-04
Controlled machine tool
Family Applications Before (1)
Application Number
Title
Priority Date
Filing Date
GB2456379A
Expired
GB1584646A
(en)
1976-07-06
1977-07-04
Machine tool apparatus
Family Applications After (1)
Application Number
Title
Priority Date
Filing Date
GB2456479A
Expired
GB1584647A
(en)
1976-07-06
1977-07-04
Controlled machine tool
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)
Cited By (2)
* Cited by examiner, † Cited by third party
Publication number
Priority date
Publication date
Assignee
Title
US4539634A
(en)
*
1982-02-02
1985-09-03
Yamazaki Machiner Works, Ltd.
Modification of machining program in a numerical control machine tool
CN114161154A
(en)
*
2021-12-07
2022-03-11
安徽机电职业技术学院
Intelligent adjustment module of digit control machine tool
Families Citing this family (25)
* 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
JPS55143606A
(en)
*
1979-04-26
1980-11-10
Mitsubishi Electric Corp
Process controller
JPS55143607A
(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
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
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
1977
1977-06-21
CA
CA281,097A
patent/CA1102434A/en
not_active
Expired
1977-06-28
IT
IT5003377A
patent/IT1079960B/en
active
1977-06-28
FR
FR7719857A
patent/FR2357943A1/en
active
Granted
1977-07-04
GB
GB2456379A
patent/GB1584646A/en
not_active
Expired
1977-07-04
GB
GB2789577A
patent/GB1584645A/en
not_active
Expired
1977-07-04
GB
GB2456479A
patent/GB1584647A/en
not_active
Expired
1977-07-05
JP
JP8035577A
patent/JPS536784A/en
active
Granted
1977-07-05
DE
DE19772730335
patent/DE2730335A1/en
not_active
Withdrawn
1977-07-06
CH
CH834377A
patent/CH618528A5/en
not_active
IP Right Cessation
1984
1984-09-17
JP
JP19455684A
patent/JPS60186907A/en
active
Granted
Cited By (2)
* Cited by examiner, † Cited by third party
Publication number
Priority date
Publication date
Assignee
Title
US4539634A
(en)
*
1982-02-02
1985-09-03
Yamazaki Machiner Works, Ltd.
Modification of machining program in a numerical control machine tool
CN114161154A
(en)
*
2021-12-07
2022-03-11
安徽机电职业技术学院
Intelligent adjustment module of digit control machine tool
Also Published As
Publication number
Publication date
JPS6145248B2
(en)
1986-10-07
JPS60186907A
(en)
1985-09-24
GB1584646A
(en)
1981-02-18
FR2357943B3
(en)
1980-04-04
FR2357943A1
(en)
1978-02-03
JPS536784A
(en)
1978-01-21
CA1102434A
(en)
1981-06-02
IT1079960B
(en)
1985-05-16
JPS6142289B2
(en)
1986-09-20
GB1584647A
(en)
1981-02-18
CH618528A5
(en)
1980-07-31
DE2730335A1
(en)
1978-01-12
Similar Documents
Publication
Publication Date
Title
US4477754A
(en)
1984-10-16
Interactive machining system
GB1584645A
(en)
1981-02-18
Microcomputer control apparatus for a machine tool
CA1260041A
(en)
1989-09-26
Robot apparatus
US3727119A
(en)
1973-04-10
Servo controlled automatic inspection apparatus
US6073058A
(en)
2000-06-06
Computer generated graphic depiction of manual machining operations
US4233491A
(en)
1980-11-11
Method and apparatus for controlling increment type position control apparatus
KR19990023831A
(en)
1999-03-25
Position control device and its method, numerical control program creation device and its method, and numerical control machine tool control method
US4403559A
(en)
1983-09-13
Programming system for a sewing machine
DE1638032B2
(en)
1975-01-16
Numerically working program control
US3581045A
(en)
1971-05-25
Digitally controlled electroerosion machine
EP0035282B1
(en)
1987-01-07
Apparatus for programmed control of a robot
US4615149A
(en)
1986-10-07
Feed control apparatus for grinding machine
US4698570A
(en)
1987-10-06
Boom positioning apparatus for rock drill
US5742140A
(en)
1998-04-21
Numerical-control machine tool
US4674928A
(en)
1987-06-23
Milling machine controller
US6821064B2
(en)
2004-11-23
Apparatus for compensating position errors of spindle head and machine tool provided with same
US5299477A
(en)
1994-04-05
Method of selecting a tool in a punching press machine
US3852719A
(en)
1974-12-03
Pitch error compensation system
EP0593760B1
(en)
1997-07-23
Gear pitch error correction system of numerical controller
US5131136A
(en)
1992-07-21
Method of and equipment for exchanging tools of machine tool
DE3837526C2
(en)
1993-07-15
US3676760A
(en)
1972-07-11
Feedrate control system
JPH1165663A
(en)
1999-03-09
Position controller and method therefor
JPS58213301A
(en)
1983-12-12
Numerical control system of direct teaching and operating system
US3912995A
(en)
1975-10-14
Curve milling or curve grinding machines including feed rate control
Legal Events
Date
Code
Title
Description
1981-05-07
PS
Patent sealed
1987-02-25
PCNP
Patent ceased through non-payment of renewal fee