Skip to Content

Comando NT

El comando NT (Numeric counTer) permite gestionar 32 contadores aritméticos (acumuladores) que pueden incrementarse, decrementarse y generar disparos al alcanzar límites.

¿Para qué sirve?

  • 🔢 Contar eventos (activaciones de entradas, reportes enviados, etc.)
  • 🎯 Disparar acciones al alcanzar un valor específico
  • 📊 Acumular valores para estadísticas
  • Crear lógica condicional basada en conteos

Tipos de Contadores

ÍndiceTipoPersistencia
00-15VolátilesSe pierden al reiniciar
16-31No volátilesSe mantienen tras reset

Usa contadores 16-31 para valores que deban persistir (ej: conteo de mantenimientos).


Sintaxis

Operaciones disponibles

OperaciónComandoDescripción
ConfigurarSNTaabbbbbDefine el máximo del contador
ConsultarQNTaaLee el valor actual
IncrementarSNTaa+nSuma n al contador
DecrementarSNTaa-nResta n al contador
ReiniciarSNTaaRPone el contador a 0
MaximizarSNTaaSPone el contador al máximo

Respuesta

RNTaabbbbbccccc

Parámetros

ParámetroDescripciónRango
aaÍndice del contador00-31
bbbbbValor máximo configurado00000-65535
cccccValor actual del contador00000-65535
nValor a incrementar/decrementar1-65535

Señal NT (Disparador)

El contador genera un disparo en la señal NT cuando:

CondiciónDisparoComportamiento
Incremento supera máximoNT+El contador hace “wrap-around”
Decremento baja de ceroNT-El contador vuelve desde el máximo

Fórmulas matemáticas:

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

Ejemplos

Configuración básica

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

Contar activaciones de entrada

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

Contador de viajes (no volátil)

// Usar contador 20 (persistente) para contar viajes >SNT2099999< // Incrementar al encender ignición >SRL10E;TRG=IN07+;ACC={SNT20+1}<

Demo Completa

>SNT0300299< // Configura contador 03, máximo 299 // RNT030029900000 >SRL00E;TRG=NT03+;ACC={STX DISPARO}< // Regla: mostrar cuando 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 ejecutado! >SNT03-7< // Decrementa → baja de 0 → dispara // RNT030029900294 // Valor = 294 // RTX DISPARO // ¡Disparo ejecutado! >SNT03S< // Poner en máximo // RNT030029900299 // Valor = 299 >SNT03R< // Reiniciar a cero // RNT030029900000 // Valor = 0

Compatibilidad

💾Firmware:v1.00.00
SP-IOT
SM-IOT
Last updated on