Beispiel #1
0
        bool IRecloserProgram.Execute(RecloserState state)
        {
            if (!state.currentState)//if turned off
            {
                if (tryCounter < tries)
                {
                    timer = (state.time - lastEventTime);
                    if (timer > waitTime)
                    {
                        tryCounter++;
                        lastEventTime = state.time;
                        return(true);//try to turn on
                    }
                }
                return(false);
            }
            double p = state.IA * state.UA + state.IB * state.UB + state.IC * state.UC;

            if (
                Math.Abs(state.IA) > iPeakMax ||
                Math.Abs(state.IB) > iPeakMax ||
                Math.Abs(state.IC) > iPeakMax ||
                Math.Abs(p) > pPeakMax
                )
            {
                lastEventTime = state.time;
                return(false);
            }
            if (state.time - lastEventTime > restoreTriesTime)
            {
                tryCounter = 0;
            }
            return(state.currentState);
        }
Beispiel #2
0
        public bool GetNewState(TransientState transientState, double time)
        {
            RecloserState recloserState = new RecloserState(
                transientState.GetValue(IA),
                transientState.GetValue(IB),
                transientState.GetValue(IC),
                transientState.GetValue(in_pin.VA),
                transientState.GetValue(in_pin.VB),
                transientState.GetValue(in_pin.VC),
                time,
                State);

            return(program.Execute(recloserState));
        }
Beispiel #3
0
 bool IRecloserProgram.Execute(RecloserState state)
 {
     throw new NotImplementedException("RecloserProgram.Execute");
 }