Copyright © IFAC Infonnation Control Problems in Manufacturing Technology, Toronto, Canada, 1992
UniSet - A FLEXIBLE MANUFACTURING CELL PROGRAMMING, SIMULATION, AND MANAGEMENT ENVIRONMENT A. Fahim and R. Tolkamp Mechanical Engineering Department. University o/Ottawa. Ottawa. Ontario. CalUlda
Abstract. The concept of Flexible Manufacturing Cells (FMC's) proves to be one of the major productivity enhancement tools for batch processing. The cost and expertise required to set-up a cell, and subsequently to operate it, negates the many advantages of implementing FMC's. This problem hampers the introduction of the concept in many industries. At present, combining machines from different manufacturers to form an FMC is cumbersome. Difficulties arise from incompatibility, unique characteristics and varying programming and control languages among machines. UniSet is a software environment designed to provide the FMC user a consistent platform in which to configure, program, simulate and control the FMC independent of the machines in use. The environment is coded in an Object Oriented Programming (OOP) language, Smalltalk. This paper describe UniSet and the philosophy behind it. KeywordS. CAM; Machine-oriented languages; Robots; Machine tools; Controllers; Expert Systems; Programming environments; Programming languages; Object-oriented programming.
INTRODUCTION ing and removing machines to the cell. In order to combine machines from ditl'erent suppliers, the cell designer must know the behaviour, capabilities and idiosyncrasies of each machine. To coerce the machines to cooperate in the cell environment, in most cases, requires a patch job of wiring and programming, or tampering with the machines' existing hardware or software. Thus, the designer must have adequate knowledge of electronics, computer programming, computer architecture, and manufacturing technology.
Currently, implementation of FMC technology requires the use of compatible constituent machines, generally from the same vendor, or the design of a customized controller. Where machines from the same vendor are used, a consistent programming environment and communication protocols can generally be assured. When a customized cell controller is used, however, incompatibilities in communication protocols can be overcome, but generally several machine command languages must be used to program the cell.
One approach to reducing the problems encountered when interconnecting machines from different suppliers to form an FMC is standardization. Since 1983, efforts to develop a standard for automated manufacturing machines has been proceeding (Hollingum, 1983). Standardization as applied to manufacturing includes: communication protoeols, controller functionality, and programming language. The adoption of standards, however, is optional, and many manufacturers of automation equipment opt not to implement them. Even when a manufacturer implements such a standard it is rarely without aberration.
Simulation programs, where a cell is created with the click of a mouse, convincingly justify the philosophy of FMC's, but mask the magnitude of effort involved in implementing them. Experience shows that developing a working cell can easily take half a year. The capital investment and large consulting fees render FMC technology inaccessible to all but large manufacturing enterprises. Even for such large enterprises some FMC's may be substituted with a more profitable com· bination of machines and human operators. The problem of implementing an FMC is the inability to quickly and easily create and program a cell. Many cells are hard wired, this approach complicates the implementation process since compatibility problems have to be resolved, and restricts the flexibility of add
UniSet has been developed as an alternate solution to the compatability problem, that circumvents the need for standards or for the development of customized controllers.
193
Setup mode: This mode is accessible to supervisory engineers. Using this mode the cell designer defines the characteristics of the machines and sensors constituting the cell, and their physical placement within the cell space. The characteristics include such salient features as number of axis, programming language, ... etc. The physical placement is used in a subsequent stage of the cell programming mode to carry out an integrity check on the program. Programming mode: The cell operator uses this mode of operating the environment to carry out cell programming. Rather than programming all the fragments of one machine at a time, the cell programmer develops a serial program in the sequence that events take place. As mentioned earlier the cell program can be written entirely in UniSet. This simplifies the programming task since only one programming language need be known. Alternatively, a combination of UniSet and native languages of the cell constituents may be used. This method of programming allows an operator who is more comfortable with one of the native command languages to use it, as well as allows parts of code obtained from other sources like CAD software tool path programs to be imbedded in the cell program. The environment carries out the translation between UniSet and the ditl"erent native languages of the cell constituents. A simple example of a UniSet program and the resulting translation is shown in Fig. 2. Two levels of program integrity checks arc carried out in this mode. The first occurs during program entry, and is intended to detect syntactic errors and the validity of the command for the intended machine. The programmer is notified immediately of the error. The second integrity check is carried out at the end of the program and is intended to detect subtle errors such as collision between machines, excessive metal removal, .. etc.
UNISET PHILOSOPHY There are two reasons why automated machine tools are not designed to adhere strictly to prevailing standards. First, machine designers choose to include and highlight various functions on their machines. They use or create what they feel is the most appropriate features. Second, manufacturers of automated machines include innovations and features in their new machines that enhance their product and are not catered for in the prevailing standards. From a competitive point of view, it would be inconceivable that a machine manufacturer would disclose the intentions for a new product before its release in order to standardise the innovative features. Even if they disclose these features, standards cannot be created in time before the release of the product due to the structure and inertia of standards committees. UniSet C!!.!!ified Instruction ~ has been developed as a consequence of a comprehensive study of automated machine programming languages, as well as the problems encountered when setting up and reconfiguring FMC's (Szukalo, 1990; Quail, 1988; Taylor, 1989). The study showed that their is a great deal of commonalities in the functionalities of the same type of machines (e.g. lathes) from different manfacturers, as well as between different machine types (Le. machining centers, lathes, etc.). For the same function, differences between the command languages are mainly lexical. As an example, functions such as move, start, stop, end, are common to all command languages but often have different imple· mentations depending on the machine manufacturer. Furthermore, most of the problems encountered when setting up a FMC arise from non-homogeneous external communication methods, and communication protocols.
Simulation Mode: In this mode, the environment uses the cell program to simulate the cell operation. This allows programs to be developed off-line and evaluated before implementation. Control mode: Portions of the cell program intended for a machine are collected, and if coded in UniSet are translated to the native language of that machine. The cell controller dispatches the code to the machine controller, but retain supervisory tasks like start, stop, and receipt and transmission of external signals in order to coordinate the cell.
The commonality between the functions of the different automated machines constituting a manufacturing cell form the first basis of UniSet. UniSet uses single nonexdusive commands and command modifiers for each function irrespective of the machine. A cell programmer has the option of programming a machine using UniSet or the native machine language. The UniSet environment carries out translation from Uniset language programs to the native language of each machine. UniSet's lexicon is nonstatic. Commands can be added to the set locally at any installation in order to take advantage of unique features of machines in the cell.
UNISET STRUCTURE AND IMPLEMENTA TION
Currently all automated machines provide some form of external communication. In UniSet all the machines and sensors constituting the cell are linked together in a star network with the central node being a computer as shown in Fig. 1. Under UniSet, this computer can carry out the homogenization and translation between the different communication protocols of the machines consti· tuting the cell.
The environment is coded in an Object Oriented Programming language, Smalltalk, in order to take advantage of some of the unique features of such a language. Class hierarchy is used to group machines according to their features. Related classes are grouped under one superclass. The superclass is designed to include features common to the subclasses. Therefore code is not duplicated in the ditTerent subclasses, rather inherited from one superclass. A simple example of the class hierarchy is shown in Fig. 3.
THE Ul'iISET ENVIRONMENT
The dictionary facility of Small talk provides the basis for building associations between UniSet and the native machine languages, and is combined with string manipulation and parsing tools to create an emcient translation method. Furthermore, it can be used by the user to
The UniSet environment provides four modes of operation; a cell setup mode, cell programming mode, simulation mode, and a cell control mode. Description of these modes follows:
194
A great deal of commonality exists between the functionalities of the different automated machine tools. UniSet capitalises on this fact and provides a single nonexclusive homogeneous instruction set to program the different machines constituting the cell. The UniSet environment carries out the translation between UniSet and the different native machine languages. Program integrity checking and cell operation simulator facilities are provided in the environment.In the cell control mode, UniSet dispatches to each machine its part of the cell program in native language. The environment then assumes a supervisory role, and coordinates the operation of the different machines.
machine languages, and is combined with string manipulation and parsing tools to create an efficient translation method. Furthermore, it can be used by the user to rename the UniSet commands without affecting the structure and the functionality of the translation facility. Polymorphism in Smalltalk allows easy implementation of a single generic command that would be interpreted differently depending on the machine receiving it. Programming of a FMC in UniSet takes place in a single window shown in Fig. 4. This window provides a full feature editor, icons displaying the machines included in the cell, all the UniSet commands that are valid for the current machine, access to the global variables and extensive help. The editor also includes online syntax verification, warning the user of all misspelled, incomplete or inappropriate commands. Cell status is simulated in the status window, showing the status of the cell by tracking the etl'ect of each command when entered. Information such as position, current tool and current activity are shown.
ACKNOWLEDGEMENTS The authors acknowledge the efforts of a number of students who contributed towards this work in their undergraduate theses, and in particular Mr. Edward Szukalo and Mr. Christopher Taylor.
REFERENCES Hollingum, Jack. (1983). Working Towards a Common Language. The FMS Magazin e. April. pp 178-180.
CONCLUSION Although FMC's can be a major productivity enhancement tool, the difficulty and cost of set-up and operation makes them inaccessible to small manufacturing companies. The major difficulty arises from the incompatibility of external communication methods, and the variety of machine languages that need be used.
Quail, John P. (1988). A Software System to Program an FMS Using a Unified Instruction Set. University of Ottawa, Internal Report. Szukalo, Ed . (1990). A Unified Instruction Set for Flexible Manufacturing Cells. University of Ottawa, Internal Report.
The UniSet environment is designed to remedy these problems. A computer is used as the cell controller. Machines constituting the cell cannot communicate with each other except through the cell controller. The cell controller translates between the ditl·e rent communication protocols of the machines.
Taylor, Christopher D. A. (1989). Defining and Imple· menting a Unified Instruction Set for a Flexible Manufacturing Cell. University of Ottawa, Internal Report.
Conveyor
PC Based Cell Controller Milfing Machine
Robot
Fig. 1 Cell Communication
195
Induma Program
signal robot start signal indurna slArt wait induma vlseopen signal robot viseopen wait robot stop signal indurna continue wait inuma viseclosed signal robot vlceclosed
N10 (g) M22 N20 (9) M110
N30(g) MOO N40 (9) M21 N50 (9) M111
UnlSet Program ROBOT go1D IOadpoint4
ctose go z-50 roec:h rnlllvlse s nal s"PPlld
!
IN UMA open
PC Baed Cell Controller
signal vfi\lllOP8n ROBOT waitviseopen gote rnil/visa signal s"PPlld
Milling Machine
J.-----<~
golO loedpoint4 close
go 0,0,-50 goto millvise-40,O,O signal stopped wait signal start go 40 ,0,0 signal stopped wait signal start open go -40,0,0
INDUMA we~
robot stopped close signal vlseclosed ROBOT wan vlseclosed open go x-50 goto hOme
golOO,O,O
end
Robot ID':' : ~
end
.... a • ••
Fig, 2 UniSet Program Translation
Sensor
ClASS INSTANCE VAAIABLES
Home language Dimensions Work Volume Communication
CLASS
Metal-Cutting Machine
INSTANCE VAAIA8LES
Tool Magazine Auto Tool Change CLASS
ROBOT
Machining Centre
Fig, 3 Partial UniSet Class Heirarchy
196
CLASS
CONVEYOR
•
U n i Set
E d i tor
"Part: RIB"8385, Date: Jan 15, 1992." ASEA Goto loadpoint4. close. go z-58. speed 388. FAHUC load tool2. speed 588. open. signal viseopen. ASEA wait viseopen.
Robot: ASEA Signal Stop
tmi<
Close Wait Open Go Pause Start
r
Global Variables loadpoint4: conveyor at: 58,8,8 vice: FAHUC at: 28,8,8
ASEA pos: 382,513,233 grip: closed
Fig. 4 UniSct Programming Window
197