INDU411 Computer Integrated Manufacturing Lab Manual

Size: px
Start display at page:

Download "INDU411 Computer Integrated Manufacturing Lab Manual"

Transcription

1 INDU411 Computer Integrated Manufacturing Lab Manual JULY 2009 Onur Kuzgunkaya Gilles Huard Brad Luckhart Iman Niroomand

2 INDU 411 Computer Integrated Manufacturing Lab Manual Table of Contents: Table of Contents Introduction... 1 CHAPTER 1: OpenCIM System Management Software System Components Stations Material Flow Communication Interface Device Drivers Introduction to OpenCIM Production Operations Real Time Monitoring CHAPTER 2: CNC Milling Station and Control software Introduction Milling process definition Milling Machine Components The front panel components NC Programming (G/M Coding) Block Number (N Code) Preparatory Codes (G Code): Miscellaneous Codes (M Codes) Feed Rate (F Codes) Spindle Speed(S Code) Tool Selection (T Code) Understanding Coordinate Systems Machine Coordinates Work Coordinates Programming Tool Paths Linear Interpolation Circular Interpolation i

3 INDU 411 Computer Integrated Manufacturing Lab Manual Circular Interpolation using R Circular Interpolation using Different Planes Available Tools Tool Offsets ProLight CNC mill control software Menu bar Standard Toolbar Edit Window Position Readout Machine Info Panel Verify Window Running a Sample NC Program Load the program Adjust the Verify Settings Creating a Program to Produce a Part Assignment CHAPTER 3: The CNC Turning Center Introduction Absolute Coordinates VS Incremental Coordinates Work Coordinates vs. Machine Coordinates Tool Selection Tool Definitions A Note on Tool Nose Radius Compensation Programming Codes Preparatory Codes (G Codes) Miscellaneous Codes (M Codes) Speeds and Feeds ProLight CNC Turning Control Software Machining a Part The Program Simulations Turning Center Assignment CHAPTER 4: Robot Control Programming ii

4 INDU 411 Computer Integrated Manufacturing Lab Manual 4 1 Introduction Robot Components Teaching Robot Position Define positions Teach Pendant key functions Advance Terminal Software (ATS) & Advance Control Language (ACL) ACL commands Saving a Program File Downloading a Program Downloading Messages Activating ATS Robotic Integration A sample of mill/robot Communication CNC Programs to Interact with the Robots Communication Codes Get and Put Routines CHAPTER 5: System Integration and Optimization Introduction Machine and Process Definitions Part Definitions Storage Manager Material Requirement Planning Customer order form Manufacturing Order form Purchase Order form Optimization Performance Analysis Report Generator Part definition Report Subpart Report Manufacturing Order Report Machine Report iii

5 INDU 411 Computer Integrated Manufacturing Lab Manual Process Report ASRS Report Analysis Report APPENDIX A: List of G and M codes iv

6 INDU 411 Computer Integrated Manufacturing Lab Manual Introduction The objective of this lab to introduce computerized manufacturing systems to the senior year Industrial Engineering students. The content of the lab is also useful for the Mechanical Engineering undergraduate students. In order to achieve this goal, a fully computerized manufacturing system that covers transformation of raw materials to finished parts/products is installed in the Computer Integrated Manufacturing (CIM) lab. The lab includes three robots (two ER-9 and one ER-5), 3-axis CNC mill (ProLight Machining Center), 2-axis CNC lathe (ProLight Turning Center), automated storage and retrieval system (ASRS), closed loop continuous conveyor, and quality control center. In the lab, students gain practical experience via work on a project (manufacturing of a part). This includes conceptual design of the part, process planning, NC machining and robot programming and integration of system components. Students learn how to integrate and control the system using CIM system software called OpenCIM. Students are able to search for optimal production techniques by experimenting with dispatching rules. Figure 1: Computer Integrated Manufacturing for Industrial Training Applications 1

7 INDU 411 Computer Integrated Manufacturing Lab Manual CHAPTER 1: OpenCIM System Management Software 1-1 System Components To stay competitive, factories are increasingly automating their production lines with Computer Integrated Manufacturing (CIM) systems. A CIM cell is an automated assembly line that uses a network of computers to control robots, production machines, and quality control devices. The CIM cell can be programmed to produce custom parts and products. CIM provides many advantages: Computer integration of information gives all departments of a factory rapid access to the same production data. Accessibility of production data results in faster response to change, which in turn shortens lead times, increases the company s responsiveness to customer demands and competition, and improves due-date reliability. Computer aided scheduling optimizes the use of the shop floor. This improves the utilization of machine tools, and reduces work-in-progress and lead times. Real-time production data can be used to optimize the production processes to improve quality, using techniques such as statistical process control. Computer analysis and prediction of material requirements for production can reduce inventory levels and lead times. Integration with suppliers and customers can provide even greater benefits. This chapter describes the hardware and software components which comprise an OpenCIM cell (Figure 1-1). It discusses each component individually and also how all components work together. The topics covered include the general configuration of the cell, material flow, control and production devices and communication networks. The emphasis is on the role each component plays in the integrated system. Finally, OpenCIM software and schematic of 2

8 INDU 411 Computer Integrated Manufacturing Lab Manual communication between each station in cell are introduced and the production operation is shown through an example. Figure 1 1: the overview of CIM LAB CIM cells are composed of the following basic elements: 1. Conveyor: Device that transports parts from station to station. 2. Production Stations: Locations around the cell where parts are processed and stored by machines and robots. Robots move parts between the conveyor and station machines. 3. CIM Manger: The PC that contains the CIM Manager software which coordinates the functioning of all devices in the cell using a Local Area Network (LAN). 4. Station Manager: A PC that controls the different devices at a station and has a communication link with the CIM manager. Device Control is performed by OpenCIM device drivers that run on this PC. A device driver controls the operation of a device at the station in response to commands from the CIM manager and other CIM elements. 3

9 INDU 411 Computer Integrated Manufacturing Lab Manual Stations The OpenCIM cell is composed of a set of stations located around a conveyor as shown in the figure 1-2. Each station is controlled by a Station Manager PC. A CIM Manager PC coordinates the activities of all stations. Production commands are sent from the CIM Manager computer to the device drivers via the Station Manager PC. Status messages generated by devices are interpreted by the device driver and sent back to the CIM Manager. Generally, the major stations are: ASRS Station: Automatic warehouse which supplies raw materials to the OpenCIM cell and holds finished products. Machine Station: Station where Materials are shaped, formed, or otherwise processed (e.g. using a CNC machine) Assembly Station: A station where parts are put together. The resulting new part is called an assembly. QC Station: Quality Control. Inspection of parts using machine vision. Figure 1 2 Schematic example of Stations at CIM Stations contain devices that perform production activities such as material processing or inspection. The following elements are generally present at a station: 4

10 INDU 411 Computer Integrated Manufacturing Lab Manual Robot: A device which moves parts around a station (e.g. inserts parts into a CNC machine) and/or performs assembly operations. Robot Controller: An ACL controller which controls the robot Station Manager PC: A Station Manager PC where the device drivers are located that: a. Translate OpenCIM production messages and commands to/from each station device (e.g. the ACL controller commands). b. Provide a user interface for controlling station devices by manually sending OpenCIM commands (e.g. to CNC machines or an ACL controller) c. Function as a terminal for devices that use an RS232 1 interface for setup and programming (such as the ACL controller). Machine: A device that processes parts at a station. CNC machines such as lathes and mills process parts according to user-supplied G-code programs Material Flow Material handling tasks can be divided into two groups: Primary Material Handling: These tasks perform the transportation of parts between stations. Secondary Material Handling: These tasks perform the handling of parts within a station, such as placing a template on the conveyor, inserting a part in a CNC machine, assembling parts and so on. In OpenCIM cell, the primary material handling tasks are usually performed by the conveyor. A robot performs the secondary material handling tasks at each station. When a robot removes a 1 An RS232 interface (also known as a serial port or com port on a PC) is a low-speed data Communications port that typically transmits and receives information at the rate of ,200 bits per second (bps) 5

11 INDU 411 Computer Integrated Manufacturing Lab Manual template from the conveyor, it typically places it on a buffer. (A buffer is a tray designed to hold a template when it is removed from the conveyor. The buffer is attached to the outer rim of the conveyor.) Once the template is on the buffer, the robot can remove a part from the template and take it to a station device. Templates Templates are plastic trays which can hold various types of parts (Figure 1-3). They allow parts to be transported on the conveyor. A template contains a matrix of holes in which pins are placed to fit the dimensions of a part. Each arrangement of pins defines a unique template type. Each part may only be held by its assigned template. Figure 1 3: An empty template Storage An ASRS station (Figure 1-4) is typically used as the main source of raw material storage for the cell. The ASRS can also serve as a warehouse for parts in various stages of production. Storage cells in the ASRS contain templates, either empty or loaded with parts. Part feeders can also be used to supply raw materials at various stations around the cell. 6

12 INDU 411 Computer Integrated Manufacturing Lab Manual Figure 1 4 Automatic System Retrieval Storage Conveyor and pallets A pallet is a tray which travels on the CIM conveyor and is designed to carry a template (Figure 1-5). To transport a part to another station, a robot places the template carrying the part on a pallet on the conveyor. The OpenCIM conveyor carries pallets in a continuous circuit from station to station. The conveyor is controlled by a PLC (programmable logic controller). Each pallet has an ID number which is magnetically encoded in a bar on the pallet. Each pallet is stopped briefly when it arrives at a station so that its magnetic code can be read. If the PLC determines that the pallet is needed at this station, it informs the CIM Manager. The pallet remains at this station until the CIM Manager sends a release command. While a pallet is stopped, the conveyor continues to transport other pallets which are moving between stations. The location at which a pallet is stopped is called a conveyor station. Each OpenCIM station has its own conveyor station, which contains two pneumatically operated pallet stops, a magnetic pallet-arrival sensor, a magnetic pallet-in-place sensor and a set of magnetic pallet code sensors. Figure 1 5 Pallet at Conveyor Station 7

13 INDU 411 Computer Integrated Manufacturing Lab Manual The CIM Manager keeps track of pallets which are empty and those which are carrying parts. It sends the destination station of each pallet to the PLC. Magnetic code readers at each station enable the PLC to identify the pallet ID numbers. If the part carried by the pallet does not require processing at the station, the pallet is allowed to continue on the conveyor. Even though a pallet may be needed at a station, the CIM Manager may direct the PLC to release it if the robot that handles templates at this station is busy. Robot and Controller CIM robots (Figure 1-6) move parts within a station (secondary material handling) and perform assembly operations. Robots vary in speed, payload, accuracy, range of movements (degrees of freedom), working envelope (horizontally or vertically articulated), and drive mechanism (DC servo, AC servo or pneumatic). Figure 1 6 Robot Controller, Teach pendant and station manager Robotic programming language uses a device driver in order to communicate with the OpenCIM manager software. Robotic programs inform the robot what path to follow and what task to 8

14 INDU 411 Computer Integrated Manufacturing Lab Manual perform once it reaches a destination. The controller (ACL) provides the power supply to the robot and moves the robot by controlling the power to the motors inside the robot. 1-2 Communication Interface The CIM Manager and device drivers exchange command and status messages via the OpenCIM Network. This network is based on the Windows TCP/IP communication protocol. Each module (manager, device drivers) in the TCP/IP protocol has two communication sockets, the server and the client. A socket represents an endpoint for communication between processes across a network. Both the server and the client have an IP address and a port number that is unique. The OpenCIM Network transparently delivers the message to the destination application whether it is running on the same PC or on a PC connected via a LAN. OpenCIM uses the LAN to: Send commands from the CIM Manager to Device Drivers (e.g. data such as part ID #, task to perform, machine to use, etc.) Send real-time production status messages from Device Drivers to the CIM Manager Allow Device Drivers to retrieve process programs (e.g. G-code) stored on the server Send real-time production status messages to the Graphic Tracking software Transfer CIM messages between different device drivers Transfer CIM messages between devices and a user application running on a networked PC Perform central backup and restore of all PCs attached to the LAN 9

15 INDU 411 Computer Integrated Manufacturing Lab Manual Figure 1 7 Communication network used in OpenCIM Device Drivers Each device at a station is controlled by an OpenCIM device driver program running on the Station Manager PC. A device driver translates OpenCIM messages in two directions: 1) OpenCIM instruction messages into a set of commands understood by the target device. 2) A response from the device into an OpenCIM status message. After a device driver translates an instruction into a command, it sends the command to the destination machine or robot. When a device returns a response, the device driver translates this information into a standard OpenCIM message format. It then relays this information as follows: Device status information to the CIM Manager Real-time production data to the Graphic Tracking module 10

16 INDU 411 Computer Integrated Manufacturing Lab Manual Designated messages from a device to a user defined process that is monitoring this device Specific messages to other device drivers A separate copy of a device driver (figure 1-8) is run on a Station Manager PC for each device at the station. Each device driver presents a control panel which allows you to: Observe the command and response messages on-screen as they are sent to and from a device Issue commands interactively to a device and observe its responses on-screen Figure 1 8 Device Driver 11

17 INDU 411 Computer Integrated Manufacturing Lab Manual 1-3 Introduction to OpenCIM This section describes how to operate the CIM Manager which is used for operating the OpenCIM system and controlling production. The CIM Manager is accessed from the Project Manager main window enabling the user to centrally control all the activities of a selected OpenCIM cell. To access the CIM Manager application click CIM Manager on the toolbar. The CIM Manager Main window is displayed, as shown in figure 1-9. The CIM Manager can operate in the following modes: Simulation Mode: The CIM Manager does not communicate with device drivers. This mode does not require either hardware or device drivers. Real Mode: The CIM Manager communicates with all device drivers, whether or not hardware is in use. This mode requires that all device drivers which are needed for a specific application (for a specific product order) be loaded, so that the CIM Manager can transmit and receive messages. Figure 1 9 CIM Manager main window The CIM Manager can operate in real mode CIM Manager Mode of Operation even if the hardware has not been activated, or even if no hardware exists. The MODES Dialog Box (figure 12

18 INDU 411 Computer Integrated Manufacturing Lab Manual 1-10) is displayed by clicking the CIM Modes icon on the toolbar. This dialog box enables you to select the current modes that are active in the CIM Manager, Real Mode or Simulation Mode Production Operations Figure 1 10 Modes Dialog Box The following Covered Box sample application is used in this manual to demonstrate the concepts of the OpenCIM system. The steps shown below are explained in more detail as each topic is introduced later in this manual. The sample application produces a simple, covered box from a small, solid cube and a matching cover. Each component part is assumed to be in place on a separate template in ASRS. Generally, the following operations are performed in the CIM cell when producing a product: Supplied parts (raw materials) are loaded into storage locations. Manufacturing orders are generated by the CIM Manager Parts are removed from the ASRS and transported on the conveyor to production stations. Robots take parts from the conveyor and move them to various production machines (e.g. CNC machines) at a station (machine tending). Typical production tasks include: Processing in a CNC machine Assembling two or more parts 13

19 INDU 411 Computer Integrated Manufacturing Lab Manual Quality control tests Robots return processed parts to the conveyor for transportation to the next station. Finished products are removed (unloaded) from the cell. Covered Box Example The ASRS robot takes a solid cube and a cover from a storage cell and places them on separate pallets on the conveyor. When the cover arrives at the assembly station, the assembly robot places it in a rack until the matching box arrives. When the cube arrives at a CNC station, the CNC robot places the cub into a milling machine. The CNC machine reams out the center of the cube to form a box. The CNC robot places the box on the conveyor. When the box arrives at the assembly station, the robot places it on a rack. When all the parts required for the assembly are on their rack, the robot places the base part (box) on the jig. The robot then retrieves the matching cover from the rack and places it on the box. The robot places the covered box on the conveyor. When the covered box arrives at the ASRS, the robot places the finished product in a storage cell (figure 1-11). Figure 1 11 Covered Box Operation 14

20 INDU 411 Computer Integrated Manufacturing Lab Manual Part Definition A product is manufactured from a group of subparts (bill of materials) that are put together according to a specified set of machine processes. Starting with a set of raw materials (supplied parts), you define parts at the intermediate stages of production required to assemble a final product. The Part Definition screen, or form, allows you to enter the bill of materials and the associated production processes used to produce a part. Using the Part Definition form, you can either: Modify/view the production process for an existing product. Describe the production process for a new product. Defining a new product involves the following steps: Drawing a part definition tree Setting up all machine processes necessary to produce a product and all its subparts Determining what new template designs are required to handle all the parts involved and assign these designs template ID numbers Determining the types of racks that can hold each subpart The Part Definition form for Product (figure 1-12) parts lets you create, view, or modify the current part (either a product or its subparts). A part record contains all the fields shown on the Part Definition form. Figure 1 12 part definition form for product 15

21 INDU 411 Computer Integrated Manufacturing Lab Manual If you define the part as Supplied, the Part Process table will be replaced by a section containing data regarding the supplier and supplied material, as shown in figure (1-13). Figure 1 13 part definition form for supplied part During the manufacturing process, you can track production by looking at up to different view screens. Click the appropriate icon on the toolbar to open the desired View screen, or select the desired View from the alphabetical list in the Windows drop-down menu. Following the device view and leaf view is explained. Machine Definition Machine names are usually predefined and only need to be selected from the Machine Name drop-down list. The process name enables the CIM Manager to determine which machine is capable of performing the specific process required to produce a part (as defined in the Process field in the Part Process Table in the Part Definition form). The Machine Definition form lets you view any machine that has been defined for the system. You can define new or modify existing processes for the machine to perform. A machine record contains the machine name and one or more defined processes (process record). The CIM Machine Definition window displayed below is accessed by from the CIM Manager Main Window, by selecting Utility Programs Machine Definition from the Menu bar (Figure1-14). 16

22 INDU 411 Computer Integrated Manufacturing Lab Manual Figure 1 14 Machine and Process Definition form Real Time Monitoring Device view The Device View (figure 1-15) is a complete list of every robot and machine (including QC devices) in the CIM cell and a description of the current action being performed by each. Figure 1 15 Device view The following is an explanation of each column in the Device View. Device: Name of the device or machine 17

23 INDU 411 Computer Integrated Manufacturing Lab Manual Status: When a part is being produced, one of the following symbols appears at the current stage of production: RUN: Command sent, waiting for acknowledgment. Start: Device has begun processing this part (device driver has responded with Start message). Finish: Device finished processing this part (device driver has responded with Finish message). End: Device ended processing this part (device driver has responded with End message). Stop: Device is ready for next command. Load: Device is loading the processing program from the Backup or the Database. Action: The movement or operation command which is currently being executed by the device. For robots, the action is commonly the placement of a part. For machines, the action is usually the name of the process (as defined in the Machine Definition form). Station: The number which identifies the workstation where the device is located. ID: The Device ID number, as defined in the Virtual CIM Setup. Leaf view The Leaf View (figure 1-16) provides a detailed description of the production activities of the CIM cell, describing the current operation being performed on each item and the operation that will immediately follow. Figure 1 16 Leaf view The following is an explanation of each column in the Leaf View. 18

24 INDU 411 Computer Integrated Manufacturing Lab Manual Sub Part of Part: Name of the part and the name of the final product to which it belongs. Action: The action currently in progress (upper line) Next Process(>): the next process to be performed on the part Status: When a part is being produced, one of the following symbols appears at the current stage of production: : Command sent, waiting for acknowledgment ON: Device has begun processing this part (device driver has responded with Start message) OFF: Device finished processing this part (device driver has responded with Finish message) : The blue box indicates operation completed (device driver has responded with End message) WAIT: CIM Manager is waiting for another operation to complete before sending this command Part ID: An internal ID index for the part, generated by the CIM Manager Bar Code: The ID number of the template which is carrying the part Leaf ID: An internal ID index generated by the CIM Manager 19

25 INDU 411 Computer Integrated Manufacturing Lab Manual CHAPTER 2: CNC Milling Station and Control software 2-1 Introduction The PLM1000 CNC Machining Center (workstation 2 and ID number # 24) is a threeaxis tabletop milling machine which you can initiated directly from CIM manager or workstation personal computer. The term CNC machining center refers to a milling machine where the dials and feed motors have been replaced by ball screws and step motors and cutting tools are changed automatically. The CNC machining center (ProLight) used in this course has been designed to operate with as little human intervention as possible. A robot is used to load material to milling machine and extract finished parts. In this chapter the milling machine process is defined followed by the main machine components. The G/M code programming and the CNC simulation software for milling machine are introduced. At the end the robotic integration of milling machine is discussed Milling process definition The milling process requires a milling machine, workpiece, fixture, and cutter. The workpiece is a pre-shaped material that is secured (figure 2-1). Figure 2 1 (2 1) Milling Process 20

26 INDU 411 Computer Integrated Manufacturing Lab Manual The cutter is a cutting tool with one or more sharp teeth that is also secured in the milling machine and rotates. By feeding the workpiece into the rotating cutter, material is cut away from this workpiece in the form of small chips to create the desired shape Milling Machine Components The CNC Machine Center consists of seven major components (figure 2-2). The X, Y and Z motion of the machine is performed by Stepper Motors on each axis. The limit switches (beneath the way covers, next to the drive motor on each axis) prevent the machine from traveling beyond its limits on each axis. The safety shield encloses the milling area to help protect the operator from flying chips. The machine is equipped with an automatic tool changer; a four-station Automatic Tool Changer (ATC) which makes multiple tool programming an easy operation. Tool changes are written into the NC program and executed automatically during machining. Therefore, any of the four tools mounted can be selected by codes in the program. The machine is also equipped with an air vise that is opened and closed by means of air pressure controlled by a solenoid valve. An air nozzle can be turned on by the program to blow chips clear of the vise by codes in the program. Figure 2 2 Milling Machine

27 INDU 411 Computer Integrated Manufacturing Lab Manual The front panel components The Front Panel provides the operating controls shown here. When pressed the Emergency Stop button, this bright red palm button halts machine operation immediately. To resume operation, the button must be pulled back out. It s important that this button be pressed before performing any manual operations, like changing the stock or the tooling. Figure 2 3 Front Panel The Spindle Speed knob is used to establish the spindle speed when the system is in Manual mode. The minimum and maximum positions on the switch are equivalent to approximately 500 (min) to 5,000 (max) RPM. Select a Spindle Speed mode with the Manual/CNC mode switch. The CNC setting on this switch gives spindle control to the computer. There must be an S code, or codes, in the NC program to set the spindle speed when using the CNC setting. 2-3 NC Programming (G/M Coding) NC programming generally incorporate two types of instructions: those which define the tool path (such as X, Y and Z axis coordinates), and those which specify machine operations (such as turning the spindle on or off). Each instruction is coded in a form the computer can understand. An NC program is composed of blocks (lines) of code. An NC word is a code made up of an alphabetic character (called an address character) and a number (called a parameter). Each block of NC code specifies the movement of the cutting tool on the Machining Center and a variety of conditions that support it. For example, a block of NC code might read: N0 G90 G01 X.5Y1.5 Z0 F1 If the machine is currently set for inch units, the individual words in this block translate as: 22

28 INDU 411 Computer Integrated Manufacturing Lab Manual N0: This is the block sequence number for the program. Block 0 is the first block in the program G90: This indicates absolute coordinates are used to define tool position G01: This specifies linear interpolation X.5: This specifies the X axis destination position as 0.5 Y1.5: This specifies the Y axis destination position as 1.5" Z0: This specifies the Z axis destination position as 0". The cutting tool will move to the absolute coordinate position (0.5, 1.5, 0) F1: This specifies a feed rate of 1 inch per minute, the speed at which the tool will advance to the specified coordinate points Block Number (N Code) N codes have two uses: To provide destinations for loops (M99) elsewhere in the program To clearly show the organization of the code and improve readability Using the N code is optional; however, when you do use the N code, it must be the first character in the block. Other than for the above stated uses, N codes are ignored by the Control Program. Their presence, absence, or sequential value does not affect the execution of the NC program in any way (unless the target of a loop is missing). You may have N codes on some blocks and not on others. N code sequence numbers do not have to be in order, but regular sequential order does make it easier to follow and reference sections of the program. The Control Program can change the N codes in a program by inserting, removing, or renumbering them. Adding Notes to a Program: Like many other compilers notes may be added to a line of code by placing a semicolon (;) before the start of the text. Any text to the right of the semicolon will not be executed. 23

29 INDU 411 Computer Integrated Manufacturing Lab Manual Skip (\): The Skip allows you to skip particular lines of code in your program. To use the Skip code (\), place the code at the beginning of the line you wish to skip Preparatory Codes (G Code): G codes take effect before a motion is specified. They contain information such as the type of cut to be made, whether absolute or incremental dimensioning is being used, whether to pause for operator intervention, and so on. More than one G code from different groups can appear in each NC block. However, you may not place more than one G code from the same group in the same block. The G codes supported by the Control Program fall into the following groups: The Interpolation Group The Units Group The Wait Group The Canned Cycle Group The Programming Mode Group The Preset Position Group The Compensation Functions Group The Coordinate System Group The Polar Programming Group The Units Group By default, an NC program is interpreted using the units of measure (inch or metric) specified using the Units command on the Setup Menu. The codes in the Units group, G70 (inch) and G71 (metric), are used to override the Units command for the entire program. If the code is placed at the beginning of the program before any tool motions are made, that unit of measure is assumed for the entire program. Otherwise, it affects the rest of the program following the code. You can use these codes to switch between inch and metric modes throughout your program at your convenience. 24

30 INDU 411 Computer Integrated Manufacturing Lab Manual The Wait Group Wait Group codes apply only to the block in which they appear. The program does not continue until the wait conditions are satisfied. The supported Wait Group codes are: G04 Dwell (wait): Pause between motions on all axes for the number of seconds specified by the F code, then continue the program. Because the F code is used to specify the number of seconds, you cannot also specify a new feed rate in the same block. For example: G04F10; //Wait for 10 seconds G05 Pause: Used for operator intervention. Stop motion on all axes until the operator manually resumes program execution using the Run/Continue command. With the CNC basic software the program will continue when F5 is pressed. The Programming Mode Group Programming mode G codes select the programming mode, absolute (G90) or incremental (G91). These codes remain in effect until superseded by each other. With absolute programming, all X, Y and Z coordinates are relative to origin (0, 0, 0) of the current coordinate system. With incremental programming, each motion to a new coordinate is relative to the previous coordinate. The supported Programming Mode codes are: G90 Absolute programming mode G91 Incremental programming mode The Preset Position Group The preset position G codes move the tool to a predetermined position, or affect how future motions will be interpreted. The supported Preset Position codes are: G28 Set reference point: This code moves the machine to its home position. The G28 code performs an automatic calibration of the axes. G92 Set position: The X, Y and Z coordinates following a G92 code define the new current position of the tool. 25

31 INDU 411 Computer Integrated Manufacturing Lab Manual Miscellaneous Codes (M Codes) M codes control a variety of Machining Center functions while a part program is running. Only one M code should be specified per NC block. M codes and motion commands should be placed on separate blocks to avoid confusion over whether an M code is activated during or after a motion command. The supported M codes are: M00 Pause: Allows you to place a pause in your code. Acts like a G05 pause. M01 Optional Stop: Allows you to place an optional pause in your code. Place an M01 in the block of code where you would like to pause. There are switches to activate or deactivate the Optional Stop code in the Run Settings dialog box and on the Operator Panel. M02 End of Program: Takes effect after all motion has stopped; turns off drive motors, and all outputs, including the spindle and the accessory outlets. M03 Spindle Motor On: Activated concurrently with motion specified in the program block; remains in effect until superseded by M05. M05 Spindle Motor Off: Activated after the motion specified in the program block; remains in effect until superseded by M03. M06 Tool Change: Pauses all operations, turns off spindle, retracts spindle for tool change. Example: M06T03 M08 Coolant On: Turns on coolant accessory AC outlet concurrently with the motion specified in the program block; remains in effect until superseded by M09. M09 Coolant Off: Turns off ACC 1 accessory AC outlet after the motion specified in the program block is completed; remains in effect until superseded by M08. M10 Clamps On: Turns on clamps accessory AC outlet concurrently with the motion specified in the program block; remains in effect until superseded by M11. M11 Clamps Off: Turns off clamps accessory AC outlet after the motion specified in the program block is completed; remains in effect until superseded by M10. M20 Chain to Next Program: This code is used to chain several NC files together. It appears at the end of a part program and is followed on the next line by the file name of another program which is executed when all motion stops. Here s an example of a part program chain to another program: 26

32 INDU 411 Computer Integrated Manufacturing Lab Manual N37 Z.2 N38 M20 PROGRAM2.NC; Chain to PROGRAM TWO If the two programs you are chaining are not in the same directory on your computer, you must specify the full path name for the next program file. If the software cannot locate the specified file, you will be prompted to find it. M30 End of program: Same as M02. M98 Call to subprogram. Use the P code to specify the subprogram starting block number. Use the L code to specify the number of times the subroutine is executed. You can nest subprogram calls to a depth of 20. M99 Return from Subprogram; Goto The M99 code has two specific uses; it can be used as a command to return from a subprogram or it can be used as a goto command. When used in a subprogram, this code returns you to the block following the last M98 (Call to Subprogram) command. If the M98 used an L code to specify multiple calls to the subprogram, the M99 will return to the block containing the M98 until all the specified number of subprogram calls have been made; then it will proceed to the block following the M98. This command can also be used in the main NC program as a Goto command to jump to a block on a line before the first subprogram. Use the P code to identify the block number being jumped to. Control is transferred to the first occurrence of this N code; this command can be used anywhere in the program to change the flow of program execution Feed Rate (F Codes) By using the F code you are able to: Specify the rate of speed at which the tool moves (feed rate) in inches per minute (ipm). For example, F3 equals 3 ipm. The feed rate should be set to a low value (up to 50 ipm) for cutting operations. Feed rate values are in millimeters per minute (mpm) when using metric units. The Control Program limits the programmed feed rate so it doesn t exceed the maximum allowed by the machining center. 27

33 INDU 411 Computer Integrated Manufacturing Lab Manual Specify the number of seconds to dwell when used with the G04 code. Example: G04F1; one second dwell Spindle Speed(S Code) Use the S code to set the spindle speed from within the NC program. Spindle speed is specified by the address character S followed by a parameter that represents the speed in RPMs. For example, S750 is the designation for a spindle speed of 750 RPMs. For the spindle speed to affect the spindle must be turned on by the M03 command. If the spindle is off, the spindle speed is stored and used when the spindle is turned on again within the program. Use the M05 command to turn the spindle off Tool Selection (T Code) Tools are specified by the address character T followed by a parameter that represents the number of the tool. For a tool change the T code must be used with an M-code. Example: M06T03 T3 is the designation for tool number three; M06 performs a tool change. 2-4 Understanding Coordinate Systems It is essential to set the machine to home position (figure 2-4) when the machine is turned on and the CNC Basic software is opened. This sets the machine to the machine zero point for Machine Coordinates and acts as a reference point for all user coordinate systems. 28

34 INDU 411 Computer Integrated Manufacturing Lab Manual Machine Coordinates Figure 2 4 Home Position Machine Zero is the extreme negative end of travel on the X and Y axes, and the extreme positive end of travel on the Z axis. This is a fixed point on the machine, and cannot be changed. The machine uses this as a starting point for all operations. If the machine is not homed (set to the machine zero) it cannot coordinate the position of the Automatic Tool Changer, or accurately locate the workpiece on the cross slide. The machine is homed by selecting Set/Check Home under the Setup menu, and choosing the Set Home button; or by using a (PLM1000 setup menu) G28 code in the NC program Work Coordinates The tool paths programmed in your CNC script will use a work coordinate system. The origin of coordinate systems is set by the machinist. The position is arbitrary but in our projects we will use the left (x) front (y) top (z) position. Our ProLight machining center has six coordinate systems: G54 to G59 29

35 INDU 411 Computer Integrated Manufacturing Lab Manual Figure2 5 work coordinate systems In the XYZ user coordinate system the X-axis is from left to right, the Y-axis from front to back, and the Z-axis up and down. In this case X and Y tool paths will have positive values and Z will have negative values to machine the part. X Axis Coordinate An X code specifies the coordinate of the destination along the X axis (left to right). A U code is used in absolute programming mode (G90) to specify an incremental X motion. You cannot use the U code to mix incremental and absolute programming in the same block. Y Axis Coordinate A Y code specifies the coordinate of the destination along the Y axis (front to back). A V-code is used in absolute programming mode (G90) to specify an incremental Y motion. You cannot use the V code to mix incremental and absolute programming in the same block. Z Axis Coordinate A Z code specifies the coordinate of the destination along the Z axis (up and down). A W code is used in absolute programming mode (G90) to specify an incremental Z motion. You cannot use the W code to mix incremental and absolute programming in the same block. 30

36 INDU 411 Computer Integrated Manufacturing Lab Manual 2-5 Programming Tool Paths X, Y and Z are the 3 axes. The left to right movement is on the X-axis. The front to back movement is on the Y-axis. The up and down motion is on the Z-axis. Tool paths must be compensated for the radius of the cutter in order to produce the dimensions on the drawing. Offset the tool path by the radius of the cutter when G01, G02 or G03 codes (interpolation group) are used. Trigonometry will be involved when programming tool paths at angles other than 90 degrees Linear Interpolation G00 Rapid travel this always used with a Z, Y or X coordinate. Example: Rapid movement the cutting tool to a position 1.5, from origin 0.1 inches G00 X1.5 Y1.705 Z0.1 F5; 31

37 INDU 411 Computer Integrated Manufacturing Lab Manual Be Careful: Rapid moves are never to be used to remove material but to position the cutting tool outside of the part. G01 Linear movement this always accompanied by a Z, Y or X coordinate. Example: Move the cutting tool to a position 1.5, from origin 0.1 inches above the part at 5 ipm. G01 X1.5 Y1.705 Z0.1 F5; Circular Interpolation Circular tool paths are programmed using G02 (clockwise) or G03 (counterclockwise) codes. The X, Y or Z values represent the center point of an arc. The center of an arc must be identified (figure 2-6). I, J or K codes are used to identify the center point of the arc. I code is for the X- axis, J for the Y-axis and K for the Z-axis. X Axis Coordinate of Center Point (I Code) In absolute programming mode (G90), the I code specifies the X axis coordinate of the center point of an arc or circle when using circular interpolation. In incremental mode (G91), the I code specifies the X axis distance from the start point of motion to the center point of the arc for circular interpolation. If no I code is specified, the system uses the current X axis location as the X axis center of the arc. Y Axis Coordinate of Center Point (J Code) In absolute programming mode (G90), the J code specifies the Y axis coordinate of the center point of an arc or circle when using circular interpolation. In incremental mode (G91), the J code specifies the Y axis distance from the start point of motion to the center point of the arc for circular interpolation. If no J code is specified, the system uses the current Y axis location as the Y axis center of the arc. Z Axis Coordinate of Center Point (K Code) In absolute programming mode (G90), the K code specifies the Z axis coordinate of the center point of an arc or a circle when using circular interpolation. In incremental mode (G91), the K code specifies the Z axis distance from the start point of motion to the center point of the arc for 32

38 INDU 411 Computer Integrated Manufacturing Lab Manual circular interpolation. If no K code is specified, the system uses the current Z axis location as the center of the arc. Figure 2 6 Circular Interpolation In order to produce the blow arc using the G-91 code (incremental mode) the code will be as follows: SET START POINT, INCEMENTAL MODE N9 G91X1Y0; COUNTERCLOCKWISE TO X0, Y1 N10G03X-1Y1I-1J0F2; Figure 2 7 Incremental Circular interpolation 33

39 INDU 411 Computer Integrated Manufacturing Lab Manual Circular Interpolation using R In place of I, J or K codes R and the radius value may sometimes be used. Example: Counterclockwise move to Y1.5 on a 0.5 arc N15G03Y1.5R0.5; The R code is good for filleting corners but doesn t always work for angles other than 90 o Circular Interpolation using Different Planes The default plane in which most work is performed is X-Y. To change to the X-Z plane the code is G18 and G19 for the Y-Z plane. G17 will return to the X-Y plane. 2-6 Available Tools The following tools are mounted in our machining center. The material is 3.5 x 2 x ½ Plexiglas. Tool 1 3/8 End mill 2 Flutes Tool 2 ¼ End mill 2 Flutes Tool 3 3/16 Ball mill Tool 4 1/8 Ball Mill 2 Flutes 2 Flutes Tool Offsets Tools will vary in dimensions from one another. To compensate for this an offset is set to compensate for the amount by which tool lengths and diameters vary from a reference tool. These are usually set by the machinist and stored in the memory of the machine s controller. When the parts dimensions are out of tolerance the machinist does not change the tool path in the program. The dimensions are corrected using the controllers tool offsets. 34

40 INDU 411 Computer Integrated Manufacturing Lab Manual 2-7 ProLight CNC mill control software You should become familiar with the main parts of the Control Program screen before you begin using the Control Program to run NC part programs. The following are the default components that make up the screen. Following explains the most important components of the screen. Figure 2 8 Control Program Screen Menu bar The Menu Bar contains all of the menu commands for the Control Program Standard Toolbar The Standard Tool Bar provides easy access to the Control Programs most often used commands. Figure 2-9 shows the main buttons on toolbar. 35

41 INDU 411 Computer Integrated Manufacturing Lab Manual Figure 2 9 Toolbar main buttons Edit Window Whenever you open an NC part program file it appears in its own edit window. You can have multiple edit windows open at a time. The number of which depends on available memory. By default, each new window is locked; you cannot edit a locked window. To unlock the window, use the Lock command under the Edit Menu Position Readout The Position Readout (figure 2-10) provides information on the current X, Y and Z coordinates of the tool position. The units of measure in the Position Readout are determined by the Units command under the Setup Menu. Figure 2 10 Position Readout 36

42 INDU 411 Computer Integrated Manufacturing Lab Manual Machine Info Panel The Machine Info Panel (figure 2-11) provides information on the current tool, tool diameter, feed rate, spindle speed, number of passes made, coordinate system in use, as well as the current block and total number of blocks in the program. Figure 2 11 Info Panel Verify Window The Verify Window displays a simulation of your part program when you select the Verify command from the Program Menu, or when you click the Verify Program button on the Standard Tool Bar. Tool path verification can be performed in centerline view or solid view. Centerline view (figure 2-12) is based on the centerline of the tool. Solid view (figure 2-13) is a solid representation of the tool and workpiece. Figure 2 12 Centerline view Figure 2 13 Solid view 37

43 INDU 411 Computer Integrated Manufacturing Lab Manual 2-8 Running a Sample NC Program Load the program C:\Program Files\LMC\WPLM1000\Samples\Millone.nc Adjust the Verify Settings After loading the NC program Millone.NC, you need to adjust the Verify Settings for the part you are about to machine. To view the Verify Setup dialog box, double click on the Verify window. You may also select the Program Menu and choose Verify from the pull down menu, or Select Verify from the Standard Toolbar and choose Verify Settings. The Verify Setup dialog box appears (figure 2-14). Adjust the Stock Figure 2 14 verify setup dialog box view panel Select the Stock tab. 38

44 INDU 411 Computer Integrated Manufacturing Lab Manual Enter the stock Dimensions for the MILLONE.NC program. The stock dimensions are X=3.5", Y=2" and Z=0.5 ". Set the Initial Tool Position to X=1, Y=1 and Z=1 Set the point of Origin to zero on all three axes. Select OK. The dialog box will close, and you should notice a change in the shape of the workpiece in the Verify Window (figure 2-15). Figure2 15 verify setup dialog box stock panel Verify File.NC Tool path verification allows you to check for errors in the tool path before actually running the part program on the Machining Center. The verify option does not alert the user to errors such as trying to machine with the spindle of or at the wrong speed or trying to machine on a Rapid Travel movement. 39

45 INDU 411 Computer Integrated Manufacturing Lab Manual 1. Select Verify from the Program Menu. The Verify Program dialog box appears. The default starting line for the program is Line 1. When verifying a program for the first time, you should begin at the first block. Figure 2 18 Verify program dialog box 2. Click on the Verify Program button, and then watch the Verify Window. You will see MILLONE.NC executed on the graphic workpiece. Figure 2 19 Graphic simulation Creating a Program to Produce a Part Write a program, which will produce the outline of the pocket of the part on the next page (figure 2-20). The blank will be 3 x 2 x ½ laminate plastic. The cutting tool will be a 3/8 end mill, T01 in the tool library. The units will be inches. The program will use absolute coordinates. Use climb cutting and leave for a finish pass. Leave out the codes for creating an interface with the robots at this time. The program will change from the world 40

46 INDU 411 Computer Integrated Manufacturing Lab Manual coordinate system to a user coordinate system. And return it to the world coordinate system at the end. N1; LAB2 N2M10; CLOSE VISE N3G05G04; WAIT FOR VISE TO CLOSEN N4G90; ABSOLUTE COORDINATES N5G70; INCH UNITS N6M06T01; SELECT TOOL #1 3/8" END MILL N8G56; USER COORDINATES SYSTEM 56 N9G00X0.8Y1Z0.1; RAPID TO START POSITION N10S1000M03; SPINDLE ON AT 1000 RPM N11G01Z0F4; APPROACH PART AT 4 IPM N12X2.2Z-0.188F2; MOVE TO DEPTH N13G01Y1.2F4; FIRST CUT AT 4 IPM N14X0.8; POCKET MILLING ROUTINE N15Y0.8 N16X2.2 N17Y1 N18X1.5Y N19X0.875; START OF ARC N20G03X0.6125Y1.125I0.875J1.125; COUNTERCLOCKWISE N21G01Y0.875; START OF ARC N22G03X0.875Y0.6125I0.875J0.875; COUNTERCLOCKWISE N23G01X2.125 N24G03X2.3875Y0.875I2.125J0.875 N25G01Y1.125 N26G03X2.125Y1.3875I2.125J1.125 N27G01X0.875 N28X Y0.875; FINISH SIZE N29G03X0.875Y0.5625I0.875J0.875 N30G01X2.125 N31G03X2.4375Y0.875I2.125J0.875 N32G01Y1.125 N33G03X2.125Y1.4375I2.125J1.125 N34G01X0.875 N35G03X Y1.125I0.875J1.125 N36G01X Y0.875 N37X0.8Y1 N38X2.2 N39M05; SPINDLE OFF N40G00Z1; RAPID AWAY FROM PART N41M08; AIR NOZZLE ON N42G04F1; WAIT N43M09; AIR NOZZLE OFF N44G59; WORLD COORDINATE SYSTEM N45G28; HOME THE MACHINE (COORDINATES SHOULD READ X0Y0Z0) N46M11; OPEN VISE N47N3G05G04; WAIT FOR VISE TO OPEN N48M30; STOP 41

47 Figure 3 20 packet part drawing Cutter Compensation Cutter compensation codes may make programming easier by allowing the machinist to use the dimensions of the part in the program. The tool will then be offset by an offset from the offset table. Figure 2 21 cutter compensation 42

48 2-9 Assignment To determine the cutting speed use the following formula. (CS x 4) / Dia. Of cutter: Maximum speed 2000 RPM Use a cutting speed (CS) of 300 feet per minute for Acrylic. To determine the Feed Rate use the following formula: f m = f t n t N f t = Feed per tooth in inches per minute (IPM). Use a f t of for Acrylic. n t = Number of teeth N = Spindle speed in RPM 1. Machining Practice Create a program to mill the pocket in the previous example but using cutter compensation. Example: G41 D2; Cutter compensation left using offset 2 G01 X1.0 Y1.0; Move to position away from 1,1 by the amount of offset 2 2. Creating a Program to Produce a Part Write a program, which will produce the outline of the pocket of the part on the next page. The blank will be 3 x 2 x ½ laminate plastic. The cutting tool will be a 3/8 end mill, T01 in the tool library. The units will be inches. The program will use absolute coordinates. Use climb cutting and leave for a finish pass. Leave out the codes for creating an interface with the robots at this time. The program will change from the world coordinate system to a user coordinate system: G56. And return it to the world coordinate system at the end. 43

49 N1; Material Type: Plexiglas N2; Material Size: 3.5 x2.0 x0.5 N3; Material Origin: X0 Y0 Z0 N4; Units: Inch N5; Tool #1: 3/8 End mill N6; N7; program settings N8; N9 G ; Inch modes N10 G ; Absolute coordinates N11 G _; Work Coordinates N12 G ; Home Machine N13 M T ; Select Tool #1 N14 G Z X Y ; Rapid move to a position 0.1 above the center of the hole N15 M S ; Spindle on at 2000rpm N16 G Z F ; Plunge to a depth of Feed rate: 5 inches per minute N17 G F ; One-second dwell N18 G X F ; Move to the O.D of the hole at the 3-oclock position at 10 ipm. N19 G X Y I J F ; Circular interpolation 360 degrees at 6 IPM N20 G X ; Move back to center of the hole N21 G Z F ; Plunge to a depth of Feed rate: 5 inches per minute N22 G F ; One-second dwell N23 G X F ; Move to the O.D of the hole at the 3-oclock position at 10 ipm. N24 G X Y I J F ; Circular interpolation 360 degrees at 6 IPM N25 G Z ; Rapid retract tool #1 to 0.1 above the part N26 M ; Stop Spindle N27 M T ; Remove tool #1 N28 G ; Home Machine N29 M ; End of program You can create a Notepad or WordPad text file with this application. If you write your program using a word processor you should save it as a text tile, not as a document. 44

50 Figure 2 22 Assignment Drawing Now try to view the tool path using the CNC Basic software application in room H Open the WPLM software application on the desktop or in the Program Menu. 2. Open your text file with the WLPM application. 3. Click on the Verify icon, the red isometric block on the toolbar. Does the software simulation show the tool path which you intended? Save this program because it is part of a program the base you will be using for the CIM project 45

51 CHAPTER 3: The CNC Turning Center 3-1 Introduction The prolight Turning Center is a tabletop, two-axis, slant bed CNC lathe with threading and multiple tooling capabilities. You can perform multiple CNC roughing, finishing, boring, grooving, facing and cutoff operations. You can run the prolight lathe directly from your personal computer. Some of the operations performed using the Turning Center: Turning Facing Threading Grooving Parting Drilling Boring Tapping will require special tooling accessories. Some of the prolight Turning Center s most notable hardware and software features include: X axis travel of 4 inches ((100mm), Z axis travel of 10 inches (254mm) Feed rates up to 25 IPM (rapid traverse up to 50 IPM) Feed rate and spindle speed override functions EIA RS-274D standard G&M code programming Multiple tool programming Canned cycles for threading, turning and drilling Computer-controlled spindle speeds from 0 to 3,600 RPM at low range, and 0 to 3,6000 RPM at high range A built-in full-screen NC program editor with graphic tool path verification Safety shield and limit switches, Emergency stops from the Turning Center and computer keyboard 46

52 The PLT1000 software runs on the windows operating system. In industry CNC machines have controllers built in because computers are not reliable enough. Using industry standard EIA RS- 274D NC codes, the Control Program provides for two-axis CNC programming and turning. The system for entering commands for a CNC program using a text file is a set of codes known as G-Codes. These are text-based commands, which can be compiled on a text editor. Save the code as a text file if a word processor is used. Programming routines such as looping, subroutines and subprogram s can be used. For comments place a semicolon between the command and the comment. Line numbers make troubleshooting a program much easier. Example: N1 G00 X1.5Z3; Rapid travel to X1.5, Z3 The main Turning Center components shown in figure 3-1: Figure 3 1 Turning Center 47

53 The movements are programmed on a grid coordinate system. Left and right movements are programmed on the Z-axis. Radius is programmed on the X-axis. The Y-axis is not relevant on this lathe. Figure 3 2 Turning Center coordinate center 3-2 Absolute Coordinates VS Incremental Coordinates Absolute coordinates (figure 3-3) are used when the X and Z values given are in relation to the origin defined as 0, 0. The G code is G90. We can set the origin anywhere within the travel of the machine. In our labs we will set our origin (0, 0) at the chuck face and the center of the stock. When using the G90 code (absolute coordinates) the X, Z values will be the distance from this point. The values must be positive. In this case negative values will result in the tool hitting the chuck. 48

54 Figure 3 3 Absolute Coordinates Incremental Coordinates (figure 3-4) are used when the X and Z values are in relation to the last position. The G code is G91. Be extra careful when using absolute coordinates. You must know how far the cutting tool is from the part or chuck at all times. Figure 3 4 Incremental Coordinates 49

55 3-3 Work Coordinates vs. Machine Coordinates The machine coordinates are in relation to the machine home. When writing G-codes the user will use work coordinates. These will be in relation to the point (0, 0) defined by the user, in this case a chuck. 3-4 Tool Selection Tool selection (figure 3-5) is performed by means of a turret. The tools are mounted in the turret before hand, and are given numbers to keep track of them in a tool library. The positions on the turret are numbered and rotated into cutting positions by means a combination an M-code and a Tool number in the program. Example: M06 T1 Extreme care must be taken when programming to ensure that any tools mounted (not just the tool selected) are well clear of any part being turned, the chuck or robots before the turret is rotated to a new position. Figure 3 5 Tool Selection 50

56 On the ProLight turning center there are eight positions. Positions 1, 3, 5 and 7 are for outside diameters and faces; turning facing and threading tools etc. Positions 2, 4, 6 and 8 are for internal diameters and faces, drills, boring bars, taps etc Tool Definitions T01 Right hand turning (figure 3-6) T03 Left hand turning (figure 3-7) T05 Parting tool width (figure 3-8) T07 ¼ Right hand turning (figure 3-9) Figure 3 6 right hand turning Figure 3 7 left hand turning 51

57 Figure 3 8 Parting tool width Figure 3 9 right hand turning Tool Hints: 1. Tool 3, the left hand turning tool is wide. So don t approach the origin any closer than Z It will collide with the chuck. 2. Do not program turning operations using Tools 5. It can only cut with movements on the X axis 3. Tool 7, the radius of the ¼ profiling tool is So don t approach the origin any closer than Z Do not program plunging operations with Tools 1 and 3 and Limit each cut to or less for turning operations A Note on Tool Nose Radius Compensation When turning angles and curves the radius of the tool will overlap with the programmed tool path. Industrial CNC lathes have Tool Nose Radius Compensation (figure 3-10) to be used with G-codes to correct this situation by offsetting the cutting tool. However our lathe does not have this feature. 52

58 Figure 3 10 Tool Nose Radius Compensation Tools will have offsets defined to compensate for the varying amounts by which they deviate from the reference tool. Tool 1 is usually the reference tool. Offsets must be redefined whenever a tool is replaced with a different or sharpened tool. Offsets are stored in the memory of the control and are not defined in the program. The offset is not part of the program, but is stored in a memory location. 3-5 Programming Codes Preparatory Codes (G Codes) G codes take effect before a motion is specified. They contain information such as the type of cut to be made, whether absolute or incremental dimensioning is being used, whether to pause for operator intervention, and so on. Refer to chapter 2 and Appendix A: G codes for more information Miscellaneous Codes (M Codes) M codes control a variety of Turning Center functions while a part program is running. Only one M code should be specified per NC block. M codes and motion commands should be placed on 53

59 separate blocks to avoid confusion over whether an M code is activated during or after a motion command. M codes can also be used to chain a second program to the end of a part program, or to repeat an NC program. Refer to chapter 2 and Appendix A: M codes for more information Speeds and Feeds An S code defines a speed rate in rpm. Example: to select 900 rpm enter S900. Feed rates in inches per minute (IPM) are programmed using F codes. Example: to select 4 inches per minute enter F4. Speeds and feeds are usually programmed but may be overridden by a dial on the control panel. 100% is the programmed rate. More than 100% is faster, less than 100% is slower. Remember: RPM=(CS * 4) / Diameter ; Cutting Speed (CS) Example: If the programmed spindle speed is 1000 rpm an override setting of 120% will give a spindle speed of 1200rpm. Speeds and feeds are modal. The setting need not be entered on every line. Once entered feeds and speeds will stay in effect until a new rate is entered. S Code Select speed example: M03 S1000; turn on spindle at 1000rpm F Code Select feed rate: N1 G01 Z.5X3 F4; Move to position 0.5, 3.0 at 4 inches per minute 54

60 3-6 ProLight CNC Turning Control Software The Control Program interface (figure 3-11) is composed of several components that allow you to create NC part programs and interact with the Turning Center. The Menu Bar contains all of the menu commands for the Control Program. The Standard Tool Bar provides easy access to the most often used commands available in the Control Program, like jog Control, Operator Panel, and Home, Verify, Run, and Stop. The Turret Control Toolbar configures the Tool Turret by specifying which tool is in which station to make tool changes more accessible. To change the tool, activate one of the eight Tool Station buttons. The tools must be defined in the Tool Library dialog box which can be accessed through the Tool menu. The Outputs Tool Bar is an active tool bar. It provides switches to supply power to the spindle, and to the Accessory outlets on the Controller Box. Switches for Robotic outputs 1 and 2 are also provided. Figure 3 11Control Program Interface 55

61 The Inputs Tool Bar is an inactive tool bar. It provides information only on the state of the Emergency Stop, the Safety Shield, and the negative limit switch. Indicators for Robotic inputs 1 and 2 are also provided. An input is active (on) when the button is depressed. Edit windows: Whenever you open an NC part program file it appears in its own edit window. These windows have the same characteristics as other Windows (scroll bars; minimize/maximize buttons, etc.). Status Bar: The left side of the Status Bar provides information about the currently selected function. The right side of the status bar provides information on: Whether or not the Turning Center is homed Whether or not the Num Lock key is activated The current line and total number of lines in the program Whether or not the current NC part program is locked Whether or not the current NC part program has been modified When the indicator is dimmed, the function is in the off condition. The Verify Window displays a simulation of your part program when you select the Verify command from the Program Menu, or when you click the Verify Program button on the Standard Tool Bar. Many elements in the Verify Window can be altered according to your preferences in the Display section of the Verify Setup dialog box. The view of the work piece can be centered, zoomed in or out, color coded and instantly updated after the window is resized Machining a Part Load a piece (figure 3-12) of aluminum " long x 3 4 " diameter to the chuck. Write a program to produce the part in the drawing below. Work in inch units and absolute coordinates. Calculate RPM using formula RPM= (CS x 4) / Diameter, CS for aluminum is 400 Calculate the federate in IPM (inches per minute). Use per revolution. 56

62 Figure 3 12 Steps to Write a Simple Program Choose absolute coordinates and inch units from setup in main toolbar (figure 3-13). Then use the following program: N1; THIS A PRACTICE FILE TO N2; PRODUCE A N3; TURNING PROGRAM N4G59; N5G90; N6G70; CHOOSE USER COORDINATE SYSTEM ABSOLUTE MODE INCH UNITS N7M06T01; SELECT TOOL #1 N8S900M03; N9G00Z1.9375X0.4; N10G01X-0.03F3; N11G00Z2X0.365; N12G01Z0.875F3; N13G00X0.45; SET SPEED 900rpm turn on spindle POSITION 2.5" FROM ORIGIN FACE END AT 3 INCHES PER MINUTE RETRACT FIRST CUT RAPID AWAY FROM PART 57

63 N14G00Z2; N15G00X0.35; N16G01Z0.875F3; N17G00X0.45; N18G28; N19M06T07; N20G00X0.375Z2; N21M03S800; N22G01X0.3375Z1.875F2; N23G00X0.4; N24G28; N25M30; RAPID TO RIGHT END FINISH SIZE FINISH CUT AT 3 INCHES PER MINUTE RAPID AWAY FROM PART HOME POSITION SELECT CHAMFER TOOL APPROACH PART SET SPEED CHAMFER RETRACT HOME POSITION STOP Figure 3 13 main window view 58

64 After finishing the program writing from the main menu, choose: Setup check home: from menu setup Set/Check Home (figure 3-14) Figure 3 14 Setup Menu Home Turret: Menu ToolsOperate Turret (figure 3-15) after home, Press Done to finish. Figure 3 15 Operate Turret Start Program: Menu FileOpen (figure 3-16) and choose start. 59

65 Figure 3 16 Menu File You should see the figure 3-17 now. Click cycle starting and fallow the figures (3-18) and (3-19). Figure 3 17 part in simulation view Figure 3 18 cycle starting 60

66 From configure turret menu click OK (figure 3-19) when the yellow title appears (figure 3-20), it is ready to run Figure 3 19 configure Turret Figure 3 20 run window 3-7 The Program Simulations Select the Verify icon from the menu toolbar to run the simulation. The simulation is an aid to check tool movements of a program. However the simulator will show the program as correct in spite of errors being present. The simulation will show the removal of material even if the following conditions are present: The spindle has not been turned on. Material is being removed on a rapid travel movement. Material is being removed with a parting tool on the Z-axis. A tool change without backing away from the part. Cutting tools being feed in the wrong direction. 61

67 CNC programming is easier if ordinate dimensioning is used. The piece will be held by soft jaws 5 / 8 deep. So the origin is right of the end of the material. Eliminate a lot of math by moving the UCS to position X0, Z0; center of the chuck, flush with the face of the soft jaws. In your CAD files use ordinate dimensioning and you will be able to use these numbers from the dimensions in your program. The user coordinate system will be G59. Use G90 (absolute coordinates) and do not program any features to the left origin (negative on the Z axis). This will result in the tool holder hitting the chuck. Work in inches (G70). Move away from the work piece before a tool change (M06). When designing the chess piece avoid narrow shaft diameters near the base. The piece may bend due to tool forces. Also allow a large enough diameter for the robots grippers: dia. 62

68 3-8 Turning Center Assignment N1; TURNING PROGRAM FIRST END N2 ; N3 G ; N4 G ; N5 M T ; N6 G X0.4 Z2.4; N7 M S ; N8 G X-0.03 F ; ABSOLUTE MODE INCH UNITS SELECT PARTING TOOL RAPID TO START POINT SET SPEED 1200rpm TURN ON SPINDLE FACE END AT 5 INCHES PER MINUTE N9 G Z ; RAPID MOVE TO Z4.0 N10 X ; RAPID MOVE TO X2.0 N11 M T ; N12 G00 Z2.42 X0.375; SELECT ¼ TURNING TOOL RAPID MOVEMENT TO START POSITION FOR TURNING THE DIAMETER TO N13 G Z ; TURN THE DIAMETER UP TO 0.25 FROM THE CHUCK AT 10 INCHES PER MINUTE N14 G X0.4; RAPID AWAY FROM THE PART N15 G Z ; RAPID TO RIGHT END N16 X0.25; N17 G Z2.375F ; N18 Z X ; STARTING POSITION FOR TURNING THE CHAMFER APPROACH THE PART AT 10 INCHES PER MINUTE TURN THE CHAMFER TO Z2.25 X0.40 AT 10 INCHES PER MINUTE N19 G X ; RETRACT TO X0.4 N20 M ; N21 G ; N22 M ; STOP THE SPINDLE HOME POSITION STOP THE PROGRAM 63

69 Now view the tool paths program using the WPLT CNC basic software application. Does it show the tool path which you want? If it is correct save this file because you will use it for the first end of your chess piece. 64

70 CHAPTER 4: Robot Control Programming 4-1 Introduction CIM robots move parts within a station and perform assembly operations. The controller for CIM robots runs Advance Control Language (ACL) programs which tell the robot what path to follow and what to do once it reaches a destination. This controller contains the power supply for the robot. It moves the robot by controlling the power to the motors inside the robot. The controller is a stand-alone real-time device with multitasking capabilities which allows simultaneous and independent operation of several ACL programs. This multitasking ability allows the controller to function as a controller for a robot and peripheral devices (e.g. barcode reader, X-Y table) simultaneously. Figure(4-1) shows the components of the robotic control system. Figure 4-1 Robot work cell 65

71 4-2 Robot Components There are three Robot kinds exist in the CIM lab: 1. SCORBOT-ER IX 2. SCORBOT-ER V plus 3. ASRS-36 The SCORBOT-ER IX (figure 4-2) is a vertical articulated robot, with five revolute joints. With gripper attached, the robot has six degrees of freedom. This design permits the end effectors to be positioned and oriented arbitrarily within a large work space. Fig 4-3 identifies the joints and links of the mechanical arm. Each joint is driven by a permanent magnet DC motor via a Harmonic Drive gear transmission and timing belt. The movements of the joints are described in the table 4-1: Table 4-1: Joint, motion and motor relationships Axis No. Joint Name Motion Motor No. 1 Base Rotates the body 1 2 Shoulder Raises and lowers the upper arm 2 3 Elbow Raises and lowers the forearm 3 4 Wrist Pitch Raises and lowers the end effector 4 5 Wrist Roll Rotates the end effector 5 Figure 4-2 ER-IX robot joints and link The SCORBOT-ER IX is controlled by a standard ACL Controller-B. Controller-B has 16 inputs and 16 outputs which allow the robotic system receive signals from and transmit signals to 66

72 external devices in the robot s environment. The SCORBOT-ER Plus (figure 4-3) is also a vertical articulated robot, with five revolute joints. With gripper attached, the robot has six degrees of freedom. Fig.3 identifies the joints and links of the mechanical arm. This robot is controlled by a standard ACL Controller-A. The movements of the joints are described in the table 4-2: Table 4-2 Joint, Motion and Motor relationship II Axis No. Joint Name Motion Motor No. 1 Base Rotates the body 1 2 Shoulder Raises and lowers the upper arm 2 3 Elbow Raises and lowers the forearm 3 4 Wrist Pitch Raises and lowers the end effector (gripper) Wrist Roll Rotates the end effector (gripper) 4+5 Figure 4-3 ER-V plus joints and links The ASRS36 is a Cartesian robot with an additional rotary axis. It has a set of storage racks (divided into six levels with six cells each). The robot, controlled by a standard ACL Controller-A, moves the parts between the shelves and the conveyor. 67

73 4-3 Teaching Robot Position The path that a robot follows is made up of points called robot positions. These positions can be taught using a teach-pendant or robotic software, for example ACL. The coordinates associated with these positions are normally stored in the required program file. The CIM Manager tells a robot to move a part/template from one device at a station to another by sending a pick-and-place command to the appropriate robotic device driver. The device driver tells the controller to run the robotic programs GET and PUT that are associated with the locations specified in the pick-and-place message. Each device has a GET program associated with it which tells a robot how to move in order to pick up a part at this location. Similarly, each device has a PUT program which tells a robot how to place a part at this location. The names of these robotic programs take the form of GTxxx and PTxxx (for ACL programs) where xxx is the ID of the device. The device driver tells the controller to run the appropriate GTxxx and PTxxx that are associated with the locations specified in a pick-and-place command. Each GET program is dedicated to picking up an object from a single location. Each PUT program is dedicated to delivering an object to a single location. In order to move a part from any location at a station to any other location, all GET and PUT programs are designed to be used together in any combination. For example, to move a template from the ASRS to a pallet waiting on the conveyor, a pick-and-place command would specify running the following robotic programs: GT002 - Take template from ASRS (002 = ASRS device ID). PT001 - Put template on conveyor pallet (001 = device ID for conveyor) Note that the device IDs for GET and PUT are different. If they were the same this would mean that the robot was returning the part/template to the same location where it had just picked it up. All GET and PUT programs for a robot must be designed to work together. This entails that: They read the same set of pick-and-place parameters (stored in global variables). When a program ends, it must leave the robot in a position that enables it to move in any subsequent direction 68

74 The programs GET and PUT send the Start, Finish and End status messages to the CIM Manager via the robotic device driver, each of these messages is described in the table 4-3. Table 4-3 Message Description Status Start Finish End Message Description The GET program sends a Start message to report that the robot has grasped the part/template and has moved clear of the source device. For example, As soon as a robot has lifted a template from a pallet, the GET program sends a Start message. The CIM Manager can then release the pallet even while the robot continues to move the template. The PUT program sends a Finish message to report that the robot has placed the part/template at the destination device. For example, as soon as a robot has placed a template on a conveyor pallet and moved out of the way, the PUT program can send a Finish message. The CIM Manager can then release the pallet even while the robot continues to move to its final resting position. The PUT program sends an End message to report that the robot has completed this pick-andplace operation and is now available for the next command. You can monitor the progress of robotic programs at run-time by looking at the Program, Leaf or Device Views in the CIM Manager program. When a robot is performing a pick-and-place command, the following (figure 4-4) messages let you follow the progress of the GET and PUT programs as they execute. Figure 4-4 Pick and Place command messages 69

75 The CIM Manager sends a set of parameters to a robotic device driver whenever it issues a pickand-place command. The device driver in turn receives these parameters and assigns them to the following global variables (Table 4-4): Table 4-4 Global Variables Robotic pick and place parameters ACL $ID PART $DEV1 INDXG $DEV2 INDXP Description A sequence number generated by the CIM Manager for each command (a pick-and-place command in this case). This number corresponds to the Part ID field in the Part Definition form. For each part type, the instructions for how the robot grasps the part is defined in the robotic program (ACL). For example, the positions for each part ID is stored in an array (such as, CIM [ ]). The device ID of the source location where the robot will pick up the part/template. For a source device that has multiple compartments (e.g. a storage rack), this parameter specifies in which compartment (or buffer) the robot will find the part/template. The device ID of the target location where the robot will place the part/template. For a target device that has multiple compartments, this parameter specifies in which compartment (or buffer) the robot should place the part/template Define positions For any manipulation of a piece we need to teach the robot some positions, this can be done by either Teach Pendant (TP) or Advance Control Language (ACL). The TP is equipped with an EMERGENCY STOP push-button, an AUTO/TEACH selector switch, and a DEADMAN switch. When the switch is in the Teach position and the deadman button is depressed, the TP has full control of the axes. When the switch is in the Auto position, the TP is disabled, and the keyboard has full control of the axes. When the switch is moved from Auto to Teach, running programs continue execution. Control is transferred to the TP. But when the TP is hand-held, all 70

76 running programs are aborted. When the switch is moved from Teach to Auto, running programs continue execution. Control is transferred to the keyboard, but only after the ACL command AUTO is entered from the keyboard. The teach pendant s keypad (figure 4-5) has 25 color-coded keys. Most of the keys are Multifunctional; for example, some keys include both an axis drive command and a Numeric function. The controller recognizes the keys from the order in which they are pressed. Thus, the numeric function will be active only if a function such as SPEED, RUN, or MOVE has been keyed in first; otherwise, the axis drive command will be active. TP commands can be executed only when the TP is in the Teach mode and either deadman button is depressed or the TP is mounted. The program execution command RUN is available only when the TP is mounted. Figure 4-5 Teach Pendant keypad Teach Pendant key functions ENTER / EXECUTE Accepts and/or executes the command which has been entered. Starts an execution of a program. JOINTS / XYZ / TOOL Switches the command mode between Joints and Cartesian (XYZ). CLR / GROUP SELECT 71

77 + KEY Clears a partially entered command. Enables TP control of a specific axis group. Successively press for group A, group G (gripper), group B, group C, and again for Group A, and so on. When group C is displayed, enter the axis number on the Numerical keys. Then press Enter. Note that the TP treats the gripper as a distinct axis control group, group G. When alternating among control groups, group A will remain in the coordinate System (Joint or XYZ) in which it was last active. In Joint mode moves the selected axis in positive direction In XYZ mode moves the tip of the gripper in positive direction. In all of the above, movement will continue as long as the + key is depressed, or until the axis limit is reached. This key is also used to confirm the DELETE command. -KEY In Joint mode, moves the selected axis in negative direction. In XYZ mode, moves the tip of the gripper in negative direction. If group G is selected, closes the gripper. In all of the above, movement will continue as long as the key is depressed, or until the axis limit is reached. 0 / SELECT AXIS Numerical key 0. Selects axis 1 through 12. Press Select Axis. Then press an axis number. Then press Enter. When an axis number is selected from the TP, the control group to which the axis belongs (A, B, C, or G[gripper]) is automatically enabled. 1/ AXIS 1 / X Numerical key 1 Axis 1 in Joint mode. Axis X in XYZ mode. 72

78 2 / AXIS 2 / Y Numerical key 2 Axis 2 in Joint mode Axis Y in XYZ mode 3 / AXIS 3 / Z Numerical key 3 Axis 3 in Joint mode Axis Z in XYZ mode 4 / AXIS 4 Numerical key 4 Axis 4 in Joint mode Pitch Axis in XYZ mode (MK2 and ER IX only); 5 / AXIS 5 Numerical key 5 Axis 5 in Joint mode Roll Axis in XYZ mode (MK2 and ER IX only). 6 / AXIS 6 Numerical key 6. Axis 6 in Joint mode. Gripper axis (MK2 and ER IX only) 7 / AXIS 7 Numerical key 7 Axis 7 in Joint mode 8 / AXIS 8 Numerical key 8 Axis 8 in Joint mode 9 / AXIS 9 73

79 Numerical key 9. Axis 9 in Joint mode. Note that selecting an axis from the TP (axis number keys) automatically enables control of the group to which the axis belongs. CONTROL ON/OFF Enables and disables control of the selected group, or all groups. If pressed once, toggles between CON and COFF for the selected group. If pressed twice, changes CON and COFF for all axis control groups. If at least one group is in CON mode, COFF is applied to all groups. If all groups are in COFF mode, CON is applied to all groups. The action to be performed (e.g., COFF GROUP B, CON ALL GROUPS) will be displayed. Press Enter to accept. RECORD POSITION This command both defines and records a position. Only numerical position names, of up to five digits, can be entered from the TP. The position is defined for the currently active group, and receives the current values of the axes in that group. The position coordinates are recorded in the currently active coordinate system. Press Record Position. Then press up to five digits for the position name. Then press Enter. If you use a position name which has already been defined, the new coordinates will overwrite the existing ones. This command is also used to record positions in a vector. The vector must first be attached (ATTACH) to the TP. INSERT / DELETE This command is used to add and remove positions in a vector. The vector must first be attached (ATTACH) to the TP. INSERT records a position in a vector, and shifts all previously recorded positions one place up in the vector. DELETE removes a position from a vector, and shifts all higher positions one place down. INSERT and DELETE are available only on position vectors which have been defined with the prefix &. 74

80 If pressed once, INSERT is displayed. Use the numerical keys to enter the number of the position (the vector index) to be inserted. Press Enter to execute the command. If pressed twice, DELETE is displayed. Use the numerical keys to enter the number of the position (the vector index) to be deleted. Press Enter. The display shows ARE YOU SURE? Press + for yes, and then press Enter again. SPEED (%) / SPEEDL (%) Sets the speed of manual axis movement, as a percentage of maximum speed. If in Joint mode, sets the percentage of maximum joint speed. SPEED is displayed. If in XYZ mode, sets the percentage of maximum linear speed. SPEEDL is displayed. Press SPEED (%)/ SPEEDL (%). The current speed is displayed. Press Enter to accept the displayed default speed. Or use the numerical keys to enter a different speed, and press Enter. When group G is active, this command determines the speed of a DC servo gripper. OPEN / CLOSE Opens and closes the gripper. This command functions on both electric and pneumatic grippers. MOVE / MOVEL Moves the axes to a target position. MOVEL applies only to robot (group A) axes. If in Joint mode, movement is by joints (MOVE) If in XYZ mode, robot movement is linear (MOVEL) Press MOVE/MOVEL. Then use the numerical keys to enter the position number. Press and hold the Execute key. Continue holding down the Execute key until the axes reach the target position. If the Execute key is released, the movement is stopped immediately, and the command is aborted 75

81 RUN Executes a program. Available only when the TP is mounted. Press Run. Then press the program s identity number on the numerical keys. The program name will be displayed in brackets. Then press Enter. The controller automatically assigns an ID number to each user program. The ACL command DIR lists the programs and their assigned (IDENTITY) number. The command RUN 0 homes the robot axes (ACL command HOME). The command RUN 999 executes a system test (ACL command TEST). ABORT Aborts execution of all running programs. Stops the robot and all peripheral axes. 76

82 4-4 Advance Terminal Software (ATS) & Advance Control Language (ACL) Advance Control Language (ACL) is an advanced, multi-tasking robotic programming language developed by Eshed Robotec (1982) Ltd. Advanced Terminal Software (ATS), is the user interface to the ACL controller. The software is a terminal emulator which enables access to ACL from a PC computer. ATS features include the following: Short-form controller configuration. Definition of peripheral devices. Short-cut keys for command entry. Backup manager. Print manager. ACL features include the following: Direct user control of robotic axes. User programming of robotic system. Input/output data control. Simultaneous and synchronized program execution (full multi-tasking support). Simple file management. Figure 4-6 Shows the main screen of ATS when the software is loaded. After the ATS is being loaded the user can communicate directly with the controller. 77

83 Figure 4-6 ATS Main Screen ACL commands listed at the bottom line of the main ATS screen. Pressing the function key which appears next to each command, issues the command. For example, F5 writes the command MOVE. Four sets of ten function keys permit the use of forty short-cut ACL commands. Three sets are system-defined sets, and one is user-defined. A display of the sets of commands can be called from the ATS main screen by pressing the hot-key combination: >ALT +H (figure 4-7) Figure 4-7 ATS sets of commands The display of command sets will scroll up and off the screen as you continue entering commands at the > prompt. Only one set of function keys is active at a time. Set 1 is active by default. To activate a different set, simultaneously press the <Alt> key and the number of the set desired. For example, press <Alt>+3 to use the short cut commands in Set 3. (Do not use the numeric keypad for this purpose.) 78

84 When Set 3 is active, for example: F1 issues the command LIST and F2 issues the command REMOVE. The (down arrow) after a command indicates that <Enter> (a carriage return) automatically follows the command. For most short-cut commands, however, you must also press <Enter> in order to activate the commands ACL commands This section briefly describes the commands used to prepare the data required by the controller in order to execute the program. (For further ACL commands see Appendix??) Define Position The following commands are used to define positions. DEFP pos DIMP pos[n] Defines a position. Defines a position vector and its dimension. Record Position The following commands are used to set the coordinate values for the positions you have defined. Table 4-5 shows an example of ACL commands. SETPV pos TEACH pos HERER pos2 pos1 TEACHR pos2 pos1 Enters coordinates for position, in joint (encoder) values. Enters coordinates for position, in XYZ (Cartesian) values. Enters coordinates for position, in joint (encoder) values, relative to current position of robot. Enters coordinates for position, in XYZ (Cartesian) values, relative to current position of robot. 79

85 Table 4-5 ACL Coordinate Values command Controller-B (ACL 2.26 and later) DEFP PA TEACH PA Result Defines position PA Records coordinates for position PA X value = 200mm Y value = 0mm Z value = 40mm Pitch value = -90 Roll value = 0 Movement MOVE pos MOVEL pos Moves robot from one position to another following non-linear path Moves robot from one position to another following a linear path MOVED pos Moves robot from one position to another and waits till all axis have arrived at the new position before proceeding to the next command Speed Control SPEED Specifies the speed at which the robot moves from 1-100% Gripper Open/Close Open Close Delay DELAY var Opens the robot s gripper Closes the robot s gripper Suspends program execution for the time specified by var. Define Program The following format is used to define and mark the beginning of a program: PROGRAM name To automatically allow or prevent the overwriting of programs during downloading, you may include an overwrite switch, /Y or /N, after program names within your text files. /Y Allows program to be overwritten during downloading. 80

86 /N Program will not be overwritten during downloading. For example: PROGRAM PICK1 /N Define Variables The following commands are used to define global variables: GLOBAL var Defines a global variable. DIMG var[n] Defines a global variable array. Note that the Open-CIM system contains variables whose names have the prefix $. The $ indicates it is a system-required variable which should not be manipulated by the user. The following command format is used to give an initial value to the variable: SET var = n Edit Program Private variables and variable arrays must be defined within the program itself. Use the commands: DEFINE pvar DIM pvar[n] Defines a private variable. Defines a private variable array. End Program The following command line is used to mark the end of a program: END Controller On/Off Con Coff Turns the Controller on and ready to execute a program Turns the Controller off and ready to exit Homing Robot Home Homes the Robot 81

87 Conditional Program IF var1 oper var2 Checks the conditional relation of two variables, oper could be <,>, =, <=,>=, <> ANDIF var1 oper var2 logically combines a condition with other IF commands. ORIF var1 oper var2 ELSE ENDIF logically combines a condition with other IF commands. Follows IF and precedes ENDIF. Begins subroutine when IF is false. End of IF subroutine. Loop Program FOR var1=var2 TO var3 ENDFOR LABEL n 0<=n<=9999 GOTO n Loop command. Executes subroutine for all values of variables End of FOR loop Marks a program subroutine to be executed by GOTO command. Continues program execution at line following specified LABEL Saving a Program File Save your program as an ASCII text file. You may save the file under the same name you used to open the file, or save as a different file. For consistency, and to simplify technical support, it is recommended that you use the following file name extension..dnl File containing ACL source code (programs, positions, variables) which will be downloaded to controller. When you have completed editing and saved your program, exit your editor. Sample Program PROGRAM MV5 (Five Characters MAX) DEFP PP DEFP TT DIMP S[4] TEACH PP ; defines position PP. ; defines position TT. ; defines vector S: two positions: S[1],S[2],S[3] and S[4]. ; records Cartesian values for position PP 82

88 X: Y: Z: P: R: TEACH TT ; records Cartesian values for position TT X: Y: Z: P: R: TEACH S[1] ; records New Position for S[1] X: Y: Z: P: R: TEACHR S[2] S[1] ; records position S[2] related to S[1] X: 0 Y: 0 Z: 50 P: 0 R: 0 TEACH S[4] ; records New Position for S[4] X: Y: Z: P: R: TEACHR S[3] S[4] X: 0 Y: 0 Z: 50 P: 0 R: 0 GLOBAL IND ; records position S[3] related to S[4] ; defines global variable IND. SET IND=1 ; sets initial value of IND to 1. DEFINE J FOR J=1 TO 2 IF IND=1 83

89 ENDFOR END Move PP Open Else MOVE TT ENDIF IND=IND+1 MOVE S[IND] IF J=2 J=J+2 ENDIF MOVE S[J] IF J=1 Close ENDIF IF J=4 OPEN ENDIF MOVE S[IND] IF J=1 MOVE PP ENDIF IF J=4 MOVE TT ENDIF J is a private variable used as the loop counter. During the program execution The robot is moving from Position [2] to position [1] open then moves to PP and TT and goes to Position [3] and Position [4] Downloading a Program Before you transfer a program file to the controller, make sure the name displayed in the menu is the file you want to download. Also make sure the controller and computer are properly connected and the controller has been switched on. To activate the Downloader, press: F1 Pressing F1 will abort any programs currently being executed by the controller. The window on the screen expands. All program lines are displayed on the screen as they are sent to the controller. At the bottom of the screen (figure 4-8) you see the prompt: 84

90 Press <SPACE> to pause. <ESC> to stop Figure 4-8 ATS Screen Press the space bar to temporarily halt the downloading procedure. This will allow you to read the lines or messages displayed on the screen. Press any key to continue the downloading. Pressing <Esc> will abort the downloading procedure Downloading Messages Following is a list of messages which may appear during downloading. If the Downloader encounters a program name which already exists in the controller, it prompts you to confirm the over write: PROGRAM DEMO ALREADY EXISTS, OVERWRITE IT (Y/N)? N If the Downloader encounters a position or variable name which has already been defined, or if an axis number following the DEFPC command is incorrect, the following message appears: *** ERROR *** Name already in use or bad axis 85

91 If too few lines are given after the TEACH or TEACHR commands, the missing lines are assigned a value of 0 and a message is displayed: <<MISSING NUMBER, USE 0 >> If too many lines are given, the program ignores the extra ones, and displays: <<EXTRA NUMBER, IGNORE>> If the Downloader reaches the end of the file but has not encountered the END command, a message appears: <<MISSING END>> If the Downloader encounters incorrect ACL commands, such as command lines containing undefined variables, the downloading is stopped, and the ACL error message is displayed, followed by the message: FATAL ERROR DETECTED, DOWNLOAD STOPPED If the Downloader encounters unclosed loops (IF without ENDIF, for example), or a GOTO command whose LABLE has not been defined, the following is displayed: PROGR is not valid When a program has been downloaded successfully, the message is: PROGR is valid Activating ATS After you have downloaded a file, it is recommended that you check the controller contents. To activate the Advanced Terminal Software (ATS), press: F4 Pressing F4 activates the terminal emulation program defined in the CONFIG.DLD file. By default, it is ATS. Once you have activated ATS you can then view, edit and run your program using the standard ACL commands. For Example to view the program DEMO, type the command: LIST DEMO 86

92 The following screen (figure 4-9) will be displayed on your screen. 4-5 Robotic Integration Figure 4-9 ATS Screen Program Demo The prolight Machining Center has a simple interface for interacting with common robots, like those used for automatic part loading between machining operations. The Machining Center and the robot communicate by way of an interface connector located on the rear panel of the Machining Center. The method of communication between the Machining Center and robot is very basic. They are both able to transmit and receive high or low signals. Since communication signals are typically 0 and 5 volts, a high signal is 5 volts (or 3.5 volts or greater); and a low signal is 0 volts (or 1.5 volts or less). Signals sent out are referred to as outputs, while signals coming in are called inputs. Any signals that the Machining Center transmits to the robot are transmitted through an output pin on the interface connector. Outputs can drive a maximum load of 1mA. Any signals that the Machining Center receives from the robot come in through an input pin on the interface connector. The NC codes used in robotic communication are: G25 - wait for High signal G26 - wait for Low signal M25 - transmit High signal M26 - transmit Low signal 87

93 Examples of input and output wiring are shown in the schematic below (figure 2-22) A sample of mill/robot Communication Figure 2 22 Signal transmission Communication between the Machining Center and robot is very simple. They only use and recognize high or low signals. Once the Machining Center sends a signal to the robot, it goes into a wait state and continues to wait until the robot sends the appropriate signal back. When the signal is recognized, the Machining Center executes the next instruction in the part program. After executing the instruction, it sends a signal to the robot. The robot, which has been in a wait state since its last transmission, receives the signal, performs as it has been programmed, then again signals the Machining Center. This reciprocal system of communication is made possible by the placement of G and M codes in the part program. The G codes provide the wait instructions to the inputs, while the M codes provide the transmit instructions to the outputs. The following sequence is typical of communication between the Machining Center and a robot. Since the robot s initial output state is low, the mill s inputs have already been pulled down to a low state. The Machining Center is equipped with an air vise. 1. The mills open the air vise (M11), transmits a high signal (M25) to the robot, and waits for a high (on) signal (G25). 88

94 2. The robot places a work piece in the vise and transmits a high signal to the mill indicating that it is okay to close the vise. 3. The mill receives the signal, closes the air vise (M10), then signals (M26) the robot that the vise is closed. The mill then waits (G26) for a low signal from the robot. 89

95 4. The robot releases the work piece and leaves the work area. It transmits a low signal when it is a way from the work area. 5. The mill receives the low signal from the robot and begins to mill the part. 90

96 6. When the mill has finished the part, it signals the robot (M25) to come take the part and waits (G25) for a high signal. 7. When the robot receives the signal, it approaches the mill, grasps the part and sends the high signal to the mill. 91

97 8. When the mill receives the high signal, it opens the vise (M11) to release the finished part, signals the robot (M26) and waits (G26, low). 9. The robot removes the finished part from the work area, and places the part in another area according to its own program. When the robot has cleaned the mill s work area, it sends a low signal to the mill. 10. At this point, the cycle begins again (M47). 92

98 4-6 CNC Programs to Interact with the Robots Communication Codes In a manufacturing cell machines must communicate with each other. The robot will make its moves to the appropriate positions after each CNC program, and then pass the control back to the CNC controller. This is usually done using high and low signals. The controllers for the CNC machines and the robots have input and output ports for signals. Here are the signal codes for the CNC machines. The robots will execute their own commands in between these signals: G25 G26 M25 M26 Wait for High signal Wait for Low signal Transmit High signal Transmit Low signal H# Specifies input or output (default is H5) Here is an example of the communication part of a CNC program: ; Robot interface at start ; M26; Put idle signal off G04F1; wait one second M25; Put idle signal on G25; WAIT FOR CONTROLLER SIGNAL TO START HIGH G26; WAIT FOR CONTROLLER SIGNAL TO START LOW M26; Put idle signal off ; Before the chess piece is machined the machine must prepare to be loaded by the robots. 93

99 The M20 code will be used to chain several files together. The controller will look on the COM port specified. Example: M Get and Put Routines COM2; Wait for chaining on Com port 2 The lathe will use these get and put programs: START; ODOOR; OPCHUCK; PLACE; CLCHUCK; CDOOR; sets startup parameters opens door opens chuck moves turret out of the way closes chuck closes door Your part program will be here. These programs are stored on the O: drive in O\CONCORDIA\WS2\LATHE\*.NC The get and put programs will be run by the ACL Controller. Don t put them into your part files. The communication codes will signal to the ACL controller when to run these programs. Opening and closing the vise or the chuck is completed by the get and put programs so you don t need to place M08 or M09 codes in your part program when you run the ACL files. The CNC files which your group creates will be given a group number and saved to the network drive to be called up by the OpenCIM software. 94

100 5-1 Introduction CHAPTER 5: System Integration and Optimization This chapter describes the CIM Utility Programs which are used for preparing the OpenCIM system for production. These programs, which are an integral part of the CIM Manager software, be accessed from Utility Programs menu of the CIM Manager menu bar. This chapter includes the following: 1. Machine and Process definition: Defines the machines and processes in OpenCIM. 2. Part Definition: Defines parts that OpenCIM can manufacture. 3. Storage Definition: Tracks the parts in Storage 4. Material Requirements Planning (MRP): creates customer lists and product orders. 5. Optimization: introduces algorithms as well as additional optimization methods used in OpenCIM for defining queue. 6. Performance Analysis: introduces Analysis window for viewing and analyzing information generated from the manufacturing cycle. 7. Reports: generate predefined or customized reports for viewing and printing. 5-2 Machine and Process Definitions When you define a machine, you actually define the specific process a machine will perform. Machine names are usually predefined in the Virtual CIM Setup and only need to be selected from the Machine Name drop-down list. The process name enables the CIM Manager to determine which machine is capable of performing the specific work required to produce a part (as defined in the Process field in the Part Process Table in the Part Definition form). The Machine Definition form lets you view any machine that has been defined for the system. You can define new or modify existing processes for the machine to perform. A machine record contains the machine name and one or more defined processes (process record). Each field and the control buttons associated with this form 95

101 are described in detail in this section. The CIM Machine Definition Window displayed below is accessed by from the CIM Manager Main Window, by selecting Utility Programs Machines. Figure 5 1: Machine and Process Definition form Machine Name: A descriptive name which uniquely identifies the machine. You can edit/examine the record for a specific machine by selecting that machine name from the drop-down list in the toolbar. All machines that are defined in the Virtual CIM Setup appear in this list. Process: The name of a production process that can be performed by this machine. A Process Name can only be used once for a given machine. The name should be easily recognizable to CIM users and may contain the characters A Z, 0 9 and underscore (_), but no spaces. This Process Name is assigned to a part in the Part Definition form (in the Process field of the Part Processes Table). Assigning a process to a part instead of a machine can have advantages when there are two or more machines capable of performing the same process. Having more than one machine capable of performing a 96

102 given process allows the CIM Manager to select the machine which can process a part most efficiently and redirect production if one machine fails. File: A file containing the G-code program or other program associated with this process. This file name can include a valid DOS directory path. If no path is specified, the CIM Manager expects to find this file in the current working directory associated with the device driver for this machine. A file can contain one machine control program. Different machines that perform the same process will have their respective control programs stored in different files. Program: The name of the machine control program associated with the process being defined. This Program Name is used by an ACL controller which is operating a machine. Fail (%): The name of the machine control program associated with the process being defined. This Program Name is used by an ACL controller which is operating a machine. Duration: The number of minutes this process takes to produce one part. The CIM Manager takes this value into consideration when choosing among multiple machines that can run the same process. Format is hh:mm:ss Parameters: This string of arguments is passed to a machine control program associated with this process. WS: The workstation in which the machine is placed. Automatically displayed by the system (as defined in the Virtual CIM Setup). Machine Type: The type of machine selected. Automatically displayed by the system (as defined in the Virtual CIM Setup). Action Type: A label that defines the characteristics associated with a process. Select one of these Action Types (in the data field above the table): Assembly: A process which involves the assembly of two or more subparts. QC: A process involving a test that reports a Pass/Fail result to the CIM Manager. If the result is Fail, the rejected part is redone. A quality control process requires an ONFAIL entry in the Part Processes table in the Part Definition form see Part Definition below. CNC: A process which has G-Code program(s) associated with it. The CIM Manager downloads the G-code file specified in the File field to the CNC machine (unless this file is already resident in the CNC machine). 97

103 Process: A basic machine operation which does not require any special action beforehand or afterwards. Runs the ACL program specified in the Program field. Place: A robot operation used for non-standard operations performed by a robot. The File and Program fields will be blank. Robot Controlled: Specifies if a robot is needed to perform the process. For example, if a welding action is performed by a robot, specifying YES signals the CIM Manager that the robot is in use and is not free to perform another operation. This option is available only if the machine selected can use a robot to perform a task, and if the Action Type is Process. Cost Per Hour: Estimated hourly cost to run this machine. The CIM Manager uses this as one of the criteria in order to decide on the optimum production method. 5-3 Part Definitions A product is manufactured from a group of subparts (bill of materials) that are put together according to a specified set of machine processes. Starting with a set of raw materials (supplied parts), you define parts at the intermediate stages of production required to assemble a final product. The Part Definition screen (figure 5-2), or form, allows you to enter the bill of materials and the associated production processes used to produce a part. Part Definition form includes: Modify/view the production process for an existing product. Describe the production process for a new product. Defining a new product involves the following steps: Drawing a part definition tree. Setting up all machine processes necessary to produce a product and all its subparts. Determining what new template designs are required to handle all the parts involved and assign these designs template ID numbers. Determining the types of racks that can hold each subpart. 98

104 The Part Definition form for Product parts lets you create, view, or modify the current part (either a product or its subparts). A part record contains all the fields shown on the Part Definition form below. Each field and the control buttons associated with this form are described in detail in this section. Figure 5 2 Part Definition form for products Information Bar: Template: Defines the template type (01-99) whose pin arrangement can accommodate the selected part. Rack/Feeder: Defines the types of racks/feeders that are capable of accommodating the selected part 99

105 Part Type: Color: Defines the color of the parts that can be viewed on the conveyer. You can define a different color for each part. Product: A part that can be ordered from the CIM. The final part at the top of the part definition tree is always defined as a product. Part is the product that is produced by the CIM system. Supplied: A part received from an outside source, i.e. a part not produced by the CIM, therefore it does not require a process definition. Supplied parts do not contain any entries in their Part Process tables. A supplied part is found only at the bottom of the Part Definition tree. Part ID: Phantom: A part or subpart which has failed QC. This definition allows the CIM Manager to issue instructions on how to handle a rejected part. Phantom parts cannot be ordered. A numeric value (1 999) which uniquely identifies this part (i.e. two parts cannot have the same ID). This Part ID can be used with devices which require numeric part identifier. For example, the ACL controller uses the Part ID to activate the appropriate control program to handle this part. Sub Part: Subpart is not shown in the figure above The name of a material used to produce the current part. A subpart must be defined in its own Part Definition record. A subpart can either be a raw material (i.e. a Supplied Part) or a part produced by the CIM (i.e. a Phantom Part or a Product). Some rows in the Part Process table require a Subpart name while others do not. A Subpart name is required in the following circumstances: A Subpart name is required in row 1 of the Subpart column. A Subpart name is required for each part that is included in an assembly. A Phantom Subpart name is required after each quality control test in order to associate a name with the ONFAIL exception handler. 100

106 After the first row, a subpart name is not required if the process being performed operates on the same part that was listed in the previous row. For example, the first row could specify the name of a cube that is to be machined into a box. The second row specifies a process that drills a hole in the box. In this case, the subpart field of the second row would be blank because the drill operates on the same subpart specified in row one. Process: If you need more than one of a subpart, add a separate row to the Part Process table for each unit. A circular definition error will result if you enter a subpart name that matches the name of the part being defined (i.e. Subpart = Part). This error will also occur if any of the subparts in turn contain a subpart that matches the Part Name being defined. Enter the name of a production process that has been defined in the Process field of the Machine Definition screen. If this process exists on more than one machine, the CIM Manager selects the machine to use according to its production strategy (e.g. minimize cost, minimize production time, etc.). Parameters: The Parameters field specifies how to carry out this process when it is performed for the current part. For quality control devices, the parameter string is used to specify the type of QC test and the range of acceptable values. For a machine that performs assembly operations, the parameter string specifies where to put the part that is being added to the assembly. If this target location contains compartments, you can add an optional index for the compartment number (Table 5-1). 101

107 Sequence: Device Example Description Note ROBOT-VISIO PRO Laser Scan Meter Assembly Machine 1,4 type of test, minimum value, [maximum value] 1,150,160 Places subpart assembly BOX in location #2. BOX,2 target location, [target index] Table 7 1 Parameters Description If maximum value is omitted, the minimum value represents the single acceptable value. If maximum value is omitted, the minimum value represents the single acceptable value ( with a tolerance of 5% Places subpart assembly BOX in location #2. This field lets you specify whether this process must be performed in the order in which it appears in the Part Process table. This field must contain a T (true) to follow the specified order. Description: A description of the part being defined that explains what it is and where it is to be used. Template Type: The Template type (01 99) whose pin arrangement can accommodate this part. Rack/Feeder Type: If this part is to be stored temporarily in a rack during processing, specify which types of racks are capable of accommodating this part. 5-4 Storage Manager The CIM Manager must keep track of which parts are in storage and which templates are available to move these parts from station to station on the conveyer. You can use the Storage Definition form to: 102

108 Update the contents (part and/or template) of storage locations. Create/modify template codes. Figure 5 3 Storage Manager Window The Storage Manager administrates all types of materials used in an OpenCIM cell. There are three types of Storage: ASRS (automated storage and retrieval system), Rack and Feeder. ASRS: The ASRS is the main storage device in an OpenCIM cell. It serves as a warehouse for parts in various stages of production. ASRS cells contain templates, either empty or loaded with parts. Rack: This type of storage can contain parts in any stage of production. Templates cannot be stored in racks. Feeder: Contains raw material only. Figure 5-4 shows the toolbar of storage manager. Whenever you add or remove a part or a template from a storage cell, use the Storage Definition form to register the change. 103

109 Figure 5 4 Storage Manager Toolbar Figure number Figure 5-5 explains how to: Add a part to storage cell. Add a blank template to a cell. Clear the contents of a cell Figure5 5 Add or Removing cell contents from the storage manager 104

110 5-5 Material Requirement Planning Material Requirements Planning (MRP) enables manufacturers to calculate the material requirements from a list of items they intend to sell. MRP provides a tool for floor control, master production scheduling and capacity planning. Manufacturing Resource Planning (MRP II) coordinates and integrates manufacturing resources together with engineering, marketing and financial resources. The OpenCIM MRP program is used to create and define three types of orders: Customer Orders: products ordered Manufacturing Orders: items to be produced Purchase Orders: items to be purchased from suppliers In general, OpenCIM MRP allows you to create a list of customers and define the products ordered by each customer. Once Customer Orders are created, the MRP program automatically creates a Manufacturing Order and a Purchase Order. You can view and modify or simply accept the Manufacturing Order, or define a completely new one. When the Manufacturing Order is submitted, the MRP creates an A-Plan file, or production work order. In addition, the MRP creates a Purchase Order for items that must be supplied to the CIM. The OpenCIM Report Generator can be used to display and print the Purchase Order. Figure 5-6 shows MRP flow chart. Figure 5 6 flow chart of MRP program 105

111 5-5-1 Customer order form A customer order is a list of the parts (products) ordered by a customer. The Customer Order form shown below (figure 5-7) lets you create, view and modify a list of customers and their orders. Parts must be defined in the Part Definition form before they can be ordered by customers. Figure 5 7 Customer Order form Figure 5-8 shows the buttons which apply only to the Customer Order table. Any changes you make using these buttons will not be stored in the database until you click Save. Figure 5 8 Customer order form toolbar 106

112 Priority option in order list shows the priority of this order (1-9). A priority of 1 is most urgent, 9 is least urgent. The CIM manager program uses this priority value to determine the sequence in which to produce orders. Different parts may have the same priority Manufacturing Order form A manufacturing order specifies the type and quantity of parts to be produced by the CIM cell on a specific day. The Manufacturing Order form shown can be generated by the MRP program according to the customer orders currently in the system. You can view and modify or simply accept the Manufacturing Order, or define a completely new one. You can define an order at any time, but you must finish defining all machine processes and subparts used in the order before you submit the order for production. Each row in the Manufacturing Order table (figure 5-9) represents a total quantity of a particular part which needs to be manufactured on the specified date, so that all customer orders are filled. Figure 5 9 Manufacturing Order Screen Figure 5-10 shows the manufacturing order toolbar description. The buttons apply only to the Manufacturing Order table. Any changes you make using these buttons will not be stored on disk until you click Save. 107

113 Figure 5 10 Manufacturing Order form toolbar Part Name is corresponds to the Part field on the Part Definition form which should be produced. The total quantity is total number of units ordered. The Initial Quantity is the number of parts to be extracted from the ASRS when production begins. The initial quantity is a number that can range from 1 (one) up to the value of the total quantity. Usually the value is 1 or 2. This field allows you to optimize the manufacturing process. The priority of this order (1-9) is shown in priority option. A priority of 1 is most urgent, 9 is least urgent. The CIM Manager uses this priority value to determine the sequence in which to produce orders Purchase Order form A purchase order is a list of the parts that need to be supplied to the CIM cell so that it can complete the Customer Order. The Purchase Order form shown below (figure 5-11) can be generated by the MRP program according to the customer orders currently in the system. You can view and modify or simply accept the Purchase Order, or define a completely new one. The Purchase Order form lets you create, view and modify a list of suppliers. Parts must be defined in the Part Definition form before they can be ordered from suppliers. Each row in the Purchase Order table represents a total quantity of a particular part which needs to be purchased by a specified date, so that all customer orders are filled. The Toolbar is shown in figure

114 Figure 5 11 Purchase Order form Cost is the cost per unit, as defined in the Part Definition form. The due date is the date on which the part must be received from the supplier and the send date is the deadline for sending the purchase order to the supplier. Send date is calculated by subtracting from the Due Date the time required by the supplier. Figure 5 12 Purchase order form toolbar 109

115 5-6 Optimization The order of operation (timing), performed by CIM is controlled using the CIM optimizing mechanisms, which run concurrently and make decisions based on real-time situations in the work cell. You can manipulate the behavior of CIM by changing any one mechanism, or a combination of any of these optimizing mechanisms. When activating OpenCIM, parts are dispatched from storage and placed in the queues to the various machines for processing. In certain cases some parts need to be processed in a number of different machines. The CIM Manager sorts these parts by creating a virtual queue of parts that are waiting to be processed in each machine, and the machine in turn always processes the first part in the queue. Optimization is performed using different methods for sorting the machine queue. The Optimization Approach offers the following benefits: The system continues to follow the priority you define for each part even though the system is required to work on many parts, from different priority levels. The Optimization Approach handles incomplete or incorrect predicted process time in a competent manner (i.e. the NEXT command is actually executed when the machine finishes processing the part and not according to some pre-calculated time). The Optimization Approach implemented in the CIM environment can handle different combinations of parts, in different quantities and priority levels that need to be produced in a proficient manner. Machines, robots, storage locations and even conveyors have their own priority queue which you can control in order to increase the performance of the production schedule The CIM Optimization Definition (figure 5-13) enables users to select machine queue algorithms and define their weight. Users can then observe the effect of the different algorithm combinations on the overall system performance. The results generated from the CIM Optimization Definition are displayed in the CIM Performance Analysis as described in Performance Analysis. The CIM Optimization Definition window is displayed by selecting Utility Programs Optimization Definition from the OpenCIM Manager main window. 110

116 Figure 5 13 CIM optimization definition Figure 5-14 shows the description of CIM optimization toolbar option. Figure 5 14 CIM optimization toolbar The Machine Queue Form contains the following fields: 111

117 Algorithm Name: The name of the algorithm defined for the parts that are in the queue to the selected machine. You can select the required algorithm from the dropdown list, as follows: FIFO (First in First Out): Parts are processed according to first in first out. Meaning, the parts that arrive first in the queue are processed first. Maximum Priority: Parts are processed according to their priorities (1 through 10) that were defined in the CIM MRP window. Meaning, the parts with the highest priority (such as, 1) will be processed first. Random: Parts are processed based on a random selection basis. Shortest Process Time: Parts are processes according to their process time period. In this case, the parts with the shortest process time will be processed first. Algorithm Weight: Enables you to enter the weight of the selected algorithm (the total weight of all algorithms must be 100). Optimization Right Click Menu: enables you to insert algorithm before or after the selected algorithm. Also, you can delete an existing algorithm. 5-7 Performance Analysis The Performance Analysis utility in OpenCIM enables users to analyze the impact of different algorithm combinations on the system performance. You can use this utility to view, print and analyze the manufacturing cycle data to improve system performance, such as shorten the production time and as a result improve efficiency and lower the production costs. The data in this utility is generated according to the definitions in the CIM Optimization Definition, as described in Optimization. The CIM Performance Analysis enables you to view information that was generated from the last manufacturing cycle in the system and then save it for comparison and backup purposes. You can then view a summary of data comparing the different previously saved manufacturing cycles. 112

118 In addition, you can print the currently displayed performance report and the corresponding optimization report (as displayed in the CIM Optimization Definition). The CIM Performance Analysis window is displayed by selecting Utility Programs Performance Analysis from the OpenCIM Manager main window (figure 5-15). Figure 5 15 CIM Performance Analysis Figure 5-16 shows the description of CIM performance toolbar option. The CIM Performance Analysis enables you to view the results of the last manufacturing cycle and save it for future reference. The results include the process time, the efficiency per machine and per system the number of failures that were detected and so on. 113

119 Figure 5 16 CIM Performance Toolbar The Manufacturing Cycle Performance Table contains the following information: Machine: Contains the list of machines that were defined in the CIM Setup. Run ID: Contains the ID number of the manufacturing cycle. Total Run Time: The time period of the manufacturing cycle. Note: The manufacturing cycle s description. Total Process Time: The total process time performed on a specific machine, as well as the system summary which is the total process time of all the machines in the cycle. % Efficiency: The efficiency of each machine in the cycle, as well as the system summary which is the efficiency of all the machines together. Machine efficiency is defined as the process time divided by the total manufacturing time of the machine. Max Queue Length: The maximum number of parts that existed in the machine queue during the manufacturing cycle. Production Costs: The production costs per machine and per system. Production costs per machine is defined as the process time multiplied by the cost per hour % Failures (QC Only): The number of part failures that were detected in the QC device. 114

120 The CIM Performance Analysis enables you to view a summary of the different manufacturing cycles that were saved in the system. This enables you to compare the results of the cycles, such as the process time, the efficiency, the amount of failures and so on. The Summary of Manufacturing Cycle Performance Table (figure 5-17) contains all the information fields that were described in the previous section (total process time, efficiency, max queue length, production cost and more). Figure 5 17 Summary of Manufacturing Cycle Performance 5-8 Report Generator OpenCIM provides a powerful, yet flexible report generator. This utility program allows you to view and print information from the various OpenCIM databases. You can access nine types of predefined reports (figure 5-18), or you can create your own user-defined reports. Figure 5 18 Report Generators 115

121 5-8-1 Part definition Report The Part Definition Report (figure 5-19) is generated from information that was entered in the Part Definition form. It shows the names and description of all parts used by the CIM cell. The following is an example of a Part Definition Report. Figure 5 19 Part definition report Each of the columns in the Part Report relates to a specific field in the Part Definition form, as follows: # Part Name Type Part ID Template ID Part Description Part # as listed in sequential order. Part Name Part Type: supplied, product or phantom. Part ID Template Type Description Subpart Report The Subpart Report (figure 5-20) is generated from information that was entered in the Part Process Table in the Part Definition form. The Subpart Report is a Bill of Material. It shows all 116

122 the subparts which comprise the finished product. The following is an example of a Subpart Report. Figure 5 20 Subpart Report Part Name Sub-Part Name Manufacturing Process Name Manufacturing Parameters Part Name. The column Subpart in the Part Process Table. The column Process in the Part Process Table. The column Parameters in the Part Process Table for each corresponding process for a particular subpart Manufacturing Order Report The Manufacturing Order Report (figure 5-21) displays all production orders for a particular date. The report is generated from the information that was entered in the Manufacturing Order form. 117

123 Figure 5 21 Manufacturing Order Report Each of the column headings in the Order Report relates to a specific field in the Manufacturing Order form, as follows: Part Name Total Number of Parts Ordered Initial Number to Produce Priority Final Storage Location (if not ASRS) The column Part. There can be more than one part listed. The column Total Qty. Each Total Qty listed corresponds to a specific part ordered. The column Initial Qty. Each Initial Qty listed corresponds to a specific part ordered. The column Priority. The Priority level (from 1-9) listed corresponds to a specific part ordered. Refers to the final storage location listed in the column Note (for a specific part) Machine Report The Machine Report (figure 5-22) lists the names of all machines in the OpenCIM cell. This report is generated from the information that was entered in the Machine Definition form. Figure 5 22 Machine Report form 118

124 Each of the columns in the Machine Report relates to a specific field in the Machine Definition form, as follows: # The sequential number of the machine as listed. Machine Name Machine Name Cost Per Hour Cost Per Hour, in the Machine Process table. Maximum Number of Max Preloaded Programs Preloaded Programs Program 1 Program 2 Program 3 List of Preloaded Programs Process Report The Process Report (figure 5-23) shows the user-defined name (Process Name field) of each machine in the OpenCIM and the processes performed by the machine. This report is generated from information that was created from the Machine Process Table in the Machine Definition form. The following is an example of a Process Report. Figure 5 23 Process Report Each of the columns in the Process Report relates to a specific field in the Machine Definition form, as follows: # Machine Name Process Name Process Type Program File Name The sequential number of the machine as listed. Machine Name. The column Process in the Machine Process Table. The column Action Type in the Machine Process Table. The column File in the Machine Process Table. 119

125 5-8-6 ASRS Report The ASRS Report (figure 5-24) shows the contents of the ASRS. It is generated from information that was entered in the Storage Definition form. The following is an example of an ASRS Report. Figure 5 24 ASRS Report Each of the column headings in the ASRS Report relates to a specific field in the Storage Definition form, as follows: Name Name of storage location Index The number displayed in parentheses below the ASRS grid; e.g., ASRS (15). This is an internal index used in communication between the CIM Manager and the ASRS robot controller (and not the Index of the graphically displayed ASRS cell.) Part Name Part ID Status Template Number The name of the part residing in the current storage cell as defined in the Part Definition form (refer to cell in grid). Part ID, as defined in the Part Definition form. Status of the storage cell (Empty, Empty Template or Part on Template). The six-digit template number Analysis Report The Analysis Report (figure 5-25) is detailed information on the status of the entire system and is geared for the more experienced user. The report contains a Log file summary the start and the finish of each action. See below for an example of an Analysis Report. 120

126 Figure 5 25 Analysis Report 121

OpenCIM OpenCIM Offline,OpenCIM Intro and OpenFMS

OpenCIM OpenCIM Offline,OpenCIM Intro and OpenFMS OpenCIM OpenCIM Offline,OpenCIM Intro and OpenFMS Computer Integrated Manufacturing for Industrial Training Applications Software Version 3.0 User Manual Catalog No. 100094 Rev. D Copyright 2003 by Intelitek

More information

Lesson 4 Introduction To Programming Words

Lesson 4 Introduction To Programming Words Lesson 4 Introduction To Programming Words All CNC words include a letter address and a numerical value. The letter address identifies the word type. The numerical value (number) specifies the value of

More information

Conversational Programming for 6000M, 5000M CNC

Conversational Programming for 6000M, 5000M CNC Conversational Programming for 6000M, 5000M CNC www.anilam.com P/N 70000486F - Contents Section 1 - Introduction Section 2 - Conversational Mode Programming Hot Keys Programming Hot Keys... 2-1 Editing

More information

CHAPTER 12. CNC Program Codes. Miscellaneous CNC Program Symbols. D - Tool Diameter Offset Number. E - Select Work Coordinate System.

CHAPTER 12. CNC Program Codes. Miscellaneous CNC Program Symbols. D - Tool Diameter Offset Number. E - Select Work Coordinate System. General CHAPTER 12 CNC Program Codes The next three chapters contain a description of the CNC program codes and parameters supported by the M-Series Control. The M-Series Control has some G codes and parameters

More information

Conversational Programming for 6000i CNC

Conversational Programming for 6000i CNC Conversational Programming for 6000i CNC www.anilam.com P/N 634 755-22 - Contents Section 1 - Introduction Section 2 - Conversational Mode Programming Hot Keys Programming Hot Keys... 2-1 Editing Keys...

More information

Coordinate System Techniques

Coordinate System Techniques Coordinate System Techniques In this lesson, we ll show some advanced implications of what can be done with coordinate systems. For the most part, this lesson applies to machining centers. But there are

More information

HAAS AUTOMATION, INC.

HAAS AUTOMATION, INC. PROGRAMMING WORKBOOK HAAS AUTOMATION, INC. 2800 Sturgis Rd. Oxnard, CA 93030 JUNE 1, 2000 JUNE 2000 PROGRAMMING CONTENTS INTRODUCTION... 1 THE COORDINATE SYSTEM... 2 MACHINE HOME... 5 ABSOLUTE AND INCREMENTAL

More information

ADVANCED TECHNIQUES APPENDIX A

ADVANCED TECHNIQUES APPENDIX A A P CONTENTS þ Anilam þ Bridgeport þ Fanuc þ Yasnac þ Haas þ Fadal þ Okuma P E N D I X A ADVANCED TECHNIQUES APPENDIX A - 1 APPENDIX A - 2 ADVANCED TECHNIQUES ANILAM CODES The following is a list of Machinist

More information

TOOLPATHS TRAINING GUIDE. Sample. Distribution. not for MILL-LESSON-4-TOOLPATHS DRILL AND CONTOUR

TOOLPATHS TRAINING GUIDE. Sample. Distribution. not for MILL-LESSON-4-TOOLPATHS DRILL AND CONTOUR TOOLPATHS TRAINING GUIDE MILL-LESSON-4-TOOLPATHS DRILL AND CONTOUR Mill-Lesson-4 Objectives You will generate a toolpath to machine the part on a CNC vertical milling machine. This lesson covers the following

More information

Mach4 CNC Controller Mill Programming Guide Version 1.0

Mach4 CNC Controller Mill Programming Guide Version 1.0 Mach4 CNC Controller Mill Programming Guide Version 1.0 1 Copyright 2014 Newfangled Solutions, Artsoft USA, All Rights Reserved The following are registered trademarks of Microsoft Corporation: Microsoft,

More information

G & M Code REFERENCE MANUAL. Specializing in CNC Automation and Motion Control

G & M Code REFERENCE MANUAL. Specializing in CNC Automation and Motion Control REFERENCE MANUAL Specializing in CNC Automation and Motion Control 2 P a g e 11/8/16 R0163 This manual covers definition and use of G & M codes. Formatting Overview: Menus, options, icons, fields, and

More information

Software designed to work seamlessly with your CNC Masters machine. Made to work with Windows PC. Works with standard USB

Software designed to work seamlessly with your CNC Masters machine. Made to work with Windows PC. Works with standard USB Software designed to work seamlessly with your CNC Masters machine Made to work with Windows PC Works with standard USB Clutter free interface. The software is engineered for the machine so you don t have

More information

ACR-MotionMax Programmer's Reference Manual

ACR-MotionMax Programmer's Reference Manual ACR-MotionMax Programmer's Reference Manual Programmer's Reference Manual Programming Information - 1 User Information ACR Series products are used to control electrical and mechanical components of motion

More information

NC CODE REFERENCE MANUAL

NC CODE REFERENCE MANUAL NC CODE REFERENCE MANUAL Thank you very much for purchasing this product. To ensure correct and safe usage with a full understanding of this product's performance, please be sure to read through this manual

More information

2. INTRODUCTION TO CNC

2. INTRODUCTION TO CNC Q. Define NC Machines. 2. INTRODUCTION TO CNC A method of automation, in which various functions and processing of machine tools are controlled by letters and symbols. The general objective of NC technology

More information

CNC Turning. Module2: Introduction to MTS-TopTurn and G & M codes. Academic Services PREPARED BY. January 2013

CNC Turning. Module2: Introduction to MTS-TopTurn and G & M codes. Academic Services PREPARED BY. January 2013 CNC Turning Module2: Introduction to MTS-TopTurn and G & M codes PREPARED BY Academic Services January 2013 Applied Technology High Schools, 2013 Module2: Introduction to MTS-TopTurn and G & M codes Module

More information

Polar coordinate interpolation function G12.1

Polar coordinate interpolation function G12.1 Polar coordinate interpolation function G12.1 On a Turning Center that is equipped with a rotary axis (C-axis), interpolation between the linear axis X and the rotary axis C is possible by use of the G12.1-function.

More information

Tutorial: Basic G Code Programming By: Matthew Jourden Brighton High School Brighton, MI

Tutorial: Basic G Code Programming By: Matthew Jourden Brighton High School Brighton, MI Tutorial: Basic G Code Programming By: Matthew Jourden Brighton High School Brighton, MI Reference: Coordinate Axis Direction Z Y X Tutorial is designed to create a wireframe model of a part. This tutorial

More information

IEEM 215. Manufacturing Processes I Introduction to the ARIX CNC milling machine

IEEM 215. Manufacturing Processes I Introduction to the ARIX CNC milling machine IEEM 215. Manufacturing Processes I Introduction to the ARIX CNC milling machine The image below is our ARIX Milling machine. The machine is controlled by the controller. The control panel has several

More information

Conversational Programming for 6000i CNC

Conversational Programming for 6000i CNC Conversational Programming for 6000i CNC January 2008 Ve 01 634755-21 1/2008 VPS Printed in USA Subject to change without notice www.anilam.com P/N 634755-21 - Warranty Warranty ANILAM warrants its products

More information

Software Manual. Version: H BENCHTOP ROBOT SOFTWARE USER GUIDE Version H

Software Manual. Version: H BENCHTOP ROBOT SOFTWARE USER GUIDE Version H Software Manual Version: H6.1.1.292 BENCHTOP ROBOT SOFTWARE USER GUIDE Version H6.1.1.293 Software Manual Table of Contents SECTION 1: INTRODUCTION... 5 1.1 Introduction...6 1.2 Safety...6 1.3 New Features...6

More information

COMPUTER NUMERICAL CONTROL OF MACHINE TOOLS

COMPUTER NUMERICAL CONTROL OF MACHINE TOOLS COMPUTER NUMERICAL CONTROL OF MACHINE TOOLS Department of Mechanical Engineering and Aeronautics University of Patras, Greece Dr. Dimitris Mourtzis Associate professor Patras, 2017 1/52 Chapter 8: Two

More information

Century Star Turning CNC System. Programming Guide

Century Star Turning CNC System. Programming Guide Century Star Turning CNC System Programming Guide V3.5 April, 2015 Wuhan Huazhong Numerical Control Co., Ltd 2015 Wuhan Huazhong Numerical Control Co., Ltd Preface Preface Organization of documentation

More information

GE FANUC 21 CONCEPT 55 MILL ATC TEACHER GUIDE

GE FANUC 21 CONCEPT 55 MILL ATC TEACHER GUIDE GE FANUC 21 CONCEPT 55 MILL ATC TEACHER GUIDE 11/1/07 Version 2 Made by EMCO Authored by Chad Hawk Training Index Control Keyboard Pg 1 Fanuc 21 Control Machine Control Fanuc 21 Screen. Pg 2 Fanuc 21 Keys.

More information

CIM CIM. db-tech TRAINING OBJECTIVE: Students are expected to be knowledgeable in COMPUTER INTEGRATED MANUFACTURING

CIM CIM. db-tech TRAINING OBJECTIVE: Students are expected to be knowledgeable in COMPUTER INTEGRATED MANUFACTURING Computer Integrated Manufacturing Our CIM systems are modular flexible solutions for educating training students in the principles technologies of computer integrated manufacturing. CIM TRAINING OBJECTIVE:

More information

Conversational Programming for 6000M, 5000M CNC

Conversational Programming for 6000M, 5000M CNC Conversational Programming for 6000M, 5000M CNC www.anilam.com P/N 70000486E - Warranty Warranty ANILAM warrants its products to be free from defects in material and workmanship for one (1) year from date

More information

Mach4 CNC Controller Mill Programming Guide Version 1.1 Build 3775

Mach4 CNC Controller Mill Programming Guide Version 1.1 Build 3775 Mach4 CNC Controller Mill Programming Guide Version 1.1 Build 3775 Copyright 2014 Newfangled Solutions, Artsoft USA, All Rights Reserved The following are registered trademarks of Microsoft Corporation:

More information

Computer Aided Engineering Applications 3. Advanced Manufacturing 3.5 NC programming 3.6 Automated Manufacturing systems 3.7 Rapid prototyping

Computer Aided Engineering Applications 3. Advanced Manufacturing 3.5 NC programming 3.6 Automated Manufacturing systems 3.7 Rapid prototyping Computer Aided Engineering Applications 3. Advanced Manufacturing 3.5 NC programming 3.6 Automated Manufacturing systems 3.7 Rapid prototyping Engi 6928 - Fall 2014 3.5 Part programming Structure of an

More information

Southwestern Industries, Inc. DPM RX7 Bed Mill Specifications with the ProtoTRAK RMX Control

Southwestern Industries, Inc. DPM RX7 Bed Mill Specifications with the ProtoTRAK RMX Control Southwestern Industries, Inc. DPM RX7 Bed Mill Specifications with the ProtoTRAK RMX Control Machine Specifications Table size 76 x 14 T-slots (number x width x pitch) 3 x 16mm x 63.5mm Travel (X, Y, Z

More information

Chapter 1 Introduction to Numerically Controlled Machines

Chapter 1 Introduction to Numerically Controlled Machines Chapter 1 Introduction to Numerically Controlled Machines The primary building blocks of flexible manufacturing and computer integrated manufacturing systems are numerically controlled (CNC) machine tools.

More information

CNC PART PROGRAMMING

CNC PART PROGRAMMING CNC PART PROGRAMMING (1) Programming fundamentals Machining involves an important aspect of relative movement between cutting tool and workpiece. In machine tools this is accomplished by either moving

More information

COPYCAT NEW FANGLED SOLUTIONS 2/6/2009

COPYCAT NEW FANGLED SOLUTIONS 2/6/2009 1.0 INTRODUCTION 1.1 CopyCat is a unique wizard used with MACH3. It is not a stand alone program. This wizard will allow you to jog a machine around and create a Gcode file from the movement. 2.0 REQUIREMENTS

More information

Product Information. POSITIP PT 8016 Digital Readout for Manually Operated Machine Tools

Product Information. POSITIP PT 8016 Digital Readout for Manually Operated Machine Tools Product Information POSITIP PT 816 Digital Readout for Manually Operated Machine Tools 11/218 POSITIP PT 816, PT 816 Active The convenient digital readout for milling, drilling, and boring machines, and

More information

Mach4 CNC Controller Lathe Programming Guide Version 1.0

Mach4 CNC Controller Lathe Programming Guide Version 1.0 Mach4 CNC Controller Lathe Programming Guide Version 1.0 1 Copyright 2014 Newfangled Solutions, Artsoft USA, All Rights Reserved The following are registered trademarks of Microsoft Corporation: Microsoft,

More information

200D BENCHTOP ROBOT OPERATION MANUAL

200D BENCHTOP ROBOT OPERATION MANUAL Operation Manual 200D BENCHTOP ROBOT OPERATION MANUAL Table of Contents SECTION 1: INTRODUCTION...5 1. SAFETY PRECAUTIONS...6 2. PACKAGE CONTENTS...7 3. CONNECTOR AND SWITCH LOCATIONS...8 3.1 200D...8

More information

CIRCULAR INTERPOLATION COMMANDS

CIRCULAR INTERPOLATION COMMANDS PROGRAMMING JANUARY 2005 CIRCULAR INTERPOLATION COMMANDS G02 CW CIRCULAR INTERPOLATION MOTION & G03 CCW CIRCULAR INTERPOLATION MOTION *X Circular end point X-axis motion *Y Circular end point Y-axis motion

More information

HDS Series Quick Start Guide.

HDS Series Quick Start Guide. Techno-Osai Start Up Sequence HDS Series Quick Turn the Main power switch to the ON Position. 220 volts should have been attached to this switch by an electrician. Power On Button. Computer power ON. The

More information

Introduction to Word Address Programming

Introduction to Word Address Programming Chapter 1 Introduction to Word Address Programming 1.1 Objectives After completion of this chapter the reader will be able to: 1. Understand the meaning of common terminology associated with writing a

More information

300S READOUTS REFERENCE MANUAL

300S READOUTS REFERENCE MANUAL 300S READOUTS REFERENCE MANUAL 300S Key Layout 1 Display Area 2 Soft keys 3 Power Indicator light 4 Arrow Keys: Use the UP/DOWN keys to adjust the screen contrast. 5 Axis Keys 6 Numeric Keypad 7 ENTER

More information

3300M/MK CNC Programming and Operations Manual

3300M/MK CNC Programming and Operations Manual 3300M/MK CNC Programming and Operations Manual www.anilam.com P/N 70000381C - Contents Section 1 - CNC Programming Concepts Programs... 1-1 Axis Descriptions... 1-1 X Axis... 1-2 Y Axis... 1-2 Z Axis...

More information

3000M CNC Programming and Operations Manual for Two-Axis Systems

3000M CNC Programming and Operations Manual for Two-Axis Systems 3000M CNC Programming and Operations Manual for Two-Axis Systems www.anilam.com P/N 70000496G - Contents Section 1 - CNC Programming Concepts Programs... 1-1 Axis Descriptions... 1-1 X Axis... 1-2 Y Axis...

More information

Fixed Headstock Type CNC Automatic Lathe

Fixed Headstock Type CNC Automatic Lathe Fixed Headstock Type CNC Automatic Lathe MSY Configured with two spindles and one turret and equipped with a Y axis and X2 axis, the BNA42MSY is able to handle complex machining, with short cycle times

More information

CNC Programming Simplified. EZ-Turn / TurnMill Tutorial.

CNC Programming Simplified. EZ-Turn / TurnMill Tutorial. CNC Programming Simplified EZ-Turn / TurnMill Tutorial www.ezcam.com Copyright Notice This manual describes software that contains published and unpublished works of authorship proprietary to EZCAM Solutions,

More information

9000 CNC 9000 CNC: THE NEW STANDARD OF CONTROL. INTUITIVE EFFICIENT PRODUCTIVE

9000 CNC 9000 CNC: THE NEW STANDARD OF CONTROL. INTUITIVE EFFICIENT PRODUCTIVE 3D Solid Model Graphics Solid Model with Tool Path Overlay 9000 CNC 9000 CNC: THE NEW STANDARD OF CONTROL. At Milltronics we are constantly refining our controls to simplify operation, shorten setup times

More information

MEB COMPUTER INTEGRATED MANUFACTURING. Unit - I Part - A

MEB COMPUTER INTEGRATED MANUFACTURING. Unit - I Part - A MEB - 620 - COMPUTER INTEGRATED MANUFACTURING One Mark Questions: Unit - I 1. What is meant by CIM? 2. Define: CAD 3. What are the different types of CAD system? 4. What is meant by graphic workstation?

More information

prolight 1000 Machining Center User s Guide For Windows

prolight 1000 Machining Center User s Guide For Windows prolight 1000 Machining Center User s Guide For Windows 1996 Light Machines Corporation Manchester, New Hampshire, U. S. A. November, 1996 1996 Light Machines Corporation All Rights Reserved. The information

More information

Our thanks go to: Puppy Linux, RTAI, EMC, axis, all the kernel developers and big mama thornton.

Our thanks go to: Puppy Linux, RTAI, EMC, axis, all the kernel developers and big mama thornton. CoolCNC Linux First Steps This manual is a step by step introduction for the installation of the CoolCNC Linux Live CD. Its intent is to lead to a better understanding of the current processes. This document

More information

Manufacturing Processes with the Aid of CAD/CAM Systems AMEM 405

Manufacturing Processes with the Aid of CAD/CAM Systems AMEM 405 AMEM 405 slide 1 Manufacturing Processes with the Aid of CAD/CAM Systems AMEM 405 Dr. Sotiris Omirou AMEM 405 slide 2 CONTENTS 1. CAD/CAM definition 2. Review of Milling Process 3. Know The CNC Machine

More information

Z Spindle. Revision 1.2. Copyright Newing-Hall, Inc Monroe Street. Toledo, Ohio, NH Part # Last Update July 2003

Z Spindle. Revision 1.2. Copyright Newing-Hall, Inc Monroe Street. Toledo, Ohio, NH Part # Last Update July 2003 Z Spindle Revision 1.2 Copyright 1998-1999 Newing-Hall, Inc. 2019 Monroe Street Toledo, Ohio, 43624 NH Part #2511013 Last Update July 2003 This manual is subject to change without notice. Table Of Contents

More information

Warranty. Student Workbook for Three-Axis Systems

Warranty. Student Workbook for Three-Axis Systems www.anilam.com P/N 70000505 - Warranty Warranty ANILAM warrants its products to be free from defects in material and workmanship for one (1) year from date of installation. At our option, we will repair

More information

MAX CONTROL FOR TURNING CENTERS

MAX CONTROL FOR TURNING CENTERS MAX CONTROL FOR TURNING CENTERS Preliminary NC Programming Manual March 2005 PRE 704-0115-301, B Revision B The information in this document is subject to change without notice and does not represent a

More information

SECTION 1 Introduction

SECTION 1 Introduction SECTION 1 Introduction This section describes fundamentals necessary for understanding this manual and for the successful operation of an. 1-1 CW and CCW............................................................

More information

SCORBASE. User Manual. Version 5.3 and higher. for SCORBOT ER-4u SCORBOT ER-2u ER-400 AGV Mobile Robot. Catalog #100342, Rev. G

SCORBASE. User Manual. Version 5.3 and higher. for SCORBOT ER-4u SCORBOT ER-2u ER-400 AGV Mobile Robot. Catalog #100342, Rev. G SCORBASE Version 5.3 and higher for SCORBOT ER-4u SCORBOT ER-2u ER-400 AGV Mobile Robot User Manual Catalog #100342, Rev. G February 2006 Copyright 2006 Intelitek Inc. SCORBASE USER MANUAL Catalog #100342,

More information

PROGRAMMING WORKBOOK HAAS AUTOMATION, INC 2800 Sturgis Rd Oxnard, CA 93030 January 2004 JANUARY 2004 PROGRAMMING HAAS AUTOMATION INC 2800 Sturgis Road Oxnard, California 93030 Phone: 805-278-1800 www

More information

Programming Features PERFORMANCE & SPECIFICATIONS

Programming Features PERFORMANCE & SPECIFICATIONS PERFORMANCE & SPECIFICATIONS Essentials Processor Intel Pentium Instruction Set 32-bit Performance Number of Cores 1 Processor Base Frequency 1.8 GHz Memory Data Storage 1 GB System Memory Installed 2

More information

MELDAS, MELDASMAGIC, and MELSEC are registered trademarks of Mitsubishi Electric Corporation. The other company names and product names are

MELDAS, MELDASMAGIC, and MELSEC are registered trademarks of Mitsubishi Electric Corporation. The other company names and product names are MELDAS, MELDASMAGIC, and MELSEC are registered trademarks of Mitsubishi Electric Corporation. The other company names and product names are trademarks or registered trademarks of the respective companies.

More information

Feature-based CAM software for mills, multi-tasking lathes and wire EDM. Getting Started

Feature-based CAM software for mills, multi-tasking lathes and wire EDM.  Getting Started Feature-based CAM software for mills, multi-tasking lathes and wire EDM www.featurecam.com Getting Started FeatureCAM 2015 R3 Getting Started FeatureCAM Copyright 1995-2015 Delcam Ltd. All rights reserved.

More information

CNC Programming Simplified. EZ-Turn Tutorial.

CNC Programming Simplified. EZ-Turn Tutorial. CNC Programming Simplified EZ-Turn Tutorial www.ezcam.com Copyright Notice This manual describes software that contains published and unpublished works of authorship proprietary to EZCAM Solutions, Inc.

More information

GSK218M Milling Machine CNC System

GSK218M Milling Machine CNC System GSK218M Milling Machine CNC System GSK218M is widespread CNC system (matched with machining center and general milling machine) employed with 32-bit high performance CPU and super-large-scale programmable

More information

12. Rotary Retract Movement Setup Clearance Tool Change X Safe Positions Custom Settings Reference

12. Rotary Retract Movement Setup Clearance Tool Change X Safe Positions Custom Settings Reference NMV This manual was prepared with the assumption that the intended reader does have working knowledge of Esprit and NMV programming experience so that he fully understands the information it contains.

More information

Profile Modeler Profile Modeler ( A SuperControl Product )

Profile Modeler Profile Modeler ( A SuperControl Product ) Profile Modeler ( A SuperControl Product ) - 1 - Index Overview... 3 Terminology... 3 Launching the Application... 4 File Menu... 4 Loading a File:... 4 To Load Multiple Files:... 4 Clearing Loaded Files:...

More information

EML 2322L -- MAE Design and Manufacturing Laboratory. CNC Machining

EML 2322L -- MAE Design and Manufacturing Laboratory. CNC Machining EML 2322L -- MAE Design and Manufacturing Laboratory CNC Machining Intro to CNC Machining CNC stands for computer numeric controlled. It refers to any machine tool (i.e. mill, lathe, drill press, etc.)

More information

Manipulator Path Control : Path Planning, Dynamic Trajectory and Control Analysis

Manipulator Path Control : Path Planning, Dynamic Trajectory and Control Analysis Manipulator Path Control : Path Planning, Dynamic Trajectory and Control Analysis Motion planning for industrial manipulators is a challenging task when obstacles are present in the workspace so that collision-free

More information

Section 15: Touch Probes

Section 15: Touch Probes Touch Probes Touch Probe - Length Offset The tool setting probe is used with the UTILITY command to establish the length offset. It can also be used for tool breakage detection and setting tool diameter

More information

MANUFACTURING PROCESSES

MANUFACTURING PROCESSES MANUFACTURING PROCESSES - AMEM 201 Lecture 7: CNC MACHINE TOOLS 1 CNC MACHINE TOOLS TERMINOLOGY NC Numerical Control CNC Computer Numerical Control CAD Computer Aided Design CAM Computer Aided Manufacturing

More information

Computer Numerical Control Woodworking and Turning. Gershon Elber

Computer Numerical Control Woodworking and Turning. Gershon Elber Computer Numerical Control Woodworking and Turning Introduction Gershon Elber For several decades, the use of computers for precise machining of metal parts has been a common practice in all the car, ship

More information

CNC 8055 MC EXAMPLES MANUAL REF Ref. 0601

CNC 8055 MC EXAMPLES MANUAL REF Ref. 0601 EXAMPLES MANUAL Ref. 0601 All rights reserved. No part of this documentation may be copied, transcribed, stored in a data backup system or translated into any language without Fagor Automation's explicit

More information

Wizard 1000 REFERENCE MANUAL

Wizard 1000 REFERENCE MANUAL Wizard 1000 REFERENCE MANUAL W1000 Key Layout Display Area Axis Keys Numeric Keypad Clear key Soft keys Enter key Power Indicator light Arrow keys - Up/ Down arrow keys are also used to adjust the screen

More information

CNC Machining Center. X.mill 640. with Touch-Screen Technology. Travel distances X axis 640 mm Y axis 400 mm Z axis 500 mm. X.

CNC Machining Center. X.mill 640. with Touch-Screen Technology. Travel distances X axis 640 mm Y axis 400 mm Z axis 500 mm.  X. CNC Machining Center with Touch-Screen Technology Travel distances X axis 640 mm Y axis 400 mm Z axis 500 mm The Power Package = compact, powerful, precise and very cost-effective! state-of-the-art GPlus

More information

KA3-6VS 300mm KA3-6VS 400mm Vertical Spindle

KA3-6VS 300mm KA3-6VS 400mm Vertical Spindle Vertical KA3-6VS 300mm KA3-6VS 400mm Vertical Spindle The Kira KA3- Series of traveling column (3) Axis CNC Machining Modules are an excellent choice for special application machine builders. These modules

More information

FAGOR AUTOMATION MC TRAINING MANUAL

FAGOR AUTOMATION MC TRAINING MANUAL FAGOR AUTOMATION MC TRAINING MANUAL ACER MC TRAINING MANUAL 8 holes 1/2" depth grid pattern R0.125 1.5 6 unit: inch R0.25 4 1.25 2 2.675 1/2" depth rectangular pocket 1/2" depth circular pocket R0.75 8

More information

Mill Level 1 Training Tutorial

Mill Level 1 Training Tutorial To order more books: Call 1-800-529-5517 or Visit www.inhousesolutions.com or Contact your Mastercam dealer Mastercam X 5 Copyright: 1998-2010 In-House Solutions Inc. All rights reserved Software: Mastercam

More information

Demonstration -3D Printer -CNC Milling Machine

Demonstration -3D Printer -CNC Milling Machine Demonstration -3D Printer -CNC Milling Machine ENGINEERING LABORATORY EE-100 Lahore University of Management Sciences Electrical Engineering Department, SSE Non-conventional Manufacturing 3D Printing A

More information

General technology basics. Working through this module you become familiar with the most important technological aspects and machine functions.

General technology basics. Working through this module you become familiar with the most important technological aspects and machine functions. M551 General technology basics 1 Brief description Objective of the module: Working through this module you become familiar with the most important technological aspects and machine functions. Description

More information

Courseware Sample F0

Courseware Sample F0 Automation and Robotics Courseware Sample 39468-F0 A AUTOMATION AND ROBOTICS COURSEWARE SAMPLE by the Staff of Lab-Volt Ltd. Copyright 2007 Lab-Volt Ltd. All rights reserved. No part of this publication

More information

Linear Interpolation and Dwell Cycle. Dr. Belal Gharaibeh

Linear Interpolation and Dwell Cycle. Dr. Belal Gharaibeh Linear Interpolation and Dwell Cycle Dr. Belal Gharaibeh 1 Linear Interpolation Linear interpolation is used in part programming to make a straight cutting motion from the start position of the cut to

More information

Creo 3.0 G-code Tutorial

Creo 3.0 G-code Tutorial Creo 3.0 G-code Tutorial Irobotics µtan(clan) Table of Contents 1. Preface... 2 2. CAD... 3 A. Prepare the CAD... 3 B. Define the Coordinate System... 3 C. Save the CAD... 6 3. Create NC assembly... 6

More information

MASTERCAM DYNAMIC MILLING TUTORIAL. June 2018

MASTERCAM DYNAMIC MILLING TUTORIAL. June 2018 MASTERCAM DYNAMIC MILLING TUTORIAL June 2018 MASTERCAM DYNAMIC MILLING TUTORIAL June 2018 2018 CNC Software, Inc. All rights reserved. Software: Mastercam 2019 Terms of Use Use of this document is subject

More information

Operating Instructions POSITIP 880

Operating Instructions POSITIP 880 Operating Instructions POSITIP 880 English (en) 12/2008 POSITIP 880 Back View Axis ports Edge finder Ground Power button Parallel port Auxiliary Machine Interface connector Serial port Main power input

More information

Welcome to. the workshop on the CNC 8055 MC

Welcome to. the workshop on the CNC 8055 MC Welcome to the workshop on the CNC 8055 MC Sales Dpt-Training: 2009-sept-25 FAGOR CNC 8055MC seminar 1 Sales Dpt-Training: 2009-sept-25 FAGOR CNC 8055MC seminar 2 This manual is part of the course for

More information

LabCenter 260. LabCenter 260. CNC Milling Machine. Compact Machine for Training Purposes and Small Batch Production - with Siemens control

LabCenter 260. LabCenter 260. CNC Milling Machine. Compact Machine for Training Purposes and Small Batch Production - with Siemens control CNC Milling Machine Compact Machine for Training Purposes and Small Batch Production - with Siemens control Travel X-axis Y-axis Z-axis Spindle speed max. Tool changer 251 mm 152 mm 168 mm 5000 rpm 4 stations

More information

Copyright 2019 OPEN MIND Technologies AG

Copyright 2019 OPEN MIND Technologies AG Copyright 2019 OPEN MIND Technologies AG This document applies to hypermill and hypermill SHOP Viewer. It contains notes about recent changes that are not described in the manual. All rights reserved.

More information

OmniTurn Training Manual

OmniTurn Training Manual OmniTurn Training Manual Phone (631) 694-9400 Fax (631) 694-9415 1 2 OmniTurn Control Welcome to our world This manual will guide first time users to startup, home, enter, edit, and run programs. First

More information

3000M CNC Programming and Operations Manual for Three- and Four-Axis Systems

3000M CNC Programming and Operations Manual for Three- and Four-Axis Systems 3000M CNC Programming and Operations Manual for Three- and Four-Axis Systems www.anilam.com 70000504H - Warranty Warranty ANILAM warrants its products to be free from defects in material and workmanship

More information

DESIGNING A G CODE PROGRAMMING LANGUAGE FOR THE REFERENCE POINT SEVEN-SPEED SHAFT

DESIGNING A G CODE PROGRAMMING LANGUAGE FOR THE REFERENCE POINT SEVEN-SPEED SHAFT DESIGNING A G CODE PROGRAMMING LANGUAGE FOR THE REFERENCE POINT SEVEN-SPEED SHAFT PROFESSOR DOCTOR ENGINEER VALERIA VICTORIA IOVANOV, Technical College No. 2, Târgu-Jiu, miciovanova@yahoo.com Abstract:

More information

CNC Mill Ê>EcHèRÆ7*Ë. Student Guide/Portfolio Edition 1

CNC Mill Ê>EcHèRÆ7*Ë. Student Guide/Portfolio Edition 1 5400 Student Guide/Portfolio 37674-00 Edition 1 Ê>EcHèRÆ7*Ë 3037674000507 2 FIRST EDITION First Printing, July 2005 Copyright 2005 Lab-Volt Systems, Inc. All rights reserved. No part of this publication

More information

Turning ISO Dialect T

Turning ISO Dialect T SINUMERIK 802D Short Guide 09.2001 Edition Turning ISO Dialect T User Documentation SINUMERIK 802D Turning ISO Dialect T Short Guide 09.2001 Edition Valid for Control Software Version SINUMERIK 802D 1

More information

HFOMN/Haas CNC Series

HFOMN/Haas CNC Series Haas Factory Outlet A Division of Productivity Inc HFOMN/Haas CNC Series Mill Operator Training Manual with NG2 Next Generation Control & VPS (Visual Programming System) Rev 2/2017 This Manual is the

More information

Table of Contents. Table Of Contents. Access to parameters (lesson 2)) 26 Surprised? 26 Key Points for Lesson 1: 26 Quiz 26

Table of Contents. Table Of Contents. Access to parameters (lesson 2)) 26 Surprised? 26 Key Points for Lesson 1: 26 Quiz 26 Preface 9 Why you should buy this book 9 What is parametric programming? 10 A word about CAM systems 10 Scope 10 Versions of Custom Macro 10 Machine types 10 Prerequisites 11 Optional status 11 Lessons

More information

Operation Manual (B) KVR-2418 (24L) Fanuc OiMD CNC. KENT INDUSTRIAL (USA) INC Edinger Ave., Tustin, CA 92780

Operation Manual (B) KVR-2418 (24L) Fanuc OiMD CNC. KENT INDUSTRIAL (USA) INC Edinger Ave., Tustin, CA 92780 Operation Manual (B) KVR-2418 (24L) Fanuc OiMD CNC KENT INDUSTRIAL (USA) INC. 1231 Edinger Ave., Tustin, CA 92780 Tel: (714) 258-8526 Fax: (714) 258-8530 Internet: WWW.KENTUSA.COM KENT USA THE WAY TO AFFORDABLE

More information

TRAINING GUIDE MILL-LESSON-FBM-2 FBM MILL AND FBM DRILL

TRAINING GUIDE MILL-LESSON-FBM-2 FBM MILL AND FBM DRILL TRAINING GUIDE MILL-LESSON-FBM-2 FBM MILL AND FBM DRILL Mastercam Training Guide Objectives This lesson will use the same Feature Based Machining (FBM) methods used in Mill-Lesson- FBM-1, how ever this

More information

CNC Knee Type Milling Machines with USA CENTROID M-400S CNC control

CNC Knee Type Milling Machines with USA CENTROID M-400S CNC control CNC Knee Type Milling Machines with USA CENTROID M-400S CNC control GMM-949-CNC, 9 x49 table, R8, vari-speed, 3 axis CNC... GMM-949F-CNC, 9 x49 table, R8, inverter drive, 5,000 rpm, 3 axis CNC.. Note:

More information

EZ-Mill EXPRESS TUTORIAL 2. Release 13.0

EZ-Mill EXPRESS TUTORIAL 2. Release 13.0 E-Mill EPRESS TUTORIAL 2 Release 13.0 Copyright Notice This manual describes software that contains published and unpublished works of authorship proprietary to ECAM Solutions, Inc. It is made available

More information

Wizard 550 READOUTS REFERENCE MANUAL

Wizard 550 READOUTS REFERENCE MANUAL Wizard 550 READOUTS REFERENCE MANUAL Wizard 550 Key Layout Axis Keys Numeric Keypad Display Area Enter key Soft keys Power Indicator light Wizard 550 Soft Keys There are three pages of soft key functions

More information

VisualCAM 2018 for SOLIDWORKS-TURN Quick Start MecSoft Corporation

VisualCAM 2018 for SOLIDWORKS-TURN Quick Start MecSoft Corporation 2 Table of Contents Useful Tips 4 What's New 5 Videos & Guides 6 About this Guide 8 About... the TURN Module 8 Using this... Guide 8 Getting Ready 10 Running... VisualCAM for SOLIDWORKS 10 Machining...

More information

QC20-W wireless ballbar system description and specifications

QC20-W wireless ballbar system description and specifications QC20-W wireless ballbar system QC20-W wireless ballbar system description and specifications Hardware Software QC20-W ballbar and ballbar kit QC20-W ballbar The QC20-W ballbar contains a precision linear

More information

130Series. CNC Horizontal Boring & Milling Machines SNK AMERICA, INC. MACHINE TOOL GROUP

130Series. CNC Horizontal Boring & Milling Machines SNK AMERICA, INC. MACHINE TOOL GROUP 130Series CNC Horizontal Boring & Milling Machines SNK AMERICA, INC. MACHINE TOOL GROUP 100 Howard Street Elk Grove, IL 60007 Tel: 47.364.001 Fax: 47.364.4363 www.snkamerica.com PRINTED IN USA 0/0 CNC

More information

NcStudio Programming Manual

NcStudio Programming Manual NcStudio Programming Manual 6th Edition Weihong Electronic Technology Co., Ltd. The copyright of this manual belongs to Weihong Electronic Technology Co., Ltd. (hereinafter referred to as Weihong Company).

More information

Table of Contents. Fadal. Operator Manual

Table of Contents. Fadal. Operator Manual Table of Contents Power On/Off... 3 Pre-Startup Checks... 3 Power On for System 97/99... 4 Automatic Cold Start... 5 Wrong Power Off Procedure... 6 Auto Startup Program... 7 Power Off Procedure... 9 Pendant...

More information

Part Programming Manual MACHINEMATE

Part Programming Manual MACHINEMATE MACHINEMATE NOTE Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer the most advanced products in the industry. Therefore, information in this document is subject to change

More information