Serial Read
Esta función lee la última línea de una conexión serial (no bloqueante) y la convierte al tipo de dato elegido. Está diseñada para ser resistente a entradas obsoletas o mal formadas devolviendo un valor por defecto definido por el usuario cuando sea necesario.
📥 Entradas
EnableSocket de entrada booleano que habilita o deshabilita la lectura.ConnIdSocket de entrada genérico que selecciona de qué conexión serial leer (identificador de conexión).
📤 Salidas
DataSocket de salida genérico que emite el último valor convertido (o el valor por defecto cuando está obsoleto o la conversión falla).
🕹️ Controles
Stale timeout (s)Campo de texto que establece cuánto tiempo esperar por una nueva línea antes de considerar la lectura como obsoleta.Data TypeMenú desplegable para elegir el tipo de conversión de las líneas entrantes. Opciones disponibles:String,Int,Float,Boolean,HexInt,Bytes.Default (on stale/parse fail)Campo de texto que proporciona el valor de reserva que se devuelve cuando no hay datos frescos o la conversión falla. ParaBytesingrese caracteres hex (por ejemplo,AA55).
🎯 Características
Lectura no bloqueante de la última línea disponible.
Detección de obsolescencia para que las líneas antiguas no se reenvíen indefinidamente.
Múltiples tipos de conversión con un valor de reserva configurable.
Entradas y salidas sencillas para integrar en escenarios más grandes.
📝 Uso
Proporcione un identificador de conexión en
ConnIdque haga referencia a una conexión serial activa.Use
Enablepara iniciar o detener la lectura sin eliminar el bloque.Configure
Stale timeout (s)para definir cuán recientes deben ser los datos entrantes.Seleccione el
Data Typedeseado para convertir las líneas entrantes.Defina
Default (on stale/parse fail)para controlar qué devuelve el bloque cuando no hay datos frescos o no se pueden convertir.Consuma la salida de
Dataen bloques posteriores para registro, visualización o publicación.
📊 Evaluación
Cuando está habilitado, el bloque intenta leer la última línea de la conexión seleccionada.
Si no llega una línea nueva dentro del tiempo configurado en
Stale timeout (s), el bloque emite el valor por defecto configurado.Si la conversión al tipo de dato seleccionado falla, el bloque emite el valor por defecto configurado.
Para el tipo
Bytes, el bloque trata el valor por defecto como texto hexadecimal.
💡 Consejos y Trucos
Use
Debug Inputpara registrar o inspeccionar resultados en bruto durante el desarrollo.Reenvíe lecturas seriales a
Data to JSONoCSV Exportpara registro estructurado o exportación por lotes.Publique valores procesados con
MQTT Publisho envíelos a un servicio web usandoREST API - Post.Almacene valores para uso posterior con
Data Write LocaloData Write Globaly recupérelos con los bloques de lectura correspondientes.Grafique datos numéricos en tiempo real usando
Scopepara observar tendencias o anomalías.Combine con
Logic Inputo bloques de comparación para activar acciones basadas en valores entrantes (por ejemplo, alarma cuando una lectura numérica supera un umbral).
🛠️ Solución de problemas
Si no aparece ningún dato en
Data, verifique que elConnIdproporcionado corresponda a una conexión activa.Si la salida es siempre el valor por defecto, aumente
Stale timeout (s)o asegúrese de que la fuente esté enviando líneas activamente.Si la conversión falla para un tipo numérico o booleano, compruebe el formato de texto bruto del dispositivo y ajuste el valor por defecto en consecuencia.
Para el tipo
Bytes, asegúrese de que el valor por defecto esté compuesto por caracteres hex válidos (sin espacios ni caracteres no hex).
Última actualización
¿Te fue útil?