9. Appendix C: Practical Example (RSLogix 500)

The various data used by this sub-program are shown in the following table:

Address

Symbol

Description

B3.0/0

RD_RUNNING

Reading a parameter on all TeSys U motor starters: In progress

 

 

Reading a parameter on all TeSys U motor starters: Reading is correct (OK) or

B3.0/1

RD_OK_KO

incorrect (KO) for a motor starter (if the response has arrived or when timeout

 

 

T4:0 is triggered)

B3:0/5

————

The “trigger byte” of the query has been updated: Yes (1) / No (0)

 

 

Reading a parameter on the TeSys U motor starters: Counter. When the value

C5:0

CPT_RD_TESYS_U

of this counter reaches 9, the process of reading a parameter on all of the

 

 

TeSys U motor starters is halted.

 

 

Result of reading a parameter: Slave (16#01 to 16#08) as MSB. The value of

I:1.10

CR_RDPAR_XXX_SLAVE

this field is compared to that of the corresponding field in the query frame. The

 

 

LSB of this input word is not used.

 

 

Result of reading a parameter: Function (always 16#03) as LSB (the value of

I:1.11

CR_RDPAR_FCT_BYTES

this field is compared to that of the corresponding field in the query frame) +

 

 

number of bytes read (16#02) as MSB (value masked and checked).

 

 

Result of reading a parameter: Value of the parameter read (MSB and LSB

I:1.12

CR_RDPAR_VALUE

are swapped). This value is placed in array N7:[N7:2], then its MSB and its

LSB are swapped there in order to restore the correct value of the read

 

 

 

 

parameter.

N7:1

NUMPARAM

User command: Number of the read parameter.

N7:2

RD_INDEX

Index in the array of results for the reading of a TeSys U parameter. Value = 4

to 11 (motor starters nos. 1 to 8).

 

 

N7:3

ADDRESS

Address of the Modbus slave for which one of the parameters is currently

being read. Value = 1 to 8.

 

 

 

 

Array of results used for the reading of a TeSys U parameter (motor starters

N7:[N7:2]

— [ RD_INDEX ]

nos. 1 to 8). Elements N7:4 to N7:11 (see N7:2). Value = –1 in case of error

 

 

(response timeout triggered).

N7:36

————

Local counter that corresponds to the “trigger byte” of the read request.

N9:0

VAR_TEMP_1

Temporary scratch variable used to carry out intermediate evaluations.

O:1.10

RDPAR_SLAVE_FCT

Request for the reading of a parameter: Slave (from 16#01 to 16#08) as LSB

+ function (always 16#03) as MSB.

 

 

O:1.11

RDPAR_ADRPAR

Request for the reading of a parameter: Address of the parameter (copied

from N7:1, but with MSB and LSB swapped).

 

 

 

 

Request for the reading of a parameter: Number of parameters to be read

O:1.12

RDPAR_NBPARS

(always 16#0001, but with the MSB and LSB swapped, that is to say

 

 

16#0100).

T4:0

TIMEOUT_RD_PARAM

Timer for the timeout of the parameter reading command (3 seconds)

The example includes a personalized screen for monitoring the data, called “CDM 1 - RD_PAR”, in order to simplify the use of this example. The content of this screen is shown below:

Address

Symbol

Display

N7:1

NUMPARAM

Decimal

 

 

 

B3:0/0

RD_RUNNING

Binary

B3:0/1

RD_OK_KO

Binary

N7:2

RD_INDEX

Decimal

N7:3

ADDRESS

Decimal

N7:4

RDPAR1

Decimal

N7:5

RDPAR2

Decimal

N7:6

RDPAR3

Decimal

N7:7

RDPAR4

Decimal

N7:8

RDPAR5

Decimal

N7:9

RDPAR6

Decimal

Address

Symbol

Display

N7:10

RDPAR7

Decimal

N7:11

RDPAR8

Decimal

O:1.10

RDPAR_SLAVE_FCT

Hexadecimal

O:1.11

RDPAR_ADRPAR

Decimal

O:1.12

RDPAR_NBPARS

Hexadecimal

I:1.10

CR_RDPAR_XXX_SLAVE

Hexadecimal

I:1.11

CR_RDPAR_FCT_BYTES

Hexadecimal

I:1.12

CR_RDPAR_VALUE

Hexadecimal

I:1.16

TRIGGER_IN_RD_WR

Hexadecimal

O:1.16

TRIGGER_OUT_RD_WR

Hexadecimal

N7:36

————

Hexadecimal

B3:0/5

————

Binary

90

Page 90
Image 90
Schneider Electric LUFP9 user manual Numparam