Mensajes recientes

Páginas: [1] 2 3 ... 10
1
PD3060-PT100 / Re:Oscilación en la medida
« Último mensaje por Soporte marzo 02, 2021, 16:46:57 pm »
hay algun ejemplo de como promediar? alguna forma de poner una variable en el indice del array?

Buenas tardes, ¿qué lenguaje de programación estás utilizando?.

Podés pasarme adjunto en archivo ZIP el proyecto, y te guío si necesitas ayuda.

El concepto es sencillo, declarás una variable, por ejemplo "Temp1Suma" que almacenará las sumas de la temperatura número 1.

También definís otra variable llamada "TempCount" que mantiene el número de sumas que vas realizando.

Cada vez que lees la temperatura, la sumás a Temp1Suma e incrementás en uno TempCount.

Temp1Suma = Temp1Suma  + Temp1Sensor
TempCount = TempCount + 1


Temp1Sensor es la temperatura instantánea sin promediar leída del sensor.

Cuando TempCount sea igual a 10, sacás el promedio dividiendo:

Temp1 = Temp1Suma / 10.0

Luego hacés Temp1Suma y TempCount igual a cero para reiniciar el ciclo.

Si tenés varias temperaturas, deberías declarar una variable de suma intermedia por cada temperatura: Temp1Suma, Temp2Suma, etc

El resto del proyecto no lo modificás, ya que seguís usando la variable "Temp1" que ahora tiene un valor promediado.

Saludos!
2
PD3060-PT100 / Re:oscilacion en la medida
« Último mensaje por ramigran marzo 02, 2021, 15:37:29 pm »
hay algun ejemplo de como promediar? alguna forma de poner una variable en el indice del array?
3
PD3060-PT100 / Re:oscilacion en la medida
« Último mensaje por ramigran marzo 02, 2021, 14:04:19 pm »
tengo pt100 de 3 hilos de buena calidad (dinorte) cable subterráneo de instrumentación mallado, asi que voy a hacer promedio y después te comento. Gracias
4
PD3060-PT100 / Re:oscilacion en la medida
« Último mensaje por Soporte marzo 01, 2021, 17:37:59 pm »
Buenas tardes,

Si están muy alejadas conviene utilizar un PT100 de tres hilos, con cable mallado, esto podría mejorar la exactitud, pero si hay oscilación es porque hay interferencia. Es probable que pase cerca de otros cables de potencia, eso puede inducir voltajes y ruidos. Es recomendado colocar el cable de los sensores por un cablecanal dedicado.

También si el PT100 es de los económicos, probar intercambiar con alguno de mejor calidad, ya que suele haber diferencia cuando hay vibraciones y los cables se mueven mecánicamente.

El módulo internamente no realiza un promediado, por lo que como sugerís, tendrías que sumar los valores recibidos en una variable intermedia (por ejemplo sumar 10 o 20 muestras) y luego dividir para obtener el promedio. Utilizar más o menos muestras según los resultados. Esto puede ayudar a resolver la oscilación.

Saludos!
5
Kinco / Re:HMI Kinco guadar datos en memoria no volatil
« Último mensaje por Soporte marzo 01, 2021, 17:29:24 pm »
Buenas tardes,

No he manejado scripts en el HMI como para recomendarte una solución, tampoco figura en el manual una descripción detallada de como guardar los bits.

Deduzco que puede ser similar a:

Código: (Macro HMI) [Seleccionar]

bool variables[20];  /* probar con "bit variables[20]" también */

/* Escribir 20 elementos de "variables[]" a partir de dirección "10" en LB. */
WriteLocal("LB", 10, 20, (void*)variables, 0);


Pero te recomendaría comunicarte con el fabricante para que te de detalles:

https://en.kinco.cn/page/contact.html

Acá hay un video sobre macros que puede ser de utilidad:

https://youtu.be/_XIkF-hYCZs

Saludos!
6
PD3060-PT100 / Oscilación en la medida
« Último mensaje por ramigran marzo 01, 2021, 16:01:22 pm »
Buenas tardes. Te comento que el sistema esta funcionando correctamente plc pantalla pd3060 controlando un variador con la salida de 0-10V, levantando una web (falta el control de valvulas motorizadas). El unico problema es que oscilan mucho las mediciones de temperatura que estan muy alejadas del pd3060. Hay alguna forma de poner un filtro? o tengo que tomar varias medidas y sacar promedio por programa en el plc? No tengo problemas en velocidad de muestreo con una vez por minuto es suficiente.
7
Kinco / HMI Kinco guardar datos en memoria no volátil con macros / script
« Último mensaje por Franco Rol marzo 01, 2021, 11:12:23 am »
Necesito guardar datos para recetas, con las palabras de memoria no tengo tantos problemas, no entiendo como guardar los bits de memoria. Para guardar los datos uso una macro, adjunto en archivo el código que uso para guardar los datos a las variables.

8
STX8081 / Re:Pesaje y dosificación
« Último mensaje por Soporte febrero 03, 2021, 13: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!
9
STX8081 / Re:Pesaje y dosificación
« Último mensaje por FenixBioEnergy febrero 03, 2021, 11: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?
10
STX8091 / Re:Comunicación pantalla Kinco
« Último mensaje por Soporte enero 15, 2021, 20:46:37 pm »
en el network 03 del principal lo coloco en reg y luego lo paso a la variable PWM

Buenas tardes.

Fíjate de probar la siguiente modificación en la Network N007 y ver si en VirtualHMI tenés los valores del registro y variable PWM:



(Te adjunto el programa modificado en archivo ZIP en este mensaje, abajo).

Por un lado, cuando se imprime en VirtualHMI desde Principal, hay que agregar un retardo (al menos de 500 mS) con un timer para no saturar a la red con mensajes, de otra forma no se logra una comunicación correcta. Si no imprimís en VirtualHMI desde Principal o un diagrama función que se llame periódicamente, no hace falta el retardo (por ejemplo desde un evento).

Por otro lado, fíjate que el código de formato para imprimir un entero en pantalla se hace con "%d" y para un tipo float se utiliza el "%f". Esto se explica en la descripción del componente (menú contextual "Ver descripción del componente" sobre el componete).

Buen fin de semana.

Saludos!
Páginas: [1] 2 3 ... 10