Warning

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

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.

Important

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

    <command>\n
    
  • with parameter and no value

    <command>␣<parameter>\n
    
  • with parameter and value

    <command>␣<parameter>␣<value>\n
    

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)

Signification

200

The command ran successfully

201 <n>

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

4xx

Error from the Client

5xx

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

401

The received command is unknown

402

The given argument is not valid for this command

403

The production subsystem has not been started

Ensure that a recipe has been started in production.

404

The given parameter does not exist

405

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

406

The requested transition to a different system state is not allowed

407

The recipe identifier is not found in the system

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

408

The recipe is not ready to be used in production

Edit the recipe and complete the teaching wizard.

409

The system is not in a valid state

410

Not valid license found

Ensure that a valid license has been installed.

411

All internal concurrent connections are exhausted

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

Server error codes

501

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.

502

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

503

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

510

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

511

The system is not able to connect to the Asycube

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

512

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

Verify the cabling and the power supply.

513

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

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

514

Error while turning the back light on or off

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

515

Error while turning the front light on or off

Logs might contain more information.

516

The camera is not connected

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

596

Internal error related to the production

Logs should contain more information about the problem.

597

Internal error related to the vision

Logs should contain more information about the problem.

598

Internal error related to the feeder

Logs should contain more information about the problem.

599

Internal error related to system

Logs should contain more information about the problem.