Yaskawa translators

Yaskawa downloader

Previous  Chapter  Next

 

Introduction


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


Yaskawa_download_1



Layout preparation


Yaskawa robot controllers divide the axes into different move groups. Each group can have up to 4 Base joints (Rails) and 12 Station joints (Workpiece Positioner).

The configuration is done within the Port mapping dashboard dashboard in Layout Builder workbench and later used for the download (and VRC connection).


Yaskawa_download_2a



Yaskawa downloader


The Yaskawa downloader supports:

PageParagraph_8 Tool & base frame mapping

PageParagraph_8 Point to point, linear and circular motion output.

PageParagraph_8 Cartesian (RECTAN) and joint (PULSE) motion target type for all motions.

PageParagraph_8 Speed and accuracy events.

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

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

It has some restrictions:

PageParagraph_8  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.

PageParagraph_8  Implementation via customizing

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

PageParagraph_8 Resource port events are not implemented in the base.



Infrastructure


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


Yaskawa_download_3


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


Yaskawa_download_4


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


Yaskawa_download_5


The base downloader provides several methods to add content to the arrays, which should be used if possible.


Yaskawa_download_6



Header output


The downloader needs to cycle through the entire program to gather all necessary header data before constructing the header. This is crucial to ensure that all header information is compiled. After processing the data, the header is created by invoking the CreateJobHeader() method within the CreateOutputFile() method.

Instead of utilizing the basic OutputHeader() method, the Yaskawa downloader opts for a different approach because OutputHeader() is executed before the looping process.


Yaskawa_download_29



Handle motion


The HandleMotion() function is responsible for managing both the motion itself and the events that occur before and after the motion. It utilizes various position counters to track the number of different sections. Based on the type of motion, this function invokes specific methods: OutputYaskawaPtp() for point-to-point motion, OutputYaskawaLin() for linear motion, and OutputYaskawaCirc() for circular motion. Additionally, it accommodates the unique requirements of Yaskawa for circular (CIRC) motions, which necessitate the definition of a start point, a via point, and an endpoint.


Yaskawa_download_8


Each OutputYaskawa…() method selects cartesian (RECTAN) or axis (PULSE) outputs based on the PosType, facilitating appropriate motion command generation.


Yaskawa_download_9


The default setting that is applied:


Yaskawa_download_10


Yaskawa Coordinate Output writes definitions to dedicated data sections.

Condition: The Edition 2 robot attribute CENOlpDataOutputStyle is set to RECTAN, which overwrites self.PosType.


Yaskawa_download_11


DataC Part (Robot Position)


Yaskawa_download_12


Yaskawa_download_13


Yaskawa Pulse Output (default) converts the axis values to pulse values by using the Edition 2 robot string attributes CENOlpJointStepFactorValues and CENOlpJointZeroOffsetValues.


Yaskawa_download_14


DataBC Part (Rail)


Yaskawa_download_15


Yaskawa_download_16


DataEC Part (Workpiece Positoner)


Yaskawa_download_17


Yaskawa_download_18


The corresponding move instruction is added, depending on motion type:


Yaskawa_download_19



Handle events


The base downloader calls the HandleEvent() method for both built-in and customized events. Subsequently, the OutputEvent() method is invoked to process the event that has been called.


Yaskawa_download_20


OutputEvent() analysis events and calls functions to set speed, accuracy, acceleration and logic ports.


Yaskawa_download_21



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 Yaskawa data structure. This makes the output much easier. The definition of motion groups and joints can be found at the end of the Yaskawa translator.


Following helper functions prepare the correct output for different Yaskawa group combinations depending on Edition 2 group mapping:


Yaskawa_download_22



Constants & settings for additional customizing


Constants


Below the class definition you will find the constant definition.


Yaskawa_download_23


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.


Yaskawa_download_24



SyncRobots event


The base event supports handshakes to synchronize robots. The event needs to be added to the master and slave with Handshake mode and sync text.


Yaskawa_download_25


Yaskawa_download_30



Previous
Previous page
Chapter
Chapter page
Next
Next page