Skip to Content

Comando NT

O comando NT (Numeric counTer) permite gerenciar 32 contadores aritméticos (acumuladores) que podem incrementar, decrementar e gerar disparos ao atingir limites.

Para que serve?

  • 🔢 Contar eventos (ativações de entradas, relatórios enviados, etc.)
  • 🎯 Disparar ações ao atingir um valor específico
  • 📊 Acumular valores para estatísticas
  • Criar lógica condicional baseada em contagens

Tipos de Contadores

ÍndiceTipoPersistência
00-15VoláteisSe perdem ao reiniciar
16-31Não voláteisSe mantêm após reset

Use contadores 16-31 para valores que devam persistir (ex: contagem de manutenções).


Sintaxe

Operações disponíveis

OperaçãoComandoDescrição
ConfigurarSNTaabbbbbDefine o máximo do contador
ConsultarQNTaaLê o valor atual
IncrementarSNTaa+nSoma n ao contador
DecrementarSNTaa-nSubtrai n do contador
ReiniciarSNTaaRColoca o contador em 0
MaximizarSNTaaSColoca o contador no máximo

Resposta

RNTaabbbbbccccc

Parâmetros

ParâmetroDescriçãoFaixa
aaÍndice do contador00-31
bbbbbValor máximo configurado00000-65535
cccccValor atual do contador00000-65535
nValor a incrementar/decrementar1-65535

Sinal NT (Disparador)

O contador gera um disparo no sinal NT quando:

CondiçãoDisparoComportamento
Incremento supera máximoNT+O contador faz “wrap-around”
Decremento desce de zeroNT-O contador volta desde o máximo

Fórmulas matemáticas:

  • Incremento: (valor + incremento) Mod (máximo + 1)
  • Decremento: ((valor - decremento) Mod (máximo + 1)) + (máximo + 1)

Exemplos

Configuração básica

>SNT0200299< // Configura contador 02 com máximo 299 >SNT02+30< // Incrementa 30 → valor = 30 >SNT02-15< // Decrementa 15 → valor = 15 >QNT02< // Consulta: RNT020029900015

Contar ativações de entrada

// Configurar contador 05 com máximo 100 >SNT0500100< // Incrementar cada vez que se ativa IN00 >SRL00E;TRG=IN00+;ACC={SNT05+1}< // Disparar alerta ao chegar a 100 >SRL01E;TRG=NT05+;ACC={GCP00H}<

Contador de viagens (não volátil)

// Usar contador 20 (persistente) para contar viagens >SNT2099999< // Incrementar ao ligar ignição >SRL10E;TRG=IN07+;ACC={SNT20+1}<

Demo Completa

>SNT0300299< // Configura contador 03, máximo 299 // RNT030029900000 >SRL00E;TRG=NT03+;ACC={STX DISPARO}< // Regra: mostrar quando dispara // RRL00E;TRG=NT03+;ACC={STX DISPARO} >QNT03< // Consulta: valor = 0 // RNT030029900000 >SNT03+1< // Incrementa → valor = 1 // RNT030029900001 >SNT03+100< // Incrementa → valor = 101 // RNT030029900101 >SNT03+200< // Supera 299 → dispara NT03+ // RNT030029900001 // Valor = (101+200) mod 300 = 1 // RTX DISPARO // ¡Disparo executado! >SNT03-7< // Decrementa → desce de 0 → dispara // RNT030029900294 // Valor = 294 // RTX DISPARO // ¡Disparo executado! >SNT03S< // Colocar no máximo // RNT030029900299 // Valor = 299 >SNT03R< // Reiniciar a zero // RNT030029900000 // Valor = 0

Compatibilidade

💾Firmware:v1.00.00
SP-IOT
SM-IOT
Última atualização