Fanuc automation

Barry, Koen

The original situation

The Hague University of Applied Sciences currently produces parts used in the practical lessons about manufacturing techniques. The original cycle time for milling this part was 2 minutes, this meant that the operator would basically have to babysit the machine the whole time it was running.

The problem

The problem of the clients was that this was obviously very boring for the employer and costly in mass production. So, the client sought a solution which could easily be put into place and which was able to coexist with working employers around it. The client also requested that the part would be automatically checked using vision so that the 300 parts needed for the test run would all be correct. The group made a list of all the things that would be needed to be made for this product. This list is divided into hardware and software deliverables (PBS).

The solution

During this project the PBS was a major guideline therefore the group decided to use is to explain the solutions in a clear and informative way. First the hardware will be discussed and after that the software will be explained.

Hardware solutions

The six major hardware deliverables are the: setup to hold the stock material, a pneumatic vice, an and of arm tool to manipulate the stock material, a vision setup that checks the parts for tolerance, setup to hold the finished parts and an automatic door opener.

Setup stock material:

the client wanted a setup that could run for 3 hours without and operator interfering. The team calculated that this would require a total capacity of about 45 parts. The design resulted in a drop style magazine that each hold 15 parts, there are three separate magazines in the system, so the total system capacity is 45 parts. The magazines are hold in place with a cotter pin so they are easily removed to refill them.


Pneumatic vice:

The team needed a solution to be able to clamp and unclamp the parts on command, after some research the team decided that a pneumatic vise the ps-150-al to be exact would be sufficient to hold the small part. This vice has a holding force of 3000N at 8bar.

End of arm tool:

For the end of arm tool the MHZ2-20D gripper was selected, this gripper of SMC has a long and slender body which makes it perfect for this application. In this design two of this type of grippers are used. The reasoning behind this decision is that while the part is milled a new part is already being picked up this cut the cycle time down significally. The gripper also has holes were hoses can be attached to blow of the part after milling this makes the vision more reliable.

Vision setup:

The vision setup utilizes two types of lightning: darkfield front lighting and brightfield front lighting. The camera hangs of the sealing and the part gets put into the bottom. The program takes two pictures, the first pictures determines the outlines and the slot, the second picture looks at the center point. The lighting is hooked up to the universal robot PLC and switches between taking the photos.

setup Finished parts:

After the vision control the systems decides if the parts are good or bad, therefore a system is needed to store the parts. The team decided on using two bins which can be easily slid out of their holders. The system checks if there are bins precent the team installed microswitches to make sure they’re not thrown on the ground.

Automatic door:

The side door of the Fanuc needs to open and close on command. The team opted to use a pneumatic cylinder with a 600mm stroke because this was the only option that was available.The stroke was to long, so the team designed a part that took up the slack. The door is also fitted with microswitches so the robot can’t break the door on accident.

Software solutions

The three major software deliverables are the: GUI, Communication with the Fanuc and Glue code


The code runs on a raspberry pi 4. The groups build an application using tkinter which is easy to use and displays all the information that the operator needs. The operator can easily fill in the desired number of parts and press start, and no further interaction is needed. After each part is checked the picture is refreshed and fail op pass appears on the screen. On the front of the screen is an USB-port with which the G.code can be altered. It is also possible to send code to the raspberry through a Samba server which the team configured.

Communication with the Fanuc:

This Fanuc from 1980 has a rs232 port. The team has written two types of code. The first code can be used to put code on the storage on the machine, the problem with this is that the storage capacity is only 32kb. This is enough for simple 2d milling but for complex adaptive toolpaths or 3d milling this is insufficient. For complex parts drip-feeding is necessary this is a process in which a few lines of code are sent than the Fanuc says its buffer is full and when the buffer is emptied by carrying out the moves the Fanuc sends a signal which triggers the computer to send more lines. There are two types of flow control: Xon/Xoff and hardware flow control, the team uses Xon/xoff with a dedicated python script. In the process the team uses the drip-feeding code to send commands to the machine.

Glue code:

The code that is made for the GUI and the vision and the robot needed to be glued together to ensure a reliable system. The code is structured in an SFC manner. The SFC calls up different functions.


The conclusion of the team is that this product meats al the requirements of the customer and has some extras, the raspberry pi display and server are an extra also the team put some effort into the aesthetics of the setup and the performance by using a dual gripper. The team consist out of two mechanical engineers so is was quite a big leap to program all these different subsystems, so the team really learned a lot of useful program skills they could utilize in upcoming projects.


The team wants to thank Tim van der Meijden and our supervisors for their help, especially Thijs Brilleman and Mathijs van der vegt. The team wants to thank them for their advice and help during the assignment