THE MICROPROCESSOR AND COMPUTER-AIDED DESIGN AND MANUFACTURE
by
Suneel Kumar Khurmi, B.Sc.(Eng), A.C.G.I.
September 1982
A thesis submitted for the degree of Doctor of Philosophy of the University of London and for the Diploma of Membership of the Imperial College.
Department of Mechanical Engineering Imperial College of Science and Technology University of London - 2 -
ABSTRACT
The thesis describes the design, implementation and
application of software for a low cost microcomputer based
Computer-Aided Design and Computer-Aided Manufacture
(CAD/CAM) system.
The CAD workstation consists of a Motorola 68B09 8-bit
microcomputer, a floppy disc, a Hewlett-Packard graphics
^ VDU, a printer and a plotter. The Numerical Control system
consists of a hierarchical multi-microcomputer control
system on a retrofitted Student Colchester lathe and a
Bridgeport milling machine. t
The CAD and NC part-programming software consists of
several packages which assist the operator through the
conceptual realms of product design and manufacture. They
assist in the storage of the geometrical and technological
information associated with the product, geometrical
t editing, draughting, design analysis, cutter path
derivation, NC simulation and part program generation.
These packages are executed sequentially to produce
2/2^ dimensional NC part programs for a variety of machine
tools, for example the Colchester and Bridgeport machines.
Most of the packages are modular and have been developed in
* , the high level language Pascal to maintain system
modularity, flexibility and expandability. - 3 -
ABSTRACT
The thesis is subdivided into four main sections. The
first section introduces the reader to microprocessors, CAD,
CAM and the implications associated with CAD/CAM
integration. The second section describes the importance of
the selection and usage of microcomputer languages and
operating systems in conjunction with CAD/CAM hardware. The
selection is supplemented by the proposals of an ideal CAD
workstation and a CNC system. A detailed description of the
software packages and their capability is presented in the
third section with two detailed examples illustrating the
use of the system. The first illustrates a turned component
and the second a pocket milled component. Finally, in the
fourth section, a comparison between the CAD/CAM system
described and those commercially available is presented. The
advantages and limitations of the current system are
discussed with particular reference to development into a
commercial system.
ft
ft ACKNOWLEDGEMENTS
The author wishes to acknowledge the guidance and support of his supervisor Dr. C.B.Besant.
He also wishes to acknowledge the assistance and guidance of his fellow collegues. In particular Dr. H.A.Pak for his help in the writing of some of the early software used in this work, S.Ahmad, O.Alankus, D.Dalzell,
L.Daneshmend, D.Etela, T.Jin, G.Kartsounis, C.Lui, F.Maali,
S.Premi and N.Zarimpas for their useful criticisms at various stages of the project.
This project was sponsored by Science and Engineering
Research Council.
Finally, thanks are also due to his parents and other members of the family for their moral and financial support. - 5 - NOTATION
A/D Analogue to digital ft Baud Baud rate (bits/second)
Bit One binary digit
Bus Media for interconnection betwee
Byte Eight bits ft CAD Computer-aided design
CAM Computer-aided manufacture
CLDATA Cutter location data 41 CMC Computer numerical control
CPDR Cutter path derivate
CPU Central processor unit ft CR Carriage return
- CRT Cathode ray tube
DB Database
ft D/A Digital to analogue DBMS Database management system
DOS Disc operating system
DNC Direct numerical control
ECL Emitter coupled logic
EPROM Erasable programmable read only i
FMS Flexible manufacturing system
ft IC Integrated circuit
IEEE Institute of Electrical and Elec
I/O Input/Output
3 ft K Kilo (10 ) LSI Large scale integration
M Mega (10**)
MCU Machine control unit NOTATION
Million instructions per second
Machine tool
Machine tool interpreter languag
Numerical control -9
Nano seconds (10 sec)
Original equipment manufacturer
Printed circuit board
Part program generate package
Random access memory
Read only memory
Transistor-transistor logic
Voltage controlled oscillator
Visual display unit
Very large scale integration micro (10 - 7 -
CONTENTS ABSTRACT 1 a ACKNOWLEDGEMENTS 3 NOTATION 4
Chapter 1 : INTRODUCTION 11 m 1.1 Introduction to the integrated circuit and the microcomputer. 11 1.2 Impact of the IC in the manufacturing industry. 12 1.3 Evolution of Computer-Aided Design (CAD) and 21 Computer-Aided Manufacture (CAM). Chapter 2 : COMPUTER-AIDED DESIGN (CAD) 28 2.1 Conventional manual design techniques. 29 * 2.2 Computers in mechanical design. 32 2.3 Advantages of CAD. 38 2.4 Social implications of CAD. 40 » Chapter 3 : COMPUTER-AIDED MANUFACTURE (CAM) 41 3.1 Computer-Aided Manufacture. 41 3.2 Numerical Control in CAM. 46 a 3.3 NC Computer management. 49 3.4 Computer Numerical Control (CNC). 50 3.5 Direct Numerical Control (DNC). 53 3.6 Microcomputers as an aid in part programming. 54 * 3.7 Use of microprocessors in CAM and NC hardware. 56 Chapter 4 : CAD/CAM INTEGRATION 60 ft 4.1 CAD-CAM data link. 61 4.2 Hardware and software savings in integrated microprocessor 66 based CAD/CAM systems. 4.3 Implications of CAD/CAM integration. 69 CONTENTS
Chapter 5 : CHOICE AND USE OF MICROCOMPUTER LANGUAGE S70 5.1 Selection of software development tools. 71 5.2 Influencing factors in choosing low and high level microcomputer 73 languages for CAD/CAM applications. 5.3 Structure of the high level language PASCAL. 76 5.4 The precedence of a microcomputer's operating system. 81 Chapter 6 : PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD I CAM WORKSTATION 82 6.1 Proposal for a CAD/CAM workstation. .82 6.2 Proposal for a NC system. 96 6.3 Description of the current M6809 based CAD/CAM system. 106 6.3.1 The CAD/CAM workstation. 106 6.3.2 The operating system. 113 6.3.3 The NC turning system. 115 6.3.4 The NC milling system. 120 Chapter 7 : DESCRIPTION OF THE WORKSTATION'S SOFTWARE 123 7.1 Software hierarchy. 123 7.2 The CREATE package. 128 7.3 The EDIT package. • 146 7.4 The DISPLAY package. 149 7.5 The PLOTTER package. 172 7.6 The DESIGN Analysis package. 175 7.7 The Turning Cutter Path Derivate TCPDR package. 180 7.8 The Milling Cutter Path Derivate MCPDR package. ' 194 7.9 The Part Program Generate PPGP package. 216 7.10 Machine Tool Interpreter Language (MTIL) and CAM. 217 - 9 - CONTENTS
Chapter 8 : THE USE OF THE SYSTEM TO CAD/CAM 220 APPLICATIONS 8.1 An example of a turned component. 220 8.2 An example of a milled component. 241 Chapter 9 : EVALUATION AND ECONOMIC ASPECTS OF THE 249 CAD/CAM SYSTEM 9.1 Evaluation of the geometrical repertoire of the current system. 249 9.2 Arithmetic precision of the current system. 255 9.3 Data processing for the current system. 259 9.4 Comparison of the machine tool control codes output by the 261 current system with those of APT and COMPACT. 9.5 Analysis of the MCPDR package with reference to the GNC, 262 Polysurf and Surfset packages. 9.6 Diagnostics and program debugging. 264 9.7 Economic aspects associated with NC and the current system. 266 Chapter 10 : CONCLUSIONS, DISCUSSION AND SUGGESTIONS 271 FOR FUTURE WORK 10.1 Conclusions and discussion. 271 10.2 Suggestions for future work. 274 REFERENCES 280
4 •
4 CONTENTS
APPENDICES A : CREATE package command repertoire. B : Primitives' database organisation. C : CREATE & EDIT packages' error messages. D : DISPLAY package command repertoire. E : PLOTTER package command repertoire. F : Varignon's theorem. G : Moment of inertia of composite bodies. H : Determination of the centroid of composite bodies. I : Description of the TCLDATA and MCLDATA files. J : TCPDR and MCPDR packages' command repertoire. K : PPGP package's command repertoire. L : Paper presented at CAD82 conference. M : Paper presented at MICAD82 conference. CHAPTER 1 INTRODUCTION
1.1 Introduction to the integrated circuit and the
microcomputer
The ever diminishing size and cost of microelectronic
devices has brought about two technological achievements.
Firstly, in the integration of two technologies - Computer-
Aided Design and Computer-Aided Manufacture into unified
CAD/CAM systems, whereby a design is developed and the
manufacturing process controlled from start to finish with a
single system. And secondly, in the feasibility of low cost
CAD/CAM systems on an economic scale which can be related to
small sized manufacturing industries.
Though still in their infancy the 1980s are well on
course to become the decade of the silicon chip, Fig. 1.1.
During the next few years microelectronics will develop
rapidly from being a source of intense popular interest to
emerge as a pervasive force with a direct impact on an
everwidening area of our daily lives. One of the
controversial aspects of the new technology is the effect
that it will have on employment. It is clear that the
displacement of labour will involve not only the man on the
shop floor but line management as well. Furthermore,
computers can probably come out with much better programs
for optimum cash flow strategies, payroll and so on, and therefore some middle-line management will be obviated as well. - 12 -
10 Components/Chip 1M / RAM O / / / / 10 256K q ' RAM . '
64K rQ 32 Bit 105 H RAM ji-processor 16K RAM 16 Bit ji-processor 104 H
8 Bit ji-processor
10 h
Calculator Chip
10 2 J
io h
l
-« Subcircuit Circuit System o.i 1960 '65 '70 75 80 '85
FIG. 1.1 PROGRESS IN MICROELECTRONIC INTEGRATION - 13 -
INTRODUCTION
The potential applications of the new technology are m almost limitless, from the washing machine to the fully automated shop floor to the most sophisticated space
research developments, such as the NASA space shuttle. It
will permit functions which have previously been performed
* mechanically or by laborious techniques to be executed more
quickly, efficiently, reliably and most importantly at a
lower cost. As an example, compared with the world's first
• large computer, ENIAC, microprocessors in the late 1970s
were a thousand times more reliable, consumed a millionth
the amount of energy, twenty times faster, had a larger
memory, occupied only one thirty-thousandth the volume, and
perhaps most importantly, cost only one ten-thousandth the
price of ENIAC. Hardware and software have also advanced to
such ah extent that it is difficult to find an application
where manual methods are more cost-effective than those of
computer systems providing that the user's volume of work is
sufficient to keep the system busy. The main factors
• retarding the introduction of microelectronics in industry
are the time, cost and social implications associated with
the replacement of traditional skilled labour forces such as
^ machinists, draughtsmen, secretaries, quality control
inspectors and stock controllers with a new generation of
skilled computer system programmers, analysts and operators
as well as with the introduction of computer numerical
control machine tools. The new technology also makes it
feasible to produce new products which previously belonged
to the fantasy world of science fiction. - 14 - i
INTRODUCTION
These marvels have only been made possible with the
introduction of microelectronics and in particular microcomputers. A microcomputer can be defined as a computer whose Central Processing Unit (CPU) is a microprocessor .
Furthermore, a microprocessor is defined as a digital
integrated circuit contained on one "chip" of semiconductor material that can perform a task by following a series of
instructions provided by a programmer. Those instructions that a processor must perform to accomplish a task are called a program and the processor executes a program by
executing the instructions sequentially as they appear in the program listing. The great power of a microprocessor
lies in its programmability and the number of instructions
it can process in a given unit of time. To change the
function of a microprocessor only the program must be changed.
The miniaturisation of integrated circuits (IC) is a marvel of precision engineering. The latest generation of memory chips pack the equivalent of more than 100,000 transistors onto a sliver of silicon smaller than the size of the little fingernail.
Miniaturisation is important for three reasons. The first is speed. Modern computers require components which operate in a fraction of a second. The shorter the distance which electrons have to travel around a chip, the faster they reach their destination. For example, data stored in a modern memory chip can be retrieved in as little as 120 billionths of a second. Second, compactness allows INTRODUCTION
integrated circuits to be used conveniently in applications
for which valves and transistors would be far too m cumbersome. Hence they consume less power, do not need
severe environmental control and utilise very little floor
space. Finally, a reduction in size saves on the cost of raw
* materials.
The first commercial microprocessor was produced by an
+ American electronics company, Intel Corporation, in 1971 and
was called the Intel 4004. It could only accept 4-bit words,
4 binary digits, in a single processing operation and was
classified as a 4-bit microprocessor. Faster, more compact « and more powerful 8-bit, 12-bit and 16-bit commercial
devices followed, with the latest generation handling 32-bit
instructions, Fig. 1.2. These 32-bit technological marvels
are already on the horizon. They are based on a single
silicon chip or a set of silicon chips which could rival the
speed and power of a small mainframe. At present the most
* powerful microprocessor is undoubtedly the Intel iAPX 432, a
32-bit device [1]. It is made up of just three very large
scale integrated circuits (VLSICS) containing over 250,000
electronic devices and offers the smaller size and lower
cost of a microprocessor, along with many of the advanced
computing features of a mainframe. The "micromainframe" as
Intel calls it, is aimed at applications that are mainframe * in scale, but require the size, cost and dependability
inherent in the microprocessor technology. HARDWARE APPLICATION PP/MC ARCWTECTURAL AREAS' LEVEL' LESS MORE THAN MINI THAN MINI MINI ) VA X + SEMICONDUCTOR MINIMUM NO OF IC PKGS REQ'D TECHNOLOGY' FOR END LOGI C SPECIA L PDP- 8 POINTE R NOV A PDPH ( 360/370 , SYSTEM/3 6 CALCULATO R PDPH(- ) PRODUCT MOS BIPOLAR MC14500 3 CMOS TT] PPS-4/1 X 1 PMOS fc 1872 X 1 PMOS I TMS 1000 X 1 PMOS, CMOS F, S2000 X 1 NMOS Ua COP400 X 1 PMOS, NMOS, CMOS S: MSM5840 X 1 CMOS = yCOM-42 X 1 PMOS IS MPD75XX X 1 PMOS, CMOS Z MN1400 X 1 PMOS, NMOS, CMOS ;0.f PIC 1650 X 1 NMOS j >j •' 8048 X 1 NMOS, CMOS 5 8051 X 1 NMOS O 3870 X 1 NMOS NMOS 2; F8 X 2 or more ! i mCOM-87 X XX 1 NMOS f I Z8 X X 1 NMOS i i 2650 X 2 NMOS I i 8060 X 2 NMOS 8070 X 1 NMOS • ! 1802/04 X 3/1 CMOS 8080/85 X 5/2 NMOS, CMOS I Z80 X 3 NMOS O I NSC800 X 2 or more CMOS -! 6800/02 X 5/2 NMOS ' 6805 X 1 NMOS, CMOS v- • 6801 X 1 NMOS cq I 6809 X 3 or more NMOS 80 W 6500/1 X 1 NMOS 650X X 2 or more NMOS, CMOS '-12- IM6100 1 CMOS I ; 9940/95 . 00 X 1 or more KlMOS ® MicroNova 5 NMOS •• ^^ 9900 <8> X 3 or more NMOS j . 8086/88 X X 5 or more NMOS I 8089 X 5 or more NMOS ! . Z8000 X X 5 or more NMOS ! 68000 X X 5 or more NMOS • NS16000 X 6 or more NMOS Z jAPX 432 X NA3 NMOS • 8X300 X 3 Schottky TTL ' cc 9440/45 5 or more l2L -2 9400 XXX®X XX 6 or more Schottky TTL :0 2900 XX XX 6 or more Schottky TTL Schottky TTL 'S 2900C XX X 6 or more 6 or more ECL • L 10800 X X ^ - F10022X X 6 or more ECL I 1 2920 X 1 NMOS (ANALOG^ 2811 X 1 or more NMOS fVMOS) 7720 X 1 or more NMOS
NOTES 1. The symbol(X)signi(ies an exact correspondence between thenP'nCand the specifiea minicomputer Otherwise, the correspondence is only rough 2. All technologies in which the >JP'MCIS available are noted. 3. NA = Information not available 4. The division into application areas is only approximate. because some 1-chip devices tall outside the primary 1-chip realm.
fig. 1.2 technological advancement in microprocessors FIG. 1.3 AN EXAMPLE OF A HIERARCHICAL CONTROL SYSTEM - 18 - i
INTRODUCTION
With several microprocessors and microcomputer systems being commercially available it is very important that a product survey be performed so that the correct microcomputer hardware and software combination be utilised for a particular application. For example, in a distributed hierarchical micro based CAD/CAM system, such as the one illustrated in Fig. 1.3, it is very important that cheaper
8-bit microprocessors be used for the dedicated control of peripherals whilst leaving the complex control and mathematical tasks to be performed by the more powerful microprocessors.
1.2 Impact of the IC in the manufacturing industry
The impact of integrated circuits will be felt in three main ways. First, some entirely new or considerably modified products are made possible only by microelectronics. Second, the new technology will have a considerable influence on the provision of services and thirdly, microelectronics will be used in the manufacture of traditional goods. The latter being the most widely affecting industry with the introduction of CAD/CAM in the form of Direct Numerical
Control (DNC) machine tools aimed at increasing productivity with lower manufacturing costs.
All manufacturing processes include a number of basic tasks which can be undertaken by microelectronics in conjunction with other devices. Among the most important of these tasks we might include: - 19 - i
INTRODUCTION
(1) the controlled movement of materials, components
and products;
(2) the control of process variables such as
temperature, pressure and humidity;
(3) the shaping, cutting, mixing and moulding of
mater ials;
(4) the assembly of components and products;
(5) the quality control of the products at all stages
of manufacture;
(6) the organisation of the manufacturing process,
including design, stock control, dispatch,
invoicing and production planning.
The essential feature of microelectronics is that it performs tasks of logic - a given input of information is transformed, in a predetermined way, into an output. As
illustrated in section 1.3, from the time the customer places an order until it is dispatched the entire process can be computer-assisted. In some areas, such as machining operations, the process can be totally computer controlled.
Alongside CAD/CAM the othef main field of current interest is that of robotics. Although robotics is not the subject of this thesis a few words must be said concerning - 20 - i
INTRODUCTION the use of microelectronics in robotics and its role in the
fully automated factory.
The industrial robot has recently been given a considerable boost by the ability of microelectronics to provide control and memory devices of unprecedented capacity and flexibility. In the past, automation has been applied to
industrial processes in a variety of ways, although this has usually been achieved through the saving of labour by
technology designed to perform a job in a manner not necessarily similar to the one used by humans. By contrast, a robotic approach to automation follows human performance much more closely. With a potentially large market for
standard machines as well as numerical control machine
tools, ' the design and development costs can be spread. The versatility of the robot encourages robot automation to be
applied to smaller batch production and short-life product design. The integration of a robot with a single or more machine tools in a fully automated factory are often called
Flexible Manufacturing Systems (FMS) cell and can lead to
lower manufacturing costs and higher productivity.
Furthermore, there will be reduced hardware costs with the sharing of resources such as the hydraulics and supervisory
computer processing units. - 21 - i
INTRODUCTION
1.3 Evolution of Computer-Aided Design (CAD) and Computer-
Aided Manufacture (CAM)
Evolution of CAD/CAM technology initiated from developments in the mid and late 1950s in the field of computer graphics, and will ultimately result in the integration of many diverse technical areas that have developed separately for the past thirty years, such as design, production control, stock control, draughting and machining.
Computer graphics originated in 1950 at Massachuttes
Institute of Technology when the first computer-driven display, linked to Whirlwind 1 computer, was used to generate simple pictures on a cathode-ray tube (CRT), similar to those in current existence in domestic television sets. During the mid 50s little progress was made in the field of computer graphics mainly because hardware costs were too high for a serious application together with non- existent utility and application software and very poor system reliability. The only application of CRT's at the time were in the display of military command and control problems.
During the late 50s, a number of computer programs were being developed to define sketches and to produce output in the form of refined plots. A program which was to gain a lot of attention was developed at MITs Lincoln lab and was named
APT, Automaticaly Programmed Tooling [2]. APT became a universally known standard numerical control (NC) - 22 - i
INTRODUCTION programming language because of its importance in the machining of three-dimensional curved components (e.g. sphere, cylinder, paraboloid and lofted surfaces) and its influence on many other programs. APT III (APT I was never completed, APT II was developed at MIT's Lincoln lab) was developed for use in the US aerospace industry by the
Illinois Institute of Technology Research Institute (IITRI) under research contract from the US ministry of defence which recognised the importance of numerical control manufacturing as a means of producing complex components and reducing the the lead time needed to place new types of aircraft into production.
The APT language is a facility for describing the geometry of a component and the sequence of operations to be performed by a numerically controlled machine, whereas the
APT computer program is implemented on a general-purpose digital computer, the computer can accept a set of statements in the APT language, perform certain required computations and produce a set of numerical commands for successive use in a numerically controlled machine.
APT is a composite language with a vocabulary of over
300 'English-like' words and provides the same flexibility of expression to part programmers that standard programming languages provide to computer programmers. With APT the part programmer can define tool shapes, tolerances, geometric definitions, tool motions and auxiliary machine commands.
The part program generated comprises of two types of statements: - 23 - i
INTRODUCTION
• definition statements, which define the symbols used,
• motion statements, which define the required tool
movements.
The current version of APT, written in Fortran, occupies a core store of 50-60K computer words in addition to additional backup storage. The program is sub-sectioned and runs under the control of a modified Fortran monitor,
Fig. 1.4. The part program, usually in the form of punched cards or tape, is translated and compiled by a Translator.
It reduces the definitions of the various geometric shapes to a standardised form, and also writes the part program and error -statements.. The part program statements are then further pre-processed whereby the arithmetical functions are evaluated and the cutter location data (CLDATA) computed.
Earlier versions of APT used a definition of a cutter location tape (CLTAPE). The CLDATA is then modified if rotation or translation of the axes is required and a print out of the updated CLDATA produced. The post-processor then converts the CLDATA into a form compatible with a particular machine tool.
Since the preparation of software and programs for three-dimensional components with up to five axes of control involves a considerable financial and manpower effort, most other countries have not attempted to repeat this effort but have joined in collaboration wth IITRI to evolve their own versions. Consequently, there are several custom built - 24 -
fig. 1.4 the apt processing system - 25 - i
INTRODUCTION versions NELPT in the UK, EXAPT and AUTOPIT in Germany,
ADAPT, AUTOSPOT, FMILL, APTLFT, PMT2 and FANUC1s FAPT, to name a few.
Also during the mid to late 50s, many people gave thought to the use of existing CRT's, keyboards, typewriters, and computers to facilitate the more automated use of graphic or visual techniques. This lead to the invention of the "light pen" again at MIT's Lincoln lab when a military project SAGE, the Semi-Automated Ground
Environment system was being developed on the Whirlwind computer. The light pen introduced a flexible and powerful degree of interaction between the computer and the operator, which is even used today in interactive CAD/CAM systems.
The next major event was in 1962 with the publication of a thesis by Ivan Sutherland entitled "A Man-Machine
Graphical Communication System" using a system called
Sketchpad again at MIT's Lincoln lab on the TX-2 computer.
Sketchpad was the first presentation of interactive graphics to the general public. For this reason and others, many people believe that Sutherland is the human catalyst that started practical interactive graphics on its way.
Since then a great deal of effort has been devoted in industrial and research establishments to develop low cost
CAD/CAM systems for use in manufacturing firms whose financial budgets are severely limited. CAD/CAM systems became more appealing as minicomputers were introduced in the early 1970s. The advent of the minicomputer saw a - 26 -
INTRODUCTION
solution to the cost problem of CAD/CAM systems with
minicomputers costing only a fraction of mainframe
computers. Also, with the introduction of low cost, compact
microelectronic technology the part programmers dream of an
idealised CAD/CAM system, Fig. 1.5, whereby the entire
design to production cycle information can be stored in a
single computer database is no longer science fiction but
science fact. This ideal database structure is the one
adopted by the author and its novelties, structure and
implementation are discussed in Chapter 7.
•
•
4 - 27 -
CAM CAD
Automated Drafting
* FIG. 1.5 AN INTEGRATED COMPUTER-AIDED ENGINEERING (CAE) SYSTEM - 28 -
CHAPTER 2 COMPUTER-AIDED DESIGN (CAD)
* Design is a complex and iterative process which
requires a high degree of human involvement in order to
initiate ideas and to reduce design conception to
g development times. It is one of the three major activities
within a manufacturing industry. The other two being
marketing (sales) and production. As we have seen from
Chapter 1, computers and especially microcomputers are now
being extensively used in almost all departments in
industry. Initially they were used mainly for design but
recently they are used in a wide array of areas such as
draughting, accounting, inventory control, operational
research, process engineering and production management.
• There is often a misconception that the main activity
within industry is the manufacture of a product. The main
activity in industry is, however, the field of data
processing. Design is the creation and processing of
technical information which then becomes the main stream of
the firm's information activity. This is a very important
point in that it brings out the interdependence between ft design and the rest of the firm's activities. Thus, CAD will
undoubtedly have an important part in revolutionising the
firm, but no more importantly than the computer aids in
0 other activities such as management, marketing and
production. - 29 -
COMPUTER-AIDED DESIGN (CAD)
With the introduction of integrated microelectronics and special purpose dedicated control chips, such as the AMD
9511, AMD 9511A and AMD 9512 floating-point arithmetic chips
[3], industrial transformation rates will not become faster but more importantly lower in cost. The latter fact now makes it feasible for small manufacturing industries to invest in computer technology, despite current economic cash-flow problems.
In order to investigate how computers and microelectronics can be of benefit in the design process one must first look at the conventional manual techniques and then analyse them to see which processes can be either computer-assisted, entirely computer controlled or eliminated.
2.1 Conventional Manual Design Techniques
The initial stage of the design cycle, Fig. 2.1, is the creation of a conceptual design. Sometimes it is the creation of information, but much more often it is the process of selection, whereby previous designs are consulted and amended at the sake of design time, cost and reinvention. Whether it is creation or selection the design process is usually performed by very highly skilled and highly qualified design engineers. They not only design the highest quality that the design can attain, but also the greatest profitability that the firm can achieve. - 30 -
fig. 2.1 flow diagram of an iterative design process - 31 -
COMPUTER-AIDED DESIGN (CAD)
• The second phase of the iterative design is the
expansion of information. Here design analysis and detail
designing including tolerancing, machinabilty and careful
^ material selection is achieved with the aid of several
resources of information from a variety of data banks. This
phase is usually the most important, time consuming and
tedious of the phases. The success of this stage depends ft largely on the availability and compatability of the sources
of information. For example, in the selection of a stepper
motor one has to analyse tens of manufacturer's catalogues ft only to find that one does not exist which exactly meets the
cost, performance, relability or size requirements. This
often leads to a lesser optimal design and often at a higher
* cost.
The third stage is the dissemination of information
whereby detailed assembly and sub-assembly drawings are
produced so that all the relevant information can be
conveyed from the draughtsman to the machinist.
* The next stage is the development stage. Here the
product is machined -and tested for performance and
reliability. Often small modifications need to be performed
• and this involves changing the drawings and recalculating
some design and geometric parameters.
Thi s i te rative design process is not only time
consuming but is very wasteful of manpower and material COMPUTER-AIDED DESIGN (CAD)
resources. These severe implications were realised in the early 1960s and computers were then employed in some of the design process tasks as will be described in the next section.
2.2 Computers in Mechanical Design
Four main phases of design activiy have been identified in Section 2.1. They are:
• Conceptual design, which initiates with the product
specification and involves innovation and decision
making processes leading to the evolution of a product
outline.
• Expansion of information, whereby a detailed design
analysis is performed on the individual components of a
product.
• Dissemination of information, whereby detailed
drawings of product assemblies and sub-assemblies are
produced for manufacture.
• Development and design documentation stage, whereby
a product is tested and a design process records
produced for the customer and for the firm's future
references. - 33 -
COMPUTER-AIDED DESIGN (CAD)
All of the above mentioned phases can be computer-
0 assisted, though the level of human-computer interaction
varies from phase to phase. This section discusses some of
the major uses of computers in the design process.
ft The main area of employment of the computer in design
is in the interactive application division, in which a form
of dialogue is conducted between the designer or operator
* and the computer. The complexity and language of the
dialogue is determined by the CAD command repertoire. The
command repertoire being a range of characters or codes
% which perform a predetermined function. For example, the
command
SCA 10
meaning set the scale to one tenth full size. Careful design
of the repertoire reduces the number of commands necessary
to design a part, and is particularly important for
interactive graphical programs.
Besides command languages there is one other language
used in CAD applications. This being the programming
language in which the application program is written. In
microcomputer based CAD/CAM systems it is very important to
choose the correct language for a particular application.
Chapter 5 discusses in detail some of the factors which must
be considered in order to make the correct choice of the
CAD/CAM programming languages. - 34 -
COMPUTER-AIDED DESIGN (CAD)
The development of CAD software relies very heavily on
the existence of good operating systems mainly due to the
necessity of interaction in CAD applications. In some
engineering disciplines and most certainly in mechanical
engineering interaction is a necessarity for several
reasons. Firstly, since design is an interactive process, in
which the design is repeatedly optimised until a
satisfactory result is achieved, it is natural for the
computer to perform it. Secondly, the computer can either
detect errors in the data itself, or by graphically
displaying several views of the design in a three-
dimensional form such as isometric and perspective the
errors will be perceived and corrected by the designer
before 'the work is submitted for manufacture.
Despite the need for good operating systems many mini
and microcomputer manufacturers do not provide an operating
system which is ideally geared towards CAD/CAM. Hence, several firms either laboriously develop the CAD/CAM system
routines themselves or reluctantly purchase computer systems and software which do not exactly meet their CAD/CAM
requirements. This then leads to undesirable features such as entering data in the format dictated by the software and not by the operator's logical way of thinking.
Another major application of computers in design is in the field of computer graphics. This field can be considered as the 'corner stone' of design visualisation, since almost - 35 -
COMPUTER-AIDED DESIGN (CAD)
all engineering industries rely very heavily on drawings
both for communication and as a means of information
storage. The cost of preparing, modifying and storing
drawings is high and is increasing rapidly. Computer
graphics has helped some branches of industry to cut these
costs significantly. Drawings input in the form of digitisers, light pens, tablets and keyboards and outputs
from plotters, printers, visual display units and microfilm devices are being used today heavily in place of manual drafting, Fig. 2.2.
Besides the hardware aids to engineering design, software plays a very important role in the design process, as mentioned earlier in this section. Some of the software aids are hereby discussed mainly in the order that they would be encountered by a designer.
During the initial design phase, the formulation of a conceptual design, it is often the case that a previous design is consulted and modified. This usualy involves firstly searching through stacks of drawings and manuscript papers until all the relevant documents have been collaborated. As one can appreciate this is a long, costly and laborious task lasting up to several months by several people. Modern CAD methods greatly reduce the storage costs and also more importantly reduce the design process time, the time taken to evaluate, draught, develop and manufacture a product. Previous designs can either be recalled from in- house or transmitted over the telephone telecommunication INPUT DEVICES OUTPUT DEVICES
fig. 2.2 some common input and output devices - 37 -
COMPUTER-AIDED DESIGN (CAD) network from another branch, even overseas. This greatly reduces waiting time and the costs associated with it.
Having recalled previous designs, via the computer, they are often modified and new components added. Creation and modification of new components are greatly aided with a specially formulated 'edit' package whereby entire components as well as their geometrical and technological attributes can be easily amended.
One of the greatest development aids is by allowing the user to define macros (i.e. sequences of commands) at run time. This has been found invaluable in NC machine tool controlling languages and in operating systems command languages. One difficulty associated with macros is that their definition is not just a series of independent commands but is a description in which internal structure has to be represented. Hence, the syntax of a 'define macro' command has to be distinct from that of other commands.
Despite the importance of macros they are not implemented in the current version of the CAD software packages. This is mainly due to the current development system's operating system and Pascal compiler's limitations.
This would most cetainly be implemented in the proposed
CAD/CAM system, discussed in Chapter 6. However, a simpler form of macros in the form of symbols is implemented. They are discussed in Section 7.2. - 38 -
COMPUTER-AIDED DESIGN (CAD)
Once the conceptual design has been formulated several other packages including design analysis, computer finite element, simulation, rotation, sectioning and hidden line removal can be accessed to aid in the analysis and synthesis of a design.
2.3 Advantages of CAD
There are several advantages that can be gained with the implementation of CAD systems. They can be summarised as follows:
increased productivity - this is by far the most
important reason. According to Tektronix [4]
productivity gains can be grouped into four main
categories: hardware, software, type of drawings and
the user. Thus the actual gains in productivity will
depend not only on the CAD system, but also on how and
by whom it is used.
cheaper design - it is the author's opinion that this
is the ultimate goal in the design program. In the
present world economic recessions more and more
customers are looking for manufacturers who can supply
them with parts and products at the best competitive
prices.
reduced design times - with the aid of input devices - 39 -
COMPUTER-AIDED DESIGN (CAD) such as tablets, digitisers and menu tables in conjunction with the use of symbols and macros the geometry can be easily and quickly entered into the computer. Fast and effective picture manipulation and visualisation algorithms will assist in the verification of the design.
reduced development times - computer-assisted testing and quality control will lead to reduced development times.
better design optimisation - with the aid of design analysis packages unnecessary overdesigning can be eliminated.
much more product reliability - with computer- assisted material selection geometry optimisation and quality control inspection the product should be much more reliable.
reduced lead time - the time elapsed between the engineering design and the start of production.
ease of product modification - previously stored products can be easily recalled, analysed and modified.
This results in a large time saving by avoiding searching through stacks and stacks of drawings. - 40 -
COMPUTER-AIDED DESIGN (CAD)
2.-4 Some social implications of CAD
The author believes that not only will draughtsmen as we now know them be gradually phased out, but some of the most satisfying and skilled work will be eliminated by the resultant CAD and NC equipment. However, it is possible to minimise these redundancies by using computerised equipment in a symbolic way, to link it to the skills of a human being. For example, consider the effect on a skilled machinist. By using a dynamic visual display of the entire working area of the machine tool including the workpiece, the fixturing, the cutting tool and its position, the skilled craftsman can directly input the desired tool motions to 'machine' the workpiece in the display. By providing a system whereby the information regarding a cut can be specified in a manner closely resembling the conceptual process of the skilled machinist no knowledge of part programming languages would be required. Thus it would be necessary to maintain and enhance the skill and ability of a range of people who would work in parallel with the system.
Furthermore, as far as the operator is concerned, a great deal of drudgery will be removed, particularly at the expansion of information and information and representation stages. This will hopefully lead to 'non-designers' such as craftsmen, technicians and even managers to come forward and design their own products, thus leaving the designers to concentrate on the more sophisticated and demanding design proj ects. - 41 -
CHAPTER 3
COMPUTER-AIDED MANUFACTURE (CAM)
3.1 Computer-Aided Manufacture
Computer-aided manufacture, as the term indicates, is a ft process whereby the complexity of the manufacturing process
is greatly reduced with the aid of computers and dedicated
microelectronics. Thus by introducing a form of automation,
m whether it be partial ot total, machine set-up, machining
and material handling times can be greatly reduced.
The introduction of microcomputers at the heart of the
machine tools' control system also allows one to design and
manufacture very complex and intricate parts whose machining
operations may be very complicated and demanding the highest
of tolerances, such as those in the aerospace industry. For
machining parts which do not require phenominal tolerances,
such as those in common engineering practice where
tolerances of 0.001mm or more are acceptable, less
sophisticated machine tools and control systems can be
employed. Which ever system is employed the essential
structure of the CAM hardware should not differ appreciably.
This thereby greatly reduces hardware and software
development costs leading to a cheaper machine tool. By
careful design and organisation of the hardware and software
in terms of modularity, flexibility and expandability the
CAM system can be effectively and economically operated for
the manufacture of a certain.part. If, as is often the case,
an extra axis is desired, say for the internal threading of - 42 -
COMPUTER-AIDED MANUFACTURE (CAM) a bore on a milled part, then a supplementary turret can be attached to the machine tool. This obviously saves time in transferring the workpiece from one machine to another. This type of machine tool is currently being designed and built as a research project by O.Alankus [5], at Imperial College upon which the proposed CAD and CAM hardware and software will be implemented.
Pressman and Williams [6] postulate that ideally a CAM system should have three attributes applicable to each phase of the manufacturing process. They are: that however complex the individual process tasks may be they should require a minimum amount of human intervention. Secondly the system should be flexible so that processes can be individually programmed, and finally that the CAM system should be integrated with the field of CAD so as to achieve a smooth transition from design to manufacture.
3.1.1 The CAM Hierarchy
The basic structure of a CAM system is illustrated in
Fig. 3.1. Due to its hierarchical nature it is very well suited for a hierarchical computer control system, whereby two or three levels of computers can be utilised to control and monitor the individual process tasks. These levels are of the master/slave configuration and are similar to those discussed earlier in section 1.1 and illustrated in Fig.
1.4. * ft f * ft * ft
FIG. 3.1 COMPUTER-AIDED MANUFACTURING (CAM) HIERARCHICAL STRUCTURE COMPUTER-AIDED MANUFACTURE (CAM)
Once again there will be a hierarchy of 'computer power' whereby larger microcomputers would be responsible not only for the overall management of the design-production cycle but also with the issuing of managerial information to the 'smaller' microcomputers. These smaller microcomputers will be responsible for the management of a single process such as production, engineering or finance. At the lowest end of the CAM hierarchy there exists small microcomputers, such as the 8-bit family of microcomputers, acting as slaves whose only tasks would be dedicated interpolation, control, adaptive control feedback, or some form of numerical computation.
3.1.2 Intercomputer Communication
In a hierarchical CAM system, such as the one discussed above, intercomputer communication plays a very important role in the successful flow of data and information in both directions. This is very important especially in the case of a fully automated factory or a Flexible Manufacturing
System.
In general, the following intercomputer information flow requirements can be stated.
As far as the master microcomputer is concerned it will receive management instructions, decode them and issue the - 45 -
COMPUTER-AIDED MANUFACTURE (CAM) relevant instructions to the other microcomputers further down the hierarchy. They would themselves issue specific instructions to the slave microcomputers who will perform the specified task. In the case of production control, the production control computer would receive instructions to produce a certain batch quantity of a certain component by a certain date. It would then decide on what machines or in which machining cell to produce the component. It would also prepare a production schedule so that the component's schedule fits in with all the other schedules, thus minimising machine idle times.
Resides up and down communication some horizontal communication may also be necessary so that data and information ' may be transmitted between two computers of similar responsibilities. For example, in linear interpolation the X and the Y axes computers need to communicate with one another so that the two axes are in synchronisation. This sideways or horizontal communication could either be direct or via the hierarchy.
One interesting aspect of the CAM hierarchy is that the upward flow of information would have to be condensed as it moved up the hierarchy and conversely the downward flow of information would have to be more detailed.
Another important element of the CAM computer and control hierarchy is the CAM database. This is what allows the information to become more detailed as it passes down - 46 -
COMPUTER-AIDED MANUFACTURE (CAM)
the hierarchy. The database will contain geometric
descriptions of all the products and their components that
the firm is able to produce, as well as the part programmes
which specify the machining sequences. The various computers
at the various stages of production can then access this
information. Thus, besides having a hierarchical CAM system
it is also beneficial to employ a hierarchical database
management system (DBMS). Such a system has been designed
and is discussed in greater detail in Chapter 7.
3.2 Numerical Control in CAM
The use of NC machines in a computer based
manufacturing system can be viewed in terms of automation
and integration. Referring to Fig. 3.2, four levels of
manufacturing automation can be defined. The stand alone NC
machine tool represents an automated operating cycle. An NC
machining centre automates the entire machining process. A
cluster or group of externally controlled NC machines
represent a fully automated-manufacturing task, and finally,
the CAM system itself integrates all lower level methods in
an automated process.
Fig. 3.3, illustrates the main elements of a numerical control system, and the flow of information from the design preparatory process through to the machining process
regardless of whether each individual process is performed manually or by computer. In practice, however, manual - 47 -
* No external computer required
** An external control computer is required
*** One or more external CAM System computers required
Cluster of NC machines
NC machining centre
Integration
FIG. 3.2 INTEGRATION AND AUTOMATION FOR NUMERICAL CONTROL IN CAM
CAM Database
Design Machinability Production data data data
Production NC computer Post-processor engineering part program processing
Manufacturing specifications
FIG. 3.3 ENGINEERING INFORMATION FLOW TO AND FROM THE DATABASE COMPUTER-AIDED MANUFACTURE (CAM) preparation is not only likely to prove tedious but is also subject to error for all but the simplest of programs.
The initial process in the NC system is the preparation of component drawings. These are traditionally produced manually by design engineers and draughtsmen, although, as already discussed in Chapter 2, graphical computer techniques are nowadays very appealing. The next stage is to analyse these drawings and to determine information about the geometry of the component and also about the particular machine to be used and the speeds and feeds required
(production planning).
The mathematical and production engineering information is then extracted and combined into a cutting sequence and entered onto a programming sheet. The information from the programming sheet is then transferred, by teletyping, onto punched tape which is then fed into the machine tool.
The control system of the machine tool contains interpolators, decoding units, and feedback control devices.
In the case of point-to-point programming there is no need of the interpolators but ' for continuous path machining straight-line interpolators or curve generators may have to be summoned. - 49 -
COMPUTER-AIDED MANUFACTURE (CAM)
3.3 Numerical Control Computer Management
4 Numerical control computer management is a term used to
define a specially modified NC machine which can receive its
instructions directly from a computer and also communicate 4
process information outside its own feedback loop. Thus, NC
computer management provides a two-way communication
capability that is required in a computer based 4
manufacturing system. It uses a digital computer to replace
some or all of the logical functions performed by the
conventional logic circuitry. The introduction of a computer
? enables the following benefits to be realised [7]:
(1) The computer managed system receives its
instructions directly from computer storage,
thereby eliminating paper tapes and tape readers
at the machine site.
(2) Data concerning the ongoing machining process is
fed back to the computer, where it can be stored
or passed to a higher level management system.
(3) NC logical functions are modularly designed using
programmable software hence, are easily expandable
and maintainable.
(4) NC part programs, stored in the computer's memory,
can be easily edited on site. - 50 -
COMPUTER-AIDED MANUFACTURE (CAM)
(5) The NC machine tool may be located many miles from
the control computer.
Analysis of the above mentioned benefits together with
several other essential features, such as local
intelligence, lead to the development of an initial multi-
microcomputer based NC turning system by Dalzell and Pak. It
is discussed in Chapter 6. This system architecture proved
to be very economical, flexible, expandable and efficient. A
considerable amount of software has been developed by the
author for the graphical representation and NC part program
generation of parts compatible with the CNC system.
In the design of such a CAM system the various forms of
NC have to be carefully examined. The two most common ones • are Computer Numerical Control (CNC) and Direct Numerical
Control (DNC) and are hereby briefly discussed. ft
3.4 Computer Numerical Control (CNC)
ft According to Electronic Industries Association (EIA)
[8] the definition of CNC is as follows: a numerical
control system where a dedicated stored computer program is
used to perform some or all of the basic numerical control
functions in accordance with control programs stored in the
read-write memory of the computer. - 51-
COMPUTER-AIDED MANUFACTURE (CAM)
With the recent advances in LSI technology leading to
low cost computers with large computing powers, CNC has
become more favourable over the last few years and can offer
the production engineer several advantageous features such
as: -
. greater capability
. better usage of the operator's skill and experience
. improved quality
. better control of operations
. programs readily available
. greater versatility
. increased reliability
. and finally, reduced costs.
3.4.1 Greater Capability
Greater capability can be achieved with the ability to perform non-standard operations, such as adaptive control, which were not possible earlier because of the dedicated logic units. Due to the software's flexibility and versatility over conventional hardware logic circuits these non-standard operations can be performed.
3.4.2 Better usage of the operator's skill and
experience
Utilisation of the operator's skill and experience, - 52 -
COMPUTER-AIDED MANUFACTURE (CAM) such as machining tricks and short cuts, will ultimately result in improved machining times.
3.4.3 Improved Quality
Improved quality will be achieved since additional measurement and control facilities, e.g error compensation, are more readily incorporated.
3.4.4 Better Control of Operations
The improved communication between various production department levels, i.e the management, operators and the machines, will ultimately result in better control of the operations.
3.4.5 Programs Readily Available
The abiliy to quickly and easily correct and modify part programs will be enhanced since they will be stored in magnetic storage devices which have fast access times.
3.4.6 Increased Reliability
Reliability is a very important feature when investigating a product. The reduction in the solid state - 53 -
COMPUTER-AIDED MANUFACTURE (CAM) hardware together with the reliability of the software makes a product much more reliable.
3.4.7 Reduced Costs
Reduced costs will be encountered since the capital costs of micro and mini-computers are on the decline, and the prospect of time sharing offers the possibility of one computer controlling several machines.
3.5 Direct Numerical Control (PNC)
Direct numerical control is a relatively recent development based on the use of a larger computer to control and manage several machines on a time-sharing basis. Besides overall machine control it has an additional duty of controlling management functions such as production planning and work scheduling.
Like CNC, direct numerical control is amenable to the hierarchical aspects of CAM and hence can be used as an integral unit in the design and development of a hierarchical CAM system. COMPUTER-AIDED MANUFACTURE (CAM)
3.6 Microcomputers as an aid in Part Programming
Computers and in particular microcomputers are
increasingly being involved in the preparation of part
programs in NC. Traditionally, this was done manually by
highly skilled part programmers. The manual method was not
only rather slow and very tedious but it was highly subject
to human error. As an improvement, automatic programming was
employed resulting in only a limited amount of success. The
drawbacks were that automatic programming worked only on
particular kinds of machine tools and involved considerable
amount of precalculations. With the introduction of low cost, powerful mini and microcomputers the task of part programming became a relatively easy one. Due to the speed of the' computer the calculations can be carried out much more quickly than if done manually, and because a computer system is much more flexible a variety of programs can be handled. Fig. 3.4 summarises, diagrammatically, the advantages of computer part programming over the other two methods discussed above, namely manual and automatic.
Several NC part programming languages were discussed in
Section 1.1 and it is worthwhile reminding the reader that they are all based around the universally standad APT language. However, the current trend is to introduce much more intelligence into the cutter path derivate (pre- processor and processor) part programs so as to initially reduce the amount of human-computer interaction (which is time consuming and hence costly) and eventuLally to make them Manual Automatic Computer
Slow, tedious Limited application Easy, fast, flexible
Error prone Precalculation Link to DMM
Limited application Universal application
Only way for continuous path
FIG. 3.4 PREPARATION OF NC TAPES - 56 -
COMPUTER-AIDED MANUFACTURE (CAM)
fully automatic. This strategy of introducing a form of
intelligence into the part program has been employed and is
discussed in detail in Chapter 7 in the CAD/CAM linking
software.
For example, in the milling cutter path derivate
(MCPDR) package (Section 7.8) only the technological and
material specifications are required to automatically
generate the milling cutter path. Compare this with the
conventional APT technique of laboriously specifying the
cutter path either by point-to-point or by contours.
3.7 Use of Microprocessors in CAM and NC Hardware
The emergence of low cost microelectronics and hence microelectronic devices (e.g microcomputers, machine tools,
VDUs, plotters and other such peripherals) has resulted in the wide application of microelectronics in CAD, CAM and NC systems.
Besides using microcomputers in NC part programming, and in CAM peripherals they can be used to compensate for mechanical inaccuracies such as backlash, tool wear and workpiece misalignment. Furthermore, they can be used in numerical machine tool controllers and are generally classified under four categories [9]: - 57 -
COMPUTER-AIDED MANUFACTURE (CAM)
(1) Numerical controllers using a single microcomputer
based on a standard metal oxide silicon (MOS)
microprocessor to execute all NC functions;
(2) Numerical controllers using a single microcomputer
based on a standard MOS microprocessor to execute
non-time critical NC functions;
(3) Numerical controllers using a single microcomputer
based on a bit-slice special purpose
microprogrammed microprocessor; and
(4) Numerical controllers based on a number of
microcomputers.
Another way in which microprocessors can be successively used in NC systems is by using intelligent peripherals and thus artificially boosting the speed of the microprocessor. An example of this technique is described by
Hilford [10]. The system is based around an 8-bit parallel- processing CPU plus intelligent peripherals. Although a microprocessor is inherently slower than either a minicomputer or hard-wired logic by assigning "routine" chores to the intelligent peripherals the result is an economical system whose speed is comparible to that of a minicomputer.
Fig. 3.5 illustrates the flow of information of an 8- bit microcomputer in a 3-axes milling machine tool's INSTRUCTION/DATA BUS
Indicates mode. axis, position, remaining travel, and measurement units
FIG. 3.5 FLOW OF INFORMATION OF AN 8-BIT MICROCOMPUTER IN A 3-AXES MACHINE TOOL'S ENVIRONMENT - 59 -
COMPUTER-AIDED MANUFACTURE (CAM) environment. The theory behind the discussion is as follows.
Conventionally hard-wired logic or a fast mini computer were employed in the numerical control of a complex machine tool, such as the one illustrated. But by utilising a slower but less expensive 8-bit microcomputer in conjunction with intelligent input-output (I/O) controllers the machine's functions can be equally well controlled. This is mainly because the CPU is not bogged down with routine control and housekeeping tasks. It is therefore free to perform complex tasks such as generating position data for circles, parabolas and hyperbolic functions for either absolute or incremental table movement. The control speed is adequate because the system's intelligent peripherals can process the control programs simultaneously without heavy CPU involvement. - 60 -
CHAPTER 4
CAD/CAM INTEGRATION
The integration of two technologies namely, CAD and CAM has long been envisaged by managers and designers. Despite the diversity of the two technologies, as discussed in
Chapters 2 and 3, great efforts are being made to combine them into unified CAD/CAM systems, whereby from the initial design concepts to the dispatch of the finished product the entire process can be controlled with a single system. Many experts point out that CAD/CAM is still in its infancy and must be greatly refined before its full potential is realised [11]. This refinement is basically reviewed as twofold. Firstly, the present knowledge and integration of the various CAM functions must be fully understood and further, developed to such an extent that it is at an equal level with the present knowledge of the CAD technology.
Secondly, individual CAD and CAM functions - which have essentially developed separately - must be concatenated into a pure integrated system which will be faster and more powerful than an equivalent system whose functions have merely been interfaced together. Cooperative efforts to achieve this level of refinement are underway on several fronts and some of them are discussed in section 4.2.
One of the simplest tasks in the efficient integration of CAD/CAM is the concatenation of the CAD with the CAM hardware. The most difficult of all tasks is probably the design and development of the software. Some tasks can be clearly defined as being entirely of a CAD nature or CAD/CAM INTEGRATION entirely CAM whereas others cannot. For example, design and draughting are pure CAD tasks, tooling and machining are pure CAM tasks, while cutter path derivation and simulation tasks belong to the two. When a task entirely belongs to one or the other of the technologies the software is well established and straight forward. This basic task of data manipulation and concatenation is known as Data Management and is hereby discussed.
4.1 CAD-CAM Data Link
As mentioned earlier, by integrating the various functions and departments within a manufacturing industry considerable productivity gains can be achieved. Successful integration of the various activities of a firm is highly dependent on the hardware and software employed. Detail description of the hardware configuration is beyond the scope of this thesis and apart from a brief description of the microcomputer-aided engineering workstation, the NC system, and the proposed hardware architecture (Chapter 6) little else will be discussed. However, the other major area which influences the success of the CAD/CAM integration is software. By careful design of a common database, such as the one illustrated in Fig. 4.1, all the departments within the industry can be interconnected [12]. This common thread, or database, contains information about the product, the data needed in so many different forms by the draughtsman, the machinist, the inspector, the salesman, the production line manager, etc. INFORMATION f ROM CUSTOMER ( REQUIREMENT
INf ORMAT ION elc. TO CUSTOMER:
COMPU1EH A101 II OISK.N
I ST IM AUNG i _ i
MARKETING ci CO
USER OF OAT A HASC
OAFA BASE
= INFORMATION TO. FROM. ANO IN DATA BASE
AISO: STANDARDS. PREVIOUS DESIGNS. DESIGNS IN PROGRESS I MANUFACTURE. PAYMENT SYSTEM. COOES OF PRACllCI
MATERIALS A COMPONENTS. PRODUCT Pi ANT S'ATUS. MANAGEMENT ACCOUNTS » INFORMATION
HePRoDUCEb FROM F.T 8/a/FWo
FIG. 4.1 THE INTEGRATED BUSINESS SYSTEM - 63 -
CAD/CAM INTEGRATION
In order to appreciate the importance of a comprehensive DBMS two successful systems are illustrated and their dominating features discussed. The first is an
American system based on a joint NASA/industry project [13] entitled Integrated Programs for Aerospace-Vehicle Design
(IPAD). It was realised as a result of IPAD that the absence of appropriate technology and software tailored to manage engineering and scientific information had been a major stumbling block to the development of an integrated CAD/CAM system. As a result IPAD developed a DBMS with the capability of handling design and manufacturing information.
It conforms to the following functional requirements:
Accommodate multiple views of data from a variety of
users and computing storage devices,
Allow multiple levels of data descriptions to support
wide varieties of engineering organisations and tasks,
Permit easy changes in data definition as work
progresses,
Allow data to be distributed over networks of
heterogeneous computers,
Permit data definitions to be readily extended as needs
arise,
Support definition and manipulation of geometry - 64 -
CAD/CAM INTEGRATION
information,
Contain adequate configuration management features,
And finally, provide extensive capability to manage
information, describing the data.
The IPAD software is written for a computer network
configuration and has the capability of defining and manipulating information through a variety of schemes or
formats. Although the current software is single computer
(i.e. CDC or IBM) based plans have been made to expand the
IPAD DBMS to provide a unified data management capability
which will merge together the various departments within a manufacturing industry, Fig. 4.2.
PHIDAS, a German database management system [14], is
another example of a successful DBMS centred around a common
database. PHIDAS is implemented on a graphical 16-bit minicomputer (CDC 1700) and is responsible for the management of application-independent databases. It is used
in conjunction with PHILIKON, an integrated CAD/CAM system, and the result is a very powerful yet versatile development
system capable of not only designing a product but also generating NC programs for subsequent manufacture.
The above two examples illustrated the necessity and
functions of a DBMS. In a successful design of a CAD/CAM
system the structure and implementation of a DBMS is a high priority task. - 65 -
FINAL PERFORMANCE 1 CONCEPTUAL DRAFTING MANUFACTURING INSPECTION SPECS DESIGN DESIGN
f SHARED DATA BASE J T
INTERACTIVE GRAPHICS AUTOMATED DRAFTING COMPUTERIZED INSPECTION
FIG. 4.2 ELEMENTS OF A COMMON DATABASE - 66 -
CAD/CAM INTEGRATION
4.2 Hardware, and Software Savings in Integrated Microprocessor
Based CAD/CAM Systems
Careful hardware and software design and implementation can often lead to tremendous cost savings not only in the initial cost but also in the running costs of CAD/CAM systems. This can be best illustrated by analysing the individual elements of an ideal CAD/CAM system, suitable for small to medium sized industries, Fig. 4.3. Each workstation consists of a 16-bit microcomputer, a data tablet, twin VDUs and backup storage peripherals. It has access to shared peripherals such as digitisers, printers, plotters, and central Winchester disc storage. The CPU and the workstation's memory were chosen of bi-polar technology since 'they offer several advantages over conventional MOS technology [15]. A brief description of bi-polar technology is presented to highlight its advantages over MOS technology.
Bi-polar or bit-slice components consist, essentially, of several functional units connected together to form a bit-slice product of any desired wordlength. To combat most of the limitations of MOS based devices the designer can buy off-the-shelf bit-slice components and, together with a moderate amount of TTL logic, create a microprocessor with the necessary level of performance. They execute much faster than MOS devices because they are fabricated with Schotty n
TTL, ECL or I L techniques. An example of this type of device is Ferranti's M700/40 16-bit bi-polar microprocessor
[16] operating at 20 MHz clock rate. - 67l -
FIG. 4.3 AN IDEAL 16-BIT CAD/CAM SYSTEM - 68 -
CAD/CAM INTEGRATION
Bi-polar devices, unfortunately, possess three major
disadvantages which outweigh their tremendous speed
capabilities. They are large in size (relatively in microelectronic scales) due to the limited amount of chip
integration possible and hence consume alot of power. They are, therefore, costly since large heat sinks and cooling fans have to be utilised. And thirdly, an intimate knowledge of the hardware and software is required to produce them resulting in high development and testing costs. Thus, bi- polar technology is usually utilised in specialised operations (e.g. defense) where computational speed and compactness are absolutely critical.
In' order to enhance the arithmetic computation of the workstation 16K bi-polar PROMs as well as dedicated arithmetic processor units (APU), such as the Intel
8086/8087 combination, can be utilised. The arithmetic processor unit should be used for very fast number crunching operations whereas the bi-polar PROMs can be used as look-up tables for repetitive arithmetic functions. Bi-polar PROMs have typical maximum access times of about 45ns [17] , and consequently, can be used effectively in both high speed memory and logic replacement applications. Thus, by utilising bi-polar PROMs in a CAD/CAM system it is possible to greatly reduce the amount of software, mainly arithmetic routines as well as some of the hardware logic circuits. CAD/CAM INTEGRATION
4.3 Implications of CAD/CAM Integration
The previous two sections have illustrated the need of
an integrated CAD/CAM system. With careful consideration of
the hardware and software the overall cost of the CAD/CAM
system can be greatly reduced. The implications of CAD/CAM
integration is that the CAD/CAM users will in the next few years benefit tremendously from interactive graphics systems which provide far more capabilities, operate faster and are cheaper than those currently available.
One can successfully speculate that in then next few years some of the significant advances that will emerge are: the distribution of processing power will also continue, with workstations and CNC systems becoming progressively more intelligent, the cost of mass storage will also fall substantially so that increasing volumes of data will be stored on-line, and the major software development will be to make CAD/CAM systems easier to use for the non-technical, and non-programmer user. 70 -
CHAPTER 5
CHOICE AND USE OF MICRCOMPUTER LANGUAGES
We have seen, from the discussion in Chapter 4, that
hardware plays the major role in the selection of a suitable
CAD/CAM system. It was also pointed out that the development
of a CAD/CAM system not only depends on the hardware
configuration but also depends on its interaction with the
operating system, as well as a variety of programming
languages. From a development workstation to a dedicated
system several high level languages should be available
together with at least one low level language. The low level
language is usually the natural language of the computer,
although several others are advantageous in order to develop
programs for another computer on a host computer.
As this thesis is mainly concerned with the design and
development of software written for CAD/CAM applications
this chapter investigates the importance of low and high
level languages as well as illustrating the structure of the
high level language Pascal. It discusses, briefly, why
Pascal is a very good language for use in microcomputers,
its structure, capabilities and limitations in CAD/CAM
applications.
• - 71 -
CHOICE AND USE OF MICROCOMPUTER LANGUAGES
5.1 Selection of Software Development Tools
With diminishing microprocessor hardware costs and with
the widespread use of microprocessors in thousands of
applications software development has not only become more
demanding but now continues to represent a greater
proportion of the total system cost [18], Fig. 5.1. Several
software development tools and techniques already exist
which could reduce these development costs whilst still
maintaining or improving software quality. Unfortunately,
information about them is frequently inaccessible and their
relative merits can be difficult and costly to evaluate. It
can be safely predicted that with the ever reducing memory
costs together with the increase in processing speed of
microcomputers, high level language programming will become
much more appealing over assembly language programming.
Consequently, program transferability will merely be
achieved by simply cross compiling the program from one
system to another. Furthermore, with the vast amount of
microcomputer systems, operating systems, and high level
languages available, it can be a relatively expensive task
of purchasing several software development tools for the
various systems that the user might have.
ft For instance, if a user has three different
microprocessor systems then in order to assist program
development on all the systems three development tools are
required. This is one of the reasons why users tend to stick
to a product of a particular manufacturer. For example, as - 72 -
8 16 32
PROCESSOR WORD SIZE
FIG. 5.1 ESCALATION IN SOFTWARE COSTS IN COMPARISON WITH HARDWARE COSTS
ASSEMBLY LANGUAGE PROGRAMING HIGH-LEVEL LANGUAGE
Advantages Advantages •Symbolic references • Better control of software •Revisions easily incorporated with reassemblies • Reduced programing cost •Symbolic code easier to read • Faster programing •Programing aids included • Well suited to program solving •"Values can be parameterized (table sizes, input/output • Self-documenting port assignment) • Easier maintenance • Error checking included • Transferability avoids reprograming ®advantaqes Disadvantages •Assembler system required (development hardware, • Bigger programs — compilation efficiency terminal) • Cost of compilation • Some assembly processes are slow • Programing experience required for good results •Assembly language rules and formats must be learned When to use ftfien to use • For larger programs — 1,000 bytes or more • Usually recommended for instruction-level coding • For low-volume products or prototype systems • For production systems when experience warrants
FIG. 5.2 COMPARISON BETWEEN LOW LEVEL AND HIGH LEVEL LANGUAGES - 73 -
CHOICE AND USE OF MICROCOMPUTER LANGUAGES
in the CAD/CAM system at Imperial College, several
microcomputer systems based on the Motorola 6800 series were
purchased. Thus, system improvement can be achieved by
simply upgrading from a M6800 microprocessor based system to
a M6809 and then to a very powerful 16-bit M68000 based ft system. Besides, utility programs can simply be transferred
(with the minimum of modification) from one system to
another, either by cross assembling or by rewriting a few ft lines of the source program.
As mentioned above, users conventionally tend to expand
their number of systems by purchasing better and more
superior microcomputer systems from the same manufacturer in
order to maintain modularity and compatability. However,
with an increase in the number of systems produced by ft individual companies who purchase OEM (Original Equipment
Manufacturers) products and incorporate them in their own
packaging many users are attracted to purchasing systems
• from such suppliers. As is often the case, the operating
system and low level languages are custom written for that
particular system and a careful evaluation of their m capabilities is essential for the efficient use in serious
applications [19].
5.2 Influencing Factors in Choosing Low and High Level ft Languages for CAD/CAM Applications
In CAD/CAM applications certain processes are time
critical (e.g machining, simulation and display) whereas - 74 -
CHOICE AND USE OF MICROCOMPUTER LANGUAGES others are not (e.g plotting and editing). Thus, careful decisions have to be undertaken when to use a low level language over a high level language.This section discusses the advantages and disadvantages of both low level and high level languages as well as when to use one over the other.
The merging of information of several engineering departments into a unified CAD/CAM system has considerably increased the demand of longer and more sophisticated programs over the past few years. With this increase in demand it is becoming more impractical to program in assembly language and more appealing to use high level languages. As far as program development time is concerned, programmers write the same number of lines a day regardless of the language they use. Thus, in terms of development time, there are no advantages gained by programming in low level languages over high level languages.
It then appears that high level languages should be utilised more often since they make more efficient use of the programmer. For one thing, they more directly represent the logical flow that the programmer has in his mind once he has figured out an initial algorithm. Also the use of
English-like commands not only makes the program easier to write but more importantly allows either the author or other readers to follow the structure of the program more easily and hence painlessly debug and update it. 75 -
CHOICE AND USE OF MICROCOMPUTER LANGUAGES
Some of the advantages of low level (assembly) languages over higher level languages, Fig.5.2, are that they make more efficient use of the microcomputer by relating each operation with the hardware elements of the microprocessor. Hence, they execute much faster than high level language programs and occupy much less memory space.
From the programmer's viewpoint, lengthy high level language programs often take a long time to compile from the source code form into an intermediate code or machine code.
About the only way to speed up this compilation process is to cross-compile on a larger computer, but often this is a tedious and costly task.
In the attempt of producing a versatile language which incorporates some of the features of low level as well as high level languages, development system manufacturers nowadays provide high level languages which are capable of mixing high and low level modules. Thus, the majority of the program, especially that portion requiring large mathematical data transformation, can be written in a high level language leaving portions requiring memory manipulation, time critical procedures and peripheral handling' routines to be written in assembly language.
Such high level development languages now often come as an integral part of extensive software packages supplied with major development systems, and should be investigated before purchasing a system. Besides high level languages i - 76 -
CHOICE AND USE OF MICROCOMPUTER LANGUAGES
several other development languages and software tools are
necessary in a typical microcomputer system used for the
task of CAD/CAM. Fig. 5.3 illustrates the hierarchical
structure of the software tools which are desirable on such
a system.
5.3 Structure of the High Level Language Pascal
When embarking on a software task the programmer must
make two decisions. Firstly, whether a low or a high level
language should be used and, secondly, if a high level
language is to be used then which is the optimum one for the
particular application and microcomputer system.
Several high level languages exist and usually the ones
available on a particular microcomputer system are analysed
and selected according to the software task. Amongst the
high level languages available Pascal has emerged to become
an important language for the future of programming small
and large systems alike. Pascal was developed by Niklaus
Wirth [20] in 1968 mainly for teaching purposes but its
versatility and structure have lead it to become the
language of the decade with a variety of applications,
including the industrial domain [21] . It supercedes Fortran which has been well established as the ideal programming language for scientific and engineering computations on mini and mainframe computers. -li-
ft
*
FIG. 5.3 HIERARHICAL STRUCTURE WITHIN A DEVELOPMENT SYSTEM
t
SYSTEM EXAMPLE:- .LEVEL 0_
PROGRAM PR0G1;, .LEVEL! ft PROCESS PR0C1;_ LEVEL 2
BEGIN (PROCESS BOOY) ENO; 1 J
BEGIN (PROGRAM BODY} ENO; 1
ft PROGRAM PR0G2; LEVEL 1 _
PROCESS PR0C2; LEVEL 2 _
PROCESS PR0C2A; LEVEL 3 ,
BEGIN (PROCESS BODY} ENO; k J
BEGIN (PROCESS BOOY} ENO; E J
PROCESS PROC3; — LEVEL 2 ft BEGIN (PROCESS BODY} END; L J
BEGIN (PROGRAM BODY} ENO; L J
BEGIN (SYSTEM BODY) ENO; 1 J
FIG. 5.4 NESTED STRUCTURING WITHIN A PASCAL PROGRAM 78 -
CHOICE AND USE OF MICROCOMPUTER LANGUAGES
The three main features of Pascal are, firstly, it is
^ suitable for both system and application programming.
Secondly, it is relatively new, having been written just
over 10 years ago, thus incorporating many valuable and
desirable features not found in older languages such as
Fortran. And finally, it is a highly structured language, as
illustrated in Fig. 5.4. Other benefits of programming in
Pascal are often those that are associated with other high ft level languages, namely maintainability and extendability.
In discouraging "tricky programming" by offering legitimate
alternatives in its data structuring and control statements,
^ Pascal furthers each of these goals. Furthermore, much of
the dynamic nature of a Pascal program can be reflected in
its static code. Hence, a well-written Pascal program is
synonymous with a well-documented project. ft
One of the greatest features of Pascal is its data
structuring facilities, and it is this that set the language
* apart from its forerunners and made it so attractive for
serious programming as well as industrial and control
applications. Pascal greatly expands the concept of the data
* type and allows the construction of more complex types from
the primitives. Furthermore, the language allows the user to
define new data types and to name these with his own
identifiers. For example, a data type of the form of a
record can be declared representing all the information
about a particular machine tool as: - 79 -
CHOICE AND USE OF MICROCOMPUTER LANGUAGES
MT : record
manufacturer: packed array [1..10] of char;
age: 0..50;
horsepower: 0..1000;
axes: 0. .10;
operational: boolean
end;
and can be accessed as :
MT . manufacturer := 'Colchester1;
MT . age := 2;
MT . horsepower := 100;
MT . axes := 2;
MT . operational := false;
Thus, a single record can store several pieces of information regarding a particular product (in this case a machine tool).
Each variable must be declared to have a type and during compilation the compiler checks their consistency.
This strong type checking pervades the language. It increases program relability as well as generating fewer machine code instructions.
One of the serious limitations of Pascal on 8-bit microcomputers is its deficiency in handling large programs.
On most 8-bit, single-user, microcomputers many high level CHOICE AND USE OF MICROCOMPUTER LANGUAGES languages, including Pascal, incorporate an upper limit on the size of the program. This is usually 32K, i.e the source text must not generate more than 32K (32000 bytes) of machine code or P-code. This limit results from the largest positive or negative integer number that can be addressed by the compiler and is determined by the word size of the computer. In an 8-bit microcomputer the word size is 16-bits
(i.e 2 bytes) and hence the largest possible number that can be stored in 2 bytes is +32767 or approximately 32K.
Unfortunately, this limitation is present on the current Pascal compiler by Lucidata [22]. Hence the programs have to be carefully structured to minimise the limitation.
Chapter 7 describes the CAD/CAM software and the precautions taken in overcoming such limitations. However, as mentioned in Chapter 10 on future work, in order to produce a commercially viable CAD/CAM system with fast number processing speeds for tasks such as geometric modelling, interactive graphics and NC part-programming a transfer from the current 8-bit to a faster 16-bit microcomputer is essential. With this in mind, most of the software was developed in Pascal so as to ease the task of transferring from one system to another.
Besides adopting for a high level language and a 16-bit microcomputer it is very important to choose an ideal operating system (OS) so that the interaction between user written programs and the OS is a smooth and easy one. - 81 -
CHOICE AND USE OF MICROCOMPUTER LANGUAGES
5.4 The Precedence of a Microcomputer's Operating System ft As illustrated in Fig. 5.1, in systems based on 16 and
32-bit microprocessors, software will account for the bulk
of the development costs. As more and more logic is squeezed ft onto a single chip, the hardware development process is
being simplified and its cost reduced. Simultaneously,
however, more complex and hence more expensive software is
going to be required [23].
The most important member of the software family is the
41 operating system [24] since it handles almost all the
program communication and task scheduling. The operating
system plays an ever greater role in multi-tasking systems
since it has to supervise and satisfy not one but several ft users working on the system simultaneously in a time-sharing
mode. The operating system on the CAD/CAM workstation was
developed by Technical Systems Corporation Limited (TSC) and ft is known as FLEX. It is discussed in detail in Chapter 6.
The superiority and power of an operating system is
• enhanced by the capabilities and the ease of use of its
individual members. They are the editor, assembler, monitor,
debugger, compilers and linkage editors. The operating
system, thus highly relies upon its elements in order to
perform routine tasks such as manipulation, storage,
retrieval, loading and executing system and utility programs
as well as creating and deleting data files. CHAPTER 6
PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION
6.1 Proposal for a CAD/CAM Workstation
As we have seen from the earlier chapters, the demand for increased, uninterrupted processing support at the lowest possible cost and the smallest incremental expansion capabilities, combined with the ease of interaction between the operator and the computer, are factors influencing the' trend towards microprocessor and multimicroprocessor based computers. Also, software development and computer utilisation costs are increasing all the time, thereby not only making the initial cost of the larger computers beyond the budget of many small and medium sized firms but also the running, costs associated with them. Consequently fewer companies purchase large computers. Instead, they hire a computer, buy computer time or manually perform some of the simpler calculations whilst leaving the complex calculations to be performed by a smaller computer, or finally, the firm might even discard the task completely. This final option, although it sounds to be a trivial one, is one which should be avoided if better and new products are to be designed and manufactured.
Fortunately, the rapid deceleration of microprocessor and microelectronics costs together with the diminishing size and the escalation in the number of devices that can be incorporated on a single chip has resulted in the wide application of microcomputers and microelectronic devices. - 83 -
PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION
This obviously implies that not only are they low cost and ft versatile enough to be purchased by individuals, small as
well as medium sized companies, but also that a large number
of computer systems can be purchased and spread around the
* various departments of the company to perform repetitive and
cost-effective functions.
P By utilising several computers, they can be
interconnected in one of the several forms so that a complex
task, which is beyond the capability, or is too slow, for a
single dedicated microcomputer, can be successfully ft performed on a multimicrocomputer system. Some of the common
multimicro system configurations are briefly discussed
followed by the proposals of an ideal CAD/CAM workstation
* and a NC system.
In general, there are two basic system configurations,
0 namely "tightly coupled" and "loosely coupled" systems, as
illustrated in Fig. 6.1. The major features of tightly
coupled systems are that all processors in the system access
a common memory and input-output and other system resources ft (i.e peripherals) are shared by the processors. However, a
major disadvantage of this configuration is that the
interprocessor communication latency is low due to the ft potential access time only being limited by the actual
memory access time. In a loosely coupled system each
processor has its own individual primary memory and hence
concurrent processes can be performed asynchronously whereas - 84 -
TIGHTLY COUPLED SYSTEM LOOSELY COUPLED SYSTEM 4
FIG. 6.1 COMPARISON BETWEEN A TIGHTLY AND A LOOSELY COUPLED SYSTEM
4
FIG. 6.2 TYPICAL STAR-TECHNOLOGY BASED MULTI-PROCESSOR SYSTEM < - 85 -
PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION
tightly coupled systems generally require synchronisation
between cooperating processes. One of the major advantages
of loosely coupled systems is that all processors virtually
operate independent of one another. Thus, "mixed" or
heterogeneous computers can be incorporated into such a
system configuration.
There • are several other multimicrocomputer
architectures besides tightly and loosely coupled systems.
Two of the most popular ones are the "star" and the
hierarchical system configurations.
In a system based on a star configuration the central
computer acts as a system controller (master) which
coordinates several slave computers, workstations, or machine tools, as illustrated in Fig. 6.2. Star
configurations can be expanded in one of two ways. Firstly, by adding additional slaves to the star architecture, and secondly, by expanding into hierarchies, where one slave computer can be a master computer for a different star.
A hierarchical configuration, Fig. 6.3, consists of several computers arranged in a tree or a pyramid structure.
In general, the capability of the processor increases as the top of the pyramid is reached. This is often due to practical rather than theoretical reasons. Similar to a corporate organisational structure, the capabilities at the base are generally application - dependent, with a special- - 86 -
Hierarchical Level 1
Hierarchical Level 2
Hierarchical Level 3
FIG. 6.3 HIERARCHICAL CONFIGURATION
ADVANTAGES OF MULTIMICROS AND MINIS DISADVANTAGES OF MULTIMICROS AND MINIS
Increased reliability Increased software complexity
Increased survivability More difficult system test and failure diagonis Increased distributed processing power More dependence on communicatins technology Increased responsiveness
Unique expertise needed during design Increased modularity and development phase
System expandability in smaller increments
FIG. 6.4 ADVANTAGES AND DISADVANTAGES OF MULTIMICROS AND MINIS - 87 -
PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION
purpose capability, dedicated to performing well-defined, * specialised tasks, whereas the top of the organisation has a
more general-purpose capability controlling and coordinating
the entire system. Thus, such a system also encourages the
* use of distributed processing functions.
Of the various system architectures that exist, the one
^ most suitable for the solution of complex tasks, such as
CAD/CAM, is generally the hierarchical configuration. It
freely allows the integration of several heterogeneous
computers (as well as microprocessors) of different
wordlengths. Thus, powerful microcomputers can be utilised
at the upper portions of the pyramid structure whilst using
less powerful, and hence cheaper, 8-bit microcomputers as
* the lowest level slaves.
In general, each system configuration has certain
^ attributes that affect its suitability for a particular
application. These attributes are related to cost,
reliability, responsiveness, speed, throughput capacity,
ease of development, modularity, reconfigurability, logical * complexity and physical dispersability. All of the above
mentioned systems are multi-computer based and initially one
must decide whether to opt for a single computer or a
* multicomputer based system for the particular application
concerned. The pros and cons of such system configurations
are thus summarised in Fig. 6.4. - 88 -
PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION
6.1.1 Choice of the elements of a CAD/CAM workstation
There are six basic elements which constitute to the
design of a CAD/CAM workstation. They have to be analysed in
terms of reliability, cost, function requirements,
modularity and interchangeability as well as replaceability.
They ares-
choice of microprocessors;
primary memory;
secondary (backup) memory;
I/O peripherals including special purpose arithmetic
chips ?
inter-peripheral and inter-processor communication
bus;
and system software.
6.1.1.1 Choice of microprocessors
Since microprocessors form the heart of the computer system (by executing the arithmetical and logical operations as defined by the program) the success, the overall system's capabilities and processing speed are all dependent on the choice of the microprocessor(s). PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION
Although the speed and the memory capabilities of 8-bit
microprocessors is sufficient for dedicated control
applications or relatively simple tasks they impose too many
restrictions for serious CAD/CAM applications. Thus, for a
dedicated CAD/CAM workstation capable of handling 3D
geometries at least a 16-bit microprocessor architecture is
required for three main reasons. Firstly, to directly
address a large amount of memory, due to its wordlength.
Secondly, to manipulate data in the shortest time possible,
due to the larger instruction set. And finally, to be able
to store high precision numbers.
Most of the currently available 16-bit microprocessors
(e.g Motorola's M68000, Intel's 8086, and Zilog's Z8000
series) have the processing power to be nominated for use within local CAD/CAM workstations. However, for complex
CAD/CAM tasks a system architecture (such as the hierarchical one discussed in the previous section) would have to be considered comprising of several 16-bit and 32- bit microcomputers possibly linked to mini or mainframe computers.
For such a system architecture comprising of several computers, not necessarily heterogeneous, the author believes that from the currently available microprocessors
Western Digital Corporation's WD9000 Pascal Microengine chip set should be utilised in at least one of the workstations.
The Microengine is a 16-bit MOS/LSI chip set that executes - 90 -
PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION
programs written in Pascal at speeds at five or more times
greater than equivalent systems using conventional
architectures. This is because the Microengine chip set is
designed to be the ideal P-code machine. Its machine
language is the P-code produced by the universal UCSD Pascal
compiler.
Thus, several workstations can be formulated using the
Microengine as the CPU. Western Digital claim it to be ideal
for all applications requiring 16-bit performance, assembly
language efficiency, high level language, speed of program
development and ease of use [25] . Besides the Microengine
the MC 68000 processor could also be utilised within a
workstation. Its power, versatility, instruction set and
peripheral backup chip support make it an ideal CPU for a
workstation.
6.1.1.2 Primary memory
The primary memory of a microcomputer based CAD/CAM workstation is mostly random access read/write memory (RAM),
and is used for the temporary storage of programs and data during the execution of a program. Since one of the speed
factors of a workstation is the rate at which data can be accessed and manipulated fast RAM is essential, with typical access times of approximately 100ns. Another factor is the amount of RAM available. Obviously program execution \ - 91 -
PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION
efficiency increases the more RAM one utilises, since fewer
overlays will have to be performed. The fact that 16-bit
microprocessors can directly address upto 16M bytes of
memory, compared with 64K bytes for 8-bit microprocessors,
further nominates them to be utilised within CAD/CAM
workstations.
6.1.1.3 Secondary (backup) memory
Backup memory is essential for the permanent storage of
programs and data since it is non volatile. The most common
types of backup storage for microcomputer systems are
flexible discs, providing about 1.25M bytes storage on an 8
inch floppy disc. For greater and much faster storage
Winchester discs should be used. They can store a few
hundred Mega bytes of data with access times tens of times
faster than floppy discs. Unfortunately, Winchester drives
are much more expensive than floppy discs and so are
commonly used in 16-bit systems, where their cost does not outweigh the cost of the microcomputer.
6.1.1.4 I/O peripherals
The careful selection of I/O peripherals (such as
VDU's, plotters and graphic tablets) as well as scientific processor chips enhances the flexibility and the processing - 92 -
PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION
speed of a CAD/CAM workstation, as already discussed in
Section 2.3. Thus, in the development of a CAD/CAM
workstation one should make use of intelligent peripherals
as well as special purpose arithmetic (scientific) and logic
chips. By doing so, firstly, the amount of system software
can be greatly reduced, and secondly, a particular task will
obviously execute much faster by the mere virtue that it
will be performed in hardware instead of software. For
example, Intel claim that their '8232* and '8231' arithmetic
processor units can increase the performance of a
microcomputer system by a factor of upto 100 times when
performing mathematical operations [26]. As far as the CPU
is concerned they are dedicated peripherals and so
installment is no problem.
For interactive graphical communication between the
operator and the workstation a raster scan VDU is highly
recommended. The raster scan provides an additional
dimension, over the storage tube in graphical visualisation
in that vectors can be selectively erased and objects can be
rotated and displayed in real time. This implies that, for
example, a dynamic simulation of the machining operation can
be obtained. The VDU will then appear to operate as a TV monitor, displaying the chuck, with the workpiece
dynamically rotating and the cutting tool removing material
from the workpiece. This requires very fast processing power by the display computer and represents a step closer to the
ultimate CAD/CAM system. 93 -
PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION
• Furthermore, utilisation of dedicated microelectronic
chips, such as the NEC Display Processor [27], should be
incorporated within VDUs. Not only does the display process
^ become faster but tremendous software economies can also be
made.
6.1.1.5 Communications bus
On-line communication between one computer and another
in a distributed environment normally imposes a major
problem to system designers. There are various ways [28]
that this problem can be solved:
synchronous or asynchronous
serial or parallel
The choice will depend on the distance of the communicating
equipment and the required speed of transmission. More
importantly from a software point of view is the development
of communication protocols which attempt to standardise the
control mechanism for handling communication signals.
With the emergence of standard interface buses, such as
the IEEE-488-78 (HP-IB) and RS422/5 the task will be greatly
simplified. For relatively slow (1M bit/sec) transmission
speeds over a distance of less than 30 metres in an area of 94 -
PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION
low electrical noise the serial asynchronous RS232 and RS422
buses provide a simple and reliable mode of communication.
However, for very high data transfer rates parallel buses
are required.
For example, in a multi-microcomputer based CAD/CAM
system a RS232 bus is sufficient for the communication
between most of the I/O peripherals and the workstation. For
interprocessor communication as well as communication
between a local workstation and a remote or host workstation
whereby complex analytical data manipulation is executed,
fast bus transfer is required. One such bus is the Ethernet
whereby data can be transmitted at speeds upto 10M bits/s.
For 8-bit or 16-bit microcomputer based workstations the
combination of the Ethernet bus and the Local Area Network
Controller, Lance (MK68590 VLSI 48 pin DIL chip) provide an
excellent solution.
6.1.1.6 System software
The design and capabilities of a workstation are mainly
* ^dependent on two technologies namely, hardware and software.
The choice of the hardware has already been discussed above,
and the importance of the operating system highlighted in
# Chapter 5. It is appropriate at this stage to present a
summary of the system software of the proposed system. - yb -
PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION
In all computers the processor is controlled by an
operating system that consists of two types of software:
1. Control programs
2. Processing programs
The efficiency of the user written utility programs is
highly dependent on the nature of the operating system, and
hence requires careful choice and analysis of the operating
system.
The task of control programs is to manage the use of
the system resources, provide easier access to and provide
more efficient use of the physical resources (the user
interface), and to perform data management.
Processing programs, on the other hand, are much more
closley related to the user. They include application and
support software, such as text editors, assemblers and
compilers, file management utilities, diagnostic software,
etc.
Thus, by utilising a powerful operating system the task of the programmer in terms of program development, testing, and debugging, is not only easier but also faster, resulting
in lower product costs. - 96 -
PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION
6.2 Proposal for a NC System
Section 6.1 discussed some of the common architectures of multicomputer based systems and concluded that one of the most versatile configurations was the hierarchical one.
Hierarchical system architectures can also be utilised in a
NC system by virtue of their three major advantages.
Firstly, due to their modular architecture the system can be easily expanded by simply adding additional modules, with very little software modifications. Secondly, they allow heterogeneous microcomputers and peripherals to be incorporated within the system structure. This is because the only form of communication between the master and the slaves, and between the slaves and the peripherals, is through a standard communication bus. Thirdly, by allowing
8-bit and 16-bit microprocessors to simultaneously work together the overall cost of the system is thereby reduced.
This reduction in the overall system cost is due to the fact that the complex tasks are handled by the 16-bit microprocessors, whilst utilising cheaper 8-bit microprocessors to perform the simpler tasks, such as feedrate control, linear interpolation and adaptive control.
Thus, in a hierarchical system one can subdivide the hardware into four distinct sections:
basic structure and mechanical hardware;
master microcomputer hardware; - 97 -
PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION
slave microcomputers hardware;
I/O and data storage peripherals.
6.2.1 Basic Structure and Mechanical Hardware
This constitutes to the bulk of the overall hardware of
NC system, and is the only section whose hardware contents are substantially related to the classification of the type of machine tool. Since the mechanical hardware will form the basic structure upon which the control system will be implemented it should possess very good mechanical characteristics. The most important specifications are that the machine tool structure should be rigid to minimise vibration, modular to allow for several axes to be added, the drives should be reasonably quiet and be infinitely variable so that constant cutting speeds can be achieved and finally, the various lead screws should possess the minimum amount of backlash.
Thus, either by choosing a machine tool which possesses these characteristics or by mechanically redesigning and thereby improving certain aspects of an existing machine tool, the first stage in the development of a highly accurate machine tool is reached. The second stage is the installation of the control system onto the mechanical hardware. The control system serves two main purposes.
Firstly, it allows communication between the operator and 98 -
PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION the machine tool, and secondly, it can be used to minimise most of the errors inherent in the machine tool such as backlash by feedback techniques.
6.2.2 Master microcomputer hardware
The master microcomputer, as previously stated, is responsible for the communication from either the operator or the CAD workstation. As the information is received it is either stored in RAM or on back-up storage. Subsequently, the task of the master microcomputer is to interpret or decode the information and to distribute it to the various slaves.. For such a requirement the main components of the master microcomputer's hardware can be classified as:
A microprocessor which will execute the logical and
arithmetical instructions. Ideally, a 16-bit
microprocessor (e.g MC68000) is required for four main
reasons. Firstly, at least a 16-bit architecture is
required to manipulate the vast amount of computations
in real time. Secondly, the onboard memory can be
expanded upto 16M bytes. Thirdly, high precision
arithmetic can be easily handled. And finally, several
machine tools can be served (if desired) by the one
delegator. - 99 -
PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION
Arithmetic Processor Units, to assist in arithmetical computations.
RAM memory, for the dynamic storage of the part- program as well as the storage of intermediate data.
The size of RAM memory will obviously depend on the application of the machine tool. The diminishing cost of memories encourages system memory to be expanded instead of writing sophisticated overlay routines.
ROM memory, for the permanent storage of the executive programs and data. Since this type of memory is non- volatile it is ideally suited to the permanent storage of programs which are commonly used, such as
interpreters and run-time control and monitoring programs.
Input/Output chips which are necessary for the microcomputer's communication with the NC system's monitors and front panel control switches.
Back-up storage such as magnetic cartridges,
cassettes, or bubble memories for the permanent storage
of part programs, data and other programs.
Global communication bus controller. This provides
the control of the information flow between master and
slave, and between slave and slave microcomputers. - 100 -
PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION
Since fast communication between two microcomputers is
* essential it is important to choose either a standard
communication bus or to configure one oneself.
Fortunately, for the type of intercomputer e communication that is required in a NC system a
standard bus exists. This is the standard IEEE-488
communication bus and is specifically developed for
communication with groups of up to 15 instruments or ft computers, with an 8-bit data highway providing
transfer speeds of up to 1M byte/sec. Thus by using
this standard bus not only are the transfer rates fast 4h enough for most CAD/CAM applications but also a wide
variety of data communications protocols exists, thus
making the implementation task much easier and cheaper. #
6.2.3 Slave Microcomputers hardware ft The task of slave microcomputers is to act as an
intermediatary controller between the master computer and
the NC variable control s or axes. For example, each NC
variable, such as spindle speed, feedrate and coolant on or
off, is controlled by a slave microcomputer which is
dedicated to that task.
ft
The overall hardware configuration of slave
microcomputers obviously depends on the function and the
complexity of the task to be performed. But this does not PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION necessarily imply that each slave microcomputer should be custom designed and built for a particular task. Only one type of slave microcomputers is required. It should contain the essential hardware for controlling the simpler NC tasks such as coolant on or off, automatic tool change, and positioning of the tailstock, etc. By further populating it with additional ICs and changing the control software additional control tasks such as interpolation and adaptive control can be performed. There are several advantages in utilising only one type of slave microcomputers in an NC control system. Firstly, the overall cost of the control system is greatly reduced due to standardisation, secondly, only the one type of slave microcomputer card needs to be stocked, and finally, the introduction of an axes only involves the addition of a standard slave microcomputer card. Thus, there are several advantages gained by using only the one type of slave microcomputers using the philosophy of standardisation in the form of expanability and flexibility over the utilisation of dedicated slave microcomputers where there, are no component redundancies which are individually configured to a particular NC function.
The basic hardware architecture of all slave microcomputers should consist of the following four elements: - 102 -
PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION
microprocessor(s);
RAM memory;
ROM memory for the permanent storage of the executive
NC function program;
input/output communication devices.
For the more complex NC functions the following additional hardware components are also required:
Digital to analog convertors (DACs)
Analog to digital convertors (ADCs)
Voltage controlled oscillators (VCOs)
Timer/counter devices, and
Interpolation chips.
6.2.4 I/O and data storage peripherals
For the interactive input and output communication between the operator and the NC system the most convenient and economical I/O peripherals are the raster scan VDU and a simple menu data input panel. The presence of a combined graphics/alphanumeric VDU (which forms an integral part of the control system) allows it to be utilised for two functions. Firstly, for the graphical verification of the component's geometry and secondly, for a simple visual simulation of the cutter path's locus before or even during the machining operation. Furthermore, old NC programs can be examined. - 103 -
PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION
The permanent storage of data and part programs requires the aid of backup storage peripherals. Depending on the amount of storage required and the data transfer rate backup storage peripherals such as magnetic cartridges, audio cassettes or bubble memories can be utilised.
Alternatively, data can be transmitted back to the
CAD/CAM workstation, via the standard CAD-NC communication bus, and stored on floppy or Winchester discs. Thus, by utilising the existing workstation's storage peripherals considerable NC hardware cost savings can be achieved.
6.2.5 Proposal for a low cost NC information transfer media
Besides the direct transmission mode, whereby NC part programs can be directly transmitted, via a standard communication bus, from the CAD/CAM workstation, an alternative information transfer media needs to be
implemented on a dedicated CNC system. It is required for two main reasons. Firstly, to allow existing NC part programs to be executed. And secondly, to relieve the
CAD/CAM workstation so that it is free to perform other
tasks. There exist three main input media. They are:
punched cards,
punched tape,
magnetic tape. PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION
Punched cards, such as the ones associated with data processing systems are used in a few installations. They are rarely encountered today.
Punched tape, is by far the most widely used input media. The EIA tape coding is considered as a universal
standard for punched tapes, Fig. 6.5, and thus would be
sensible to use.
The magnetic tape stores information digitally and
pertains several advantages over punched tapes and cards.
They are illustrated in Fig. 6.6.
With reference to Fig. 6.6, for a very low cost NC
system which is to be employed for relatively simple
machining operations the punched tape offers the best
solution. The major advantage of the punched tape over the
magnetic tape is its low cost.
The use of the magnetic tape is only recommended on
systems where the cost of the magnetic tape control unit is
not an appreciable cost of the NC hardware. There are some
very logical reasons for the use of magnetic tape over the
punched tape, especially when computer-assisted part
programmining is used to prepare data. In this case, the
magnetic tape used at the machine tool can be the same one
that is prepared by the digital computer, thus eliminating - 105 - i
8 7 6 5 4 - 3 21 TAPE PUNCH a X 0 CH 8 4 2 1
1- - 3
7- • •
e -f - — - - 9 iit- _—— ....
mn— . 1 COMPLETE BLOCK OF INFORMATION. CONSISTS OF 5 COMPLETE WOROS
H/N G M SECL PREP. DIMENSION DIMENSION MISC. E NO. FUNCT. 0 B 0 0 G 8 1 X 1 2 3 4 5 Y 0 8 7 8 9 M 5 1 FOR A .. y- TABULATED J T PRINT OUT 1 A (PERIOO) B (COMMA)- ONLY ^ 7 EDB + IPIUS) / X (MINUS) 0 SPACE - - - OELETE _fc - . • • • • • ••• • ••• •• • • • CH CARR. RET. OR ENO OF BLOCK 8 BACKSPACE ' TAB"-""" o o ooooooooooooooooooooooooooo• • •• ••• •• ••• o • SPK. HOLES ENO OF RECORD - 4 LEAOER BLANK TYPE - • ••• • •••• • ••• • • ••• • • •• • 2 UPPER CASE- i 1 LOWER CASE •TAPE FEED
FIG. 6.5 ELECTRONICS INDUSTRIES ASSOCIATION STANDARD CODING FOR A 1" WIDE TAPE (LEFT). COMPLETE BLOCK OF INFORMATION ON A TAPE (RIGHT).
MEDIUM DENSITY RECORDING RATE READING RATE BINARY BITS BITS/MIN BITS/MIN PER IN ft Punched Cards 45 1600 16oo
Punched Tape 100 300 ' lOOO
Magnetic Tape 3500 20000 20000
FIG. 6.6 COMPARISON OF INFORMATION MEDIA - 106 -
PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION the process of converting magnetic tape instructions to punch tape. Possible conversion errors can be eliminated resulting in large time savings.
6.3 Description of the current M6809 based CAD/CAM system
6.3.1 The CAD/CAM workstation
For complex CAD/CAM applications involving full 3D graphics and sophisticated design analysis programs, such as finite element analysis at least a two level hierarchical configuration of the type illustrated in section 6.1 is required. The master/slaves configuration should consist of
(typically) 16-bit microcomputer based local workstations and a much more powerful master computer such as a 32-bit microcomputer, a 32-bit super minicomputer, or a mainframe computer.
Although the architecture of the above proposed CAD/CAM workstation is a viable one, practically it involves an initial large capital investment in order to form the basis upon which dedicated software can be developed. With the severe financial restrictions imposed on the academic institutions together with the fact that at the time of commencement of the project (1979) 16-bit microcomputer based systems were just emerging into the market, it was decided that an existing 8-bit microsystem be used. Funds - 107 -
PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION only permitted an 8-bit microsystem to be used for CAD/CAM research. Consequently, most of the software was developed in a modular architecture and wherever possible a high level language used. By adopting such a technique software transferability to a 16-bit microsystem as well as flexibility and expandability for both the hardware and the software were maintained.
The initial workstation was centred around a Motorola
M6800 based microsystem but was soon superseded by the more powerful and faster M6809 based microsystem.
The basic elements of the current CAD/CAM workstation consist of:
1. A Southwest Technical Product's (SWTP) 8-bit single-
user microcomputer system, Fig. 6.7. It incorporates a
Motorola M6809 2MHz microprocessor as the CPU, 64K of
dynamic RAM of which 56K is available to the user (8K
is utilised by the FLEX9 operating system) and 8 I/O
communication ports to a maximum of 16 peripherals,
Fig. 6.8. For CAD/CAM operations these peripherals can
comprise of VDUs, plotters, printers, tablets,
digitisers and machine tools. The present system has
five I/O communication links. They are as follows: - 108 -
FIG. 6.7a THE HP2648A VDU - 109 - i
EIGHT I/O PORTS
POWER TRANSFORMER
POWER SUPPLY BOARD
fir*-.i c a •• J ) POSITION FOR jVIP-HD HARD DISK- CONTROLLER * 1 • •»< - •m X—i\ J MP-09 PROCESSOR SMS 3509-A SMS 3S09-C DMF2 DISK DYNAMIC MEMORY .DYNAMIC MEM OR Y_ CONTROLLER - xi. - -. ARRAY CONTROLLER
FIG. 6.8 PLAN LAYOUT OF THE M6809 SYSTEM CIRCUIT BOARDS PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION
(i) RS 232 serial bus to VDU
(ii) RS 232 serial bus to plotter
(iii) RS 232 serial bus to NC lathe
(iv) RS 232 serial bus to NC mill
(v) Centronics parallel bus to the text printer
The approximate cost of the above described
microcomputer is £1800.
2. A dual drive, double density, double sided 8 inch
floppy disc unit providing up to 2.5M bytes of usable
(formatted) storage, Fig. 6.7, costing approximately
£2750 (including a DMA disc controller board).
3., An intelligent combined alphanumeric/graphics VDU - a HP 2648A terminal, Fig.6.7a. It is a refresh raster scan VDU [29] and has the ability to selectively modify portions of the screen without completely erasing and
redrawing the entire screen. This minimises the system software overhead, user wait-time and communication costs. It possesses independent graphic and alphanumeric display memories thus allowing either the graphic or the alphanumeric memory display to be suppressed without disturbing the other, improving the readability of the display. Inbuilt hardware zoom and pan features allow the graphics display to be magnified incrementally from one to sixteen times allowing the user to make full use of the 720 by 360 pixel resolution. - Ill -
PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION
Supplementary features include 8 special user-
definable function keys (softkeys) which can be easily
used to issue a user-defined string of up to 80
characters long. They allow the keyboard to adapt to
specialised applications, and can considerably simplify
use of the keyboard and result in greater efficiency -
each softkey performs the operations of several
sequences. For example, the softkeys could issue
frequently used programming sequences, search for
files, aid data entry, or issue instructions to the
operator/computer/or both. The approximate cost of the
VDU is £4500.
4. A flat-bed A0 size plotter, Fig. 6.9, for the
# graphical visualisation of the component's geometry and
the cutter path's loci. The plotter (which was designed
and built at Imperial College) utilises a similar
control system to the one used in the NC system
(section 6.3.3). The control system is a hierarchical
one whereby the master computer accepts commands and
data, via a standard RS232 communication bus, from the » microcomputer and distributes the task between the
slave axes microcomputers. The resolution of the
plotter is 0.05mm. The approximate trade cost of the
* plotter is under £3000.
5. A text printer, Fig. 6.7, for the generation of a
hard copy listing of the programs and data. The %
FIG. 6.9 THE WORKSTATION'S A0 SIZE FLATBED PLOTTER
4 - 113 -
PROPOSALS AND ARCiilTECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION
approximate cost of the printer is £2000 but equally
efficient printers are now available for a few hundred
pounds.
4 The overall cost of the current CAD/CAM workstation's
hardware is approximately £14K. However, the cost of a well
configured 16-bit workstation would only be about 2-3 times
^ 'that of the cost of the 8-bit workstation. This still
remains very competitive when compared with equivalent
minicomputer based CAD/CAM systems costing an order of
magnitude more.
6.3.2 The Operating System
In conjunction with the workstation's hardware the
operating system determines the "power", i.e the processing
speed and the capabilities of the system.
It controls the microcomputer and acts as a mediator
between the computer and the user. In addition to
supervising the system's operation it provides a collection
of user programs, assemblers, compilers, loaders, editors,
floating-point routines, etc. Thus, for software development
the system designer must choose a suitable hardware
configuration as well as a versatile, flexible and powerful
opera.ting system. - 114 -
PROPOSALS AND ARCiilTECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION
Regarding the choice of an operating system there are two main categories namely single-user or a multi-user. The choice between a single-user and a multi-user operating system depends on the task to be performed as well as the capital cost of the computer. Sometimes it may be more convenient to utilise several microcomputer based slave workstations operating in a single-user mode rather than to employ a fewer number of multi-user systems.
For the above proposed CAD/CAM workstation a multi-user system should be adopted since it allows several users to simultaneously use the system as well as reducing hardware costs by sharing peripherals such as the Winchester disc, printers, plotters, digitisers and system memory.
Furthermore, the multi-user arichecture naturally makes it an ideal element for a hierarchical CAD/CAM system.
The operating system pertinent to the M6809 based microsystem is called FLEX9. It is single-user and provides the user with a powerful set of system commands to control all disc operations directly from the user's terminal [30].
The FLEX9 Operating System comprises of three parts, the File Management System (FMS), the Disc Operating System
(DOS), and the Utility Command Set (UCS). Part of the power of the overall system lies in the fact that the system can be greatly expanded by simply adding additional utility commands, such as user written CAD/CAM routines. - 115 -
PROPOSALS AND ARCiilTECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION
* Amongst the software development aids available are the
Assembler and high-level Basic and Pascal languages.
Assembler produces a 1:1 ratio from the source text to the
0 machine code and is therefore very fast in program
compilation and execution. High-level languages, on the
other hand, produce far more machine code than the
equivalent assembler written routines but are faster to
develop since they more clearly resemble the English
language and the logical way of thinking. Programs written
in a high level language are transportable since they are
* system independent and thus are often preferred.
0 6.3.3 The NC Turning System
The fundamental and essential elements of a NC system
were collaborated and highlighted in section 6.2. The
majority of these elements were analysed and an initial
experimental NC machine tool developed. This work was
undertaken by Dalzell [31] and Pak [9] who designed and 0 built a control system which was retrofitted to an existing
Student Colchester Lathe located in one of the departmental
workshops. It is necessary at this stage to briefly describe
4 the above mentioned NC turning system as it forms the NC
hardware necessary to test and develop the CAD/CAM software
described in Chapter 7. - 11.6 -
PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION
The standard Student Colchester Lathe was retrofitted 4 with two stepper motors (type: Astrosyn 34PM-C205) which
control the movement of the X and Y directions of the tool
turret. The stepper motors provide a positional accuracy of
* 0.0005 inch (~0.01mm). The spindle speed is controlled by an
infinitely variable hydraulic closed-loop circuit with
feedback obtained from an optical encoder mounted on the
^ rear of the spindle shaft.
The NC turning system is illustrated in Fig. 6.10 and
the multi-microcomputer control system is illustrated in 4 Fig. 6.11. The control system's architecture is one of a
hierarchical configuration comprising of a master computer
(delegator) and several variable (slave) controllers and a
4 Perex cartridge disc perifile for the permanent storage of
MTIL programs and data, Fig. 6.12.
The delegator consists of four cards. They are a CPU
card, an I/O card, a memory card containing the MTIL on a
4K EPROM, an IEEE controller card to provide communication
between the master computer and the slaves. 4
The slave microcomputer cards consist of two basic
configurations, namely feed pulse generators and machine
4 tool variable controllers. The feed pulse generator cards
are responsible for the synchronisation of the vector
interpolations which are generated by the variable
controllers. FIG. 6.10 THE NC TURNING SYSTEM
FIG. 6.11 THE NC (TURNING) CONTROL SYSTEM - 118 - i
LOCAL OPERATOR
FEED PULSE GENERATORS
VARIABLES /
| 1 I DC POWER MAINS \ | i •| OTHER VARIABLES I J
FIG. 6.12 ARCHITECTURE OF THE TURNING NC SYSTEM - 119 -
PROPOSALS AND ARCiilTECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION
The slave microcomputers are similar in architecture
and consist of:
1. main processor unit (M6802) and 128 bytes of RAM;
2. 4K bytes of ROM;
3. delegator interface integrated circuitry;
4. interface IC to motivation unit;
5. digital I/O channels;
6. a counter-timer IC for the generation of
feedrates.
The hardware for the delegator card is similar to that for
the slaves with the following additions:
1. RAM for the user; at least 4K. bytes for the storage
of the part program and data;
2. an additional 4K bytes of ROM for the MTIL program;
3. an interface to the CAD system or user terminal;
4. and an interface to the slave microcomputers.
As an indication of the economics of the NC turning ft system the approximate hardware cost of the delegator cards
is £80 and £30 for each of the slave controller cards. This
undoubtedly represents a low cost way of developing a
• versatile and expandable NC machine tool. - 120 -
PROPOSALS AND ARCiilTECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION
6.3.4 The NC Milling System >
A three axes, two horsepower, Bridgeport milling
machine is currently being retrofitted in the department. It
0 will form the hardware for the production of milled
components designed by the CAD/CAM software packages
described in Chapter 7. It is endeavoured that the control
^ system will be implemented and fully operational by Autumn
1982.
Retrofitting of the milling machine involved replacing 4 the bed lead screw with a recirculating ball screw with
anti-backlash nuts, providing a positional accuracy of —6
5m . . The recirculating ball screw has a pitch of
4 5mm/revolution. Two DC motors provide the main X and Y
direction drives with encoders of resolution 1000
pulses/revolution. The Z direction of the bed is not
0. controlled, instead a DC motor mounted on the mill head
provides the vertical movement of the quill.
The NC control system is similar to the one described
for the NC turning system. It is a hierarchical multi-
microcomputer structure linked together by the 16-bit
standard IEEE-488 interface bus [32]. The system is modular
and capable of simultaneously controlling up to 12 axes. The
minimum configurations is for 2 axes continuous path
control. The minimum configuration consists of five
microcomputer cards in "Double-Euro" size. They consist of: - 121 -
PROPOSALS AND ARCiilTECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION
delegator card,
feedrate controller card,
spindle controller card,
X-axis controller card, and a
Y-axis controller card.
Hardware specification of the delegator
MC 68B09 2MHz 8-bit microprocessor,
AMD 9511 arithmetic processor chip,
16K of static RAM with an access time of 150ns,
16K of EPROM expandable up to 32K for the permanent
storage of the control algorithms,
3 RS232 serial interfaces. One for the DNC link, another
for a tape unit and a third of the control VDU,
8 digital TTL output lines, and a
IEEE 488/1978 bus interface for interprocessor
communication.
Hardware specification of the feedrate controller
MC 68B09 microprocessor,
programmable Voltage Controlled Oscillator (VCO) for the
generation of acceleration/retardation profiles,
real-time counters for interrupt generation,
multi-channel A/D convertor for general monitoring tasks,
10 digital TTL output lines, - 122 -
PROPOSALS AND ARCiilTECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION
10 digital TTL input lines, and a
IEEE 488/1978 bus interface.
Hardware specification of the spindle controller
MC 68B09 microprocessor,
closed loop velocity servomechanism control,
spindle motor power control via motor current control,
10 digital TTL output lines,
10 digital TTL input lines, and a
IEEE-488/1978 bus interface.
Hardware specification of the axis controller
MC 68B09 microprocessor,
closed loop position servomechanism,
24-bit interpolation,
DC servo motor current control,
10 digital TTL output lines,
10 digital TTL input lines, and a
IEEE-4S8/1978 bus interface.
The controller cards are all on one PCB performing different functions according to what ICs are plugged in and what software is used. CHAPTER 7
DESCRIPTION OF THE WORKSTATION'S SOFTWARE
7.1 Software Hierarchy
Successful design and development of CAD/CAM software packages on a microcomputer require careful evaluation of
the architecture, capabilities and limitations of the
system. The awareness of these features to the CAD/CAM system designer has been mentioned throughout this thesis.
To summarise, there are three most obvious limitations that are inherent to most microcomputer systems, especially 8-bit microcomputers [33]. They are, firstly, they possess
relatively slow processing speeds compared with minicomputer based CAD/CAM systems. Secondly, they lack software backup from the manufacturer as well as the lack of existing commercially available software packages. And thirdly, they have severe low cost fast-store restrictions. Most 16-bit and a few 8-bit microcomputer systems possess very fast storage devices (e.g. Winchester discs) but often their cost accounts for a large proportion of the system's cost, sometimes more than the cost of the processor unit.
Despite these limitations the author adopted several techniques for minimising these restrictions for the development of a microcomputer based CAD/CAM system. Some of the most important are: - 124 -
DESCRIPTION OF THE WORKSTATION'S SOFTWARE
development of modular software in high and low level
languages to optimise processing speed and software
development times,
utilisation of a powerful operating system,
selection of the most appropriate high-level languages
for a particular operation,
utilisation of intelligent peripherals,
and provide an I/O interprocessor communication
facility to allow two way communication between the
CAD/CAM workstation and the CNC system or host
processors.
As a result of these recommendations the software
packages (described in sections 7.2 to 7.10) were formulated ft not only to be modular but be executed in such a manner as
to optimise the flow of information from the design stage to
manufacture. Since the process of product design and
manufacture is a systematic one following a standard design
sequence, whereby first the design is formulated, analysed
and then the cutter path movements generated followed by the
# machining operations. The sequence of the CAD/CAM software
must adhere to it. However, it does not necessarily imply
that all the packages should be resident in memory at the
same time during the various stages of the product design. - 125 -
DESCRIPTION OF THE WORKSTATION'S SOFTWARE
Thus, in order to minimise on-board storage the software
packages were sub-divided into three main classifications:
1. Creation and visual display programs.
2. Cutter path derivation and simulation programs.
3. Part program generation programs.
The sub-division of the software packages into the above
mentioned classifications permits quite large scale CAD/CAM
programs to be developed on microsystems.
The inter-relationship between the CAD/CAM packages is
illustrated in Fig. 7.1. It is clearly visible that they are
executed sequentially. This has two major advantages.
Firstly, optimising the use of the on-board memory by minimising overlaying operations. And secondly, individual packages can easily be modified or expanded, due to modularity.
The various packages which constitute to the CAD/CAM workstation's software are the CREATE, EDIT, DISPLAY,
PLOTTER, DESIGN ANALYSIS, CUTTER PATH DERIVATION AND
SIMULATION, and PART PROGRAM GENERATE PACKAGE.
A brief description of their responsibilities and interactions is hereby presented so that an overall concept be attained before a detailed description of the individual packages is presented. - 126 - i
BEGIN
V input via keyboard
EDIT PACKAGE CREATE PACKAGE Backup Storage
f DB format
PLOTTER PACKAGE DISPLAY PACKAGE
•
w DB format
CAD/CAM WORKSTATION RESIDENT PROGRAMS
DB format
COTTER PATH DERIVATE AND SIMULATION PACKAGE
CU)ATA format
PART PROGRAM GENERATE PACKAGE J
interprocessor V 7 high level oanmunicatian machine tool bus language format
INTERPRETER
MACHINE TOOL
> NC RESIDENT NC camiands
I CFINISHE D COMPONENT j
FIG 7.1 MACRO INTER-PACKAGE COMMUNICATION DIAGRAM 127 -
DESCRIPTION OF THE WORKSTATION'S SOFTWARE
The design to manufacture sequence initiates either
from a sketch being prepared of a new design or the
recalling of an existing design from disc. If a new product
is to be manufactured then its geometrical and technological
information is entered via the keyboard. It is then encoded
by the CREATE package and stored in the DB. Up to four orthographic views of either the product or its individual components are displayed. The component can then be geometrically edited or a hard copy obtained via the PLOTTER package.
During these initial design stages at least three and possibly four packages are memory resident simultaneously.
They are: CREATE/EDIT/DISPLAY
or CREATE/EDIT/DISPLAY/PLOTTER
Subsequently only one or possibly two packages are memory resident at any instant in time during the design analysis and the cutter path generation stages.
Having stored the geometrical and technological information regarding a product it can then be analysed by the DESIGN ANALYSIS package for its mechanical properties
(section 7.6). This is then followed by the derivation and simulation of the cutter path locus. The tools and materials are selected from tooling and material libraries. The output is the generation of a CLDATA file. Subsequently, the PART
PROGRAM GENERATE package converts the CLDATA file from an integer binary format to an ASCII format and transmits it directly to the NC system for machining. 128 -
DESCRIPTION OF THE WORKSTATION'S SOFTWARE
7..2: The CREATE package m The CREATE package is responsible for the interactive
creation, storage and general management of data within the
^ system's database. The Motorola 6809 assembly language was
used for the development of this package. A low level
language was utilised due to its speed and ease in
interacting with the workspace, which resides in RAM. Memory ft management, data and record decodings require very fast
execution times and are only possible with assembly language
programming on micro and minicomputer based systems. ft
The main disadvantage of low level language
programming, as discussed in Section 5.2, for software
development is its lack of transportability between two
heterogeneous computers. Due to the phenominal rate of
progress of the electronic industry, structured high level
language programming should be adopted so that the ft workstation's hardware can be kept abreast with the latest
technological hardware developments, requiring the minimum
amount of software modifications. For certain applications
where low level language programming is unavoidable the
software should be developed in a modular structure so as to
minimise the regeneration time on other makes of CPUs. DESCRIPTION OF THE WORKSTATION'S SOFTWARE
7..2.1. Database Structure
Whatever the shape or size of the CPU successful
implementation of a CAD/CAM system depends in part upon the
successful design structure of a database. It could be
envisaged as the heart of the software aspect of a CAD/CAM
system. The database should contain all the information
pertinent to the design and manufacture of the product.
Furthermore, by employing a single common DB, whereby the
information is stored in a compact and logical form, various departments within the industry can easily and methodically
access the one DB. These departments range from draughting offices, production planning, inventory control and stores to marketing and even sales.
Several sophisticated CAD/CAM DB structures exist
[13,14,34] but they do not yet involve the integration of several departments. Consequently, a CAD/CAM DB structure was devised in conjunction with Pak [9] which had the characteristics mentioned above. One of the problems inherent with most microsystems is their limited size of direct addressable main memory. This implies that for a dedicated CAD/CAM system the DB structure must be very compact. To cater for system expansion the DB must also be modular and expandable so that it can handle 2D, 2£D and 3D geometries. Since the geometrical and technological information of the product is stored within the DB the geometrical dimensions must be stored with a precision at least equal to the appropriate NC machine tools' resolution. - 130 -
DESCRIPTION OF THE WORKSTATION'S SOFTWARE
This does, however, invoke a storage problem. Consider
^ the resolution of a machine tool to be 25 ym then in an
integer word size (2 bytes), the largest positive or
negative number than can be stored is ±32767, a linear
representation of only approximately 8cm. For the majority ft of engineering applications this is too severe a
restriction. Consequently, either double precision notation
(i.e 1 integer = 4 bytes) has to be adopted on an 8-bit
* microcomputer, an 16-bit computer employed, or floating-
point routines utilised throughout the computations.
On the current M6809 8-bit microsystem double precision
programming would have invoked the use of assembly language
for all the software packages. Not only would this have been
very time consuming and tedious but it would not have ft justified itself in a dedicated commercial CAD/CAM system.
The use of floating-point arithmetic throughout the
computations would have resulted in three shortcomings. ft Firstly, in the unnecessary development of complex assembly
language routines. Secondly, the workspace allocation would
need to be, at least, doubled. And finally, floating-point
# arithmetic would have resulted in arithmetical computations
being performed approximately five times slower than
equivalent integer arithmetic computations. Consequently,
the developed software used an integer word size of 2 bytes
which was compatible with all the high-level languages. As a
result of using a 2 byte format components of dimensions
less than 8cm can be manufactured to a resolution of 25ym
with this system. - 131 -
DESCRIPTION OF THE WORKSTATION'S SOFTWARE
The design of the DB required evaluation of the three
fundamental data management techniques namely: sequential,
random and list [35]. Sequential data organisation (Fig.
7.2) have matching physical and logical storage
requirements, permitting rapid access to the next logical
record in the file. Random data organisations (Fig. 7.3) are
characterised by rapid access of data based on a key
indicating the location of the data on the storage .media.
List organisations (Fig. 7.4) divorce logical relationships
from the physical storage mechanisms by means of pointers, permitting data records to efficiently take place in multiple-relationship files. These three fundamental data organisations form the basic foundations for the development of more complex structures.
The DB structure deviced is a compromise solution based on three levels of hierarchy and at present mainly caters for 2^-D geometries. Expansion of the 2^D DB to a full 3D DB is discussed in section 7.2.2. The structure of the DB is illustrated in Fig. 7.5 and represents a simple way of storing data [36]. Hierarchical configurations represent an ideal way of representing information which itself is not centralised.
The hierarchical structure falls into three main categories:
Product Specification Record
Component Specification Record
Primitive Record - 132 -
FIG. 7.2 ILLUSTRATION OF A SEQUENTIALLY ORGANISED DATABASE
KEY LOCATION
COMP A 0010 ft COMP C COMP B 0100 COMP C COMP C 0050
ft DICTIONARY LOOK UP
FIG 7.3 RANDOM ORGANISATION DATABASE
Location of Location of 1st Record 2nd Record 10^ 20 ^ 14 57
20 14 57 0 ft
COMP A COMP B COMP C COMP D ft
FIG. 7.4 LIST ORGANISATION DATABASE Product PRODUCT LEVEL Specification] HIERARCHICAL LEVEL 1 Record
lst Nth Component Component COMPONENT LEVEL Specification] Specification) HIERARCHICAL LEVEL 2 Record Record
PRIMITIVE LEVEL HIERARCHICAL LEVEL 3 0 0
FIG. 7.5 A THREE LEVEL HIERARCHICAL DATABASE STRUCTURE EMPLOYED IN THE CAD/CAM SYSTEM 134 -
DESCRIPTION OF THE WORKSTATION'S SOFTWARE
The Product Specification contains information pertinent to
the managerial aspects associated with the product such as
the customer's name and address, materials, contract numbers
and delivery dates. The Product is then sub-divided into
several Components, each one representing information
required to manufacture it from a single machining process
to a complicated sequence of several machining processes.
The lowest level of the hierarchical structure represent
Primitives which are a collection of geometrical attributes such as lines, taps, cylinders and threads which completely define the geometry of the component concerned. The entire product DB once created can be stored as a data file on disc(s) under an 8 character name, e.g. CAMSHAFT.
Each record comprises of two fields, namely, the
Descriptive Field and the Data Field. The Descriptive Field is created in order to convey to the database management program and application programs information regarding the record's type and internal linkages. The Data field, on the other hand, is formed from names, numbers and flags in order to convey geometrical and technological data related to the record.
Fig. 7.6 illustrates the elements and their storage structure within the Product Specification Record. The
Product Descriptive Field, at present, comprises of three elements occupying a total of four bytes. Their description being: - 13b -
0 1 2 3 4 PRODUCT DESCRIPTIVE FIELD PROCODE TCNUM PDFL (MSB) PDFL (LSB)
11 12 TECHNOLOGICAL 4 DATA FIELD PRODNAME (7 bytes) MANPROD 4
12 13 14 is 16 1 7 MANAGERIAL Customer's Customer's Date Required DATA FIELD name code address code (day) (month) (year) CUSTNC CUSTAC DATEDY DATEMT DATEYR
17 20 PDFL Estimated date of completion and dispatch Additional information (day) (month) (year) stored in ASCII EDCDD EDCDM EDCDY (eg contract no)
Notes PDFL = Product Data Field Length (Default = 16) MANPROD = Manufacturable Product (Boolean)
FIG. 7.6 PRODUCT SPECIFICATION RECORD
COMPONENT DESCRIPTIVE CCNUM CCDBN FIELD
COMPONENT. CODE (COMPCODE) 3 10 11 TECHNOLOGICAL 4 DATA FIELD COMPNAME (7 bytes) MANCOMP 4
1 1 13 14 16 MANUFACTURING Number of DATA FIELD CDFL MATERIAL CODE Components Required
16 1 7 19 20 CDFL+1 Date Required Component machined in (day) (month) (year) house?
Notes CDFL : Default = 9
FIG. 7.7 COMPONENT SPECIFICATION BOARD - 136 -
DESCRIPTION OF THE WORKSTATION'S SOFTWARE
PRODCODE The product code element identifies the
record as a product specification code and
occupies one byte.
TCNUM This element represents the total number of
components within this product.
(1 ^ TCNUM ^ 127).
PDFL The product data field length element
specifies the length in bytes of the Data
Field. It has a default value of 16 and a +16 maximum value of 65535 (i.e. 2 - 1).
The Data Field is sub-divided into two classifications,
namely the Technological and the Managerial Data Fields. The
Technological Data Field consists of:
PRODNAME Name of the product as a 7 digit ASCII
character string, occupying 7 bytes.
MANPROD This element represents a boolean flag (i.e.
true or false) of whether the product is
manufacturable or not. For pure graphics
exercises whereby the product is created for
visual analysis and not for manufacture this
flag is set to false.
The Managerial Data Field contains information regard ing the managerial aspects associated with the product. The - 137 -
DESCRIPTION OF THE WORKSTATION'S SOFTWARE
customer's name and address codes occupy one byte each ft whereas the date required and the estimated date of
completion and dispatch occupy three bytes each.
The Component Specification Record is illustrated in
Fig. 7.7 and is similar in structure to the Product
Specification Record. The three elements of the Component
Descriptive Field are: ft
COMPCODE This element identifies the record as a
component record and occupies one bit of ft memory.
CCNUM The remaining 7 bits of the first byte
specify the current component number.
CCDBN The total number of data bytes of this
current component is represented by this
element.
The Technological Data Field is similar to the corresponding
product's data field except that it contains information
regarding the component. The Manufacturing Data Field
contains the managerial and technological parameters
associated with the component. Its elements are clearly
indicated in Fig. 7.7 and are self-explanatory.
The Primitive Specification Records have variable
length data fields determined by the geometry of the - 138 - i
PRXCODE
2conditional3
fieldiptivs FF™ PICODE sybnum
Data Field variable length
FIG.. 7.8(a) PRIMITIVE SPECIFICATION RECORD
PICODE
MSBIT LSBIT -—3?
PEN FLAG PEN no. LI tfe RECpRD (Up/Down) TY ?E TYPE
dimension flag
RECORD TYPE 0 line 1 symbol 2 label
LINE TYPE 0 - solid 1 - broken 2 - chained 3 - long chained
Up to four pens may be specified for plotter.
+ Dimension flag indicates whether a primitive record is a physical record or a dimensioning record.
FIG. 7.8(b) IDENTITY CODE FOR PRIMITIVES \ - 139 -
DESCRIPTION OF THE WORKSTATION'S SOFTWARE
Primitive., Fig. 7.8. The descriptive field consists of the ft following elements:
PRIMCODE Analogous to the COMPCODE this element
identifies the record as a primitive. It also
occupies one bit of memory.
CCNUM as before
PICODE The Primitive Identity Code comprises of
various flags which define the primitive's
structure , Fig. 7.9.
SYMNUM This element represents the symbol number
associated with the primitive. Up to 255
symbols can be allocated in this single byte
element.
The Primitives, their input definition repertoires and their
internal computer representation are discussed in section
7.2.3.
7.2.2 Description of a 3D database
Apart from the symbol LINE, the current DB is capable
of representing 2\ Dimensional Primitives. Expansion of the
current 2§D DB to a full 3D DB would require at least a
three fold increase in the size of the DB workspace. The - 140 - i
1 BYTE
LEVEL LINETYPE RECORD TYPE DIMENSION PEN UP/DOWN
ft
Default Values: Pen down (O) Dimension off (O) Solid linetype (O) Level (O) Record type : Line (O)
Linetypes: Solidline Dashline Dottedline Chainline
Recordtypes: Line Symbol Macro Label
FIG. 7.9 ICODE STRUCTURE - 141 -
DESCRIPTION OF THE WORKSTATION'S SOFTWARE
inherent complexity of the 3D geometrical representation ft over the 2$D representation (Fig. 7.10) would also demand
very fast, high precision and floating-point arithmetic
computations for interactive CAD/CAM operations. These
requirements would definitely be beyond the interactive
capabilities of an 8-bit microsystem. Thus, the use of a
much more powerful system is required. The earlier
discussion and proposals of a CAD/CAM system (Chapters 4, 5 ft and 6) would certainly fulfil this requirement. Thus, on the
present 8-bit microsystem a 2^D DB was utilised which would
certainly fulfill the requirements of a large section of the
» industry. However, if a full 3D DB is required then the
facilities of at least a 16-bit microsystem is requested.
Modularity of the current 2xD DB enables easy upgrading to a
^ full 3D database.
7.2.3 Description of the CREATE modules
The database forms an integral part of the CREATE
package. The general management of the database is the
responsibility of the CREATE package. In order to facilitate
system expansion the software was divided into four modules:
command line interpreter
database management routines
vocabulary table
command syntax decoder. Internal Graphical Computer Database Representation Representation Storage Locat ions
I byte I byte I byte 2 bytes 2 bytes
2] D 2 bytes
ICOOE SYMNUM PLAHB DIAMETER LENGTH RIGHT
CYLINDER
I byte I byte 6 bytes 2 bytes 2 bytes 12 bytes
IX bytes 3 D
1C0DE CENTRE DIAMETER TRUE LENGTH DIRECTION COSINES COORDINATES OF AXIS
1 byte I byte 2 bytes 2 bytes 2 bytes 8 bytes 2 id 0 Icode SYMNUM LENGTH(X) WIDTH(Y) HEI CUT(Z)
RECTANGULAR BOX
I byte 1 byte 2 bytes 2 bytes 2 bytes 12 bytes
3D 20 bytes
Tcode SYMNUM True Length True Width True Height Direction Cosines
FIG. 7.10 INTERNAL COMPUTER REPRESENTATION OF TWO COMMON SYMBOLS IN 21D AND 3D DESCRIPTION OF THE WORKSTATION'S SOFTWARE
A simplified illustration of the flow of information
within the CREATE package is presented in Fig. 7.11. The
input command is stored in the command line buffer and
compared against the vocabulary table for a match by the
command line interpreter module. If a match exists,
indicating a valid command, then it is coded from an ASCII
line buffer format to a database format. Subsequenti.al.ly, it
is stored within the DB by the DB management routines module. The DISPLAY package is then called as a subroutine
to display the command either in an alphanumeric or a graphical form as appropriate. If a product has already been created then it is recalled from a disc file, decoded by the command syntax decoder and displayed.
The SWT workstation's memory map is illustrated in Fig.
7.11a. The size and memory position of the CREATE/EDIT packages, the workspace, the utility area and the operating system are illustrated.
Appendix A describes the input repertoire of the CREATE package. The DB organisation of the Primitives for 2iD geometries is illustrated in Appendix B. The mode of input of the commands is illustrated in Chapter 8, where two very different products are illustrated and the various stages from the design stage to the final manufacture is presented. - 144 - i
Begin
Idle State
/"'Command ^s No Entered? v
Design Already Exists on Disk
Input geometrical and technological information via keyboard
Load product from disk into workspace
Information stored in command line buffer
Command line interpreter Vocabulary compares line buffers contents with vocabulary table . I (Tabl e
Call Command Syntax Decoder
Convert command from an ASCII format to a binary database record format and store in record buffer and then in workspace
Call DISPLAY package to present an alphanumeric/graphic visualisation of the command
FIG. 7.11 SIMPLIFIED MACRO COMMUNICATION DIAGRAM OF
INFORMATION WITHIN THE CREATE PACKAGE - 145 -
$ FFFF I/O PORTS $E000 Disk Drivers $DEOO FMS $D400 DOS $CCOO System Files Area ft $C9 80 System FCB $C840 Scheduler and Printer Spooler $C 700 ft Utility Command Area $C100 System Input Buffer $C080 System Stack Area $C000 ft
Workspace $B900 Record Buffer $B89C ft CREATE & EDIT packages $A200 CREATE storage cells & scratch memory $A000
1ft
User RAM $0000
FIG. 7.11a SWT Workstation's Memory Map - 146 - i
DESCRIPTION OF THE WORKSTATION'S SOFTWARE
7.3 The EDIT Package
Geometrical and technological data modification is the responsibility of the EDIT package. Like the CREATE package it is written in assembly language. It permits components to be recalled and modified interactively. EDIT is similar to a text editor allowing the user to sequentially step through the Primitives. This results in the rapid detection of geometrical errors. Once the error has been detected, it can be rectified by one of two commands namely, Delete or
Insert. The Delete command erases an entire Primitive record from the DB. The Insert command is used to insert a
Primitive record within the DB, not necessarily at the end.
A flowchart of the EDIT package is illustrated in Fig.
7.12. At present, there are three editing modules namely:
Next module This allows the next sequential
Primitive within the component to be
visually displayed on the VDU via the
DISPLAY package.
Insert module A primitive can be inserted in the
current workspace pointer position by
this module. It calls the CREATE package
as a subroutine to manage the creation
and correct insertion of a Primitive.
Delete module The current Primitive can be removed - 147 - i
FIG. 7.12 MACRO FLOWCHART OF THE EDIT PACKAGE - 14:8 - »
DESCRIPTION OF THE WORKSTATION'S SOFTWARE
from the database by the Delete module.
It relies upon the DB management
routines to perform this task.
Appendix C lists the error messages and their meaning for the CREATE and EDIT packages. DESCRIPTION OF THE WORKSTATION'S SOFTWARE
7.4 The DISPLAY package
DISPLAY is an interactive and modular graphics package responsible for the comprehensive manipulation, interrogation and pictorial representation of components created by the CREATE package [37]. It is highly inter- related with the CREATE, EDIT and the PLOTTER packages. The degree of interdepence can be illustrated by mentioning that neither of these packages could execute without the presence of the others. This feature represents a major asset to the design structure of the workstation's software. It represents an ideal way of performing relatively complex CAD computations on a microsystem.
DISPLAY has been developed in Pascal and executes under a Run-Time System Interpreter. The Pascal software comprises of two packages, a Run-Time System and a Compiler. The
Pascal Compiler, which is written in the subset of the language which it supports, translates the source text into a file of P codes (these are pseudo (P) operation codes for a hypothetical stack machine). They are then interpreted by the Run-Time system.
Fig. 7.13 illustrates the various modules which formulate the DISPLAY package. The Display Command
Interpreter module compares the command against a vocabulary table for validity. If a graphical output is required then the appropriate flags and scale are set by the View and
Projection Interpreter module and the Scaling Transformation Display oarnand interpreter module
Scaling Stop Status module Transformation
view and projection internreter module
Clear Clear Store Redispla - Text Orthogona . Orth- ol display part of Drawaxes view on view fra i labells Qindcwinq Rotation Dlmensiot views ographic o display disk disk views
GRAPHICS DISPLAY MODULES GRAPHICS DISPLAY 8. PLOTTER COMMON MODULES
i Projection Transformation
viev/inq coordinates
Clipping Transformation
visible coordinates
GRAPHICAL OUTPUT
Screen Disk Plotter
FIG. 7.13 MODULAR STRUCTURE OF THE DISPLAY PACKAGE - 151 -
DESCRIPTION OF THE WORKSTATION'S SOFTWARE
modules respectively. The appropriate modules are then
accessed which generate the desired views. The viewing
coordinates are transformed by the clipping algorithm
generating display coordinates. They are then transmitted to
the appropriate display peripheral. The input command
repertoire of DISPLAY is presented in Appendix D. Several of
the modules are discussed below. Many of them are also
common to the other graphical packages, such as the cutter
path derivate and simulation packages.
7.4.1 Orthographic projection
For the graphical representation of the elements of the
database first angle orthographic projection was adopted.
First angle projection is commonly used [38] to present
three views of an object. This is certainly true for machine
drawings. Three views are necessary to define the geometry
of a 3D object. They are:
Top (plan) view, XY plane projection
Front (elevation) view, XZ plane projection
Side (end elevation) view, YZ plane projection
Although in most simple cases the three orthographic views (plan, elevation and side elevation) are usually adequate to describe an object, they only convey a wire- frame view of the object in a two dimensional projection, e.g XY plane. With relatively complex objects consisting of - 152 -
DESCRIPTION OF THE WORKSTATION'S SOFTWARE
several lines and arcs and without the aid of sophisticated
hidden line removal algorithms the representation of an
object on the VDU can often lead to a misconception of the
object. This results from the large amount of lines which
are displayed on a relatively small screen. One way of
improving this communication is by the use of pictorials, or
orthogonal views, which convey ideas clearly and thus reduce
the possibility of visibility errors [39].
7.4.2 Isometric projection
One common pictorial form is isometric projection
whereby a three dimensional view of the object (product or
component) is displayed on a two dimensional surface. This
is achieved by an isometric transformation matrix. Its
derivation is illustrated in Fig. 7.14. It transforms an
orthogonal (X,Y,Z) coordinate to a two dimensional isometric ft display coordinate. The isometric projection is then
displayed in the lower right hand side viewport of the VDU
screen as illustrated in Fig. 7.15.
Besides the conventional isometric axes orientation as
illustrated in Fig. 7.16a (below) a "reverse" isometric axes ft orientation, Fig. 7.16b has been introduced in order to
present an alternative three dimensional view of a component
which has been revolved through 180 degrees. - 153 -
Consider anorthogonal point P with coordinates (X ,Y ,Z ) represented as an isometric coordinate in the XY plane projection.
Then by simple geometry
X 3 X + CX cos30 = X + CX 0,866 I o P - V ° o P ' V *
CX + Y 3 Y + CX + 0 P o p V+ I o. P Yp^inSO • Z = Y0 + 2 Z
x where Xj = ISOMETRIC
YI 3 YISOMETRIC
In matrix notation —
X cos30° -cos30° 0 Xp X I + o Y sin3 0° sin30° 1 Y I YP 0 Z — - - P
Isometric Transformation Translational Matrix Matrix
#
FIG. 7.14 DERIVATION OF THE ISOMETRIC TRANSFORMATION MATRIX 720,360 z.
L x ELEVATION ASID E
720,180 Y 4 X cji u ISOMETRIC PLAN
0,0 180,0 720,0
FIG. 7.15 SUB-DIVISION OF THE HP VDU SCREEN INTO FOUR VIEWPORTS FOR THE FIRST ANGLE ORTHOGRAPHIC PROJECTION AND AN ISOMETRIC VIEW OF A COMPONENT - 155 -
DESCRIPTION OF THE WORKSTATION'S SOFTWARE Z
Fig. 7.16a Conventional Fig. 7.1.6b Reverse isometric
isometric axes orientation axes orientation
The introduction of a second isometric view allows
information to be obtained from the component's geometry which is not easily visible from the conventional isometric axes orientation, Fig. 7.17. The presence of a hidden line elimination algorithm in conjunction with the reverse isometric view feature will undoubtedly lead to a faster and better appreciation of a component's geometry.
7.4.3 The Status module
The status command module allows the user to determine the state of certain display flags as well as the numerical values of the important parameters. These parameters include
ScaleNumber - the current value of the scale, the current component number, and the scaled values of the absolute position of the graphics pen. During the interactive process of component creation and display the status command module can easily be accessed in order to clarify the status of the above mentioned parameters. ISOMETRIC ORIENTATION REVERSE ISOMETRIC ORIENTATION
7.17 COMPARISON BETWEEN ISOMETRIC AND REVERSE ISOMETRIC ORIENTATIONS. ADDITIONAL INFORMATION ABOUT THE COMPONENT'S GEOMETRY CAN BE OBTAINED FROM THE LATTER ORIENTATION - 157 - i
DESCRIPTION OF THE WORKSTATION'S SOFTWARE
7.4.4 Picture manipulation by transformation matrices
The word 'picture' is used here in its broadest sense
to represent a collection of lines, points, curves, text, etc., to be displayed on a graphic device. Computer-aided graphics inherently involves pictures to be manipulated by operations performed on them such as scaling, rotation, hidden line removal, translation and windowing. Many of these operations can be accomplished by using simple linear transformations involving matrix multiplications.
Homogeneous coordinates are very convenient for accomplishing these transformations.
A (4x4) matrix can be used to perform these individual transformations on points represented as a matrix in homogeneous coordinates [40]. When a sequence of transformations is desired, each individual transformation can be sequentially applied to the points to achieve the desired result. If, however, the number of points is large, e.g high precision circles, then the operation is inefficient and time-consuming.
One possible solution is by multiplying together the individual matrices representing each required transformation and then to finally multiply the matrix of points by the concatenated (4 x 4) transformation matrix.
The ability to formulate and manipulate a matrix is an easy task for a high level language compared with a low level language. This is one of the main reasons why graphics - 158 -
DESCRIPTION OF THE WORKSTATION'S SOFTWARE packages (such as the DISPLAY package) are developed in a high level language.
In order to represent a 3D object within the computer the concept of homogeneous coordinates is introduced. Hence a point in 3D space [x y z] is represented by a four dimensional position vector [x y z 1].
The generalised (4 x 4) transformation matrix (T) for
3D homogeneous coordinates is given by:
a b c p
T = d e f q
g h i r
1 m n s
It can be partioned into four separate sections
T = 3x3 3x1
1x3 lxl
The (3 x 3) matrix produces linear transformation in the form of scaling, shearing and rotation. The (1 x 3) row matrix produces translation and the (3 x 1) column matrix produces perspective transformation. The final single element (1 x 1) matrix produces overall scaling.
The (4 x 4) transformation matrix forms the centre - 159 -
DESCRIPTION OF THE WORKSTATION'S SOFTWARE
point of the coordinate transformations for most of the
following DISPLAY modules.
7.4.5 The Scaling Module
Scaling is an essential feature within a CAD/CAM
system. It permits the absolute values of the workpiece to be stored in the database without worrying about the size or
the resolution of the output device. Primitives are accessed and decoded into a graphical form from the database and are scaled before displaying. A scaling transformation is used to scale dimensions in each coordinate dimension separately:
sv 0 0 0 X
0 Sy 0 0 NEW • [ hold 0 0 Sz 0
0 0 0 1
SCALING TRANSFORMATION
MATRIX
Each (X,Y,Z) coordinate is allocated two bytes for storage. Consequently, the largest positive or negative integer that can be stored in a two byte format is
(127 x 256) + 255 = 32767.
0111 1111 1111 1111 2 byte coordinate
Hexadecimal Value: 7F FF
Decimal Value : 127 255 - 160 -
DESCRIPTION OF THE WORKSTATION'S SOFTWARE
For a four view orthographic projection only one
quarter of the VDU screen is allocated to each view. This
implies that the screen resolution for each view is
360 x 180 pixels. Thus, to display a component of length
32767 units the default scale factor is set to:
Default Scale Factor = 32767 = 180
180
therefore Default S = S = S = 180 x y z
7.4.6 The Rotation Module
Graphical visualisation of an engineering part relies
upon the ability to represent, or display a 3D part.
Furthermore, the ability to rotate, translate and project
views of that part is also, in many cases, fundamental to ft the understanding and verification of its shape.
Fast on-line rotation of the workpiece requires very ft ... fast arithmetic routines. On an 8-bit microsystem arithmetic
processing in software is rather slow for interactive
applications. Consequently, hardware arithmetic processors
It should be utilised for such operations. Having said that,
one of the major drawbacks of most high level language
compilers and interpreters is their reluctancy to allow
hardware arithmetic processing units to be implemented.
Thus, without resorting to special purpose microsystems \ - 161 -
DESCRIPTION OF THE WORKSTATION'S SOFTWARE
often one has to compromise and bear with arithmetic to be.-
performed in software.
One way to speed up the arithmetic computations is by t performing as much computation as possible off-line and then
using this result as a operand. For operations requiring
matrices manipulation off-line concatenation techniques
should be adopted to economise on storage as well as % execution time. For rotation this technique is illustrated
below.
Rotation of an object about an arbitrary axis in 3D
space involves translating the object about the desired axis
of rotation so that the rotation is made about an axis
passing through the origin of the coordinate system. The
method involves a 3D translation, a rotation about the
origin and a translation back to the initial position.
4 In matrix notation,
[X Y Z 1] = [x y z 1] [T] [R] [T] —L,-M,-N ZYX L,M,N
* where (X,Y,Z) represents the transformed coordinates,
(x,y,z) represents the original orthogonal
coordinates,
• [T] represents the translational matrix of the -L, -M, -N object to the origin of rotation,
[Rl represents the rotational matrices, ZYX [T] represents the translation back to the L, M, N initial position. - 162 -
DESCRIPTION OF THE WORKSTATION'S SOFTWARE
-1 In simplistic terms, [X Y Z 1] = [x y z 1] T Rz Rx T
Using the convention that angles are measured
clockwise when looking along the rotation axis towards the
origin we obtain:
COS Y •sin y
Rz = sin y cos y Rotation about the z-axis 0 0
0 0
COS sin
0 ry = 0 Rotation about the y-axis -sin cos
0 0
0 0
RX = sin a -sin a Rotation about the x-axis
sin a cos a 0 0
COS0 COSY -cosa siny + sina sinB cosy sina siny + cosa sinB cosy 0 cosB siny cosa cosy + sina sinB siny -sina cosy + cosa sinB siny 0 ft Thus Rz RY RX = -slnB sina cosB cosa cos 8 O O O - 163 -
DESCRIPTION OF THE WORKSTATION'S SOFTWARE
This can be represented as:
A D G 0
RZ RY RX " B E H 0 C F I 0
0 0 0 1
A D G 0 -1 Hence TRg Hy T B E H 0
C F I 0
L M N 1
where L = - T B "V Y ' Z X M = -TXD - TyE •Z1
N = -TXG - TyH
Thus a transformed coordinate is represented by the following computations:
X =- Ax + By + Cz + L
Y = Dx + Ey + Fz + M
Z = Gx + Hy + Iz + N
This final concatenated solution is used to transform an orthogonal coordinate which is then projected onto the three orthographic planes, Fig . 7.18. FIG. 7.18 PROJECTION OF ORTHOGONAL (ROTATED) COORDINATES ONTO THE THREE ORTHOGRAPHIC PLANES - 165 -
DESCRIPTION OF THE WORKSTATION'S SOFTWARE
7..4.7 Dimensioning of engineering drawings
Engineering drawings or working drawings are an essential part of the design process. They provide a means of communication between the various departments within an
industry as well as between the industry and the customer.
Conventionally, this inovolved, and in certain cases still does, the experiences of draughtsmen to prepare such drawings. However, with the rapid implementation of the computer as a design aid more and more drawings are being produced by the computer. This obviously results in manpower, time and cost economies. Furthermore, the amount of drawings produced on paper is diminishing as more and more are being stored on magnetic media.
One of the time-consuming aspects of engineering drawing production is the amount of time taken to fully dimension a drawing. This process should be computer- assisted and in some cases fully computer-controlled.
In the current version of the DISPLAY package a computer-assisted dimensioning feature is implemented. In order to dimension a component (Fig. 7.19) the graphics cursor is used to digitise three coordinates (X-^Y^),
(X2,Y2) and (X3,Y3). The first two digitised coordinates represent the length of the dimension line while the third point defines the distance between the component and the dimension line's extremity. After the dimension lines have been displayed the graphics-cursor is automatically - 166 -
"3 3'
Case (a) Vertical Dimensioning
(X2Y21
rX2Y2) (X^ l (xiV
Case (b) Horizontal Dimensioning
FIG. 7.19 EXAMPLES OF DIMENSIONING WITHIN THE DISPLAY PACKAGE - 167 -
DESCRIPTION OF THE WORKSTATION'S SOFTWARE
positioned at the centre of the dimension line for text
labelling. The text orientation is automatically selected by
the computer according to the geometry of the three
digitised points.
7.4.8 Clipping and Windowing Modules
In graphics applications the process of displaying only
a part of the complete picture database is called windowing.
In general there are two types of windowing - clipping and
scissoring. Clipping involves determining which lines or
portions of lines in the picture lie outside the window
boundaries, called a viewport. Those lines or portions of
lines are then discarded and not displayed. In the
scissoring technique, which is not used here, the display device has a larger physical drawing space than is required.
For some applications, as in this case, where hardware clipping is not available, software clipping must be employed. Several clipping algorithms exist [40] and the one
implemented within the DISPLAY package is one invented by
Dan Cohen and Ivan Sutherland [40]. It is a simple algorithm which is designed not only to find the endpoints of the portions of lines which are partially visible but also to reject even more rapidly any line that is clearly invisible.
The algorithm consists of two parts. The first determines whether the line lies entirely on the screen and - 168 -
DESCRIPTION OF THE WORKSTATION'S SOFTWARE
if not whether it can be trivially rejected as lying
entirely off the screen. If it satisfies neither of these
tests, then it is divided into two parts, and these two
tests are applied to each part. The algorithm depends on the
fact that every line is either entirely on the screen or can
be divided so that one part is trivially rejected.
The VDU screen is either subdivided into four viewports
for the visualisation of four orthographic views, or is
utilised as a singleview viewport. In the singleview mode
the entire screen becomes the viewport and a single view of
the component is displayed. Clipping and windowing are then performed on the viewport(s). In the singleview mode the viewport is made to coincide with the whole of the screen to take full advantage of the maximum screen area and the VDU's limited resolution.
Windowing is an operation whereby a portion of the entire picture can be displayed in greater detail. This involves the specification of a scale factor and translation to be applied to the picture. The transformed picture is then displayed within the specified viewport. Fig. 7.20 represents the flowchart of the windowing module. The window size is determined by digitising two points (X^, and
YW2^' they being the coordinates of the leading diagonal of the window. The current scale value is temporarily stored and the desired viewport cleared, i.e. all pixels set to zero. The new scale is determined by: - 169 -
BEGIN
Set (X^ , ) ,
Store Current Scale
Yes
Check View Clear Entire Display
Clear that Viewport
Check View
Abort all other viewports
Draw and label axes Label Plane
CX X New Scale =» Old Scale * W2 " wk 360
Let WSF = 360 ABS( ~ ^wi ^ Viewports Left constraint = X*,, * WSF W1 Viewports Right constraint = X. WSF W2 Viewports Bottom constraint = YW1 * WSF Viewports Top constraint = Y^ * WSF
Read Primitives from Database 'db coordinates Clip lines against viewport boundaries 'db coordinates
Translation to screen coordinates 'display coordinates
Display Line
inishedN k Restore Old Scale END No
7.20 FLOWCHART OF THE WINDOWING MODULE - 170 -
DESCRIPTION OF THE WORKSTATION'S SOFTWARE
New Scale = Old Scale * (XW2 - X
360
where the length of the viewport is 360 pixels.
The clipping viewport constraints are then computed and each line clipped against these constraints. The clipped database coordinates are then translated onto the appropriate viewport. Two examples of windowing are illustrated in Fig.
7.21 where the plan and the side elevation views are windowed. FIG. 7.21(a) AN EXAMPLE OF WINDOWING OF THE PLAN VIEW
FIG. 7.21(b) AN EXAMPLE OF WINDOWING OF THE SIDE ELEVATION - 172 -
DESCRIPTION OF THE WORKSTATION'S SOFTWARE
7.5 The PLOTTER Package
The PLOTTER package communicates directly with the multi-microcomputer based flatbed plotter via a standard
RS232 communication bus. The PLOTTER package is sub-divided into two distinct modules. The first, written in Pascal, is responsible for the transformation of the characters from their default size and orientation. The second module, written in assembly language, contains the ASCII character generation set in software. It is also responsible for the transmission of data to the plotter for the production of graphical hard copies of the Product/Component in first angle orthographic projection as well as rotated 3D views.
Due to the limited resolution (720 x 360) of the VDU screen high resolution plotter hard copies can be used for the verification of the component's geometry as well as NC cutter paths. A flowchart of the PLOTTER package is illustrated in Fig. 7.22. Initially the views which are desired on the plotter are selected together with the desired paper size A2 or A4. The input command repertoire of the PLOTTER package is very similar to that of the DISPLAY package and is presented in Appendix E. Having verified that the command's syntax is correct, by cross-referencing against the input command vocabulary table, the appropriate view flags are set. If the axes, as visible on the VDU screen, are required then they are plotted on the plotter.
The plotter scale is adjusted so that the VDU screen direcly coincides with the selected paper size. - 173 -
Select size, aspect ratio, angle of inclination and slant parameters
Set appropi•iat e flags
Enter chlaracte r to be pilotte d
Determine starting address of character generation routine from character index table
Character vector Determine next transformation routine vector of the character from the dictionary - 174 -
DESCRIPTION OF THE WORKSTATION'S SOFTWARE
The software character generation set consists of 85
ASCII characters defined in a 50 x 70 matrix. The character generation set consists of a dictionary, containing the number and description of the vectors which formulate the character, and an index table. The index provides a fast look-up table where the starting address of the character within the main dictionary can be found. Another major
.advantage of a dictionary and an index table is the ability to easily .expand the character set. Although, at present, only the conventional ASCII characters are implemented additional useful characters and symbols, e.g. Greek and mathematical, may justify themselves to be implemented.
Some additional features implemented within the
PLOTTER package are:
text slanting, i.e. italics;
text orientation - writing text at an angle of
inclination to the horizontal. The range is 0 to 360
degrees;
variable character aspect ratios;
variable character size;
software selection of the plotter pens. - 175 -
DESCRIPTION OF THE WORKSTATION'S SOFTWARE
7.,6 The DESIGN Analysis Package
The design of an engineering part almost always
involves the determination of its structural properties.
This stage in the design cycle is known as the 'Expansion of
Information' whereby a detailed design analysis of the part is performed, as mentioned in Section 2.2. This final quantification of the part means establishing its physical dimensions, its behaviour and response in the various operating conditions to which it may be subjected.
The ability to compute these parameters relies heavily on the geometry of the part and whether a suitable model can be formulated. Often, for complex geometries, especially three-dimensional, finite element techniques have to be approached. For relatively simple geometries, such as turned parts, design computations can be easily handled by the low cost computers.
DESIGN is such a package. It is written in Pascal due to the mathematical nature of the design analysis subject.
It is responsible for the on-line computation of the following parameters for turned components only:
1. Mass
2. Volume
3. Centre of gravity (centroid)
4. Total circumferential surface area
5. Moment of inertia about the major axis - 176 -
DESCRIPTION OF THE WORKSTATION'S SOFTWARE
6. Radius of gyration about the major axis
7. Equation of the major axis (centreline)
Presently, only the above mentioned seven parameters are evaluated for each primitive as well as for the entire component. However, it is proposed that this package be expanded and another package developed capable of analysing milling components. This is discussed in Chapter 10 in future work.
Besides the computation of the above mentioned geometrical parameters, two common engineering design cases are implemented. They are:
1. Given a known direct pull force determine:
(a) the stress, strain and elongation of
each Primitive,
(b) the total extension of the component.
2. Given that the maximum stress induced in the
component when loaded axially in tension is a* ,
determine the axial load and the total change in
length of the component.
The integration of the two specific design cases within the DESIGN package is illustrated in Fig. 7.23. Section 8.1 illustrates in detail the sequence of events within the
DESIGN package. A summary is presented below. BEGIN
Set scale value
Display component in 1st DB angle projection and isometric view
Select Design Case (A or B)
Materials Select material from archive Archive
Reinitialise data base pointers
Access next DB primitive from DB
Compute and Accumulate values of Moment of Inertia of Primitive about the axis (I) Compute centre of gravity of and its circumferential entire component by surface area (A) y ZWx pZvx Zvx * 3 IF" " plv~ " Xv~ ZWy Zvy Computer the centre of gravity ZW Zv (x,y,z), volume (v), stress, ZWz Zvz strain and elongation (e) of Z = iw each conical primitive Zv and graphically display (X,Y,Z) on all views
t r Yes
Total Volume, V = Zv Radius of gyration of component Total Mass, M = pV Total Circumferential = A • Z1 r m Surface Area
1 Total elongation = Ze
f Print design dcit a on disc
END
FIG. 7.23 MACRO FLOWCHART OF THE TURNING DESIGN
ANALYSIS PACKAGE - 178 -
DESCRIPTION OF THE WORKSTATION'S SOFTWARE
DESIGN is a two pass package. The first pass involves
the accession of the DB, the decoding and display of the geometry in the four view first angle projection supplemented with an isometric view. The second pass
involves the accession of the geometrical attributes of the
Primitives from the DB in order to compute the values of the design parameters such as mass, volume, etc. Fig. 7.24 specifies the valid turning Primitives and the mathematical formulae used to evaluate the parameters. Computation of the relevant stress, strain, elongation and axial load parameters is performed according to the selected design case. The results can then be manipulated in one of three ways:
1. Display them alphanumerically on the VDU
2. Output them to the printer
3. Store them in an ASCII format on a disc file.
Upon completion of the analysis of the individual
Primitives the results are then collaborated for the entire component and presented in one of the above mentioned three ways. Collaboration often involves numerically summing up the individual elements. However in some cases they require more complex manipulation. For example, the moment of inertia and the centroid of a composite body require the manipulation of several parameters as illustrated in
Appendices F, G and H. ft m m TURNING GRAPHICAL VOLUME CENTROID TOTAL CIRCUMFERENTIAL MOMENT OF INERTIA RADIUS OF GYRATION PRIMITIVE DESCRIPTION (v) Cx) SURFACE AREA (A) ABOUT ITS AXIS (Ix) ABOUT ITS AXIS (kty
« L 2 2 L uDL D D \ _ |D L PV 2 8 2/2 CYLINDE R
* * * * L r
2 (D1 + D2) L (D. + D?) 2 D + D )L PV j cd, • d2) l 2 1 < 1 2 32
THREA D 4/2
K it * * * L. 2 2 2 d L -D arL2XD1 + D2) (D + D )2L - ID4 L rr " T6 l 1 2 2 71(0^12 + D^ 32 lU1 2 x t, 2 2 / 2(D L2 + D ^^)) pv TA P 2 • 4 D (L1 - L2)] 4 + D2(L] - L2)) + D (L1 - L2)]
fra + 4 3 4 4 H(D - 3D2D + 2D ) 2 /3[(D1+ D2) - DjD2 h D + D } - D1D2(3(D1 + D2) - + D D + D 2) X < 1 2 Tl , 2 2 3 3 2 3(D2 - D^CD - D ) / 10[(D1 + D2) - D^] - DiD2}] 2 TAPERCYLINDE R * j {3(D1 +D2) -D1D2}] u l. . I 2 2 2 2 b, 1 D L - D L 4 4 4 71 D L ' £1 rn i - d l 1 /(D^ ~ D L2) 1 ~- f C°?L1 " °2L2> 1 1 T IU1L1 2 2 I 2 2 2 2 1 2(D L1 - D L2) / 2(D L1 - D L2) HOLLOWCYLINDE R • ' Y KEY: sign convention * approximate value »-x FIG. 7.24 TABLE OF THE CURRENTLY IMPLEMENTED TURNING PRIMITIVES WITHIN THE DESIGN ANALYSIS PACKAGE AND THEIR MATHEMATICAL DESIGN FORMULAE - 180 - DESCRIPTION OF THE WORKSTATION'S SOFTWARE 7.7 The Turning Cutter Path Derivate TCPDR Package 7.7.1 Requirements from an NC part-programming package The most critical stage of the design-manufacture cycle is that of the generation and verification of the cutter paths. For an error at this stage can lead to the destruction of the part as well as the machine tool itself. Conventionally, an NC papertape is generated which contains coded information regarding the tool movements, the tool changes and the machining parameters. The papertape is then loaded onto the machine tool and a dry run performed to check for programming errors. Not only is this time consuming but it is not totally reliable. For example, a depth of cut greater than that permissible by the chosen tool and the material is impossible to detect on a dry run. Consequently, with the emergence of low cost minicomputers and now microcomputers, it has become economically feasible for small to medium sized industries to utilise such computers to generate and graphically verify part-programs [41]. Furthermore, computers are well suited to handle and manipulate the tremendous amount of mathematical computations required in the generation of detailed machining instructions. This is especially true when mathematically defined configurations, such as curves and surfaces, are involved. Computers are also advantageous for man/machine communication. Human beings both think and communicate in their natural language, which posses the - 181 - DESCRIPTION OF THE WORKSTATION'S SOFTWARE problem of reducing natural language to an elemental form (numerical) which the machine tool control can understand, This conversion can best be done within a computer, thus relieving the human of a repetitive type of mental activity. As discussed in section 1.3 the traditional method of NC part-programming is via APT.. Although APT is highly comprehensive it possesses three main severe restrictions. Firstly, due to its comprehensiveness in dealing with complex geometries it is large and requires large computers to be run on. Secondly, the part programmer must have detailed knowledge of the conventional manufacturing process and be familiar with the capabilities and functions of NC machine tools and NC processes. Thirdly, it cannot directly access a computer database for the retrieval of geometrical and technological information. Several universal packages, such as Compact II [42], ft GNC [43] , Polysurf [44] and Surfset [45], were analysed but it was found that they too possessed the above mentioned restrictions. Consequently, a design methodology was adopted to develop a package capable of interacting with the system's database and which does not require the knowledge of an experienced part programmer. It had to be interactive ft in order that the operator may investigate several machining operations, and had to comply with the two NC programming conceptual realms of: Positioning, also known as Point-to-Point, and Continuous Path, or Contouring. - 182 - DESCRIPTION OF THE WORKSTATION'S SOFTWARE By incorporating these two programming features the. task of programming a part would be very much simplified. Furthermore, absolute and incremental programming features a:r.e vital so that several machining da-turns can be formulated to ease machining. This is conjunctional with the fact that most machine control units (MCU's) are equipped with a "floating zero" or "zero shift" which enables the programmer to establish the fixed zero for a particular workpiece in the most convenient location. There are both marked similarities and differences between Continuous Path and Point-to-Point programming. The bond of similarity shared by the two is the fact that dimensioning is within the framework of rectangular coordinates, as illustrated below in Fig. 7.25. MACHINE ELEMENT MOVEMENTS X Axis—Table side to side Y Axis—Table fronl to rear Z Axis—Spindle vertically into work fig. 7.25 typical rectangular coordinates for machine tools - 183 - DESCRIPTION OF THE WORKSTATION'S SOFTWARE There must be reference points or planes on the workple.ce that relate to machine axes in all NC work. There is, however, one marked difference - interpolation. Interpolation must be a function of any contouring system and is the main distinguishing feature that separates contouring controls from the more simple positioning controls. For a dedicated CNC system, such as the one proposed and implemented in Chapter 6, the task of linear, circular and conical interpolation should be dedicated to a special purpose hardware chip. Such interpolation chips do exist such as the TOKO chip [46] incorporated on the NC milling machine, described in section 6.3.4. The introduction of such hardware interpolators greatly reduces the programmer's task as well as reducing the length of the CLDATA tape. The above discussion indicates the requirements which must be inherent within the NC part-programming package. These requirements were fulfilled by developing two NC cutter path derivate and simulation packages. The first was developed for 2D turning operations and the second for 2hD milling operations. 7.7.2 Description of the TCPDR package Once the geometry of the component to be machined has been entered, displayed, analysed and stored using the - 184 - DESCRIPTION OF THE WORKSTATION'S SOFTWARE above-mentioned packages, the cutter path's loci can be generated. The automatic generation of the loci and the machining commands, such as feedrates, spindle speeds and tool changes, are the responsibility of the TCPDR package [47]. TCPDR requires the following information to generate the loci: 1. Geometry of the component 2. Geometrical and technological parameters of the blank 3- Geometrical and technological parameters of the cutting tools(s) 4. Characteristics of the CNC lathe 5. Selection of production criteria. Fig. 7.26 graphically illustrates the interaction between the above five input requirements and the TCPDR package. The geometry of the component is directly extracted from the database, while the geometrical and technological parameters of the blank are specified by the user. A library of cutting tools is incorporated within the package where the tools' geometry and material are stored. The tooling library has been designed so that deletion and addition of tools is a very easy task. The characteristics of the CNC lathe as well as the operating limitations for a range of lathes may be stored within a Machine File. Constraints such as the maximum and minimum spindle speeds, feedrates, horsepower, the resolution of the machine tool, the number - 185 - Component Description Database Geometrical and Technological Parameters Keyboard Associated With the Blank Geometrical and Technological Parameters Tooling Associated with Library the Cutting Tool(s) Characteristics of the Machine Tool Machine File Keyboard >— >. Selection of Production Criteria Data from experience Machinability| Data Main part of the TCPDR package FIG. 7.26 ACQUISITION OF MACHINABILITY DATA WITHIN THE TCPDR PACKAGE DESCRIPTION OF THE WORKSTATION'S SOFTWARE of axes and tools, and the axes strokes would be stored within the Machine File. In the current version of the TCPDR package only the essential characteristics of the CNC lathe (described in section 6.3.3) are stored. The final piece of information which must be supplied is the selection of one or more of the following production criteria [48,49,50]. 1. Tool Life. The cutting tool lasts for a specified period of time. 2. Surface Finish. A specified surface smoothness is achieved and maintained. 3. Accuracy. Tool deflection and vibration are below a specified maximum. 4. Power Consumption. Power consumption is maintained below a specified level. 5. Economic Criteria. A maximum production rate or minimum cost per piece is achieved. In an effort to relieve the operator from having to know so much about the machines' operations, a machinabi1ity routine has been incorporated within the TCPDR package. This routine allows the operator to include the above specified information about the machine tool. With this information the computer calculates the appropriate feeds, speeds, number and dimensions of the required roughing and finishing cuts. This alleviates the need for large feed and speed archives, and helps to insure the best part program. (The term 'operator' is used instead of 'part programmer' to highlight the fact that an experienced part programmer is DESCRIPTION OF THE WORKSTATION'S SOFTWARE not required to execute the CPDR packages). The selection of the optimum cutting conditions is based upon an algorithm devised by Acosta [51]. Interaction between the operator and the computer is important at this stage. Allowances have been made for the operator to change the cutting parameters. Thus, having determined the optimum cutting conditions the operator can utilise his experience and modify the cutting parameters. Furthermore, any recommendation generated by the system is displayed but not implemented automatically - the user always has the final control over the machining process. In order to illustrate the features of the TCPDR package consider the example illustrated in Fig. 7.27. It consists of the three primitives, Thread, Cylinder and TaperCylinder. The first operation is the sorting of the coordinates (Fig. 7.28). This ensures that the component consists of turned primitives only and that they are contiguous. The default machining parameters are then displayed graphically as well as numerically as illustrated in Fig. 7.29. The default values are for the current CNC machine tool system with an HSS tool and aluminium. The VDU screen is subdivided horizontally (Fig. 7.29) with the upper portion displaying the status of the machining parameters and the lower portion being used for alphanumeric and graphical display. FIG. 7.27 AN EXAMPLE OF A TURNED PART TO ILLUSTRATE SOME OF THE FEATURES OF THE TCPDR PACKAGE Q Begin^ Read primitives from database and sort out component profile \ coordinates Subdivide screeen and display default machining parameters on upper portion Determination of optimum cutting conditions algorithm Request for blank geometry 00 CD Check for thread primitives and check for undercuts If undercuts are present then modify component's profile geometry FIG. 7.28 MACRO FLOWCHART OF THE TCPDR PACKAGE SCALE COMP NO TOOL NO DEPTH CUT (in) FEEDRATE (in/s) SPINDLE SPEED M/C TIME (sec) 9 11 1.2500E - 01 1.2500E-01 1000 0.0 i FIG. 7.29 SUBDIVISION OF THE VDU SCREEN FOR ILLUSTRATION OF THE MACHINING PARAMETERS AND THE COMPONENT 191- DESCRIPTION OF THE WORKSTATION'S SOFTWARE The geometry of the blank is then requested and displayed. An undercut algorithm checks the geometry and if undercuts are present then a modified component profile is displayed, Fig. 7.30a. Subsequently, if facing is required then the facing tool is selected from the tooling library and the the facing operation simulated, Fig. 7.30b. Having performed the facing operation the next operation is roughcutting whereby excess material is removed at the fastest possible rate according to the machining x criteria chosen. The roughing and finishing tools are selected from the tooling library so that the tool tip offsets (Fig. 7.31), and the machining parameters can be evaluated. The machining parameters (displayed on the upper portion of the screen) are constantly being updated with each machining operation. For example, at all times the system displays the machining time necessary to complete the work to the present point in the machining process. The machining time is calculated using the following formula: T = L fN where T = time in minutes L = length of cut in inches f = feed in inches per revolution N = lathe spindle speed in revolutions per minute The number of passes and the roughing cycle are then displayed, Fig. 7.30c, followed by the final roughing operation, Fig. 7.30d. During the finish cut operation the - 192 - Ca) Illustration of the workpiece and blank (b) Facing operation roughcut passes Ccl Roughcut passes (d) Final roughing operation X Finish tool Undercut tool locus (e) Finish cut operation (f) Undercut operation Part-off tool locus (g) Threading operation (h) Part-off operation FIG. 7.30 STAGES IN THE MACHINING OF A PART - 193 - DESCRIPTION OF THE WORKSTATION'S SOFTWARE spindle speed is increased and the feed rate reduced, Fig.. 7.30e. If the component contains any undercuts then the temporarily modified geometry must be restored. The undercut algorithm consists of two distinct parts. The first part is employed when narrow undercuts are present and can be machined with a single pass of an undercut tool, Fig. 7.30f. The second part utilises two tools, a left and a right handed tool, and is used for wide undercuts. If threading is to be performed then the threading tool is selected and the threading algorithm invoked, Fig. 7.30g. This involves recalling a canned thread cycle. Since threading represents a complex machining operation the use of a canned cycle is desired since it allows the computer rather than the part programmer to decide how operations should be performed and how they should be coded. The final operation is parting-off. The tool path is simulated by a dotted line, Fig. 7.30h. This operation is similar to the facing operation. The result of the TCPDR package is the generation of a CLDATA file which contains all the information pertinent to machining. A description of the TCLDATA file is presented in Appendix I, and the command repertoire of the TCPDR package presented in Appendix J. DESCRIPTION OF THE WORKSTATION'S SOFTWARE 7..8 The Milling Cutter Path Derivate MCPDR Package MCPDR represents the second of the two cutter-path generation and simulation packages. MCPDR, written entirely in Pascal, is responsible for the automatic determination of the cutter loci for dimensional pocket milling operations [52]. Since pocket milling represents the majority of the milling operations performed in industry, such a package conforms to the majority of the requirements of a manufacturing industry. Furthermore, several other machining operations are inherently involved in pocket milling, e.g. internal contouring and drilling, which formulate the basis of program expansion to accommodate for the remaining milling operations. Further expansion of the current package is unfortunately impossible on the present workstation due to the severe restrictions imposed by the current hardware and operating system. However, program modularity has been incorporated to allow for future expansion on a larger computer. 7.8.1 Features of the MCPDR package There are several factors which contribute to the system's ability to satisfy a large number of requirements imposed by the part programmer and the machining operations, but those which may be singled out as of particular importance are: - 195 - DESCRIPTION OF THE WORKSTATION'S SOFTWARE Graphical facilities Suitability to an industrial environment Interactive and ease of use .. Modularity and expandability, and Full dependability on the system's common database. Graphical Facilities Extensive graphics features are provided to aid the part programmer in the visualisation of the component and the tool path. These include 1st angle orthographic projection, and isometric view, clipping and scaling transformations and a direct software communication link with the plotter package for the production of hard copies. Industrial Environment Suitability By incorporating machinability routines and allowing the operator to override computer selected parameters the system is ideally suited to an industrial environment. Interactive and Ease of Use MCPDR is an interactive package and is very easy to use. Unlike most conventional part programming packages, it does not require an experienced operator since it does not invoke the use of a part programming language. Its simplicity lies in the extensive use of a two way conversation between the computer and the operator in common English. Most questions either require a straightforward Yes or No response or a numerical value. - 196 - DESCRIPTION OF THE WORKSTATION'S SOFTWARE Modularity and Exandability As mentioned above, MCPDR consists of several modules and hence system flexibility and expandability represent a relatively straightforward task. Full DB Dependability Technological and geometrical attributes associated with the part are directly extracted from the system's common DB. This has the advantage of MCPDR being consistent with the other software packages and thus a separate DB need not be constructed for milling parts. However, this does mean that if complex geometries besides lines and arc are to be milled then they must first be defined within the DB. 7.8.2 Description of the MCPDR package Description of the features of the MCPDR package will be aided by the use of program flowcharts and several illustrations. Fig. 7.32 illustrates a macro flowchart of the MCPDR package. It is clearly visible that MCPDR consists of several modules which are executed sequentially. Upon program entry the workpiece's geometry is decoded from the compact DB, scaled and displayed in the desired views. The four possible views are: plan elevation; front elevation; © FIG. 7.32 MACRO FLOWCHART OF THE MCPDR PACKAGE FOR 2JD POCKET MILLING OPERATIONS - 198 - DESCRIPTION OF THE WORKSTATION'S SOFTWARE side (end) elevation; and isometric projection. Any combination of views can be displayed simultaneously. By displaying more than one view illegal tool paths can easily be detected. The blank size is then requested and the material specifications are selected from a Material Archive. The next operation is to select the cutting tools and the cutting parameters from tool and machining parameters' libraries respectively. The cutting speed, which may be defined as the speed, in metres per minute (or in surface feet per minute), at which the material may be machined efficiently is calculated using the formula: r/min = cutting speed circumference r/min = 12 x CS 3.1416 x D where CS = cutting speed D = diameter of cutter This approximates to: r/min = 4 x CS D 199- DESCRIPTION OF THE WORKSTATION'S SOFTWARE The milling machine feed is determined by the formula: Feed = number of teeth in the cutter * recommended feed per tooth * r/min of the cutter Since these two formulae are approximate only, in that they are independent of the hardness of the material, the machine's condition and the depth of cut, allowances have been made within the package to override these values. This feature provides the operator with much more flexibility in the machining of parts. The depths of cut for the roughing and finishing operations have been fixed at half the cutter's diameter, Fig. 7.33. In the current version of the package this ratio cannot be changed due to the memory limitations on the current 8-bit system, and undoubtedly represents an area for future work. The machining parameters are displayed on the VDU screen in a similar manner to the TCPDR package. Having displayed the workpiece geometry and selected the machining parameters the next operation is to compute the finecut and roughcut offsets. The offsets represent the contour which must not be violated by the roughing algorithm, see Fig. 7.33. Computation of the offset coordinates for lines and arcs is illustrated in Fig. 7.34. Similar offset calculations need to be performed for other geometries. ft FIG. 7.33 ILLUSTRATION OF THE WORKPIECE AND ITS ASSOCIATED FINISH AND ROUGHCUT OFFSET CONTOURS - 201 - X - DsinG o XQ • DsinG - DcosQ Y. • -DcosG (xsys) o (XSYS) Case of 0 < 9 < 90 Case of 90 < 9 < 180 Xq - -DsinG XQ - -DsinG - -DcosG Y • DcosG o q Case of 180 < 9 < 270 Case of 270 < 9 < 360 CXCYC) (xsys) , CXFYF) CXsYs) CXFYF) c Vo3 X o =» X_r -DcosG Y - Yc -DsinG X„ = X +Dcos9 CXcYc) o r 0 Fc Y - Y +Dsin9 o Fn Clockwise fillet Anticlockwise fillet FIG. 7.34 COMPUTATION OF THE OFFSETS (Xn Y ) FOR LINES AND ARCS - 202 - DESCRIPTION OF THE WORKSTATION'S SOFTWARE Having computed the finecut and roughcut offsets a second pass is performed to adjust the offsets according to the subsequent primitive. This 'look-forward' technique is illustrated in Fig. 7.35 for the four cases: line followed by a line, line followed by an arc, arc followed by a line, and arc followed by an arc. To recap, up to now, the component has been decoded from the database and displayed in the desired view(s). The machining parameters and tools have been selected and the finish cut and final roughing offset coordinates computed. The final roughing offsets now have to be post-processed to eliminate any illegal moves. The post-processing task is accomplished with the aid of four interference filtering routines, Figs. 7.36, 7.37. Consider the examples illustrated in Fig. 7.36. In each case the workpiece and the final roughcut offsets are shown. The offsets are numbered 1 to 4. The numerical value specifies the direction of tool travel, i.e. the tool travels from offset number 1 to offset number 4. If a closed loop is formed by the tool path locus, as illustrated by the intersection of the locus joining the points (1/2) and (3,4), then offset number 2 is deleted and offset number 3 updated. The intersection point between lines 1,2 and 3,4 - 203 - D sinHalt2 - °2>3) cosl (c 1,2 '2,3 D COS|(alt2 - a2t5) COS i (c 1,2 2, 3J LINE FOLLOWED BY A LINE D sinj(a1 - - a- ..) x a 1 > 4 l » j o cosi(a1>2 - d2>3) D cosKalt2 - a2t3) cos](a. + a J 4 ,2 2,3 LINE FOLLOWED BY A LINE (Xpi Ypi) and (Xp2 Yp2) found by simple geometry knowing angle of (vO inclination of the two lines. LINE FOLLOWED BY AN ARC AND ARC FOLLOWED BY A LINE For each fillet a check is made as to whether it is concave or convex looking from the right of the surface. If it is concave then locus radius is less than that of workpiece the arc. If it is convex then Tool path locus radius is greater than arc radius. ARC FOLLOWED BY AN ARC FIG. 7.35 DETERMINATION OF THE TOOL OFFSET COORDINATES FOR THE CASES ILLUSTRATED - 204 - - 205 - ORIGINAL ROUGHCUT LOCUS FINAL ROUGHCUT LOCUS COMMENTS (Before filtering) (After filtering) /////// Example of cue 2 Interference filtering. Lines joining offsets (1,2) and (4,5) are checked for Intersection. If they intersect /////// y, internally then 4 offsets are deleted. 2I t v, V777 ~77777777/ ////// 7//7// ////// Example of case 2 interference v, filtering. In this situation Y^Z/y/ 2 offsets are deleted. F V Example of case 3 interference filtering. Lines -joining- offsets (1,2) and (6,7) are F checked. If they intersect internally then 4 offsets are / deleted. 7 F //// Example of case 4 interference filtering. Example of cue 4 interference filtering. FIG. 7.37 EXAMPLES OF CASE 2,3,4 INTERFERENCE FILTERING - 206 - DESCRIPTION OF THE WORKSTATION'S SOFTWARE represents the updated coordinates. The filtered final roughcut locus is illustrated in column 2 of Fig. 7.36.. Three other filtering routines were developed for the cases illustrated in Fig. 7.37. It should be noted that these four interference filtering routines cover the majority of circumstances that might be invoked with line and arc primitives. The order in which these four routines are executed is a very important asset to the package. For example, consider the geometry illustrated in Fig. 7.38a, consisting of a recess formed by line and arc primitives. Six offsets are calculated by simple translation of the workpiece coordinates, Fig. 7.38a. They now are passed through the filters and the results illustrated after each filtering routine. The first filter detects that there is an intersection between lines 1,2 and 3,4 and thus deletes 1 offset. The resulting five offsets, Fig. 7.38b are passed through the second filter which deletes 2 offsets and produces the modified locus illustrated in Fig. 7.38c. The third and fourth filters have no effect upon the modified locus and thus leave it unchanged. The final filtered locus is illustrated in Fig. 7.38d. The finish cut and the final roughing loci are then displayed on the VDU screen. Referring to Fig. 7.32, the next operation is the determination of the roughcut constraint coordinates. They may be defined as the two extremities of the cutter's path. The roughcut constraints are calculated by formulating a - 207 - FIG. 7.38 ILLUSTRATION OF A GEOMETRY WHICH HAS AN EFFECT ON TWO INTERFERENCE FILTERS - 208 - DESCRIPTION OF THE WORKSTATION'S SOFTWARE roughcut grid, as illustrated in Fig.. 7.39.. The workpiece is scaled down by a scale value of: scale value = grid size = rough cutter's radius Bressenham's [53] linear and circular interpolation is then invoked on the scaled workpiece. The result is the generation of the roughcut constraint coordinates which lie on the grid line intersections. These coordinates are then scaled up by the same scale value to represent true workpiece coordinates. These constraint coordinates are represented on Fig. 7.39 by an 'X' symbol and are stored in an array. The great advantages of employing a grid over the conventional mathematical vector intersection technique can be summarised as: the ability of re-using existing scaling transformation routines. These routines already exist for the display of the workpiece and by utilising a scale value equal to the gridsize considerable economies can be achieved in the length of the program; • a considerable reduction in the amount of computation. The vector intersection technique can become very sophisticated especially when detecting possible intersections between conical primitives; Grid Workpiece Finecut constraint Roughcut locus Roughcut constraint - 210 - DESCRIPTION OF THE WORKSTATION'S SOFTWARE the complexity involved in the determination of the roughcut constraint coordinates is independent of the number or geometry of the primitives; and finally, reduced computation time due to the absence of complex mathematical computations. The roughcut constraint coordinates are then used to determine the internal roughing locus for surface clearance. The internal roughing algorithm is illustrated in Fig. 7.40b. It has been devised especially for use on an 8-bit microcomputer system where memory and speed restrictions exist. Consequently, the roughing cutter path locus consists of horizontal and vertical (X,Y) movements only. For the majority of cases where the machining time is not a critical factor this algorithm is an acceptable one. Furthermore, it is ideal for rolled blanks whereby the majority of the material removal is along the grain or the direction of rolling. Fast algorithms do exist [54] for the optimisation of the cutter paths for machining arbitrarily shaped pockets. Modularity of the MCPDR package enables such algorithms to be incorporated. The penultimate machining operations are the generation of the final roughing and finishing loci. They are simply performed by tool(s) changes and internal contouring along the roughcut and finecut offsets, Fig. 7.40c. - 211 - Hri" i rri FIG. 7.40a Geometry of the workplace. Workplece Flnecut constraint Roughcut locus Roughcut constraint Datum ^^ FIG. 7.40b Flnecut and roughcut constraints and roughcut locus . - 212 - DESCRIPTION OF THE WORKSTATION'S SOFTWARE The ultimate machining operation that may be invoked is vertical drilling, Fig. 7.40d. The drilling algorithm is illustrated in Fig. 7.41. During the drilling operation the tool(s) and the machining parameters are selected from their respective libraries. A canned drilling cycle is then executed for each of the holes to be drilled. A simple point-to-point instead of a complex machine tool time optimisation, routine is incorporated for the drilling operations. Optimisation routines in which the mathematics involved in ensuring that the chosen path is most efficient are rather complex. They are also often very time-consuming and are not ideally suited for the smaller microcomputer based systems. Furthermore, the more rigorous routines generally take up so much time that the solution to the problem costs more than the savings from the more efficient machining. The machining codes are stored in a MCLDATA file for subsequent access by the part program generation package. A hardcopy of the blank, workpiece, internal roughing, final roughing, finish locus and drilling operations can be obtained via the PLOTTER package. The MCPDR plotting algorithm is illustrated in Fig. 7.42. One of the greatest advantages of the MCPDR hardcopy algorithm is that by directly accessing both the database and the MCLDATA files errors within the files can easily be detected. 213 - ( Begln ) Read from DB cylinder primi tives and store relevant Database attributes in matrix DRILLMAT(Nx 5) r Display cylinder primitives1 centres by a '+ f sign r Set counter 1=1 - f For Ith hole display G cursor at that position, display /Tooling alphanumeric value of diameter \Library and depth and request for tool number and machining parameters Machina- bility Perform tool c!lang e operation Library if required r Execute canned drilling cycle for Ith hole 1 = 1 + 1 No Yes Return to origin ( STOP ) FIG. 7.41 MACRO FLOWCHART OF THE VERTICAL DRILLING ALGORITHM - 214 - Begin Request for paper size (A2 or A4) r Set Plotter Scale Select Plotter Pens Database Plot workpiece Plotter Hard copy and blank package MCLDATA Read 1 record File from MCLDATA file Plotter Display a move Package Plotter Display a Package cut Return plotter to origin END FIG. 7.4 2 FLOWCHART OF THE MCPDR PLOTTING ALGORITHM - 215 - DESCRIPTION OF THE WORKSTATION'S SOFTWARE A description of the MCLDATA file is presented in Appendix I, and MCPDR package's command repertoire in Appendix J. The remaining task is to simply convert the MCLDATA file from an integer binary format to one accepted by the milling machine tool described in Section 6.3.4. - 216 - DESCRIPTION OF THE WORKSTATION'S SOFTWARE 7..9 The Part Program Generate PPGP Package The executive task of this package is the conversion of the TCLDATA file from an integer binary format to one acceptable to the CNC turning system. It also has an additional function of direct transmission of the part programs, via a serial RS232 bus, to the CNC system. The direct communication protocol permits two-way communication between the CAD/CAM workstation and the CNC turning system. Thus, part programs as well as data can be transmitted from one system to another. The format of the CNC milling system has yet to be finalised. It is envisaged that its format will probably be the universal EIA standard. The development of a similar part program generation package for the milling system MPPGP has thus been postponed. In the CNC turning system, described in Chapter 6, there resides a high-level programming language called Machine Tool Interpreter Language (MTIL). A full description of MTIL is presented in references [9] and [31]. For the sake of the present discussion it can be stated that MTIL is similar to the BASIC programming language. It uses statements such as LET, MOV, CUT, THREAD, PITCH, READ and DATA to activate machining subroutines within the system. This implies that the conventional task of post' processing has been greatly simplified" to the conversion of CLDATA records from an integer binary format to one accepted by MTIL. Appendix K describes the command repertoire of the PPGP package. - 217 - DESCRIPTION OF THE WORKSTATION'S SOFTWARE 7.1.0 Machine Tool Interpreter Language (MTIL) and CAM The final stage of the design-production sequence is the manufacture of the part. This involves the conversion of the CLDATA file into an NC part program, by the PPGP package. The part program is then transmitted from the CAD/CAM workstation to the machine control unit, MCU, of the machine tool. The format of the part program must obviously be fully compatible with that of the MCU. The traditional mode of part program transmission is via that perforated papertape. Even wih the advent of computers and CNC 'soft-wired' control units, the perforated tape is still an extensively employed program medium. Two main reasons account for this. Firstly, part programmers have become experienced in conventional standards, such as EIA, ANSI and NSA, which utilise control tapes. And secondly, the necessity to use old control tapes on new machine tools still exists. However, the current trend has shifted to control units that are manufactured to the EIA standards RS 273-A and RS 274-B. They define a variable- block tape format for positioning and contouring controls, a respectively. The escalation of chip population together with lower manufacturing costs now makes it economically feasible to transfer some of the the MCU's intelligence thus relieving the part programmer's task on the CAD/CAM workstation. The - 218 - DESCRIPTION OF THE WORKSTATION'S SOFTWARE existence of intelligent algorithms on the MCU will also allow the machine tool to be locally programmed. Thus, for simple machining operations the aid of sophisticated CAD/CAM packages resident on the workstation will no longer be necessary. One such form of intelligence has been developed by Dalzell [31] and Pak [9]. It is a NC language, named Machine Tool Interpreter Language (MTIL). It is an augmented form of the computing language Basic. It consists of two program modules. The first module, syntax module, describes the structure of the interpreter and includes routines for editing, argument handling and command sequencing. The second, vocabulary module, contains the various command routines for the MTIL instruction set. The presence of MTIL on the CNC turning system signifies that the PPGP package produces a MTIL format NC file. This is illustrated in the next section by an example. The existence of a high level language on the CNC system has the following advantages over the traditional control tape format: increased readability due to English-like statements; ease of editing by retyping line numbers; multiple axis motion control by single statements; built-in availability of arithmetic routines, multiple level subroutine nesting and loops; user orietated input routines; - 219 - DESCRIPTION OF THE WORKSTATION'S SOFTWARE . easy operation of system element testing by diagnostic routines; . reduction in the part program size; and . reduction in part program post-processing requirements. This chapter described in detail the construction and the features of the CAD/CAM packages. A discussion of the operation of the developed system is presented in the next chapter. This is achieved with the aid of two examples. The first represents a turned component and the second a milled component. - 220 - CHAPTER 8 THE. USE OF THE SYSTEM TO CAD/CAM APPLICATIONS The following two examples illustrate some of the features of the developed system. They illustrate the sequence of events encountered by an operator during the design to manufacture cycle. This chapter is not proposed to represent a manual for the system, but is presented to illustrate the simplicity of the system for design, draughting, design analysis, tool path simulation, NC part program generation and subsequent machining operations. However, careful examination of the various packages' command repertoire (presented in Appendices A, C, D, £, J and K) will yield further details of the implemented features. Furthermore, it must be brought to the reader's attention, that the inherent simplicity of the packages is partly achieved through the use of simple 'English like' commands. Numerous examples of which are illustrated in this chapter. 8.1 An Example of a Turned Component Consider the component illustrated in Fig. 8.1. It's geometry has been specially formulated for three main reasons. Firstly, it represents a typical turned component that may be found in industry. Secondly, it illustrates several features, especially those of the TCPDR package. And finally, it can be machined on the initial NC turning system, discussed in Section 6.3.3. -22.1 - REMARKS IMPERIAL COLLEGE OF SCIENCE & TECHNOLOGY AN EXAMPLE TO ILLUSTRATE CITY & GUILDS COLLEGE SEVERAL FEATURES OF THE TCPDR PACKAGE TITLE FIG. 8.1 AN EXAMPLE OF A TURNED PART NAME DWG. No. SUNEEL KHURMI 8.1 EXAMPLE - 222 - THE USE OF THE SYSTEM TO CAD/CAM APPLICATIONS With reference to Fig. 8.2, the design-manufacture cycle is initiated with the preparation of a sketch of the component. For turning parts this simply involves the representation of a single view of the component suitably dimensioned. For the more complex 2D and 3D geometries sketches of more than one view may be required. Even at this initial stage of the design-manufacture process a great deal of time has been saved. By utilising a sketch instead of the conventional General Assembly (GA) drawing valuable draughtsman's time can be saved. Using the sketch, precise geometrical and technological information about the component is entered with the aid of the CREATE package. In order to load the CREATE package from the disc either of the two following commands may be invoked. In this chapter bold text is used to represent the response by the operator to the various system prompts, and comments are presented within brackets. +++RUN3CDAD DISPLAY +++RUNPCDAD DISPLAY The three '+' signs represent the idle state prompt sign of the Flex operating system. The first command line loads the CREATE, EDIT and DISPLAY packages, whereas the second loads the above mentioned and the PLOTTER package. - 223 - CAD/CAM WORKSTATION y RESIDENT PROGRAMS j >v NC RESIDENT J FIG.fc.2 MACRO INTERPACKAGE COMMUNICATION DIAGRAM - 224 - THE USE OF THE SYSTEM TO (LID/CAM APPLICATIONS The welcoming message is: **'* CDAD PACKAGE *** . . > where CDAD represents Computer-Aided Design and Draughting. The prompt sign '..>' is displayed. The possible responses are: C D <£ile name> E P where C, D, E and P represent CREATE, DISPLAY, EDIT and PLOTTER packages respectively. If a file name is specified, indicating that the component has already been created and resides on disc, then it is loaded from disc. If no file name is specified then the package defaults to input from the keyboard. For creating a new component 'CREATE' or simply ' C' is entered. . . >C CREATE PACKAGE The scale and the component's name are then specified as: >->SCA 20 (Note: only the 1st 3 letters are required) >-> COMP PhDCh8M - 225 - THE USE OF THE SYSTEM TO CAD/CAM APPLICATIONS The following input commands are also illustrated in Figs. 8.3-3.5. A 'MOV' command is specified to position the component in a suitable position on the screen. The HP graphics cursor is made to graphically echo back the current position of the pen. For concentric parts, such as the one in discussion, a concentric flag feature is implemented. it informs the computer that all the following symbols should be positioned concentrically and to automatically position them accordingly. >-> MOV 1000,2000,2000 >->CON YZ,2000 The unit system employed here is integer arithmetic. This unit system is utilised so that the specified dimensions are directly compatible with the NC turning system discussed in Section 6.3.3. Thus 1 unit represents 0.0005 inch. However, a dedicated CAD/CAM system only requires the implementation of a simple floating-point input routine whereby both Imperial and Metric units can be used. The remaining geometric commands are illustrated below, and should be self explanatory with the aid of Appendix A. >->TCY YZ,0,750,1500 >->THR YZ,1800,1250,1750,400 >->CYL YZ,1800,500 >->TCY YZ,1800,500,2000 >->CYL YZ,2000,250 - 226 - >->MOV 1000,2000,2000 SCREEN SUBDIVIDED INTO FOUR VIEWPORTS, AXES LABELLED AND CURSOR POSITIONED AT (50,100) SCREEN COORDINATES, REPRESENTING (1000,2000)X,Y COORDINATES IN XY PLANE 0 i o 1 0 —1 _ | : o i t < i i >->TCY YZ,0,750,1500 FIG. 8.3 - 227 - i (a) >->THR YZ,1800,1250,1750,400 (b) >->CYL YZ,1800,500 (c) >->TCY YZ,1800,500,2000 FIG. 8.4 THE USE OF THE SYSTEM TO CAD/CAM APPLICATIONS >—>TCY YZ,2000,1000,2750 >—>CYL YZ,2750,500 >~>CON OFF The last command is to switch off the concentricity feature. The response of the system to the above commands is illustrated in Figs. 8.3-8.5. The component can then be saved on disc under an eight character file name, with a default extension of .DAT as: >->SAVE PHDCH8EX.DAT Having stored the component it can be redisplayed, edited, or plotted by the respective packages. Examples of accession of these packages is illustrated in Appendices A, D and E. If a design analysis is to be performed upon the component then the DESIGN package is loaded by: +++RUN3 DESIGN, e.g. +++RUN3 DESIGN,PHDCH8EX.DES,PHDCH8EX.DAT The following commands are then entered to generate a design analysis listing of the component on the disc under the specified name. > > >SCA 20 > > >DIS 1 Current Component Name = PhDCh8 - 230 - THE USE OF THE SYSTEM TO CAD/CAM APPLICATIONS Thread Pitch = 400 > > >DDA (Stress/Strain calculations and material are selected here) > > > BYE END OF PROGRAM EXECUTION +++ The output file, containing the design data for the requested component can then be examined on the VDU or a hardcopy obtained via the text printer, Fig. 8.6. The tabulated results for the component are illustrated in Fig. 8.7. The next operation is the generation of the tool path. The Cutter Path Derivate Package is loaded, the scale is specified and the appropriate component requested to be machined. The input commands for these three operations are: +++RUN3CPDR,TCPDR,PHDCH8EX.DAT,PHDCH8EX.TEM,PHDCH8EX.CLD > —>SCA 8 >->MAC 1 where RUN3CPDR loads the Pascal interpreter and the plotter package; PHDCH8EX.TEM is a temporary file; and PHDCH8EX.CLD is the output file containing the TCLDATA records. INPUT DATA MATERIAL DENSITY = 2643 Kq/cu. n. 3 CYLINDER 165 lb/cu. ft YOUNGS MODULUS. L -'•>. tOOE t-10 N/sq. m X - 3000 , Y 2000 .1 - 1100 = 1. 684E+12 1 bf/sq. ft. DIAMETER -- 1800 .DEPTH - 500 Component Name - P1,DC 1.8 CENTROID - 3250, 2000, 2000 EQUATION OF MAJOR CENTRELINE: :r=X> v- 2000. a- 2000 VOLUME -1 272111 09 (cu units) -2. 606E-06 ( cu. metres) 1 TAPLRCYLl NDER MASS =6 8S8E-03 (Kq) X 1000 . Y 2000 . Z = 200l> CIRCUMFERENTIAL. SURFACE AREA =2. 327E+06 (sq. era ts) -4 560E-04 ( sq.H i ) LD.DEPTH,RD - 0, 750, 1500 DISTANCE FROM CENTRELINE - 0 (aba ...nils' CENTROID - 1500, 2000, 2000 — 0 (HI E t RES) VOLUME -4 417E+03 ( en. urn Is) MOMENT OF INERTIA ABOUT AXIS =4. 499E-07 (Kq HI. HI) 9. ( )9|j Q J ( |J ([, * t- T e S > MASS "2. 39 IE--03 (Kq) i to CIRCUMFERENTIAL SURFACE AREA =1. 767E+06 (sq. units) CO -2. 350E-04 ( sq. ITI ) m DISTANCE f:ROM CENTRELINE 0 ( at-3. uru t-3) i :: IJ (metres) 4. TAPERCYLINDER MOMENT OF INERTIA ABOUT AXIS ~6. 509E-08 (Kq n». HI) X = 3500 , Y — /Q( )(') , Z — 11O0 2 THREAD L.D, DEPTH. RD - 1800. 500, 2000 CENTROID - 3230. 2000, 2000 X - 1750 , Y - 2000 ,Z -- 1100 OH. DEPTH. ID, PITCH = 1800, 1250, 1750, 400 VOLUME -1. 41SE+09 (cu units) =2. 9061:—06 (cu. metres) CENTROID - 2375, 2000, 2000 MASS =7 6S2E-03 (Kq) VOL UHE -3 093E+ 09 < cu. units) -6 33SE--06 ( cu. metres) CIRCUMFERENTIAL SURFACE AREA =2. 984E+06 ( sq u n its) -4. 813E-04 ( a q III) MASS ~1 6.74L-02 (Kq) DISTANCE FROM CENTRELINE - 0 ( abs un i t.5 • CIRCUMFERENTIAL. SURFACE AREA -6. 970E+06 ( sq. uni ts) -- 0 (me t ra ) = 1. 124E-03 ( SQ HI ) MOMENT OF INERTIA ABOUT AXIS =5. 616E-07 (i q in. in > D1STANCE FROM CENTRELINE « 0 ( aba ura ts) - 0 (HinitreS > MOMENT OF INERTIA ABOUT AXIS =1. 063E--06 (Kq. HI. Hi) FIG. 8.6 COMPUTER PRINTOUT OF THE OUTPUT OF THE DESIGN PACKAGE 5. cyl infer 7 CYLINDER X ss 4000 . Y ---• 2000 , Z - 1000 X - 5250 . Y -- 2000 , Z - 625 DI AMETER 2000 . DEPTH = 250 DIAMETER ~ 2750 .DEPTH - 500 CENTRE) IB - 4125. 2000. 2000 CENTRuID 5500. 2000. 2000 VOLUME -7 854li4 08 (cu. units! VOLUME ~2 9c.9E-i09 (cu. units) -6. 033E-06 ( cu. metres) -1 608E-06 ( c u. in e t r e s ) MASS ==1. 6.07E-02 (Kq) MASS -4 252E-03 (Kq) CIRCUMFERENTIAL SURFACE AREA -4 319EK>6 (sq. units) CIRCUMFERENTIAL. SURFACE AREA =1. S70E+06 ( sq. units) =6. 967E-04 (sq.no -1. 533E-04 (sq. m) DISTANCE PRCif'l CENTRELINE = 0 (aba. units) DISTANCE FROM CENTRELINE ~ 0 (abs. units) ~ 0 (in ti t r e s ) ~ 0 ( jti e r, res) MOMENT OP INERTIA ABOUT AXIS «3. 429E-07 (Kq. ru. in) MOMENT OF INERTIA ABOUT AXIS ^2 451E-G6 (Kq. m. m) 6 TAPERCYL1NIlE'fi RESULTS FOR ENTIRE COMPONENT X - 4250 , Y - 2000 . Z - 1000 CENYROID 388 7. 2000, 2000 I D. DEPTH. RD :: 2000, 1000, 2750 TOTAL CIRCUMFERENTIAL SURFACE AREA =4 500E-03 (sq. tn) CENTROID - 4445, 2000. 2000 =4. 843E--02 ( sq. It) VOl UME -4. 466E+09 < cu. units) TOTAL VOLUME -2. 959E-05 (cu m) 15 OF:--06 ( c u. metres) = 1. 045E-03 ( cu. ft) MASS "'2. 4131:--02 (Kq) TOTAL MASS =7. 822E-02 (Kq) = 1. 724E-0I (lb) CIRCUMFERENTIAL SURFACE AF(EA ==7. 461E)-06 (sq. units) ~1. 203E-03 (sq. in) TOTAL MOMENT OP INERTIA ABOUT AXIS-7 798E-06 (Kq sq rn) = 1. 850E-04 ( lb. sq. ft) DISTANCE FROM CENTRELINE = 0 (abs units) -- 0 (metres) RADIUS OF GYRATION =9. 984E-03 (rn) =3. 275E-02 (ft) MOMENT OP' INERTIA ABOUT AXIS ~2 S63E06 (Kq hi ho FIG 8.6 (cont'd) COMPUTER PRINTOUT OF THE OUTPUT OF THE DESIGN PACKAGE ft ft ft ft ft ft ft ft CIRCUMFERENTIAL MOMENT OF INERTIA PRIMITIVE X Y Z x y z VOLUME MASS SURFACE AREA ABOUT AXIS (cu units) (cu m) (kg) (sq units) (sq m) (kg.m.ro) TAPERCYLINDER 1000 2000 2000 1500 2000 2000 4.417E+08 9.049E-07 2.391E-0.3 1.767E+06 2.850E-04 6.509E-08 THREAD 1750 2000 1100 2375 2000 2000 3.093E+09 6.335E-06 1.674Et06 6,970E+06 1.124E-03 1.063E-06 CYLINDER 3000 2000 1100 3250 2000 2000 1.272E+09 2.606E-06 6.888E-03 2.827E+06 4.560E-04 4.499E-07 TAPERCYLINDER 3500 2000 1100 3230 2000 2000 1.418E+09 2.096E-06 7.682E-03 2.984E+06 4.813E-04 5.616E-07 CYLINDER 4000 2000 1000 4125 2000 2000 7.854E+08 1.608E-06 4.252E-03 1.570E+06 2.533E-04 3.429E-07 TAPERCYLINDER 4250 2000 1000 4445 2000 2000 4.466E+09 9.150E-06 2.418E-02 7.461E+06 1.203E-03 2.863E-06 CYLINDER 5250 2000 625 5500 2000 2000 2.969E+09 6.083E-06 1.607E-02 4.319E+06 6.967E-04 2.451E-06 2.959E-05 (cu.m) 4.500E-03 (sq.m) RESULTS FOR ENTIRE 3887 2000 2000 7.822E-02 7.798E-06 COMPONENT 1.045E-03 (cu.ft) 4.843E-02 (sq.ft) FIG. 8.7 TABULATED DESIGN ANALYSIS PACKAGE RESULTS FOR THE COMPONENT ILLUSTRATED IN FIG. 8.1 - 234 - THE USE OF THE SYSTEM TO CAD/CAM APPLICATIONS The machining parameters for aluminium (default) are displayed and can be changed if desired. The rough and fine tools are either selected from a tool library or can be defined on-line. Next, the blank diameter is selected. The screen is then sub-divided into two portions, as illustrated in Fig. 8.8a, and the blank displayed. Firstly, the workpiece is faced followed by the roughing operation, Fig. 8.8b. The final roughing is then simulated, Fig. 8.8c, with the roughing tool displayed at each node. A node representing a change in direction of the tool. The fine cut is then simulated, Fig. 8.8d, and the fine tool displayed at each node. The machining parameters, illustrated in the upper portion of the screen, are continually updated. For threading operations the tool, threading spindle speed and depth of cut are selected. They are then displayed on the upper portion of the screen. Upon completion of the machining operations the component is parted-off. The tool path of the part-off operation is displayed, Fig. 8.8e. The package then returns to an idle state whereby the stored TCLDATA file can be examined or a hardcopy of the machining operations obtained via the command: >-> PLOT Paper size (A2 or A4)? A2 >-> - 235 - FIG. 8.8a SUBDIVISION OF THE VDU SCREEN AND DISPLAY OF THE DEFAULT MACHINING PARAMETERS FIG. 8.8d FINE CUT OPERATION FIG 8.8e PART-OFF OPERATION FIG. 8.8 - 236 - THE USE OF THE SYSTEM TO CAD/CAM APPLICATIONS At this stage, either the machining operations can be redisplayed by specifying new machining parameters or the program can be terminated. Fig. 8.9 illustrates the format of the TCLDATA file (PHDCH8EX.CLD). The first element represents the blank diameter and the second element specifies the number of records present in the file. The records are then listed and their format can be found in Appendix I. A part program compatible with the NC turning system, described in section 6.3.3, is then generated using the PPGP package. The sequence of commands is illustrated below and should be self-explanatory. +++PPGP PART PROGRAM GENERATE PACKAGE ENTER COMMAND - G,T,S OR F #GENERATE FILE SPECS. FOR .CLD (INPUT) FILE ? PHDCH8EX.CLD FILE SPECS. FOR .MTL (OUTPUT) FILE ? PHDCH8EX.MTL (The generated MTL file is listed) #TRANSPARENT #NEW (clears NC Buffer) (Returns to CAD/CAM workstation) #SEND (sends MTL file from CAD/CAM workstation to NC machine tool) #FLEX +++ (end of program) - 237 - 3000 67 2 iOOO 0 2062 533 6 10 0 0 2550 538 5 0 1 3050 438 1 0 1562 3290 433 0 0 0 4290 63 5 0 1 4688 63 6 250 0 0 4688 0 0 • 62 186 0 0 0 no 1 -it UL 136 5 0 1 0 -r r> p n -62 100 0 U / UL. 6 0 •62 -62 0 0 1562 0 -62 434 1 750 736 1 632 434 1 750 600 0 602 -62 1 2062 60 0 0 • 62 -62 1 2556 600 0 •62 682 1 3056 50 0 on 1 uui. 632 1 3301 500 0 632 -62 1 4301 125 0 •62 •62 1 4750 1 vj 0 -62 93 0 0 4750 0 1 434 930 0 0 0 0 434 •62 4 40 0 0 0 -62 -62 2 200 0 0 -62 1173 0 812 0 1 310 1173 0 312 600 0 310 -62 1 812 613 0 -62 •-62 3 2000 613 1426 0 •62 1 2000 60 0 1426 1 62 0 812 500 0 62 -62 / nt: 1 812 o c. u -62 0 -62 3 2000 625 -62 1562 0 0 1950 0 761 1 688 0 62 0 I 633 538 FIG. 8.9 LISTING OF PhDCH8EX.CLD FILE - 238 - THE USE OF THE SYSTEM TO CAD/CAM APPLICATIONS The generated MTIL compatible file (Fig. 8.10) has been stored on the workstation's backup storage as well transmitted and stored on the NC machine tool. All that is required now is to execute the machining operations by a RUN command. The machined part is illustrated in Fig. 8.11. This simple example illustrated the use of the system for turning operations. However, for generating part programs for other machine tools the above described system would require very few modifications. The major modification being within the PPGP package, where a new NC part program would have to generated. m w p w m • * w w 540 GOT 560 550 LET T2-C 1910 GOS 200 5AO PRI "INPUT I FOR COI'JT 1430 GOS 200 10 * STARTUP PROCEDURE 1440 DAT 0 -124 -62 1920 DAT 1 1500 600 2 FOR TOOL CHANGE" CO OR I 1450 GOS 2'00 1930 gos; 200 570 INP D l 4124 600 30 im:I "PART PROGRAM FROM CAD CAM WORKSTATION •• 580 IF DO I TH 290 1460 DAT 0 -124 1173 1940 DAT 40 PRI "PLACE BLANK IN CHUCK THEN TYPE.. 1" 590 RET 1470 GOS 2.00 1950 GOS; 200 50 INP A 600 CON EL T 1430 DAT 1 620 1.173 1960 DAT 1 5112 600 60 PRI "COMPONENT DATUM 7" 610 RET 1490 GOS 200 1970 GOS 200 70 INP XI,Y1 LOOO DAT ioooo 0 1500 DAT O 620 -62 L980 DAT 1 6112 500 OO SLT XL.YL 1010 GOS 00 1510 GOS 200 1990 GOS 200 70 PRI "TOROUL CONSTRAINT 1520 DAT 0 -124 -62 2000 DAT 1 6602 500 1020 DAT 6 LOO O 100 INP T 1530 GOS 2O10 GOS 1030 GOS 200 200 200 110 TRI "CURRENT TOOL No.6 RAD 7" 1540 DAT 0 -124 1426 2020 1 3602 125 1040 DAT 5 0 L DAT 120 INP T1.T2 1550 GOS 2030 200 1050 GOS 200 200 GOS 130 LET LI U1000 1560 DAT l 124 1426 2040 l 9500 125 1060 DAT I. 0 1562 DAT 140 MOV 0.0 1570 GOS (00 2050 2o0 1070 GOS 200 2 OOS 150 GOT 10 00 1580 DAT 2060 0 9500 FIG. 8.11 ILLUSTRATION OF THE MACHINED PART OF SECTION 8.1 - 241 - THE USE OF THE SYSTEM TO CAD/CAM APPLICATIONS 8.2 An Example of a Milled Component The following example illustrates the use of the system for performing pocketing, internal contouring and vertical drilling operations. Consider the example illustrated in Fig. 8.12. The geometry consists of several rounds, fillets, straight sections and drill holes. Once again all dimensions are in integer units to maintain compatability with the assembler written CREATE package. From an initial sketch the geometry can easily be defined and entered via the CREATE package. There are several ways in which the geometrical parameters can be entered. One possible solution is illustrated below: >-> SCA 50 >->COMP PhDS8.2 >—>MOV 1000,4000,2000 >->RLI 0,3000,0 >->FIL XY,0,T,0,R500, R0 >->RLI 500,0,0 >->FIL XY,0,T,315,R0,R-500 >->RLI 1414,-1414,0 > — >FIL XY,0,T,0,4121,6293 >->RLI 2000,0,0 >->FIL XY,1,T,90,R0,R500 >->RLI 0,1000,0 >->FIL XY,0,T,0,R500,R0 >->FIL XY,0,T,270,R0,R-500 - 242 - iop ei a REMARKS IMPERIAL COLLEGE OF SCIENCE & TECHNOLOGY CITY & GUILDS COLLEGE ALL DIMENSIONS IN NC TURNING SYSTEM'S UNITS. TITLE ALL UNSPECIFIED ROUNDS FIG. 8.1ZAN EXAMPLE OF A MILLED COMPONENT AND FILLETS RADIUS 500 NAME DWG. No. SUNEEL KHURMI EXAMPLE - 243 - THE USE OF THE SYSTEM TO CAD/CAM APPLICATIONS >—>RLI 0,-1000,0 >->FIL XY,1,T,0,R500,R0 >—>RLI 3000,0,0 > —>FIL XY,0,T,90,R0,R500 >->RLI 0,1000,0 >->FIL XY,0,T,0,R500,R0 >->RLI 3000,0,0 >->FIL XY,0,T,270,R0,R-500 >->RLI 0,-3000,0 >->FIL XY,0,T,240,R—1000,R0 >—>RLI -250,-433,0 >->RLI -750,-1299,0 >->FIL XY,0,T,180,R-433,R250 >—>RLI -5000,0,0 >—>FIL XY,0,8699,958,R0,R-500 > — >FIL XY,0,8026,220,8346,605 >->LIN 4820,2885,2000 >->FIL XY,1,T,140,4500,2500 >->LIN 1413,3508,2000 >->FIL XY,0,T,170,R0,R500 >->MOV 0,0,0 >->DRL XY,1500,7000,250,-1000 >->DRL XY,2000,7000,250,-1000 >->DRL XY,7121,7294,200,-1000 >->DRL XY,12121,7294,250,-1000 >->DRL XY,15121,7294,250,-1000 >->DRL XY,8346,605,200,-1000 >->SAVE PhDTS8-2.DAT - 244 - THE USE OF THE SYSTEM TO CAD/CAM APPLICATIONS Fig. 8.13 illustrates the component as displayed by the DISPLAY package. The simplicity of the geometry definition entry format, as illustrated above, illustrates the fact that complex geometries can be built up of the few standard primitives such as MOV, LIN, FIL and DRL. Having confirmed that the entered geometry is correct the component is stored in the database under the name PhDTS8-2.DAT. The next operation is the generation of the MCLDATA file using the MCPDR package. The two load commands are: +++RUN3,MCPDR,PhDTS8-2.DAT,MATERIAL,PhDTS8-2.CLD +++RUN3CPDR,MCPDR,PhDTS8-2.DAT,MATERIAL,PhDTS8-2.CLD The latter command syntax also invokes the plotter handler (PLOTTER package) so that a hard copy of the workpiece and the machining loci can be obtained. The entry sequence of events for the MCPDR package is illustrated in Fig. 7.32, and is as follows: SCALE ? 50 >->DIS 1 PLAN > ->MAC 1 (Select material) (Select tool(s)) (Select machining parameters) (MCLDATA are displayed) - 245 - G. 8.13 VISUALISATION OF THE COMPONENT BY THE DISPLAY PACKAGE FIG. 8.14 GENERATION OF THE NC CUTTER PATHS - 246 - THE USE OF THE SYSTEM TO CAD/CAM APPLICATIONS (MCLDATA file created) >-> PLOT (Select plotter pens) (Workpiece and MCLDATA are plotted, Fig. 8.14) >-> BYE END OF PROGRAM EXECUTION +++ Two distinct features of the MCPDR package are highlighted by the above example. The first illustrates undercut elimination during a rough cut operation, Fig. 8.15a. As the tool cuts from elements along a boundary, the system looks ahead to see if undercutting will occur for any succeeding elements. When an undercut condition is encountered (by the roughcut filtering algorithms) then all elements causing the undercut condition disappear. For a finish cut where the tool radius fits the condition is illustrated in Fig. 8.15b. The second feature is illustrated in Fig. 8.16 whereby the system detects that there is partial undercut condition. In this case the system will machine as much of the slot as possible with the current tool. - 247 - NOTE THAT THE .625 EFFECTIVE TOOL RAOIUS WILL NOT FIT INSIOE THE .SR ELEMENT. MCPtA SKIPS THE .SR DURING THIS ROUGH CUT .625 EFFECTIVE TOOL RAOIUS 1.375 TLR • .250 STKI ' STOCK REMAINING AFTER ROUGH CUT FINE CUTTER ROUGH CUTTER FIG. 8.15v. UNDERCUT ELIMINATION EXAMPLES (TOOL RADIUS WON'T FIT) ROUGH CUT FIG. 8.1Sb. UNDERCUT ELIMINATION EXAMPLES (TOOL RADIUS FITS) FINISH CUT FIG. 8.16 ILLUSTRATIONS OF A PARTIAL UNDERCUT CONDITION SYSTEM MACHINES AS MUCH OF THE SLOT AS POSSIBLE - 249 - CHAPTER 9 EVALUATION AND ECONOMIC ASPECTS OF THE CAD/CAM SYSTEM 9.1 Evaluation of the geometrical repertoire of the current system The current system is capable of 2D and part geometry definition. It uses a repertoire of symbols (e.g. CYL, TCY, THR, TAP, BOX, PYR, etc.) to define the geometry and orientation of the primitives. A limited amount of 3D part geometry can be achieved with the MOV and LIN primitives. The result is, however, a 3D wire-frame representation of the part. For complex 3D geometries surface definitions will need to be introduced. For example, p and p a planar pentagon with nodes P^, P2f 4 5 need to be defined as: MOV PI LIN P2 LIN P3 LIN P4 LIN P5 LIN PI PLANE P1,P2,P3,P4,P5 A direct comparison of the geometrical repertoire between the current CAD/CAM system and two leading commercial packages is hereby presented. The two commercial packages being the APT and COMPACT II NC languages. EVALUATION AND ECONOMIC ASPECTS OF THE CAD/CAM SYSTEM Consider the turned component discussed in section 8.1. A sketch of the component is illustrated in Fig. 9.1a. It has been suitably dimensioned for the CREATE package. Its geometrical input for the CREATE package is illustrated in Fig. 9.2. Dimensional units are those of the current NC turning machine tools' format (section 6.3.3). An equivalent program in APT is presented also in Fig. 9.2. The dimensions are in the same units as the above example so that a direct comparison can be made. The datum position has been chosen along the component's centreline for ease of geometry definition, Fig. 9.1b. A second comparison is presented in the COMPACT II language. COMPACT II programs are composed of groups of instructions written in statement form. Each statement provides the information required by the system to accomplish the same operation. A statement consists of a major word and a set of associated minor words. The major word must be the first word in the statement. Minor words can be placed in statements in any sequence. Statement construction, therefore, allows free-form use of the language. Major words indicate what kind of operation the programmer wants performed, e.g. program initialisation, geometric and variable definition, tool description, etc. Minor words, on the other hand, supply the parameters defining where and/or how the operation indicated by the - 251 - 4)2750 FIG. 9.1a DIMENSIONING OF A PART FOR THE CREATE PACKAGE r\ \ ,P2 P4 P5 P6 P7 . 750 L,2 P3 L4 2000 L5 L6 7 ROO r/t**"—^ P8 3000 L8 3250 4000 4750 FIG. 9.1b DIMENSIONING OF A PART FOR THE APT LANGUAGE FIG. 9.1c DIMENSIONING OF A PART FOR THE COMPACT II LANGUAGE CREATE VERSION APT VERSION COMPACT VERSION SCA 20 PART NO PhDCh8 EXAMPLE APT Version' MACHIN,LATHE MACHIN/UNIV,1 IDENT,PhDCh8 Example COMPACT II Version COMF PhDCh8 CLPRNT INTOL/1 INIT,METRIC/IN,METRIC/OUT MOV 1000,2000,2000 OUTTOL/1 SETUP,6000X,5500Z MCHTOL/1 CON YZ,2000 $* BASE,XA,4 7 50ZA PI = P0INT/0,0,0 DLN1,- 7 50ZB,1500D,4 5CW TCY YZ,0,750,1500 P2 • P0INT/750,750,0 P3 = POIN^SO,875,0 DLN2,-750ZB THR YZ,1800,1250,1750,400 P4 s P0INT/2000,875,0 DLN3,-1250Z,1800D P5 = P0INT/2500,875,0 CYL YZ,1800,500 P6 - POINT/3000,1000,0 DLN4,PT(LN2/1750ZS,1800D),PT(LN2/2250ZS,2000D) P7 = P0INT/3250,1000,0 DLN5,PT(LN2/2500ZS,2000D),PT(LN2/3500ZS,2750D) TCY YZ,1800,500,2000 P8 = P0INT/4250,1375,0 P10 = P0INT/4750,0,0 DLN6,-4750ZB,2750D CYL YZ,2000,250 LI 3 LINE/PI,P2 DPB1,OZB,S(LN1);2750D,F(LN6),NOMORE L2 = LINE/P2,P3 TCY YZ,2000,1000,2750 L3 = LINE/P4,PERPT0,L2 DPB 2,LN1,S(LN(ZB));OD;LN2;LN 3;LN4;LN 5;LN6,F(LN(4 7 50D)),NOMORE L4 = LINE/P4,P5 CYL YZ,2750,500 L5 LINE/P5,P6 L6 = LINE/PARALLEL,L3,YLARGE,100 CON OFF L7 = LINE/P7,P8 L8 = LINE/PARALEL,L3,YLARGE,375 L9 = LINE/P10,PERPTO,L8 *$ fig. 9.2 comparison between create, apt and compact repertoires for the component illustrated in fig. 8.1 EVALUATION AND ECONOMIC ASPECTS OF THE CAD/CAM SYSTEM minor word is to be accomplished. Minor words are also used to supply information relating to tool description and machining functions. The mode of data entry of COMPACT II is very different from that of the CREATE package and the APT language. The coordinate system is as follows: X direction perpendicular to the centreline horizontally and Z direction along the centreline is illustrated in Fig. 9.1c. A possible part program in COMPACT II of the same component is illustrated in Fig. 9.2. 9.1.1 Analysis of the current systems' geometrical repertoire with that of APT and COMPACT II The first most obvious visual difference is the length of the NC part program. Part geometry definition of the component in discussion (Fig. 9.1) only essentially requires 10 lines (164 significant characters) in the CREATE format compared with 18 lines (330 significant characters) in APT and 10 lines (287 significant characters) in COMPACT. Secondly, the CREATE part program is easier to read than the APT and COMPACT versions and hence simpler to debug. Consequently, for part geometry definition (certainly true for turned parts) the current system's geometrical repertoire has some outstanding advantages over the APT and COMPACT II repertoires. APT and COMPACT, on the other hand, are better suited to handling complex or intricate - 254 - EVALUATION AND ECONOMIC ASPECTS OF THE CAD/CAM SYSTEM geometries which require complex machining geometry definition, despite the fact that they may require many more statements to define the part. It would, however, be comprehensively defined in machining terms. Another major asset of the current system is its very powerful graphical editing facilities (section 7.3). These are beyond those of APT and COMPACT. Features such as single-stepping through the primitives, deleting and inserting primitives and analysis of a single component within a product contribute to the strength of the system. COMPACT also pertains very powerful editing facilities but they are not as desirable as those discussed above. For example, they only assist in the error diagnostics of incorrectly entered commands, a graphical visualisation is not presented. If a command is incorrectly entered, a diagnostic comment will be returned explaining the error to the user. If the part programmer sees it immediately, then he corrects the statement. If he does not, then all or part of the processed statements up to that point can be typed out together with the X, Y and Z coordinates of the tool tip. From this alphanumeric information he should be able to visualise the location of the tool and pinpoint whatever geometric error may be present. For 2D, 2^D and 3D modelling the current system's database architecture provides the best features. For example, for defining turned components and 3D models the part geometry definition is very easy with the use of solid - 255 - EVALUATION AND ECONOMIC ASPECTS OF THE CAD/CAM SYSTEM model symbols such as BOX, CYL, PYR, TCY, HCL, etc. APT and COMPACT, on the other hand, do not possess such symbols. They, instead, define the geometry in terms of points, lines, arcs, planes and contours, and are thus suitable mainly for point-to-point applications. A summary of the above analysis is tabulated in Fig. 9.3. 9.2 Arithmetic Precision of the current system One of the disadvantages of 8-bit systems is their lack of precision in representing integer values. Since the word size of an 8-bit microcomputer is 16-bits the largest positive or negative integer than' can be stored, by the high level languages, is 32767. This, obviously, imposes a severe limitation to the development of high precision software. There are two ways that this limitation can be overcome on 8-bit systems. Firstly, the software can be entirely developed in assembly language, whereby the desired precision can be incorporated. And secondly, whilst still utilising high level languages, all arithmetic routines can be expressed in floating-point format. The former option restricts the software to a particular system as well as taking longer to develop. The latter option requires very fast arithmetic processing speeds by the computer. Furthermore, the extensive utilisation of floating-point - 256 - Comparison Current APT COMPACT II Description M6809 System Extensive use of Universally accepted Universally accepted •English-like' NC language/system NC language commands Large geometrical Large geometrical Powerful diagnostics database database Outstanding part Advanced graphical Applicable to a wide Very powerful geometry definition editing array of machining diagnostics features operations Geometrical database Very versatile with Almost free formatt- is expandable almost free format ing in part geometry definitions definition Parts are defined Excellent facilities using solid model for point-to-point symbols (eg BOX, work CYL, PYR, etc) NC part programs are very compact • Limited speed and Error diagnostics is Extensive training memory on the micro- poor and experience computer based required system Very system NC part programs Only available on dependent are quite long mini/mainframe computers Limitations/restric- Limited use of 3D Part geometry defini- Certain statements tions/general part geometry tion is difficult can become very long comments definitions and complicated Useable only by Limited editing trained and facilities experienced personnel Restricted to large computers FIG. 9.3 PART GEOMETRY DESCRIPTION ANALYSIS OF THE DEVELOPED M6809 SYSTEM, APT AND COMPACT II - 257 - EVALUATION AND ECONOMIC ASPECTS OF THE CAD/CAM SYSTEM format is very wasteful of memory. For example, on the current 8-bit microsystem an integer is represented by 2 bytes compared with 4 bytes for real. Floating-point computations execute at least twice as slow as their integer counterparts, on the same system (Fig. 9.4). This further suggests that a larger computer be used, so as to achieve the desired precision. The majority of the arithmetical computations can be performed in double-precision integer format whereby the largest positive or negative value is approximately 2E9. Four byte floating-point format can be used for computations involving very large or real numbers. By utilising a four byte floating-point format (whereby the three most significant bytes represent the mantissa and the least significant byte represents the exponent) a precision 24 of one part in 2 can then be achieved. Expressed in decimal form, this corresponds to about one part in 16,000,000. The system can then accommodate fairly large —128 +128 numbers ranging from 2 to 2 , corresponding to a — 3 8 +38 decimal range of approximately 10 to 10 . Thus, one part in 16,000,000 implies a precision of 0.0000001 units, much more accurate than any available machine tool. Alternatively, double-precision integer format can be used to represent dimensions. For example, if we assume that 0.0001 inch(mm) represents one unit then dimensions up to 200,000 inches(mm) can be handled. - 258 - ! ! 1TIMED INSTRUCTION ! TIME IN MICROSECONDS ! 1 1 MHz 6800 ! 1 MHz 6809 ! i 1 ! ! 1 1 ! !Integer Arithmetic I ! i i • 1 ! I = 1 1 418 257 ! ! I = J ! 594 ! 380 ! ! I = J + 1 ! 765 482 ! ! I = J + K ! 1046 687 ! ! I -SQR(J) ! 1235 667 ! 1 I = J * K ! 1737 871 ! ! I = J DIV K ! 2233 1798 ! i 1 IReal Arithmetic ! • I A = 1.0 ! 820 ! 420 ! ! A = B ! 901 ! 475 ! ! A r B + C ! 2428 ! 1695 ! ! A = SQR(B) ! 5645 1586 ! ! A = B * C ! 6024 1809 ! •1 A = B / C ! 8789 I 6907 ! • • i FIG. 9.4 COMPARISON OF EXECUTION TIMES BETWEEN INTEGER AND REAL ARITHMETIC - 259 - EVALUATION AND ECONOMIC ASPECTS OF THE CAD/CAM SYSTEM 9.3 Data processing for the current system Fig. 9.5 presents the complete data processing and manufacture cycle for the component illustrated in section 8.1. Once the component has been designed and sketched the lead time involved from the design stage to commencement of machining is less than half an hour. Most of the data processing operations are either automatic or computer- assisted. The only manual tasks are the initial design and data preparation of the component and the initial set-up of •the machine tool. Obviously for subsequent machining the total execution time would simply reduce to the sum of the loading time of the part program into the machine tool's memory from its backup storage and the machining time. This would be well below 10 minutes. With reference to Fig. 9.5, the most time consuming stage is the interactive entry of the component's geometry into the database via the keyboard. As discussed in Chapter 10 the use of a menu driven keypad would considerably reduce geometry and data input times. With the use of the keypad the single most time consuming operation would then be the machining cycle (for the component in discussion). More complex geometries would obviously require longer data processing and manufacturing times. For a part whose geometry is twice as complex the- total execution time would also linearly increase by a factor of two. Eccentric turned parts would require an additional amount of time since the positioning of the symbols would require pre-calculation and - 260 - PROCESS MANUAL/AUTOMATIC/ COMMENTS APPROXIMATE INTERACTIVE METHOD EXECUTION TIME OF DATA PROCESSING (MINS) Initial Design Manual The design-manufacture process initiates with the preparation of a working sketch, N/A suitably dimensioned. There is no require- ment of a GA drawing Workpiece data Manual Verification of the preparation sketch and calculation of some 2 geometrical dimensions Input of the Interactive Conversion of the geo- workpiece's metry into primitive geometrical and commands accepted by 5 technological the CREATE package, specifications input of the technological specs, and checking of errors. Hard copy genera- Automatic Output via printer 2 tion of database Generation of the Automatic Execution of the CPDR workpiece.offsets, package. Simulation 5 rough and finecut on vdu loci and simulation of the cutter path Hard copy genera- Automatic A hard copy of the tion of the cutter workpiece and the 3 paths cutter paths can be obtained via the PLOTTER PACKAGE Generation of NC Automatic Task of PPGP package 1 part program Transmission and Automatic storage of NC part 3 program to CNC machine tool Machine setup Manual Setting up time only applicable for 1st 3 component of a batch Machining time Automatic CNC 4 TOTAL EXECUTION TIME 28 FIG.9.5 PERFORMANCE TIMES OF THE CAD/CAM SYSTEM FOR THE COMPONENT ILLUSTRATED IN FIG. 8.1 . - 261 - EVALUATION AND ECONOMIC ASPECTS OF THE CAD/CAM SYSTEM an extra MOV statement in between each symbol definition statement. The task of data preparation and data processing for milled parts is slightly more complex and time consuming than that for turned parts. It results from the increased time taken to prepare the part for entry into the database and the increased processing time involved in the MCPDR package. The inherent complexity of the MCPDR package results in slightly longer data processing times. An example of the total execution time for a milled component is presented in [52] . 9.4 Comparison of the machine tool control codes output by the current system with those of APT and COMPACT The current system generates NC codes in two stages. The first is the production of CLDATA files followed by their conversion into a standard machine tool control code format. The generation of intermediate CLDATA files suffices two main reasons. Firstly, a reduction in the length of the cutter path derivation packages due to the generation of a single control format file. Secondly, a reduction in the overall software cost incurred by the customer. The integration of a standard CLDATA file with several simplified machine tool links (post-processors) will ultimately result in modular software at the lowest possible cost. - 262 - EVALUATION AND ECONOMIC ASPECTS OF THE CAD/CAM SYSTEM This philosophy is parallel with that of APT and COMPACT. Their control codes are identified by an alphanumeric designation consisting of a letter indicating the control function and either a whole or a decimal number indicating the format of the numeric portion of the output. Fig. 9.6 lists standard control codes and their description. M-codes, G-codes and sequence numbers (N) are commonly represented by the appropriate letter followed by a whole number specifying the maximum number of digits available for the code. Thus, the notation N3 would specify a maximum of three digits for the sequence number, i.e., 001 through 999. G-codes and M-codes are represented by two digit numbers generally ranging from 00 through 99. Consequently, the standard notation is G2 for G-codes and M2 for M-codes. 9.5 Analysis of the MCPDR package with reference to the GNC, Polysurf and Surfset packages MCPDR is a modular and versatile package responsible for the generation and simulation of tool movements for 2 and 2iD parts. Due to the restrictions imposed by the current 8-bit microcomputer based system MCPDR is only capable of handling limited geometries. However, it is proposed (Chapter 10) that the system capabilities be expanded to handle a wider array of geometries. Furthermore, complex 3D geometries including surface definitions and freedom to decide on the tool paths such as those available Characters Description CODE FUNCTION CODE FUNCTION A Rotary Motion Around X Axis GOO Point to Point Positioning MOO Program Stop B Rotary Motion Around Y Axis GOl Linear Interpolation (Normal Dimensions) MOI Optional (Planned) Stop C Rotary Motion Around Z Axis G02 Circular Interpolation Arc CW (Normal M02 End of Program D Angular Dimension Around Special Axis or Dimensions) M03 Spindle CW Third Feed Function G03 Circular Interpolation Arc CCW (Normal M04 Spindle CCW E Angular Dimension Around Special Axis or Dimensions) M05 Spindle Off Second Feed Function G04 Dwell M06 Tool Change F Feed Function GI7 XY Plane Selection M07 Coolant No. 2 ON G Preparatory Function GIB ZX Plane Selection M08 Coolant No. 1 ON 1 Distance to Arc Center Parallel to X or G19 YZ Plane Selection M09 Coolant OFF Circle Center in X G40 Cutter Compensation Cancel M30 End of Tape J Distance to Arc Center Parallel to Y or G4I Cutter Compensation—Left Circle Center in Y G42 Cutter Compensation—Right K Distance to Arc Center Parallel to.Z or G90 Absolute Positioning Circle Center in Z G91 Incremental Positioning to M Miscellaneous Function 01 G94 IPM Mode co N Sequence Number G95 IPR Mode S Spindle Speed G96 CFSM Mode T Tool Function G97 RPM Mode U Secondary Motion Dimension Parallel to X V Secondary Motion Dimension Parallel to Y W Secondary Motion Dimension Parallel to Z X Primary X Motion Dimension Y Primary Y Motion Dimension Z Primary Z Motion Dimension /y,\ R-Codes M-Codes (a) Standard Alphabetic Control Loaes Characters FIG. 9.6 STANDARD CONTROL CODES - 264 - EVALUATION AND ECONOMIC ASPECTS OF THE CAD/CAM SYSTEM on many commercial packages such as GNC, Pol.ysu.rf and Surfset, would need to be introduced. One of the inherent advantages of the MCPDR package over the commercial packages is its low cost. Although restricted to 2.£D geometries, for the majority of 2£D milling operations such a package on a low cost microsystem would generate a lot of interest especially for the small jobbing departments and industries. 9.6 Diagnostics and program debugging Except with the simplest programs, even experienced programmers usually make some spelling, punctuation, or logic errors in the initial preparation and entry of their programs. The current system has been designed to recognise and diagnose as many of these errors as possible. Errors in spelling or syntax are relatively easy for the system to find and diagnose. The error diagnostics software will determine whether any of the following types of errors are present: 1. Spelling and syntax errors, 2. Format errors, 3. System errors, 4. Peripheral communication errors. I - 265 - EVALUATION AND ECONOMIC ASPECTS OF THE CAD/CAM SYSTEM Spelling and syntax errors are the easiest to detect. This is accomplished by the use of vocabulary tables containing the valid commands. The entry is cross-referenced against the vocabulary table for validity. Format errors are associated with the number and order of arguments within a command line. Examples are: missing argument(s), line buffer full, etc. System errors are those associated with the size, power and storage capabilities of the system. Examples of system errors are: numerical attribute too large, scale value too large, multiplication overflow, etc. Peripheral communication errors occur during peripheral communication or attempted communication. For example, if the backup storage unit, plotter, printer or machine tool are not ready then a peripheral communication error is detected and reported. The response of the system to these errors varies according to the severity of the errors. Minor errors such as spelling and syntax, format, and some system and peripheral communication will result in the error being reported and allow the programmer to rectify it. Major (irretrievable) errors such as illegal call of macros and symbols will result in the termination of the program. The program will then have to be reloaded and executed. EVALUATION AND ECONOMIC ASPECTS OF THE CAD/CAM SYSTEM 9..7 Economic aspects associat:ed with NC and the, current system Consideration of the economic aspects of NC manufacturing must commence with an appreciation of the fact, that NC machines are essentially versatile general-purpose machines suitable for the manufacture of a variety of components in small batches. If large quantity flowline production of uniform parts is required then special-purpose equipment such as transfer machines will normally prove more economic in providing higher rates of production at lower cost. The tendency is for an increasing proportion of manufacture to be in small batches to meet growing consumer requirements for new products, variety of choice and improved performance. A survey by the Machine Tool Industry Research Association (MTIRA) has shown that in general less than 25% of the benefits of NC as compared with conventional methods can be attributed to direct cost savings at the machine because of the reduction in floor-to-floor times. These time savings result from faster positioning due to continuous measurement and feedback, automatic tool changing and the use of optimum speeds and feeds, coupled with better machine utilisation and a reduction in the number of separate operations and set ups. Numerous NC justification surveys are available [55] which discuss in detail the benefits associated with NC - 267 - EVALUATION AND ECONOMIC ASPECTS OF THE CAD/CAM SYSTEM implementation.. They can be summed up into forty four points, Fig. 9.7. One of the most important economic factors being the lead time. Apart from the considerable expense of jigs and fixtures, lead times can extend to several months.. On the other hand, even for the most difficult component the programming could be done and a tape prepared in a matter of days, while in many cases machining could even commence the same day as the design is complete. Because of the time taken to produce jigs and fixtures, and also because of delays experienced in obtaining initial supplies of forgings or castings, numerical control can be justified for first batches even when subsequent manufacture is to be by conventional methods. 9.7.1 Effect on optimum production quantities and payback period It is worth repeating that NC machines are general- purpose tools and consequently most suitable for the production of components in small batch quantities. The actual batch size depends on a number of factors, with component complexity being particularly important. The reason is that for very small batches the versatiliy of the skilled operator is significant, while for large batches NC would have to compete with special-purpose tooling. Fig. 9.8 represents a typical relationship between the effect of batch size on costs for conventional and NC methods. The The Forty-tour Points ITEMS TO BE ANALYZED ANTICIPATED SAVINGS 22. More running time—80 to 85% 10% of total burden. FROM NC MACHINE versus 40 to 60%. 23. Control of cycle in hands of 10% increased production. 1 Improved accuracy 5% ol direct labor cost. management—can be fixed. 2 Reduced cutting 100I adjustment — 5% ol direct labor cost. 24. Savings in setting and maintaining 50% of cost of standards. by use ol tool offsets. standards. 3 Reduced cutting tool change time — 20% ol tool allowance. 25. Power consumption more level due 5% of power cost. change only when dull. to continuous running. 4 Reduced culling lool cosi — ihrow 25% of tool cost. 26. Reduction of inventory. 5% of dollar value of inventory. away carbides —more standard 27. Savings from storage of less 20% of storage area. tools —less specials productive material. 5. Longer lool life due to optimum - 30% ol tool cost. 28. Less inventory—less material 5% of material handling cost. cutting speeds and feeds handling. b. Savings in puchasing —less tools- 5% ol tool cost. 29. Floor space savings due to need for Actual space saved. less paper fewer machines. 7. Improved tool life due to improved 20% increased tool life. 30. Savings in supervision. Actual number saved. machine performance 31. Lower fringe costs due to more 25% reduction in fringe cost. 8. Reduce cutting tool storage—simpler 50% of tool crib area. productive time. tooling. 32. Ability to produce samples with 50% of sample cost. 9. Savings in tool maintenance—cutter 20% ol cutter grinding cost. productioon runs. grinding. 33. Availability of samples. A useful sales tool. 10 Less toolroom load due to less 25% less toolroom required. 34. Opportunity for foreman to Improved total operation. tooling required. concentrate on use of people rather 11 Lower fixture cost —less needed. 75% ol durable fixture cost. than machines. 12 Less tool engineering time. 30% ol tool-process engineering cost. 35. Reduction of direct labor. Actual savings based on pieces per 13 Advantage ol lamily-of-parts 20% of tool-process engineering cost. week—not cycle time. concept. 36. Flexibility of scheduling. Improved customer service. Id Savings from less lool engineering- 40% ol printing cost. 37. Savings in scheduling. Improved flexibility. tool engineering records—tool draw- 38. Ability to handle engineering Simple program change. ings—process sheets, etc. (printing changes. costs). 39. Ability to handle variable raw Less raw material rejections. IS Machine maintenance savings due 25% ol machine repair—labor. material. tt) improved and simpler designs. 40. Ability to produce more complex Machine capability simplifies tooling. lb Less machine repair parts required. 25% of machine repair—material. parts. 17 Less inspection due to improved 30% of inspection cost. 41. Product engineering has more Can take advantage of NC capability. machine—process repeatability. design flexibility. 18 NC inspection more accurate than Actual inspection time can be reduced 42. Ability to handle future designs Program changes only will handle many( manual methods. as much as 80% without extensive tooling. new designs. 19. Reduced setup time. 80% of setup cost. 43. Reduces costs and improves Estimates can be dry run of tapes. 20. Reduced setup scrap. 30% of scrap cost. estimating accuracy. 21. Reduced scrap due to lool change or 20% ol scrap cost. 44. Skills built into tape programs Tool and process engineers improved adjustment. retained through personnel changes. by 15%. FIG. 9.7 NC BENEFITS SUMMED UP FORTY-FOUR POINTS - 269 - it a ^ BATCH SIZE a = set-up costs per piece - conventional a' = set-up costs per piece - NC b = workin progress plus storage costs c = total costs - conventional c' = total costs - NC FIG. 9.8 THE EFFECT OF BATCH SIZE ON COSTS - 270 - EVALUATION AND ECONOMIC ASPECTS OF THE CAD/CAM SYSTEM set-up costs per piece are lower for NC than for conventional techniques. Consequently, total costs for NC are lower than conventional costs. The result is that by NC utilisation the cost per piece decreases and the economic batch size is smaller. The overall result is a further reduction in inventory cost due to the reduced quantity of work in progress. Thus, the ability to manufacture economically in smaller batch sizes can lead to the situation where it is advantageous to make components as and when required, rather than producing in fairly large batches at widely spaced intervals. Furthermore, the accumulated benefits of NC application, lower overheads, higher yield, lower lead times and better products greatly reduce payback times. Other paybacks are also achieved such as: improved consistency and yield of production, improved utilisation through greater versatility of machine tools, relieving some vital skill shortages, reduction in inventory control through closer control and better scheduling, reduction in space and energy requirements, and solving some safety and health problems by automating hazardous or disagreeable tasks. 271 - CHAPTER 10 CONCLUSIONS, DISCUSSION AND SUGGESTIONS FOR FUTURE WORK 10..1 Conclusions and Discussion Increased productivity at the lowest manufacturable cost is probably the ultimate desire of all industrial organisations. In order to achieve these goals several hurdles have to be overcome. Amongst the most important are: fierce competition from national as well as international competitors, improved product quality and reliability, and increasing raw materials and labour costs. The introduction of computers and electronic technology in the form of computer-assisted design, flexible automation and the' automated factory will tremendously assist in the growth, prosperity and recognition of the industry towards fulfilling these aims. Furthermore, the ever diminishing size and costs of electronic devices together with the increasing versatility and chip population makes them ideal for application within production equipment, especially CNC machine tools, robots, and their control systems. The versatility of microcomputers and microelectronics provides equipment manufacturers and end-users with enhanced flexibility to customise the systems to their particular requirements. The ability to customise software as well as hardware can lead to better and more confident use of the system resulting in reduced product lead times and better product quality. - 272 - CONCLUSIONS, DISCUSSION AND SUGGESTIONS FOR FUTURE WORK The design methodology and initial development of such a system is presented in this thesis. For example, the development of initial CNC turning and milling machine tools are discussed in Chapter 6. The control system's architecture consists of a hierarchy of microcomputers whereby a control task is distributed by the delegator to the lower level of slave microcomputers. The slave microcomputers are similar in architecture and are dedicated to the task of controlling a single axis, such as spindle speed, X direction feedrate, Y direction feedrate, etc. Software differences account for the task of the slave microcomputers. Such a system concept allows complex control systems and control tasks, such as 3D interpolation, to be handled by several low cost and modular axes and variable controllers. Complementary to the CNC control hardware the design methodology of the CAD/CAM system, its workstations and software is presented (Chapters 4, 5 and 7). Unlike most of the commercial turnkey systems the described software integrates the two main fields of CAD and CAM whereby a product can be designed, graphically visualised, design analysis performed, draughted, cutter paths generated and simulated and finally down loaded on to the CNC machine tool for subsequent machining. The software is highly versatile, modular and expandable. For example, the system software can be easily expanded to accommodate a variety of machining operations ranging from turning, milling, drilling, punching, grinding and shaping to spot and continuous - 273 - CONCLUSIONS, DISCUSSION AND SUGGESTIONS FOR FUTURE WORK welding. Its novelty also arises, from the fact that part programs can be generated for a wide range of machine tools. The addition of a simplified post processing program will then convert the CLDATA file from a general integer binary format to one compatible with the machine tool. The inherent low cost of the system hardware and software makes it ideally suited for many small and medium sized manufacturing industries who cannot afford (or do not have the requirements for) a large CAD/CAM system. By purchasing a versatile system which is suited to their requirements end users can expand the system as and when the need arises. One of the greatest advantages of the system is its invaluable aid in job estimating, and is hereby discussed. Minimising costs whilst maintaining schedules is a daunting task facing most workshop managers. It can be accomplished in one of two main ways. Firstly, by maintaining a high machine utilisation, and secondy by minimising the work in progress in the shop, i.e. by reducing queues. This means that the total time a component spends in the shop should be •as close as possible to the sum of set-up, cutting and transport times. Both these aims must be achieved while maintaining delivery and coping with day to day problems such as re-makes, machine breakdowns, sickness and changing priorities. The use of such a system would have tremendous advantages with high machine utilisation, reduced set-up times, optimised machining times and generally increased - 274 - CONCLUSIONS, DISCUSSION AND SUGGESTIONS FOR FUTURE WORK productivity. Job costing estimates would be much more accurate and quicker than by conventional methods. It would also be possible to cost effectively machine a single component and to get the customer's approval on its quality and finish. Any modifications can then be very easily edited into the product's DB and the revised part produced. 10.2 Suggestions for future work This section is subdivided into two main classifications. The first presents suggestions for improving and upgrading the hardware from the present SWTP system to a 2/2%D 8-bit microcomputer based system, and a second 3D 16-bit microcomputer based system. Both of these two systems could either represent dedicated systems or could be used as a workstation within a hierarchical system architecture, as discussed in Chapter 6. The suggestion for an 8-bit and a 16-bit microcomputer based workstation are tabulated in Fig. 10.1. First consider the 8-bit workstation. The chosen workstation's computer is either of the SWTP or the GIMIX products. They are almost identical in hardware and cost. Their CPU is the popular M68B09. Amongst the 8-bit microprocessors it is classified as the best in terms of its speed, versatility, ease of use and instruction set. The heart of the 8-bit workstation is the OS-9 operating system which runs on both the SWTP and the GIMIX microcomputers. It is a very popular multi-user, - 275 - System configuration of a 3D system Comparison Elements of a 2/240 System based on the HP 9826 microcomputer Ratio Element Identifier Typical Typical Approx* Approx* Unit/ Comments unit/ Cost Comments Cost Configura- Configura- tion tion Workstation's SWTP/GIMIX 8-bit system £2750 HP 9826 16-bit system £10,000 1:3.6 Computer M6809 Micro- Microcomputer computer Microprocessor M6809 8-bit 2MHz - M68000 16-bit 8MHz - - microprocessor microprocessor On-board RAM 12 8K Static — 512 K Static — — Operating 0S-9 Multi-user OS £350 Pascal Three operating inc. System producing Basic systems exist. relocatable code. HPL All single-user Overlay routines and ability to link different language utility programs as s tan da rd Subset of UNIX Programs1ng Pascal OS-9 Pascal £300 Pascal Wide array of inc. Languages Assembler compiler produclnc r 68000 pi'ogrannni ng source code as Assembler languages well as P-code. Fortran Basic HPL Modern HP2648A Medium resolution £4700 HP1310B Raster scan VDO £5000 Peripheral VDO ' (720x360) but HP 1351A and sufficient for Graphics generator £4000 the majority of 2/24D operations Mass Backup Winchester 5M byte £3000 Winchester 5M byte backup £3000 1:1 Storage Disc Disc storage. Ideally 10—20M byte are required 1 " 1 " Removable Twin 5 / 1.2MB inc. Ideally a twin 8" inc. 5 / Floppy Storage Floppy floppy disc drive Disc Disc Unit or a cartridge is required. One 5l/4 " disc unit is not sufficient External peri- Small size £1000 HP 911.LA Medium size tablet. £1500 1:1.5 pherals (optional] tablet. Alphanumeric; £ 500 High resolution. £1000 1:2 graphic Alphanumeric/ printer. Graphic Printer. Plotter. £3000 Plotter. £3000 1:1 TOTAL COST E15600 TOTAL COST £25500 1:1.76 * All prices are approximate and correct at time of printing. FIG.-. 10.1 CONFIGURATION AND COST COMPARISONS BETWEEN A 2/2JD AND A 3D SYSTEM - 276 - CONCLUSIONS, DISCUSSION AND SUGGESTIONS FOR FUTURE WORK multi-tasking operating system closely resembling the universal UNIX operating system. A low cost HP2648A VDU with a resolution of 720 x 360 is sufficient for the majority of 2/2iD operations. A Winchester disc capable of storing upto 5M bytes supplemented with a twin inch floppy disc unit are ideal for storage devices. With the additional optional peripherals the system cost would be well under £20,000 (including software). This figure represents an ideal low cost system suitable for even the small and medium sized manufacturing industries. Suggestions for the development of a 3D CAD/CAM system on a 16-bit microcomputer based system are hereby discussed. The microcomputer in discussion is the Hewlett Packard, HP 9826 system containing the M68000 microprocessor as the CPU and 512K of static RAM. Three operating systems exist, namely: Pascal, Basic and HPL. The majority of CAD/CAM software should be developed under the Pascal OS in order to take full advantage of the feature of the language, and secondly, to develop software in a universal language so that it may be transportable between heterogeneous computers. Handlers, I/O and time critical routines should be developed in 68000 assembly language and integrated with the Pascal routines. The OS and application programs should all be resident on Winchester disc whilst utilising the floppy discs for backup storage. The data tablet will assist in the entering of the geometry as well as technological information in the form of menu tables, freehand sketching and digitising. A high resolution alphanumeric/graphics - 277 - CONCLUSIONS, DISCUSSION AND SUGGESTIONS FOR FUTURE WORK printer can be used for fast low cost screen dumps of geometry and data. High resolution drawings, including general assembly, can be obtained via the flatbed plotter connected via the RS232 bus. The cost of the 16-bit microcomputer based workstation is approximately £25,500 a minimal increase in cost over the 2^D system. Besides upgrading the hardware from the present SWTP microcomputer to two commercialy viable 2kD and 3D systems, improvement and expansion of the developed software would be required. The various CAD/CAM packages are discussed in the order that they are executed and suggestions for improvement and expansion are presented. Modularity of the current DB and software packages should make this task relatively straight forward. The DB format would have to be expanded within the CREATE package to accommodate a wider array of geometries such as arcs, splines and user defined macros. The 2tD database would also have to be expanded to a 3D database on the 15-bit workstation. Geometry definitions would need to be much more versatile so that they are almost free format, and incorporate the use of both metric and imperial units. For example the present 8-bit restricted format: CYL Plane,Diameter,Depth e.g. CYL YZ,1000,500 CYL XY,712,-425 - 278 - CONCLUSIONS, DISCUSSION AND SUGGESTIONS FOR FUTURE WORK would result as: CY.L Direction cosines,Attribute 1,Attribute 2 e.g. CYL 10,20,40,1000D,500L CY.L 20,0,40,10.123L,0.112D The latter represents the geometry definition for a cylinder in 3D space. Its direction angles are stated with its length and diameter specified in free format in the pre-stated units. Mirroring, scaling and rotation of primitives would also be desirable. The use of the menu tablet as a means of geometry definition would need to be implemented. Improvements within the DISPLAY package would be the introduction of a display file which represents only some position, view, or part of the picture. This would obviously be stored on fast backup storage, such as Winchester disc. It would be used for the fast redisplay of certain pictures such as 1st angle projection, or isometric/perspective/3D views [56]. Several hidden line elimination algorithms exist [57] and they will need to be investigated and a suitable one implemented. The DESIGN analysis package would certainly need to be expanded to cover various other geometries besides turned parts. However, it may be advisable only to further develop this package according to the specific requirments of customers. - 279 - CONCLUSIONS, DISCUSSION AND SUGGESTIONS FOR FUTURE WORK The CPDR packages would need to be expanded to take into account the additional number of primitives. The generation of the CLDATA would have to be much more interactive to provide greater freedom to the operator in the selection of tools and cutter paths. Furthermore, more sophisticated optimal cutting parameters' algorithms would be required. Integration of the CAD/CAM workstation(s) with several machine tools and robots within a FMS cell would need to be investigated. A supervisory computer would be required to assume overall control within a cell ensuring that a part is efficiently manufactured by the various elements of the cell. 4 280 - REFERENCES 1. Kehoe L, 32-bit processor power at ISSCC, Electronics and Power, March 1981, pp. 202 2. IIT Research Institute, APT Part Programming, McGraw- Hill Book Company, 1967 3. AM9511A Arithmetic Processor Unit Datasheet, Advanced Micro Devices Inc., California, 1980 4. Tangney J, Computer-Aided Drafting on desktop computers, Tektronic Inc., Proceedings of CAD82, pp. 549-555 5. Alankus 0 B, A versatile turning centre with multi- microprocessor control, PhD Thesis, University of London, July 1982 6. Pressman R S and Williams J E, Numerical Control and Computer-Aided Manufacturing, John Wiiey and Sons, 1977 7. Budzilovich P N, Computerised NC - A step toward the automated Factory, Control Enineering, Vol 16, July 1969, pp. 62-68 8. Electronics Industries Association standard for NC Tape - 281 - REFERENCES 9. Pak H A, Microprocessors in Computer-Aided Design and in Computer-Aided Manufacture in Mechanical Engineering, PhD Thesis, Imperial College, University of London, 1981 10. Hilford M H, Using intelligent peripherals for boosting microprocessor speed, Machine Design, January 6 1977, pp. 70-74 11. Krouse J K, CAD/CAM Bridging the gap from design to production, Machine Design, June 12 1980, pp. 117-125 12. Fishlock D, Advent of computer-managed, robot- operated factories, Financial Times, February 8 1980 13. Fulton R E, Using CAD/CAM to improve productivity: The IPAD approach, Mechanical Engineering, November 1981, pp. 64-69 14. Fischer W E, PHIDAS - a database management system for CAD/CAM application software, Computer-aided design, vol 11, No 3, May 1979 15. Clements A, An introduction to bit-slice microprocessors, Electronics and Power, March 1981, pp. 230-235 16. Ferranti's M700/40 bi-polar microprocessor, Micro Forecast, January 28 1982, pp.1 - 282 - REFERENCES 17. Bipolar PROMs: Advantages, Applications. Micro Forecast, July 16 1981, pp.7 18. Weiner B and Swartz D, Adapting Unix to a 16-bi.t Microcomputer, Electronics, March 24 1981, pp. 120- 124 19. Managing micros in mechanical projects, CME design and manufacturing supplement, October 1981, pp. 11-14 20. Wirth N and Jensen, Pascal user manual and report, Second Edition, Springer Verlag 21. Posa J G, Pascal becomes software superstar, Electronics, October 12 1978, pp. 81-83 22. Gibby D R and Bennee N W, P-6800 Pascal user guide and reference manual, Version 3.9, Lucidata Ltd, Cambridge, 1981 23. Bolyreff C, Developing microprocessor software without tears, Electronics and Power, March 1981, pp. 228-229 24. Hemenway J, Microcomputer Operating Systems Directory, EDN, November 5 1980, pp. 275-338 - 283 - REFERENCES 25. The board that has everything, Dicoll Electronics, Basingstoke, Computer Systems, October 1981, pp. 4-5 26. Maths Processor Chips, Electronic Equipment News, August 1980, pp.,8 27. NEC UPD7220/GDC Graphics Display Controller, NEC Electronics (Europe) GmbH 28. Ford R, Distributed processing in CAD, Proceedings of CAD80, 1980, pp. 353-360 29. HP 2648A graphics terminal reference manual, Hewlett Packard Company, California 30. The Flex Disk Operating System Documentation, Technical Systems Consultants, Inc. 31. Dalzell D T , Intelligent machine tools and the microprocessor, PhD Thesis Imperial College, University of London, 1981 32. Pak H A and Alankus 0 B, . Proposed CNC System's control hardware specification and programming example. Internal report, Imperial College, June 1981 33. Welsh D and Amkreutz J, A General Engineering System on a micro ?!, Proceedings of CAD82, pp. 536-548 - 284 - REFERENCES 34. Oyake I, Mizuno H, and Yamagishi M, A Graphic. Database for interactive CAD, Proceedings of CAD82, pp. 133-142 35. Wirth N, Algorithms and Data Structures = Programs, Prentice Hall, 1976 36. Booth G M, Hierarchical Configurations for distributed processing, Compcon Digest, September 1977 37. Khurmi S K, A microcomputer based CAD/CAM system, PhD Interim Report, Imperial College, Universtity of London, March 1981. 38. British Standards Institution, BS 308 Engineering drawing practice 39. Earle J H, Engineering Design Graphics, Third Edition, Addison-Wesley Publishing Company, 1977 40. Newman W M and Sproull R F, Principles of Interactive computer graphics Second Edition, McGraw-Hill, 1979 41. Olesten N 0, Numerical Control, Wiley-Interscience, 1970 - 285 - REFERENCES 42. Compact II Programming Manual, Manufacturing Data Systems International, Fifth Edition, 19C0 43. GNC - Graphical Numerical Control Programming System, Computer-Aided Design Centre, Cambridge 44. Flutter A G and Rolph R N, POLYSURF: an interactive system for the computer-aided design and manufacture of components, Proceedings of CAD76 45. Surfset - A suite of programs for computer-aided design and manufacture, Lucas Logic Limited, Warwick, UK 46. Toko Inc., KM3701 Interpolation IC Data sheet, Japan 47. Khurmi S K, A microcomputer based interactive CAD/CAM system for turning and milling operations, Proceedings of CAD82, April 1982 48. Krar S, Oswald J and Amand H , Technology of Machine Tools, Second Edition, McGraw Hill, 1977 49. Machinery's handbook, 21st edition, Industrial Press Incorpo ration 50. Bird M G, Computer Simulation of Automatic Lathe Machining Methods, Chartered Mechanical Engineer, June 1981, pp.29-33 - 286 - REFERENCES 51. Acosta A, Alankus 0, Hibberd R, Besant C and Pak H, An arlgo.ri.thm for off-line optimisation of cutting conditions in a microcomputer, Internal report, Imperial College, June 1982 52. Khurmi S K, The Design and development of a microcomputer based CAD/CAM system for 2£D milling operations. Proceedings of MICAD82, September 1982 53. Pitteway M L V, An algorithm for drawing ellipses or hyperbolae with a digital plotter, Computer Journal, Vol 10, No 3, November 1967 54. Persson H, NC Machining of arbitrarily shaped pockets, Computer-aided design, Vol 10, Number 3, May 1978, pp.169-174. 55. Modern Machine Shop, 1982 NC/CAM Guidebook, Vol 54 No. 8A, January 1982, pp. 431-437 56. Data manipulation for 3D display, Practical Computing, Vol 5, April 1982, pp. 77-80 57. Griffiths J, Bibliography of hidden-line and hidden- surface algorithms, Computer-Aided Design, Vol 10 No. 3, May 3 1978, pp. 203-206 - 287 - APPENDICES - 288 - APPENDIX A CREATE PACKAGE COMMAND REPERTOIRE The command repertoire of the CREATE package is presented in Fig. Al. Symbol definition commands have the following syntax: Command Syntax Plane,Attribute^,Attribute2,...Attribute^ The command syntax may be any one of the commands present in the vocabulary table. Only the first three characters of a command are required to define it. The attributes specify arguments associated with the command. They may consist of alphabetic characters as well as numeric values. Numeric values are presented in an integer form within .the range (-32767 to +32767). appendix a create: package command repertoire COMMAND COMMAND ATTRIBUTES DESCRIPTION EXAMPLE SYNTAX BOX BOX Length (X), Width (Y), Rectangular box where the BOX 1000, 2000, 3000 Height (Z) attributes represent distances along the specified axes. BYE BYE Terminate the program execution BYE CIRCLE CIR Plane, Counter/Counter- Circle or a circular arc CIR XY,0,100,200,50,5 clockwise flag, horizontal coordinate of end point, vertical coorinate of end point, horizontal coordinate of centre point, vertical coordinate of centre point. COMPONENT COM Component name Component name specified as COM BEARING ASCII characters. The component name is stored in the DB. CONCENTRIC CON Plane, numerical value of Switch on the concentircity CON XY,1000 concentric axis feature whereby turned primitives are automatically positioned concentric to the specified axis. CON OFF Switch off concentricity feature CON OFF CURSOR CUR Move the graphics cursor to the CUR current position in (X,Y,Z) space. First the cursor is displayed in the XY plane, followed by the YZ plane, followed by the XZ plane and to the XY plane. CYLINDER CYL Plane, diameter, depth A primitive: specification record CYL XY,210,100 for a right cylinder. npt.m'i'h CYL Delete the last entered primi- DEL tive from the workspace. DIMENSION DIM See Appendix D DRILL DRL Plane, horizontal coordinate Specification for a drilling DRL XY,100,100,50,25 of centre point, vertical operation. Equivent to a coordinate of centre point, MOVE followed by a CYL command. hole diameter, hole depth. DISPLAY DSP Transfer control from CREATE DSP package to DISPLAY package. EXIT EXI Transfer control from CREATE EXI package to CDAD idle state. FILLET FIL Plane, clockwise/counter- Primitive specification record FIL XY,0,200,200,50,40 clockwise flag, horizontal for a fillet. Several versions coordinate of end point, exist for this primitive for vertical coordinate of end ease of definition. point, horizontal coordinate of centre point, vertical coordinate of centre point. FIL Plane, clockwise/counter- FIL XY,0,T;315,100,100 clockwise flag 'T', 9, horizontal coordinate of centre, vertical coordinate of centre. FIL Plane, clockwise/counter- FIL XY,0,T,315,R50,RO clockwise flag, 'T', 9, relative horizontal distance from start point to centre, relative vertical distance from start point to centre. - 290 - CREATE PACKAGE COMMAND REPERTOIRE (Cont'd) COMMAND COMMAND ATTRIBUTES DESCRIPTION EXAMPLE SYNTAX FLEX FLE See BYE HOLLOW HCY Plane, major diameter, depth, Primitive specification for a HCY YZ,1200,5000,1100 CYLINDER minor diameter thick/thin walled tube (hollow cylinder). LABEL LAB Plane, normal/slanted A primitive specification record LAB XY,100,200,Message character flag (optional), for an ASCII string to be LAB XY,(1,2,2,45),100,200,Message horizontal size factor for the printed on the screen/plotter characters (optional), verti- and stored In the DB. LAB YZ,(0,1,1,0),20,30,Message cal size factor for the LAB XZ,(0,1,4,270),50,300,Message characters (optional), string's angle of Inclination, ant±-clockwise (optional), horizontal position for the start of the string, vertical position for the start of the string, string to be printed. LINE LIN X coordinate, Y coordinate, Prlmitve specification record LIN 1000,2000,3000 Z coordinate. for a line. LIST LIS Component Number Alphanumerically list the LIS 1 primitives which make up the LIS 4 specified component. If a '!' LIS ! symbol is specified then the entire product's primitives are listed. LINE-TYPE LTY Line Type Number Select one of the four line LTY 2 types from solid (default), dotte4, chain and long chain. MEND MEN List the vocabulary table. MEN MOVE MOV X Coordinate, Y Coordinate, Move with the pen-up from the MOV 1000,1000,4000 Z Coordinate current position to the specified position. PRODUCT PRO Product name Product specification record. PRO GEARBOX The product name (7 ASCII characters) is stored ln the OB. PYRAMID PYR (X) Base Length, (Y) Base Primitive specification record PYR 1000,2000,500,750,600 Width, Height (Z), (X) Upper for a pyramid, similar to BOX. Length, (Y) Upper Width RELATIVE- RLI Relative distance (X), Line specification record where RLI 100,200,0 LINE Relative distance (Y), the attributes represent rela- RLI 0,0,1000 Relative distance (Z). tive distances from the current pen position to the desired position. RELATIVE- RMO As RLI As RLI except pen is up. RMO 100,200,0 MOVE SAVE SAV File Name Save on disc the current product SAV GEARBOX within the workspace under the SAV G3ARB0X.DAT specified file name. Up to 8 SAV GEARBOX.PRD characters are allowed for the name plus a 3 character exten- sion. Default extension is (.DAT). SCALE SCA Scale Value Assign a scale value for SCA 10 display purposes. STATUS STA Current values of CREATE flags STA and pointers are displayed. TAP TAP Plane, outer diameter, outer Primitive specification record TAP XY,100,500,50,600,400 depth, inner depth, pitch for a Internal thread. size TAPER- TCY Plane, diameter^, depth, Primitve specification record TCY YZ, 1000,2000,2000 CYLINDER diameter^• for a tapered cylinder. Depth is specified positive from left to right. THREAD THR Plane, major diameter, length, Primitive specification record THR YZ, 1000,2000,800,400 minor diameter, pitch size for an external thread. - 291 - PRIMITIVE DATABASE ORGANISATION LINE 7 bytes i I coda CIRCLE 11 bytes Icode Symbol Circle End coords Centra- coords type O type CYLINDER 7 bytes Icode Symbol, Circle Diameter Depth type 1 type THREAD 11 bytes Icode Symbol Circle Outer Depth Inner Pitch type 2 type Diameter Diameter TAP 13 bytes Icode Symbol Circle Outer Depth Inner Depth Pitch type 3 type Diameter Diameter TAPER- 9 bytes CYLINDER Icode Symbol Circle Diameter Depth Diameter type 4 type FILLET 11 bytes Icode Symbol Circle End Coords Centre coords type 5 type BOX 8 bytes Icoda Symbol Width (XX Depth (Y) Height (Z) type 6 PYRAMID 13 bytes Icode Symbol Base (X) Base (Y) Height Top (X) Top (Y) type 7 (Z) HOLLOW- CYLINDER 12 bytes Icode Symbol Circle Diameter Depth Diameter Depth type 8 type 1 1 2 2 APPENDIX B. PRIMITIVES' DATABASE ORGANISATION - 292 - APPENDIX C CREATE & EDIT PACKAGES' ERROR MESSAGES Error Number Meaning CREATE Errors 01 Unrecognisable command syntax 02 Workspace full 03 Missing argument in command syntax 04 Missing line element in command syntax 05 Line buffer full 05 Illegal line type definition 07 Scale value too large 08 Dimension error 09 Numerical attribute too large 10 Plane definition syntax error 11 Delete command error 12 Save/load command error (possibly disc not ready) 13 Syntax error in LABEL command 14 Component does not exist 15 Component number larger than 127 16 Multiplication overflow 17 Feature not implemented EDIT Errors El Command not allowed in Edit mode E2 Workspace full E3 EDIT delete error - 293 - APPENDIX D DISPLAY PACKAGE COMMAND REPERTOIRE Nomenclature definitions The following symbols are used in the description of the DISPLAY package's command repertoire: CN - denotes the Component Number P - denotes plan view (XY plane) E - denotes elevation (XZ plane) S - denotes side-elevation (YZ plane) I - denotes isometric view R - denotes reverse isometric view. No.te that only the first three characters are sufficient to define a command. Furthermore, only the first letter of a view is required to define that view. Any combination or sequence of views can be invoked by separating them with a comma. For example the following two entries have the same meaning although the former is easier to enter: DIS 1 P,E,S,I DISPLAY 1 PLAN,ELEVATION,SIDE,ISOMETRIC BYE Format :- BYE Description:- Stop the program execution and return to Flex. - 294 - DISPLAY COMMAND REPERTOIRE CLEAR SCREEN Format CLE D Description:- Erase the graphics display. Format :- CLE P Description:- Clear the graphics display of the plan view, etc. CREATE Format :- CRE Description:- Exit from the Display Package and transfer control to the Create package. DIMENSION Format :- DIM Description:- Screen dimension a primitive by digitising the extremities of the dimension label using the G-cursor. DISPLAY Format :- DIS CN P,E,S,I,R Description:- Display the requested views of the desired component. Examples :- DIS 1 P :- DIS 1 S,I Format :- DIS CN P,E,S,I,R +C Description:- As above but abort software clipping. Example :- DIS 1 P,E +C - 295 - DISPLAY COMMAND REPERTOIRE Format DIS CN P,E,S,I,R +S Description:- As above but store a copy of the desired view(s) on disc. Examples :- DIS 1 I +S :- DIS 3 PfErSrR +S DRAW AXES Format :- DRA Description:- Subdivide the screen into four viewports and label them. FLEX Format :- FLE Description:- See BYE REDISPLAY Format :- RED Description:- Re-display the stored view(s) ROTATE Format :- ROT CN P,E,S Description:- Rotate the desired component and display the requested views. Isometric and reverse-isometric views cannot be rotated. Example :- ROT 5 P,E,S - 296 - DISPLAY COMMAND REPERTOIRE Format ROT CN P,E, S +C Description:- As above but abort software clipping. SCALE Format :- SCA No Description:- Allocate a scale factor for display purposes. Example :- SCA 15 STATUS Format :- STA Description:- Indicate the current values and status of Display parameters, such as SCALE,and current position in 3D space. STOP Format :- STO Description:- See BYE WINDOW Format :- WIN CN Description:- Request to window the specified component. The G-cursor is switched on to digitise the window coordinates. Example :- WIN 2 - 297 - APPENDIX E PLOTTER PACKAGE COMMAND REPERTOIRE Nomenc1ature d ef i ni tions In addition to the nomenclature presented in Appendix D, let A represent "Axes" and L represent "Label". PLOT Format PLO CN A,P,E,S,I,R Description:- Plot the requested views of the desired component. Additionally plot and label the axes if requested. Example :- PLO 2 A,P,E,S,I Format :- PLO CN A,P,E,S,I +L Description:- As above but if +L is specified then the axes are plotted but not labelled. Example :- PLO 2 A,P +L PLOT ROTATED VIEW(S) Format :- PLR CN A,P,E,S,I,R Description:- Rotate the specified component and plot the rotated view(s). Example :- PLR 3 A,P,E PLOT MESSAGE AT CURSOR Format :- PMC Description:- Graphics cursor is switched on and manually positioned to a position on the screen. The keyboard entered message is then plotted on the plotter. - 298 - APPENDIX F VARI'GNON1S THEOREM One of the most important principles of mechanics is Varignon's theorem, or the principle of moments, which states that the moment of a force about any point is equal to the sum of the moments of its components about the same point. To prove this statement consider a force R and two components P and Q acting at point A, Fig. FI. Point 0 is selected arbitrarily as the moment centre. Construct the line AO and project the three vectors onto the normal to this line. Also construct the moment arms p, q, r of the three forces to point 0 and designate the angles of the vectors to the line AO by a, 3, Yr as shown below. FIG. FI - 299 - APPENDIX F Since the parallelogram whose sides are P and Q requires that ac = bd, it is evident that ad = ab + bd = ab + ac or RsinY = Psina + QsinB Multiplying by the distance AO and substituting the values of p, q, r give Rr = Pp +• Qq which proves that the moment of a force about any point equals the sum of the moments of its two components about the same point. Varignon's theorem here proved for 2 components can be used for three or more components. - 300 - APPENDIX G MOMENT OF INERTIA OF COMPOSITE BODIES The moment of inertia of a composite body or area about a particular axis is- the algebraic sum of the moments of inertia of the various parts about the same axis, Appendix F. When a section is composed of a large number of parts, it is convenient to tabulate the results for the parts in terms of the area A, centroidal moment of inertia I, distance d from the centroidal axis to the axis about which the moment of inertia of the entire section is being 2 computed, and the product Ad . For any one of the parts the desired moment of inertia is I + Ad , and thus for the entire • section the desired moment of inertia may be expressed as P TOTAL = EI + EAd2 - 301 - APPENDIX H DETERMINATION OF THE CENTROID OF COMPOSITE BODIES When a body or figure can be conveniently divided into several parts of simple shape, the principle of Varignon may be used if each part is treated as a finite element of the whole. Thus for a body whose several parts weigh Wlf W2, W3, ..., and whose separate coordinates of the centre of gravity of these parts in, say, the x-direction are xlf x2 f x ..., the moment principle gives (Wx + w2 + w3 + ...)X = wx x1 + w2 x2 + w3 x3 + ... where X is the x-coordinate of the centre of gravity of the whole. Similar relations hold for the other two coordinate directions. These sums may be expressed in condensed form and written as X = ZWx EW Y = EWy EW Z = EWz EW Analogous relations hold for composite lines, areas, and volumes, where the W's are replaced by L's, A's and V's, . respectively. - 302 - APPENDIX I DESCRIPTION OF THE TCLDATA AND MCLDATA FILES 1.1 TCLDATA Format The Turning Cutter Location Data format comprises of the seven record types illustrated in Fig. II. Each record consists of three attributes. The first represents the Machining Code (MCODE) followed by the machining attributes stored in an integer binary format. All coordinates are of the tool tip with respect to the component datum position. M CODE Attribute 1 Attribute 2 Description 0 X Coordinate Y Coordinate Rapid Traverse (MOVE) 1 X Coordinate Y Coordinate Linear motion with feedrate constraint (CUT) 2 Spindle Speed 0 * (rpm) 0 Cutting Speed (incr/s) 3 X Coordinate Y Coordinate Threading attri- butes 4 Pitch Size Pitch specifica- tions 5 0 Tool number Tool change 1 Tool tip radius • 6 Maximum feed- Torque concen- Constraints for rate tration feedrate/torque Fig. II. TCLDATA File Format 303 - DESCRIPTION OF THE TCLDATA AND MCLDATA FILES 1.2 MCLDATA Format The MCLDATA is a file similar to that of the TCLDATa. with the following exceptions: Milling Cutter Location Data are represented Each record comprises of four attributes The records are stored in a integer binary format firstly to economise on storage and secondly to be consistent with the DB and the CNC formats. A similar table to that for the TCLDATA is presented in Fig. 12. MCODE Attribute 1 Attribute 2 Attribute 3 Description 0 X Coordinate Y Coordinate Z Coordinate Rapid Traverse (MOVE) 1 X Coordinate Y Coordinate Z Coordinate Linear Motion with feedrate constraint (CUT) 2 Spindle speed 0 0 (rpm) 0 Cutting speed 0 (incr/sec) 3 0 Drilling spindle Drilling speed cutting speed Vertical drilling specifications 1 0=Conventional Depth drill, bore & float tap cycles l=Peck drilling cycle 4 Pitch Depth of thread Number of Threading passes specification 5 0 Standard tool no 0 Tool specification 1 Tool type Tool diameter 6 Feedrate Torque 0 Constraints lor feedrate torque Fig. 12. MCLDATA File Format - 304 - APPENDIX J TCPDR AND MCPDR PACKAGES' COMMAND REPERTOIRE TCPDR command repertoire BYE Format :- BYE Description:- Terminate the program execution and return to Flex. FLEX Format :- FLE Description:- See BYE MACHINE COMPONENT Format :- MAC CN Description:- Display the component's geometry and simulation of the machining operation. Subsequently, generate an NC file containing the TCLDATA records. Example :- MAC 1 Format :- MAC CN +C Description:- As above but do not display the tool during simulation. Only the component and the cutter path loci are displayed. Example :- MAC 1 +C SCALE Format :- SCA Description:- Allocate a scale factor for display. - 305 - TCPDR AND MCPDR PACKAGES' COMMAND REPERTOIRE TOOL DISPLAY Format TOO Description:- Upon response to the desired tool number its geometry is displayed on the screen and its nose radius stated. MCPDR command repertoire BYE Format :- BYE Description:- As before. CLEAR VIEWPORT(S) Format :- CLE P,E,S,I,D Description:- Refer to Appendix D. Example :- CLE D DISPLAY Format :- DIS CN P,E,S,I Description:- Refer to Appendix D. Example :- DIS 1 P DRAW AXES Format . " :- DRA Description:- Refer to Appendix D. FLEX Format :- FLE Description:- See BYE \ - 306 - TCPDR AND MCPDR PACKAGES' COMMAND REPERTOIRE MACHINE COMPONENT Format MAC CN Description:- Determine machining parameters and simulate machining operation. Subsequently, generate a NC file containing MCLDATA records. Example :- MAC 1 PLOT COMPONENT & CUTTER LOCI Format :- PLO Description:- Plot the desired component and the cutter loci. SCALE Format :- SCA Description:- As before. STATUS Format :- STA Description:- Display the status of the common identifiers such as SCALE, Tool Number, etc. TOOL DISPLAY Format :- TOO Description:- Display the geometry of the desired milling/drilling tool and specify its dimensions. - 307 - APPENDIX K PPGP PACKAGE COMMAND REPERTOIRE GENERATE PART PROGRAM Format GEN Description:- First the file specifications for the TCLDATA file and the part program file are requested. The command then generates a part program from the TCLDATA file and stores it under the name specified for the part program file. TRANSPARENT STATE Format TRA Description:- The transparent state is entered by this command whereby direct communication between the workstation and the CNC system is achieved. The user can thus acquire direct control of the machine tool as well as any CNC resident software. The transparent state is terminated by typing a ' SEND PART PROGRAM Format SEN Description:- The part program is transmitted to the CNC system FLEX Format FLE Description:- Terminate program execution and return to the operating system, FLEX. - 308 - APPENDIX L A MICROCOMPUTER BASED INTERACTIVE CAD/CAM SYSTEM FOR TURNING AND MILLING OPERATIcjj, S K Khurmi, C B Besant, A Jebb and H A Pak Mechanical Engineering Dept, Imperial College of Science & Technology, LONDON. A low cost Microcomputer based integrated Computer Aided Design/ Computer Aided Manufacturing (CAD/CAM) system (MICCAD) is described for the design and direct manufacture of mechanical engineering parts which are produced by "Turning" and/or "Milling" operations. The system is capable of interactive display, creation, draughting, and production of numerical control part programs for a family of multi-microcomputer distributed numerical control (CNC) machine tools being developed at Imperial College. A "Hierarchical System" approach has been adopted both within the data-base structure and the CAM control system so as to maintain modularity, flexibility and expandability. The CAM sub-system can either be activated in a fully interactive mode from the CAD workstation or in a stand-alone mode. INTRODUCTION The decreasing cost of microelectronic devices has resulted in the feasibility of low cost Computer Aided Design and Manufacturing Systems on an economic scale which can be related to small sized manufacturing firms. In order to appreciate how microcomputers can be of benefit in a CAD/CAM system it is useful to examine the hardware involved within such a system (Fig. 1) (2,4). Typically a CAD/CAM system is based on at least one computer for the management and processing of design and manufacturing data and at least three peripherals (a graphic alphanumeric visual display unit, and hard copy units, namely an automatic plotter and a text printer). With the rapid escalation of microelectronics technology there has been an increasing reduction in the size and cost of memories as well as the introduction of several custom built components such as arithmetic chips, resulting in the extensive use of microelectronic technology in CAD/CAM peripherals. The system concept hereby described has been developed in an effort to obtain the optimum benefit from recent developments in the use of microprocessors in the field of CAD/CAM ir. Mechanical Engineering. The work described in this paper is based on the construction of a library cf program and subroutine modules which can be selectively appended into a main program written for the needs of the particular application concerned. For example, a particular package may consist of routines for the creation, editing and visual display of turned components only. HARDWARE CONFIGURATION The CAD Workstation The basic hardware elements of the integrated CAD workstation (Fig. 2) consist of: 1. a Southwest Technical (SWT) 6809 8-bit microprocessor based system with 56 x 8 K bits of dynamic random access memory (RAM); 2. a dual 8 inch double density flexible disk unit, providing 2 M/bytes of usable (formatted) on-line storage; 3. an "intelligent" combined alphanumeric/graphics visual display unit - a Hewlitt Packard 2648A refresh terminal. The Hewlett Packard contains its 518 APPENDIX L own microcomputer which commands the execution of display control functions on a screen resolution of 720 x 360 pixels. 4. a flat-bed A0 multi-microcomputer based plotter operating via an RS-232 data bus from the CAD microcomputer; 5. a text-printer. The Multi-Microcomputer NC (CAM) system The essence of the CAM hardware is a new multi-microcomputer system developed at Imperial College for machine tool control. This control system can be used with a w-.ie range of machine tools. Initial studies of the-control system were made on a modified Colchester lathe with stepper motors controlling the X and Y movements of the tool turret, a closed-loop hydrostatic driven spindle, measuring and feedback devices and the hierarchical distributed processing controller, (Fig. 3). The control system utilizes a distributed processing technique which allows mult. axis variable systems to be constr cot^d without the cost overheads of a large mini-computer. It is hierarchical and modular in structure comprising of two types of controllers, one called the "delegator" and another, a series of "variable controllers." The aim of the delegator is to interface with the outside world, this controller defines the command structure seen by the outside world (1) . All the variable controllers are similar i-n structure and consist of: 1. main processor unit (MC 6802) and 128 bytes of RAM; 2. 4K Bytes of read only memory (ROM); 3. delegator interface integrated circuitry; 4. interface I.e. to motivation unit; 5. digital input/output channels; 6. a counter-timer I.C. for the generation of feed rates. The hardware for the delegator processor is similar to that for the variable controller with the following additions: 1. RAM for the user; at least 4K bytes; 2. an interface to the CAD system or user terminal; 3. an additional 4K bytes of ROM for a machine interpreter; 4. an interface to other variable controllers. Elements of a CAD/CAM package (5) Whatever the shape or size of the central processing unit successful implementation of a CAD/CAM system depends in part upon the successful design structure of a Data Base, which could be envisaged as the heart of the software aspect of a CAD/CAM system. A typical structure of an integrated CAD/CAM system is ill ustrated in (Fig 4) The essential elements of a CAD/CAM software package from the initial design thoughts to the manufacture of the end product are: 1. Geometrical This permits the geometry of the desired component and the required machining configuration to be defined in terms of technological primitives such as Line, Cylinder, Pyramid, etc. These primitives, stored in a form element macro library, together with relevant design algorithms assist in the creation of the product. During the iterative sequence of creation, design analysis, editing, display and draughting the geometrical attributes are stored in a hierarchical data-base (Parts Archive file) ready for access by the reamining CAM modules. 2. Machine This allows the sequence of tool movements to be defined with reference to the 509 \ - 310 - APPENDIX L previously defined geometry. The output from this section is a cutter location data (CLDATA) file which completely describes the tool path. 3. Post Process The post processor processes the binary coded integer (BCI) CLDATA file into Ascii characters which either can be stored on a disk file or sent directly down a RS-232 link to the CAM sub-system. A high-level machine tool interpreter code file is produced in the required machines' format which include the speeds, feed rates and tool changes. DESCRIPTION OF TH E CAD/CAM PACKAGES At present five main software packages, namely Creator/Editor, Display/ Draughting, Design Analysis, Machine Tool Cutter Path Derivate/Simulator, and Part Program Generator, from the basis of the CAD/CAM software collection of the Microcomputer-Aided-Design (MICCAD) system (3). These are now described as they would be executed in chronological order with particular references to the capabilities and programming language structure. The Creator/Editor package (CREATE) The CREATE package is responsible for the interactive creation, modification and storage of components within a product in the system data-base (DB). The Motorola 6809 assembly language was used for the development of this package mainly for the speed and ease of data record decoding. Since approximately 95% of all work performed on NC/CNC machine tools requires simultaneous movement in 2 axes (X and Y) and independent control in a third (Z), most of the software was written for a 2h dimensional DB. Hie data-base structure is a very important parameter in the efficient operation of the various CAD software packages that access the data. To fully describe all the geometric and physical attributes of a product in terms of data acceptable to a computer would require far more data that can be economically justified. In order to minimise storage and retrieval costs the data actually stored in the DB must be kept as compact as possible yet maintaining a logical structure for the ease df the retrieval of a single record positioned somewhere within the DB, not necessarily at the beginning. One way of achieving this is to "logically" divide the product into several components and to store them with their corresponding primitives (eg, line, cylinder, box, etc) in the DB. Thus a hierarchical DB structure was devised, (Fig. 5). There are three main element types, namely, Product Specification, Component Specification and Primitives. The Product Specification contains information such as the types of machines which will be employed (eg, drill, lathe, mill) as well as the product name, materials, quantity required and even contract number and delivery dates. The product is then sub-divided into several components, each one representing information required to manufacture it from a single machining process to a complicated sequence of several machining processes. The roots of the tree structure represent Primitives which are a collection of the geometrical attributes, such as lines, taps and taper-cylinders, which completely define the geometry of the component concerned. This "Integrated Hierarchical System" approach allows large quantities of the information pertinent to drawing, machining, inspection, planning etc, to be easily, methodically and centrally available to various bodies such as managers, design engineers, draughtsmen, and machinists. The entire Product DB or.ce created and edited can be stored as a data-file on disks under an 8 character name (eg, CAMSHAFT. DAT) for access by other CAD/CAM packages. The Display/Draughting Package (DISPLAY) DISPLAY is an interactive, modular graphics package responsible for the comprehensive display of components created by the CREATE package. 510 - 311 - APPENDIX L DISPLAY has been developed using the high-level language 'Pascal.' Pascal allows the formulation of algorithms and data in a form which clearly exhibits their natural structure thus representing suitable and economical data representation which is a desirable feature in CAD/CAM software programming. DISPLAY allows interactive display and draughting of an entire product or its individual components in first angle orthographic projection. Fig. 6 illustrates the various software modules which formulate the DISPLAY package. Display features such as isometric views, clipping, windowing, rotation, dimensioning, labelling, scaling and sectioning form the basis of the DISPLAY package. The Design Analysis Package (DESIGN) DESIGN, also written in Pascal, is responsible for the computation of design features such as mass, volume, surface area, centre of gravity, moments of inertia, and radius of gyration of turned primitives and parts. Results are displayed in a tabular form in both Imperial and Metric units. The Machine Tool Cutter Path Derivate and Simulate Package (MTCPDRS) Two distant phases are encountered before producing the final control commands for the CNC system. They are: - The Processor (MTCPDRS) which provides a general solution which is independent of the actual machine station to be used to manufacture the product. At the end of this phase the intermediate results are stored in a Cutter Location Data file (CLDATA). - The Post Processor (PPGP) which adapts the general solution provided by the Processor and tailors it to the specific format required by the CNC system. The input to the Processor phase is the system's DB which contains all the definitions required to completely define the part's geometry. Records, in the form of primitives, are accessed from the DB and are re-created into a graphical form. A library of turning tools is incorporated within this package. Machining parameters such as spindle (s) speeds and feedrates are determined automatically on the basis of the material that is being machined and the machining operation required. Whilst the data is being generated, the desired component, blank size, machine tool's origin and tool changes are displayed to scale, and the cutter path simulated on the graphics display unit, (Fig. 7). The output of the Processor phase is a Cutter Location Data file which contains information such as the number of rough-cuts, the number of fine-cuts, tool changes, threading parameters, the spindle(s) speeds and feedrates. A similar package for the production of Milling Cutter Location Data files (MCLDATA) has been developed. The Part Program Generation Package (PPGF) The main function of this program is the generation of a numerical control part program compatible with the CNC lathe. The program has an additional task of direct transmission of part-program to the CNC system via a RS-232 serial communication bus. The CNC lathe has a resident high-level programming language called the Machine Tool Interpreter Language (MTIL), resembling the Basic programming language. The presence of a high-level programming language within the QIC system allows the construction of a collection of generalized instruction, or subroutines, within the system, as well as ease in debugging. With this arrangement only the data required to activate these subroutines have to be generated prior to program execution. Thus the post-processing requirement has been simplified to the conversion of CLDATA records from integer binary format to a format accepted by MTIL. 518 - 312 - APPENDIX L RELATIVE MERITS OF THE PROPOSED M1CCAD SYSTEM 1. A reduction in the total system costs due to the introduction of microelectronic technology in the processing, control and mechanical engineering areas. 2. Low computer software costs due to the modular structure of the packages. The modules' architecture is such that modification and interfacing with other modules is a relatively straight-forward task. 3. Interactive and visual (simulation) features lead to the rapid detection and correction of errors. 4. Customised software packages can be quickly and cheaply assembled from existing modules. 5. A general purpose hierarchical DB which is common to all the software packages. 6. A direct communication link between the CAD workstation and the CAM system greatly reduces CAD to CAM data transfer times by eliminating the generation of NC papertapes. This greatly improves design to production times with lower overheads and skilled labour costs. 7. A distributed CAM control system allows modular expansion from the current 2 axis CNC lathe to a multi-axis control lathe without any modifications to the system. All that is needed in the addition of new variable controller modules. 8. A high level machine tool interpreter language, similar to Basic, allows the CAM system to be used as a stand-alone system. CONCLUSIONS Development of an interactive microcomputer based CAD/CAM system for the comprehensive design, draughting, simulation and manufacture of a part has been described. The above proposed microcomputer based CAD software although specific- ally ;formulated for turning and milling operations can be easily expanded to accommodate other machining operations such as punching and planing. REFERENCES 1. Dalzell D T, "Intelligent machine tools and the microprocessor." Ph.D Thesis, Imperial College, University of London 1981. 2. Jebb A, Pak H A, Dalzell D T, "An integrated CAD/CAM system based upon Motorola 6800 series microprocessor system." Proc. CAD80. 3. Khurmi S K, "A microcomputer based CAD/CAM system." Ph.D Interim report, Imperial College, University of London, March 1981. 4. Pak H A, "Microprocessors in Computer Aided Design and in Computer Aided Manufacture in Mechanical Engineering." Ph.D Thesis, Imperial College, University of London, May 1981. 5. Shah R, "NC Guide, Numerical Control Handbook." NCA Verlag, NC & Computerized Automation, Zurich, Switzerland, 1979. 518 - 313 - APPENDIX L link to other DESIGN DRAUGHTING coraDuters ENGINEERING ANALYSI MANUFACTURING FIGURE 1. HARDWARE FOR A TYPICAL CAD/CAM SYSTEM 513 Figure 2. Hardware elements of Figure 3. Hardware elements of the CAD workstation. the CAM system. OUTPUT > i •td PJ GO z m o ol m x I f Figure 4. CAD/CAM system structure. Figure 6. Display / Draughting package modules. - 318 - APPENDIX L FIGURE 7 fa). AN EXAMPLE OF A TURNED COMPONENT. lathe's centre line undercut fine cut tool centre locus. rough cut tool centre locus. tool FIGURE 7(b). COMPONENT PROFILE WITHIN BLANK. ^TL tool tip ... centre path FIG 7(c). THREADING OPERATION FIG 7(d). UNDERCUT OPERATION LOCUS LOCUS 518 - 319 - APPENDIX M THE DESIGN AND DEVELOPMENT OF A MICROCOMPUTER BASED CAD/CAM SYSTEM FOR 2^D MILLING OPERATIONS S K KHURMI, C B BESANT AND H A PAK MECHANICAL ENGINEERING DEPARTMENT IMPERIAL COLLEGE OF SCIENCE AND TECHNOLOGY LONDON ABSTRACT The ever diminishing size and cost of microelectronic devices has brought about two technological achievements. Firstly, in the integration of two technologies, namely, Computer-Aided Design and Computer-Aided Manufacture into unified CAD/CAM systems, whereby a design is developed and the manufacturing process controlled from start to finish with a single system. Secondly, in the feasibility of low cost CAD/CAM systems on an economic scale which can be related to small sized manufacturing industries. The system concept described is in an effort to obtain the optimum benefit from recent developments in the use of microprocessors in the field of CAD/CAM. The current system is capable of 2D and 2^D design and machining of milling components comprising of straight lines and arcs, which conforms to the needs of a large section of the manufacturing industry. APPENDIX M HARDWARE CONFIGURATION The CAD/CAM Workstation The CAD/CAM workstation's hardware is based around the Motorola 6809 8-bit microprocessor and at the time of purchase (1980) it represented one of the most versatile microcomputer systems providing a wide range of hardware and software support. The overall hardware configuration of the integrated CAD workstation, Fig. 1, consists of: 1. A Southwest Technical Products (SWTP) 6809 8-bit 2 MHz microprocessor based single user system with 64 K bytes of user RAM, of which 8 K bytes is utilised by the FLEX9 Operation System. For programs requiring large data storage the RAM can be expanded up to 768K on a single user system. The 6809 microprocessor, although an 8-bit device, has a 16-bit architecture which makes it one of the most versatile and fastest 8-bit microprocessors in the market (1). The cost of the SWT microcomputer is approximately £1800. 2. A dual 8 inch double density, double sided flexible disc unit, providing up to 2.5 M bytes of usable (formatted) on-line storage. The cost of the disc unit is approximately £2750. 3. An "intelligent" combine alphanumeric/graphics raster scan vdu - Hewlett Packard 2648A refresh terminal. It contains its own micro- computer which commands the execution of display control functions on a screen resolution of 720 x 360 pixels, and operates at 9600 baud. Approximate cost is £4500. 4. A flat-bed AO multi-microcomputer based plotter, (£3000). 5. And a text printer. Besides the standard I/O ports the SWTP system also provides the user with, additional peripheral communication ports (ie serial or parallel) so that several peripherals as well as computers can be linked to the workstation. The ability to communicate with other computers is a very important feature in that it provides the capability of- developing larger and more complex programs by distributing the tasks amongst several heterogeneous computers arranged in a hierarchical configuration. Another advantage is that the CAD/CAM workstation is capable of simultaneously communicating with several NC machine tools, similar to a DNC system configuration. The Multi-Microcomputer 0NC System The CAM hardware can be sub-divided into two discrete elements, namely, the control system and the mechanical components associated with the machine tool. The control system is one which has been developed at Imperial College for the control of multi-axes machines such as machine tools, plotters and robots (2). The basic architecture of the control system is a hierarchical one of a master/slaves configuration. By employing such an architecture system modularity, flexibility and expandability are maintained. The concept of the general control system is that it can be customised to the specifications and peculiarities of existing machine tools. - 321 - APPENDIX M The control system is implemented on a retrofitted standard three axes Bridgeport milling machine. WORKSTATION'S SOFTWARE ARCHITECTURE Software Hierarchy Successful design and development of CAD/CAM software packages on a microcomputer requires careful evaluation of the architecture, capabilities and limitations of the system (3). There are three most obvious limitations that are inherent to most microcomputer systems, especially 8-bit microcomputers. They are, firstly, they possess relatively slow processing speeds with mini- computer based CAD/CAM systems. Secondly, they lack software backup, and thirdly, they possess severe fast-store restrictions. Despite these implica- tions there are several ways these restrictions were minimised for the development of a versatile CAD/CAM system. Some of the most common ways were: development of modular software; development of a modular and intelligent CNC system; utilisation of a 'powerful' operating system; allow communication with other computers; and utilise hardware arithmetic computational chips. As a result of these recommendations the software packages described were formulated not only to be modular but be executed in such a manner as to optimise the flow of information from the design stage to manufacture. Since the process of product design and manufacture is a systematic one following a standard design sequence, whereby first the design is formulated, analysed and then the cutter path movements generated followed by the machining process, the sequence of the CAD/CAM software must adhere to it. However, it does not imply that all the packages should be resident in memory at the same time during the various stages of the product design. Thus, in order to minimise on board storage the software packages were sub-divided into three main classifications: 1. Creation and visual display programs. 2. Cutter path simulation programs. 3. Part program generation programs. The sub-division of the software packages into the above-mentioned classifica- tions permitted quite large scale CAD/CAM programs to be developed on micro- systems . The inter-relationship between the CAD/CAM packages is illustrated in Fig. 2. It is clearly visible that they are executed sequentially. This has two major advantages. Firstly, optimising the use of the on-board memory by minimising overlaying operations. And, secondly, the individual packages could easily be modified or expanded. The CREATE Package The CREATE package is responsible for the storage of data and the general management of the database (DB). CREATE is written in 6809 assembly language mainly for the speed and ease of memory management and data decoding. The CREATE package accepts commands from the user and calls DISPLAY and EDIT routines to interactively visualise and modify the elements of a component. The component can be related to any machining operation, eg turning, milling, - 322 - APPENDIX M punching, drilling, etc. The structure of the database is illustrated in Fig. 3 and represents a simple way of storing data (4). Hierarchical configurations represent an ideal way of representing information which itself is not centralised. The hierarchical structure falls into three main categories (5), namely Product Specification, Component Specification and Primitives. The Product Specification contains information pertinent to the managerial aspects associated with the product such as the materials, quantities required, contract number, customer's name and delivery dates. The product is then sub-divided into several components, which comprise of several geometrical Primitives. These Primitives are a collection of geometrical attributes which can be called and appended to form the geometry of the component. For milling operations some of the commonly used primitives are cylinder, thread, line, fillet, box, pyramid, etc. Thus by either using the standard primitives (or by defining new primitives) complex milling geometries can be quickly and easily entered into the computer. The EDIT Package This package, also written in assembly language, allows components to be recalled and modified interactively. Similar to the text editor, primitives can be analysed graphically as well as numerically. By sequentially stepping through the primitives,which define a component,geometrical errors can be quickly and easily detected. Once the error has been detected, two very powerful commands, namely Delete and Insert, allow entire primitives to be deleted and replaced by new ones. The DISPLAY Package DISPLAY is an interactive, modular graphics package, written in PASCAL, and is responsible for the comprehensive display of the technological primitives and components as they are created or modified by the above-mentioned packages. The output is either in the form of a single view of the part or a four view 1st angle orthographic projection whereby the vdu screen is sub-divided into four viewports as illustrated in Fig. 4. General display features such as orthographic views, isometric views, clipping, windowing, rotation, scaling and dimensioning form the basis of the DISPLAY package. The PLOTTER Package The PLOTTER package communicates directly with the multi-microcomputer based flatbed plotter designed and built at Imperial College via a standard RS 232 serial communication bus. The PLOTTER package contains an ASCII character generation set in software and is responsible for the production of graphical hard copies of the component in first angle orthographic projection and/or rotated 3D views. Due to the limited resolution of the vdu screen high resolution plotter hard copies can be used for the verification of the component's geometry as well as cutter paths. - 323 - APPENDIX M The Milling Cutter Path Derivate and Simulate MCPDRS Package Once the geometry of the component to be pocket-milled has been entered, displayed, analysed and stored, using the above-mentioned packages, the cutter path's loci can be generated. The automatic generation of the loci and the machining commands, such as feed rates, spindle speeds and tool changes, are the responsibility of the MCPDRS package. A macro flowchart of the MCPDRS package is illustrated in Fig. 5. The geometry of the workpiece is decoded from the compact database format and displayed in any desired view. Conventionally, the desired views are the plan, elevation, side elevation, and isometric views. Thus, by displaying the above-mentioned four views a quick and accurate graphical visualisation of geometrical errors or illegal cutter path movements can be detected and corrected. The blank size and geometrical parameters are input while tools and the machining parameters are selected from tooling and machining data libraries. The libraries contain the commonly used tools (cutters), materials and their corresponding machining speeds and feeds. From this information the blank, roughcut and finecut offsets are displayed, Fig. 6. The spindle speeds and the feed rates are computed using the following formulae: cutting speed of the milling cutter Spindle speed (N) = Tr(cutter's diameter) Feed rate (f) Number of teeth in the cutter X recommended feed per tooth X r/min of the cutter Since these two formulae are approximate only, in that they are independent of the hardness of the material, the machine's condition and the depth of cut, allowances have been made to override these values. This feature provides the operator with much more flexibility in the machining of parts. The machining time is calculated by the formula: L Machining Time (T) = — where T = time in minutes L = length of cut in inches f = feed in inches per revolution N = spindle speed in revolutions per minute Having computed the machining parameters a visual simulation of the roughing process is displayed (either on the vdu or on the plotter), Figs. 7, 8, followed by the final roughcut at a reduced feed rate. The machining parameters are displayed on the vdu and are continually updated, Fig. 6. After a tool change for a finecut tool, usually an end mill, the finishing cuts are displayed - 324 - APPENDIX M at a slower feed rate and spindle speed so as to achieve a good surface finish. The roughing algorithm has been formulated bearing in mind the limitations and capabilities of the present microcomputer based workstation. Thus the roughing cutter path locus consists of horizontal and vertical (X,Y) movements only. For the majority of cases where the machining time is not a critical factor this algorithm is an acceptable one. However, the modularity of the package enables such algorithms to be optimised or changed without grossly affecting the rest of the package. Furthermore, fast algorithms do exist (6) for the optimisation of the cutter paths for machining arbitrarily shaped pockets, and they can be easily incorporated on a commercial system. The final operation is drilling. If there are any drilling operations to be performed then they too can be executed by performing tool change(s) and using the milling head as a drilling machine. The tool changes, spindle speeds, feed rates and cutter paths are' stored in an integer binary format in a cutter location data (CLDATA) file for subsequent access by the part program GENERATE package. The Part Program GENERATE (PPGP) Package This package is responsible for the conversion of the CLDATA from a binary to an ASCII format and transmitting it, via a standard RS232 serial communication bus to the CNC system(s). COMMUNICATION BETWEEN THE WORKSTATION AND THE CNC SYSTEM One of the advantages of the above system is that it eliminates the NC papertape which is conventionally used in transferring NC commands from the CAD workstation to the NC machine tool. The papertape have several disadvantages over the direct communication link, and are as follows: relatively slow to generate and to read takes time to be transported from the workstation to the NC machine tool expensive in terms of paper and storage costs easily damaged and are difficult to identify. Thus, by generating an ASCII CLDATA file and transmitting it down a standard communication bus (eg RS 232) all of the above-mentioned disadvantages are eliminated. Furthermore, the bus can also be utilised for the two-way communication. The implications associated with this are almost limitless. - 325 - APPENDIX M RELATIVE MERITS OF THE CURRENT SYSTEM Several benefits of the current system can be postulated and summarised as: 1. A reduction in the total system costs due to the introduction of micro-electronic technology in the processing, control and mechanical engineering areas. 2. Low computer software costs due to the modular structure of the packages. The modules' architecture is such that modification and interfacing with other modules is a relatively straightforward task. 3. Interactive and visual (simulation) features lead to the rapid detection and correction of errors. 4. Customised software packages can be quickly and cheapy assembled from existing modules. 5. A general purpose hierarchical DB which is common to all the software packages. 6. A direct communication link between the CAD workstation and the CAM system greatly reduces CAD to CAM data transfer times by eliminating the generation of NC papertapes. This greatly improves design to production times with lower overheads and skilled labour costs. 7. System modularity allows NC part programs to be easily generated for a wide range of control tape formats, such as EIA and ISO. PERFORMANCE OF THE SYSTEM - see Fig. 9 LIMITATIONS OF THE CURRENT SYSTEM As briefly mentioned earlier, microcomputer based systems possess certain restrictions in the form of on-line memory, processing speed, fast backup storage, or existing software backup. This is especially true for most 8-bit microsystems and the above described CAD/CAM packages were formulated with those implications in mind. However, by developing most of the software packages in a high level language and maintaining modularity then the task of transferring them from an 8-bit to a 16-bit microcomputer is a relatively simple one. The transfer to a 16-bit microcomputer with a link to other computers will be welcomed since it encourages more complex 2D, 2^D and even 3D milling operations to be performed. CONCLUSIONS The design and development of an 8-bit microcomputer based CAD/CAM system for the design and direct manufacture of simple milling components has been described. Consequently, the system has been formulated for 2D and 2^D pocket milling operations but software modularity enables expansion of the packages to handle more complex 2D, 2^D and 3D milling operations. Furthermore, other machining operations such as turning, drilling, shaping, grinding and punching - 326 - APPENDIX M can easily be introduced since all that is required is the replacement of the cutter path derivate and the part program generate packages. The immediate future of this CAD/CAM system is to transfer it onto a 16-bit microsystem and further develop it into a commercially viable low cost system mainly for use in small to medium sized industries. REFERENCES 1. Gooze, M. "How a 16-bit microprocessor makes it in an 8-bit world". Electronics, September 27, 1979. 2. Dalzell, D.T. "Intelligent machine tools and the microprocessor". PhD Thesis, Imperial College, University of London, 1981. 3. Khurmi, S.K. "The microprocessor and computer-aided design and manufacture". PhD Thesis, Imperial College, University of London, 1982. 4. Booth, G.M. "Hierarchical configurations for distributed processing Compcon Digest, September 1977. 5. Pak, H.A. "Microprocessors in computer-aided design and in computer- aided manufacture in mechanical engineering". PhD Thesis, Imperial College, University of London, 1981. 6. Persson, H. "NC machining of arbitrarily shaped pockets". Computer Aided Design, Vol 10, No 3. Southwest Technical Product's M6809 8--bit Microcomputer 64K 8K I/O AMD 9511A RAM ROM COMMUNICATION APU PORTS > 13 ra z CO a CO m <1 x 2 Dual drive Graphics/alpha- Multi-micro Communication 8 inch floppy numeric vdu computer based link to NC disk unit HP 2648A plotter system FIG. 1 Hardware Configuration of the CAD/CAM Workstation - 328 - APPENDIX M : \ no ?SCXLI Ait/ i IXISTONG ! <^J>RS?ARS A S: daca base forruaz 3DIT PACKACS < 013?LAY PACKAGE hard PLOTTER PACLAGE copy daca oase rsrra; Too L Library v PATH CSRI7ATE AND SIMULTATTCN PACKAGE / MacarAils ar.d 7 i Machiriac Para- '— yzecara Library \ 7 CLOATA for: PART PROGRAM GENERATE package .r.csrzroeesssr T ; high lave! :cnunizacizn / zachize czcL 0u3 Lar.gzaga crrza: ;\|"-cgoor—CTj HACHIJfE TOOL nc ooerrands \ i "tmi35z0 ccypc.nznc fig. 2 macro interpackage communication diagram Product PRODUCT LEVEL Specification] HIERARCHICAL LEVEL 1 Record > hj tj ra o m X 1st Nth Component 3: COMPONENT LEVEL Component Specification Specification] HIERARCHICAL LEVEL 2 Record Record PRIMITIVE LEVEL HIERARCHICAL LEVEL 3 FIG. 3 A THREE LEVEL HIERARCHICAL DATABASE STRUCTURE EMPLOYED IN THE CAD/CAM SYSTEM FIG. 4 A Typical View of a Component Displayed in Four Views Reg in Set scale value Formulate a grid and calculate the roughcut Rressenhnm' constraint coordinates a Igor i thin Select views required Execute pocket roughing algorithm. Display rough- cut movements. Display workpiece Execute and display final Input blank size roughing locus > y anil material spec i fica tions Execute and display final finishing locus Much i n i ng \ Input machining pa mine te rsl- pa rainete rs 1 i b i a i y J Vert ical drilling algorithm i Tool 1 i b i a ry Display > 1 a nk Compute finecut and roughcut Generate machining codes offsets and store in MCEDATA file Check for roughcut i lit er Terences . Roughcut Roughcut filtering f i 1 ters MCPDR a I gor i thin plott ing a Igor i thin Display finecut ami roughcut off set loci FIG. 5 MACRO FLOWCHART OF THE MCPDRS PACKAGE FOR 2 ID POCKET MILLING OPERATIONS - 332 - APPENDIX M Fig.6s Visualisation of the workpiece's geometry and contouring roughcut and finecut loci - 333 - - 334 - APPENDIX M -FV rr Fig.8a Geometry of the workpiece. Workpiece Finecut constraint Roughcut locus Roughcut constraint Datum & Fig.8b Finecut and roughcut constraints and roughcut locus o Fine cutter o Rough cutter Fig.8c Final roughcut and finecut loci . Fig.3d Drilling operation locus - 335 - APPENDIX M PROCESS MANUAL/AUTOMATIC/ COMMENTS APPROXIMATE INTERACTIVE METHOD EXECUTION TIME OF DATA PROCESSING (MINS) Initial Design Manual The design-manufacture N/A process initiates with the preparation of a working sketch, suitably dimensioned. There is no require- ment of a GA drawing Workpiece data Manual Verification of the 5 preparation sketch and calculation of some geometrical dimensions Input of the Interactive Conversion of the geo- 15 workpiece's metry into primitive geometrical and commands accepted by technological the CREATE package, specifications and input of the technological specifications Hard copy genera- Automatic Output via printer 2 tion of database Generation of the Automatic Execution of the MCPDR 8 workpiece offsets, package. Simulation rough and finecut on vdu loci and simulation of the cutter path Hard copy genera- Automatic A hard copy of the 4 tion of the cutter workpiece and the paths cutter paths can be obtained via the PLOTTER PACKAGE Generation of NC Automatic Task of PPGP package 3 part program Transmission and Automatic 3 storage of NC part program to QNC machine tool Machine setup Manual Setting up time only 5 applicable for 1st component of a batch Machining time Automatic CNC 4 TOTAL EXECUTION TIME 49 FIG. 9 PERFORMANCE TIMES OF THE CAD/CAM SYSTEM FOR THE COMPONENT ILLUSTRATED IN FIG. 7.