Comando PB IoT — Contador de Rajadas de Pulsos
PB conta os pulsos de uma rajada em uma entrada e entrega o número cru. Serve para ler equipamentos que codificam um valor como quantidade de pulsos: códigos de pisca de painéis e ECUs, controladores que emitem códigos de falha por contagem, gestos de tecla.
O design é deliberadamente agnóstico: o equipamento conta, o servidor interpreta — o significado de cada contagem é mapeado pela plataforma.
Disponível desde o firmware v1.09.25 (SPIDER/SMART; no ZERO responde RPB NA).
Como funciona?
- Cada flanco na porta (após o debounce) soma um pulso à rajada em curso.
- Quando passa o gap de silêncio, a rajada é fechada.
- Aplicam-se os filtros de paridade e faixa: se não passarem, a contagem é descartada sem tocar em nada (funcionam como checksum implícito).
- A contagem aceita fica em
QPBe dispara o sinalPBdo motor de eventos.
gap = 0 significa PB desligado (padrão de fábrica). PB convive com PC e FC na mesma porta, sem modo excludente.
Comandos
Configurar em uma linha
>SPB00,200,20,1,2,32< // gap 200 ms, debounce 20 ms, somente pares, faixa 2-32
>RPB00,200,20,1,2,32,0,0<Os campos são incrementais: os que forem omitidos conservam seu valor. A resposta do SPB é sempre o QPB resultante — e a resposta pode ser copiada de volta como set (os dois campos finais de estado são ignorados).
Ajustes individuais
>SPB00G200< // gap de fechamento em ms (0 = desligar PB)
>SPB00D20< // debounce em ms
>SPB00P1< // paridade: 0=qualquer, 1=pares, 2=ímpares
>SPB00R2,32< // faixa aceita (0,0 = sem limite)
>SPB00Z< // reseta contagem/sequência (a config fica)Consultar
>QPB00<
>RPB00,200,20,1,2,32,8,3< // última rajada: 8 pulsos, sequência 3Padrões de fábrica: gap 0 (desligado), debounce 20 ms, paridade 0, faixa 0,0. Tudo persiste em NVS; a contagem e a sequência não (perdem-se ao reiniciar).
No motor de eventos e EVAL
- Sinal
PBcom índice:>SRLA0E;TRG=PB00+;ACC={...}<— ativa-se ao fechar uma rajada aceita. - Função
MPB(puerto;campo)em EVAL:MPB(0;0)= última contagem aceitaMPB(0;1)= número de sequência (para deduplicar no servidor)MPB(0;2)= segundos desde a última rajada (frescor do dado)
Em EVAL os argumentos são separados com ponto e vírgula: MPB(0;0). Escrever MPB(0,0) dá erro — a vírgula é o separador de campos do relatório.
Relatório típico: template UC com $MPB(0;0)|,|$MPB(0;1) disparado pelo sinal PB00, e o servidor deduplica por sequência e mapeia o significado da contagem.
Compatibilidade
Em uma porta com PB ativo convém deixar a janela FC em 0: a janela do FC reinstala a interrupção e pode perder um flanco no meio da rajada.
Ver Também
- Comando PC - Contadores de pulsos contínuos
- Comando FC - Frequência por janela
- Comando EVAL - Expressões com MPB