Comando PB IoT — Contador de Ráfagas de Pulsos
PB cuenta los pulsos de una ráfaga en una entrada y entrega el número crudo. Sirve para leer equipos que codifican un valor como cantidad de pulsos: códigos de destello de tableros y ECUs, controladores que emiten códigos de falla por conteo, gestos de tecla.
El diseño es deliberadamente agnóstico: el equipo cuenta, el servidor interpreta — el significado de cada conteo lo mapea la plataforma.
Disponible desde firmware v1.09.25 (SPIDER/SMART; en ZERO responde RPB NA).
¿Cómo funciona?
- Cada flanco en el puerto (tras el debounce) suma un pulso a la ráfaga en curso.
- Cuando pasa el gap de silencio, la ráfaga se cierra.
- Se aplican los filtros de paridad y rango: si no pasan, el conteo se descarta sin tocar nada (funcionan como checksum implícito).
- El conteo aceptado queda en
QPBy dispara la señalPBdel motor de eventos.
gap = 0 significa PB apagado (default de fábrica). PB convive con PC y FC sobre el mismo puerto, sin modo excluyente.
Comandos
Configurar en una línea
>SPB00,200,20,1,2,32< // gap 200 ms, debounce 20 ms, solo pares, rango 2-32
>RPB00,200,20,1,2,32,0,0<Los campos son incrementales: los que se omiten conservan su valor. La respuesta de SPB es siempre el QPB resultante — y la respuesta se puede copiar de vuelta como set (los dos campos finales de estado se ignoran).
Ajustes individuales
>SPB00G200< // gap de cierre en ms (0 = apagar PB)
>SPB00D20< // debounce en ms
>SPB00P1< // paridad: 0=cualquiera, 1=pares, 2=impares
>SPB00R2,32< // rango aceptado (0,0 = sin límite)
>SPB00Z< // resetea conteo/secuencia (la config queda)Consultar
>QPB00<
>RPB00,200,20,1,2,32,8,3< // última ráfaga: 8 pulsos, secuencia 3Defaults de fábrica: gap 0 (apagado), debounce 20 ms, paridad 0, rango 0,0. Todo persiste en NVS; el conteo y la secuencia no (se pierden al reiniciar).
En el motor de eventos y EVAL
- Señal
PBcon índice:>SRLA0E;TRG=PB00+;ACC={...}<— se activa al cerrar una ráfaga aceptada. - Función
MPB(puerto;campo)en EVAL:MPB(0;0)= último conteo aceptadoMPB(0;1)= número de secuencia (para deduplicar en el server)MPB(0;2)= segundos desde la última ráfaga (frescura del dato)
En EVAL los argumentos van separados con punto y coma: MPB(0;0). Escribir MPB(0,0) da error — la coma es el separador de campos del reporte.
Reporte típico: plantilla UC con $MPB(0;0)|,|$MPB(0;1) disparada por la señal PB00, y el server deduplica por secuencia y mapea el significado del conteo.
Compatibilidad
En un puerto con PB activo conviene dejar la ventana FC en 0: la ventana de FC reinstala la interrupción y puede perder un flanco a mitad de ráfaga.
Ver También
- Comando PC - Contadores de pulsos continuos
- Comando FC - Frecuencia por ventana
- Comando EVAL - Expresiones con MPB