Release Notes

Release notes provide information on the new features, improvements and bugs fixed on each plugin version.

If you want to update your product, download the latest plugin version here. Then, install it by following the steps presented in Plugin installation.

Version 1.1.1

Resolved Issues

After producing for some time (~1 hour), the following error could appear:

../_images/socket_error_24.png

Fig. 29 socket.error: [Errno 24] Too many open files

After getting this error, the only way to restart production was to restart the UR robot. In version 1.1.1, this error no longer occurs.

Version 1.1.0

New Features

Automatic backup of the plugin configuration

Now the IP address, port number and plugin mode you selected in the installation node are kept in memory even after a robot restart.

Automatic connection to EYE+

The “Connect/Disconnect” and “Refresh” buttons as well as the connection states have been removed from the installation node. Now the connection to EYE+ is automatically performed before each TCP/IP command if the robot is not yet connected.

No need to uninstall the URCap plugin to run another program

In the previous version of the plugin, the user could not run any program without connecting an EYE+. The following error occurred if no EYE+ was connected to your robot, even if you were not using any of the plugin’s features: Compile error: name 'XR_EYE1_s1' is not defined.

../_images/error_not_connectedEYEplus.png

Fig. 30 Cannot run a program without having an EYE+ connected.

You can now run any program with the plugin installed on your robot even if no EYE+ is connected.

Improvements

The names of the functions, variables and EYE+ have changed

  • EYE+ name: The name of the EYE+ in the plugin has been changed as follows:

    • EYE1 -> EYE

    This name is the internal identifier of the connected EYE+ in the plugin. It is the name that is automatically selected in the URCap functions (Fig. 31) and that is used as an identifier in the URScript functions (second input argument).

    ../_images/new_eyeplus_name.png

    Fig. 31 New EYE+ name

    Warning

    Be sure to select the correct EYE+ name in each URCap and URScript function. If you don’t do this, your program will not work.

  • URScript function names: The names of the two URScript functions have changed to the following:

    • EYErawCommand(...) -> EYERawCommand(...)

    • EYEcheckLastError(...) -> EYECheckLastError(...)

      ../_images/urscript_function_dropdown_list.png

      Fig. 32 List of all the functions within the EYE+ plugin

      Warning

      If you use either of these two functions in your program, be sure to make the change. If you don’t, the functions will no longer work.

  • URCap function names: The URCap function for starting EYE+ in production has been modified to the following:

    • EYE1 start production ... -> EYE start_production ...

      ../_images/urcap_start_production.png

      Fig. 33 EYE+ Control - start production

      Warning

      If you use this URCap function in your program, be sure to make the change. If you don’t, the function will no longer work.

  • Variable names: The variable names have been changed as follows:

    • EYE1Pos, EYE1Pos2, EYE1Pos3, … -> EYEPos`, EYEPos2, EYEPos3, …

    • EYE1AR -> EYEAsyRes

    • EYE1Prm -> EYEParam

    ../_images/variables_partquantity3.png

    Fig. 34 New variable names with part_quantity = 3.

    Warning

    If you use these variables in your program, be sure to make the change. If you don’t, your program will not work.

EYERawCommand and EYECheckLastError with default input arguments

The URScript functions now take some default parameters as arguments if none are provided. The new function definitions are as follows:

  • EYERawCommand(<command>, <name = "EYE">, <socket = 1>):

    • If no name is given as a second argument, the default name used is "EYE",

    • If no socket is given as third argument, the default socket used is socket 1.

    ../_images/eyerawcommand_default_arguments.png

    Fig. 35 EYERawCommand: these three commands are exactly the same.

  • EYECheckLastError(<name = "EYE">):

    • If no name is given as argument, the default name used is "EYE".

    ../_images/eyechecklasterror_default_arguments.png

    Fig. 36 EYECheckLastError: these two commands are exactly the same.

Possibility to choose the socket to be used with EYERawCommand

As already presented in the previous topic, the URScript EYERawCommand takes a new third argument which allows the user to choose which socket to send the raw command (socket 1 or 2). Socket 1 is selected by default.

New Error codes

The error codes have been changed from Table 4 to Table 5.

Important

The error codes presented in Table 4 are no longer valid.

Table 4 Old plugin errors - No longer valid

Error code

Description

691

Incomplete coordinates received

692

Cannot convert the error flag

693

Wrong socket number

694

Cannot change sockets timeout

695

EYE+ not registered

696

Wrong input parameter type

697

Plugin timeout

698

Socket not connected

699

Socket error

Table 5 New plugin errors

Error code

Description

601

Communication error

602

Client/Socket configuration error

603

Connection to EYE+ failed

604

Plugin timeout occurred

605

Wrong input parameters

606

Wrong EYE+ name/identifier

699

Unknown error

Version 1.0.1

New Features

Multi-tasking behavior

It is now possible to send two commands in parallel through the UR program. See the example below.

../_images/urcap_multi_threading_example.png

Fig. 37 Example of multithreading used to stop the production in reaction to a change in the DO[1] value

Resolved Issues

Global variable EYE1Pos components

When the UR requests a part, EYE+ sends the coordinates EYE1Pos = p[X, Y, 0, 0, 0, RZ] (X, Y, and yaw). Previously, the last three positions of the of the global variable p[X, Y, Z, RX, RY, RZ], (RX = roll, RY = pitch, & RY = yaw) were described as a rotation vector with a predefined orientation of RX = 180°, RY = 0°, and RZ = the value sent by EYE+. The plugin then performed a transformation of the roll, pitch, and yaw coordinates into a rotation vector.

By transforming the coordinates into a rotation vector, it was not possible to retrieve the true RZ value. This was an issue if the robot configuration p[X,Y,0,180°,0,RZ] was not suitable for the application.

Now the the roll, pitch, and yaw (RX, RY, & RZ) are converted to radians with RX and RY needing to be manually set to 0 as shown below:

../_images/correction_before_move.png

Fig. 38 Position correction before Move

Note

Refer to section EYE1Pos to get more information about the global variable EYE1Pos.