E.4 Logical node FPID (PID regulator function)

The PID logical node comprises the following basic functions:

  • The proportional function

This logical node is used to amplify an incoming value.

Output^ = Kp■ Input(t); G(s) = Ou!Put<s) = к

. иInput(s) p

  • The integral function

This logical node is used to integrate an incoming value.

Output(t) = — • {input dt ; G(s) = -Ou-Put^ = /<■—!—

Ti * Input(s) s-Ti

- The differential function

This logical node is used to adapt an incoming value to a specified function.

tі Td tF л Output(s) s-Td

Output(t) = Input(t) ■ К eTf ; G(s) = —— = к

Tf Input(s) 1 + s • Tf

NOTE The symbols used come from IEC 61850-7-410.

In Figure E.3, a typical proportional-integral-derivate controller is shown. All of the control algorithm parameters are mapped to the logical node FPID data attributes. The process value can originate from a sensor or a cascaded controller. The set-point normally will originate from a cascaded controller or a manual command.



/ЄС 437/10



Figure Е.З - Example of a proportional-integral-derivate controller

E.5 Logical node FFIL (filter function)

The logical node is used to filter an incoming value.

r(. Output(s) _ (1 + S-T1)

Inputs) |l + sT3 + (sT2)2)

More complex logical devices such as power stabilisation systems make a multiple use of filters. See Figure E.4.

Hi_Ng_FFIL

Lo_Ps_FFIL


Figure E.4 - Example of a power stabilisation system

E.6 Logical node FRMP (set-point ramping function)

I

setpoint



n the following example given in Figure E.5, the set-point is being ramped according to two different ramp set levels (FRMP1.RmpUp.stVal t FRMPI.RmpDn.stVal). The time cycle for each increment is given by the defined sample rate (FRMPl.Output.smpRate).

FRMP1.RmpUp.stVa!

FRMP1 .RmpUp.Stepsize FRMP1.RmpUp minVal FRMP1 .RmpUD.maxVal FRMPI.RmpDn.stVal FRMP1 .RmpDn.Stepsize FRMP1.RmpDn.minVal FRMP1 RmnDn maxVal FRMP1.Out.mag FRMP1 .Out.smpRate FRMPl.Out.q FRMPWut.t

IEC 439/10

Figure E.5 - Example of a ramp generator

E.7 Logical node FSPT (setpoint control function)

The logical node covers some common characteristics that are used in most automatic control or regulator functions. The LN FSPT can be used as a stand-alone function but will normally be cascaded with other control logical nodes.

The example given in Figure E.6 shows a set-point control interface with a field set-point positioning device.



F

LN:FSPT


SPT.Deviation.setMag

FSPT.SptDvAIm.stVal

FSPT.SplMem.mag

FSPT.SptVal.maxVal FSPT.SptVal.stepSize

FSPT.SptVal.minVal

F

Position sensor


SPT.SpItVa.setMag

FSPT.DeadB.setMag

FSPT.SptR.stVal

FSPT.SpfL.stVal

FSPT.SptUp.stVal

FSPT.SptDn.stVal

FSPT.SptR.pulseConfig.onDur

FSPT.SptR.pulseContig.offDur

FSPT.SetL.pulseConfig.onDur

FSPT.SetL.pulseConfig.offDur

I



EC
440/10

Figure E.6 - Example of an interface with a set-point algorithmAnnex F

(normative)

Statistical calculation

F.1 Statistical calculation basis

Here are some rules that have to be understood when implementing a calculation method.

  • A statistical calculation transforms an “original" flow of data (indicated by ClcSrc )into "statistical” data with considered settings. These settings define the mathematical function to apply, the condition for starting, the calculation interval duration and possible sliding, the rate of data refreshment.

  • When a statistical calculation method is applied to a logical node, it is supposed to be applied independently to any Instmag value specified in the considered statistical LN (refer to Figure F.1).

  • This also applies to complex CDC such as vectors CMV/DEL/WYE. If the statistical method also applies to angle per phase, then the sum of the 3 angles may be larger than 360°.

  • The common data class of a statistical data, resulting from a statistical calculation, is exactly identical to the CDC of the original data it applies to (referenced by ClcSrc), then a calculation method does not change a vector into a scalar.

  • The content of a statistical LN can’t include object/attribute which were not present in the original one.

  • Vector time consistency supported by WYE, DEL common data class is not to be broken down but is extended to the full refreshment interval duration. Time consistency is then valid considering the refreshment interval duration (refer to Figure F.1).

  • Statistical calculation may be chained. For example, a first LN can produce RMS value, then a second statistical LN can calculate an average of the considered RMS value on a certain period, then an other statistical LN can calculate the maximum of the calculated average since the last reset of this maximum value.

Example for a MAX calculation method:

Considering a CMV common data class, applying a MAX calculation method will lead to calculate independently the Maximum for mag and the Maximum for angle.

Considering DEL/WYE, applying a MAX calculation method will lead to calculate independently the Maximum for the 3 phases values.

By applying a calculation method to a vector, on a defined (refreshment) interval, we obtain at the end of the period a vector, tagged with the time reference of the end of the period, and no refresh in between. Time references to each individual results (if any) are lost.




(ClcMth=MAX)


WYE


IEC 441/10


A2,t2

B2,t2

С2Д2

A1,t1 wyeJ В1Л1

C1,t1


Figure F.1 - Statistical calculation of a vector

F.2 Time interval definitions (relating to statistical calculation)

Four different time-related parameters are needed to define properly the considered statistical calculation:

  • The mode of calculation to define whether the calculation has to be performed periodically (sliding (SLIDING) or not sliding (PERIOD)) or not periodically (TOTAL).

Refer CIcMod common LN data.

  • The calculation interval duration, i.e. the duration window between the starting time of one interval up to the next starting time of the next interval. This duration can be based on cycle, time (UTC or local), or can be defined by an external trigger.

The calculation interval duration shall be defined by using two data objects, CIcIntvTyp and ClcIntvPer.

CIcIntvTyp indicates the time unit to consider in defining the calculation interval duration (if its value differs from EXTERNAL) or indicates that this duration is based on an EXTERNAL trigger if its value equals to EXTERNAL): refer CIcIntvTyp common LN data.

When the time unit refers to DAY, WEEK, MONTH, YEAR, the time reference to consider is the local time (refer to LTIM LN).

ClcIntvPer indicates the number of units to consider: refer ClcIntvPer common LN data.

If the mode of calculation (CIcMod) is of type TOTAL (i.e. not periodic), CIcIntvTyp shall be of type EXTERNAL or ignored, and ClcIntvPer (if defined) shall be ignored.

  • The calculation sub-interval duration. This parameter is specific to sliding window of calculation, and enables the user to define the duration step between to contiguous sliding windows.

Because sub-interval duration shall always be an exact divider of the calculation period, only one data object is needed to define the calculation sub-interval duration, i.e. NumSublntv, the number of sub-intervals a calculation period interval duration contains.

If the mode of calculation (CIcMod) is not of type SLIDING (i.e. not periodic), NumSublntv shall be ignored.

  • The calculation refreshment interval duration, i.e. the duration between two updates of the calculation result.

The calculation refreshment period duration shall be defined by using two data objects, CIcRfTyp and CIcRfPer.

CIcRfTyp indicates the time unit to consider in defining the calculation refreshment period duration (if its value differs from EXTERNAL) or indicates that this duration is based on an EXTERNAL trigger (if its value equals to EXTERNAL): refer CIcRfTyp common LN data.



When the time unit refers to DAY, WEEK, MONTH, YEAR, the time reference to consider is the local time (refer to LTIM LN).

CIcRfPer indicates the number of units to consider: refer CIcRfPer common LN data.

The calculation refreshment interval duration shall be shorter or equal than the calculation interval duration (if not EXTERNAL).

In case of SLIDING calculation mode, the calculation refreshment period duration shall be shorter than or equal to the calculation sub-interval duration.

If the refreshment period is not defined, it is supposed to be equal to the calculation period.

F.2.1 Examples

In the graphics (Figure G.1) below, the horizontal axis represents the current time, grey zones represent calculation interval. The symbol -I- indicates that the LN is producing a new instantaneous value.

P

PERIOD (single refresh)

eriodic calculation (period = T). Refreshment period is equal to calculation period.

This can be met for example, for demand calculation or min/max calculation.



IEC 442/10




Periodic sliding calculation (period = T). Refreshment period length is equal to sub-interval duration.

This can be met for example, for demand calculation.

Sub-interval is used to define the sliding duration “sub-T”


SLIDING (single refresh)



S

I I

I I X


і
I

I I


I I J

I

I I I

I I


I I

I >1 и і і і і


r**i t Ґ і і і і


t I « I I


t t і і


I I

I t

1

Ґ I

I


I I I

I


I I

I I

I


I I

I J


I I

I і I


Ґ**) i t* t і і і


Periodic calculation (period = T). with higher refresh rate.

Refreshment period is equal to R.

This can be met for example, for prediction demand calculation.

Sub-interval is not used.




IEC 444/10


I I

I I к

T

PERIOD (multiple refresh)

і і і I I

<, I

і

j і ’w

і і і і J »

ub-interval is not used.

Sub-T


T I I 1 і


I t t

J


T I I 1 і і і


* f*-*i і і Ґ

і і і

і > і

t t і


»

I I

I




/ЕС 445/10


Periodic sliding calculation (period = T). Refreshment period length (R) is shorter than the sub-interval duration (sub-T).

This can be met, for example, for prediction demand calculation.

Sub-interval is used to define the sliding duration “sub-T”.


I I

I

t-b-1

SLIDING (multiple refresh)

і I t I r+*1 і I Illi I t I I till

I I

M-M I

c*-*t t t

1 J

I t і 11 Ц

I » I I I

fill




C

TOTAL (with periodic refresh)

ontinuous calculation from the last reset with a refreshment period duration (R) of the calculation result.

This can be met, for example, for maximum demand calculation from the last reset.

/EC 446/10

Figure F.2 - Examples of statistical calculations

F.3 Calculation start

F.3.1 Start of statistical calculation means that

  • all analogue values of the LN will be set internally to their initial state;

  • until a new refresh is available, Instmag data will keep their previous values with their associated time-stamp (referring to the previous interval);

  • for the very first calculation interval, they will be stated as “bad quality” until the first refresh is available.

F.3.2 The three possible start conditions available in the model

F.3.2.1 Periodic re-start

The LN will re-start calculation at the beginning of each calculation interval.

Depending on the calculation interval definition, starting time such as “Start of the day", “Start of the week", Start of the month”, Start of the year” will have to be implemented internally based on LTIM settings.

F.3.2.2 Aperiodic start

Aperiodic start will happen in two phases:

  • Start enabler

An start enabler may be send on-demand to the LN using ClcStr control which is part of the common LN data of the considered statistical LN: the calculation will be enabled depending on the CLCStr attributes: at time operTm (defined in UTC time reference) from the control model (if set) or immediately. -

  • Calculation start

If CIcMod is set to TOTAL, calculation will start as soon as it has been enabled.

If CIcMod is set to PERIOD or SLIDING, calculation will start at the next occurrence of calculation interval (depending on the value of CIcIntvTyp and ClcIntvPer). If CIcIntvTyp is set to MS, calculation will start at the next multiple of calculation intervals from the start of the day (example: if the calculation interval is set to 15 min (= 900 000 ms), calculation will start at the next occurrence of a full quarter of an hour ( 00:00, 00:15, 00:30,

Power on of the device may be considered as a start enabler.

F.3.2.3 External synchronisation

An external trigger can be defined using the InSyn ORG reference defined in the common LN data part of the considered statistical LN. The referenced object shall be of BOOLEAN type.

If the calculation interval is explicitly set as EXTERNAL (CIcIntvTyp), each raising edge from FALSE to TRUE of the value of the objet referenced by InSyn will produce an immediate re­start of the statistical calculation of the LN as described above.

If CIcIntvTyp is not set to EXTERNAL, then the InSynch trigger shall be ignored.

Remaining time up to the end of the calculation interval:

If CIcMod is set to SLIDING or PERIOD, and if CIcNxTmms is defined as part of the data of the considered LN, CIcNxTmms will indicate the calculation remaining time up to the end of the current calculation interval in milliseconds.Annex G
(normative)

Functional relationship of data objects of autorecloser RREC

G.1 Principal diagram of autorecloser

Figure G.1 gives the functional diagram of the autorecloser with its different data objects (status, settings etc.). In the bubbles are given the states of the autorecloser function as they are also specified in Clause 6, Table 10.

Figure G.1 - Diagram of autorecloser functionAnnex H

(normative)

SCL enumerations

«EnumType id="AdjSt">

<EnumVal ord="1">Completed«/EnumVal>

<EnumVal ord="2">Cancelled </EnumVal>

«EnumVal ord="3">New adjustments </EnumVal>

<EnumVal ord="4">Under way «/EnumVal>

</EnumType>

«EnumType id="AutoRecSt">

«EnumVal ord-"1">Ready</EnumVal>

«EnumVal ord="2">ln progress</EnumVal>

«EnumVal ord="3">Successful«/EnumVal>

«EnumVal ord="4">Waiting for trip</EnumVal>

«EnumVal ord=''5">Trip issued by protection«/EnumVal> «EnumVal ord="6">Fault disappeared</EnumVal> «EnumVal ord="7">Wait to complete</EnumVal>

«EnumVal ord="8">Circuit breaker closed</EnumVal> «EnumVal ord="9”>Cycle unsuccessful</EnumVal> «EnumVal ord="10">Unsuccessful«/EnumVal>

«EnumVal ord="11">Aborted«/EnumVal>

</EnumType>

«EnumType id="Beh">

«EnumVal ord="1">on«/EnumVal>

«EnumVal ord="2">on-blocked«/EnumVal>

«EnumVal ord="3">test«/EnumVal>

«EnumVal ord="4">test/blocked«/EnumVal>

«EnumVal ord="5">off«/EnumVal>

</EnumType>

«EnumType id="ClclntvTyp">

«EnumVal ord=''1">MS«/EnumVal>

«EnumVal ord="2">PER_CYCLE«/EnumVal>

«EnumVal ord="3">CYCLE«/EnumVal>

«EnumVal ord="4">DAY«/EnumVal>

«EnumVal ord="5">WEEK«/EnumVal> «EnumVal ord="6">MONTH«/EnumVal> «EnumVal ord="7">YEAR«/EnumVal> «EnumVal ord="8">EXTERNAL«/EnumVal>

</EnumType>

«EnumType id="ClcMth">

«EnumVal ord="1">UNSPECIFIED«/EnumVal> «EnumVal ord="2">TRUE_RMS«/EnumVal>

«EnumVal ord="3">PEAK_FUNDAMENTAL«/EnumVal> «EnumVal ord=’’4’'>RMS_FUNDAMENTAL«/EnumVal> «EnumVal ord=’'5">MIN</EnumVal>

«EnumVal ord="6''>MAX«/EnumVal>

«EnumVal ord="7">AVG«/EnumVal>

«EnumVal ord="8">SDV«/EnumVal>

«EnumVal ord="9">PREDICTION«/EnumVal>

«EnumVal ord="10">RATE«/EnumVal>

</EnumType>

«EnumType id="ClcMod">

«EnumVal ord="1 ">TOTAL«/EnumVal>

«EnumVal ord="2">PERIOD«/EnumVal>

«EnumVal ord="3">SLIDING«/EnumVal>

</EnumType>

«EnumType id="ClcRfTyp">

«EnumVal ord="1">MS«/EnumVal>

«EnumVal ord="2">PER_CYCLE«/EnumVal>

«EnumVal ord="3">CYCLE«/EnumVal>

«EnumVal ord="4”>DAY«/EnumVal>

«EnumVal ord="5">WEEK«/EnumVal>

«EnumVal ord="6">MONTH«/EnumVal>

«EnumVal ord="7">YEAR«/EnumVal>

«EnumVal ord="8”>EXTERNAL«/EnumVal>

</EnumType>

«EnumType id=“ClcTotVA”>

«EnumVal ord=”1">Vector«/EnumVal>

«EnumVal ord=’'2">Arithmetic«/EnumVal>

</EnumType>

«EnumType id="CBOpCap">

«EnumVal ord="1">None«/EnumVal>

<EnumVal ord="2">Open</EnumVal>

<EnumVal ord="3">Close-Open</EnumVal>

<EnumVal ord="4">Open-Close-Open</Enum/al>

<EnumVal ord="5">Close-Open-Close-Open</Enum/al>

<EnumVal ord="6">Open-Close-Open-Close-Open </EnumVal>

<EnumVal ord='7">more</EnumVal>

</EnumType>

<EnumType id="CycTrMod">

<Enum/al ord="1">three phase tripping</EnumVal>

<EnumVal ord="2">one ot three phase tripping</EnumVal>

<Enum/al ord="3">specific</EnumVal>

</EnumType>

<EnumType id="DirMod">

<EnumVal ord="1">NonDirectional</EnumVal>

<EnumVal ord="2">Forward</EnumVal>

<EnumVal ord="3">Reverse</EnumVal>

</EnumType>

<EnumType id="EEHealth">

<EnumVal ord="1">Ok</Enum/al>

<EnumVal ord="2">Warning</EnumVal>

<EnumVal ord="3">Alarm</EnumVal>

</EnumType>

«EnumType id="FailMod">

<EnumVal ord="1 ">Current</EnumVal>

<EnumVal ord="2">Breaker Status</EnumVal>

<EnumVal ord="3">Both current and breaker status</EnumVal>

<EnumVal ord="4">Other</EnumVal>

</EnumType>

<EnumType id="FanCtl">

<EnumVal ord="1">lnactive</EnumVal>

«EnumVal ord="2">Stage 1</EnumVal>

<EnumVal ord="3">Stage 2</EnumVal>

<EnumVal ord="4">Stage 3</EnumVal>

</EnumType>

<EnumType id="FanCtlGen">

<EnumVal ord=’T'>lnactive</EnumVal>

<EnumVal ord-’2">Stage 1</EnumVal>

<EnumVal ord="3">Stage 2</EnumVal>

<EnumVal ord=”4">Stage 3</EnumVal>

</EnumType>

<EnumType id="FilTyp">

<EnumVal ord="T'>Low pass</EnumVal>

<EnumVal ord="2">High pass</EnumVal>

<EnumVal ord="3">Bandpass</EnumVal>

<EnumVal ord="4">Bandstop</EnumVal>

<EnumVal ord="5">Deadband</EnumVal>

</EnumType>

<EnumType id="FltLoop">

<EnumVal ord='T'>Phase A to Ground</EnumVal>

<EnumVal ord="2">Phase В to Ground</EnumVal>

<EnumVal ord="3">Phase C to Ground</EnumVal>

<EnumVal ord="4">Phase A to B</EnumVal>

<EnumVal ord=”5">Phase В to C</EnumVal>

<EnumVal ord="6">Phase C to A</EnumVal>

<EnumVal ord="7">Other</EnumVal>

</EnumType>

<EnumType id="GnSt">

<EnumVal ord="1">Stopped</EnumVal>

<EnumVal ord="2">Stopping</EnumVal>

<EnumVal ord="3">Started</EnumVal>

<EnumVal ord=''4">Starting</EnumVal>