Diseño y construcción de una báscula para pesar contenedores de tornillos
Autor:Enrique Casas
Introducción:
En el ejemplo se muestra como realizar el pesaje de unos contenedores con un PLC y una pantalla
Hardware
Sistema mecánico:
Plataforma de pesado.
Estructura metálica adaptada a la forma del contendor,en forma de U que permite alojar el contenedor con un traspalet de mano, y donde se sujetan las células de carga.
Cuatro células de carga de 300Kg cada una, que hacen un total de 1200Kg.
Sistema eléctrico:
Autómata NAIS con una CPU FP0 y modulo de entradas analógicas.
Caja sumadora y fuente alimentación para las cuatro células de carga.
Amplificador de señal de 0-20mV a 0-5V para adaptar la señal que nos envía las células a la entrada del autómata.
Pantalla táctil ESA VT155 para control, visualización y calibración de la báscula.
El autómata FP0 se ha elegido entre otros muchos que existen en el mercado, por su tamaño bastante reducido y principalmente porque la entrada analógica nos da 4000 puntos de resolución y 16bits, podemos obtener una precisión suficiente para pesos de entre 50 y 500Kg que es lo máximo que vamos a pesar.
La pantalla se ha elegido la de ESA por precio, tamaño y la facilidad de comunicar con una gran variedad de autómatas del mercado. La pantalla nos vale como visualizador de los kilos que tenemos en la báscula, kilos de la tara, acumulador de kilos, calibración de la báscula, ayuda, etc.
La caja sumadora nos hace de fuente de alimentación para las células, proporcionando 10V por cada una de las células, que podemos ajustar independientemente en función de la sensibilidad de cada célula,como norma general las células de carga industriales tienen una sensibilidad de 2mV por voltio de alimentación, en total tendremos una salida máxima de 20mV para el máximo peso soportado por las células,esta señal no nos vale como entrada para el modulo analógico, así que hemos puesto un amplificador de entada 0-20mV y salida 0-5V, que es la entrada con la que trabaja el modulo analógico.
Estos dos equipos son fundamentales para la precisión de la bascula, teniendo en cuenta que para pesos pequeños la señal es de unos pocos milivoltios y el amplificador nos la tiene que convertir en 1V o menos a veces, la calidad de esa señal tiene que ser lo mejor posible, entendiendo por calidad que tiene que estar libre de interferencias que la alteren, que mantenga la linealidad en todo el rango y la estabilidad de la señal.
En todo el montaje se ha observado lo que afectan los agentes externos como la temperatura ambiente, la alimentación del equipo, ubicación del equipo.
Todos los elementos que lo forman se han metido en un armario metálico, con una buena toma de tierra, en la entrada de alimentación se ha colocado un filtro para evitar parásitos, la conexión de las células de carga es fundamental hacerlo con un cable apantallado y poner a tierra.
Teoría para el cálculo de kilos:
Todos los cálculos se basan en la ecuación de la recta de la siguiente forma:
En el eje de las Y tenemos los puntos de la entrada analógica y en el eje de las X los voltios y los kilos que queremos que nos representen.
El único dato del que disponemos son los puntos que nos da la entrada analógica del autómata, leyendo con el programa la variable WX2 , primera entrada analógica, los kilos tenemos que calcularlos nosotros.
Los valores del eje Y son valores que conocemos, 4000 son los puntos máximos que podemos tener en la entrada analógica y le corresponde un valor de 5V y 1200Kg que es el peso máximo que nos admiten las cuatro células de carga, en nuestro caso.
El valor de 1524 son los puntos que tenemos del peso muerto, es decir, el peso de la estructura que soportan las células de carga donde depositaremos el contenedor, para nosotros ese va a ser el 0Kg, puesto que se supone que la estructura es inalterable y siempre va ha tener el mismo peso.
El valor de 3565 son los puntos de un peso conocido previamente, este valor es el que tomamos como referencia para la calibración, que corresponde a 1010Kg. Tomamos este valor porque es un valor real cerca del máximo, no tomamos los 4000puntos y 1200Kg porque es un valor teórico, y es muy difícil obtener a estos puntos los 5V.
Si observamos la recta vemos que tenemos dos triángulos equivalentes.
Aplicamos la siguiente igualdad: Sustituyendo las letras por los valores, un punto cualquiera de la recta tendrá un valor.
En el eje de las X tenemos los kilos y voltios, en el eje de las Y tenemos los puntos correspondientes al valor de la entrada analógica de 0 a 4000 para 0V-5V . Despejamos la como el valor de Y es el valor de la entrada analógica, que es lo que nosotros podemos saber, , sustituimos la Y por su valor WX2, que corresponde a la primera entrada del modulo analógico, quedando la formula final para introducir en el programa del autómata.
Esta formula es para unos valores determinados, en nuestro caso los dados anteriormente, pero la realidad, es que la bascula tiene errores debido principalmente a la temperatura, nuestro 0Kg puede variar algunos puntos arriba o abajo, con lo que la calibración nos ha variado también, para subsanar estos errores, en el programa del autómata, estos valores iniciales los sustituimos por áreas de memoria donde nosotros podamos escribir los valores que queramos y podamos modificarlos en cualquier momento, si necesitamos recalibrar la bascula. -
Sustituimos los valores fijos de la formula por áreas de memoria del autómata, donde podamos escribir los valores que necesitemos:
X -- WX puntos de cualquier punto de la recta
1524 -- WX1 puntos para el 0Kg
3565 -- WX2 puntos de un peso conocido
1010 -- C kilos del peso conocido
La formula quedaría de la siguiente forma:
En el programa almacenamos las variables en los siguientes DT:
Wx = valor en puntos de un punto cualquiera de la recta
Wx2 = DT200 lo almacenamos en el DT1654 para que no pierda el valor
Wx1 = DT202 lo almacenamos en la palabra WR61 para que no pierda el valor
C = DT204 lo almacenamos en la palabra WR62 para que no pierda el valor
Desglosamos los términos de la formula:
Producto de C Y lo almacenamos en los DT206 y DT207
Producto de C Wx1 lo almacenamos en los DT208 y DT209
Resta de Wx2-Wx1 lo almacenamos en los DT210 y DT211
C Y=WR62 Wx = DT206,DT207
C Wx1=WR62 WR61=DT208,DT209
Wx2-Wx1=DT1652 – WR61=DT210, DT211
Como se puede observar los valores iniciales se almacenan en un solo DT de 16 bits, pero en los siguientes cálculos se utilizan dos DT para almacenar los valores, esto es porque los cálculos los vamos a realizar con números reales para no perder precisión y este tipo de cálculos requiere de dos DT. - La formula quedaría de la siguiente forma:
Almacenamos la resta DT206,207 – DT208,209= DT212 y la ecuación final queda de esta forma:
KILOS QUE TENEMOS EN BASCULA
- El cálculo de la TARA tiene el mismo proceso aplicándose la misma formula
Wx=DT1654
Wx2-Wx1 = DT200 – DT202= DT 210,211
C Wx1= DT204 DT202 = DT208,209
C Wx1= WR62 DT1654 = DT218,219
- DT218,219 – DT208,209= DT220,221
KILOS DE LA TARA
A la hora de conectar con la pantalla de ESA tenemos el problema de que esta no es capaz de recibir números en formato real de 32 bits, solo admite números enteros de 16 bits,con lo cual hay que transformar los kilos finales a formato entero de 16 bits para poder enviárselos a la pantalla, o enviar las variables a la pantalla y que esta sea quien realice los cálculos.
Yo he optado por las dos cosas, enviando en formato entero nos aseguramos que los cálculos son fiables ya que es el autómata quien los realiza y la parte entera es fiable, pero no tenemos decimales y perdemos algo de precisión, si realizamos los cálculos en la pantalla podemos tener los mismos resultados, pero con bastantes decimales, en este tipo de bascula los decimales no son demasiado importantes y no se van ha tener en cuenta, de todas formas en la pantalla aparecen los dos representados.
La formula para obtener los kilos en pantalla es la siguiente:
[KILOS CALCULADOS] = ([DT206] – [DT208])/DT210
Programa de autómata: Descargar programa
Breve explicación de las líneas más importantes del programa, hay líneas que estan preparadas para trabajar en comunicación con la pantalla de ESA y otras con la GT01 de NAIS, el programa se refiere al de la lavadora 22222.
Línea 0 a línea 82:
En esta líneas lo que hacemos es que cada 100ms activamos un TIM cuando este termina el tiempo activa al siguiente y en ese momento movemos el valor que tiene la entrada analógica WX2 a un DT donde queda almacenado temporalmente hasta un total de ocho TIMS.
Línea 89:
Cuanado se activa el último TIN lo que hacemos es sumar todos los DT donde están almacenados los valores y dividirlos por ocho y lo almacenamos en el DT25, que lo tomamos como media del valor de la entrada analógica para los cálculos de la formula.
Estos cálculos están puestos porque la entrada analógica no esta estable y si tomamos el valor instantáneo, los cálculos están continuamente variando.
Línea 134 a línea 229:
Cuando pulsamos cero en la pantalla comparamos el valor de la media que tiene la entrada analógica en ese instante (DT25) con lo que tiene almacenado en WR61 dependiendo de si la comparación es =, <, > se queda como esta el valor, se le suma o se le resta la diferencia, tanto al 0Kg como al valor de los puntos del peso conocido usado en la calibración, esto se hace porque si el 0 se nos ha desplazado hacia arriba o hacia abajo, también debemos desplazar los puntos del peso conocido en la misma proporción para que la recta no nos varie.
Línea 241 a línea 252:
Cuando hacemos una calibración desde la pantalla, lo que hacemos es meter unos valores en unos DT al pulsar la tecla de CALIBRACION lo que hacemos es mover esos valores a áreas de memoria con retención para que los valores no se pierdan.
Línea 259 a línea 295:
Calculo de la formula de forma continua de los kilos que tenemos en bascula .
Línea 318
Conversión de los kilos en bascula de formato entero de 32bits a numeros reales.
Línea 327
Conversión de los kilos de formato de 32 bits a entero de 16 bits para enviarselos a la pantalla de ESA.
Línea 336
Compara el DT 506 si es menor que 0, si se cumple la condición pone un 0 en ese DT para que en la pantalla no salgan los números negativos.
Línea 360
En esta línea se compara continuamente el DT1656, acumulado total del lote, con la constante 0 y si este DT su valor es 0 o menor pone un 0 en el DT, esto esta puesto porque en otra línea de programa se hace una división con este DT y si este es menor de 0 nos da un error de sintaxis, porque divisiones por 0 no se pueden hacer.
Línea 370
Hace lo mismo que la anterior con el DT1658, poner 0 si toma valores negativos.
Línea 398
Mueve los valores de preselección de los TIM a unos DT para cambiar los tiempos desde la pantalla.
Línea 419 a 437:
Igual al anterior para cambiar los tiempos de la pantalla GT01.
Línea 443 a línea 485:
Estas líneas lo que se hace, es que al meter un contenedor vacío, tiene una célula que lo detecta y pasado el tiempo que marca TIM7 compara el peso que tiene ese contendor con el que tenía anteriormente y dependiendo de si es mayor, menor o igual activa unos reles para dar un mensaje en pantalla y hacer la nueva tara. Estas líneas no están en uso porque se ha suprimido la línea que activa el TIM a través de la entrada X1 que sería el detector de presencia del contenedor.
Línea 487 a 552:
Cambiar valores en los DT para cambiar de pantalla par la de ESA y NAIS.
Línea 594 a 629:
Calculo de los kilos del contendor vacío para destararlos del total de kilos.
Línea 594 a 629:
Calculo de los kilos del contendor vacío para destararlos del total de kilos.
Línea 639 a 656:
Redondeo de los kilos de la tara para tomar la parte entera, acumular en un área de memoria y pasarlo a entero de 16bits para enviárselo a la pantalla.
Línea 665:
Calculo de los kilos reales de carga, descontando del total la tara.
Línea 738:
Orden de acumular el peso neto que tenemos actualmente con lo que teníamos anteriormente para saber el total de kilos del lote.
Línea 824:
Calculo de los tornillos que tenemos en los kilos acumulados en para 1000 piezas y un peso especifico de esas piezas de 4,285Kg
Línea 874 a 919:
Calculo de los voltios de la entrada analógica en función de los puntos que tenemos en ella (WX2).
Línea 931 a 957:
Conversión de los kilos totales de formato entero a BCD para poder enviarlos por la segunda puerta serie del autómata a un interface entre la bascula y el ordenador, también podemos ver esta comunicación directamente entre autómata y ordenador, conectando la puerta serie directamente al ordenador y a través del hiperterminal de Windows poder visualizarlo.
Manual funcionamiento de pantalla : Descargar programa pantalla ESA
Pantalla principal:
Con esta pantalla será la que trabajemos habitualmente pulsando sobre la ? obtenemos una ayuda de lo que significa cada elemento.
Introducimos el contenedor en la bascula, si el peso del contenedor vació es igual al que tuviéramos antes, la pantalla no cambia nada, pero si es distinto nos aparece la siguiente pantalla:
En esta tenemos dos opciones o pulsar en DESTARAR CONTENEDOR si no sabemos lo que pesa el contendor o pulsar en TECLADO introducir los kilos y pulsar en ENTER. para destararlos y automáticamente le descontamos al total el peso de la tara y se va a la pantalla principal
El pulsador de debajo de la pantalla ACUMULAR PESO tendremos que pulsarlo antes de retirar el contenedor lleno para acumular el peso al total, si se hace correctamente nos saldrá el siguiente aviso.
Pero si por el contrario no se ha pulsado ACUMULAR PESO y hemos retirado el contenedor nos dará el siguiente aviso. Sigue las instrucciones de la pantalla y acumula el peso.
Cada vez que cambiemos de lote es muy importante hacer un cero a la bascula, en la pantalla principal principal pulsamos sobre CERO y pasamos a esta pantalla- El cero solo podemos hacerlo cuando no tenemos contenedor puesto, sigue las instrucciones de la pantalla.
Si queremos saber la cantidad de tornillos que tenemos en el contenedor pulsamos en TORNI y accedemos a la siguiente pantalla: