You are reading an old version of this documentation. If you want up-to-date information, please have a look at 4.3 .

Protocol specifications

Communication with EYE+ is done using a simple text-based ASCII protocol. The client sends a command, EYE+ responds with a status code followed by a message.


ASCII command must be followed by a unique end of line delimiter as specified in TCP Configuration, the default configuration is LF (i.e \n, ASCII code 0x0A). From TCP terminal, the character is automatically sent and does not need to be specified.

EYE+ command

The command must be written in lower case with underscored separations (e.g. get_parameter). A space must be placed between the command and the parameter and between the parameter and the value. Refer to section Commands for all available commands.

  • without parameter or value

  • with parameter and no value

  • with parameter and value


EYE+ response

EYE+ responds to each client’s command using a code to inform the client of the command’s status. The response always proceeds in the same way:

<response_code>␣<further information>\n

If the response holds more than one line, the number of lines is added after <response_code>.

<response_code>␣<n>␣<further information>\n
<further information>\n
<further information>\n
Table 29 Response codes

<response_code> (ASCII)



The command ran successfully

201 <n>

The command ran successfully and contains <n> lines in the output


Error from the Client


Error from the Server (i.e. EYE+)

Error codes

In case of an error, the error code is followed by a unique description of the error.

Client error codes


The received command is unknown


The given argument is not valid for this command


The production subsystem has not been started

Ensure that a recipe has been started in production.


The given parameter does not exist


A get_part command is already active, most likely using a different connection


The requested transition to a different system state is not allowed


The recipe identifier is not found in the system

Ensure you used the correct recipe identifier and that the recipe is valid for production.


The recipe is not ready to be used in production

Edit the recipe and complete the teaching wizard.


The system is not in a valid state


Not valid license found

Ensure that a valid license has been installed.


All internal concurrent connections are exhausted

Reduce the number of concurrent connections to the TCP/IP protocol.

Server error codes


Timeout occurred while trying to find valid parts

Check that there is a correct number of parts on the plate, the plate is not empty nor overfilled.


An Asycube alarm was raised while trying to find valid parts, causing the command to timeout.


Timeout occurred while the system was waiting on can_take_image to become true


get_part was interrupted by a stop/abort, most likely received on a different connection


The system is not able to connect to the Asycube

Verify the cabling, the power supply and the IP settings.


A communication error occurred while sending/receiving a message to/from the Asycube

Verify the cabling and the power supply.


The command sent to the Asycube returned an error (ErXXXXX)

Logs should contain more information. Check the Asycube programming guide.


Error while turning the back light on or off

Verify the cabling, power supply and connection to the Asycube.


Error while turning the front light on or off

Logs might contain more information.


The camera is not connected

Logs should contain more information. Verify the cabling. The led should be green.


Internal error related to the production

Logs should contain more information about the problem.


Internal error related to the vision

Logs should contain more information about the problem.


Internal error related to the feeder

Logs should contain more information about the problem.


Internal error related to system

Logs should contain more information about the problem.