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.