Algorithm; Timing - GE 469 Instruction Manual

Motor management relay
Hide thumbs Also See for 469:
Table of Contents

Advertisement

6.1 MODBUS PROTOCOL
FUNCTION CODE: This is the second byte of every transmission. Modbus defines function codes of 1 to 127. The 469
implements some of these functions. In a master request transmission the Function Code tells the slave what action to
perform. In a slave response transmission if the Function Code sent from the slave is the same as the Function Code
sent from the master indicating the slave performed the function as requested. If the high order bit of the Function
Code sent from the slave is a 1 (i.e. if the Function Code is > 127) then the slave did not perform the function as
requested and is sending an error or exception response.
DATA: A variable number of bytes depending on the Function Code. This may be actual values, setpoints, or
addresses sent by the master to the slave or vice versa . Data is sent MSByte first followed by the LSByte.
CRC: This is a two byte error checking code. CRC is sent LSByte first followed by the MSByte. The RTU version of
Modbus includes a two byte CRC-16 (16-bit cyclic redundancy check) with every transmission. The CRC-16 algorithm
essentially treats the entire data stream (data bits only; start, stop and parity ignored) as one continuous binary num-
ber. This number is first shifted left 16 bits and then divided by a characteristic polynomial (11000000000000101B).
The 16-bit remainder of the division is appended to the end of the transmission, LSByte first. The resulting message
including CRC, when divided by the same polynomial at the receiver will give a zero remainder if no transmission
errors have occurred.
If an 469 Modbus slave device receives a transmission in which an error is indicated by the CRC-16 calculation, the
slave device will not respond to the transmission. A CRC-16 error indicates than one or more bytes of the transmission
were received incorrectly and thus the entire transmission should be ignored in order to avoid the 469 performing any
incorrect operation. The CRC-16 calculation is an industry standard method used for error detection. An algorithm is
included here to assist programmers in situations where no standard CRC-16 calculation routines are available.
Once the following algorithm is complete, the working register "A" will contain the CRC value to be transmitted. Note that
this algorithm requires the characteristic polynomial to be reverse bit ordered. The MSbit of the characteristic polynomial is
dropped since it does not affect the value of the remainder.
Symbols:
6

Algorithm:

Data packet synchronization is maintained by timing constraints. The receiving device must measure the time between the
reception of characters. If three and one half character times elapse without a new character or completion of the packet,
then the communication link must be reset (i.e. all slaves start listening for a new transmission from the master). Thus at
9600 baud a delay of greater than 3.5 × 1 / 9600 × 10 = 3.65 ms will cause the communication link to be reset.
6-2
Courtesy of NationalSwitchgear.com
-->
data transfer
A
A
; A
16-bit working register; low and high order bytes of A (the 16-bit working register)
;
low
high
CRC
16 bit CRC-16 result
i, j
loop counters
(+)
logical EXCLUSIVE-OR operator
N
total number of data bytes
D
i-th data byte (i = 0 to N – 1)
i
G
16 bit characteristic polynomial = 1010000000000001 (binary) with MSbit dropped
and bit order reversed
shr (x)
right shift operator (the LSbit of x is shifted into a carry flag, a '0' is shifted into the
MSbit of x, all other bits are shifted right one location)
1.
FFFF (hex) --> A
2.
0 --> i
3.
0 --> j
4.
D
(+) A
--> A
i
low
5.
j + 1 --> j
6.
shr (A)
7.
Is there a carry?
8.
Is j = 8?
No: go to 5.; Yes: continue.
9.
i + 1 --> i
10.
Is i = N?
No: go to 3.; Yes: continue.
11.
A --> CRC
469 Motor Management Relay
low
No: go to step 8.
Yes: G (+) A --> A and continue.
6 COMMUNICATIONS
6.1.5 CRC-16 ALGORITHM

6.1.6 TIMING

GE Multilin

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents