Omron
Conecte CLPs Omron, controladores CJ, CS e CP por endereço de memória sobre FINS (UDP, TCP ou Host Link numa linha serial) e controladores NJ, NX e NY por nome de variável sobre EtherNet/IP; as configurações FINS, as formas de endereço, os tipos de dado, leituras, escritas e descoberta.
O driver Omron conversa com CLPs Omron em qualquer uma das duas línguas deles, escolhida por
dispositivo. Um controlador CJ, CS ou CP, e um NJ ou NX configurado no modo de memória CJ, é lido
por FINS pelo endereço de memória, escrito do jeito que o software de programação da Omron
escreve: D100, W0.01, CIO100.05. Um controlador NJ, NX ou NY é lido sobre EtherNet/IP pelo
nome de uma variável que ele publica na rede, como Level ou Motor.Speed. Uma estação lê os
dois tipos lado a lado sob o mesmo driver. Adicione um dispositivo sob o driver Omron no
Connector e escolha o Protocolo dele; o painel mostra só os campos que esse
protocolo usa.
Protocolos
| Protocolo | Controladores | As tags são endereçadas por | Porta |
|---|---|---|---|
| FINS | CJ1, CJ2, CS1, CP1 e os outros controladores CJ, CS e CP com porta ou unidade Ethernet; um NJ ou NX no modo de memória CJ | Endereço de memória, como D100 ou W0.01 |
9600 por padrão |
| Tags NJ/NX por nome | Controladores NJ, NX e NY, como NJ501, NJ301, NJ101, NX1P2, NX102, NX502, NX701 e NY5 | Nome da variável, como Level ou Motor.Speed |
nenhuma: o EtherNet/IP responde na porta padrão dele, a 44818 |
FINS é o padrão, e um dispositivo novo começa nele. O protocolo é uma configuração do dispositivo, então um CJ2 e um NX1P2 ficam sob o mesmo driver, cada um lido na sua própria língua. Trocar o protocolo mantém as configurações FINS como foram deixadas, para quando o FINS voltar, e toda tag do dispositivo passa a ler o endereço no protocolo novo: o Tipo de dado dela se ajusta a um que o endereço comporta ali, e um endereço que o protocolo novo não consegue ler fica sinalizado na página da tag até ser corrigido.
Conexão
| Campo | Significado | Padrão |
|---|---|---|
| Host ou IP | Endereço IP ou nome de host da porta ou unidade Ethernet do CLP. | vazio |
| Protocolo | FINS ou Tags NJ/NX por nome. A linha embaixo diz o que o protocolo em vigor lê: "Áreas de memória dos controladores CJ, CS e CP, e de um NJ/NX no modo de memória CJ." ou "Variáveis que um controlador NJ, NX ou NY publica na rede, lidas por nome sobre EtherNet/IP." | FINS |
| Porta | Só FINS: a porta em que o CLP responde FINS, a mesma por UDP e por TCP, de 1 a 65535. Um campo vazio mostra 9600 em cinza e o dispositivo é chamado nela. Um dispositivo lido por nome de tag não tem campo de porta. | 9600 |
| Intervalo de leitura (ms) | Período de leitura do dispositivo inteiro para as tags que não o sobrescrevem. | 1.000 |
O cabeçalho do dispositivo mostra o endpoint montado. Um dispositivo FINS escreve nele todas as
suas configurações, com um nó 0 valendo automático, por exemplo
omron://192.168.250.1:9600?protocol=fins&transport=udp&network=0&node=0&unit=0&source=0&timeoutMs=2000.
Um dispositivo lido por nome de tag nomeia só o host e o protocolo, omron://192.168.250.1?protocol=njnx.
Cada tag pode definir o próprio Intervalo de leitura (ms); o valor 0 numa tag volta ao
intervalo do dispositivo.
Preparar o controlador
Um controlador NJ, NX ou NY lido por nome de tag só serve as variáveis globais que publica na rede. Publicar é um atributo de cada variável, definido no Sysmac Studio e transferido para o controlador. Um controlador lido por FINS não precisa de nenhuma definição assim.
| Definição | Onde no Sysmac Studio | Sem ela |
|---|---|---|
| Network Publish em Publish Only (ou Input ou Output para uma variável que um enlace de dados de tags também usa), em toda variável global que a estação lê ou escreve | Programming > Data > Global Variables, a coluna Network Publish da variável. Transfira o projeto para o controlador (Controller > Synchronize). | O controlador responde que não serve nenhuma variável com esse nome, exatamente como para um nome que não existe. A tag lê qualidade ruim, e as outras tags do dispositivo seguem lendo. |
Uma variável de um programa, uma variável local, não pode ser publicada: declare-a entre as variáveis globais, ou copie-a para uma variável global no programa.
Quando o controlador responde que não serve nenhuma variável com o nome de uma tag, a página do dispositivo nomeia a variável e as tags que a leem, com as duas causas (um nome que não existe, ou uma variável que não está publicada) e estes passos, num aviso que some sozinho assim que a variável lê; a página da própria tag traz o mesmo aviso. O diário e o agente leem os mesmos passos.
O cartão FINS
Um dispositivo lido por FINS traz um cartão FINS abaixo do cartão Conexão: em que as requisições dele viajam, a quem elas se dirigem e quanto tempo cada uma espera pela resposta. Um dispositivo lido por nome de tag não tem esse cartão.
| Campo | Significado | Padrão |
|---|---|---|
| Protocolo de transporte | UDP: "Um datagrama por requisição, respondido para a porta de onde saiu: o padrão das portas Ethernet da Omron." TCP: "Uma conexão, na qual o CLP atribui a esta estação o nó FINS dela." | UDP |
| Rede | "A rede FINS do CLP: 0 para a rede desta estação, de 1 a 127 pelas tabelas de roteamento dos CLPs." | 0 |
| Nó do CLP | O nó FINS do CLP, de 1 a 254. Vazio, o campo mostra "Automático": por UDP o último número do endereço IP do CLP (um CLP em 192.168.250.1 é o nó 1), por TCP o nó que o CLP anuncia quando a conexão abre. |
Automático |
| Unidade | "A unidade do CLP que responde: 0 para a unidade CPU." Até 255. | 0 |
| Nó da estação | Só UDP: o nó FINS desta estação, de 1 a 254. Vazio, o campo mostra "Automático": o último número do endereço IP desta estação na rede pela qual ela chega ao CLP. Por TCP o campo não é desenhado, porque o CLP atribui o nó na conexão. | Automático |
| Timeout de resposta (ms) | "Quanto tempo uma requisição FINS espera pela resposta." De 100 a 60.000. | 2.000 |
Um número fora da faixa é recusado embaixo do campo, por exemplo "Digite um número entre 0 e 127.", e o campo volta ao valor em vigor. Trocar o transporte para TCP mantém o nó da estação digitado para UDP, que o dispositivo então não usa.
Host Link numa linha serial
Um controlador CP1E, CP1L, CP1H, CJ ou CS que só tem porta serial (RS-232C, ou RS-485 e RS-422A por uma placa opcional ou um conversor) é lido por FINS sobre Host Link, por uma linha serial do driver Omron: uma porta COM compartilhada por até 32 CLPs, cada um respondendo ao próprio número de unidade. Adicione a linha com Acrescentar linha na tabela Linhas seriais da página do driver e ajuste a Porta serial, o Velocidade em baud e o Formato serial ao que as portas seriais dos CLPs usam (o resto da página da linha está em Linhas seriais), habilite-a e depois adicione cada CLP com Acrescentar dispositivo na página da linha.
| Ajuste | Onde | Valor |
|---|---|---|
| Modo da porta | O PLC Setup do CLP, para a porta serial em que a linha está ligada | Host Link |
| Baud e formato | A linha | Como as portas dos CLPs estão ajustadas; uma porta Host Link sai de fábrica com 9600 baud e 7E2 |
| Unit ID | O cartão Conexão do dispositivo, ao lado de Linha serial · fixa | O número de unidade Host Link do CLP, de 0 a 31, como o PLC Setup dele define. Um dispositivo novo pega o primeiro número livre da linha; um número que outro CLP da linha já tem é recusado |
| Timeout de resposta (ms) | O cartão FINS do dispositivo | De 100 a 60.000; 2.000 |
Um dispositivo numa linha é lido por FINS para sempre: não tem campo Protocolo, Host ou IP nem Porta, e o cartão FINS dele mostra só "FINS sobre Host Link nesta linha serial, para o CLP cujo número de unidade (ajustado para a porta serial dele no PLC Setup) é o Unit ID acima." e o Timeout de resposta (ms), porque a requisição vai para a unidade CPU do CLP que o barramento endereça e nenhum campo de rede se aplica. Ele nunca passa para a rede, nem um dispositivo de rede passa para uma linha. As tags dele são endereçadas como pela rede (D100, W0.01), e o endpoint dele nomeia a linha e a unidade, por exemplo omron://serial/<line id>/COM5/9600/7E2?protocol=fins&transport=hostlink&hostLinkUnit=0&timeoutMs=2000.
| Numa linha serial | O que acontece |
|---|---|
| Vários CLPs numa linha | Uma requisição e a resposta dela por vez para a linha toda; a resposta de outra unidade, ou ruído, é ignorada |
| Um CLP que não responde dentro do timeout dele | Esse dispositivo se reconecta; os outros CLPs da linha continuam lendo |
O CLP considera o quadro danificado e responde um código de fim Host Link, como 13 (FCS error) |
O dispositivo se reconecta |
| A porta falha, por exemplo quando o adaptador é desconectado | Todo dispositivo da linha se reconecta; a porta é aberta de novo depois de uma pausa de 1 segundo, que dobra até um minuto |
| Uma tag de texto | No máximo 534 caracteres, o que um quadro Host Link carrega |
A varredura não procura numa linha serial: adicione cada CLP pelo número de unidade dele.
Endereçamento
Uma tag é endereçada por um campo no cartão Origem dela, com o nome tirado do protocolo do dispositivo: Endereço de memória por FINS, Nome da variável para um dispositivo lido por nome de tag, com a dica do protocolo embaixo. Um endereço que o driver não consegue ler é recusado na página da tag onde é digitado, com o motivo. A linha somente leitura Endereço de origem (barramento) do cartão Origem mostra o endereço que o driver recebe.
Endereços de memória (FINS)
Um endereço de memória é formado pelas letras da área, o número da palavra em decimal e, para um único bit, um ponto e o bit, de 00 a 15. As letras não diferenciam maiúsculas de minúsculas, e as grafias antigas também são lidas.
| Área | Exemplos | Palavras | Também escrita como |
|---|---|---|---|
| CIO | CIO100, CIO100.05, 100.05 |
0 a 6143 | um número sozinho, que é um endereço CIO |
| Trabalho (W) | W0, W0.01 |
0 a 511 | WR |
| Retenção (H) | H10, H10.00 |
0 a 1535 | HR |
| Auxiliar (A) | A100, A100.03 |
0 a 1471 | AR |
| Memória de dados (D) | D100, D100.15 |
0 a 32767 | DM |
| Memória de dados estendida (E) | E0_100, EA_0, E18_0 |
0 a 32767 | o banco em hexadecimal, de 0 a 18, entre o E e o sublinhado |
Cada área é limitada pela maior que algum controlador CJ, CS ou CP tenha (um CJ2 tem 1.536 palavras de retenção e bancos de memória estendida até o 18). Uma palavra ou um banco que um controlador menor não tem é resposta do próprio CLP, um erro na primeira leitura da tag (veja Leitura). O que a página da tag recusa onde é digitado:
| Você digita | A página da tag diz |
|---|---|
Algo que não é uma área, uma palavra e um bit, como X100 ou D100. |
"Um endereço de memória FINS é a área, a palavra e, para um bit, um ponto e o bit, por exemplo D100, W0.01, CIO100.05, H10, A100 ou E0_100." |
Uma palavra depois do fim da área, como D40000 ou W512 |
"Essa palavra fica depois da última palavra da área dela em qualquer controlador CJ, CS ou CP." |
Um bit depois do 15, como W0.16 |
"O bit de uma palavra vai de 00 a 15." |
Um banco depois do 18, como E19_0 |
"Os bancos da memória estendida são numerados de 0 a 18 em hexadecimal." |
O endereço de barramento é o endereço na sua grafia única, com o bit em dois dígitos: 100.5
viaja como CIO100.05 e DM100 como D100. Uma tag de texto acrescenta depois de um ? os
caracteres que ocupa, então um texto de 16 caracteres em D200 viaja como D200?16.
Nomes de variável (NJ/NX)
Um controlador NJ, NX ou NY é lido pelo nome de uma variável global que ele publica na rede, que
no Sysmac Studio é uma variável cujo atributo Network Publish é Publish Only, Input ou Output
(veja Preparar o controlador). Uma variável que o controlador não publica
não pode ser lida por nome. Um nome se escreve com letras
ASCII, dígitos e sublinhados, nunca começando por um dígito, com um ponto antes do membro de uma
estrutura e um índice entre colchetes: Level, Motor.Speed, Temps[3], Grid[1,2]. Qualquer
outra forma é recusada na página da tag: "Um nome de variável se escreve com letras, dígitos e sublinhados, sem começar por um dígito, com um ponto antes de um membro e um índice entre colchetes, por exemplo Level, Motor.Speed ou Temps[3]."
Um nome em outra escrita, que o Sysmac Studio permite, é recusado do mesmo jeito, porque a
requisição EtherNet/IP não consegue levá-lo.
O controlador lista as variáveis dele de um jeito que este driver não lê, então toda tag de um
dispositivo lido por nome de tag é digitada à mão. Se o controlador publica um nome é resposta
dele, dada na primeira leitura da tag. Não existe campo de deslocamento: um membro ou um elemento é
nomeado por si mesmo, e um elemento de um array BOOL é lido pelo próprio nome, como Flags[5]. O
endereço de barramento é o nome seguido de ?0, por exemplo Motor.Speed?0.
Tipos de dado
Por FINS o Tipo de dado oferecido segue o endereço:
| O endereço nomeia | Tipo de dado | O que é lido |
|---|---|---|
Um bit, como W0.01 |
Boolean | Só aquele bit. |
Uma palavra, como D100 |
Int16 ou UInt16 | A palavra. |
| Uma palavra e a seguinte | Int32, UInt32 ou Float | Duas palavras, a palavra baixa no endereço e a alta depois dela, do jeito que as próprias instruções da Omron guardam uma palavra dupla. A última palavra de uma área não começa nenhum par, então ela oferece só Int16, UInt16 e String. |
| Uma palavra e as seguintes, como texto | String | O Comprimento (caracteres, vazio = 16) que a tag declara, de 1 a 1998 caracteres, dois por palavra, com o primeiro no byte alto. O texto termina no primeiro NUL. Numa linha serial, de 1 a 534 caracteres. |
Digitar um endereço que não comporta o tipo da tag troca o tipo pelo que o endereço lê de forma mais natural: um Boolean para um bit, um Int16 para uma palavra. Um tipo que o endereço não comporta é recusado com os que ele comporta, por exemplo "O endereço D100 é lido como um destes tipos de dado: Int16, UInt16, Int32, UInt32, Float, String." Não existe opção de ordem de bytes ou de palavras: o FINS guarda toda palavra com o byte alto primeiro, e o driver cuida disso.
Um dispositivo lido por nome de tag oferece todo tipo atômico do controlador:
| Tipo de dado | Tipo da variável no Sysmac Studio |
|---|---|
| Boolean | BOOL |
| SByte | SINT |
| Byte | USINT |
| Int16 | INT |
| UInt16 | UINT |
| Int32 | DINT |
| UInt32 | UDINT |
| Int64 | LINT |
| UInt64 | ULINT |
| Float | REAL |
| Double | LREAL |
Uma variável WORD é lida como UInt16 e uma DWORD como UInt32. Variáveis STRING não são lidas, e String não é oferecido. Um tipo fora da lista é recusado com ela: "Uma variável de um controlador NJ/NX é lida como um destes tipos de dado: Boolean, SByte, Byte, Int16, UInt16, Int32, UInt32, Int64, UInt64, Float, Double."
Leitura
Por FINS o dispositivo mantém uma conversa com o CLP e manda uma requisição por vez, cada tag uma leitura de área de memória das palavras dela, e só aceita como resposta a que traz o número da própria requisição, então uma resposta atrasada nunca é lida como a da seguinte. Antes de qualquer tag ser lida, o CLP precisa responder a uma leitura de dados do controlador, com qualquer código de fim; o modelo que ele informa é escrito no diário. O que o CLP responde decide então o destino de cada leitura:
| O CLP responde | A leitura |
|---|---|
| Conclusão normal | O valor. |
| Um código de fim sobre o ponto, como um endereço que o CLP não tem | Aquela tag fica sem valor, e o erro dela nomeia o código e o significado dele no manual da Omron, por exemplo end code 0x1103 (address range error). Todas as outras tags do dispositivo continuam lendo. |
| Um código de fim sobre o caminho até o CLP (0x01xx, 0x02xx, 0x03xx, 0x05xx), um nó intermediário que esgotou o tempo no caminho, ou nada dentro do Timeout de resposta (ms) | O dispositivo se reconecta, e as tags dele falham nas leituras até o CLP responder de novo. A política de cada tag para um dispositivo que não respondeu decide o que ela mostra. |
Um dispositivo lido por nome de tag é provado perguntando ao controlador por uma variável que nenhum programa declara: a resposta do controlador de que esse nome não existe é uma resposta do controlador. As requisições dele passam pelo mesmo código EtherNet/IP do driver Rockwell EtherNet/IP e esgotam o tempo depois de 10 segundos.
Escritas
Tags cujo Acesso é Leitura e escrita ou Somente escrita podem ser escritas; uma tag nova nasce como Somente leitura. Uma escrita espera a vez na fila do dispositivo junto com as leituras, e manda o valor pedido e nada além dele:
| A tag lê | O que a escrita manda |
|---|---|
Um bit FINS (W0.01) |
Só aquele bit: o CLP muda o bit no lugar e deixa os outros bits da palavra como estão. |
| Uma palavra ou palavra dupla FINS | O valor inteiro, no endereço e, para duas palavras, na palavra seguinte. |
| Um texto FINS | O comprimento declarado inteiro, com o texto na frente e NULs atrás, para que nada de um texto anterior mais longo seja lido depois dele. Um texto que não cabe no comprimento é recusado, nunca cortado. |
| Uma variável NJ/NX | O valor, para aquela variável pelo nome dela; um elemento de um array BOOL como só aquele BOOL. |
| O CLP responde a uma escrita FINS com | A escrita |
|---|---|
| Conclusão normal | Entregue. |
| Um código de fim que a recusa | Recusada, e o motivo nomeia o código e o significado dele, por exemplo end code 0x2101 (read-only). |
| Nada dentro do Timeout de resposta (ms), ou um nó intermediário que esgotou o tempo no caminho (0x0205) | Sem resposta. |
Uma escrita FINS cujo valor o tipo da tag não comporta é recusada antes de qualquer envio.
Descoberta
A página do driver Omron traz um cartão Escopo da varredura com um campo opcional, "Endereço do CLP para uma sondagem FINS, por exemplo 192.168.250.1 (vazio = só NJ/NX por broadcast)". O Descobrir então faz até duas perguntas, uma depois da outra:
| Pergunta | Quando | O que oferece |
|---|---|---|
Uma leitura de dados do controlador por FINS e UDP, com todo nó automático, mandada ao CLP do campo: um endereço IP ou um nome, com :port quando o CLP responde FINS numa porta que não é a 9600. A linha de progresso mostra "Pedindo a 192.168.250.1 que se identifique por FINS…". |
Só quando o campo tem um endereço. | O CLP, como um dispositivo FINS com o nome do modelo com que ele responde, em omron://<host>:<port>?protocol=fins&transport=udp&network=0&node=0&unit=0&source=0&timeoutMs=2000. Um CLP que não responde nada não oferece nada. |
| A requisição de identidade EtherNet/IP, em broadcast em toda rede em que este computador está. A linha de progresso nomeia essas redes: "Procurando controladores Omron NJ/NX em 192.168.0.255…". | Sempre. A varredura escuta até passarem 5 segundos sem resposta nova. | Cada controlador NJ, NX ou NY que responde, como um dispositivo lido por nome de tag, com o nome do produto dele (um NX1P2, por exemplo). Um acoplador de E/S NX, cujo nome de produto começa com NX-, não guarda variáveis e é deixado de lado, como qualquer outro produto Omron. |
Nenhuma das perguntas encontra tags: um CLP FINS não publica lista dos endereços dele, e um NJ/NX lista as variáveis de um jeito que o driver não lê, então cada candidato mostra "Nenhuma tag informada. Acrescente o dispositivo para configurar as tags no editor dele." Algo no campo que não é um host é recusado embaixo dele, e o Descobrir fica cinza: "Uma varredura Omron pede ao CLP escrito aqui que se identifique por FINS: o endereço IP ou o nome dele, com a porta se precisar (por exemplo 192.168.250.1 ou 192.168.250.1:9600). Deixe vazio para procurar só controladores NJ/NX por broadcast." Um controlador numa rede em que este computador não está não responde ao broadcast; adicione-o à mão. A varredura do Rockwell EtherNet/IP ouve o mesmo broadcast e deixa todo controlador Omron para esta. O resto do comportamento da varredura está em Descoberta.
Ferramentas do agente
O driver_capabilities descreve este driver sob omron: os dois protocolos, cada um com os campos
de dispositivo, as formas de endereço e os tipos de dado que aceita, os transportes e as faixas
FINS, as escritas e a descoberta. O device_upsert driver=Omron aceita omronProtocol (Fins ou
NjNx) e, por FINS, finsTransport (Udp ou Tcp), finsNetwork, finsNode (0 para
automático), finsUnit, finsSourceNode (só UDP, 0 para automático) e finsResponseTimeoutMs;
um dispositivo lido por nome de tag não aceita porta nem campo FINS. O tag_upsert aceita o
endereço de memória ou o nome da variável como address, o tipo como opcUaType (omitido, um bit
fica Boolean e uma palavra Int16) e o comprimento de um texto FINS como wireQuantity. O
device_discover driver=Omron roda a varredura, com target para a sondagem FINS. Um CJ2 lido
por UDP e um NX1P2 lido por nome de tag:
device_upsert driver=Omron name=Press host=192.168.250.1 omronProtocol=Fins finsTransport=Udp
tag_upsert device=Press name=Level address=D100 opcUaType=Float
device_upsert driver=Omron name=Filler host=192.168.250.2 omronProtocol=NjNx
tag_upsert device=Filler name=Speed address=Motor.Speed opcUaType=Float
Um CLP numa linha serial fica pendurado numa linha deste driver: serial_line_upsert driver=Omron cria a linha, e device_upsert driver=Omron serialLineId=<id> adiciona o CLP por Host Link (finsTransport=HostLink, que a linha implica) com unitId, o número de unidade dele de 0 a 31 (omitido, o primeiro livre), e finsResponseTimeoutMs; os campos de rede são recusados nele. Um CP1L na unidade 0 na COM5:
serial_line_upsert driver=Omron name=HostLink serialPort=COM5 baudRate=9600 serialFormat=7E2
device_upsert driver=Omron name=Mixer serialLineId=<the line's id> unitId=0
tag_upsert device=Mixer name=Level address=D100 opcUaType=Int16
As outras ferramentas estão em Ferramentas do agente.
Limites que vale conhecer
- Um controlador que fala só os comandos Host Link mais antigos do modo C, como um CPM1, um CPM2, um CQM1 ou um C200HS, não é lido, nem numa linha serial nem por um conversor: o driver envia só comandos FINS.
- Temporizadores e contadores não são oferecidos por FINS: o valor atual deles fica em BCD ou em binário conforme a configuração do CLP, e nada numa resposta FINS diz qual. Leia esse valor por uma palavra para a qual o programa o copia.
- As variáveis de um controlador NJ/NX nunca são listadas, nem na página da tag nem por uma varredura: todo nome é digitado.
- Um dispositivo lido por nome de tag lê um valor atômico por tag. Variáveis STRING, uma estrutura inteira e um array inteiro não são lidos; um membro ou um elemento é lido pelo nome.
- O driver manda três comandos FINS e nenhum outro: leitura de área de memória, escrita de área de memória e leitura de dados do controlador. Ele nunca muda o modo de operação do CLP, o relógio nem o programa.
Bom saber
- Por UDP a estação manda cada requisição de uma porta própria e o CLP responde para essa porta, que é como as portas Ethernet da Omron vêm configuradas por padrão. Uma unidade Ethernet configurada com a conversão de endereço estática responde para a porta 9600 da estação, onde o driver não escuta: leia esse CLP por TCP.
- Uma rede FINS diferente de 0 é alcançada pelas tabelas de roteamento configuradas nos CLPs; a estação não roteia nada sozinha.
- Um controlador NJ/NX é perguntado primeiro pela rota CIP
1,0e, quando ela não tem resposta, por 18 seguido do endereço IP do próprio controlador, como18,192.168.250.1; a rota que respondeu é tentada primeiro na vez seguinte. Não existe campo de rota. - Cada tag FINS é uma requisição própria, e um dispositivo manda uma por vez, então o tempo de uma rodada de leituras cresce com o número de tags dele.