As long as there are unread fault records available for the Modbus client in question, bit 1 of the Modbus SSR3 register remains "1".
The fault record reading is done in two steps. First, the client writes a selection code to the Fault record selection register at location 49401. The selection code defines the type of read operation that the client wants to do. The selected fault record is loaded by the protection relay into the following N registers (49402- NNNN). Second, the client reads out these registers in one multiple register read operation.
Fault record structure length
Since the application data part is protection relay type dependent, the length of the fault record structures varies in different types of protection relays. A client can read out more Modbus registers than are actually coded in one structure when reading out the data structures. The maximum read amount is 80 Modbus registers. The additional trailing registers contain the value 0. The Modbus protocol gives an exception response if the client tries to read out too few registers from the fault record structure.
Selection code 1: Reading the oldest unread record
When writing the selection code 1, the protection relay first checks the client. If the client has been reading fault records before, the protection relay knows which internal fault record was sent to this specific client during the last reading. The protection relay then loads the next fault record, that is the oldest unread, into the registers following the selection register. If this is the first time the client reads fault records from the protection relay, the oldest fault record of the Modbus fault record buffer is given to the client.
Selection code 2: Reading the oldest stored record
The selection code 2 always forces the fault record reading to go back to the oldest fault record stored in the buffer. The oldest fault record is then loaded into the registers following the selection register. After the client has read out this record, the next record becomes the oldest unread. The client can continue by reading out the oldest unread fault records again with the selection code 1.
Selection code -1...-99
A negative selection code, that is a 16 bit two's complement value, defines how many records backwards from the newest fault record the reading is to be moved. For example, the ten latest fault records can be read out at any time by first selecting -10, reading out the record and then continuing with the selection code 1 to read out the nine additional records.
Selection code 3: Resetting the fault record read pointer
The write selection code 3 is not followed by a read operation. The selection 3 means that there are no unread records in the Modbus fault record buffer left for the client in question, that is, the buffer is cleared. The next new fault record that is logged into the Modbus fault record buffer becomes the first unread record for this specific client.
Selection code 4: Resetting SSR3 bit 9
The write selection 4 is not followed by any read operation. The selection code only resets bit 9 in SSR3.