Schneider Electric LUFP9 user manual Appendix C Practical Example RSLogix

Models: LUFP9

1 118
Download 118 pages 63.73 Kb
Page 91
Image 91

9. Appendix C: Practical Example (RSLogix 500)

9.4.Sub-Program for Writing a Parameter on a Single TeSys U Motor Starter: “LAD 5 - WR_PAR”

The role of this sub-program consists of writing the value of a parameter on a single TeSys U motor starter. The user should enter the address of the TeSys U motor starter (N7:12), the address of the parameter (N7:13) and the value to be assigned to the parameter (N7:14). Finally, he should activate bit B3:0/2 to activate the writing process. This bit is automatically reset by the LAD 5 sub-program. When the writing process is finished, the result of the writing (address of the parameter and value of the parameter) is copied in an array starting at N7:16 (for motor starter no. 1) and ending at N7:31 (for motor starter no. 8), using variable N7:15 as an index. Two successive cells of this array are used for each motor starter: The first receives the parameter’s address and the second its value. The processes carried out by this sub-program are described below, in the order in which they are run:

The sub-program goes into standby mode. The rest of the sub-program is not run until the user has activated bit B3:0/2. This allows the user to enter the values of data N7:12, 13 and 14 one after another beforehand.

The data the sub-program uses subsequently is initialized, but only if the writing process is finished (B3:0/3 = 0). These initializations are summarised below:

ƒB3:0/2 = 0.............................User command: The command for writing a parameter on a TeSys U motor starter is reset.

ƒB3:0/3 = 1.............................A parameter is written on a TeSys U motor starter: In progress.

ƒReset (T4:1) .........................The timer related to the timeout of the parameter write response is reset.

ƒN7:15 = (N7:12 × 2) + 14 .....Index in the array of results.

ƒN7:[N7:15] = { 0 ; 0 } ............The content of the array of results is reset, but only for the motor starter affected by the write query (two successive bytes).

ƒB3:0/6 = 0.............................Enables the update of the “trigger byte” that will trigger the emission of the query.

The output data corresponding to the write query is updated (O:1.13 to O:1.15) and the N7:37 counter (“trigger byte”) is increased by one. This update is only done once (bit B3:0/6 used for this pupose).. Reminder: In the LUFP9 gateway’s default configuration, this output data corresponds to the personalized Modbus command “Transactions 2” of the “TeSys U n°1” node. The query frame for this personalized command is sent when the “trigger byte” located in bits 8-15 of O:1.16 is changed (“Update mode” = “Change of state on trigger”). As a result, increasing the N7:37 counter, then updating O:1.16 using N7:37 (in “LAD 2 – MAIN_LUFP9”), causes this query to be sent. On the other hand, the output data O:1.13 to O:1.15 must be valid so that the content of the Modbus query remains coherent! The LSB and the MSB of outputs O:1.14 and O:1.15 must be swapped. The scratch variable N9:0 is used to carry out this swap between variables N7:13 and N7:14 and outputs O:1.14 and O:1.15.

The data from the Modbus response which corresponds to this write command is checked. The values of inputs I:1.13 to I:1.15 are compared to those of outputs O:1.13 to O:1.15 to determine whether the response to the command has arrived or not. If the slave number, the function number, the address of the parameter and its value correspond to those of the query (see above) and the number of bytes of data received is correct, bit B3:0/4 is activated in order to tell the rest of the sub-program that the response has arrived and that it is correct.

The address and the value of the parameter are copied into two successive locations in the array of results (indexing carried out using N7:15), reserved for the motor starter currently being polled and only takes place if the response has arrived and its content is correct (bit B3:0/4 active). The LSB and the MSB for each of these two items of data are then swapped to restore its correct value. The timer for the response timeout (T4:1) is reinitialized to ready the program for a future write command. Bit B3:0/3 is reset to show that the command is finished, thus avoiding having to run the rest of the sub-program.

91

Page 91
Image 91
Schneider Electric LUFP9 user manual Appendix C Practical Example RSLogix