Pesaje y dosificación

  • 11 Respuestas
  • 3354 Vistas

FenixBioEnergy

  • Novato
  • *
  • Mensajes: 13
Pesaje y dosificación
« : julio 04, 2020, 12:32:27 pm »
hola boris, tengo la siguiente consulta, tengo la balanza anadndo toma la lectura de 0 a 10v pero tengo que hacer que pese si el peso es menor a 15 kg dispare un DOUT hasta llegar al peso y cerrarlo al llegar, te subo el diagrama.
tambien estaba tratado de poner un contador de pesadas o bolsas.

gracias y saludos.

« Última Modificación: julio 07, 2020, 19:55:48 pm por Soporte »

Soporte

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 2326
  • Soporte Técnico
Re:pesaje y dosificacion
« Respuesta #1 : julio 06, 2020, 13:27:08 pm »
Buenas tardes Ariel,

tengo que hacer que pese si el peso es menor a 15 kg dispare un DOUT hasta llegar al peso y cerrarlo al llegar, te subo el diagrama.

Para ello tendrías que hacer una comparación, mientras es menor a 15KG la condición es válida y activa DOUT1, fijate en el siguiente código:



Te adjunto el proyecto.

Saludos!

« Última Modificación: julio 06, 2020, 13:28:43 pm por Soporte »
SOPORTE TÉCNICO

Slicetex Electronics
www.slicetex.com

FenixBioEnergy

  • Novato
  • *
  • Mensajes: 13
Re:pesaje y dosificacion
« Respuesta #2 : julio 07, 2020, 12:51:37 pm »
boris, buenos dias,  excelente, funciona bien pero lo único le tendría que poner un timer antes porque sino agrega material mientras esta llenando la bolsa, me conviene poner un TDELAY u otro? un flanco y un timer?
por otro lado, como seria esto en pawn a ladder?

SecuenciaA(paso)
{
   switch(paso)
   {
      
      case 1:
      {
         RelayClose (RELAY1)
         RelayOpen  (RELAY2)
         
         SetTimeout1CS(30)
         
         
         SecuenciaA_Paso = 2
      }
      
      
      case 2:
      {
         
         if(CheckTimeout1CS())
         {
            RelayClose (RELAY2)
                  RelayOpen  (RELAY1)
            SecuenciaA_Paso = 3
         }
      }
      
      case 3:
      {
         
         if(CheckTimeout1CS())
         {
          if(Din1Value())
       {
       SecuenciaA_Paso = 3
      
       }
       else
       {
       SecuenciaA_Paso = 4
       }         
         }
      }
      case 4:
      {
         RelayOpen(RELAY4)
                        RelayClose (RELAY3)
         SetTimeout1CS(5)
         SecuenciaA_Paso = 5
      }
      
      
      case 5:
      {
         if(CheckTimeout1CS())
         {
            SecuenciaA_Paso = 6
         }
      }
      
      
      case 6:
      {
         RelayOpen(RELAY3)
                        RelayClose (RELAY4)
         SetTimeout1CS(30)
         SecuenciaA_Paso = 1
      }
      
      
      
      
      
            
         }
      }
   }
}


SetTimeout1CS(cs)
{
   Timeout1CS = cs
}

gracias como simpre y perdn tanta molestia.

Soporte

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 2326
  • Soporte Técnico
Re:Pesaje y dosificación
« Respuesta #3 : julio 07, 2020, 19:55:27 pm »
Buenas Ariel,

boris, buenos dias,  excelente, funciona bien pero lo único le tendría que poner un timer antes porque sino agrega material mientras esta llenando la bolsa, me conviene poner un TDELAY u otro? un flanco y un timer?

Antes que peso sea mayor a 15, la salida está desactivada. ¿Un timer para retrasar la activación de la salida?. Favor de detallar mejor.

por otro lado, como seria esto en pawn a ladder?

SecuenciaA(paso)
{
// ...
}

Para hacer una secuencia hay que utilizar funciones ladder e ir llamando a cada una en cada paso de la secuencia. Cuando termina de temporizar una secuencia, se llama a la siguiente función y así sucesivamente. Cada función adentro contiene la lógica que querés realizar en determinado paso, como activar una salida por ejemplo.

Te adjunto en archivo ZIP el proyecto modificado para ejecutar 3 secuencias, la secuencia 1 (diagrama Seq1) activa la salida DOUT1 por 10 segundos, la secuencia 2 (diagrama Seq2) activa la salida DOUT2 por 15 segundos y la secuencia 3 (diagrama Seq2) activa la salida DOUT3 por 20 segundos.

Para comenzar la secuencia debés hacer DIN4=1. Y para detenerla debés hacer DIN5=1.

Podés usarlo como referencia para ir agregando más secuencias.

En el foro existía un ejemplo similar, lo que hice fue adaptarlo a tu proyecto, te recomiendo leer el siguiente link para entender la lógica y poder hacer tus modificaciones.

foro.slicetex.com/index.php?topic=425.0


Saludos!
« Última Modificación: julio 07, 2020, 20:00:50 pm por Soporte »
SOPORTE TÉCNICO

Slicetex Electronics
www.slicetex.com

FenixBioEnergy

  • Novato
  • *
  • Mensajes: 13
Re:Pesaje y dosificación
« Respuesta #4 : julio 07, 2020, 21:30:48 pm »
hola boris

Citar
Antes que peso sea mayor a 15, la salida está desactivada. ¿Un timer para retrasar la activación de la salida?. Favor de detallar mejor.

te comento la secuencia que te pase en pawn es de la parte volumetrica, carga en la bolsa 14,6 kg en la bolsa, una vez hecha la descarga pesa y agrega, por eso si ponía solo un timer o un flanco y un timer cuando cierra la compuerta de descarga dispara el timer para darle un segundo que estabilice la balanza y agregue lo que falta.

gracias!!

Soporte

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 2326
  • Soporte Técnico
Re:Pesaje y dosificación
« Respuesta #5 : julio 08, 2020, 11:17:30 am »
Buenos días Ariel,

te comento la secuencia que te pase en pawn es de la parte volumetrica,

Claro, en el mensaje anterior está ejemplificada la secuencia del código Pawn.

carga en la bolsa 14,6 kg en la bolsa, una vez hecha la descarga pesa y agrega, por eso si ponía solo un timer o un flanco y un timer cuando cierra la compuerta de descarga dispara el timer para darle un segundo que estabilice la balanza y agregue lo que falta.

Te paso un código que si "peso" es menor a 14.6 activa DOUT8=1, si es mayor-igual a 14.6 y menor a 15, desactiva DOUT8, si es mayor a 15, activa pasado un segundo.

(nota, ejemplo corregido, versión de proyecto 4, ver ZIP)



Ver proyecto adjunto también.

Saludos!
« Última Modificación: julio 08, 2020, 16:27:32 pm por Soporte »
SOPORTE TÉCNICO

Slicetex Electronics
www.slicetex.com

FenixBioEnergy

  • Novato
  • *
  • Mensajes: 13
Re:Pesaje y dosificación
« Respuesta #6 : julio 14, 2020, 12:37:00 pm »
boris, como estas, una consulta en la que hice lío, quiera poner la parte de pesaje en la secuencia, pero al no ser un while me parece que no anda, como me lo pásate vos funciona perfecto en el principal pero acá no puedo hacer que funcione.

gracias.

Soporte

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 2326
  • Soporte Técnico
Re:Pesaje y dosificación
« Respuesta #7 : julio 14, 2020, 21:02:57 pm »
boris, como estas, una consulta en la que hice lío, quiera poner la parte de pesaje en la secuencia, pero al no ser un while me parece que no anda, como me lo pásate vos funciona perfecto en el principal pero acá no puedo hacer que funcione.


Buenas tardes Ariel. Me parece que estás confundiendo un poco la programación, te aconsejo leer y practicar algunos ejemplos en Ladder para poder comprender mejor la programación en general, ver manual:

www.slicetex.com/ladder/docs/index.php

En este caso, lo que me pasás, tenés una secuencia, desde Principal llamás a diagrama Sequence que de acuerdo a a un valor entero de la variable "SeqNum" entra en el diagrama Seq1 a Seq4. Cada diagrama "Seq" realiza la lógica que necesita en esa secuencia (espera un tiempo, activa salidas, etc) y luego cuando termina de hacer su lógica, incrementa la variable "SeqNum" así se llama a la siguiente secuencia. Cuando llega al final de las secuencias, o detiene las secuencias (SeqNum se hace cero) o vuelve a ejecutar la secuencia número 1.

Si observás, en el código que me pasas en Seq4.sld hacés SeqNum=3, es decir volvés a la secuencia 3 (para atrás) cuando peso >= 15.

En la misma secuencia, solo cuando "peso" este entre 14.6 y 15, se activa DOUT8 (en el tiempo que T24 temporiza, por la variable TimerOn).

Favor de ser más claro y detallado, ¿qué parte no te funciona? y ¿qué resultados obtenés y cuales esperás?.

Saludos!
« Última Modificación: julio 14, 2020, 21:04:59 pm por Soporte »
SOPORTE TÉCNICO

Slicetex Electronics
www.slicetex.com

FenixBioEnergy

  • Novato
  • *
  • Mensajes: 13
Re:Pesaje y dosificación
« Respuesta #8 : noviembre 30, 2020, 10:19:25 am »
Hola boris, soy ariel,  te quería hacer una consulta, tengo un problema con los display de los plc, se apagan, los cambie y hacen lo mismo, esta andando y como que se les borra lo escrito, en este caso es el peso, esta funcionando lo más bien, cambie de plc, cambie el display (compre uno nuevo me fije que fuera el mismo integrado) le puse los capa como dice el instructivo que esta en la página, pero lo mismo esta andando lo mas bien y pierde el display, que puede ser?

gracias y saludos

Soporte

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 2326
  • Soporte Técnico
Re:Pesaje y dosificación
« Respuesta #9 : noviembre 30, 2020, 12:33:10 pm »
Buenos días Ariel,

Hola boris, soy ariel,  te quería hacer una consulta, tengo un problema con los display de los plc, se apagan, los cambie y hacen lo mismo, esta andando y como que se les borra lo escrito, en este caso es el peso, esta funcionando lo más bien, cambie de plc, cambie el display (compre uno nuevo me fije que fuera el mismo integrado) le puse los capa como dice el instructivo que esta en la página, pero lo mismo esta andando lo mas bien y pierde el display, que puede ser?

Se puede estar introduciendo un ruido, por ejemplo al conmutar una salida con un rele/contactor/electroválvula. El modelo STX8081 es susceptible en el display a ese tipo de ruido en algunas ocasiones. Te recomendaría, si estás comandando relés/contactor/electroválvula, colocarles un diodo en paralelo, o capacitor + resistencia (100 nF + 100 Ohms) a esos elementos. Si tenés relés de estado sólido para colocar entre el PLC y esos elementos, mejor.

Te adjunto en archivo ZIP el mismo proyecto, pero cada 1 segundo desde el diagrama principal fuerza a re-inicializar el display LCD, fíjate si eso corrige la falla.

Saludos!
« Última Modificación: noviembre 30, 2020, 12:38:01 pm por Soporte »
SOPORTE TÉCNICO

Slicetex Electronics
www.slicetex.com

FenixBioEnergy

  • Novato
  • *
  • Mensajes: 13
Re:Pesaje y dosificación
« Respuesta #10 : febrero 03, 2021, 10:48:11 am »
hola boris, tengo un problema, en recurrente en dos plc, en la entrada vin, cualquiera sea no mide el valor real, ose tengo en tester (asi como en salida de balanza) 7,5 v, pero el plc lee 6,81, cambie de etrada, probe un A2 un D2 y tiene diferencias en las lecturas de entrada, le varie los filtros A y B, probe de todo pero tengo ese problema es como un 5% de error y  hay uno de de pronto mide de menos se dispara y mide bien y despues vuelve a medir mal el (A2), que puede ser?

Soporte

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 2326
  • Soporte Técnico
Re:Pesaje y dosificación
« Respuesta #11 : febrero 03, 2021, 12:34:35 pm »
Buenos días,

tengo un problema, en recurrente en dos plc, en la entrada vin, cualquiera sea no mide el valor real, ose tengo en tester (asi como en salida de balanza) 7,5 v, pero el plc lee 6,81, cambie de etrada, probe un A2 un D2 y tiene diferencias en las lecturas de entrada, le varie los filtros A y B, probe de todo pero tengo ese problema es como un 5% de error

El modelo STX8081 tiene cierta dependencia en componentes internos (como resistores) para poder medir los voltajes externos, por lo que con el tiempo puede haberse corrido el valor real en la entrada analógica con respecto el valor medido (puede ser una de las causas).

Si es así, y tenés un desfasaje lineal del +5%, podrías multiplicar el voltaje medido por "1.05" o (o por 0.95 si es -5%) para colocarlo en su valor más cercano al real.

Algo simple que podés hacer, es mediante una fuente externa ir colocando voltajes, 0, 1, 2, ... 10V, y anotar cuando mide el PLC
en una tabla. En base a esto, calculas el promedio de desviación (por ejemplo te puede dar 5%) y lo usás como factor para multiplicar.

Otro motivo puede ser que la la impedancia de salida de la salida de la balanza sea elevada, entonces, como se pone en serie con el valor de impedancia de la entrada analógica, que para VIN1/VIN2 es de aproximadamente 147 KOhm, se crea un divisor resistivo y caiga tensión antes de llegar a la entrada.

y  hay uno de de pronto mide de menos se dispara y mide bien y despues vuelve a medir mal el (A2), que puede ser?

Debería mantenerse el error estable en el tiempo, a menos que haya algo internamente mal en el hardware.

Podrías también colocar un capacitor de 100 nF (o un valor mayor) entre el terminal de la entrada analógica y su AGND, para filtrar algunos picos de tensión que puedan venir de la balanza, quizás el valor instantáneo cambie de valor, pero el promedio se mantenga siempre similar.

Otra alternativa es alargar el tiempo de promediado en los filtros digitales, es decir bajar la frecuencia de muestreo y aumentar la cantidad de muestras para hacer menos sensible la lectura:

Por ejemplo, en el componente de filtros, colocar "FS=250" y "SAMPLES=250", esto es, un muestreo de 250 Hz, y 250 muestras de promediado, lo que hace que las entradas analógicas actualicen el valor de la lectura cada 1 segundo aproximadamente luego de hacer el promediado. Se puede aumentar las muestras o SAMPLES a 500 también, para el doble de tiempo.

Saludos!
SOPORTE TÉCNICO

Slicetex Electronics
www.slicetex.com