Vous êtes sur la page 1sur 6

Las condiciones de cierre de un interruptor funcionan de forma anloga a los

diagramas unifilares utilizados en los proyectos anteriores. De esta forma


cuando una seal est presente el camino se encuentra de color naranja, y de
color blanco en caso contrario.
Debido a que las condiciones finales para el cumplimiento de la orden de
cierre interruptor eran ms de las permitidas por el software en la pestaa
de animacin. Se realiz un script que simplifica las seales, agrupndolas en
una variable interna.
De esta forma se utiliz el siguiente comando en un script
int AUX_C1_2440;
AUX_C1_2440 = C1_2440_BPSF6_89T.getIntValue() + C1_2440_MCB_BOB_CTR.getIntValue() +
C1_2440_MCB_MOT.getIntValue();
C1_2440_UNIF.write(AUX_C1_2440);
Donde AUX_C1_2440 es una variable interna del script que resulta de la suma (Booleana) de todas las
seales del 2440 pertenecientes a la celda 1. y la variable C1_2440_UNIF corresponder a una variable de la
Magelis que tendr el valor de la variable AUX_C1_2440

Para la visualizacin de los diagramas de principio en la HMI. Se realiz el


siguiente procedimiento.

1- Se agreg una un nuevo script en el men Acciones>> Agregar una


nueva accin

Tipo de disparador: peridica


Frecuencia: 1 seg. Que corresponder al tiempo de muestreo de las
variables, o de ejecucin del script.

Adicionalmente se utiliz los scripts para evaluar las condiciones de sub y


sobre tensin, tomando los valores de las variables reales.
Anexo el script utilizado.

int AUX_C1_2440;

AUX_C1_2440
=
C1_2440_BPSF6_89T.getIntValue()
C1_2440_MCB_MOT.getIntValue();

C1_2440_MCB_BOB_CTR.getIntValue()

C1_2440_UNIF.write(AUX_C1_2440);

int AUX_C1_751_TRIP_UNIF;
AUX_C1_751_TRIP_UNIF
=
C1_751_DP_50.getIntValue()
C1_751_DP_50G.getIntValue() + C1_751_DP_51G.getIntValue();

C1_751_DP_51.getIntValue()

C1_751_TRIP_UNIF.write(AUX_C1_751_TRIP_UNIF);

int AUX_C1_751_DP_PROT_MEC_UNIF;
AUX_C1_751_DP_PROT_MEC_UNIF = C1_751_DP_ATA.getIntValue()
C1_751_DP_BNA.getIntValue()
+
C1_751_DP_BUCH.getIntValue()
C1_751_DP_SP.getIntValue();

+
+

C1_751_DP_ATD.getIntValue()
C1_751_DP_PS.getIntValue()

+
+

AUX_C2_2440
=
C2_2440_52_89L_FALL_MAG_BOB_CTRL.getIntValue()
C2_2440_52_89L_FALL_MAG_MOT.getIntValue() + C2_2440_52_89L_FALL_MAG_PTS_BAR.getIntValue()
C2_2440_BPSF6_89T.getIntValue();

+
+

C1_751_DP_PROT_MEC_UNIF.write(AUX_C1_751_DP_PROT_MEC_UNIF);

int AUX_C2_2440;

C2_2440_UNIF.write(AUX_C2_2440);

int AUX_C2_311L_TRIP_UNIF;
AUX_C2_311L_TRIP_UNIF
=
C2_311L_DISP_50.getIntValue()
+
C2_311L_DISP_50G.getIntValue()
+
C2_311L_DISP_51.getIntValue() + C2_311L_DISP_51G.getIntValue() + C2_311L_DISP_59.getIntValue() +
C2_311L_DISP_67.getIntValue() + C2_311L_DISP_87L.getIntValue() + C2_311L_SIN_F25.getIntValue();
C2_311L_TRIP_UNIF.write(AUX_C2_311L_TRIP_UNIF);

int AUX_C3_2440_UNIF;
AUX_C3_2440_UNIF
=
C3_2440_52_89L_FALL_MAG_BOB_CTRL.getIntValue()
C3_2440_52_89L_FALL_MAG_MOT.getIntValue() + C3_2440_BPSF6_89T.getIntValue();

C3_2440_UNIF.write(AUX_C3_2440_UNIF);

int AUX_C3_351S_TRIP_UNIF;
AUX_C3_351S_TRIP_UNIF
=
C3_351S_DISP_50.getIntValue()
+
C3_351S_DISP_50G.getIntValue()
+
C3_351S_DISP_51.getIntValue() + C3_351S_DISP_51G.getIntValue() + C3_351S_DISP_59.getIntValue() +
C3_351S_DISP_67.getIntValue() + C3_351S_SIN_F25.getIntValue();
C3_351S_TRIP_UNIF.write(AUX_C3_351S_TRIP_UNIF);

int AUX_C4_2440_UNIF;
AUX_C4_2440_UNIF
=
C4_2440_52_89L_FALL_MAG_BOB_CTR.getIntValue()
C4_2440_52_89L_FALL_MAG_MOT.getIntValue() + C4_2440_52_89L_FALL_MAG_PTS_BAR.getIntValue()
C4_2440_52_89L_FALL_MAG_PTS_ENT.getIntValue() + C4_2440_BPSF6_89T.getIntValue();

+
+

C4_2440_UNIF.write(AUX_C4_2440_UNIF);

int AUX_C4_311L_TRIP_UNIF;
AUX_C4_311L_TRIP_UNIF
=
C4_311L_DISP_27.getIntValue()
+
C4_311L_DISP_50.getIntValue()
+
C4_311L_DISP_50G.getIntValue() + C4_311L_DISP_51.getIntValue() + C4_311L_DISP_51G.getIntValue() +
C4_311L_DISP_59.getIntValue() + C4_311L_DISP_67.getIntValue() + C4_311L_DISP_87L.getIntValue() +
C4_311L_SIN_F25.getIntValue();
C4_311L_TRIP_UNIF.write(AUX_C4_311L_TRIP_UNIF);

int AUX_C5_2440_UNIF;
AUX_C5_2440_UNIF = C5_2440_BPSF6_89T.getIntValue()
C5_2440_MCB_MOT.getIntValue();

C5_2440_MCB_BOB_CTR.getIntValue()

C5_2440_UNIF.write(AUX_C5_2440_UNIF);

int AUX_C5_751_TRIP_UNIF;
AUX_C5_751_TRIP_UNIF
=
C5_751_DP_50.getIntValue()
C5_751_DP_51.getIntValue() + C5_751_DP_51G.getIntValue();

C5_751_DP_50G.getIntValue()

C5_751_TRIP_UNIF.write(AUX_C5_751_TRIP_UNIF);

int AUX_C5_751_PROT_MEC_UNIF;
AUX_C5_751_PROT_MEC_UNIF
C5_751_DP_BNA.getIntValue()
C5_751_DP_SP.getIntValue();

=
+

C5_751_DP_ATA.getIntValue()
+
C5_751_DP_ATD.getIntValue()
C5_751_DP_BUCH.getIntValue()
+
C5_751_DP_PS.getIntValue()

C5_751_PROT_MEC_UNIF.write(AUX_C5_751_PROT_MEC_UNIF);

//---------------Subtension---------------------------

int AUX_SUB_B1;
int AUX_TEN_C2_L;
int AUX_TEN_C2_B;

int AUX_TEN_C4_L;
int AUX_TEN_C4_B;

int VBO;
VBO=1;

C3_351S_27_BARRA_1.write(0);
C3_351S_27_BARRA_2.write(0);

+
+

C2_311L_TENS_LINEA.write(0);
C2_311L_TENS_BARRA.write(0);

AUX_SUB_B1 = C3_351S_VA.getIntValue();
if (AUX_SUB_B1 <= 48.9)
{ C3_351S_27_BARRA_1.write(1); }

AUX_SUB_B1 = C3_351S_VB.getIntValue();
if (AUX_SUB_B1 <= 48.9)
{ C3_351S_27_BARRA_1.write(1); }

AUX_SUB_B1 = C3_351S_VC.getIntValue();
if (AUX_SUB_B1 <= 48.9)
{ C3_351S_27_BARRA_1.write(1); }

AUX_SUB_B1 = C4_311L_VA.getIntValue();
if (AUX_SUB_B1 <= 48.9)
{ C3_351S_27_BARRA_2.write(1); }

AUX_SUB_B1 = C4_311L_VB.getIntValue();
if (AUX_SUB_B1 <= 48.9)
{ C3_351S_27_BARRA_2.write(1); }

AUX_SUB_B1 = C4_311L_VC.getIntValue();
if (AUX_SUB_B1 <= 48.9)
{ C3_351S_27_BARRA_2.write(1); }

//------------Ausencia de tensin Linea C2 -----------

AUX_TEN_C2_L = C2_311L_VS.getIntValue();
if (AUX_TEN_C2_L <= 10)
{ C2_311L_TENS_LINEA.write(1); }

//------------Ausencia de tensin Barra C2 -----------

AUX_TEN_C2_B = C2_311L_VB.getIntValue();
if (AUX_TEN_C2_B <= 10)
{ C2_311L_TENS_BARRA.write(1); }

//------------Ausencia de tensin Linea C4 -----------

AUX_TEN_C4_L = C4_311L_VS.getIntValue();
if (AUX_TEN_C4_L <= 10)
{ C4_311L_TENS_LINEA.write(1); }

//------------Ausencia de tensin Barra C4 -----------

AUX_TEN_C4_B = C4_311L_VB.getIntValue();
if (AUX_TEN_C4_B <= 10)
{ C4_311L_TENS_BARRA.write(1); }