9. Appendix C: Practical Example (RSLogix 500)

Management of the response timeout (T4:1). Until the response arrives or if its content is incorrect (bit B3:0/4 = 0), a 3-second timer is set. When this timeout (T4:1/DN = 1) is triggered, the timer is reinitialized, the parameter’s address (O:1.14, after LSB / MSB have been swapped using scratch variable N9:0) and an erroneous value (N9:1 = –1) are placed in the array of results, into two successive locations, reserved for the motor starter currently being polled. Finally, the write process is halted (bit B3:0/3 is reset).

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

Address

Symbol

Description

B3:0/2

WR_COMMAND

User command: Writing a parameter on a TeSys U motor starter.

This bit is activated by the user and reset by the program.

 

 

B3.0/3

WR_RUNNING

Writing a parameter on a TeSys U motor starter: In progress

B3.0/4

WR_OK

Writing a parameter on a TeSys U motor starter: Writing OK (if the

response has arrived and is correct)

 

 

B3.0/6

————

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

I:1.13

CR_WRPAR_SLAVE_FCT

Result of writing the value of a parameter: Slave (16#01 to 16#08)

as LSB + function (always 16#06) as MSB. The values of these

 

 

fields are compared to those of the query

I:1.14

CR_WRPAR_ADRPAR

Result of writing the value of a parameter: Address of the

parameter. The value of this field is compared to that of the query

 

 

(swapping of the MSB and the LSB with each of these two fields)

I:1.15

CR_WRPAR_VALUE

Result of writing the value of a parameter: Value of the written

parameter. The value of this field is compared to that of the query

 

 

(swapping of the MSB and the LSB with each of these two fields)

N7:12

WR_SLAVE

User command: Modbus address of the motor starter to which the

write request should be sent.

 

 

 

 

User command: Address of the parameter

N7:13

WR_ADDRESS

N.B. Do not attempt to change the value of register 704 (command

register), because it is already controlled by the DeviceNet master

 

 

 

 

(see sub-program “LAD 3 - CMD_MON”)!

N7:14

WR_VALUE

User command: New value of the parameter

 

 

Index in the array of results for writing TeSys U parameters (motor

N7:15

WR_INDEX

starters nos. 1 to 8).

 

 

Value = 16 + 2 × (motor starter no. – 1) = 16 to 30

 

 

Array of results for writing TeSys U parameters (motor starters nos.

 

 

1 to 8). Elements N7:16 to N7:31 organized by “parameter address”

N7:[N7:15]

— [ WR_INDEX ]

/ “parameter value” pairs, each pair occupying two successive

addresses.

 

 

 

 

“Parameter value” = –1 if there is an error (response timeout

 

 

triggered).

N7:37

————

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

request.

 

 

N9:0

VAR_TEMP_1

Temporary variables used to carry out the intermediate evaluations

N9:1

VAR_TEMP_2

(primarily LSB / MSB swappings).

O:1.13

WRPAR_SLAVE_FCT

Request for writing the value of a parameter: Slave (copied from

N7:12) as LSB + function (always 16#06) as MSB.

 

 

O:1.14

WRPAR_ADRPAR

Request for writing the value of a parameter: Address of the

parameter (copied from N7:13, but with MSB and LSB swapped).

 

 

O:1.15

WRPAR_VALUE

Request for writing the value of a parameter: Value of the parameter

(copied from N7:14, but with MSB and LSB swapped).

 

 

92

Page 92
Image 92
Schneider Electric LUFP9 user manual Wrrunning