You are on page 1of 22

VIETNAM NATIONAL UNIVERSITY – HO CHI MINH CITY

INTERNATIONAL UNIVERSITY
DEPARTMENT OF INDUSTRIAL & SYSTEMS ENGINEERING

OPEN CIM LAB

PRACTICAL MANUAL

1
CIM Laboratory Experiment
Computer Integrated Manufacturing &
Flexible Manufacturing Systems

OBJECTIVE:

Understanding computer integrated manufacturing & flexible manufacturing systems


and how to run the Open CIM system.
OpenCIM provides a realistic, expandable environment through interfaces to third party
hardware (CNC machines, robots, peripheral equipment, etc.).
Students can learn first-hand how other disciplines such as Production Scheduling,
Manufacturing Resource Planning (MRP), Order Entry Systems, and Database
Management Systems (Xbase) can be used to optimize the production process.

OUTCOME:

Students can operate the OpenCIM system to gain experience with computer integrated
manufacturing (CIM) or Flexible Manufacturing Systems (FMS). By working with a
complete CIM system, students are encouraged to think “globally” about the
manufacturing process. Students can also concentrate on a particular aspect of a CIM
system such as controlling robots, CNC machines, etc.

Figure 1. Open-Cim System

1. About CIM

2
To stay competitive, factories are increasingly automating their production lines with
Computer Integrated Manufacturing (CIM) systems. A CIM System consists of the
following basic components: I. Machine tools and related equipment; II. Material
Handling System (MHS); III. Computer Control System; IV. Human factor/labor

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.

2. About OpenCIM

OpenCIM is a system which teaches students the principles of automated production


using robotics, computers, and CNC machines. It also allows advanced users to search
for optimal production techniques by experimenting with different production
techniques.

OpenCIM offers a simulation mode in which different production strategies can be tested
without actually operating the CIM equipment.

OpenCIM allows advanced users to implement and experiment with theories concerning
optimal computer integrated manufacturing techniques such as:
• The effect of different machines which can perform the same process
• Modifying a process by changing a machine’s control program
• Alternate part definitions

3
OpenCIM can also be used in simulation mode to search for optimal production
strategies by experimenting with the following:
• The causes of production bottlenecks
• The effects of alternative production schedules
• What-if analyses

EXPERIMENT No.1
INTRODUCTION TO OPENCIM SYSTEM

Figure 2. The OpenCim system


(1: Milling Machine; 2: Robot; 3: Turning Machine; 4: AS/RS; 5: Conveyor)

Components of the OpenCIM Cell

Components Description
Conveyor Device that transports parts from station to
station.
Production (Work) Stations Locations around the cell where parts are
processed and stored by machines and robots.
Robots move parts between the conveyor and
station machines.
CIM Manager The PC that contains the CIM Manager
software which coordinates the functioning of
all devices in the cell using a 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.
Other Software Tools OpenCIM Modules: Virtual CIM Setup, CIM
Manager (with integrated Part Definition,
Machine Definition, Storage Definition, MRP,
Scheduler-Gantt, Reporter, Graphic Tracking
modules), Project Manager, Performance,
Optimization and Web Viewer.
Third Party Software: Other production related
software that interfaces to OpenCIM such as
Production Scheduling, Manufacturing
Resource Planning (MRP and MRP-II), Order
Entry Systems, Data Base Management
Systems (Xbase), etc

Stations
The OpenCIM cell is composed of a set of stations located around a conveyor as shown
schematically in the figure below:

Each station is controlled by a Station Manager PC. A CIM Manager PC coordinates the
activities of all stations. The number of stations may vary from cell to cell.

Station Description
ASRS Station Automated Storage and Retrieval System.
Automatic warehouse which supplies raw
materials to the OpenCIM cell, stores parts in

5
intermediate stages of production, and holds
finished products.
Machine Station Station where materials are shaped, formed,
or otherwise processed (e.g. using a CNC
machine or laser engraver).
Assembly Station A station where parts are put together. The
resulting new part is called an assembly.
Peripheral equipment and devices at an
Assembly Station include an automatic
screwdriver, Welder, X-Y table, part feeders,
various robot grippers, etc.
QC Station Quality Control. Inspection of parts using
machine vision, laser scan meter, height
gauge, continuity tester, CMM, caliper or
other QC machines.

The following elements are generally present at a station:

Element Description
Robot A device which moves parts around a station
(e.g. inserts parts into a CNC machine) and/or
performs assembly operations.
Robot Controller For example, an ACL controller which controls
the robot and certain optional peripheral
devices (e.g. X-Y table, barcode scanner).
Station Manager PC A Station Manager PC where the device drivers
are located that:
• Translate OpenCIM production messages and
commands to/from each station device (e.g. the
ACL controller).
• Provide a user interface for controlling station
devices by manually sending OpenCIM
commands (e.g. to CNC machines or an 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.
Robot Peripheral A peripheral device which aids the robot in
material handling tasks (e.g. a linear slidebase
that supports a robot, an X-Y table, a tool

6
adapter, various grippers such as pneumatic or
suction models, etc.).

Figure 3. Open-Cim Cell

Material Flow in the OpenCIM Cell


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, removing part from a feeder,
inserting a part in a CNC machine, assembling parts and so on.

7
EXPERIMENT No.2

DEVICES THAT TRANSPORT PARTS

1. Conveyor: Device that transports parts from station to station.


A pallet is a tray which travels on the CIM conveyor and is designed to carry a template.
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).

Templates
Templates are plastic trays which can hold various types of parts. They allow parts to be
transported on the conveyor.

Figure 4. An Empty Template

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. The handle, located on top of or in front of the template,
facilitates grasping by a robot’s gripper.
An optional barcode sticker on the side of the template shows the template’s ID code.
When barcodes are used, a barcode reader can verify the identity of each template
inserted or removed from the ASRS

8
Figure 5. Pallet at Conveyor Station

Each pallet has an ID number which is magnetically encoded in a bar on the pallet. In
normal cell operation, each pallet is stopped briefly when it arrives at a station so that
its magnetic code can be read. While a pallet is stopped, the conveyor continues to
transport other pallets which are moving between stations.

Figure 6. Conveyor

2. Robot: CIM robots move parts within a station. Robots vary in speed, payload,
accuracy, range of movements (degrees of freedom), working envelope (horizontally or
vertically articulated), and drive mechanism.

9
Figure 7. Robot

Components and motions:


Robot functioning human arm contains:
• Base: a mid-position is pivot which is properly and securely bolted in place and
capable of horizontally turning the whole robot within 320° rotation
• Shoulder: lying above the base, the shoulder of the robot moves vertically in
circularity but moving range is not totally 360 degrees as there is a slight block
standing behind for the sake of safety in process. Its axis range is from -120° to
+30°
• Besides, it is the most important part that connects the whole upper body of the
robot with the base and bearing block.
• Elbow: as functional as that of human; however, it is restricted to work with the
same movement as of shoulder with wider range which can reach up to 360
degrees. The range is from -107° to +80°
• Wrist pitch: its position is between two metallic bars linking with the Elbow part
with the function of moving the gripper vertically within the range of -120° to
+120°.
• Wrist roll: linked directly next to the Wrist Pitch, the Roll is on the mission of
rotating the gripper horizontally up to 400°
• Gripper (keeper): this part is simulated motions as same as human fingers, which
is opening and closing.
• Encoder: its function is to generate a series of alternating electronic signals
proportional to the amount of axis motion.
The artificial arm works with five joints (5 rotational axes) defined as five angle values
in Joint coordinates. It is indicated by Base, Shoulder, Elbow, Pitch and Roll with
different restricted processing range.
10
Axis No. Joint Name Motion
1 Base Rotating the whole upper body
2 Shoulder Raising and lowering the upper
arm
3 Elbow Raising and lowering the forearm
4 Pitch Raising and lowering the gripper
5 Roll Rotating the gripper
6 Gripper Opening and closing

The robotic arm undergoes processing by the Scorbase robotics control and simulation
software installed on Lab PC. The software allows to contact directly in manual or
automatic way.

Procedure of the robot:


- Work schedule of the robot begins when the tablet carrying raw materials arrives at
station at which the robot stands.
- The signal from the conveyor informs the robotic arm to pick up the materials, the
motion is conducted by sliding on a large metallic bar lying between the conveyor and
two manufacturing machines (Milling and turning).
- After material is on hand (kept by the gripper), integrated motion processes at the same
time with the horizontal turn of the Base from the Conveyor to the BenchMilling 6000
machine/ turning,
- The vertical rotation of the Shoulder lowering the upper arm close to the CNC machine,
- 90° rotation of the Gripper to put the materials accurately at where it is programed and
slight movement of the Pitch to support the Gripper, in order.
- After accomplishing the first-half job, it is back to initiative form for sake of production
safety.
- When the material transforms completely to finished product under processing of CNC
machine, there is an electronic signal from the machine notifies the robot.
- As the system is programed to secure the quality of the finished products, upcoming
motion of robotic arm is slower than the previous one.
Repeatedly, all the procedure at the first-half job is implemented in vice versa with
slower speed.

Operating principle with software:

11
Starting programming, we choose the supplied parts (template 002) that we want the
robot to get, and then set positions for the robot:
Robot gets the raw part from cell
1. Go to Position 499 Fast // beginning position of robot in ASRS- safety position
2. Go to Position 660 Speed 30 (%) // the robot moves to the left according to Z-
coordinate (dof:2) which is opposite to the position of template 002.
3. Go to Position 661 Speed 30 (%) //the robot moves to the left according to Z-
coordinate (dof:2 ) to the position of template 002
4. Go to Position 662 Speed 30 (%) // the robot lifts the template 002 according to
Y-coordinate (dof:3)
5. Go to Position 663 Speed 30 (%) // the robot moves back to the right according to
Z-coordinate (dof:2)
6. Go to Position 664 Speed 30 (%) // the robot rotates 90 degrees according to T-
coordinate (dof:4)
Robot puts the raw part to conveyor
7. Go to Position 498 Fast // the robot moves to the position which is opposite with
conveyor according to X-coordinate (dof:1)
8. Go to Position 11 Speed 50 (%) //the robot moves template 002 to the pallet on
the conveyor according to Z-coordinate (dof:2)
9. Go to Position 1 Speed 20 (%) // the robot puts down template 002 on the pallet
on the conveyor according to Y-coordinate (dof:3)

Robot backs to the original position


10.Go to Position 21 Speed 50 (%) // the robot arm moves back to original position
according to X-coordinate (dof:1)
11.Wait for 10 (10ths of seconds)
12.Go to Position 499 Fast //Robot moves back to the beginning position in ASRS

Robot gets the finished part from the conveyor.


13.Go to Position 498 Fast // the robot moves to the position which is opposite with
conveyor according to X-coordinate (dof:1)
14.Go to Position 21 Speed 50 (%)(%) // the robot arm moves back to original
position according to X-coordinate (dof:1)
15.Go to Position 1 Speed 20 (%) // the robot arm moves down to pick up the template
002 in next step according to Y-coordinate (dof: 3)
16.Go to Position 11 Speed 50 (%) //the robot moves template 002 from pallet on
conveyor according to Z-coordinate (dof:2)

12
17.Go to Position 498 Speed 50 (%) // the robot moves back to position which is
opposite with conveyor according to X-coordinate (dof:1)
18.Go to Position 499 Speed 50 (%) // Robot moves back to the beginning position
in ASRS

Robot puts the finished part to cell


19.Go to Position 953 Speed 5 (%) //Robot rotates and moves to opposite with the
position 011 according to T-coordinate
20.Go to Position 952 Speed 20 (%) //Robot moves their arm to the position 011
according to Z-coordinate
21.Go to Position 951 Speed 20 (%) //Robot puts down the template 002 to position
011 according to Y-coordinate
22.Go to Position 950 Speed 20 (%) // Robot moves back their arm according to Z-
coordinate
23.Go to Position 499 Speed 20 (%) // Robot moves back to the beginning position
in ASRS – safety position

Example 1
For each position, we set the parameter of XYZT:
# Coor Axis1-X Axis2-Y Axis3-Z Axis4-Roll
mm mm mm (deg)
499 XYZ 661.28 58.82 506.88 89.15

660 XYZ 285.12 113.52 430.41 3.22

661 XYZ 295.45 297.26 430.41 184.53

662 XYZ 295.45 297.26 470.05 3.22

663 XYZ 285.12 113.52 479.11 3.22

664 XYZ 389.33 60.95 479.05 87.93

498 XYZ 1013.60 58.82 506.88 89.15

11 XYZ 1276.39 56.12 452.89 90.21

1 XYZ 1276.39 56.12 376.59 90.21

21 XYZ 1205.81 56.38 376.59 90.21

13
498 XYZ 1013.60 58.82 506.88 89.15

499 XYZ 661.28 58.82 506.88 89.15

Example 2
a. Robotic arm takes part from conveyor
-----------------------
Go to Position 505 Speed 50 (%)
# Coordination Axis 6
Counts
505 Encoder(counts) 222625
-----------------------
Go to Position 100 Speed 50 (%)
Coordination Axis 1 Axis 2 Axis 3 Axis 4 Axis 5
X(mm) Y(mm) Z(mm) Pitch(deg) Roll(deg)
Encoder(counts) -121053 -14577 -113464 -17845 107
Joint(deg) 90.26 -102.92 103.61 90.10 2.33
XYZ 40.92 234.73 453.18 -90.79 2.33
-----------------------

b. Robot loads raw material to CNC machine

-----------------------
Go Linear to Position 251 Speed 10(%)
Coordination Axis 1 Axis 2 Axis 3 Axis 4 Axis 5
X(mm) Y(mm) Z(mm) Pitch(deg) Roll(deg)
Encoder(counts) 90113 91023 -17135 -21174 53676
Joint(deg) -83.73 -26.78 24.23 93.35 96.50
XYZ 17.95 -548.16 319.42 -90.80 96.50
-----------------------
Open Gripper
-----------------------
c. Robot receives finished product from CNC machine
-----------------------
Go Linear to Position 261 Speed 30(%)
Go to Position 200 Speed 50 (%)
14
Open Gripper
Go Linear to Position 211 Speed 10(%)
Close Gripper
-----------------------

d. Robot unloads finished product to the tablet on conveyor

-----------------------
Go to Position 505 Speed 50 (%)
Open Gripper
Go to Position 100 Speed 50 (%)
-----------------------

EXPERIMENT No.3

AUTOMATED STORAGE AND RETRIEVAL SYSTEM (AS/RS)

Automatic warehouse which supplies raw materials to the OpenCIM cell, stores parts
in intermediate stages of production, and holds finished products. The ASRS model
is specifically designed to work in the OpenCIM environment. This unit contains a
dedicated Cartesian robot with an additional rotary axis that moves between two sets
of storage racks. Each rack has a set of shelves divided into storage cells that are
designed to hold part templates. The robot moves templates between the conveyor
and storage cells.

15
Figure 8. The ASRS Robotic Storage Station

A robot position in Cartesian (or XYZ) coordinates is defined by these parameters.


Tool Center Point (TCP) from the point of origin (the center bottom of the robot
base), along the three axes that describe three-dimensional space (X,Y, Z).

Figure 9. Storage station

The Cartesian Robot has four degree of freedom:


+ X- axis: forward conveyor, x increases if robot moves forward conveyor, x decreases
if robot moves backward and x equals to zero when robot is at safe position.
+ Z- axis: vertical line, z increases if robot goes up, z decreases if robot goes down and
z equal to zero when robot is at safe position.
+ Y-axis: perpendicular to two racks of ASRS, y increases if robot moves to left-hand
side, y decreases if robot moves to right-hand side and y equals to zero when robot is at
safe position.
16
+ θ- rotation: with the minimum rotation is 0 degree and maximum rotation is 180
degrees.

The Cartesian Robot Programming

+ Position 499 – Safe position: where x, y, z, θ equal to zero


+ Position 498: position in font of conveyor
+ Position 11: upper templet
+ Position 1: on templet
+ Position 952: position of raw material in left-hand side rack
+ Position 961: position in right-hand side rack where raw material is transfer to

Go to position 499 Fast


Go to position 21 Speed 50 (%)
Go to position 1 Speed 20 (%)
Go to position 11 Speed 50 (%)
Go to position 498 Speed 50 (%)
Go to position 499 Speed 50 (%)
Go to position 964 Speed 20 (%)
Go to position 963 Speed 20 (%)
Go to position 962 Speed 20 (%)
Go to position 961 Speed 20 (%)
Go to position 960 Speed 20 (%)

EXAMPLE
Parts (cylinder and rectangular) are removed from the ASRS by Cartesian robot and
transported on the conveyor to production stations (CNC machines)

Robot gets part from cell


Go to position 499 Fast
Go to position 111 Speed 50(%)
Go to position 110 Speed 50(%)
Go to position 112 Speed 20(%)
Go to position 113 Speed 50(%)
Go to position 499 Speed 50(%)
Robot put part to cell
Go to position 499 Fast
Go to position 113 Speed 50(%)
Go to position 112 Speed 50(%)
Go to position 110 Speed 20(%)
17
Go to position 111 Speed 50(%)
Go to position 499 Fast
Robot put part to conveyor
Go to position 498 Fast
Go to position 11 Speed 50(%)
Go to position 1 Speed 20(%)
Go to position 21 Speed 50(%)
Wait 10 (10Ths of seconds)
Go to position 499 Speed 50(%)
Robot gets part from conveyor
Go to position 21 Fast
Go to position 1 Speed 40(%)
Go to position 11 Speed 20(%)
Wait 10 (10Ths of seconds)
Go to position 498 Speed 50(%)

EXPERIMENT No.4

CNC MACHINES (TURNING AND MILLING)

18
Figure 10. CNC Machines

a) CIM Manager: The PC that contains the CIM Manager software which
coordinates the functioning of all devices in the cell using a LAN.

b) 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.

BenchMilling 6000

Figure 11. Milling machine

The BenchMill operates on three axis motors. the movement controlled by these
motors assists the cutting tool and the cross-slide as follows:
The X-axis motor sets the cross-slide on left-right movement beneath the tool
The Y-axis motor sets the cross-slide on in-out or toward-away movement
beneath the tool from vertical column
19
The Z-axis motor helps spindle move up and down, in and out of the workpiece

For a sample, 10 steps must be conducted:


1. Reviewing safety procedures
2. Preparing tools and materials
3. Opening the sample NC file
4. Determining the Stock size
5. Configuring the Verify Settings
6. Defining the tool
7. Verifying the program
8. Performing a dry run
9. Mounting the workpiece
10. Running the program

Figure 12. Coordination machine


BenchTurn 7000

Figure 13. Turning

Differentiating from BenchMill 6000, the process works with only two
dimensions horizontally and parallel.

PROGRAMMING
20
a) Supplied parts (cylinder and rectangular) are loaded into AS/RS

Figure 14. Parts (Raw materials)

b) Manufacturing orders are generated by the CIM Manager (Programming for


turning and milling machines, robotics programming, . . .)
Typical Program for Milling Machine:
G00 rapid movement (Linear)
G01 Feed Movement (Linear)
G02 CW (Circular)
G03 CCW (Circular)
G04 Dwell (Delay)
M03 Spindle on
M05 Spindle stop
M06 T1 (Tool #1)
CLOSE VICE (part must be clamped)
CLOSE DOOR (Door must be closed)
M06 T2 (Change tool)
G00 X0 Y0 Z5
G00 X5 Y5 Z2
M03 S 2500
G01 Z -2 F200
G01 X 85
G01 Y45
G01 X5
G01 Y5
G01 Z2
G00 X0 Y0 Z5
G00 X45
G01 Z -2
G02 45,5 45,25
M05 (stop spindle)

Other example codes


17:21:48.72 PULSBIT( 0x500, 0x0, "00001000", 500 )
17:21:49.33 --- OPEN DOOR ---
17:21:49.44 --- DOOR IS OPENED ---

21
17:21:49.55 WAITBIT( 0x500, "00000010", 10000 )
17:21:49.6 -6 - - Condition is true ---
17:21:56.5 U2 P LSBIT( 0x500, 0x0, "00010000", 500 )
17:21:57.13 --- CLOSE DOOR ---
17:21: 57.23 --- DOOR IS CLOSED ---
17:21:57.34 WAITBIT( 0x500, "00000100", 10000 )

REPORT WRITING

I. To descript the components of Open-Cim system (in Lab).

II. Operation of system:


• Supplied parts (raw materials) are loaded into storage locations.
• Manufacturing orders are generated by the CIM Manager.
• Parts are removed from the AS/RS and transported on the conveyor to production
stations.
• Robots take parts from the conveyor and move them to various production
machines (CNC machines) at a station.
• Processing in a CNC machine (Milling and turning)
• Robots return processed parts to the conveyor for transportation to the next
station.
• Finished products are removed (unloaded) from the machine on the conveyor
• AS/RS robot loads finished products into AS/RS

III. Conclusions and comments


- What do you understand Open CIM system?
- What are the advantages and disadvantages of Open CIM system for
productivity?
- What is the general procedure of operations needed to produce a part by using
this CIM system?

22

You might also like