Fanuc installation and setup

This setup manual helps you setup Pickit with a Fanuc robot. The setup of Pickit with a Fanuc robot consists of 4 steps:

Check controller and software compatibility

Pickit is compatible with controllers as of version 7, namely R-30iA - V7, R-30iB - V8 and R-30iB plus - V9.


An interface can be compiled for the older R-J3iB - V6 controller on demand. Contact Pickit support if you need this.

The software module User Socket Msg for socket communication is required (the product number for this module is A05B-2600-R648).

To verify if that software module is installed open the Status version ID page by opening MENU > STATUS > Version ID and then click the ORDER FI button.


Here you can check now if the module is listed as shown below. Note that also the software version (V8.30P in the above example) can be verified here.


Alternatively, a backup of the controller can be made and the information on the installed software can be found in the following file: ~/backup/All Of Above/orderfil.dat.

Setup the network connection

Setting up network connection for a Fanuc robot consists of 3 steps:

Hardware connection

The Pickit processor has to be connected to the Fanuc controller using an Ethernet cable. This Ethernet cable should be plugged in:

  • The ROBOT port of the Pickit processor;

  • Port 1 or Port 2 of the Fanuc controller.

The location of port 1 on the Fanuc is shown for different controller types in the images below.

../../_images/fanuc-3.png ../../_images/fanuc-4.png

The Ethernet cable must be fastened by a cable clamp to prevent tension being applied to the RJ-45 connector, in case the Ethernet cable is pulled directly. This clamp is also used to ground the cable shield.

IP configuration

To allow communication between Pickit and the Fanuc controller both must have an IP address in the same subnet.

By default, the Pickit ROBOT connection (the Ethernet port on the Pickit processor labeled ROBOT) is configured to have the following static IP address: with a subnet mask of

If this setting is kept, the following has to be done at the Fanuc controller via  MENU > SETUP Host Comm:

  • To obtain a static IP, DHCP has to be disabled on the controller.

  • A static IP should be set to e.g. which is an IP in the same subnet as the Pickit IP.


And select the TCP/IP protocol:


Next, you have to take the following steps:

  • Disable DHCP by pressing DHCP.

  • Set the correct IP address and subnet mask for Port 1 or Port 2.

  • Activate these new settings via NEXT > INIT.

To verify now if a network connection can be made between Pickit and the robot controller, you can create a new host name ‘pickit’ and give it the Pickit ROBOT connection IP address. After pressing the PING button, you should see the following message printed:

Ping succeeded

Socket configuration

Pickit works through socket communication. To work properly Pickit has to act as the server for the socket communication. Hence, the robot controller has to be configured to be client.

To do so, select Clients after pressing SHOW in the same SETUP protocols menu used above.


Next, select DETAIL to configure the client C1 as follows:


To set the Startup State to START you have to use the [[CHOICE]] button.

To verify if the configuration of the socket is done correctly, you have to reboot the controller and go again to MENU > SETUP > Host comm and then pressing SHOW and CLIENTS. You should see the following:


Load the program files

Loading the program files for a Fanuc robot consists of:

Additionally we provide some extra insights on registers used by the Karel program.

Download the right files

Download the Pickit Fanuc files

The .zip folder contains the compiled files for different controller versions. Select the folder corresponding to your robot controller. For example, use the R-30iB-Plus_V9 folder for a R-30iB Plus controller.

It contains:

  • pick_it_communication.pc is a Karel program that takes care of the low level communication.

  • pick_it_reachability.pc is a Karel program that allow to check the reachability of a pose.

  • PICKIT_SIMPLE_PICKING.TP is a Teach Pendant program that shows a simple pick application for FANUC using Pickit. More infomation about this example program can be found in the following article, Fanuc example picking program.

  • For calibration we provide two Teach Pendant programs;

  • The other PI_**.TP files define short Teach Pendant programs that abstract some of the Pickit logic into more user readable functions. They can also serve as macros that can be called manually.


If there is no binaries provided for your controller version, you have to compile the sources (.kl) into binaries compatible with your controller. Don’t hesitate to contact Pickit for support.


Modifying the pick_it_communication.kl file should only be considered after talking to a Pickit support engineer.

Upload the files to the robot

Uploading the files can be done using an FTP server or by manually loading them on the robot using a USB stick mounted to the Teach Pendant. For the latter, you have to go to MENU > FILE > UTIL > Set Device > Select your device.


Registers used by the Karel program

The Karel program pick_it_communication.pc, which takes care of the low-level communication between the controller and Pickit, uses the following registers to pass on data from the low-level communication to a Teach Pendant application program:

  • Data communicated from Pickit via the Karel program to the Teach Pendant application program:

    • Pose Registers: PR[51] - PR[53]

    • Registers: R[141] - R[159]

More information about what all registers are used for can be found in the following article, Pickit registers.


If these registers are already used on your robot. Please contact us at and we will assist you in finding a solution.


To make the Karel programs visible on the Teach Pendant, you have to set the KAREL_ENB value to 1 via MENU > NEXT > SYSTEM > Variables.

Start and verify communication

Starting and verifying communication for a Fanuc robot consists of 2 steps:

Start communication

To start the communication manually, on the robot you have to run PI_OPEN_COMMUNICATION manually.

Verify communication

In case the communication was started successfully, you can see the following on the robot Teach Pendant:

C1_CONNECTED is shown in the top status barVerify on the Pickit interface


You can verify the connection from within the Pickit web interface by checking if there is a checkmark next to the robot status label in the top bar.