An operator-directed control system for N.C. drilling machines

An operator-directed control system for N.C. drilling machines

Inl I ",|ach I o o l D c s Rex Plllllcd ill ( ; r c a t []rllillll \ ~ 1 21. N o 4 , p p 2 6 3 - 2 7 8 . 1 9 8 3 (Io2(I ~ q 7 * ; S 2 l l I l ~ {It~...

812KB Sizes 2 Downloads 76 Views

Inl I ",|ach I o o l D c s Rex Plllllcd ill ( ; r c a t []rllillll

\ ~ 1 21. N o 4 , p p 2 6 3 - 2 7 8 . 1 9 8 3

(Io2(I ~ q 7 * ; S 2 l l I l ~ {It~ [)t Tg,illltil ] IITC~k t ltl

AN OPERATOR-DIRECTED CONTROL SYSTEM FOR N.C. DRILLING MACHINES S. HINDUJA*, P. N.

RAO*,W .

CHAN*, C. GREENHALGH* arid G . H. VAt E"

(Received 6 September 1982: in final l'orm 18 July 1983)

Abstract--This paper describes an interactive part-programming system intended as an inteeral part ol an N .(7. controller for drilling machines. The system uses shop-floor terminology to facilitate rapid programming of parts by the machine operator. It includes the following novel features: (a) automatic calculation of metal-cutting conditions: (b) semi-automatic hole-making operation sequencing; (c) optimisation of tool-change sequencing, independent of the order in which part features are programmed: (d) optimi_',ation of tool motion between holes within a pattern. In addition, the system provides a variety of geometric pattern delinilions with the facihtv Ic)r omisz,icm (~1 selected hole_,. Once defined, a pattern may be used again without re-specifying the parameters. Programming takes the form of a sequence of "'macro" operations each defining a single hole or a geometric pattern. The programming sequence for each macro is in the general sequence: (a) select the type of hole required, e.g. reamed, tapped: (b) specify the sequence of hole-making operations required: (c) define the pattern of holes required Since the system computes the spindle-speeds and feedrates to be used itself, the part programmes o_enerated arc essentially machine-tool independent and could run equally well on any other machine ~ithdifferent spindle H.P.. etc. Machines fitted with such controllers would- give the m~ichine-shop mawagcr au added dimension of flexibility in the allocation of work and speed of response.

NOMENCLATURE

u. b. d,e.g.f, h.m.n constants C, .('>C,,,C, BHN Brinell hardness number D diameter of drill (ram) D,, average diameter of drill (= 0.7D) DI. length of drill E Young's modulus of elasticity (N/ram 2) f:, feed force (N) /, factor of safety I. length of drilled hole (ram) .~4 torque required to drill hole (Nm) \',,,, ,~ speed at which the power/torque-speed characteristics oI the machine changc (roy ram) \',,,,, minimum speed of the machine (rev/min) N,...... maximum speed of the machine (rev/min) t' ...... maximum power available at the machine r~ nose radius of tool (mm) I¢, surlace roughness (~m) fcedrate (mm/rev) 7 ...... maximum torque available at machine spindle I ...... minimum torque available at machine spindle 7 tool life (rain) l~ cutting edge or tool change time V,..... maximum velocity for tool-workpiece combination (m,'min/ ~.,..... minimum velocity for tool-workpiece combination (m/ram) v cost rate (labour, overheads, etc.) (£/min) tool cost per cutting edge or regrinding cost (£) v~ mechanical efficiency yield shear stress (N/mm 2) 1. INTRODUCTION THE CONTEMPORARY m e t h o d o f m a k i n g c o m p o n e n t s o n n u m e r i c a l l y c o n t r o l l e d m a c h i n e t o o l s is t o p r o d u c e t h e p a r t - p r o g r a m m e in a n o f f i c e a w a y f r o m t h e s h o p - f l o ~ w a n d *Department of Mechanical Engineering, UMIST. Manchester, U,K. 263

2(~

S.

HINI)UJAeta(.

subsequently prove-out the tape on the machine. Programming is done either manually or by using a general purpose programming language processor such as APT. E X A P T or C O M P A C T followed by a post-processing stage to produce a tape for the specific machine tool. These methods suffer from several disadvantages. (a) There is considerable delay between generating the programme and making the first part. (b) There must be a tape prove-out stage with almost inevitable editing and reprocessing delays. This either ties up the machine for the whole time or necessitates a second set-up later. (c) Computer aided part programming may be too expensive for the small user. (d) The skills of the machine operator are under-utilised with a resulting loss of job satisfaction. The advent of microprocessors and large-scale integrated circuits has enabled the manufacturer to place more processing power at the machine. Although in recent years, N.C. machines have appeared on the market which are capable of being programmed by the operator, they still employ the word address format generally requiring one input statement for each tool movement. In the system described in this paper, a high-level process-oriented language which requires no specialist knowledge has been built into an interactive microprocessor based system for a N.C. drilling machine. A similar concept has been successfully implemented on a two-axis N.C. lathe [1]. 2. OVERALL DESCRIPTION OF THE SYSTEM

A schematic view of the system is shown in Fig. 1. The program data is provided by the operator using a control panel which is fixed to the machine and comprises an alphanumeric display and special-purpose keyboard. A microprocessor based Interactive Programme Generator controls the sequence of questions displayed on the panel; the operator responses are converted to a condensed and easily understood series of high-level statements. These statements constitute the part programme and are held in an internal buffer during the course of machining. If required for later use the high-level part programme may be stored as a file on a magnetic diskette. When actual machining is required the high-level statements are passed to the Interpreter module which also uses the tool and material files and the cutting technology routines. The Interpreter performs the geometric and metal-cutting calculations necessary to

I DISPLAY I Operator prompts

KEYBOARD

t

l

Operator responses

IINTERACTIVE PROGRAMMEGENERATORI programme DNC link statements Word NCblocksI Programme Programme~ _ ~ Programme interpreter buffer F ~k store

o,0r--,

'1{

FIG. 1. System configuration.

1

An Operator-Direcled System for N.C. Drilling Machinc~

265

FIG. 2. Programming panel.

generate the equivalent series of N.C. word-address format blocks for each high-level statement and passes these to the main section of the machine controller, i.e. the Interpreter is effectively a combined processor plus post-processor which operates on-line whilst machining is taking place. 3. INTERACTIVE PROGRAMMING PROCEDURE To give a better appreciation of how the system works, the programming procedure is described first. The interactive system displays questions on the second last line (sec Fig. 2) of the display screen and "prompts" on the last line. To this, the operator responds with either a numerical answer, or a choice of one of the six function keys situated bc[o\~ the bottom of the display screen. The numerical data is supplied by the ~dphanumeric keypad and may be entered in a free format. The interactive programming procedure is split into two sections: set-up procedure and the definitions of the machining operations. These are described below. Tht" sequence in which the prompts are displayed on the screen is shown in Fig. 3.

3.1. Set-up procedure The set-up procedure contains a sequence of questions to which the response ol the operator provides the following information. Program Name to uniquely identify it when stored for later use. Material Number to select the appropriate data from the material file. Type of job surface as either stepped or flat. Position of job surface to define the Z-axis datum. The operator is given ~t choicc of two methods of defining this: either by specifying the working travel of the longest tool or the height of the component above the machine table (Fig. 4). Tool clearance height at which hole cutting feedrate will start. Start position (if different from the initial set-up position). Optional load/unload and/or tool-change positions. The tool list. Tool numbers from the tool file in turret/tool, changer order.

266

S.

HIsDUh~et al.

3.2. Machining operations (Figs. 3a, 3b) The operator supplies the information required for the machining of the component in a series of "macros". The system is designed for two types of macros: MILL and DRILL. The milling macro logic is still under development whereas the drilling macro logic has been completed and is described below. Each DRILL macro consists of three types of information: "What" type of hole(s) are required; "How" are the holes to be machined (process sequence); "Where" are the holes to be made (type of pattern and its position),

IFlat Bottom[ I Tool

.o.:7!

[Cored

hole

[Diameter=?

|

Hole Depth ~

Hol'e I [Depth 7 1

_ _

Truing

Tool No.=? L- F

[ Tap

] Too1

~__ No.=? J

1

Ream ] Tool NO.=?

Fie,. 3(a), Machining operations sequence.

1

Bore

Tool no.=? ......

An Operator-Directed System for N.C. Drilling Machmcs

2t;7

The data required is detailed as follows. What type of hole? Within a D R I L L macro, the system offers a menu of four types of hole; D R I L L ; T A P ; R E A M and B O R E . The D R I L L option is intended to specify that ~ plain drilled hole is required. The other hole types include a hole-drilling operation within the process sequence by implication. For all hole types the operation is p r o m p t e d by a sequence of menu options to specify the following features. (i) The shape at the bottom of the hole. This may be either conical, as formed t~\ the twist drill or fiat. In the latter case, an extra operation with a different tool i~ included to create the desired shape.

@

,

L

,

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

! !

v I-

1 P',TTN I

Parameters=? 1

i Pattern Parameters=?

1

vl Hole No.=?

Y

N

Y

FIG. 3(b). Machining operations sequence

268

S. HINt)w~x et al.

WHERE )

I

1-

12

FIG. 3(c). Machining operations sequence (subroutine WHERE).

Machine head

Preset tool height

Tool clearance _~_ height

Working travel

Machine table FiG. 4. Set-up procedure.

An Operator-Directed System for N.C. Drilling Machines

2~9

TABLE I. SEQUENCE OF OPERAIIONS

Drill 1 ~ 3 4 5 6 7

Spotface Centre drill Pre-drill Drill Counterbore Countersink --

Tap Spotfacc Centre drill Pre-drill Drill Countersink Taper tap Plug tap

Ream Spotface Centre drill Pre-drill Drill Countersink Truing Ream

Bore Spot face Centre drill Pre-drill Drill Countersink Rough bore Finish bore

(ii) The initial state of the hole. Most holes are machined directly into a solid c o m p o n e n t , but if the c o m p o n e n t is a casting, there may be some cored holes. In such cases, the operator must select the option C O R E D to describe these holes so that the cutting parameters are calculated correctly. (iii) Termination of the hole. If the hole penetrates the base of the c o m p o n e n t it is described as T H R O , otherwise the word B L I N D is used. H o w do we m a k e it? For each basic hole type there are special p a r a m e t e r s to be specified and various pre-drill and post-drill operations to be selected. If the T A P option is selected, the operator has to provide extra information about the type of tapping tool ( T A P E R or P L U G ) required, and the tool-file numbers together with the dimensions of the threaded hole. In the case of R E A M , an optional truing operation may be specified which will ensure the positional accuracy of the finished hole. For B O R E , the o p e r a t o r may select a roughing cut followed by a finishing cut, or just a finishing cut. In the former case, after the roughing cut, the operator is allowed to reset the tool. Each of the four hole type options can be preceded or followed by the sub-operations centre-drill, pilot-drill, spot face, counterbore and countersink. For each sub-operation, the operator has to specify the appropriate tool n u m b e r and in some cases, the depth to which the sub-operation is to be performed. Table 1 shows all the possible machining operations that can be performed with each of the options. W h e r e are the holes required? The location of holes may be specified either individually (single H O L E ) or in groups using pattern definitions. At present, there are four simple patterns available in the system: PCD, A R C , R O W and G R I D . If required, some of the holes in the pattern mav be omitted. A maximum of 18 holes may be omitted from any one pattern (see Table 2). A n u m b e r is assigned to each pattern by the operator and anx. pattern may be called up again, if required, at any position on the c o m p o n e n t simply by supplying the pattern identification number. The m e t h o d of defining the different patterns is shown in Table 2. The position of a single hole or a pattern may be defined either with respect to the S T A R T position or a newly-created D A T U M . Since each pattern is usually dimensioned using its own reference point, a facility to define additional datum points has bccn included. Each new datum created by the operator is assigned a n u m b e r and max be defined relative to the S T A R T position or to any previously defined D A T U M point. The position of a new datum (or the reference point of a pattern) is defined by the operator in response to various prompts by the system which implicitly offer him a choice of either a polar or Cartesian method of specifying the relevant dimensions, depending on the dimensioning method used by the draftsman in preparing the part drawing. To define a position (Fig. 3c), using the Cartesian method, the words IN, O U T , LEFT, UP and D O W N (Fig. 5) are used instead of an X, Y, Z system of axes. In using these words, the convention is that the tool performs the positional movements whilst the table remains stationar3,.

270

S. HC,,DUJ;, et al TABLE 2. PATTERN DEFINIrlONS

Pattern

Pitch circle diameter PCD

Parameters

Illustrati~ c example

D=P.C.D. N=no. of points A=angle of radius from 1st point with +ve x-axis Mi=omined point no. i=1.2 ...... 18

1 50~ ~X

3

~ ~ ~ , , , ~ 6

D=8 A =45 ° MI=2 M2=6

R=arc radius N=no. of points A1,A2=angles of radii

ARc

ROW

~TU" ; t " ~3 ' 1" ~ 2

,,om, pom, last point with +ve x-axis respectively Mi=omitted point no. i=1,2 ...... 18

L=vector length N=no. of points A=angle between vector and +ve x-axis Mi=omitted point no. i=1,2 ...... 18

R=7 - X

P•

9

p~

'

--X

AI= 30° A2= I00° M I =3

L=9 N=5 A =20 ° 341=4

L1,L2=vector lengths o f row

GRID

a

ow

respectively N1 ,N2=no. of points on row 1 and row 2 respectively A I ,A2=angles between +ve x-axis and vector 1 and vector 2 respectively Mi=omitted point no. i=1,2 ..... 18

,~ - , 9"~/.~

row 2

"6

"=..p-row1 ' zZ" "q" P

L l =27 L2=20 NI =4 N2 = 3 A =60 ° ,42= 150° MI=2 M3= 10

H a v i n g specified the p a r a m e t e r s of all t h r e e a s p e c t s o f the m a c r o d e f i n i t i o n the o p e r a t o r may then either: (a) m a c h i n e the hole(s) defined in that m a c r o , or (b) p r o c e e d to p r o g r a m m e the next m a c r o a n d m a c h i n e the e n t i r e p r o g r a m m e of holes later, w h e n all the macros have b e e n defined, If the o p e r a t o r selects " m a c r o - b y - m a c r o " m o d e t h e n the tool c h a n g e o p t i m i s a t i o n , to be d e s c r i b e d later, c a n n o t be used o n the first part b u t will be b r o u g h t into action o n s u b s e q u e n t parts. T h i s c o m b i n e s the benefits of s t e p - b y - s t e p p r o v e - o u t w h e n m a k i n g the first part, with high efficiency w h e n m a c h i n i n g the r e m a i n d e r of the batch. 3.3. P r o g r a m m i n g e x a m p l e T h e c o m p o n e n t to be p r o g r a m m e d is s h o w n in Fig. 6. It has t h r e e c i r c u l a r p a t t e r n s a n d

An Operator-Directed System for N.C. Drilling Machines

271

Fro. 5. Positioning conventions.

six holes which do not form any regular pattern. Since the holes or patterns which are g r o u p e d t o g e t h e r in a macro must require the same machining operations and tools, five m a c r o s are required for this c o m p o n e n t . They are: (1) (2) (3) (4) (5)

Pattern 1 Holes 1,2 Holes 3,4,5,6, Hole 7 Patterns 2 and 3

centre-drill centre-drill centre-drill centre-drill centre-drill

(1), (1), (1), (1), (1),

drill drill drill drill drill

(2), (3), (3), (5), (4).

counter-sink counter-sink counter-sink counter-sink counter-bore

(6), (6), (6), (6), (12).

tap (7); ream (9): tap (8): ream (11):

The n u m b e r s within brackets refer to the tools used. For this c o m p o n e n t , it is a s s u m e d that the o p e r a t o r has set the spindle axis over the bottom left-hand corner of the c o m p o n e n t . The p r o g r a m m i n g s e q u e n c e is illustrated for the set-up procedure and the first m a c r o in A p p e n d i x 2.

DrillI0mm and counterbore 25mm x 10deep. 7 holes

r

~ ,l:x:;~ ~

/~--,'N

~'-----..~ ~ -~ 1 \ '1 PCDll& X

~

/ -~- / ~ / ~

DAT2 ~ ' ~

~

,

50.8

.~ -I =

Drill 15 mm ~ / t r u e 15.75 a n d I / recIm 16 mm "IZ'/

79.5 57

54

~

XI/

-t

's.topdotom~ 89 All d i m e n s i o n s

90.5 i i:

in

I J_

i-

so8 j t92

' j

I

mm FIG. 6. Programming example.

Drill and t a p 4 hOles MIO

/ \

~ ~

'

-,

,

reom

Drilland tap M6

Drill and

6 holes

2 holes 8 dio

on

90 PCD

272

S. HfXDUJAet al. 4. OPTIMIZATION PROCEDURES AND CUTTING TECHNOLOGY

4.1. C a l c u l a t i o n o f cutting c o n d i t i o n s

The incorporation of cutting technology in the system could be done by creating data tables to cover all the possibilities of tools in the tool file and materials to be machined. Such tables would be very large indeed and may not be optimal in all conditions. Another alternative would be to consider the optimization of the machining process. Although various formulations of optimization models have been published [2], the solution often requires considerable computing time. making it unsuitable for microprocessor application. The approach adopted herein is similar to that of Wysk et al. [3]. The equations used to calculate the feed and speed for a given workpiece-tool combination are given below, The maximum feedrate S for a drill of diameter D is given by (1)

S = CI'D"

For deep-hole drilling, i.e. when L I D > 3, the above feedrate is reduced by a factor which is given by 1 - 0.059 ( L / D - 3). The feedrate is subject to the following constraints: (i) In the case of boring, in order to achieve the required surface finish S ~< (18 . , 3 r , . R , , ) .

(2)

(ii) The feed force F,, associated with S is given by (3)

F a = C 2 . D d . s I' .

To prevent failure of the drill due to buckling, 'rr2. E ('ft. D;,,,) 4 F,, <~ - - D D . 6 £



(4)

(iii) The torque required to drill at a feedrate S is given by M = C 3 D e S g.

(5)

M ~< Tm. . . .

(6)

From power considerations,

Note that for a machine tool fitted with a D.C. motor, maximum torque is available in the range 0-Nbrea k, where Nbreak • Nmax. In the range NI...... k--N . . . . the torque available decreases from its maximum value (Tm~×) to Tmi.. To avoid failure of the drill due to shear, M ~< =.D~,,.'r 16000. F,

(7)

The cutting speed is calculated using the following tool life relationship.

V =

G/Y (BHN)"

7~,,Sh

(St

An Operator-Directed System lor N.C. Drilling Machines

273

where the tool life can be calculated from one of the following criteria: (a) Minimum cost criterion

T = (l

m

T3 - 1) (x

+

Y)

x

( b ) M a x i m u m production rate criterion 1

T = ( m - 1) r 3 . Alternatively, the user can input a certain value for T. The cutting velocity is subject to the following constraints. (i) V,,m <- V <~ Vm,,~ (it) Nmm<~ N < ~ N , , ~ (iii) If M is approximately equal to T ...... then N ~< N~...... k or if M < T ...... then N ~ (Pratt×) . (2~tM) This is based on the assumption that in the case of a machine tool fitted with a D.C. motor, the power available increases linearly from (I to P ...... with the speed. It reaches P~,~ at Nbrea k. In the range, Nbrea k < N ~< N ....... the power available can be assumed to remain constant at e m a x . As an example, the feeds and speeds for drilling some of the holes in the c o m p o n e n t shown in Fig. 6 are given in Table 3. These values have been calculated using the minimum cost and maximum production rate criteria as well as for a tool life of 45 min. The values of the constant are given in Appendix 1. In the case of the m a x i m u m production rate criterion, the value of V as calculated from equation (8) was greater than V~.... and therefore the speeds had to be reduced to satisfy this constraint. It was observed that the feedrates as calculated from equation (I). remain unchanged. For the other associated processes, i.e. centre-drilling, reaming, tapping, boring, countersinking and spotfacing, the feed and speed as calculated from equations (1) and (8) respectively are modified using factors given in [31. For machines not fitted with an infinitely variable speed drive, the speed range may have to be selected at set-up time. To cater for this, the speeds and feeds for all the tools are calculated at set-up time using data held in the machine, material and tool files. The system compares the calculated speeds with those available in each range. The system then selects a range such that the sum of the deviations in the speeds is a minimum. 4.2. Optimization of tool changing During the programming sequence, the system stores ~he index numbers of the tools required in a tool matrix. The index numbers of the tools required lo perform all the T A B L E [~,. (~OMPtJTED SP| EI)S, \ N D FI II)S

SNO

1. 2. 3. 4.

Tool details Type

Dia. mm

_ Matl.

DRILL DRILL DRILL DRILL,

5.0 7.5 l(I 15.0

H.S.S. tt,S.S, H.S.S. tt.S.S.

Feed (mm/rev)

ft. 106 fl, 161 I).205 ~l,3'dl

Speed (rev, mm) Min. cost

Max.prodrate

T=45(min)

19SO 124qt ~42 r~t!,~

2228 1437 1141 73S

1781) I 111.3(1 844 54(,

274

S. HINDUJA et al.

operations in a macro are stored in one row of the matrix in the order of use. For example, Macro No.

Tool matrix

1 2 3 4

1 1 3 1

3 5 7 3

5 2 6 2

8

6

6

--

When the system is used in the "macro by macro" mode, the tools would be used in the order in which they appear in this array. However, when machining in '~continuous" mode the system will perform all possible operations with one tool before the turret goes to the tool-changing position and indexes for the next tool. In the example shown aboxe, machining would begin with macro 1 using tool 1. The system would then use this tool for the first operation in macros 2 and 4 before indexing for the next tool, i.e. tool 3. 4.3. Optimization of table movements For the hole patterns PCD, A R C and R O W the system machines the holes in ascending order of the point numbers as specified according to the convention in Table 2. For the G R I D pattern, however, the order of matching depends upon the distance between consecutive holes along row 1 and 2 (see for example, column 3, Table 2). If the spacing between holes along row 1 is smaller than that along row 2, the table moves along the path 1,4,8,5,9,12. Otherwise, the order of machining is 1,9,10.2,3,11,12,4. 5. H A R D W A R E

The system is based on a commercially available microcomputer unit employing the Zilog Z-80 8-bit microprocessor with 64 K bytes of semiconductor m e m o r y operating at a clock frequency of 4 M H Z . The system is equipped with a dual mini-diskette backing store with a capacity of 340 Kbytes. Four 8-bit I/O ports are used, two for the interrogation of the operator keyboard, one to drive the o p e r a t o r display and one to interface to the machine tool. The development system is connected to an existing machine too[ controller in "behind the tape reader" fashion using logic on the l/O card to simulate input from paper tape. The various keys on the operator control panel are arranged as an 8 x 8 bit matrix using an 8-bit I/O port to select the row and another 8-bit I/O port to input the column data for that row. T h e . k e y b o a r d is interrogated ten times per second to avoid contact bounce problems and minimise external hardware. The display is a gas plasm~i type giving 12 lines of 40 characters per line. This type of display was selected because of its bright and steady presentation and small depth. The bulk of the hardware consists ol metalwork and power supplies. In a commercial system we would expect the programming system to be integrated into the main controller thus minimising both the bulk and the cost. 6. I N T E R M E D I A T E L A N G U A G E

The operator responses are stored in the form of high-level process-oriented statemerits. These statements, which are hereafter referred to as intermediate language flL) statements, are generated by the Interactive Program G e n e r a t o r (Fig. 1). These statements are stored on a floppy diskette and are interpreted when machining is required. An IL statement is composed of keywords and numerical attributes. The words define the process to be used, and the numerical attributes provide the diinension~tl values needed by that process. The general format of an IL line is in W O R D / W O R D / C n . . . . / W O R D / Z N / C R LF

An Operator-Directed System for NC. Drilling Machines

275

where: W O R D is a vocabulary word: A , B , C , D , are attribute identifiers: n is the attribute content and i is a line identifier. There are eight different types of lines: S E T - U P line: S T A R T , L O A D and T O O L lines; M A C R O line; Sub-Operation line; hole or pattern selection line; pattern definition line: tool list (TLIST) line: datum definition line. Each of these lines has a rigid format which specifies the n u m b e r of words and attributes on the line. This can be observed from the IL statements shown below. T h e y have been generated by the Interactive Program Generator for the c o m p o n e n t shown in Fig. 6. l SETUP/B(GEARBOX)/MM/DI/FLAT/HIGH/H47/J3/ 2 TLIST/1,2.6,7,3,9,8,5,11,4,10,12/ 3 START/D281/E79. 4/H0/ 4 # IDRIL/TAP/THRO/NFLATIEOINCOREIGO/NPECK/J2/K20/L20/ 5 CENTR/B 1/C6/ 6 CSINK/B6IC1/ 7 PLUG iB7/ 8 PATTN/B I/START/DOIEOIHO/ 9 #2DRIL/REAM/THRO/NFLATIEOINCORE/GO/NPECK/J3/K20/ 10 CENTR/B 1/C6 11 CS1NK/B6/C1/ 12 N T R U E / D g / 13 H O L E / S T A R T / D 5 7 / E S O l H O / 14 H O L E / S T A R T / D - 5 0 . 8/E-1OIHO/ 15 # 3 D R I L / T A P / T H R O INFLAT/EO/NCORE/GO/NPECK/J3/K20/L20/ 16 CENTR/B 1/C6/ 17 CSINK/B6/CI/ 18 P L U G / B 8 / 19 H O L E / S T A R T / D 9 0 . 5/E30/ 2(I H O L E / S T A R T / D 7 9 . 5/E81/ 21 H O L E ISTART/DIS/E81I 22 H O L E / S T A R T / D - 5 0 . 8/E35/ 23 # 4 D R I L / R E A M / T H R O / N F L A T / E O I N C O R E / G O / N P E C K / . 1 5 / K 2 0 / 24 CENTR/B 1/C6/ 25 CSINK/B6/CI/ 26 T R U E / B I l i C 2 0 / D 1 0 / 27 H O L E / S T A R T / D 5 4 / E 7 6 . 3/H0/ 28 # 5 D R I L / D R I L L / T H R O iNFLATIEO/NCORE/GO/NPECK/J4/K2(I/ 29 CENTR/B l/C6/ 30 C B O R E / B 12/C2/ 31 PATTN/B2/C 1/D0/E0/H0/ 32 PATTN/B3/C2/D0/E0/H0/ 33 (~:~I I ) A T U M / S T A R T / C 0 / D - 1 9 2 / E - 10/H01 34 (~ 2 D A T U M / B 1/C0/D0/E111. 5/H0/ 35 +:1PCD/B6/Cg0/D30t 3(~ 2 A RC .'B4,,'C'61/D 180/G30/ 37:3PCD/BS/C114/DO/H2/J3/K5/L7/M8/ The above information can be subdivided into four sections: the set-up procedure (line 1-3), the different macros (Macro 1, lines 4-8; M a c r o 2, lines 9-14: Macro 3, lines 15-22: Macro 4, lines 23-27; Macro 5, lines 28-32), definition of the different datums (lines 33-34), and finally the descriptions of the patterns (lines 35-37). Although the information is stored in a condensed form, it can be easily interpreted. For example, macro 3 contains the necessary information to machine the four holes labelled as 3,4,5. and 6 in Fig. 6. These holes have to be t a p p e d through ( T H R O ) the c o m p o n e n t , are not cored ( N C O R E ) and do not require peck drilling ( N P E C K ) . The tool required for

276

S. HINDUIA et al.

drilling is coded as number 3 and the length of the threads is 20 ram. All this information is contained in line 15. The details about the three sub-operations are stored in lines 16 and 17, whereas line 18 contains the details about the main o p e r a t i o n i.e. a plug tap, coded as tool number 8. is to be used for cutting the threads. The position of the holes is defined with reference to the S T A R T position; the values associated with D, E and H. if any, indicate the distance of the hole from the S T A R T position. The information about the different patterns and datums is stored at the end. In this example, the operator has defined two additional datums; the first with reference to S T A R T (line 33) and the second with reference to datum 1 (B1, line 34). The last line contains the description of the third pattern which is of a PCD type, has 8 holes (B8) which are situated on a circle of diameter 114 mm (C114) with the first hole making zero degrees with the X-axis (DO). In this pattern, holes 2,3,5,7 and 8(H2, J3, etc.) are to be omitted. The Interpreter performs two functions. Its first function is to read the IL statements from the program buffer or floppy diskette and interpret them. This section of the program is written in Z80 assembler language. This was done for the sake of efficiency and speed of execution. The second part of the Interpreter generates the N.C. code to drive the machine and is written in Fortran IV. The IL statements are interpreted on a line-by-line basis. For a given line, the interpreter tests the data found between the delimiting characters '/' for a vocabulary word or an attribute. To facilitate the interpretation of a vocabulary word, a hash table is stored in the program: it contains the hash value of each word and also the characters which form it. The interpretation is done by calculating the total of the A S C I I values of the five characters of the IL word. This total is then c o m p a r e d with the values stored in the hash table. If it equals one of the values stored in the hash table, the two words are then c o m p a r e d character by character. This was found to be necessary because there were seven pairs of words with the same value, If the data is an attribute, the A S C I I string of characters are converted into an integer or a floating point number. 7. C O N C L U S I O N S

The system as described herein has several advantages. 1. For a large percentage of components produced in the workshop, it will be possible for the operator to program the parts himself. This should lead to greater job satisfaction for the operator and increased flexibility, M o r e o v e r , urgent or "'oneoff" jobs can be programmed directly at the machine, which will result in better turn-round and lead times. 2. The volume of data required to specify a part p r o g r a m is drastically reduced because the operator responses are stored in condensed high-level statements. It is possible therefore to store several part programs in the m e m o r y of the machine controller. Except for the set-up procedure, the part p r o g r a m s are machine independent, i.e. components can be loaded into different machine tools without the necessity for re-programming. This gives m a n a g e m e n t an added dimension of flexibility in work allocation. 3. The system automatically computes the feedrate and spindle speed to give efficient machining conditions. This feature removes the major objection of m a n a g e m e n t to allowing shop-floor programming of components. 4. The system makes the benefits of N.C. available to small workshops, tool-rooms and maintenance shops where the cost and availability of part p r o g r a m m i n g support services ,aould be otherwise prohibitive. The main disadvantage of the on-line system is the loss in machine utilization while programming the first component of a new batch. H o w e v e r , this may not be as uneconomical as it appears because the interactive procedure suggested herein is a much faster method of obtaining the N.C. code than most off-line systems which require the part program to be typed in, processed and post-processed. It certainly would be uneconomical for very expensive N.C. machines or when complicated c o m p o n e n t s are

An Operator-Directed System for N.C. Drilling Machines programmed

at the

technology, processor, another

machine.

However,

with the

it m a y b e p o s s i b l e t o o v e r c o m e which

would

at t h e s a m e

make

it p o s s i b l e

recent

advances

this disadvantage to

program

one

277 in m i c r o p r o c e s s o r

by' i n c o r p o r a t i n g component

and

a dual machine

time.

Acknowledgements--The authors wish to thank the Science Research Council for the linancial support Ior the work, Dr. G. Barrow and Messrs J. Boon and W. A. Smith for their assistance m the development of this project REFERENCES [1] L. SANrtNE, S. HINDUJA, G. VALE and J. BooN, Int. J. Mach. Tool Des. Res. 20. 111-121 (1980). [2] S. S. RAO and S. K. Hart, J. Engng Ind. llRI, 356-362 (1978). {3] R. A. W'~sK, M. M. BARASH and C. L. MOOIng, The Optimal Planning of Computerized Manufacturing Systems, Report No. 6, 1977, NSF Grant No. APR 7415 256, Purdue University. APPENDIX 1 (.'~ = {}.023: a = 0.95; L = 15 mm: C, = 472: b = 0.55; d = 1.025; E = 200000 N,'mm-': DL = 45 mm: g = (}.81); e = 1.% C~ = 0.2316; P ...... = 3.73 kW; "q = 0.9: h = 0.50: Ca = 8 7 4 ; f = 0.4: N,..... = 66.66 rcv.'scc: Nh,~..,k : 22.22 rev/sec: x = 0.4 £/min: T~ = 1.5 rain:)' = £2: tool material = H.S.S.: workpiece=plain carbon steel: V,..... = ltl m/min: V,..... = 35 m/rain. APPENDIX 2 The programming sequence for the set-up procedure and the first macro is given below. Thc system prompts the operator with the following questions. The replies are underlined. Questions ~ith = require the operator to ke 3 in data, while questions with a ? only require the operator to select one of the o p t i o n s SET-UP Program name =~

GEARBOX

Units ?

MTRIC

IMPER

Material No ='?

1

Workpiece Surface ?

FLAT

STEPS

Height of Travel '?

HIGH

TRAVE

Surface above machinc table = '~

47

Tool clearance height =')

3

Start position ?

POSTN

HERE

Where'?

ANGLE

LEFT

Dimension = ?

291.0

Where')

VECTR

Dimension - ' )

79.4

Special Points

gOAl)

Specify Toot Numbers - ?

1, 2 . 6 , 7 . 3 . 9 . 8 .

Check Data-Is it OK?

YES

MACRO

IN

RIGHT

OUT

TOOL

HERE

HERE

NONE 5. l 1.4. 111. 12

NO

1 (Centre-drill. Drill. Counter-Sink and Tap)

Which Macro'?

MILL

Type of hole reqt, ired'?

DRILL

DRIL TAP

ltolc prolile

BLIND

THRO

PECK or Chit>break

PECK

CHBRK

DRILL "FOOL no ='.'

2

Thread depth =?

2/1

Fypc of tapping -='?

TAPER

Tap tool no =7

7

Check Data-Is it ()K 7

YES

NO

DATUM

PLUG

REAM

NONE

BORE

278

S. HINI)UJA et al.

Which Sub-operations ?

SPOTE

Tool no - ?

1

CENTR

Which Sub-operation

PREDR

PREDR

Tool no ='?

6

Check Data-Is it OK ?

YES

Hole or Pattern '?

HOLE

NO

PATTN

Where ?

POSTN

Old or New pattern ?

OLD

Pattern no = ?

1

No. of holes m pattern = "

~

Pitch circle diameter

9(I

'~

HERE N EW

Offset angle of Is/ hole - '~

30

Omit hole

YES

NO

End of job

YES

NO

Machining Operation ( ' h a n g c

YES

NO

CSINK

CSINK

NONE

NONE