PLC No conmuta Salidas DOUT 1 y 2

  • 2 Respuestas
  • 1404 Vistas

Mariano

  • Avanzado
  • ***
  • Mensajes: 106
PLC No conmuta Salidas DOUT 1 y 2
« : noviembre 06, 2018, 07:52:49 am »
Que tal Boris buen día:

Te adjunto programas PLC 8091-D2 de nombre PruebaSH300 y programa de la pantalla de nombre "1".

Lo que intento hacer es presionando una tecla del panel conmutar la salida a rele correspondiente.

Conmutan la 3, 4 y 8 perfectamente pero la 1 y la 2 no lo hacen.
Los números de registros cargados en la pantalla son 6001, 6002 ... 6008.

Probé con 1, 2 ... 8 pero el relé enciende y se apaga inmediatamente después.

Las lámparas virtuales en la pantalla conmuntan bien, lo único que no funciona son las salidas 1 y 2.

Te paso los programas para que los pruebes haber si se te produce la misma falla.

Saludos

Soporte

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 2276
  • Soporte Técnico
Re:PLC No conmuta Salidas DOUT 1 y 2
« Respuesta #1 : noviembre 06, 2018, 18:00:04 pm »
Conmutan la 3, 4 y 8 perfectamente pero la 1 y la 2 no lo hacen.
Los números de registros cargados en la pantalla son 6001, 6002 ... 6008.

Probé con 1, 2 ... 8 pero el relé enciende y se apaga inmediatamente después.

Las lámparas virtuales en la pantalla conmuntan bien, lo único que no funciona son las salidas 1 y 2.

Buenas tardes Mariano,

No lo pude probar hoy, pero por lo que veo en el programa, estás usando números en vez de las constantes DOUT1, DOUT2, DOUT3, etc en las funciones DoutSetOn() y DoutSetOn().

Proba remplazarlas todas por las constantes respectivas:

Código: (Pawn) [Seleccionar]
   if(MbRtuServGetGpCoil(6001)){DoutSetOn(DOUT1);}
   else{DoutSetOff(DOUT1);}
     
   if(MbRtuServGetGpCoil(6002)){DoutSetOn(DOUT2);}
   else{DoutSetOff(DOUT2);}
     
   if(MbRtuServGetGpCoil(6003)){DoutSetOn(DOUT3);}
   else{DoutSetOff(DOUT3);}
     
   if(MbRtuServGetGpCoil(6004)){DoutSetOn(DOUT4);}
   else{DoutSetOff(DOUT4);}
     
   if(MbRtuServGetGpCoil(6008)){DoutSetOn(DOUT8);}
   else{DoutSetOff(DOUT8);}

Las constantes DOUT tienen distinto valor numérico que utilizar "1, 2, 3, ..., etc".

Por ejemplo, hacer DoutSetOff(3) es equivalente a hacer DoutSetOff(DOUT1 | DOUT2), apaga las dos al mismo tiempo. Ya que las constantes representan BITs, y el número 3, en binario es 11, es decir, ambos bits en la posición de DOUT1 y DOUT2.

Avísame si te sigue fallando.

Saludos!

SOPORTE TÉCNICO

Slicetex Electronics
www.slicetex.com

Mariano

  • Avanzado
  • ***
  • Mensajes: 106
Re:PLC No conmuta Salidas DOUT 1 y 2
« Respuesta #2 : noviembre 06, 2018, 20:40:54 pm »
Solucionado Boris.

Efectivamente era eso.

Gracias y Saludos