Sie sind auf Seite 1von 15

Set Control Authority algorithm SCADA

/*SPONT;

IF ( ("SYS.CTRLAUTH.OS.SWYA" == ON) AND ("SYS.IDENTITY.CONSTANT.OS_SWY_SRV" == ON) OR

("SYS.CTRLAUTH.OS.PHA" == ON) AND ("SYS.IDENTITY.CONSTANT.OS_PH_AB_SRV" == ON) )

THEN

"SYS.CTRLAUTH.OS.PERMIT" = ON;

ELSE

"SYS.CTRLAUTH.OS.PERMIT" = OFF;

ENDIF; */

SPONT;

IF ( ("SYS.CTRLAUTH.OS.SWYA" == ON) AND ("SYS.IDENTITY.CONSTANT.OS_SWY_SRV" == ON) OR

("SYS.CTRLAUTH.OS.PHA" == ON) AND ("SYS.IDENTITY.CONSTANT.OS_PH_AB_SRV" == ON) OR

("SYS.IDENTITY.CONSTANT.TP_U1_SRV" == ON) OR

("SYS.IDENTITY.CONSTANT.TP_U2_SRV" == ON) OR

("SYS.IDENTITY.CONSTANT.TP_U3_SRV" == ON) OR

("SYS.IDENTITY.CONSTANT.TP_U4_SRV" == ON) OR

("SYS.IDENTITY.CONSTANT.TP_PH_SRV" == ON) ) THEN

"SYS.CTRLAUTH.OS.PERMIT" = ON;
ELSE

"SYS.CTRLAUTH.OS.PERMIT" = OFF;

ENDIF;

IF ( ("1.CJA01.GH001.XB22" == OFF) AND ("SYS.IDENTITY.CONSTANT.TP_U1_SRV" == ON) OR

("1.CJA01.GH001.XB22" == ON) AND ("SYS.IDENTITY.CONSTANT.OS_PH_AB_SRV" == ON) OR

("1.CJA01.GH001.XB22" == ON) AND ("SYS.IDENTITY.CONSTANT.OS_SWY_SRV" == ON) )

THEN

"SYS.CTRLAUTH.UNIT1.PERMIT" = ON;

ELSE

"SYS.CTRLAUTH.UNIT1.PERMIT" = OFF;

ENDIF;

IF ( ("2.CJA01.GH001.XB22" == OFF) AND ("SYS.IDENTITY.CONSTANT.TP_U2_SRV" == ON) OR

("2.CJA01.GH001.XB22" == ON) AND ("SYS.IDENTITY.CONSTANT.OS_PH_AB_SRV" == ON) OR

("2.CJA01.GH001.XB22" == ON) AND ("SYS.IDENTITY.CONSTANT.OS_SWY_SRV" == ON) )

THEN

"SYS.CTRLAUTH.UNIT2.PERMIT" = ON;

ELSE

"SYS.CTRLAUTH.UNIT2.PERMIT" = OFF;

ENDIF;
IF ( ("3.CJA01.GH001.XB22" == OFF) AND ("SYS.IDENTITY.CONSTANT.TP_U3_SRV" == ON) OR

("3.CJA01.GH001.XB22" == ON) AND ("SYS.IDENTITY.CONSTANT.OS_PH_AB_SRV" == ON) OR

("3.CJA01.GH001.XB22" == ON) AND ("SYS.IDENTITY.CONSTANT.OS_SWY_SRV" == ON) )

THEN

"SYS.CTRLAUTH.UNIT3.PERMIT" = ON;

ELSE

"SYS.CTRLAUTH.UNIT3.PERMIT" = OFF;

ENDIF;

IF ( ("4.CJA01.GH001.XB22" == OFF) AND ("SYS.IDENTITY.CONSTANT.TP_U4_SRV" == ON) OR

("4.CJA01.GH001.XB22" == ON) AND ("SYS.IDENTITY.CONSTANT.OS_PH_AB_SRV" == ON) OR

("4.CJA01.GH001.XB22" == ON) AND ("SYS.IDENTITY.CONSTANT.OS_SWY_SRV" == ON) )

THEN

"SYS.CTRLAUTH.UNIT4.PERMIT" = ON;

ELSE

"SYS.CTRLAUTH.UNIT4.PERMIT" = OFF;

ENDIF;

/* test*/

IF ( ("0.CMA01.GH001.XB22" == OFF) AND ("SYS.IDENTITY.CONSTANT.TP_PH_SRV" == ON) OR

("0.CMA01.GH001.XB22" == ON) AND ("SYS.IDENTITY.CONSTANT.OS_PH_AB_SRV" == ON) OR

("0.CMA01.GH001.XB22" == ON) AND ("SYS.IDENTITY.CONSTANT.OS_SWY_SRV" == ON) )

THEN
"SYS.CTRLAUTH.COM.PERMIT" = ON;

ELSE

"SYS.CTRLAUTH.COM.PERMIT" = OFF;

ENDIF;

Signal generation (VBU formula)

/* protection signals from SIEMENS are used to generate sum signals, which are sent to the LDC*/

SPONT;

"1.CHA01.EX10B.XM51" =

IF (

("1.CHA01.EX10B.XM08" == EIN) OR

("1.CHA01.EX20B.XM09" == EIN) OR

("1.CHA01.EX10B.XM06" == EIN) OR

("1.CHA01.EX20B.XM07" == EIN) OR

("1.CHA01.EX10B.XM27" == EIN) OR

("1.CHA01.EX20B.XM26" == EIN)

THEN

EIN

ELSE

AUS
ENDIF;

/* ------------------------------------------------------ */

"2.CHA01.EX10B.XM51" =

IF (

("2.CHA01.EX10B.XM08" == EIN) OR

("2.CHA01.EX20B.XM09" == EIN) OR

("2.CHA01.EX10B.XM06" == EIN) OR

("2.CHA01.EX20B.XM07" == EIN) OR

("2.CHA01.EX10B.XM27" == EIN) OR

("2.CHA01.EX20B.XM26" == EIN)

THEN

EIN

ELSE

AUS

ENDIF;

/* ------------------------------------------------------ */

"3.CHA01.EX10B.XM51" =

IF (

("3.CHA01.EX10B.XM08" == EIN) OR

("3.CHA01.EX20B.XM09" == EIN) OR
("3.CHA01.EX10B.XM06" == EIN) OR

("3.CHA01.EX20B.XM07" == EIN) OR

("3.CHA01.EX10B.XM27" == EIN) OR

("3.CHA01.EX20B.XM26" == EIN)

THEN

EIN

ELSE

AUS

ENDIF;

/* ------------------------------------------------------ */

"4.CHA01.EX10B.XM51" =

IF (

("4.CHA01.EX10B.XM08" == EIN) OR

("4.CHA01.EX20B.XM09" == EIN) OR

("4.CHA01.EX10B.XM06" == EIN) OR

("4.CHA01.EX20B.XM07" == EIN) OR

("4.CHA01.EX10B.XM27" == EIN) OR

("4.CHA01.EX20B.XM26" == EIN)

THEN

EIN

ELSE
AUS

ENDIF;

/* ------------------------------------------------------ */

"1.CHA01.EX20A.XM50" =

IF (

("1.CHA01.EX20A.XM01" == EIN) OR

("1.CHA01.EX20B.XM01" == EIN)

THEN

EIN

ELSE

AUS

ENDIF;

/* ------------------------------------------------------ */

"2.CHA01.EX20A.XM50" =

IF (

("2.CHA01.EX20A.XM01" == EIN) OR

("2.CHA01.EX20B.XM01" == EIN)

THEN

EIN
ELSE

AUS

ENDIF;

/* ------------------------------------------------------ */

"3.CHA01.EX20A.XM50" =

IF (

("3.CHA01.EX20A.XM01" == EIN) OR

("3.CHA01.EX20B.XM01" == EIN)

THEN

EIN

ELSE

AUS

ENDIF;

/* ------------------------------------------------------ */

"4.CHA01.EX20A.XM50" =

IF (

("4.CHA01.EX20A.XM01" == EIN) OR

("4.CHA01.EX20B.XM01" == EIN)

THEN
EIN

ELSE

AUS

ENDIF;

/* ------------------------------------------------------ */

"1.CHA01.EX10B.XM53" =

IF (

("1.CHA01.EX10B.XM03" == EIN)

THEN

EIN

ELSE

AUS

ENDIF;

/* ------------------------------------------------------ */

"2.CHA01.EX10B.XM53" =

IF (

("2.CHA01.EX10B.XM03" == EIN)

THEN

EIN
ELSE

AUS

ENDIF;

/* ------------------------------------------------------ */

"3.CHA01.EX10B.XM53" =

IF (

("3.CHA01.EX10B.XM03" == EIN)

THEN

EIN

ELSE

AUS

ENDIF;

/* ------------------------------------------------------ */

"4.CHA01.EX10B.XM53" =

IF (

("4.CHA01.EX10B.XM03" == EIN)

THEN

EIN

ELSE
AUS

ENDIF;

/* ------------------------------------------------------ */

"0.BUE00.GW001.XM50" =

IF (

("0.BUE00.GW001.XM01" == EIN) OR

("0.BUE00.GW002.XM01" == EIN)

THEN

EIN

ELSE

AUS

ENDIF;

/* ------------------------------------------------------ */

"0.BFC10.GH001.XM50" =

IF (

("0.BFC10.GH001.XM15" == EIN) OR

("0.BFC10.GH001.XM16" == EIN)

THEN

EIN
ELSE

AUS

ENDIF;

/* ------------------------------------------------------ */

"0.BFD10.GH001.XM50" =

IF (

("0.BFD10.GH001.XM13" == EIN) OR

("0.BFD10.GH001.XM14" == EIN)

THEN

EIN

ELSE

AUS

ENDIF;

/* ------------------------------------------------------ */

"0.BUF00.GW001.XM50" =

IF (

("0.BUF00.GW001.XM01" == EIN) OR

("0.BUF00.GW002.XM01" == EIN)

THEN
EIN

ELSE

AUS

ENDIF;

/* ------------------------------------------------------ */

"1.CHA01.EX10B.XM52" =

IF (

("1.CHA01.EX10B.XM25" == EIN)

THEN

EIN

ELSE

AUS

ENDIF;

/* ------------------------------------------------------ */

"2.CHA01.EX10B.XM52" =

IF (

("2.CHA01.EX10B.XM25" == EIN)

THEN

EIN
ELSE

AUS

ENDIF;

/* ------------------------------------------------------ */

"3.CHA01.EX10B.XM52" =

IF (

("3.CHA01.EX10B.XM25" == EIN)

THEN

EIN

ELSE

AUS

ENDIF;

/* ------------------------------------------------------ */

"4.CHA01.EX10B.XM52" =

IF (

("4.CHA01.EX10B.XM25" == EIN)

THEN

EIN

ELSE
AUS

ENDIF;

/* ------------------------------------------------------ */

Das könnte Ihnen auch gefallen