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 4 ... 59
16
STX8091 / Re:HTTP SEND - GET
« : mayo 28, 2018, 11:42:50 am »
... El problema lo tengo cuando en el sector de eventos "OnHttpSendCompleted" coloco el componente HTTP SEND - CHECK VALID TRANSACTION,  cuando devuelva 0 no pase nada pero cuando se pone en 1, que no realizo correctamente la transacción, le hago que realice un set nuevamente para que cargue nuevamente. El problema es que me crea dos registros con diferencia de 2 segundo.




Buenos días Esteban.

En la foto que me pasás del diagrama "OnHttpSendCompleted.sld"  se ve el componente "HTTP SEND CLR CMP EVT", el cual deseactiva el evento "OnHttpSendCompleted", evitando que se vuelva a disparar. ¿Es correcto eso?. Ya que no debería utilizarse si vas a utilizar el envío con peticiones GET constantemente en el programa.

Respecto a:

El problema es que me crea dos registros con diferencia de 2 segundos.

¿Significa que en tu PC recibís dos registros del entero que envías con la petición GET, en vez de recibir un solo registro?.

Yo me inclinaria a pensar que el flag que utilizas "sold1_envio" para hacer los envíos, vuelve a hacerse "1" luego del envio, ya que "EDIN5" aún continua con el valor "1".

Probá hacer que se realice el envío por detección de flanco descendente de EDIN5, es decir cuando cambié de 1 a 0, por ejemplo:



De esa forma, solo cuando la entrada EDIN5 pase de 1 a 0, se hace "sold1_envio=1", pero cuando EDIN5 ya es "1", no modifica el valor de "sold1_envio" en el próximo SCAN CYCLE.

Saludos!


18
STX8092 / Re:Restauración de Memoria de Configuración STX8092
« : mayo 28, 2018, 11:05:58 am »
Quería consultar porque el PLC quedo trabado con un error: RUN ERROR
Para destrabarlo, intente restaurar la memoria siguiendo los pasos del apartado 10.17 pagina 29 del manual-
No logre realizarlo, y tampoco destrabar el error mencionado.
Adjunto un video del procedimiento realizado para ver si me pueden dar una mano de donde esta el error

Buenos días, de acuerdo el video, hacés bien los pasos hasta que el led PAUSE parpadea.

En ese punto, debés presionar 5 veces botón DEF/BOOT con cierta rapidez, uno a continuación del otro (sin esperar a que led RUN ERROR parpadeé como es el caso del vídeo, cuando pasa eso, debes repetir el proceso).

Una vez que la memoria vuelve a fábrica, todos los leds se encienden por un instante indicandote que realizaste bien la secuencia.

Luego apretás RESET, y es muy probable que te queden encendidos led RTC ERROR y RUN ERROR, lo cual es normal. Pero podrás cargar tu programa de usuario nuevamente.



Una vez reseteado a fábrica, se borra el programa que tengas cargado, IP del dispositivo vuelve a 192.168.1.81, etc.

Avísame si tenés otra duda.

Saludos!


19
Creo comprender la explicación. Pero lo que yo necesito es que cuando se presiona el pulsador que activa la entrada DIN1, se ejecute la Network N002 (incluso mientras se esta ejecutando ese proceso, seria correcto que es anule el pulsador de DIN6).
Ahora si no esta funcionando el DIN1, si apretó el pulsador del DIN6, necesito que se ejecute la salida DOUT1 mientras esta presionado, o bien que se desactive, cuando suelto el pulsador.
Es posible hacerlo?

A ver si entiendo. De acuerdo el código que me pasás, el funcionamiento es el siguiente:

Si DIN1 pasa de 0 a 1 y DIN2=0, se activa proceso con Start=1 y Step1=1 .

Si Step1=1, se hace DOUT=1 por 10 segundos.

Luego de los 10 segundos, DOUT=0 y Step1=0.

Si en cualquier momento DIN2 es 1, se hace Start=0 y se ponen todas las salidas a 0, y se resetean temporizadores (diagrama Stop.sld).

Para recomenzar, DIN1 tiene que pasar nuevamente de 0 a 1 y DIN2=0.



Vos querés que DIN6 active/desactive DOUT1:

¿Cuándo Step1=0 (fin de proceso o no hay proceso iniciado)?



Te adjunto el proyecto con esta opción.



¿O bajo cuál condición DOUT1 responde a DIN6 teniendo en cuenta las variables del programa?






20
Kinco / Re:Modificacion de fecha y hora
« : mayo 24, 2018, 17:14:45 pm »
Buenas tardes.

Para configurar la hora/fecha tenés varias formas, según explica el Manual de Usuario (sección 2.7):

  • Mediante registros de memoria.
  • A tráves del la pantalla de SETUP.
  • Sincronizando los registros de memoria con los del PLC.

Para acceder a la pantalla de SETUP (sin desarmar nada) y poder configurar fecha/hora manualmente tenés que apagar el HMI, tocar la pantalla en una parte táctil, y al mismo tiempo encenderla.

Luego, al iniciar te va a aparecer un menú, elegí opción "System settings", "English" y finalmente pestaña "Set Time/Date".



Este inicio para pantalla SETUP, se explica en el Manual de Instalación.

Saludos!

21
Kinco / Re:Desaparecen objetos de la pantalla [resuelto]
« : mayo 24, 2018, 17:00:45 pm »
Perfecto!. Incorporo dicha característica a los nuevas versiones de firmware para el PLC  ;)

22
Descripción del error: Al apretar DIN1 se ejecuta lo programado en la Network N002 (simpre y cuando No haya  agregado la Network 3). Ahora bien, cuando agrego la Network N003 el pulsador de la DIN6 funciona perfectamente, pero deja de funcionar lo programado en la DIN1-Network 2.
Seguramente hay algún tema que omiti agregar, me podrías orientar?

Claro, es que en la Network N003, el PLC fuerza a DOUT1 a tener el valor 0 o 1, de acuerdo a DIN6, sobrescribiendo cualquier valor previo que le hayas puesto a DOUT1 en la Network N002.

Entonces, si DIN6=0, siempre DOUT1 va a ser 0.



Recordar que el PLC ejecuta el diagrama Principal.sld ciclicamente, desde la Network N001 a la Network XXX, una y otra vez.

La pregunta es:

Vos querés que DOUT1 sea controlado por DIN6 solo cuando:

  • ¿Start sea 0?
  • ¿Independiente del valor Start?

En el primer caso, se debe comprobar Start, para recién activar/desactivar DOUT1 con DIN6.

En el segundo caso, ocurriría un error lógico, porque si DIN6=0, DOUT1=0 independiente de lo que se haga en cualquier otra parte del programa ¿me explico?.

Te adjunto el ejemplo para el primer caso.

¿Eso es lo que querés?.




23
Buenos días.

El archivo que nos pasa, no es el proyecto completo con el código Ladder y no es posible abrirlo para analizar.

Para adjuntar el proyecto completo, en StxLadder ir a menú "Archivo > Crear backup del proyecto (zip)" y adjuntar luego el archivo ZIP creado.

Saludos!

24
STX8091 / Re:Medición de corriente alterna con toroide
« : mayo 21, 2018, 20:45:42 pm »
Buenas tardes Eduardo.

Adjunto dos proyectos en StxLadder que ejemplifican la medición de voltaje - corriente True RMS (valor eficaz) utilizando un toroide conectado en entrada analógica.

  • Proyecto TrueRMS.zip: cálculo  de valor eficaz mediante lectura y retardo, solo para fines de didácticos y entender uso de formula.
  • Proyecto TrueRmsSampler.zip:  cálculo  de valor eficaz mediante el uso de samplers, más eficiente y permite al PLC realizar otras operaciones sin perder velocidad de repuesta.

Ambos proyectos están explicados mediante comentarios e introducción en archivo info.txt (leer antes de utilizar) ubicado en carpeta "Documentos" del "Explorador de Proyecto" de StxLadder.

PRUEBAS

Conectar el toroide mencionado en "Toroide_Sensor.pdf" con resistor 47 ohms en paralelo a entrada VIN4.

Si la medición de corriente es para línea 50 Hz, colocar en constante "RMS_Period" el valor del periodo en milisegundos, es decir 20.

Cargar al PLC y conectarse con VirtualHMI.

Colocar una carga que pase por el toriode (ejemplo lampara) y ver la corriente medida en VirtualHMI.




Opcional: Sí no se tiene un toroide, se puede simular medición colocando un generador de señal sinusoidal en entrada VIN4 con +/- 1V pico. El VirtualHMI debería leer "Tensión de entrada: 0.7 [V]", que es el valor eficaz que podría medir con un voltimetro AC.



ACERCA DEL VALOR TRUE RMS

True RMS es un termino que significa el valor eficaz de una señal sin importar su forma, puede ser alterna sinusoidal, triangular, cuadrada o continua.

El valor eficaz, se define como el valor de continua (DC) equivalente de una señal de alterna (AC).

Por ejemplo, si una señal de 20 VDC (continua) entrega 20 Watt a un resistor, se necesitará una señal de 20 VAC RMS (valor eficaz) para disipar la misma energía en el resistor.

La formula para el calculo True RMS en tiempo continuo es:



La formula True RMS para tiempo discreto, es la que utilizaremos para el cálculo y es la siguiente:



Como vemos, el valor resultante "i" (que puede ser corriente, voltaje, etc) es la sumatoria del cuadrado de N muestras de valor instantáneo de la señal i(n). Luego dicho valor se divide por N (número de muestras) y al resultante se le aplica la raíz cuadrada. En este punto, obtenemos el valor True RMS de la señal.

Si todos los valores i(n) son iguales (señal continua), el valor de la formula resulta i=i(n), es decir el valor eficaz se convierte en el valor de continua.

Si la señal de entrada es una sinusoidal pura, el valor RMS nos queda i= i(pico) * 1/RaizCuadrada(2) = i(pico) * 0.707

Para señales diferentes o distorsionadas, la formula genera al valor correcto también, por lo tanto es aplicable a cualquier tipo de señal.



Tener en cuenta que el toroide utilizado tiene una frecuencia de trabajo de 20 Hz a 20 KHz (según fabricante), por lo tanto, si la señal de entrada es menor a 20 Hz, no funcionará correctamente el sensado de corriente.

25
Ya llevo un tiempo trabajando sobre un proyecto en Pawn amplio de varios archivos y en la etapa de prueba en los que se compila y carga el programa multiples veces, el código compila correctamente pero en la etapa de carga al PLC devuelve el mensaje de error mostrado en la imagen adjunta.

Al presionar continuar se puede volver a intentar subir el código, pudiendo resultar en el mismo mensaje de error. De otra forma debo apretar en "Salir" cerrandose el programa. Lo raro surge ya que luego de volverlo a abrir usualmente el programa se carga con normalidad y el código funciona correctamente.

Copio a continuación el texto que se encuentra en la zona de detalles de la ventana de error:

Código: (Error Code) [Seleccionar]
System.IndexOutOfRangeException: Índice fuera de los límites de la matriz.
   en SlicetexLadder.Generic_LoaderInterface.Send(LoadScriptOp Op, UInt32 OpArg1, Byte[] OpData, LoadScriptOpStat& OpStat, LoadScriptIapStat& IapStat)

Captura de ventana de error:




Buenas tardes.

Este error es un bug de la versión actual de StxLadder, ya que utiliza una librería de comunicación sin la actualización correspondiente.

Será corregido a partir de la próxima versión (1.8.9) de StxLadder.

Mientras tanto, te adjunto un archivo para corregirlo.

Los pasos serían:

Cerrar StxLadder y todo programa relacionado (VirtualHMI, etc).

Descomprimir el archivo ZIP y copiar su contenido en el directorio de instalación de StxLadder.

Por ejemplo, si el directorio donde está StxLadder instalado es: C:\Program Files\slicetex\StxLadder

Copiar allí los archivos y remplazar los archivos viejos si salta un cartel avisando sobreescritura.

Luego reiniciar normalmente StxLadder.



Si VirtualHMI da el mismo problema (en caso de ternerlo instalado por separado a StxLadder), repetir procedimiento copiando dichos archivos en su directorio de instalación.



Como nota, este error se produce porque al intentar StxLadder comunicarse con el dispositivo, es muy probable que haya otra aplicación realizando una comunicación previa (por ejemplo VirtualHMI), entonces, como la comunicación se realiza por protocolo UDP utilizando el mismo puerto entre estas aplicaciones, la librería en su versión previa, no tiene forma de reconocer si la repuesta del dispositivo es para VirtualHMI o StxLadder. La actualización, previene este error y en su lugar mostrará un cartel de advertencia, pero no cerrará StxLadder. Simplemente, en ese caso, dar click en "Aceptar" en el cartel de dialogo e intentar nuevamente la carga del programa.

Saludos!


26
STX8091 / Re:Medición de corriente alterna con toroide
« : mayo 17, 2018, 11:55:56 am »
Hola, el generador trifásico (380V-80KVa), alimenta una carga de dos transformadores de media tensión conectados como amplificadores(entrada 380, salida 13.2 Kv, potencia 40 Kva), cuando activamos uno el otro se apaga. Dos reguladores(SCR) realizan el swicheo y manejan la potencia mediante el PLC.

Los cálculos de corriente generalmente se hacen suponiendo una onda sinusoidal en la mayoría de los casos y con carga resistiva. Como vos tenes un switcheo, y según me comentabas en otros post, utilizás diferentes tiempos ON/OFF, sumado a una alta carga inductiva (transformador), dudo que la forma de onda de corriente resultante vaya a ser una sinusoidal pura, y debería tener muchos picos de corriente difícilmente predecibles.

Desconozco como realmente sería un cálculo de corriente certero para una aplicación así, es tarea de un experto en electricidad teórica.

Pero, para no quedarnos en la nada, imagino que podemos tomar un promedio o valor eficaz del valor leído (promedio es diferente a valor eficaz) en el toroide para darnos una idea proporcional de la corriente que circula.

Tomando esta suposición, podemos simplificar el problema, pero como digo, los cálculos 100% correctos escapan ya al análisis que puedo darte como soporte.

NOTA 21/May/2018:
La formula True RMS mencionada con anterioridad permite calcular el valor RMS o eficaz de cualquier tipo de señal, desestimar este párrafo ya que NO ES CORRECTO. Ver siguientes mensajes.


La corriente de trabajo debería no superar los 40000/(400*1.73)=57.8 A. Esta corriente es variable dependiendo de las condiciones de trabajo (humedad en el suelo). por eso el rango debería estar entre 0 a 60 A. pero superado los 55A durante un pequeño tiempo debería apagarse.

Ok, creo entonces que el resistor de 47 ohms que te sugerí arriba seria suficiente. ya que cubriria bien el rango 0-100A. Por las dudas también comprá un resistor de 56 ohms, en caso de que se necesite mayor exactitud (cubriría el rango 0-89A, pero mejor resolución).

Ambos resistores de 1% y de potencia mínima 1 watt o mayor.

La corriente medida se utiliza para detectar cuando se produce algún problema a la salida y se incrementa el consumo, osea la corriente aplicada a la salida(cortocicuito, etc).
La medición de Tensión (400V) la utilizo para verificar que el generador este en régimen y así habilitar el trabajo de los trafos.
Ademas teniendo la corriente y la tensión puedo calcular el consumo de energía aproximado.   

Ok, entonces deduzco que lo que necesitas es corriente eficaz (RMS).

Por ello el algoritmo para procesar la señal debe emplear la formula que te pasé arriba.

También el periodo de muestro a tomar tiene que ser múltiplo de la frecuencia de switcheo que vas a utilizar en los SCR.

Dame unos días así te paso un ejemplo (ya que requiere análisis) que aplique dicho algoritmo para interpretar corriente RMS a partir de una señal alterna sinusoidal del toroide (base de nuestra suposición). Así te sirve de guía para que luego adaptes o mejores.

Te aviso por este medio cuando tenga el ejemplo.

Saludos

NOTA 21/May/2018:
En el siguiente mensaje se comparten dos ejemplos para el PLC empleando la formula True RMS, que permite calcular el valor eficaz de cualquier tipo de señal, independiente de su forma.



27
Kinco / Re:desaparecen objetos de la pantalla
« : mayo 16, 2018, 17:03:48 pm »
Raro que no muestre un código de error.

Te adjunto un firmware para el PLC que aumenta la capacidad de conexiones simultáneas ModBus TCP, por las dudas sea un tema relacionado donde la pantalla intente realizar varias conexiones al mismo tiempo.

Fíjate de actualizar y probar resultados.



Para actualizar el firmware, ejecuta StxLadder y accedé al menú "PLC / Actualizar firmware (AxBoot)".

Apretá el botón "BOOTLOADER" y luego el botón "RESET".
En este punto el PLC espera el nuevo firmware.

Desde el botón "ABRIR" busca el archivo stx8091-d2_v220.sff que te adjunto.

Una vez seleccionado el archivo, toca el botón "PROGRAMAR" y el nuevo firmware comenzará a cargarse.

Una vez cargado, tocar el botón "DESACTIVAR" y resetear el PLC.

Listo, el PLC ejecutará el nuevo firmware.

Se recomienda cargar el programa de usuario nuevamente.



28
STX8091 / Re:Medición de corriente alterna con toroide
« : mayo 16, 2018, 13:25:11 pm »
aquí están las especificaciones
https://www.eltoroide.com.ar/sensor-de-corriente-rsr-1000
Gracias

Bien, si te fijás en las especificaciones del fabricante, ver siguiente imagen:



Tenés varias cuestiones a tener en cuenta, no es tan directo como leer una entrada según planteamiento original ya que es un sensor particular.

Lo primero, es que la resistencia de carga debe ser lo más baja posible para no saturar el toroide, su salida no puede superar los 5 VAC (RMS), caso contrario se satura el núcleo y pierde linealidad la medición.

En el gráfico 1, el resistor R=100 ohms, para 10 AMP de carga, la salida es 10 mA, y la tensión resultante es 1 VAC (RMS). Si la carga es 100 AMP, la salida es 100 mA y la tensión resultante es 10 VAC (RMS) y se te satura el nucleo.

¿En qué rango vas a leer corriente?. De esa forma podés seleccionar la resistencia que mejor se adapte.

Para rango 0-100 AMP de carga, lo mejor es R=47 Ohms / 2Watt / 1% tolerancia..

Entonces, para 100 AMP, tenés 100 mA, por lo tanto la salida es 4.7 VAC (RMS), abajo de la saturación del nucleo.

Pero ojo, esto teórico, según el fabricante. Por ahí se satura antes si el sensor no es de la calidad esperada y requiere una resistencia menor.  Luego vas a tener que contrastar de alguna manera con un amperimetro.



Segundo, en el gráfico 1 tenes una tensión de salida alterna. Tenés tensión positiva y negativa.

Esto quiere decir que cuando leas tensión con el PLC, vas a leer una tensión instantánea, o indirectamente la corriente instantánea de la carga. Pero no la RMS o eficaz.

¿Vos qué necesitas leer? ¿Corriente eficaz RMS (Root Mean Square)?.

En ese caso hay que realizar un muestreo de varios ciclos de la onda y hacer un calculo según la ecuación de corriente RMS para una señal alterna sinusoidal.

Te recuerdo la fórmula (tiempo continuo):



Y para el tiempo discreto (programación):



Donde N es la cantidad de muestras en un tiempo múltiplo del periodo de la señal de entrada.



Fíjate definir cual es el rango de corriente que necesitas leer realmente (limites de tu sistema), si necesitas corriente RMS, y si finalmente necesitas calcular la potencia entregada (ya que luego necesitarás conocer la tensión RMS, eso es fácil si sabés la tensión aplicada).

Luego avísame cuando definas lo que te consulto, así veo como te guío para seguir, ya que si bien esta tarea de investigación escapa un poco al uso en si del PLC, más que nada para que no trabajemos el doble  ;)

Saludos!





29
STX8091 / Re:Medición de tensión y corriente
« : mayo 16, 2018, 13:24:01 pm »
Para medición con toroide de corriente, se creo un nuevo tema especifico, ya que es más adecuado, paso el link:

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

Continuar en ese tema en lo referente al toroide.

30
STX8091 / Re:Medición de corriente alterna con toroide
« : mayo 15, 2018, 18:05:39 pm »
el sensor es un toroide 0 a 100mA alterna

Hubiéramos empezado por ahí jeje.

Un toroide entrega una salida en corriente alterna, proporcional a la entrada.

Es decir, tenés voltaje y corriente a la salida que debés acondicionar antes de leer, no es una relación directa, es una onda.

¿Qué datos tenés del toroide? ¿Algún circuito recomendado por el fabricante?.

Páginas: 1 [2] 3 4 ... 59