🗺️ Zonas — Catálogo massivo de cercas virtuais
As cercas virtuais clássicas (RG e WP) são configuradas uma a uma e chegam no máximo a 32 de cada tipo. Quando é preciso controlar centenas de clientes, depósitos ou áreas restritas, isso não basta.
O módulo de zonas resolve esse caso: as cercas são definidas uma única vez em um arquivo, o equipamento o baixa com um único comando, e atualizá-las é uma questão de substituir o arquivo.
Admite até 4096 geometrias agrupadas em até 512 zonas lógicas.
Conceitos
| Conceito | O que é |
|---|---|
| Elemento | Uma geometria: um ponto com raio, um polígono ou uma rota com largura |
| Zona lógica | O “canal” que as regras enxergam: ZNA00–ZNA99 e ZNB00–ZNB99. O número é decimal: ZNA42 é a zona 42 |
| Pertencimento | Cada elemento declara quais zonas alimenta. Vários elementos podem alimentar a mesma zona, e um elemento pode pertencer a várias |
| Arquivo de zonas | O binário compilado que o equipamento baixa e avalia |
Tipos de geometria
| Tipo | Como é detectado | Uso típico |
|---|---|---|
| Ponto | Distância ao centro dentro do raio | Depósitos, clientes, postos |
| Polígono | A posição cai dentro do contorno | Áreas urbanas, zonas restritas |
| Rota | Distância à linha dentro da largura | Corredores, trechos de rodovia |
Vários elementos podem alimentar a mesma zona. A zona permanece “dentro” enquanto o equipamento estiver dentro de qualquer um deles. Serve para agrupar, por exemplo, todas as filiais de um cliente numa única zona.
O equipamento avalia a posição contra todo o catálogo uma vez por segundo. O custo não depende do tamanho do arquivo, e sim de quantas geometrias há por perto: um catálogo grande não o torna mais lento.
Colocando em funcionamento
Reservar memória
As zonas compartilham memória com o registro interno, então primeiro é preciso separar uma porção:
>SZFRAC8< reserva um oitavo
>SZMODE1< habilita o modo de zonasO equipamento reinicia para aplicar, e exige que o registro esteja vazio. Ver Comando ZONES.
Baixar o catálogo
>SZONES"http://…/zonas.bin"<O equipamento baixa o arquivo, valida e o deixa ativo. O download é cancelado com >SZONESC< e o catálogo é apagado com >SZONESD<.
Verificar
>QZONES< → RZONES,LOADED,ver=…,crc=…,elem=…,size=…elem informa quantas geometrias foram carregadas: é a confirmação de que o arquivo entrou completo.
Definir o que será relatado
As zonas não relatam sozinhas. É preciso dizer o que fazer ao entrar ou sair, com regras.
Relatar entradas e saídas
Uma zona é mais um sinal do motor de regras:
>SRL10E;TRG=ZNA00+;ACC={GCP01H}<| Borda | Dispara ao |
|---|---|
+ | entrar na zona |
- | sair da zona |
* | qualquer mudança |
Exemplos:
>SRL10E;TRG=ZNA00+;ACC={GCP01H}<
ao entrar na zona 0 → relatório de alta prioridade
>SRL11E;TRG=ZNA00-;CND=GPS;ACC={GCP02H}<
ao sair, somente com posição válida → relatório
>SRL12E;TRG=ZNB10*;ACC={GTX00L;@SM0;TXT=MUDANCA DE ZONA}<
qualquer mudança na zona → aviso por SMSCombinam-se com qualquer outro sinal: ignição, entradas, velocidade, horários.
Consultar o estado de uma zona
>EVAL ZNA(0):%d< → 1 = dentro, 0 = fora
>QSSZNA00< → RSSZNA0011 = dentro, RSSZNA0000 = foraO que convém saber antes
Se a posição GPS for perdida, todas as zonas passam a “fora” e disparam sua borda de saída. Se uma saída executa algo crítico — cortar, alertar, bloquear —, condicione-a com CND=GPS para que só atue com posição válida.
A partir das regras são usadas as zonas 00 a 99 de cada grupo, não as 512, e o número vai em decimal: ZNA42 é a zona 42. É também a única faixa que pode ser consultada com >QSSZNA42<, que exige dois dígitos.
O índice da regra é lido com o mesmo esquema dual do slot de RL, portanto o firmware também aceita A0–FF (zonas 100 a 195, hex do índice mais 0x3C). É uma faixa válida, mas fácil de confundir —ZNAA0 não é a zona 160, é a zona 100— e não pode ser consultada por comando: convém não usá-la.
As zonas restantes continuam funcionando como cerca e são lidas com EVAL ZNA(n), cujo índice é decimal de 0 a 255. Ao montar um catálogo grande, convém manter as zonas que disparam regras dentro da faixa 0–99.
- Não há relatório automático: o módulo não emite nada por si só. Tudo o que é relatado se define com regras, o que dá controle total sobre quais zonas avisam e como.
- A detecção leva até um segundo, que é o ritmo em que o catálogo é avaliado.
Limites
| Geometrias por arquivo | 4096 |
| Zonas lógicas | 512 (ZNA 0–255 · ZNB 256–511) |
| Usáveis em regras e consultas | 0–99 de cada grupo (índice decimal) |
| Restante do catálogo | Cerca e EVAL ZNA(n) / ZNB(n), com índice decimal 0–255 |
| Avaliação | 1 vez por segundo |
Ver também
- Comando ZONES — download, remoção e reserva de memória
- Comando RL — motor de regras
- Comando EVAL — consulta de estados