Warning

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

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 line feed ASCII character (i.e. LF, n). 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 26 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

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

408

The recipe is not ready to be used in production

409

The system is not in a valid state

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.

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.