System Overview The cookie baking cell consists of a cookie tray storage and dispense unit, an oven for baking cookies, a cooling rack, a mill for dispensing frosting, and a conveyor system to move the finished cookie to a vision inspection station and a finished goods area. A centrally located robot moves a cookie tray from the dispense unit to the oven, from the oven to the cooling rack, from the cooling rack to the mill, and from the mill to the conveyor system. The conveyor system moves the cookie to the vision inspection station where cookies are identified as passed or failed after vision inspection, based on frosting pattern. The conveyor system then delivers the cookie to one of the two locations in the finished goods area based on the status of the vision inspection. The operation of the cell can be broken down into two logical areas, the baking unit and the dispense and delivery unit. The baking unit consists of the cookie tray storage, dispense, the oven, and the cooling rack. The cooling rack has room for four cookie trays. The robot moves trays between the three areas in the baking unit. When all four positions in the cooling rack are occupied with cookies no more cookies will be sent into the baking area. As orders are put into the system one cookie at a time is moved from the cooling rack to the dispense and delivery unit. The robot moves a cookie into the mill for frosting application. When the frosting application is complete the robot moves the cookie to the conveyor system. The conveyor system moves the tray to the vision inspection station where the cookie and frosting are inspected. After inspection is complete the conveyor system moves the cookie to the finished goods area. Communication between the different components is achieved using a central database. The different control components of the baking cell each have a separate computer that connects to the database; device net, robot, mill, and control programs. The database is located on a central processing unit. There are four different tables in the database that are used for controlling the system, the command table, order table, order number table, and cooling status table, all tables can be viewed in the attachment. The command table is used to move trays through the cell, the order table is where all orders are stored, the order number table is where the current order number is stored, and the cooling status table is used for moving trays in and out of the cooling rack. The device net communicates with the command table. The device net controls everything that has an input and output, sensors, cylinders, etc. based on the command table status. See device net description for more details. The robot communicates with the command table. The robot moves trays around the cell based on the command table status. The mill communicates with the command table. The mill dispenses frosting on the cookie when the proper command is made (status = 1) in the command table. The control programs communicate with all of the database tables. The control program monitors the command table and sets commands based on the system status. The trays are moved through the cell based on the commands set by the control program. The control program also monitors the order number table where the current order is found. All the stations are radically arranged around the robot vertical axis and a transition position was defined to allow the motion of the robot arm to move from one station to another without bumping anything on the way. Refer to Figure 1 for the work cell setup of the cookie making machine. Oven Buffer Buffer Buffer Buffer Tray Feeder Accept St. camera Check Reject Frosting St. Robot Station Buffer Cart Figure 1. Work cell Setup Consumers of the cookies interact with the baking cell through a web page. The web page generates an order and saves it to the order table. The order consists of order quantity, dispense program choice, and name. The web program queries the order number table for the next available order number and assigns it to the order. The web program saves the order into the order table. When saving the order in the order table the order status and run quantity are both set to zero. As orders are processed in the system the order status is updated in the order table. When the cookie is moved to the mill the order status is set to 1, when the cookie is moved to the conveyor the order status is set to 2, when the conveyor moves the tray to the vision inspection station the order status is set to 3, when the conveyor moves the tray to the final inspection area the order status is set to 4, and when the conveyor moves to its home position the order status is set to 5. The order status is set by the control program as the cookie is processed in the cell. A separate program, also recognized as the master program, monitors the current order number and its status. When the master program is initialized it goes through each order in the order table and finds the first order that is not completed. That order number is then set in the order number table as the current order. The master program will monitor the status of the current order. When the status is set to 5 the master program will look for the next uncompleted order number and update the current order. The Software portions explains further details of the overall system. All of the system controls are monitored through the command table. When the system is started the oven door (command 6) is in the closed position (status 1) and all other commands should be reset (status = 0). The work-flow through the cookie making cell is controlled as follows: Bake Controls The system should continually bake cookies until the 4 buffer positions are full. The control program will monitor the status of the buffers C13-16 and determine when to insert a tray into the oven and what buffer position the tray should be moved to. Device net should always try to present tray, C0. Control program sets open oven command (C1) when the WIP is less than 4 C0 is made, C4 is not made, C6 is made, and C17 is not made. Set C1. o There is an integer in the program that is equal to the summation of C4, C9, C10, C11, & C12. Device net opens oven when C1 is made, reset C6 (first) and set C2 (second). Do not reset C1. Control program sets C3 when C0 is made, C2 is made, C4 is not made, and C17 is not made. Set C3, Set C4, Reset C1. Robot moves tray to oven when C3 is made, Reset C3 (first) and Set C5 (second). Device net will close oven when C5 is made, Reset C5 (first), Reset C2 (second), and Set C6 (third). Control program starts bake timer when C4 and C6 are made, Set C7. Control program sets C8 when bake timer is complete, Set C8 and Set C17. Control program sets C1 when C8 is made, Set C1 Device net opens oven when C1 is made, reset C6 (first) and set C2 (second). Do not reset C1. Control program sets C9-12 when C8 is made and C2 is made. The buffer position that the tray is moved to is determined using a separate table, buffer table, which is initially set to position 1, after a tray is moved to position 1 the table is set to position 2 for the next move….. Before giving the move tray to buffer command C13-16 are checked for tray present status. Set C9-12, Reset C7, Reset C8. Robot makes move C9-12, Set C13-16 (first), Reset C9-12 (second), Reset C4 (third), Set C5 (fourth). Control program resets C17 when C6 = 1 and C4 = 0, Reset C17. Control program resets C1 when C17 = 1 and C2 = 1, Reset C1. Dispense Controls The system should only send one tray into the dispense/vision/final product area at a time. The control program will determine when trays are sent into the area by monitoring order status. Control program monitors order status and sets C20-23 before resetting C13-16. The buffer position that the tray is moved from is determined using a separate table, buffer table, which is initially set to position 1. If the tray is present at the proper buffer C13-16, the corresponding cooling complete command is made, C36-39, the current order number has a status = 0, and there are no trays present in the dispense and final unit. Set C20-23 and reset C13-16. Robot moves tray to mill when C20-23 is made, reset C20-23 and set C4. Device Net clamps tray when C24 is made, reset C24 and set C25. Dispense program runs when C25 is made, set C26. Device Net unclamps tray when C26 is made, reset C25 & C26 and set C27. Robot moves tray to cart when C27 is made, reset C27 and set C28. Device Net moves cart to vision position when C28 is made, reset C28 and set C29. Device Net communicates with Vision when C29 is made, set C30 & C31. Device Net moves the cart to the final product area based on the status of C30 and C31, reset C29 & C30 & C31 and set C32-33. Device Net should eject tray and move to next position, reset C32-33 and set C34. Control program will reset C34 after the order status is updated. o Query running qty for order number, from ordertable. o Add 1 to the running qty and write value to table. o Query order qty and running qty for order number, from order table. o If order qty = running qty set status = 5 o If order qty > running qty set status = 0 o Reset C34. When C35 is made (prox. sensor) there is only enough frosting for that cookie, no more orders should be sent into the dispense station until C35 is reset by device net. Control Program Overview The control program monitors the baking process based on C13-16. It sets C1 and C5 when the oven needs to be opened and closed and keeps track of bake and cooling times, outlined above. The control program also monitors the order table, database, and C35 to send trays to the mill. The control program will set the order status when database commands are set. The current order is displayed in the ordernum table. The control program can reference the current order number in the ordertable. o When status is 0 a tray should be sent to dispense o When C24 is set update status to 1 o When C28 is set update status to 2 o When C29 is set update status to 3 o When C32-33 is set update status to 4 o When C34 is set update status to 5 Robot The robot is a Movemaster EX by Mitsubishi with 5DOF plus an open or close gripper at the end of the arm. The gripper has variable gripping pressure that can be set through software. The bolts that attach the end of arm tooling to the robot are M3x1 bolts. The robot is an integral part of the workstation, and sets many of the limitations and possibilities for the workstation. The 5DOF have limitations on the angles that can be made. None of the 5 axes have a full 360-degrees of rotation. The Y, Z, and P axes have the most constraints on their rotation. These three axes set how close to the robot base that the end of arm tooling can be moved. The robot also has a limited reach, outwards from the base. The layout of the manufacturing cell was determined mainly by the constraints imposed by the robot. The cookie tray placed several limitations on the robot motion and manufacturing cell layout. The tray had to be approached linearly from the front in order for it to be picked up and placed correctly. In order to do this each pickup or drop-off station had to be radially arranged around the robot’s base. Software The robot software consists of three essential parts. An overall C++ program, which reads and writes the main control database located on another computer. The C program also communicates with the robot hardware through RS-232. Currently the robot is connected to serial port 1, but this may easily be changed at the start of the program. The next level of software is the internal program sections in the robot. The internal program can be thought of as a subroutine from the main program. Each subroutine ends with the ‘WH’ command. This allows the main program to wait for the robot to complete its motion without hard coded delays. The final layer of software is the programmed points and other specific commands functions, stored in the robot’s EEPROM memory as a series of numbered of lines by mean of minicom. The command used to drive the robot are called using the run command function and are given in Table 1. Table 1: Robot Command Functions Used Function call Use Example Description Mo Move to position mo 10,c Move to position 10 with grip closed Nt Bring robot back to nt Must be used before any other function zero on all axis Gc Close grip gc Closes the grips Go Open grip go Opens the grips wh Reads data from wh Sends a the location of the arm to the serial port memory Rn Run code in robots rn 10, 150 Runs code stored in lines 10 to line 140, one line EPROM before line 150 Gs Go to subroutine gs 400 Go to subroutine at line 400 Rt Exit the subroutine rt Exit the subroutine The points used in the final layer of program must be programmed using the teaching pendant. Each axis can be moved individually. The robot continuously checks for the updated status in the command table from database “robot” located on the computer whose IP is “192.168.1.105”. The master program and each individual work area also continuously update this database. The program to run the robot follows the flowchart in figure 1. Start Initialize robot Loop Always Get all Status Move to Cart Move to Cart Update Status From Mill = 1 Move to Mill From Buffer = 1 Move to Mill Update Status Move to Buffer From Oven = 1 Move to Buffer Update Status Move to Oven From Stack = 1 Move to Oven Update Status Figure 1. The Flowchart for the Robot Operation Station setup The robot ties the work cell together by moving parts from one workplace to another. The workplaces consist of a tray dispenser, an electric cooker, a buffer, a frosting dispenser, and a cart. Trays are stack vertically in dispenser that feed one tray at a time once the pick up point has been cleared. The cooker has only one shelf and its door is pneumatically opened. The robot get instruction to put and pick up the tray from the database. The buffer is provided to allow the cookies to cool down before the frosting operation. It has four shelf The frosting station is a milling machine that has been transformed to dispense the frosting. The robot can only deposit or pick up a tray once the clamp of the mill station has been released. A cart is always waiting close by at a predefined location for a tray from the frosting station.
Pages to are hidden for
"Cookie Baking Cell"Please download to view full document