Buenos dias,
El componente que estas utilizando (
VIN READ VOLT) lee el canal analógico, obtiene la muestra digital y automáticamente convierte ese valor digital a un valor de tensión en punto flotante (
float). No te devuelve el valor "puro" del conversor "A/D" sino su equivalente en tensión. Esto lo hace teniendo en cuenta el rango y resolución configurados para la entrada.
Si deseas leer el valor binario/digital puro del conversor A/D
debes usar el componente "
VIN READ", que te devuelve en una variable
Int32 el valor de la conversión.
Este valor, como bien decis para tu PLC, esta en el rango de 0-4096.
Sin embargo, el valor depende del rango de tensiones configuradas para la entrada analogica. Es decir, 2.5V por ejemplo, tiene diferente valor digital para un rango configurado de 0-5V que para 0-10V.
La formula (para canales de VIN4-VIN8) la podes obtener de la hoja de datos del
STX8091, pagina 27:
VIN_bin = VIN_Vol / (|RANGO| / 2^RESOLUCION)Entonces, si en VIN4 tenes 2.5V, el valor binario que te devuelve el componente "
VIN READ", depende del rango configurado para la entrada:
- Rango 0-5V: VIN4_bin = 2.5V / (5 / 4096) = 2048
- Rango 0-10V o +/- 5V: VIN4_bin = 2.5V / (10 / 4096) = 1024
- Rango +/- 10V: VIN4_bin = 2.5V / (20 / 4096) = 512
Adjunto a este mensaje te paso el proyecto de ejemplo en punto flotante, para una lectura de la entrada analógica usando valores digitales.Por otro lado, nota que en el diagrama Inicio.sld del ejemplo activé un filtro para las entradas analógicas, de tal forma que elimina
ruidos y fluctuaciones si tenes que leer señales "lentas" de sensores.Quedo a disposición.