At a Glance

The UNI-TE protocol is used to:

  • identify and diagnose all the devices that have a UNI-TE server

  • provide a set of services giving read/write access to type data

  • download data from device to device

  • protect a server against concurrent connections during a critical period

These different services can be obtained using the SEND_REQ function, with coding of the UNI-TE request to be sent.

NOTE: To find out details and the list of requests recognized by each device, refer to the TSX DR NET reference manual.

The following tables provide a non-exhaustive list of the requests recognized by Premium devices.

General Usage Requests

These requests are used to identify and diagnose all the types of devices that have a UNI-TE server.

Request Name

Request Code

Report Code

Comment

IDENTIFICATION

16#0F

16#3F

Provides the following information:

  • product range

  • specific application type

  • product type

  • catalogue reference

READ_CPU

16#4F

16#7F

Performs system diagnostics on any device.

PROTOCOL_VERSION

16#30

16#60

Used to adapt the version of the protocol between two communicating entities.

MIRROR

16#FA

16#FB

Tests the correct routing of data between two communicating devices.

Dynamic Modification of IP Parameters

Change IP Parameters

Request Name

Request Code

Comment

REQUEST CODE

16#37

request code function

CHANGE IP PARAMETERS

16#13

changes IP parameter subfunction

To ensure that the ETY module is ready for operation, allow the PLC to run (in run mode) for 15 seconds after the last stop mode before issuing the SEND_REQ function. After the user issues the CHANGE IP PARAMETERS command and the ETY module accepts the new parameters, the ETY module resets and begins operations with the new parameters.

NOTE: FDR clients that use the ETY module for a server must be rebooted after the ETY's IP address change is completed. Otherwise, these FDR clients can not update their parameter files on the FDR server (the ETY module).
NOTE: Constant words contain the original configuration parameters, not those that were updated after the IP address change.
NOTE: You can see the new configuration (IP parameters, subnet mask, and gateway address) in the Control Expert ETY debug screen. You can also see the newly assigned IP address in the Ethernet Module Statistics web page; however, you must be aware that the IP Address, Subnetwork mask, and Gateway data on this page reflect the old configuration.

Parameter Usage for IP Address Change

This table is based on a sample IP address of 139.158.10.7, subnet mask 255.255.248.0, and gateway address of 139.158.8.1.

Parameter

Type

Value

Comment

ADDRESS

array [0...5] of INT

ADDR (‘rack.slot.channel.SYS’)

Example: ADDR (0.x.0.SYS’) x = slot in which ETY module is installed

REQUEST_CODE

INT

16#37

 

Data_to_Send

array [0...8] of INT

byte 1: subfunction (13h)

high byte

byte 2: subfunction (96h)

low byte

byte 3: 0

Value is ignored.

byte 4: 0

Value is ignored.

byte 5: IP address 2 (158)

1-239 (high byte)

byte 6: IP address 1 (139)

0-255 (low byte)

byte 7: IP address 4 (7)

0-255 (high byte)

byte 8: IP address 3 (10)

0-255 (low byte)

byte 9: subnet mask 2 (255)

255

byte 10: subnet mask 1 (255)

0-255

byte 11: subnet mask 4 (0)

0-255

byte 12: subnet mask 3 (248)

0-255

byte 13: gateway 2 (158)

1-239 (Gateway address must be on the same subnet as the IP address.)

byte 14:gateway 1 (139)

0-255

byte 15:gateway 4 (1)

0-255

byte 16:gateway 3 (8)

0-255

Manage_Param

word number

high byte

low byte

1

activity report

00

2

operation report (see note)

communication report (see note)

3

timeout (ms)

4

length: 18 (INT)

NOTE: The following table gives details for IP address codes (successful and error).

Refer to the example for Changing IP Parameters with SEND_REQ.

Change IP Address Codes

Operation Report

Communication Report

Meaning

successful code

FE (hex)

00 (hex)

(SEND_REQ) successfully changed IP address

error codes

01 (hex)

FF (hex)

invalid request code value (e.g., not 16#37)

00 (hex)

03 (hex)

SEND_REQ to ETY IP address instead of across backplane

00 (hex)

07 (hex)

bad address mapping to the ETY

16 (hex)

FF (hex)

invalid IP address

17 (hex)

FF (hex)

invalid subnet

18 (hex)

FF (hex)

invalid gateway address

19 (hex)

FF (hex)

invalid network address

1A (hex)

FF (hex)

ETY’s IP address was already set to SEND_REQ)

FD (hex)

00 (hex)

(SEND_REQ) did not successfully changed IP address

Parameter Usage for Reset Module Command

A Reset Module operation causes Premium ETY and ETY PORT communication modules to enter a cycle to reset its working environment. To program a SEND_REQ function block to perform a Reset Module command, use function code 37, subfunction code 10.

Parameter

Type

Value

Comment

ADDRESS

array [0...5] of INT

ADDR (‘rack.slot.channel.SYS’)

Example: ADDR (0.x.0.SYS’) x = slot in which ETY module is installed

REQUEST_CODE

INT

16#37

 

Data_to_send

array [0...1] of INT

byte 1: subfunction (10h)

high byte

byte 2: subfunction (96h)

low byte

bytes 3, 4: 0

reserved

Manage_Param

word number

high byte

low byte

1

activity report

00

2

operation report (see note)

communication report (see note)

3

timeout (ms)

4

length: 4 (INT) (in this example)

NOTE: The following table gives details for Reset Module codes (successful and error).

Reset Module Command Codes

Operation Report

Communication Report

Meaning

successful code

FE (hex)

00 (hex)

SEND_REQ successfully reset module

error codes

01 (hex)

FF (hex)

invalid request code value (e.g., not 16#37)

00 (hex)

07 (hex)

bad address mapping to the ETY

FD (hex)

00 (hex)

SEND_REQ did not reset module

Accessing Objects

These requests provide a set of services that give read/write access to internal bit and word-type data, system bit and word-type data, floating point data, constant data and SFC data.

Request Name

Request Code

Report Code

Comment

READ_OBJECT

16#36

16#66

Used to read one or more consecutive objects of the same type.

WRITE_OBJECT

16#37

16#FE

Used to write one or more consecutive objects of the same type.

READ_INTERNAL_BIT

16#00

16#30

Used to read the value of an internal bit.

WRITE_INTERNAL_BIT

16#10

16#FE

Used to write the value of an internal bit.

READ_INTERNAL_WORD

16#04

16#34

Used to read the value of an internal word.

WRITE_INTERNAL_WORD

16#14

16#FE

Used to write the value of an internal word.

Management of Operating Modes

These requests provide a set of services that can be used to manage a processor's operating modes.

Request Name

Request Code

Report Code

Comment

RUN

16#24

16#FE

Used to launch the execution of a processor's tasks.

STOP

16#25

16#FE

Used to stop the execution of a processor's tasks.

INIT

16#33

16#63

Used to trigger a hot or cold re-start.

Reservation Management

These requests provide a reservation mechanism that is used to protect a server against concurrent connections during a critical period.

Request Name

Request Code

Report Code

Comment

RESERVE

16#1D

16#FE

Enables a client to generally or partially reserve a server's functions.

RELEASE

16#1E

16#FE

Enables a client to free up the reserved server.

I_AM_ALIVE

16#2D

16#FE

Used to maintain the reservation.

NOTE: to reserve the PLC, write %SW110 to 1 and use the SEND_REQ function with Request Code 16#1D.

If NOT Management_Table[0].0 then (*reservation 1D*)

Management_Table[2]:=4; (* time out *)

SEND_REQ (ADR :=ADDR('sys'),

CODE := 16#001D,

EMIS := Emis_table,

GEST := Management_Table,

RECP => Receive_buffer);

END_IF;

With variables created in de the Data Editor as:

  • Management_Table: ARRAY [0..3] OF INT

  • Emis_table: ARRAY [0..0] OF INT

  • Receive_buffer: ARRAY [0..0] OF INT

NOTE: create the variables without any value inside, only the timeout value has to be set in Management_Table[2].