1
STX8091 / AYUDA: ruido eléctrico en entradas digitales? (SOLUCIONADO)
« : mayo 16, 2017, 17:46:39 pm »
Hola gente del foro!
Estoy automatizando una seleccionadora de granos con un STX8091, placa de expansión STX570 y HMI Array SH300.
Debo manejar 5 actuadores lineales con motor de CC, que mueven 5 compuertas. Dichos actuadores me proporcionan salida potenciométrica y al final de su recorrido tienen instalados finales de carrera inductivos. Además, debo comandar 2 variadores que manejan motores trifásicos de 1 y 20HP.
Cuando la máquina inicia en frio, posiciona las compuertas y configura y activa los variadores. El programa permite modificar todos los parámetros sobre la marcha. Es aquí cuando se repite más el problema, cuando están ambos motores andando.
Mi problema es el siguiente:
Cuando inicio la rutina de posicionar los actuadores, el soft erráticamente se saltea pasos, ya que detecta que el final de carrera esta activado (cuando no lo esta!). El código en cuestión es el siguiente (sólo esa parte):
La funciones DinReadFiltered y EXT_DinReadFiltered son códigos de antirrebote que saqué de acá, escritos por Boris. Llego a probar con tiempos de hasta 600mS para evitar el ruido, pero igual se mete. Los inductivos usados son IFM7100, que indican una frecuencia de operación de 800HZ, por lo cual con un tiempo de "antirrebote" mayor a 1.25mS estaría cubierto... (?). Las compuertas se mueven a 1mm/seg, por lo cual no tendría problemas de velocidades excesivas.
Los debug point los utilizo como puntos de debug de hardware, para detener el programa y observar como se modificaron las variables en el HMI, actuador por actuador. La placa de expansión tiene LEDs que indican si se activo o no una entrada: sucede que a veces este LED está apagado y el programa sale por el "break"....
Cumplí todas las siguientes recomendaciones con respecto al ruido, obtenidas también de este foro:
1. Conectar a tierra la bornera GND del PLC y placa de expansión.
2. La tierra tiene que ser mediante jabalina y muy cerca de la instalación.
3. Poner a tierra también gabinetes, partes metálicas, mallados, etc.
4. Utilizar cables mallados para las conexiones, con su malla conectada a tierra.
5. No pasar cerca del PLC o lógica (por arriba o abajo) los cables de potencia u otros del tablero.
6. Utilizar contactores o reles secundarios (desmontables) en lo posible para comandar las válvulas.
7. Colocar un circuito-serie RC con un valor de capacitor (0.1uF cerámico) y resistencia (220 ohms), en paralelo a la parte de potencia de las válvulas, donde conmuta o en su defecto, cerca del la bobina del contactor o rele secundario utilizado.
8. No pasar cerca del cable de control de la STX570A señales de potencia.
3.---> El tablero trifásico al cual se conecta la máquina esta debidamente puesto a tierra, pero la jabalina no esta "muy cerca".
4.--->El cableado de los sensores se lleva por un caño metálico corrugado con recubrimiento plástico, el cual está conectado a GND.
7.---> coloqué ese circuito RC en la entrada de todos los finales de carrera.
Espero que puedan ayudarme porque ya llevo más de dos semanas con el mismo problema y estoy agotando las posibles soluciones!
Muchas gracias! Saludos!
Estoy automatizando una seleccionadora de granos con un STX8091, placa de expansión STX570 y HMI Array SH300.
Debo manejar 5 actuadores lineales con motor de CC, que mueven 5 compuertas. Dichos actuadores me proporcionan salida potenciométrica y al final de su recorrido tienen instalados finales de carrera inductivos. Además, debo comandar 2 variadores que manejan motores trifásicos de 1 y 20HP.
Cuando la máquina inicia en frio, posiciona las compuertas y configura y activa los variadores. El programa permite modificar todos los parámetros sobre la marcha. Es aquí cuando se repite más el problema, cuando están ambos motores andando.
Mi problema es el siguiente:
Cuando inicio la rutina de posicionar los actuadores, el soft erráticamente se saltea pasos, ya que detecta que el final de carrera esta activado (cuando no lo esta!). El código en cuestión es el siguiente (sólo esa parte):
Código: (Pawn) [Seleccionar]
for(new i=1;i<=5;i++)
{
POTENCIOMETRO=VinRead(i+3)
LedOff()
/////////////////////////DEBUG/////////////////////////////////////
debug_point:
if(!DinValue(DIN13)) goto debug_point
///////////////////////////////////////////////////////////////////
BitSet(Salida,i-1)
if(POTENCIOMETRO<=SetPoint_Compuertas[i]) OpenClose=0
else OpenClose=1
if(!OpenClose)
{
//Abrir
while(POTENCIOMETRO<=SetPoint_Compuertas[i])
{
if(DinReadFiltered(i))
{
LedOn()
break //Final de carrera?
}
POTENCIOMETRO=VinRead(i+3)
DelayMS(60)
DoutSetOn(Salida)
}
DoutSetOff(Salida)
}
else
{
//Cerrar
while(POTENCIOMETRO>=SetPoint_Compuertas[i])
{
if(EXT_DinReadFiltered(i))
{
LedOn()
break//Final de carrera?
}
POTENCIOMETRO=VinRead(i+3)
DelayMS(60)
Stx570_DoutSet(0, Salida)
}
Stx570_DoutClr(0, Salida)
}
BitClr(Salida,i-1)
/////////////////////////DEBUG/////////////////////////////////////
debug_point2:
if(!DinValue(DIN13)) goto debug_point2
///////////////////////////////////////////////////////////////////
}
La funciones DinReadFiltered y EXT_DinReadFiltered son códigos de antirrebote que saqué de acá, escritos por Boris. Llego a probar con tiempos de hasta 600mS para evitar el ruido, pero igual se mete. Los inductivos usados son IFM7100, que indican una frecuencia de operación de 800HZ, por lo cual con un tiempo de "antirrebote" mayor a 1.25mS estaría cubierto... (?). Las compuertas se mueven a 1mm/seg, por lo cual no tendría problemas de velocidades excesivas.
Los debug point los utilizo como puntos de debug de hardware, para detener el programa y observar como se modificaron las variables en el HMI, actuador por actuador. La placa de expansión tiene LEDs que indican si se activo o no una entrada: sucede que a veces este LED está apagado y el programa sale por el "break"....
Cumplí todas las siguientes recomendaciones con respecto al ruido, obtenidas también de este foro:
1. Conectar a tierra la bornera GND del PLC y placa de expansión.
2. La tierra tiene que ser mediante jabalina y muy cerca de la instalación.
3. Poner a tierra también gabinetes, partes metálicas, mallados, etc.
4. Utilizar cables mallados para las conexiones, con su malla conectada a tierra.
5. No pasar cerca del PLC o lógica (por arriba o abajo) los cables de potencia u otros del tablero.
6. Utilizar contactores o reles secundarios (desmontables) en lo posible para comandar las válvulas.
7. Colocar un circuito-serie RC con un valor de capacitor (0.1uF cerámico) y resistencia (220 ohms), en paralelo a la parte de potencia de las válvulas, donde conmuta o en su defecto, cerca del la bobina del contactor o rele secundario utilizado.
8. No pasar cerca del cable de control de la STX570A señales de potencia.
3.---> El tablero trifásico al cual se conecta la máquina esta debidamente puesto a tierra, pero la jabalina no esta "muy cerca".
4.--->El cableado de los sensores se lleva por un caño metálico corrugado con recubrimiento plástico, el cual está conectado a GND.
7.---> coloqué ese circuito RC en la entrada de todos los finales de carrera.
Espero que puedan ayudarme porque ya llevo más de dos semanas con el mismo problema y estoy agotando las posibles soluciones!
Muchas gracias! Saludos!