Anda di halaman 1dari 4

2011 International Conference on Mechatronic Science, Electric Engineering and Computer August 19-22, 2011, Jilin, China

Program Architecture Analysis and Design for Robotic Sand Core Handling Manufacturing Cell
Liankui QIU
Department of Automation Henan University of Science and Technology Luoyang, China
AbstractA robotic cast sand core handling manufacturing cell is composed of two ABB IRB 6600 robotic manipulators and two Loramendi modeling machines. The application Program architecture is anatomized and the program is written in RAPID Language. The program has teach-byshow mode, production mode, and calibration mode. The flow charts for each mode are presented. The effectiveness is shown by the commissioning results. Keywords-cast sand core handling; RAPID;ABB robotic manipulator; Loramendi modeling machine;

Qian HE
Modern Education Technology and Information Center Henan University of Science and Technology Luoyang, China



IP Address Subnet mask gateway

The UltraFXP 1.07 is recommended. With a parallel net wire, the PC-Robot controller connected screenshot is shown in Fig. 1.



Robotic manipulators have been used for industrial manufacturing line for many years such as material handling, assembly, deburring, polishing and so on [1]. Many robotic manipulator manufacturers provide the Graph Programming Environment. For example, the Robot Studio is a simulation and offline programming software that is used on all ABB robot cells. The advantages are numerous off-line capability, more accurate robot programs, and faster programming etc. The effective use of the program requires that 3D-models of parts are available [2]. But that software is expensive and not easy to be used for the industrial engineers. For ABB robotic manipulators, the RAPID language is used for robot programming. The code generation technique based on the template may be a solution to the programming problem for the robotic manufacturing cell. The program architecture analysis is the foundation for template-based code generation and so it is focused by this paper. II. PROGRAM TOOLS As for the ABB RAPID programming, the computer and a text editor are necessary to type the codes. The UltraEdit is recommended, and the syntax highlighting file must be copied to the file named wordfile.txt which is under the UltraEdit installation path. A FTP client application software is used to connect the ABB robot controller S4, S4C, or S4C Plus. The network parameters of PC can be set as following Table I. In the FTP Client application software, the IP address of ABB robot controller can be set as with both the user name and the password are abb.

Figure 1. The connection of PC to the robot controller



A. The Program RAPID language insists on routines, modules and data types literally so that we should employ a plan to code a real program. A basic RAPID program is composed of a module, a routine called main(), and a list of Data Type. But for the complex task, the program must be readable and easy to be modified so that the program can be maintained and reused easily by others. The solution to the problem is to use modules, routines and named Robtargets and Registers When the data and text information are unique and not changed to the robot, it should be put in the system module, which is suffixed with sys. For example, the data.sys is a system module. The module is defined with the key word MODULE. The system module is suffixed with (SYSMODULE), just like MODULE data(SYSMODULE). The general module is defined without the suffix, i.e. MODULE Cal.

978-1-61284-722-1/11/$26.00 2011 IEEE


A program, for example programName.prg, must have a routine main() in the module named programName. This is the rule. The program can be divided into modules as the Fig. 2.

The solution to this problem is teach-by-show. This means that we need a new teach-by-show program, involving the new location variables. By selecting the teach-by-show mode, the teach-by-show routine will be executed and the location information is recorded in the memory. When the production mode is selected, the specific motion module will be executed to the teach-by-show locations to handling the sand core. IV. PROGRAM FOR ROBOTIC SAND CORE HANDLING The robotic manufacturing cell for cast sand core handling is composed of two ABB IRB 6600 robotic manipulators and two Loramendi casting modeling machines. The schematic diagram of the manufacturing cell is shown as Fig. 4.

Figure 2. The program is composed of modules [3]

The name of the modules and routines must be defined meaningful in order to make the program readable. B. System Moduls Just as the forgoing discussed, the unique data, not changed text information and system routines are declared and defined in the system modules. When the system module is a single file, it is named like filename.sys, where the filename is given by the customer. The general system module is organized as Fig. 3. The manufacturing flowchart is as following: the robot 1 and robot 2 catch the sand core from Loramendi core modeling machine respectively. Conveys and places the core on the core assembling table respectively without the collision with each other. Sometimes, the numbers of sand core gripped by the robot 1 and robot 2 are different. A. World Zone In this manufacturing cell like as Fig. 4, robot 1 and robot 2 share the core assembling table and the partial workspace. In order to avoid the collision with each other, the World Zone must be used to notify one robot that the other robot on somewhere. Using the World Zone, the tool center point is indicated in a specific part of the working area; the working area of robot is limited to avoid collision with the tool; the common work area for two robots is made available to only one robot at a time. All World Zones are defined in the world coordinate system. The sides of the Boxes are parallel to the coordinate axes and Cylinder axis is parallel to the Z axis of the world coordinate system. The World Zones are defined like the Fig. 5.
Figure 4. Sand core handling working cell

Figure 3. The architecture of system module

C. General Modules The general modules are named in terms of the specific functions, such as calibration, data, motion, location and so on. According to the names, we can understand the functions of the modules. The calibration module runs a function to calibrate the robot manipulator. The data module includes all changeable data used in the different situations. The Location module gives the specific position and orientation information of the targets and the worktables which may be different for the different products. The motion modules define the motion routines from one place to the other place. For each product, a new motion module may be created as motionN, where N may be the Arabic number, such as 1, 2, and so on. In the most of cases, we only need to modify the motion module and location module to make the new products.

Figure 5. The World Zone schematic diagram [3]


Once the World Zones are defined, the TCP is always supervised irrespective of the operation mode, which may be production mode or jogging. There are three cases for the World Zone to set a digital output signal. The first case is to set digital output when the TCP is inside the World Zone. The second case is to set the digital output before the TCP reaches the World Zone. The last case is to stop the robot before the TCP reaches the World Zone. The World Zone definition should be put in the routine for the robot power on. The routine may be named meaningful like as the rob_power_on( ) or r_power_on( ). B. Main( ) The main( ) is the entrance of the whole program. There are five modes to be chosen. The specific allocation is that the first one for production mode, the second mode for calibration, the third for teach-by-show, the forth for home position and the last for quit. The flowchart for main( ) is shown in Fig. 6.

positions are independent of the product type. In addition to those positions, the rest of positions are dependent on the specific product type. For example, assumed the sand core numbers for robot 1 is n, there are n positions of sand core on the core shooting table and n positions on the core assembling table. The schematic top view of work cell is shown in Fig 7.

Figure 7. The top view of work cell

The flowchart of teach-by-show is shown in Fig. 8.

Figure 6. Flowchart for main( )

C. Teach-by-show Once the hardware of work cell has been completed, the software should be coded to cooperate with the work cell. For the task of cast sand core handling, the whole program flowchart may be changeless. The only differences between the product types may be the locations of the sand cores on the core shooting tables and the core assembling table. For operating an ABB robotic manipulator, the home position is a very important concept and provides the robot a safe location from where it can start its tasks. The robtarget is a data type and used to define the home position and etc. Using prefix to the data type is friendly and informative. As for robtarget, the prefix p is used and the home position is represented as pHomepos. In fact, the pHomepos is a point in robots workspace at where the robot can be waiting for the next task or job [4]. There are also several important locations for robot to perform its tasks, such as initial position, inspection position, maintenance position, the position before the core shooting machine, the position before the assembly table and the position before the deburring frame. Those

Figure 8. Flowchart of teach-by-show routine

In Fig. 8, the dashed block means that the shadowed flowchart should be repeated N-1 times if there are N cores, so that every position of the sand core should be taught by show. D. Operation of Teach-by-Show Press the program button on the teach pendant, and then enter the program test mode as shown in Fig. 9. Choose the teach-by-show mode and the pointer points the first line of the teach-by-show routine. Press the enable device on the side of teach pendant and press the FWD key on the front panel of the teach pendant at the same time. Move the robot by joystick to the desired position. Press Modpos key on the front panel of the teach pendant to


modify the position. Note that the current line of program must be highlighted just like as the Fig 10. A warning will be shown on the display. Choose yes to finish the modifying position like as the Fig. 11. Go ahead and repeat the foregoing operation to finish the teach-by-show step by step [5].

Figure 9. Program test mode

Figure 10. The fist line is highlighted

Figure 12. Photos on the field site



The application Program architecture is anatomized for a robotic cast sand core handling manufacturing cell. The flowchart of main ( ) and teach-by-show routine have been presented. The operation of teach-by-show has been described. The commissioning photos have been shown. ACKNOWLEDGMENT
Figure 11. The Warning information on the display



When the teach-by-show is finished, the program will be tested through the manual mode with the 25% or 50% full speed to find out the bugs. If there is no problem, the commissioning of whole work cell will be done to find whether there is something wrong or not. There are several on the field site photos of the project shown in Fig 12.

This work is partially supported by the Scientific Research Foundation for the doctoral scholars Grant #09001139 and Nature & Science Foundation under Grant #2007ZY056 of Henan University of Science and Technology. REFERENCES
[1] [2] [3] [4] [5] Bruno Siciliano, Oussama Khatib eds, Handbook of robotics, Springer-Verlag Heidelberg 2008. RAPID Reference Manual-Overview / System Data Types and Routines, 3HAC 7783-1 / 7774-1 for BaseWare OS 4.0. Define a safe home position. mod=userpage&page_id=3. $%% robot users guide.