Daihen-OTC translators

Daihen-OTC FD19 downloader

Previous  Chapter  Next

 

Introduction


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


OTC_Daihen_download


Layout preparation


The configuration is done within the Port mapping dashboard of the Layout Builder workbench and later used for the download (and VRC connection). The setup is necessary for the downloader to work correctly. Daihen robot controllers organize resources in so called Mechanisms. The robot arm is usually Mechanism #1, a rail or gantry is Mechanism #2, the workpiece positioner is #3 and so on. Edition 2's representation of the OTC mechanism number is the group ID in the Port mapping dashboard 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.


OTC_Daihen_download_002



Daihen downloader


The Daihen downloader supports:

pageparagraph_8 Tool frame mapping

pageparagraph_8 Point to point, linear and circular motion output.

pageparagraph_8 Cartesian and joint motion target type for all motion

pageparagraph_8 Speed, accuracy & acceleration events

pageparagraph_8 Text event is used to add a regular command or a comment in the Daihen robot program.

pageparagraph_8 Set signal & wait for signal (logic ports)

pageparagraph_8 Boolean signals only

pageparagraph_8 Set resource ports & wait for resource ports

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



Infrastructure


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


OTC_Daihen_download_003


To make program creation as easy as possible, the Daihen program is divided into several sections.


OTC_Daihen_download_004


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


OTC_Daihen_download_005


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


OTC_Daihen_download_006


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


OTC_Daihen_download_007



Header output


The downloader needs to cycle through the entire program to gather all necessary data before constructing the header. This is crucial to ensure that all header information is compiled. The invoked methods are CreateJobHeader() -> CreateOutputFile().

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


Translator_Create_1



Handle motion


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

The motion as well as the cartesian and joint values are output in the same line of the source sections - no data section is needed:


OTC_Daihen_download_010


OTC_Daihen_download_009


Commands or signals are also processed.



Source output


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


OTC_Daihen_download_011


OTC_Daihen_download_026


The corresponding robot point coordinates are evaluated and converted into a suitable format, using the motion target type (joint or Cartesian targets). The axis values of all other mechanisms (rail, positioner, etc.) are always output as joint targets.



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.


OTC_Daihen_download_027


OTC_Daihen_download_014


Text event


The two text events below produce the commands/comments shown in the output.


OTC_Daihen_download_028


OTC_Daihen_download_020


Dwell event


The dwell event inserts a DWELL command to stop the robot for a number of seconds.


OTC_Daihen_download_029


OTC_Daihen_download_022


LogicPort event


LogicPort events set a signal or wait for a signal. They are usually not connected to an actor, like a clamp.


OTC_Daihen_download_030


OTC_Daihen_download_025


SetResourcePort event


SetResourcePort events set a signal connected to an actor, like a clamp. After selecting the desired resource in E2 all of its input ports are displayed and can then be activated to either set or reset the ports state.


OTC_Daihen_download_031


OTC_Daihen_download_021


WaitForResourcePort event


WaitForResourcePort events wait for a signal connected to an actor to change its state. After selecting the desired resource in Edition 2, all of its output ports are displayed and can then be activated to evaluate the port state.


OTC_Daihen_download_032


OTC_Daihen_download_024



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 corresponds with the Daihen file structure which makes the output much easier. The definition of motion groups and joints can be found at the end of the Daihen translator.


OTC_Daihen_download_015



Constants & settings for additional customizing


Constants


Below the class definition you will find the constant definition.


OTC_Daihen_download_016


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


OTC_Daihen_download_017


Minimum & maximum tool frame index


Daihen itself only supports tool frame indices within a common range. Base frames are not supported by the FD19 controller and therefor not being output into the program


OTC_Daihen_download_018


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.


OTC_Daihen_download_019



Previous
Previous page
Chapter
Chapter page
Next
Next page