Fanuc CRX robot

Created by Spin Robotics Admin, Modified on Fri, 2 May at 8:44 AM by Spin Robotics Admin

Follow this guide to set up a screwdriving application with a Spin Robotics SD-series tool on a Fanuc CRX robot.

Prerequisites

  1. Read the hardware manual for the SD-series screwdriver, specifically the section on the I/O module.
  2. Read the SpinBridge Dashboard manual, specifically the section on I/O control.

TP programs

This guide is accompanied by the following Fanuc TP programs, which can be used to operate of the SD-series screwdriver on the Fanuc CRX robot. The programs are not mandatory for operating the tool - any robot with digital I/O can control the tool. The programs are provided as examples and can be modified to suit your needs.

  1. SPIN_BG_LOGIC.TP: A background logic program that facilitates digital I/O communication between the SpinBridge and Fanuc robot. It manages tool actions and result evaluations.
  2. SPIN_LOAD_SCREW.TP: A program designed to load screws into the screwdriver. This program is called from a main program and requires specific arguments for operation.
  3. SPIN_TIGHTENING.TP: A program for tightening screws. It handles the robot’s movements and tool actions during the tightening process. This program is also called from a main program with specific arguments.
  4. SPIN_CHANGE_BIT.TP: A program for changing screwdriver bits. It requires a properly taught UFRAME and specific arguments to operate.
  5. SPIN_MAIN.TP: A main program that makes use of the other TP programs. It is included as an example and can be modified to suit your needs.

Ensure these programs are downloaded and loaded into the Fanuc CRX robot before proceeding with the setup.

Wiring

  1. Connect the SD-series screwdriver to the Fanuc CRX robot using the I/O connector on the SpinBridge. See the Spin Robotics hardware manual and the Fanuc Controller manual for details.
  2. This guide assumes that inputs 1-8 on the SpinBridge are connected to digital outputs 101-108 on the Fanuc CRX robot and that outputs 1-6 on the SpinBridge are connected to digital inputs 101-106 on the Fanuc CRX robot.
  3. The SpinBridge I/O connector must be powered by the Fanuc CRX robot with 24VDC. Usually this is done through the safety connector on the SpinBridge. This way the tool’s safety sensor and the SpinBridge I/O connector are powered by the same 24VDC source.

Robot setup

  1. Open the Fanuc CRX Teach Pendant and set the correct TCP for the SD-series screwdriver. See hardware manual for values. This guide assumes that the TCP is saved in UTOOL 2.
  2. Set the correct payload for the SD-series screwdriver. See hardware manual for values.

Background program

  • Load the background program SPIN_BG_LOGIC.TP into the Fanuc CRX robot and run it as a background logic. See the Fanuc controller manual for details on how to run a background logic program. The background program assumes a scan time of 8ms for timing purposes.
    The program assists the digital I/O communication with the SpinBridge and the SD-series screwdriver, and it is used by the other TP-programs. It has the following features:
  • Call action: To call an action on the tool simply assign a value to numeric register R[1]. The value must be between 0 and 31 and correspond to the action numbers setup on the SpinBridge Dashboard. The tool will execute the action and and the value of register 1 will be reset to 32. This means that in order to call consecutive actions, you can wait for the register to be reset to 32 before calling the next action. This ensures correct timing between I/O signals, but you cannot assume that the action is finished when the register is reset.
  • Result Evaluation: The background program monitors the three evaluation inputs, DI[104], DI[105] and DI[106] and sets flag F[1] to ON if any of the inputs are high. The flag can be used to check if a screw program is done and is used in the SPIN_TIGHTENING.TP AND SPIN_LOAD_SCREW.TP robot programs. Remember to reset the evaluation by calling the Reset Evaluation action.

Loading screws

Follow these steps to use the SPIN_LOAD_SCREW.TP program to load screws into the screwdriver. The robot will move to a position 50 mm above the feeder's screw position (Safe depth), then move down to the start depth and start the screw program in the Locate hole step. The robot will then move to the screw and pick it up. The tool will then move back to the safe depth and the safety shield will cover the screw. The program will then end.

  1. Create a screw program on the SpinBridge Dashboard. Using the guide Loading screws. Map the screw program to an action and make note of the action number.
  2. Also map the action Safety shield cover screw with the screw length as the parameter to an action on the SpinBridge Dashboard. This action is used to cover the screw with the safety shield. Make note of the action number.
  3. Load the SPIN_LOAD_SCREW.TP program into the Fanuc CRX robot. This program is meant to be called from a main program and will not run on its own.
  4. Teach the position of the screw in the feeder with the teach pointer in the tool bit holder. The position must be taught with the teach pointer in screw position. Save the position in a position register.
  5. Call the SPIN_LOAD_SCREW.TP program from a main program. The program must be called with the following arguments:
ArgumentDescriptionUnitExample values (screw M4x 16 mm, L2 = 0)
1Position register of the screw positionPR[N]2
2Action number of screw program[0-31]13
3Screw lengthmm16
4Safe depthmm-50
5Start depthmm-6
6Action number of Safety shield cover screw[0-31]9

The value of argument 3 and 5 can be found in the screw program.

Tightening

Follow these steps to use the SPIN_TIGHTENING.TP program to tighten screws. The robot will move to a position 50 mm above the screw position (Safe depth), then move down to the start depth and start the screw program in the Locate hole step. The robot will then move to the engaged depth and trigger the Rundown step, that speeds up the tool motor. Then the robot moves to the tighten depth and triggers the tighten step, that slows down the tool motor. The robot will then move to the reference depth and and wait for the tool to finish the tightening. The tool will then move back to the safe depth and the program will end.

  1. Create a screw program on the SpinBridge Dashboard. Using the guide Tightening - follow screw using speed. Map the screw program to an action and make note of the action number.
  2. Load the SPIN_TIGHTENING.TP program into the Fanuc CRX robot. This program is meant to be called from a main program and will not run on its own.
  3. Teach the position of the screw with the teach pointer in the tool bit holder. The position must be taught with the teach pointer in the seated screw position. Save the position in a position register.
  4. Call the SPIN_TIGHTENING.TP program from a main program. The program must be called with the following arguments:
ArgumentDescriptionUnitExample values (screw M4x 16 mm, L2 = 0)
1Position register of the screw positionPR[N]3
2Action number of screw program[0-31]4
3Screw lengthmm16
4Safe depthmm-50
5Start depthmm-6
6Engaged depthmm2
7Tighten depthmm12
8Reference depthmm16
9Rundown speedmm/s8
10Tighten speedmm/s2

The values of arguments 3-10 can be found in the screw program.

Changing bits

Follow these steps to use the SPIN_CHANGE_BIT.TP program to change screwdriver bits. The robot will move to the position of the Bit Changing Station and attach or detach the screwdriver bit from or to the bit holder specified by the first argument. The program will then end.

  1. Load the SPIN_CHANGE_BIT.TP program into the Fanuc CRX robot. This program is meant to be called from a main program and will not run on its own without arguments.
  2. Teach a UFRAME for the Bit Changing Station:
    1. The UFRAME number must be 6 to use the SPIN_CHANGE_BIT.TP program.
    2. The UFRAME must be taught accurately with the 3 positions method:
    3. 1st position is position B on the Bit Changing Station.
    4. 2nd position is position C on the Bit Changing Station.
    5. 3rd position is position A on the Bit Changing Station.
  3. The SPIN_CHANGE_BIT.TP program must be called with the following arguments:
ArgumentDescriptionUnitExample values
1Bit holder number[1,2,3]2 (middle bit holder)
2Attach / Detach[1,2]1 (attach)

Example main program

The SPIN_MAIN.TP program is an example of how to use the other TP programs. First it attaches a screwdriver bit. Then, following a palletizing pattern, it loads screws into the screwdriver and tightens them. Finally it detaches the screwdriver bit again.

The program can be used as a template for making a demonstration of the screwdriver e.g. for a trade show or a customer visit. The program can be used with the Spin Robotics demoplate, that has two grid patterns for M4 and M5 screws. The program can be modified to suit your needs. 

It has been used to make the video below.



Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons

Feedback sent

We appreciate your effort and will try to fix the article