Mostrar Mensajes

Esta sección te permite ver todos los mensajes hechos por este usuario, recuerda que solo puedes ver los mensajes en áreas en donde tu tienes acceso.


Mensajes - Soporte

Páginas: [1] 2 3 ... 83
1
Buenas tardes. Está bien según las imágenes.

¿Podrá ser que desde otro lugar del proyecto estés sobrescribiendo la variable "LIMITE" con otro valor y por lo tanto se pierde el valor que tomás desde el HMI?.

Saludos!


2
Kinco / Re:Configurar HMI esclava de un PLC genérico ModBus TCP
« : abril 22, 2021, 19:43:24 pm »
Buenas tardes.

Hasta donde sé, no se puede configurar el HMI como esclavo en ModBus TCP, solo tiene opción para HMI maestro.

Si se puede configurar el HMI como esclavo en ModBus RTU (por RS232/485).

Ver los siguientes ejemplos:

www.slicetex.com/hmi/kinco/docs.php#ModBus_RTU_Slave

Saludos!


3
StxLadder - Slicetex Ladder Designer Studio / Re:CONTROL PID
« : abril 07, 2021, 19:42:53 pm »
Buenas tardes,

Si es posible, en el ejemplo utiliza la salida PWM, variando su valor entre 0 y 1000.

Si usas la salida analógica, la misma varia entre 0 y 10V (si le escribís un valor de voltaje) o entre 0 y 1023, si escribís el valor digital.

En la función de inicialización del ejemplo, deberías colocar alguno de esos dos límites, y luego remplazar la salida PWM por la salida analógica VOUT1. La salida analógica, la hacés variar entre 0 a 1023 o 0 a 10V, depende de la función que elijas para modificar su valor.

Es lo mismo, nada más que cambiás el tipo de salida y el rango de valores de salida a controlar.

Si hay algo que no se entienda, avísame.

Saludos!

4
Buenas tardes Pablo,

El problema es que de un momento para otro "dejan de andar": los correspondientes http utilizados para ThingSpeak o PushingBox dejan de realizar su función, y retornan códigos de error. Eso es así de un momento para otro, y no se subsana más .... HASTA QUE hago un PLC reset.
El sistema funciona bien por unos 5 días (a veces solo 2), y luego deja de andar la conectividad. Todo lo demás anda perfecto (incluyendo los emails y ModBus).

¿Cuál código de error te devuelve las funciones? ¿Y qué función?.

La solución que estoy buscando es una de dos: a) Encontrar la causa de este problema  o bien b) Como puedo ejecutar comandos para resetear completamente la parte de conectividad a internet (stacks, resolucion de nombres, etc, etc) que sea EQUIVALENTE a un PLC RESET ... pero sin hacer PLC RESET.  Será esto factible?.

Por lo que me comentás parece algo particular del protocolo HTTP, ya que el resto te sigue funcionando.

¿En alguna función relacionada, de argumento variable o con datos tipo array/string, podés estar estar pasando cadenas con formato demasiado largas? ¿O es simpre fija la información y acotada a un límite?.

No hay una forma de hacer un reset de memoria a todo el stack TCP/IP, sin justamente reiniciar. Lo que si, si tenés el fragmento de código que sospechás que no funciona y que pueda ser el origen del problema, seria ideal para tener una pista de la raiz del error, y ver que medida tomar. ¿Lo has identificado como para compartirlo?.

Esta semana voy a estar de viaje, pero si podés bridarme más información, lo veo al regresar.

Saludos!


5
PD3060-PT100 / Re:Oscilación en la medida
« : 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!

6
PD3060-PT100 / Re:oscilacion en la medida
« : 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!

7
Kinco / Re:HMI Kinco guadar datos en memoria no volatil
« : 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!

8
STX8081 / Re:Pesaje y dosificación
« : 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
STX8091 / Re:Comunicación pantalla Kinco
« : 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!

10
STX8091 / Re:Comunicación pantalla Kinco
« : enero 14, 2021, 10:41:49 am »
Buenos días.

¿Podría detallar cómo determina qué no lee el registro?, esto es, ¿qué resultados o efectos visualiza y en qué parte del proyecto lo hace?.

Gracias.

Saludos!

11
Kinco / Re:HMI Kinco con Movicon M221 y protocolo Modbus RTU
« : enero 12, 2021, 18:23:48 pm »
Excelente, gracias por su información.

Saludos!

12
Kinco / Re:HMI Kinco con Movicon M221 y protocolo Modbus RTU
« : diciembre 21, 2020, 10:45:57 am »
He conseguido comunicarlo con un PLC Schneider Modicon utilizando la conexion "Schneider M Series" por el COM0 y RS485.
Puedo leer y escribir variables tipo MW pero tengo un problemilla con los bits.
¿Sabeis que tipo de variable he de seleccionar en la programacion de la pantalla HMI?

Buenos días, no le sabría decir, no utilizo la línea Schneider como para sugerirle los pasos para ese protocolo específico del PLC.

Saludos!

13
STX8081 / Re:Tiempo de ciclo con PWM
« : diciembre 09, 2020, 15:59:34 pm »
Vuelvo a postear para decir que logramos implementar la alternativa con PAWN (tal como nos recomendó, fusionando PAWN con LADDER) y fue la solución definitiva que estabamos buscando. Logramos el mejor control de la PWM desde que empezamos este proyecto.

Buenas tardes, excelente, felicitaciones que haya podido implementar por su cuenta el cambio.

Saludos!

14
STX8081 / Re:Tiempo de ciclo con PWM
« : diciembre 04, 2020, 20:08:51 pm »
Buenas tardes,

Le consulto para comprender, ¿necesita generar una señal PWM que este presente por "x" tiempo, y no obtiene exactamente tiempo "x"?.

¿Cómo sería conceptualmente la secuencia que utiliza para "prender/apagar" el PWM?.

Por ejemplo:

1) SET DUTY CYCLE = 50% (PRENDE PWM)
2) Espera "x" tiempo
3) SET DUTY CYCLE = 0% (APAGA PWM)

¿La medición entre puntos (1) y (3) no es "x"?.
¿Qué frecuencia de PWM está utilizando?.

La realidad es que estamos un poco perdidos respecto a esto, y quisieramos entender si es posible lograr señales de PWM con una duración ajustable a la unidad de ms, o si el scan cycle del PLC nos va a pisar siempre esto, llevándonos al múltiplo de 18ms más cercano. Y sumado a esto, porque es que el conmutador parece tener un tiempo de actualización desfasado con el final de la PWM (segunda imagen).

En el diagrama "Principal", desde que da la orden de "prender PWM", hasta que da la orden de "apagar PWM" (utilizando un temporizador por ejemplo), pueden pasar uno o más SCAN CYCLES, y cada SCAN CYCLE tiene código que se ejecuta (por ejemplo envío de datos, llamadas a otras funciones, etc). Por lo que un retardo tendrá, el valor mínimo, depende de la cantidad de código que ejecute en cada SCAN CYCLE.

Una forma de hacer más rápido el SCAN CYCLE, es agrupar código dentro de funciones que solo se ejecuta si se da una condición válida, por lo tanto, en cada SCAN CYCLE no se procesará todo el código de Principal, sino por fragmentos.

Por ejemplo, en el caso que use un Temporizador Ladder con valor de 1 mS (para prender/apagar el PWM), si el SCAN CYCLE tarda 15 mS, el temporizador en cada SCAN CYCLE habrá expirado, y sería equivalente a utilizar una resolución de 15 mS. En este caso se puede utilizar funciones para agrupar código y bajar el tiempo del SCAN CYCLE, pero requiere experimentar, y le recomiendo mejor la segunda o tercera alternativa a continuación.

Una segunda alternativa, es crear un evento OnTimer2 que se llame cada 1 mS (ver Temporizadores por Evento), y desde allí prender y apagar el PWM, contabilizando el tiempo desde el propio evento utilizando un contador por ejemplo. Esto podría mejorar los retardos a un punto aceptable.

Finalmente, existe una tercera alternativa para el PWM, hay una función en lenguaje Pawn, (que podría utilizarse en Ladder si se inserta código Pawn) que permite generar un tren de "x" pulsos PWM. Esto se hace en segundo plano, independiente del SCAN CYCLE, por lo que desde que da la orden, se generan "x" pulsos, y luego se apaga. Si establece la frecuencia a un valor determinado, puede lograr un tiempo fijo de acuerdo a la cantidad de pulsos, y este tiempo sería lo más exacto posible.

Ver función PwmTrainStart(Channel, DutyCycle, Pulses) en página 84 del manual:

www.slicetex.com/hw/stx8xxx/docs/STX8XXX-MP-PLC.pdf

Ejemplo:

// Generar 10 pulsos en salida PWM1 con un DutyCycle del 50.0%.
PwmTrainStart(PWM1, 500, 10)


Si la frecuencia es "30 Hz":

Tiempo total = Pulsos * 1 / FrecuenciaPWM = 10 * 1/30 = 333 mS

Tiene dos variables para variar el tiempo final, la cantidad de pulsos y la frecuencia. La frecuencia la puede dejar fija, y variar el tiempo total con la cantidad de pulsos.

Si le interesa el "tren de pulsos" le puedo hacer un ejemplo de uso en Ladder.

Buen fin de semana.

Saludos!.


15
STX8081 / Re:Pesaje y dosificación
« : noviembre 30, 2020, 13: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!

Páginas: [1] 2 3 ... 83