Skip to Content

Fanuc downloader

Introduction

The Fanuc vendor downloader translates the basic FASTSUITE Edition 2 functionality into a ready to use Fanuc robot program.

Layout preparation

For the robot program to be output correctly, the axes for Fanuc robots must be connected correctly in the Port mapping dashboard in Layout Builder workbench. Fanuc robot controllers divide the axes into different motion groups. Each motion group can have up to 9 joints. This information is read from the layout and processed when the robot program is created. It is therefore important to assign the correct group and axis index to the robot axes.

Fanuc downloader

The Fanuc downloader supports:

Tool & base frame mapping

Point to point, linear and circular motion output.

Cartesian and joint motion target type for all motions.

Speed, accuracy & acceleration events.

Text event is used to add a comment in Fanuc robot program.

Set signal & wait for signal (logic ports); Boolean signals only.

It has some restrictions:

 With FASTSUITE Edition 2 version R2024.1 only the (Python) downloader is available. For creating an upload, the Custom Definition application needs to be used.

 Implementation via customizing

Multi-(synchronized) robot motions are supported by default.

Resource port events are not implemented in the base.

Infrastructure

The Fanuc vendor downloader is derived from the translator base implementation.

To make the program creation as easy as possible, the Fanuc program is organized in several sections.

These sections are organized in string arrays. The string arrays are initialized in the __init__() function.

To add content to the section arrays, it is recommended to use the existing functions:

This has the advantage that things like line numbering and margin spacing are automatically maintained.

Header output

The header output is generated at the end of the complete process. It is not done in the OutputHeader() function.

This is because we need the maximum number of source lines in the header and make customizing easier. Instead, it is called in the CreateOutputFile().

Handle motion

The HandleMotion() function handles the motion and all the events before and after the motion.

The motion is divided into source and data sections:

Commands and signals are also processed.

Source output

In the source section, the point sequence is defined, depending on the motion type.

Data output

In the data section, the corresponding point coordinates are evaluated and converted into a suitable format using the motion target type.

If a point is created in the source section, the point counter is increased there. If the point is only output in the data section, the point counter needs to be increased there by setting the dataOutputOnly to True.

Handle events

In the

HandleEvent()

function, the events, so-called built-in events, which are delivered with the standard FASTSUITE Edition 2 installation (see the

restrictions

) are processed.

Motion groups

To simplify the output of point coordinates, the FASTSUITE Edition 2 data is transferred into a separate data structure with motion groups and joints. This data structure is the same as the Fanuc data structure. This makes the output much easier. The definition of motion groups and joints can be found at the end of the Fanuc translator.

Constants & settings for additional customizing

Constants

Below the class definition you will find the constant definition.

These can also be used in derivations by prefixing them with the self command.

Minimum & maximum tool & base frame index

Fanuc itself only supports tool and base frame index numbers within a common range.

Speed, accuracy & acceleration

The motion profiles are added to the point definition, so motion profile events change class-wide variables that are then considered in the point output.

Was this page helpful?