0% found this document useful (0 votes)
168 views21 pages

Fault Recorder120 071

This document describes the detailed design of the Fault Recorder component for an MV PLATFORM protection and control system. The Fault Recorder constructs a fault record when a fault is detected, containing data about conditions at the fault time. For some products, it interfaces with a Fault Locator task to provide additional fault data. It also interfaces with an Event Logger. The design covers the component structure, operation, data formats, interfaces, and internal implementation.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
168 views21 pages

Fault Recorder120 071

This document describes the detailed design of the Fault Recorder component for an MV PLATFORM protection and control system. The Fault Recorder constructs a fault record when a fault is detected, containing data about conditions at the fault time. For some products, it interfaces with a Fault Locator task to provide additional fault data. It also interfaces with an Event Logger. The design covers the component structure, operation, data formats, interfaces, and internal implementation.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 21

ã1997

DEVELOPMENT SPECIFICATION 50300.3120.071


Page 1 of 21
Issue D.2
24 May 1999

MV PLATFORM CONFIDENTIAL
The information contained in this
document is not to be
MICOM PROTECTION AND CONTROL FAULT communicated either directly or
RECORDER indirectly to any person not
authorised to receive it.
DETAILED DESIGN SPECIFICATION

Distribution:
Dept. Recipient

Issue to Volume 2.1

Title Signature Name Date

Author Richard Bentley

Approving Signatory 1 G. W. Evans

Approving Signatory 2 N. Robinson

Approving Signatory 3 T. Yip

Approving Signatory 4 S. Potts

GEC ALSTHOM T&D PROTECTION & CONTROL LIMITED, St Leonards Works, Stafford ST17 4LX, England
Tel: 01785 223251 Telex: 36240 Fax: 01785 212232
50300.3120.071 DEVELOPMENT SPECIFICATION
Page 2 of 21
Issue D.2
24 May 1999

Table of Contents

1. INTRODUCTION.........................................................................................................................
1.1. REFERENCES........................................................................................................................
1.2. VOB LOCATION....................................................................................................................
2. PURPOSE......................................................................................................................................

3. ASSUMPTIONS............................................................................................................................

4. CONSTRAINTS............................................................................................................................

5. DESIGN.........................................................................................................................................
5.1. COMPONENT STRUCTURE.................................................................................................
5.2. OPERATION...........................................................................................................................
5.2.1. Basic Operation........................................................................................................................
5.2.2. Operation With A Fault Locator Task.......................................................................................
5.2.3. Fault Data Acquisition Window................................................................................................
5.2.4. Protection Timing......................................................................................................................
5.2.5. Undercurrent Pickup.................................................................................................................
5.2.6. FAN Value.................................................................................................................................
5.2.7. COT Value................................................................................................................................
5.2.8. Product-Specific Fault Recording.............................................................................................
5.2.9. Fault Recorder Availability.......................................................................................................
5.2.10. Fault, Start And Start Fault Recorder Triggers......................................................................
5.2.11. Fault Recorder/Fault Locator Interface..................................................................................
5.2.12. Disabling The Fault Locator...................................................................................................
5.3. SAMPLE RECORD STRUCTURE.........................................................................................
5.4. FAULT LOCATOR ANSWER STRUCTURE.........................................................................
5.5. FAULT RECORD STRUCTURE............................................................................................
5.5.1. Common Fault Record Structure...............................................................................................
5.5.2. Product-Specific Fault Record Structure..................................................................................
5.6. REPOSITORY DATA.............................................................................................................
5.7. SAMPLE DATA......................................................................................................................
5.8. EXTERNAL INTERFACES....................................................................................................
5.8.1. Public Types..............................................................................................................................
5.8.2. Public Constants.......................................................................................................................
5.8.3. Public Variables........................................................................................................................
5.8.4. Public Functions.......................................................................................................................
5.8.5. External References...................................................................................................................
5.9. INTERNAL STRUCTURE......................................................................................................
5.9.1. Types.........................................................................................................................................
5.9.2. Constants...................................................................................................................................
5.9.3. Variables...................................................................................................................................
5.9.4. Functions...................................................................................................................................
6. PHYSICAL REALISATION.......................................................................................................

1.
DEVELOPMENT SPECIFICATION 50300 .3120.071
Page 3 of 21
Issue D.2
24 May 1999

INTRODUCTION
The purpose of this document is to describe the detailed design of the Fault Recorder component.

1.1. REFERENCES
Reference Document No. Document Name
[A] 50300.3100.001 MV PLATFORM Product Specification
[B] 50300.3110.003 MV PLATFORM MiCOM Common Requirements
Product System Specification : Software
[C] 50301.3110.003 MV PLATFORM MiCOM Feeder Protection Product
System Specification: Software
[D] 50304.3110.003 MV PLATFORM MiCOM Current Differential
Protection Product System Specification: Software
[E] 50305.3110.003 MV PLATFORM MiCOM Generator Protection
Product System Specification: Software
[F] 50301.3110.005 MiCOM Feeder Product System Specification:
Software Architecture
[G] 50300.3120.051 MV PLATFORM MiCOM Protection And Control
Task Detailed Design Specification
[H] 50300.3120.054 MiCOM Protection and Control Repository Detailed
Design Specification
[I] 50300.3120.074 MV PLATFORM MiCOM Fault Locator Task
Detailed Design Specification
[J] 50300.3110.201 MV PLATFORM Protection And Control Application
Product System Specification: Software Architecture

1.2. VOB LOCATION


This file is located at :
/50300PR/DEV/pr/DOC/120_071.doc

2. PURPOSE
The purpose of the component is as follows :-
· When a fault is detected, a fault record is constructed that details the conditions prevailing at
the time of the fault
· In the case of the ‘Feeder’ and ‘Current Differential’ MiCOM products, an interface to a Fault
Locator task is used to provide additional data for the fault record
· An interface to the Event Logger is used to store the fault record

3. ASSUMPTIONS
The following assumptions are made:
· The component is initialised (via the supplied public function) prior to use
50300.3120.071 DEVELOPMENT SPECIFICATION
Page 4 of 21
Issue D.2
24 May 1999

· The component only executes within a single thread of execution. Therefore, only one of its
functions may be active at any one time
· The component is to be invoked on each execution cycle of the Protection task
· The data structure representing the repository will be globally accessible
· The FAN (fault number) value used by the Fault Recorder is updated and maintained by means
external to this component
· The COT (Cause Of Transmission) value used by the Fault Recorder is updated and maintained
by means external to this component

4. CONSTRAINTS
None.

5. DESIGN
5.1. COMPONENT STRUCTURE
The following diagram illustrates how the Fault Recorder component interfaces between the main
Protection And Control task, the Fault Locator task (if applicable) and the Event Logger.

Fault Record
Fault Recorder
Component

Protection Task
Supervisor Task
Fault Location Answer

Request
Fault Location

Product Specific

Fault Locator

5.2. OPERATION
The operation of the Fault Recorder component depends upon the product in which it is operating.
The products that differ are the Feeder and Current Differential. For this reason, the basic operation
is described first, and then the more complex operation of these two products is described
separately.
5.2.1. Basic Operation
The component is executed by the main PCON task and its operation is co-ordinated by the
following flags.
DEVELOPMENT SPECIFICATION 50300 .3120.071
Page 5 of 21
Issue D.2
24 May 1999

· Any Start. Indicates that one or more of the protection elements have started. This state is
contained within the Digital Data Bus.
· Any Trip. Indicates that one or more of the protection elements have tripped. This state is
evaluated by a product-specific function.
· Fault Recorder Start. Instructs the Fault Recorder component that a Fault Record should be
created for the previous Start/Trip, or from this point on if no Start/Trip has occurred. This
state is contained within the Digital Data Bus.
· Trigger. This is the logical OR of the Any Start, Any Trip and Fault Recorder Start.
The fault recording window extends from the point where the Trigger is set AND the Fault
Recorder Start is set to the point where the Fault Recorder Start clears. The following diagram
illustrates this window for various sequences of Trigger and Fault Recorder Start flags.

Trig ger

Fault Rec'
Start
Fault Recordin g Window

Trigger

Fault Rec'
Start
Fault Recording Window

5.2.1.1. Operation
1. In its basic configuration, the Fault Recorder component does not need to interface to a Fault
Locator task.
2. It retrieves the state of the ‘Any Start’, and ‘Fault Recorder Start’ flags and evaluates ‘Any
Trip’ and then ‘Trigger’. This is the fault trigger for the Fault Recorder operation. If it is set,
then the component gathers together the data required to partially construct a Fault Record.
This is the start of the Fault Recorder Window. A time stamp for the fault is also determined
and included into the Fault Record.
During the Fault Recorder Window, time-stamps are also recorded for ‘Any Start’ and/or
‘Any Trip’ events.
Note that not all fault detection elements generate a start event. In addition, a trip event is
never guaranteed. Therefore, a these events can not always be detected. In this case, the time
calculations that rely on the respective event are set invalid.
3. ½ cycle after first detecting the fault trigger condition, various other fields within the Fault
Record are populated with data. The reason for the ½ cycle delay is to prevent capturing data
50300.3120.071 DEVELOPMENT SPECIFICATION
Page 6 of 21
Issue D.2
24 May 1999

at the very instant of the fault (which may be noisy). At very low frequencies, the time span
represented by ½ cycle becomes unacceptably long. Therefore, a product-specific constant
may also be defined that specifies a frequency threshold. Above this frequency, the ½ cycle
‘timer’ is used. Below this threshold, the Fault Recorder populates the relevant Fault Record
fields immediately the fault is detected.
4. The product-specific function of the Fault Recorder component is then executed. The purpose
of this is to add any product-specific data to the fault record.
5. The entire Digital Data Bus state is collected (OR’d with the previous state) during the entire
time that the Fault Recorder window is active - ie until ‘Fault Recorder Start’ falls.
6. As this process progresses, the Fault Recorder continues to monitor the ‘Fault Recorder Start’
flag.
7. If the ‘Fault Recorder Start’ flag is set while the ‘Trigger’ flag is set (or it was the original
cause of the Trigger), the event is recorded.
8. The state of the ‘Undercurrent Pickup’ is determined (ref. para. ). This state marks the
clearing of the fault. When it is set, the event is time-stamped and recorded. Three times are
calculated and added to the fault record (see para. ).
Note that it is not always possible to determine an ‘Undercurrent Pickup’ event, resulting in
constant false condition. In this case, the time calculations that rely on this event are set
invalid.
9. When the ‘Fault Recorder Start’ flag falls, the DDB data sampling ends. A product-specific
function is also executed to extract DDB data. The results are added to the Fault Record. The
Fault Recorder transmit the Fault Record to the Supervisor task via the Fault Record FIFO.
10. ‘Trigger’ must be reset before a new fault can be detected.
Notes
· If ‘Trigger’ is active for less than ½ cycle, the Fault Record is discarded. This condition will
not be detected if the ½ cycle ‘timer’ has not been used by virtue of the frequency being
below the specified threshold.
· If ‘Trigger’ falls prior to ‘Fault Recorder Start’ being set (if the latter was not the actual cause
of the former), then the Fault Record is discarded and the Fault Recorder reset, ready to
accept a new trigger.
5.2.1.2. Trip LED
The Fault recorder controls the Trip LED output via a product-specific function;
faultrecxTripLED. This function must evaluate the state of the Trip LED and output to the state to
the hardware, via the appropriate Platform API function.
5.2.2. Operation With A Fault Locator Task
When operating within the Feeder or Current Differential products, the Fault Recorder component
must interface with a Fault Locator task. The operation of this component under these
circumstances is as described for the basic operation, with the following additional notes.
For the Fault Locator task to locate a fault it requires 6 cycles of samples from before the time of
the fault trigger, and 6 cycles of samples from after the time of the fault trigger. Each cycle of data
is composed of 24 sets of samples. Each sample set is composed of 7 individual sample readings.
This means that a total of 288 (24 x 12) sets of 7 samples are required.
Within the Fault Recorder component are six circular Sample Buffers, 288 elements long (each
element comprising 7 samples). One of these circular buffers is constantly being updated with the
DEVELOPMENT SPECIFICATION 50300 .3120.071
Page 7 of 21
Issue D.2
24 May 1999

latest set of samples each time the component is invoked, so that it always contains the latest
available samples.
The scheme used by the Fault Recorder demands that it maintains a queue of Fault Records. In
fact, five Fault Records may be pending at any one time. Each Fault Record may (or may not) be
associated with a Sample Buffer. This is used to collect sample data for fault location calculation
purposes. Association and disassociation of Sample Buffers to Fault Records occurs dynamically
at run-time.
There are six Sample Buffers (one more than there are Fault Records). This is so that the Fault
Recorder can continue to collect (potential pre-fault) sample data even if all five Fault Records are
waiting for a fault location response.
For a fault location to be calculated, 6 cycles of pre-fault data and 6 samples of post-fault data
must be captured. At any one time, one of the Sample Buffers is being populated with (potential)
pre-fault sample data. When a fault is triggered (via ‘Trigger’), the state of the Sample Buffers and
Fault Records is examined. For the fault to be recorded at all, there must be a spare Fault Record.
If there isn’t, an event is raised indicating the condition. If there is a spare fault record, then it is
initialised and partially populated with fault data. The state of the Sample Buffer currently being
populated is also examined. If it contains less than the required 6 cycles of pre-fault data, then the
Fault Record is constructed without attempting to make a fault location request; the Sample Buffer
continues to be populated with sample data, independently of the Fault Record construction and
fault status. If a Sample Buffer is allocated to the Fault Record, the Fault Recorder gathers a
further 6 cycles of samples and populates the remaining post-fault samples in the Sample Buffer.
When the 6 cycles of post-fault samples have been collected, the fault sample data is made
available to the Fault Locator task. On further invocation of this component, a new Sample Buffer
is selected, and this is populated with new samples. This new buffer is allocated to a subsequent
fault record as and when required.
Note that because there is one more Sample Buffer than their are Fault Records, it is guaranteed
that there will always be at least one free Sample Buffer for collecting pre-fault sample data.
When the Fault Locator task has processed the fault data, it returns a reply to the Fault Recorder.
The Fault Recorder component takes the reply data and includes it into the appropriate partially
constructed Fault Record. It also adds any other data to the Fault Record that must be collected at
this time. The Fault Record is then transmitted to the Supervisor task’s fault FIFO. The Sample
Record that was used by the Fault Recorder is now ready to be re-used for gathering new samples.
Fault Records are transmitted to the fault FIFO in strict order, whether or not a fault location is to
be calculated.
If no ‘Fault Recorder Start’ flag is set in the DDB prior to the fault trigger falling (i.e. the former
was not the cause of the latter), then no location request shall be made to the Fault Locator task.
Any sample data that has been accumulated when such a condition is detected, is discarded (if a
subsequent Sample Buffer has already been allocated for collecting sample data) or re-assigned to
pre-fault data (if it is still being used to collect post-fault sample data) along with the associated
Fault Record.
5.2.3. Fault Data Acquisition Window
The events which drive the Fault Recorder component and the time period over which the Fault
Recorder component gathers data is shown by the following examples.
50300.3120.071 DEVELOPMENT SPECIFICATION
Page 8 of 21
Issue D.2
24 May 1999

5.2.3.1. Fault Detection Example 1

Trigger

Fault Rec.
Start

T1

T2 T3
A B C D

Trigger

Fault Rec.
Start

T1

T2 T3
A B D C

With reference to the above diagram:-


1. Two separate faults (occurring at different times) are illustrated. A fault is detected at point
‘A’. If the Fault Location task is available, the samples saved during period ‘T2’ become the
pre-fault data. Refer to para. for further details.
2. ½ cycle (or immediately, if the frequency is below the frequency threshold) after the detection
of the fault (point ‘B’), a set of sample data is recorded. Refer to para. for further details.
3. If the Fault Locator task is applicable to the product, the samples saved during period ‘T3’
become the post-fault data for the Fault Locator task. At point ‘C’, or when ‘Fault Recorder
Start’ is set (whichever is later), a fault location request is made to the Fault Locator task.
4. Between points ‘A’ and ‘D’ (when ‘Fault Recorder Start’ is reset), the Fault Recorder samples
the Digital Data Bus. Samples of the DDB are OR’d together of the time period of the Fault
Recorder window. From this, various bits are extracted and processed further. The result is
added to the Fault Record.
5. If a request was made to the Fault Locator task, then as soon as a reply is received from it, or
when ‘Fault Recorder Start’ resets (whichever is later), the Fault Record is completed and
DEVELOPMENT SPECIFICATION 50300 .3120.071
Page 9 of 21
Issue D.2
24 May 1999

transmitted to the fault FIFO. If no such request was or will be made, the record is completed
and transmitted at point ‘D’ (unless queued because of pending fault location requests).
Note: If ‘Fault Recorder Start’ is not detected as being set high at any time when the Trigger is
set, no fault record is produced; the fault is ignored. Because ‘Fault Recorder Start’ is used
to derive ‘Trigger’, the former can never be set without the latter also being set.
5.2.3.2. Fault Detection Example 2

Trigger

Fault Rec.
Start

T1

T2 T3
A B D E C F

The above example is similar to the previous one except that it illustrates the fault trigger at point
‘A’ being released, and a second fault trigger being flagged at point ‘E’. In this case, the second
fault results in a Fault Record being constructed, but without any fault location data. The window
in which the Digital Data Bus data is collected for the second fault extends from point ‘E’ to point
‘F’. The handling of the first fault is identical to the previous example.
Note: If the ‘Fault Recorder Start’ flag did not reset prior to the second trigger being set, then the
second trigger would be ignored by the Fault Recorder, and only a fault record for the first
trigger would be created.
5.2.4. Protection Timing
There are three times that must be calculated and included into the Fault Record. These are defined
as follows.
· Protection operating time (protection trip - protection start)
· Circuit breaker operating time (latest undercurrent pickup - protection trip - relay operate time
constant).
· Fault duration time (latest undercurrent pickup - protection start)
Where:
‘protection start’ is the time at which the ‘Any Start’ flag rises.
‘protection trip’ is the time at which the ‘Any Trip’ flag rises.
‘undercurrent pickup’ is determined for each pole. It is the point at which the fault is cleared
(breaker opened) - see para. .
‘relay operating time’ is a constant.
Note that if any of the three time-stamps are unavailable, then the affected times are set as invalid
(zero) in the fault record and the appropriate ‘valid’ flag is not set.
50300.3120.071 DEVELOPMENT SPECIFICATION
Page 10 of 21
Issue D.2
24 May 1999

5.2.5. Undercurrent Pickup


Undercurrent Pickup is determined in the following way (for each pole ‘n’) :-
FastUndercurrent  UNDERCURRENT_FAST_PHASE_n
· If FastUndercurrent is set when the fault trigger is first detected :-
UndercurrentPickup  FastUndercurrent AND POLE_DEAD_n
· If FastUndercurrent is not set when the fault trigger is first detected:-
UndercurrentPickup  FastUndercurrent
5.2.6. FAN Value
The Fault Recorder component extracts the FAN value from the Repository and adds it to the Fault
Record when it is created.
5.2.7. COT Value
The Fault Recorder component extracts the COT value from the Repository and adds it to the Fault
Record when it is created.
Note that the COT value is not actually used by the fault logging system. The reason for including
it is in case the Fault Record FIFO interface to the Supervisor task fills up during use; each time
the Supervisor task extracts a fault record from the FIFO, it reads and notes the COT value. In the
event of a FIFO overflow, the Supervisor task generates an event to log the problem. The event
must include a COT value and the Supervisor task uses the COT value extracted from the previous
fault record.
5.2.8. Product-Specific Fault Recording
The fault records created by this component are divided into two parts; a common section and a
product-specific section. There are two product-specific functions that are executed when a Fault
Record is being constructed.
· One to populate the Fault Record with any product-specific data ½ cycle after the initial fault
detection. This function will be called immediately on detection of a fault if the frequency is
below the specified frequency threshold.
· One to populate the Fault Record with any product-specific data just prior to the Fault Record
being transmitted to the fault FIFO.
A particular product may or may not require none or a combination of these functions depending
on the product-specific data that it requires in the Fault Record
5.2.9. Fault Recorder Availability
Because of the need to record a certain number of samples previous to any fault being detected, the
Fault Locator can not always be invoked for every occurrence of a fault being flagged.
The following example illustrates when the Fault Locator may be invoked and how the Fault
Recorder handles a fault when the Fault Locator can not be invoked. The sine wave is a generic
representation of the sample data.
DEVELOPMENT SPECIFICATION 50300 .3120.071
Page 11 of 21
Issue D.2
24 May 1999

T1 T2 T3 T4 T5
A B

Fault Locator
Switch On Trigger
Invoked

Note: The shaded areas of the diagram indicate when preparations for requesting a fault location
can be made in the event of a fault being detected. This shows that for a fault to have a
location calculated for it, at least 12 full cycles must divide it from any previous fault which
also had (or is in the process of having) a location calculated for it.
With reference to the above diagram:-
1. The ‘Switch On’ point represents the very first invocation of the Fault Recorder component
since the switch on of the protection relay. The component immediately begins to capture and
store sample data.
2. At point ‘A’, 6 complete cycles of data have been saved. Any fault occurring prior to this time
will be result in a fault being logged to the fault FIFO. No preparations shall be made for
transmitting a fault location request to the Fault Locator as there is insufficient pre-fault data
saved to perform the location calculations.
3. The above example illustrates a fault occurring (Trigger). Because this fault has occurred after
point ‘A’, the Fault Recorder is able to prepare for making a fault location request to the Fault
Locator. This point in time becomes the time of the fault. The 6 cycles of sample data that
were stored during period ‘T2’ becomes the pre-fault sample data. The sample data that was
stored during period ‘T1’ will be discarded as an affect of being overwritten by the post-fault
data. In fact, the data stored during period ‘T1’ would be overwritten eventually anyway,
regardless of whether a fault was detected or not.
4. The Fault Recorder continues to save sampled data throughout period ‘T3’ (which becomes
the post-fault data), after which a request is made to the Fault Locator to locate the fault.
5. At the start of period ‘T4’, the Fault Recorder allocates a new Sample Buffer for saving new
sample data. Sample data is stored throughout period ‘T4’.
6. At point ‘B’, 6 complete cycles of new data have been saved. Any fault occurring after point
’B’ shall be treated as detailed in (3); the data saved during period ‘T4’ is potential pre-fault
data, or may be discarded (in the same way as data saved during period ‘T1’). Data saved
during period ‘T5’ is potential pre-fault or post-fault data (or may be discarded) depending on
when the next fault is detected.
50300.3120.071 DEVELOPMENT SPECIFICATION
Page 12 of 21
Issue D.2
24 May 1999

Note Any additional faults detected during periods ‘T3’ or ‘T4’ will be handled by constructing a
Fault Record with no fault location data. No preparations shall be made for transmitting new
fault location requests to the Fault Locator during this time. See also para. .
5.2.10. Fault, Start And Start Fault Recorder Triggers
Start, Trip and Fault Recorder Start triggers are extracted from the Digital Data Bus and OR’d
together to form the Fault Recorder ‘Trigger’.
Because of this, all three triggers are treated in the same way by the Fault Recorder, however, the
product-specific section of this component can include additional data in the fault record to make it
possible to subsequently identify the source of the trigger.
5.2.11. Fault Recorder/Fault Locator Interface
The fault location data is made available to the Fault Locator task via a functional interface within
the Fault Locator; floc_FaultLocationRequest. The Fault Recorder provides to the Fault Locator a
reference to the appropriate Sample Buffer. The Fault Locator task blocks on a semaphore which is
released by the interface function. Using the Sample data referenced in the function call, the Fault
Locator task calculates a fault location and returns the answer to the Fault Recorder via another
functional interface; faultrec_FaultLocAns, before blocking n the semaphore again.
The Fault Recorder examines any returned fault location answers and adds the fault location to the
appropriate Fault Record, after which the Fault Record is ready for transmission to the fault
logging FIFO of the Supervisor task.
Note that this mechanism relies on a strict synchronisation between the Fault Recorder and the
Fault Locator task. The fault location requests are not queued, the Fault Recorder waits for the
location answer from the previous location request before making a new one.
5.2.12. Disabling The Fault Locator
The Fault Locator task may be disabled. This is indicated by a flag in the Control And Support
settings. If a fault is detected when the Fault Locator is disabled, a Fault Record is still generated,
but with all fault location information set invalid; the Fault Locator is treated in the same way as if
it were unavailable and unable to accept any more location requests at this time. If fault location
requests have already been queued for the Fault Locator task prior to it being disabled, the Fault
Locator task shall return a location answer that specifies ‘no location found’.

5.3. SAMPLE RECORD STRUCTURE


The data type FLOC_FAULT_REC_DATA defines the Sample Record Structure. Following is a
description of that structure.
Structure Element Type Description
iSamples REAL32[NO_I_INPUTS] Array of current sample data
[BUFFER_LENGTH]
vSamples REAL32[NO_V_INPUTS] Array of voltage sample data
[BUFFER_LENGTH]
DataEnd UINT16 Index into iSamples and vSamples
indicating last element written to
TriggerIdentifier UINT8 Number of Sample Buffer being ref’d
PhaseSelection FLOC_FAULT_TYPE Indicates which phases are at fault.
This is set to NOT_DEFINED for all
but the Current-Diff product.
DEVELOPMENT SPECIFICATION 50300 .3120.071
Page 13 of 21
Issue D.2
24 May 1999

5.4. FAULT LOCATOR ANSWER STRUCTURE


The data type FLOC_FAULT_LOCATION defines the Fault Locator answer structure. Following
is a description of that structure.
Structure Element Type Description
TriggerIdentifier UINT8 As provided in Sample Record structure
valid BOOLEAN Indicates whether the fault location analysis
was successful or not
metres REAL32 Fault location expressed in metres
ohms REAL32 Fault location expressed in ohms
percent REAL32 Fault location expressed as a percentage of
transmission line length

5.5. FAULT RECORD STRUCTURE


The data type FAULT_DATA defines the overall Fault Record structure. Following is a
description of that structure.
Structure Element Type Description
Common FAULT_DATA_COMMON Common fault record structure
X FAULT_DATA_X Product-specific record structure
50300.3120.071 DEVELOPMENT SPECIFICATION
Page 14 of 21
Issue D.2
24 May 1999

5.5.1. Common Fault Record Structure


The data type FAULT_DATA_COMMON defines the common section of the Fault Record. The
following table describes the contents of the structure and details the source of the data.
Structure Element Type Description Source Updt
TimeTag T_INTERN_ABS_DATE Date and 1ms resolution timestamp sdt_GetAbsoluteDate() i
ActiveGroup UINT32 Active [protection] setting group Repository Counters.ActiveSG i
number
PhAFaultIMag REAL32 Phase A fault current magnitude † Repository ADB. MagIA1 ii
PhBFaultIMag REAL32 Phase B fault current magnitude † Repository ADB.MagIB1 ii
PhCFaultIMag REAL32 Phase C fault current magnitude † Repository ADB.MagIC1 ii
PhABFaultVMag REAL32 Phase A-B fault voltage magnitude † Repository ADB.MagVAB ii
PhBCFaultVMag REAL32 Phase B-C fault voltage magnitude † Repository ADB.MagVBC ii
PhCAFaultVMag REAL32 Phase C-A fault voltage magnitude † Repository ADB.MagVCA ii
Frequency REAL32 Frequency † Repository i
ADB.SystemFrequency
FaultDurTimeValid BOOLEAN Indicates FaultDurationTime is valid Set by this component iii
FaultDurationTime UINT32 Overall fault duration time (ms) Calculated by this component iii
CBOperateTimeValid BOOLEAN Indicates CBOperateTime is valid Set by this component iii
CBOperateTime UINT32 Circuit breaker operating time (ms) Calculated by this component iii
ProtOperateTimeValid BOOLEAN Indicates ProtectionOperateTime is Set by this component iii
valid
ProtectionOperateTime UINT32 Protection operating time (ms) Calculated by this component iii
FAN UINT16 Absolute fault record number (used Repository Counters.FAN i
by courier)
COT CS103_COT_M ‘Cause Of Transmission’ (used by Repository Counters.COT i
IEC60870)
ddb[DDB_SIG_WORDS] UINT32 Accumulated DDB Set by this component iii ‡

† Value based on fundamental


The Updt column in the above table indicates the point in time at which this field of the Fault
Record is populated.
Fields marked ‡ are derived by the product-specific function faultrec_ProdDDBExtract
i Field is updated immediately a fault is indicated
ii Field is updated ½ cycle (or immediately if the frequency is below the specified
frequency threshold) after the fault is indicated
iii Field is updated immediately after the ‘Fault Recorder Start’ flag falls.
5.5.2. Product-Specific Fault Record Structure
The product-specific Fault Record structure may contain any additional data that is required for the
product. However, for products that support a Fault Locator, this structure must contains at least
the following structure elements.
DEVELOPMENT SPECIFICATION 50300 .3120.071
Page 15 of 21
Issue D.2
24 May 1999

Structure Element Type Description Source Updt


FaultLocEnabled BOOLEAN Fault locator enabled Set by this component i
FaultLocValid BOOLEAN Fault location valid Fault Locator answer valid iv
FaultLocMetre REAL32 Fault location - metres Fault Locator answer metres iv
FaultLocOhms REAL32 Fault location - ohms Fault Locator answer ohms iv
FaultLocPercent REAL32 Fault location - percent Fault Locator answer percent iv

iv Field is updated when fault location answer is returned from Fault Locator task.

5.6. REPOSITORY DATA


The following table details the data that that is extracted from the Repository’s Analogue Data Bus
by this component.
Sample Data (Repos.ADB)
Element Description
PhABFaultVMag Phase A-B Voltage
PhBCFaultVMag Phase B-C Voltage
PhCAFaultVMag Phase C-A Voltage
PhAFaultIMag Phase A current
PhBFaultIMag Phase B current
PhCFaultIMag Phase C current
SystemFrequency Frequency of signal being sampled

Other Repository data used by this component.


Fault Counters (Repos.Counters)
FAN Absolute fault record number (used by courier)
COT Cause Of Transmission (used by IEC 60870)
SampleCount Number of samples being processed by
Protection task on this invocation
Digital Data Bus (Repos.DDB)
- All elements (for sampling)
ANY_START Indicates that one or more protection elements
have started
FAULT_RECORDER_START ‘Fault Recorder Start’
UNDERCURRENT_FAST_PHASE_A Undercurrent detection (phase A)
UNDERCURRENT_FAST_PHASE_B Undercurrent detection (phase B)
UNDERCURRENT_FAST_PHASE_C Undercurrent detection (phase C)
POLE_DEAD_ANY Pole Dead
50300.3120.071 DEVELOPMENT SPECIFICATION
Page 16 of 21
Issue D.2
24 May 1999

5.7. SAMPLE DATA


The raw current and voltage samples required by the Fault Locator are extracted from the
Protection Callback’s PCCB_SampleBuffer structure.

5.8. EXTERNAL INTERFACES


5.8.1. Public Types
FAULT_DATA_COMMON
Structure of common section of Fault Record as presented to the Fault Logging API

FAULT_DATA_X
Structure of product-specific section of Fault Record as presented to the Fault Logging API

FAULT_DATA
Structure of entire Fault Record as presented to the Fault Logging API

FAULTRECX_CONSTANTS
Product-specific enumeration defining the following constants:
5.8.2. Public Constants
FAULT_SNAPSHOT_TIMER_FREQ_THRESHOLD
Threshold frequency below which the snapshot ‘timer’ is not used, in favour of capturing the
analogue data immediately the fault is detected. A value of zero indicates that the ½ cycle timer
shall always be used, regardless of how low the frequency is.
5.8.3. Public Variables
None.
5.8.4. Public Functions
void faultrec_Initialise(NU_MEMORY_POOL* const
pPCAppMemPool)
1. Initialises the common section of the fault recorder component.
2. Calls faultrec_ProdInitialise function to initialise the product-specific section of this
component

void faultrecx_Initialise(void)
Initialises the product-specific section of the fault recorder component

void faultrec_Config(void)
Only defined for products that support the Fault Locator. Receives configuration data for common
Fault Recorder parameters.
DEVELOPMENT SPECIFICATION 50300 .3120.071
Page 17 of 21
Issue D.2
24 May 1999

void faultrec_Execute(void)
1. Detects a fault condition and populates the common section of the fault record
2. Invokes the product-specific function ‘faultrec_Execute’ ½ cycle after the fault is indicated
3. Handles any invocation of the Fault Locator task
4. Invokes the product-specific function ‘faultrec_ProdDDBExtract’ when the ‘Fault Recorder
Start’ flag falls
5. Transmits fault record details to Event Logger (depending on answer from Fault Locator etc.,
if applicable)

BOOLEAN faultrecx_AnyTrip(void)
Product-specific function. Evaluates ‘Any Trip’ and returns state.

void faultrecx_TripLED(
const BOOLEAN any_trip, const BOOLEAN any_start)
Product-specific function. Evaluates and drives the Trip LED.

FLOC_FAULT_TYPE faultrecx_PhaseSelection(void)
Product-specific function. Returns phase selection indication that is to be added to the Sample
Record structure (see para. ).
The answer depends on the product, thus:-
· For Feeder and Generator products:-
Always returns NOT_DEFINED
· For Current Diff. product:-
Returns NOT_DEFINED if the detected fault is not a current differential start/trip.
Returns AN, BN, CN, AB, BC, CA, ABC for current differential start/trips. The correct
selection may be derived from the following look-up table.
Faulted Phases
A B C Phase Selection
• AN
• BN
• CN
• • AB
• • BC
• • CA
• • • ABC

This function is only defined for products that support a fault locator
50300.3120.071 DEVELOPMENT SPECIFICATION
Page 18 of 21
Issue D.2
24 May 1999

void faultrec_FaultLocAns(
const FLOC_FAULT_LOCATION* const p_answer)
‘p_answer’ is a pointer to a Fault Locator answer structure
Handles a Fault Locator task answer.
This function is only defined for products that support a fault locator

void faultrecx_FaultRecPop2(
FAULT_DATA_X* const p_fault_rec)
‘p_fault_rec’ is a pointer to the Fault Record being constructed.
Populates the product-specific section of the fault record
Note With reference to para. , this function is called immediately after the fields marked (ii),
within the common section of the supplied Fault Record, are populated; i.e. ½ cycle after the
fault is first indicated.

faultrecx_FaultRecPop3(
FAULT_DATA_X* const p_fault_rec)
‘p_fault_rec’ is a pointer to the Fault Record being constructed
Populates the product-specific section of the fault record
Note With reference to para. , this function is called immediately after the time period values
marked (iii), within the common section of the supplied Fault Record, are populated; i.e.
immediately after the ‘Fault Recorder Start’ flag falls.

5.8.5. External References


Following are the external references used by the common section of this component, not the
product-specific section.
Type Reference
FLOC_FAULT_REC_DATA 50300pr/DEV/pr/INC/floc.h
FLOC_FAULT_LOCATION 50300pr/DEV/pr/INC/floc.h
FLOC_FAULT_TYPE 50300pr/DEV/pr/INC/floc.h
FLOC_ARRAY_INDEX_TAG 50300pr/DEV/pr/INC/floc.h
VOLTAGE_CHANNELS 50300pr/DEV/pr/INC/spbuild.h
CURRENT_CHANNELS 50300pr/DEV/pr/INC/spbuild.h
DDB_PACKED 50300pr/DEV/pr/INC/ddb.h
ENUMDDB_SIGNALS 5030Xpr/DEV/pr/INC/enumddb.h
(product-specific)
CS103_COT_M 50222/iec870/cs103/include/cs103.h

Macro Reference
NO_I_INPUTS 50300pr/DEV/pr/INC/floc.h
DEVELOPMENT SPECIFICATION 50300 .3120.071
Page 19 of 21
Issue D.2
24 May 1999

NO_V_SAMPLES 50300pr/DEV/pr/INC/floc.h
BUFFER_LENGTH 50300pr/DEV/pr/INC/floc.h
FLOC_NUM_PREFAULT_CYCLES 50300pr/DEV/pr/INC/floc.h
FLOC_NUM_POSTFAULT_CYCLES 50300pr/DEV/pr/INC/floc.h
PCCB_SAMPLES_PER_CYCLE 50300pr/DEV/pr/INC/pc_cb.h

Constant Reference
None.

Variable Reference
Repos 50300pr/DEV/pr/INC/repos.h

Function Reference
floc_FaultLocationRequest 50300pr/DEV/pr/INC/floc.h
sdt_GetAbsoluteDate 50300L1/DEV/d/INC/sdt_drv.h

5.9. INTERNAL STRUCTURE


5.9.1. Types
FAULT_LOC_REQ_STATUS_T
Enumeration of possible status’ that a Sample Buffer may be in for products which include a Fault
Locator task.

5.9.2. Constants
NUM_FAULT_RECS = 5
Number of Fault Records to provide for products which include a Fault Locator task.

FAULTREC_RELAY_OP_TIME = 5
Time constant (ms) for relay to operate

FAULTREC_SNAPSHOT_DELAY = (PCCB_SAMPLES_PER_CYCLE / 2)
Delay (in samples) between detection of fault and capturing of analogue data.
5.9.3. Variables
FAULTREC_SAMPLE_T sample_buffer[NUM_FAULT_RECS + 1]
Fault Locator Sample Records (Fault Locator equipped products only).

FAULTREC_REC_T fault_records[NUM_FAULT_RECS]
50300.3120.071 DEVELOPMENT SPECIFICATION
Page 20 of 21
Issue D.2
24 May 1999

Fault records under construction. Each fault record is associated with the respective Sample
Record within the sample_records array (Fault Locator equipped products only).

UINT32 snapshot_timer
Used to count ½ cycle from the detection of the fault. Refer to para. .
5.9.4. Functions
Because of the need to provide versions of this component that do and do not accommodate the
inclusion of a Fault Locator task, the following three functions are defined to allow common code
to be used for both versions of the final component

static populate_common_fault_rec_1(FAULT_DATA_COMMON* const


p_fault_record)
static populate_common_fault_rec_2(FAULT_DATA_COMMON* const
p_fault_record)
static populate_common_fault_rec_3(FAULT_DATA_COMMON* const
p_fault_record)

These three functions populate different (but product common) sections of the Fault Record. They
are executed by the ‘faultrec_Execute’ function at appropriate times (refer to para. for further
details).

6. PHYSICAL REALISATION
Filename Purpose Location

faultdata.h Fault record structure 50300pr/DEV/pr/INC

faultdatax.h Fault record structure (product- 5030*pr/DEV/pr/INC


specific)

faultrec.h Fault Recorder public header file 50300pr/DEV/pr/INC

faultrec_priv.h Fault Recorder private header file 50300pr/DEV/pr/INC

faultrec.c Common Fault Recorder source 50300pr/DEV/pr/SRC


code

faultrec_nofl.c Fault Recorder source (no fault 50300pr/DEV/pr/SRC


locator support)

faultrec_fl.c Fault Recorder source (fault 50300pr/DEV/pr/SRC


locator support)

faultrec_fl.h Fault Recorder public header file 50300pr/DEV/pr/INC


(fault locator support only)

faultrecx.h Product-specific Fault Recorder 5030*pr/DEV/pr/INC


source code (product-specific)
faultrecx.c Product-specific Fault Recorder 5030*pr/DEV/pr/SRC
source code (product-specific)
DEVELOPMENT SPECIFICATION 50300 .3120.071
Page 21 of 21
Issue D.2
24 May 1999

VERSION CONTROL
Issue Author(s) Reason for change Date
PA Richard Bentley New Document 14/11/1997
PB Richard Bentley Design modification following review. 20/11/1997
Addition of product-specific asynchronous
analysis. Start and Trip triggers treated in
same way.
PC Richard Bentley Further modification following additional 17/12/1997
review.
Removal of product-specific asynchronous
analysis
PD Richard Bentley Moved from 50300 to 50300pr VOB 06/02/1998
Change to structure of fault record (addition
of DDB signals)
Removed test strategy
Addition of faultdata.h and FAULT_DATA
structure
Renaming of ‘faultrec_prod’ to ‘faultrecx’
Change to Fault Recorder/Locator interface
(messages replaced by FIFOs)
A Richard Bentley Following design review DR0007, several 12/02/1998
minor monifications and clarifications
A.1 Richard Bentley C0230 - Replace relience on Repository- 23/02/1998
defined settings with functional interface
faultrec_Config().
Replace 10ms timer with ½ cycle ‘timer’.
Addition of frequency threshold to control
sampling capture. Addition of ‘Cause Of
Transmission’ value to Fault Record
B Richard Bentley 50300 - C0230 - Corrections following 24/02/1998
review. Additional description of ½ cycle
timer. Removal of faultrec_Config() - no
longer required. ‘Active Setting Group’ and
‘Faulted Phases’ values in Fault Record
changed to a UINT32
C Richard Bentley 50300(PR) C0246 - Addition on Trip LED 18/03/1998
control. Addition of product-specific Any
Trip evaluation. Changed COT data type
from UINT8 to CS103_COT_M
D Richard Bentley 50300(PR) C0254 - Addition of Trip LED 15/04/1998
control function. Moved fault location
answer data to product-specific section of
Fault Record. Change to number of Fault
Records and Sample Buffers defined fro
complex version of Fault Recorder.
Change to CB operating time and Fault
Duration time calculation (3 ph. u/c pickup).
D.1 Richard Bentley 50300(PR) C0324 - Change to fault record 01/06/1998
structure (now contains entire DDB)
D.2 Peggy Ling 50300(PR) C0632 – Corrected CB operating 18/05/1988
time calculation.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy