Uploaded by Safeer Khan

CIM Lab Manual

advertisement
University of Engineering and Technology, Peshawar
Computer Integrated Manufacturing
Lab Manual
CIM
Department of Industrial Engineering
Course Contents
Computer Integrated Manufacturing (CIM)
Lab - 01
Introduction to CIM System
Lab – 02
Introduction to Robot and its Functions
Lab – 03
Different Types of Robot Jog Operations
Lab – 04
COSIMIR Software Interface
Lab – 05
Customizing Robot Tool
Lab – 06
Pick and Drop Operation of Robot
Lab – 07
Sensor Input and Output
Lab – 08
Linear/Circular Interpolation of Robot
Lab – 09
Coordinate Calculation with Equations
Lab – 10
Defining Pallet Operation in Robot
Lab – 11
Input Output Commands
Lab – 12
Different Arcs Commands
Lab – 13
Configuring and operating two different Robot Controllers
Lab 1: Introduction to CIM System
Objective:
To make familiarize the students with CIM system and its different individual components.
Procedure:
Computer-integrated manufacturing (CIM) is the manufacturing approach of using computers to
control the entire production process. This integration allows individual processes to exchange
information with each other and initiate actions. Through the integration of computers,
manufacturing can be faster and less error-prone, although the main advantage is the ability to
create automated manufacturing processes. Typically CIM relies on closed-loop control processes,
based on real-time input from sensors. It is also known as flexible design and manufacturing.
Overview
The term "computer-integrated manufacturing" is both a method of manufacturing and the name of
a computer-automated system in which individual engineering, production, marketing, and support
functions of a manufacturing enterprise are organized. In a CIM system functional areas such as
design, analysis, planning, purchasing, cost accounting, inventory control, and distribution are linked
through the computer with factory floor functions such as materials handling and management,
providing direct control and monitoring of all the operations.
As a method of manufacturing, three components distinguish CIM from other manufacturing
methodologies:
 Means for data storage, retrieval, manipulation and presentation;
 Mechanisms for sensing state and modifying processes;
 Algorithms for uniting the data processing component with the sensor/modification
component.
CIM is an example of the implementation of information and communication technologies (ICTs) in
manufacturing.
CIM implies that there are at least two computers exchanging information, e.g. the controller of an
arm robot and a micro-controller of a CNC machine.
Some factors involved when considering a CIM implementation are the production volume, the
experience of the company or personnel to make the integration, the level of the integration into
the product itself and the integration of the production processes. CIM is most useful where a high
level of ICT is used in the company or facility, such as CAD/CAM systems, the availability of process
planning and its data.
Key challenges
There are three major challenges to development of a smoothly operating computer-integrated
manufacturing system:
 Integration of components from different suppliers: When different machines, such as CNC,
conveyors and robots, are using different communications protocols (In the case of AGVs,
even differing lengths of time for charging the batteries) may cause problems.
 Data integrity: The higher the degree of automation, the more critical is the integrity of the
data used to control the machines. While the CIM system saves on labor of operating the
machines, it requires extra human labor in ensuring that there are proper safeguards for the
data signals that are used to control the machines.
 Process control: Computers may be used to assist the human operators of the
manufacturing facility, but there must always be a competent engineer on hand to handle
circumstances which could not be foreseen by the designers of the control software.
Subsystems in computer-integrated manufacturing
A computer-integrated manufacturing system is not the same as a "lights-out" factory,
which would run completely independent of human intervention, although it is a big step in
that direction. Part of the system involves flexible manufacturing, where the factory can be
quickly modified to produce different products, or where the volume of products can be
changed quickly with the aid of computers. Some or all of the following subsystems may be
found in a CIM operation:
Computer-aided techniques:








CAD (computer-aided design)
CAE (computer-aided engineering)
CAM (computer-aided manufacturing)
CAPP (computer-aided process planning)
CAQ (computer-aided quality assurance)
PPC (production planning and control)
ERP (enterprise resource planning)
A business system integrated by a common database.
Devices and equipment required:










CNC, Computer numerical controlled machine tools
DNC, Direct numerical control machine tools
PLCs, Programmable logic controllers
Robotics
Computers
Software
Controllers
Networks
Interfacing
Monitoring equipment
Technologies:





FMS, (flexible manufacturing system)
ASRS, automated storage and retrieval system
AGV, automated guided vehicle
Robotics
Automated conveyance systems
Lab 2: Introduction to Robot and its Functions
Objective:
The main objective of this lab is to know the basics of robot, its functions and components.
Procedure:
What is Robot:
An industrial robot is defined by as an automatically controlled, reprogrammable,
multipurpose manipulator programmable in three or more axes.
A robot has these essential characteristics:
 Sensing First of all your robot would have to be able to sense its surroundings. It
would do this in ways that are not unsimilar to the way that you sense your
surroundings. Giving your robot sensors: light sensors (eyes), touch and pressure
sensors (hands), chemical sensors (nose), hearing and sonar sensors (ears), and taste
sensors (tongue) will give your robot awareness of its environment.
 Movement A robot needs to be able to move around its environment. Whether
rolling on wheels, walking on legs or propelling by thrusters a robot needs to be able
to move. To count as a robot either the whole robot moves, like the Sojourner or just
parts of the robot moves, like the Canada Arm.
 Energy A robot needs to be able to power itself. A robot might be solar powered,
electrically powered, battery powered. The way your robot gets its energy will
depend on what your robot needs to do.
 Intelligence A robot needs some kind of "smarts." This is where programming enters
the pictures. A programmer is the person who gives the robot its 'smarts.' The robot
will have to have some way to receive the program so that it knows what it is to do.
Main parts of an Industrial Robot:
An industrial robot arm includes these main parts:
Controller, Arm, End Effector, Drive, Sensor
The controller is the "brain" of the industrial robotic arm and allows the parts of the robot to
operate together. It works as a computer and allows the robot to also be connected to other
systems. The robotic arm controller runs a set of instructions written in code called a program. The
program is inputted with a teach pendant. Many of today's industrial robot arms use an interface
that resembles or is built on the Windows operating system.
Industrial robot arms can vary in size and shape. The industrial robot arm is the part that positions
the end effector. With the robot arm, the shoulder, elbow, and wrist move and twist to position the
end effector in the exact right spot. Each of these joints gives the robot another degree of freedom.
A simple robot with three degrees of freedom can move in three ways: up & down, left & right, and
forward & backward. Many industrial robots in factories today are six axis robots.
The end effector connects to the robot's arm and functions as a hand. This part comes in direct
contact with the material the robot is manipulating. Some variations of an effector are a gripper, a
vacuum pump, magnets, and welding torches. Some robots are capable of changing end effectors
and can be programmed for different sets of tasks.
The drive is the engine or motor that moves the links into their designated positions. The links are
the sections between the joints. Industrial robot arms generally use one of the following types of
drives: hydraulic, electric, or pneumatic. Hydraulic drive systems give a robot great speed and
strength. An electric system provides a robot with less speed and strength. Pneumatic drive systems
are used for smaller robots that have fewer axes of movement. Drives should be periodically
inspected for wear and replaced if necessary.
Sensors allow the industrial robotic arm to receive feedback about its environment. They can give
the robot a limited sense of sight and sound. The sensor collects information and sends it
electronically to the robot controlled. One use of these sensors is to keep two robots that work
closely together from bumping into each other. Sensors can also assist end effectors by adjusting for
part variances. Vision sensors allow a pick and place robot to differentiate between items to choose
and items to ignore.
Different types of robot:
There are six main types of industrial robots: Cartesian, SCARA, cylindrical, delta, polar and
vertically articulated. However, there are several additional types of robot configurations.
Each of these types offers a different joint configuration. The joints in the arm are referred
to as axes.
Following are the common types of industrial robots:
Articulated - This robot design features rotary joints and can range from simple two joint
structures to 10 or more joints. The arm is connected to the base with a twisting joint. The
links in the arm are connected by rotary joints. Each joint is called an axis and provides an
additional degree of freedom, or range of motion. Industrial robots commonly have four or
six axes.
Cartesian - These are also called rectilinear or gantry robots. Cartesian robots have three
linear joints that use the Cartesian coordinate system (X, Y, and Z). They also may have an
attached wrist to allow for rotational movement. The three prismatic joints deliver a linear
motion along the axis.
Cylindrical - The robot has at least one rotary joint at the base and at least one prismatic
joint to connect the links. The rotary joint uses a rotational motion along the joint axis, while
the prismatic joint moves in a linear motion. Cylindrical robots operate within a cylindricalshaped work envelope.
Polar - Also called spherical robots, in this configuration the arm is connected to the base
with a twisting joint and a combination of two rotary joints and one linear joint. The axes
form a polar coordinate system and create a spherical-shaped work envelope.
SCARA - Commonly used in assembly applications, this selectively compliant arm for robotic
assembly is primarily cylindrical in design. It features two parallel joints that provide
compliance in one selected plane.
Delta - These spider-like robots are built from jointed parallelograms connected to a
common base. The parallelograms move a single EOAT (end of arm tooling) in a domeshaped work area. Heavily used in the food, pharmaceutical, and electronic industries, this
robot configuration is capable of delicate, precise movement.
Typical industrial robots are articulated and feature six axes of motion (6 degrees of
freedom). This design allows maximum flexibility. Six-axis robots are ideal for:





Arc Welding
Spot Welding
Material Handling
Machine Tending
Other Application
Industrial Robot Applications:
Industrial robots have been in use for about 50 years. The first industrial robot was used for material
handling in a General Motors facility. Nowadays, many different applications can be done by robots.
Here are the top 5 applications for industrial robots:
1 – Robotic handling operations (38%)
Material handling is the most popular application with 38% of operational stock of industrial
robots worldwide. This includes machine tending, palatalizing and various operations for
metal machining and plastic molding.
2 – Robotic Welding (29%)
This segment mostly includes spot welding and arc welding which is mainly used by the
automotive industry. Spot welding is still more popular than arc welding but not for long; as
arc welding is becoming very popular in the metal industry.
3 – Robotic Assembly (10%)
Assembly operations include: fixing, press-fitting, inserting, disassembling, etc. This category
of robotic applications seems to have decreased over the last few years, even while other
robotic applications have increased.
4 – Robotic Dispensing (4%)
Here we are talking about painting, gluing, applying adhesive sealing, spraying, etc. Only 4%
of the operational robots are doing dispensing.
5 – Robotic Processing (2%)
Processing is not a big segment of industrial robots (only 2%) and this is probably because a
lot of automated machines are available on the market to do specifically these applications.
The main application areas are mechanical, laser and water jet cutting.
Lab 3: Different Types of Robot Jog Operations
Objective:
To make familiarize the students with different pattern of robot movements and operations.
Procedure:
Setting of Robot Controller to “TEACH” Mode:
(1) While the ENABLE/DISABLE switch on the T/B is “DISABLE”, hold down the deadman
switch.
(2) While holding down the deadman switch on T/B , Set the Controller MODE switch to
“TEACH”.
(3) While holding down the deadman switch on T/B , set the ENABLE/DISABLE switch to
“ENABLE”, then do the operation of T/B that you wish.
Types of Jog Feed:
The Following five types of jog feed are available:
(1) Joint Jog
Operation:
(1) Set the key switch to the ENABLE position.
(2) Hold the deadman switch lightly.
(3) Press the STEP/MOVE key. (The servo is turned ON).
(4) Press the JOINT key to change to the JOINT jog mode.
(5) Press the key corresponding to each of the axes from J1 to J6.
(6) Press the JOINT key twice to shift to the additional axes mode.
Explanation:
In this mode, each of the axes can be adjusted independently. It is possible to adjust the
coordinates of the axes J1 to J6 as well as the additional axes J7 and J8 independently. Note
that exact number of axes may be different depending on the type of robot, however. The
additional axis keys J1 and J2 correspond to axes J7 and J8, respectively.
(2) Tool Jog
Operation:
Perform step (1) to (3) above.
(4) Press the TOOL key to change to the TOOL jog mode.
(5) Press the key corresponding to each of the axes from X, Y, Z, A, B, C.
Explanation:
The position can be adjusted forward/backward, left/right or upward/downward relative to
the direction of the hand tip of the robot (the TOOL coordinate system).
The tip moves linearly. The posture can be rotated around the X, Y and Z axis of the TOOL
coordinate system of the hand tip by pressing the A, B and C keys, without changing the
actual position of the hand tip. It is necessary to specify the tool length in advance using the
MEXTL parameter.
The TOOL coordinate system, in which the hand tip position is defined, depends on the type
of robot. In the case of a vertical multi-joint type robot, the direction from the mechanical
interface plane to the hand tip is +Z.
In the case of a horizontal multi-joint type robot, the upward direction from the mechanical
interface plane is +Z.
(3) XYZ Jog
Operation:
Perform step (1) to (3) above.
(4) Press the XYZ key to change to the XYZ jog mode.
Explanation:
The axes are adjusted linearly with respect to the robot coordinate system.
The posture rotates around X, Y and Z axes of the robot coordinate system by pressing the
A, B and C keys, without changing the actual position of the hand tip. It is necessary to
specify the tool length in advance using the MEXTL parameter.
(4) 3-axis XYZ Jog
Operation:
Perform step (1) to (3) above.
(4) Press the XYZ key twice to switch to the 3-axis XYZ jog mode.
Explanation:
The axes are adjusted linearly with respect to the robot coordinate system.
Unlike in the case of XYZ jog, the posture will be the same as in the case of the J4, J5 and J6
axes JOINT jog feed. While the position of the hand tip remains fixed, the posture is
interpolated by X, Y, Z, J4, J5 and J6; i.e. a constant posture is not maintained. It is necessary
to specify the tool length in advance using the MEXTL parameter.
(5) CYLNDER Jog
Operation:
Perform step (1) to (3) above.
(4) Press the XYZ key twice to switch to the CYLNDER jog mode.
Explanation:
Use the cylindrical jog when moving the hand in the cylindrical direction with respect to the
robot’s origin. Adjusting the X-axis coordinate moves the hand in radial direction from the
center of the robot. Adjusting the Y-axis coordinate moves the hand in the same way as in
JOINT jog feed around the J1 axis. Adjusting the Z-axis coordinate moves the hand in the Z
direction in the same way as in XYZ jog feed.
Adjusting the coordinates of the A, B and C axis rotates the hand in the same way as in XYZ
jog feed. They may be valid in horizontal 4-axis (or 5-axis) RH type robots.
Opening/Closing the Hands:
(1) Set the key switch to the ENABLE position.
(2) Hold the HAND key down and press each axis key. For example, hold down the HAND
key and press the +C key to open hand 1. HAND + (-C) to close hand 1.
Lab 4: COSIMIR Software Interface
Objective:
To make familiarize the students with interface and commands of COSIMIR software.
Procedure:
(1) Click on File menu. Select Project wizard command. Fill the required field and click next.
In next step select Robot Type “RV-2AJ” programming language “MELFA-BASIC IV” and
click Finish button.
(2) COSIMIR interface will be open, in which there will be four windows. Window no. 1 will
be graphic window, in which we will design our work cell. Window no. 2 is position list
window, in which we will save coordinates of different points of robot positioning. Window
no. 3 is error messages window and window no. 4 is programming window, in which we can
edit our program.
(3) Following are different important commands icons in main tool bar.
(4) Click on Extras menu and select Teach-in command.
(5) Jog Operation dialog box will be open. We will move the robot in XYZ Jog mode. In
dialog box, select XYZ Jog option. Click Set XYZ Position, another dialog box “Set World
Coordinate” will be open. We can enter our required X, Y, Z coordinate in Position option.
We can also move the robot by clicking arrows in upper left corners of Jog Operation dialog
box. After setting the point, click on Current Position Button. Point P1 will be entered in
Position List window. We will enter another point P2 in XYZ Jog mode.
(6) We will enter point P3 in Joint Jog mode and click Current Position button. Point will be
entered and we can see all these three point in Position List window. We can Open or Close
robot gripper jaws by clicking Open or Close Hand button.
(7) Click on Programming window. Click Edit menu and select Programming Wizard
command. Following wizard will be open. Click on OK button.
(8) We will see that in programming window a program will be generated automatically.
Click on Compile + Link button and after compilation, Error Messages window show zero
error zero warnings. We have successfully compile our program.
(9) Before simulation, we will set TCP Tracking option by clicking Extras menu and then
clicking TCP Tracking command. This command shows line traces of robot movement path.
(10) To start simulation, we will click on Start button on main tool bar. Robot movements
with line traces will be shown as follow.
(11) We can set different software settings by clicking Extras menu > Settings pull down
menu.
(12) If we want to simulate again our program, we will click Edit menu > Reset Wok cell and
again Start button to simulate. If we want different views of our robot work cell in graphic
window, we will click View menu > Standard and select different views.
(13) If we want to rotate, move and zoom our robot work cell, we will click on graphic
window. Select Rotate, Move and Zoom commands. Left click in graphic window and in this
left button press state drag the mouse in your required direction.
(14) End of lab.
Lab 5: Customizing Robot Tool
Objective:
The objective of this lab is to enable the students to customize different robot tools
according to their requirments.
Procedure:
(1) Create a project from project wizard.
(2) Select Extra menu and then Teach In command. Open and close the gripper jaws from
Open or Close Hand button.
(3) Select Model Libraries > Miscellaneous Grippers > Pliers Gripper > Add button.
(4) Select Model Explorer > Objects > Pliers Gripper > Base > Grip Points > Right click
PliersFlange > Properties > General Tab > Gripped By > Flange > Close dialog Box.
(5) Select Extra menu > Teach In > Open or Close Hand > Gripper on robot flange will not
open or close.
Gripper at robot base location will be open or close.
(6) Select Model Explorer > RV-2AJ > outputs > HCLOSE1 > right click on close > Remove
Connection
(7) PliersGripper > Inputs > Select and drag HCLOSE1 from outputs right side panel to >
inputs > close
(8) Select Extra menu > Teach In > Open or Close Hand. Gripper at robot flange will be open
or close.
(9) Click on template on Model Explorer and close.
(10) Select collision detection option on toolbar.
(11) Select Model Explorer > Objects > Gripper > right click > Properties > Position > click up
or down arrow to up and down the gripper in Z axis direction > Close Model Explorer
(12) Select Model Libraries > Miscellaneous Grippers > Three Jaw Gripper > Add button.
(13) Select Model Explorer > Objects > Chuck3Gripper > Base > Grip Points > Grip3Back >
Properties > General Tab > Gripped By > Select Flange > Close
(14) Select RV-2AJ > outputs > Select HCLOSE1 > close > Remove Connection
(15) Select Inputs > Select and drag HCLOSE1 to > Inputs > Close
(16) Select PliersGripper > right click > Properties > Position > Move Z axis to minus position
> Close Model Explorer.
(17) Select Extra menu > Teach In > Open or Close Hand > Close window.
Lab 6: Pick and Drop Operation of Robot
Objective:
To make familiarize the students with programming of pick and drop operation of robot.
Procedure:
(1) Create project in Cosimir Educational.
(2) Select Model Libraries. Select Box and click Add.
(3) Select Model Explorer. Select Objects > Box > Base > Box1 > Properties. Set length of
X, Y, Z equal to 50mm.
(4) Select Box > Base > New > Grip Point.
(5) Select Box > Properties > Position Tab > set X position 200 and Y 100.
(6) Select menu Extra > Teach In > select current position list.
(7) Select Joint Jog Mode and down the shoulder Elbow and Pitch from teach pendent.
(8) Select XYZ Jog Mode and click Set XYZ Position and enter the position X 200, Y 100, Z
50. Align the robot gripper in XYZ to hold the box. X should be 227.7, Y 126.9, Z 15.1
and click Current position List. Press Close Hand. Click XYZ Position and enter X 250 Y
-100. Select Current Position List.
(9) Select Model Explorer. Select Objects > Box > Base > Box1 > Properties. Select Box >
Properties > Visualization Tab > Green color. Click Template.
(10) Select Edit menu > Programming Wizard > OK > Compile > Start.
(11) Edit your generated program as following and click Compile > Start simulation.
10 REM MELFABASIC_IV
20 MOV P2
21 HCLOSE 1
30 MOV P1
40 MOV P3
41 HOPEN 1
42 MOV P1
43 MOV P3
44 HCLOSE 1
45 MOV P1
46 MOV P2
47 HOPEN 1
50 END
(12) Enter a new line number 48 in the previous program as following.
48 GOTO 10
(13) Select Compile > Start simulation.
(14) End of Lab Practice.
Lab 7: Sensor Input and Output
Objective:
To make familiarize the students with role of sensors in robot workcell.
Procedure:
(1) Create project in Cosimir Educational.
(2) Open Model Libraries. From Miscellaneous LEDs, select green and red led and Add
them.
(3) From Miscellaneous Primitives, select one box and Add it.
(4) From Miscellaneous Sensors, select one color sensor and Add it.
(5) Open Model Explorer. Select Object > LEDGreen > right click > Properties > Position
tab > set values X -200 Y -300 Z 350 Roll 90 > Close.
(6) Select Object > LEDRed > right click > Properties > Position tab > set values X -200 Y 550 Z 350 Roll 90 > Close.
(7) Select Object > SensorColor > right click > Properties > Position tab > set values X 400
Y 200 Z 30 Roll 180 Pitch 90 > Close.
(8) Select Object > Box > right click > Properties > Position tab > set values X 200 Y 175 Z
0 > Close.
(9) Select Object > Box > Base > Box1 > right click > Properties > General tab > Under
Parameters, set values X 50 Y 50 Z 50 > Close.
(10) Object > SensorColor > outputs.
(11) Expand LEDRed and LEDGreen. Expand red and green led Inputs. Select and drag
green led Inputs on control on SensorColor > outputs > out_red. Green led will be ON.
(12) SensorColor > right click > Properties > Position Tab > Enter y value 300. Sensor
detection range will be disturbed. Enter y value again 200.
(13) Select and drag LEDRed > Inputs > on control to SensorColor > outputs > out_red.
(14) Collapse SensorColor. LEDGreen > Inputs > on > right click > invert. Green LED will
be OFF. Collapse led red and green. Click Template and Close.
(15) Extra menu > Teach In > XYZ Jog option > Set XYZ Position > X = 355 Y = 0 Z = 550 >
Press Current Position button. Point P1 will be created.
(16) Set XYZ Position > X = 227.9 Y = 204.3 Z = 9 Pitch = 178 > Press Current Position
button. Point P2 will be created.
(17) Edit menu > Programming Wizard > OK
(18) Generated program will be edited as follow:
10 REM MELFABASIC_IV
20 MOV P2
21 HCLOSE 1
30 MOV P1
31 DLY 5
32 MOV P2
33 HOPEN 1
34 GOTO 10
40 END
(19) Press Compile+Link and Start button to simulate the program.
(20) Further edit the above program as follow:
10 REM MELFABASIC_IV
20 MOV P2
30 HCLOSE 1
40 MOV P1
50 DLY 5
60 MOV P2
70 HOPEN 1
71 MOV P1
80 DLY 5
90 GOTO 10
100 END
(21) Press Compile+Link and Start button to simulate the program. Press Stop button
when you want to stop the simulation.
Lab 8: Linear/Circular Interpolation of Robot
Objective:
To make familiarize the students with programming of linear and circular movements of
robot.
Procedure:
(1) Create a new project in Cosimir.
(2) Extra menu > Teach In > XYZ Jog option > Set XYZ Position > Set X = 355, Y = 0, Z = 550,
Pitch = 90 > OK > Press Current Position button > Close. Point P1 is created in position list.
(3) Extra menu > Teach In > XYZ Jog option > Set XYZ Position > Set X = 355, Y = 50, Z = 500,
Pitch = 90 > OK > Press Current Position button > Close. Point P2 is created in position list.
(4) Extra menu > Teach In > XYZ Jog option > Set XYZ Position > Set X = 355, Y = -50, Z = 500,
Pitch = 90 > OK > Press Current Position button > Close. Point P3 is created in position list.
(5) Extra menu > Teach In > XYZ Jog option > Set XYZ Position > Set X = 355, Y = 0, Z = 450,
Pitch = 90 > OK > Press Current Position button > Close. Point P4 is created in position list.
(6) Edit menu > Programming Wizard > OK. Edit generated program as following.
10
REM MELFABASIC_IV
20
SPD 100
30
MVC P1, P2, P3
40
DLY (3)
50
MVS P1
60
MVS P2
70
MVS P3
80
MVS P1
90
DLY (3)
100
MVS P1
110
MVS P2
120
MVS P4
130
MVS P3
140
MVS P1
150
GOTO 10
160
END
(7) Extra menu > Click TCP Tracking
(8) Press Compile+Link button. Press Start Button to Start simulation and press Stop button
when you want to stop the simulation.
Lab 9: Coordinate Calculation with Equations
Objective:
The objective of this lab is to calculate coordinates with different equations.
Procedure:
(1) Create a project in Cosimir.
(2) Extra menu > Teach In > XYZ Jog option > Press Set XYZ
Position > Set X = 355, Y = 0, Z = 550, Pitch = 90. > OK > Press
Current Position button > Close. Point P1 will be created in
position list.
(3) Edit menu > Programming Wizard > OK.
(4) Edit the generated program as follow:
10 REM MELFABASIC_IV
20 DEF INTE r
30 SPD 100
40
r = 100
50
P2 = P1
60
P3 = P1
70 P4 = P1
80 P2.Y = (P1.Y+r)
90 P3.Y = (P1.Y-r)
100 P4.Z = (P1.Z+r)
110 MVC P3, P4, P2
'circle
120 DLY (5)
130 MVS P1
'square
140 P1.Y = 30
150 MVS P1
160 P1.Z = 490
170 MVS P1
180 P1.Y = -30
190 MVS P1
200 P1.Z = 550
210 MVS P1
'terminate square
220 P1.Y = 0
230 GOTO 10
240 END
(5) Extra menu > Select TCP Tracking.
(6) Press Compile+Link button.
(7) If no error or warning message is shown in error message
window then press Start button to start the simulation of
robot program.
(8) If you want to stop simulation any time then press Stop
button.
Lab 10: Defining Pallet Operation in Robot
Objective:
The objective of this lab is to explain pallet operation of robot and programming details.
Procedure:
(1) Create a new project in Cosimir.
(2) Extra menu > Teach In > XYZ Jog option > Set XYZ Position > Set X = 355, Y =5 0, Z = 550,
Pitch = 90 > OK > Press Current Position button > Close. Point P1 is created in position list.
Similarly points P2, P3, P4, P5, P6, P7, P8 can be created in position list, with the help of
coordinates P2 = 355, 50, 650, P3 = 355, 150, 650, P4 = 355, 150, 550, P5 = 355, -50, 550, P6
= 355, -50, 650, P7 = 355, -150, 650, P8 = 355, -150, 550.
(3) Edit menu > Programming Wizard > OK. Edit generated program as following.
10
REM MELFABASIC_IV
20
DEF INTE L
30
DEF INTE A
40
L=3
50
A=3
60
W=L*A
70
M=1
80
M1=1
90
SPD 100
100
DEF PLT 1,P1,P2,P4,P3,L,A,1
110
PX=(PLT 1,M)
120
MVS PX
130
M=M+1
140
IF M<=W THEN 100 ELSE 150
150
DEF PLT 2,P5,P6,P8,P7,L,A,2
160
PZ=(PLT 2,M1)
170
MVS PZ
180
M1=M1+1
190
IF M1<=W THEN 150 ELSE 200
200
GOTO 10
210
END
(4) Extra menu > Click TCP Tracking
(5) Press Compile+Link button. Press Start Button to Start simulation and press Stop button
when you want to stop the simulation.
DEF INTE/FLOAT/DOUBLE (Define Integer/Float/Double)
Function:
Declares the arithmetic variable.
Format
DEF INTE<Arithmetic variable name> [, <Arithmetic variable name>] ...
DEF FLOAT<Arithmetic variable name> [, <Arithmetic variable name>] ...
DEF DOUBLE<Arithmetic variable name> [, <Arithmetic variable name>] ...
PLT (Pallet)
Function:
Calculates the position of grid in the pallet.
Format
PLT<Pallet No.> <Numeric operation expression>
DEF PLT (Define Pallet)
Function:
Defines the pallet. (3-point pallet, 4-point pallet)
Format
DEF PLT<Pallet No.>, <Start point>, <End point A>, <End point B>, [<Diagonal point>],
<Quantity A>, <Quantity B>, <Assignment direction>
MVS (Move S)
Function:
Carries out linear interpolation movement from the current position to the movement target
position.
Format
MVS<Movement Target Position> [, <Close distance>] [<Interpolation Type>] [<Appended
Condition>]
Format 2
MVS<Separation Distance> [<Interpolation Type>]
Lab 11: Input Output Commands
Objective:
To make familiarize the students with input and output commands of robot programming
Procedure:
(1) Create a new project in Cosimir.
(2) Select Model Libraries > Select Green LED, Red LED, Conveyor Belt, Box, Color Sensor and
add them in work cell.
(3) Select Model Explorer. Click on Objects. At right side pane, right click at every object you
add in work cell and select Properties option. In Properties window, click at Position tab and
set the position of objects in work cell according to these coordinates. Green LED = X = -200,
Y = -1000, Z = 200, Red LED = X =200, Y = -1000, Z = 200, Conveyor Belt = X = 600, Y = -800, Z
= -300, Box = X = 400, Y = -600, Z = 180, Color Sensor = X = 600, Y = 0, Z = 220.
(4) Model Explorer > Objects > RV-2AJ > Inputs > Rename index 0 “boxred” > Sensor Color >
Outputs > Select and drag boxred from RV-2AJ robot Inputs right panel to Sensor color >
Outputs > outred. Rename index 1 to “boxblue”
(5) RV-2AJ > Outputs > Rename index 0 “conveyor”, index 1 “greenled”, index 2 “redled”.
Expand Conveyor Belt > Inputs. Select and drag conveyor from right panel to ConveyorBelt >
Inputs > BeltOn. Select and drag ledgreen from right panel to LedGreen > Inputs > on. Select
and drag ledred from right panel to Ledred > Inputs > on.
(6) Edit menu > Programming Wizard > OK. Edit generated program as following.
10 REM MELFABASIC_IV
20 M_OUT (2)=1
30 M_OUT (0)=1
40 M_OUT (1)=0
50 IF M_IN (0)=1 THEN 60 ELSE 10
60 M_OUT (0)=0
70 M_OUT (1)=1
80 M_OUT (2)=0
90 END
(7) Extra menu > Click TCP Tracking
(8) Press Compile+Link button. Press Start Button to Start simulation and press Stop button
when you want to stop the simulation.
DEF INTE/FLOAT/DOUBLE (Define Integer/Float/Double)
Function:
Declares the arithmetic variable.
Format
DEF INTE<Arithmetic variable name> [, <Arithmetic variable name>] ...
DEF FLOAT<Arithmetic variable name> [, <Arithmetic variable name>] ...
DEF DOUBLE<Arithmetic variable name> [, <Arithmetic variable name>] ...
PLT (Pallet)
Function:
Calculates the position of grid in the pallet.
Format
PLT<Pallet No.> <Numeric operation expression>
DEF PLT (Define Pallet)
Function:
Defines the pallet. (3-point pallet, 4-point pallet)
Format
DEF PLT<Pallet No.>, <Start point>, <End point A>, <End point B>, [<Diagonal point>],
<Quantity A>, <Quantity B>, <Assignment direction>
MVS (Move S)
Function:
Carries out linear interpolation movement from the current position to the movement target
position.
Format
MVS<Movement Target Position> [, <Close distance>] [<Interpolation Type>] [<Appended
Condition>]
Format 2
MVS<Separation Distance> [<Interpolation Type>]
Lab 12: Different Arcs Commands
Objective:
To make familiarize the students with different types of arcs programming.
Procedure:
(1) Create a new project in Cosimir.
(2) Extras menu > Teach-in > XYZ Jog option > Set XYZ position > X = 355, Y = 0, Z = 650 > OK.
Click Current Position. Point P1 will be created in Position List. Similarly we will create next
three points with the help of these coordinates. P2 = X = 355, Y = 100, Z = 550, P3 = X =355,
Y = -100, Z = 550, P4 = X = 355, Y = 0, Z = 550.
(3) Click on Programming window. Edit menu > Programming W izard > OK.
(4) Edit generated program as following.
10
REM MELFABASIC_IV
20
SPD 100
30
MVC P1,P2,P3
40
MVR P1,P2,P3
50
MVR2 P3,P1,P2
60
MVR3 P2,P1,P4
70
END
(5) Extra menu > Click TCP Tracking
(6) Press Compile+Link button. Press Start Button to Start simulation and press Stop button
when you want to stop the simulation.
DEF INTE/FLOAT/DOUBLE (Define Integer/Float/Double)
MVC (Move C)
Function:
Carries out 3D circular interpolation in the order of start point, transit point 1, transit point 2
and start point.
Format
MVC<Start point>, <Transit point 1>, <Transit point 2> [<Additional condition>]
MVR (Move R)
Function:
Carries out 3-dimensional circular interpolation motion from the start point to the
end point via transit points.
Format
MVR<Start point>, <Transit point>, <End point> [<Additional condition>]
Terminology
<Start Point>
Start point for the circular arc. Describe a position operation expression or joint
operation expression.
<Transit Point>
Transit point for the circular arc. Describe a position operation expression or joint
operation expression.
<End Point>
End point for the circular arc. Describe a position operation expression or joint
operation expression.
<Additional Condition>
Describes WTH and WTHIF conjunctions.
MVR2 (Move R2)
Function:
Carries out 3-dimensional circular interpolation motion from the start point to the
end point on the circular arc composing the start point, end point, and reference
points.
The direction of movement is in a direction that does not pass through the
reference points.
Format
MVR2<Start point>, <End point>, <Reference point> [<Additional condition>]
MVR3 (Move R3)
Function:
Carries out 3-dimensional circular interpolation movement from the start point to the end
point on the arc composed of the center point, start point and end point.
Format
MVR3<Start point>, <End point>, <Center point> [<Interpolation Type>] [<Appended
Condition>]
Lab 13: Configuring and operating two different Robot Controllers
Objective:
To make familiarize the students with linear and circular interpolation
Procedure:
(1) Create a new project in Cosimir.
(2) Extras menu > Teach-in > JOINT Jog option > Current Position. Point P1 will be created in
Position List. Similarly we will create the following points.
P1
355
0
550
0
90
R
A
P2
247
0
657
-0
70
R
A
P3
196
0
733
-0
43
R
A
P4
169
-101
733
-23
43
R
A
(3) Click on Programming window. Edit menu > Programming Wizard > OK.
(4) Generated program will be as following.
10
REM MELFABASIC_IV
20
MOV P4
30
MOV P3
40
MOV P2
50
MOV P1
60
END
(5) Press Compile+Link button. Press Start Button to Start simulation.
(6) Resize Programming and position windows small. Click Model Libraries. Select Robot IRB
4400i and Add it to work cell. Click Model Explorer. Right click Robot ABB > Properties >
Position tab > Y position -800.
(7) Click Model Libraries. Select Three Jaw Gripper and Add it to work cell. Press Close
button. Execute menu > Controller Selection > click ABB_IRB_4400i. Extras menu > Teach-In
> Press Close Hand > Gripper will not close. Click Model Explorer > Select ABB Robot and
Chuck 3 gripper and expand them > ABB Robot > Outputs > Rename index 0 “gripperabb”.
Drag “gripperabb” and drop it to Chuch3gripper > Inputs > Close.
(8) Extras menu > Settings > Grip. From dialog at “Gripper control at Teach In” option, select
“gripperabb” > OK. Extra menu > Teach-In > Close Hand. Three jaw chuck will be open and
close now.
(9) File > New > MRL Position list > OK. File > New > MELFABASIC IV Program > OK.
(10) Extras menu > Teach-In > JOINT Jog > Current Position. To change point 1 to P1, right
click at point 1 > Properties> Edit 1. Following points will be for position list of ABB Robot.
P1
1529
-382
1513
180
-0
166
P2
1723
-430
1490
180
-0
166
P3
1762
-270
1574
127
-0
166
P4
1298
-692
1514
-164
16
160
(11) Click ABB Robot Programming window. Edit menu > Programming Wizard > Ok.
(12) Following program will be generated.
10
REM MELFABASIC_IV
20
MOV P4
30
MOV P3
40
MOV P2
50
MOV P1
60
END
(13) File > Save All. Save Program and Position list with name “abb”. Click Compile+Link.
(14) Select New project and save with “robotabb”.
(15) Click ABB programming window > Project Management > Files tab > Add files to project
> MELFABASIC IV position lists type > abb.POS > open > Select robotabb > Compile. Select
RV-2AJ robot from drop down menu. Set as active Project button. Compile. Select ABB robot
> Compile > OK.
(16) Click “Start” to start simulation.
(17) Click Model Explorer > ABB Robot > gripper > Outputs > index0. Therefore add a new
line under line no. 30, M_OUT (0) = 1 and under line no. 50, M_OUT (0) = 0.
(18) Edit menu > Renumber.
(19) Click Compile+Link. Press “Start” button to start simulation.
Download