1
STX8091 / Re:Muestrear dos señales al mismo tiempo
« Último mensaje por Soporte diciembre 03, 2019, 21:39:49 pm »Buen día, el tiempo de muestreo lo tengo en 630us que me dan 4 ciclos de una señal de 50Hz, los valores rms funcionan bien con eso no tengo problema pero hice lo que me decías y sigue siendo errático el valor, cómo que se mantiene estable un tiempo y después empieza nuevamente a mandar cualquier valor... Cree dos Buffer de 10 paquetes para ir guardando en uno mientras el otro hace el calculo con sus contadores pero sigue igual... Podrá ser que se pierdan tramas UDP y ahí se pierde el sincronismo? O que la trama invierta l orden de los paquetes cuando envía varios del mismo canal? Porque no le encuentro otra explicación... o si hay otra forma de calcular el desfadaje a través de las entradas digitales metiendo medio ciclo pasando las señales por un Smith Trigger? Se me ocurre si puedo medir el tiempo entre ambas y no por medio algebraico
Buenas, estuve haciendo unas pruebas, por ejemplo, en 200 mil muestras, hay un pequeño defasaje o corrimiento de 2 a 4 muestras entre dos canales y puede ser que a la larga, eso sea más pronunciado. Lo que hice fue conectar una senoidal (con la salida analógica 0-10V) a dos canales VIN al mismo tiempo y loguear las muestras de cada canal en dos archivos diferentes. Luego ver si el valor del número de muestra X en canal A, coincide con el número de muestra X en el canal B.
Te paso el log:
http://www.slicetex.com/temp/samples.zip
En el archivo A y B, están la muestras con el formato [número de muestra,valor].
Creo que lo que podés hacer más efectivo, para evitar la red, es calcular el RMS y factor de potencia en modo PLC, utilizando el sampler para llenar los arrays. Activando el sampler para muestrear y hacer el calculo, y luego desactivar. Luego activar y calcular de nuevo, para evitar un posible desincronismo en operación prolongada. Total, supongo que el coseno necesitás tenerlo actualizado casa cierto tiempo.
Luego pódes enviar el dato ya calculado a Visual C# desde el PLC.
No sé si este enfoque te sirve.
Por metódo digital, se puede medir el ancho de un pulso o frecuencia utilizando los contadores rápidos, pero no la diferencia de tiempo entre dos pulsos, al menos no hay funciones disponibles desarrolladas.
Saludos!