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

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).
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(...)
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 ...
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
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 socket1
.
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"
.
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.
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 |
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
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:

Fig. 38 Position correction before Move
Note
Refer to section EYE1Pos to get more information about the global variable EYE1Pos.