Suporte ao protocolo UDP nos Conversores de Rede para Serial
Nossos conversores de rede para serial, como 2S-TCP-2, 4S-TCP-2 agora podem ser configurados para conversar usando o protocolo UDP, bem como TCP que é o padrão da comunicação. Mas o que isso significa e qual a relevância para meu projeto?
Até então, a comunicação com os conversores de rede nas portas seriais era feita exclusivamente com protocolo TCP. O protocolo TCP é o mais adequado para a maioria dos casos pois tem mecanismos para retransmitir dados perdidos e o recebimento dos dados na mesma ordem em que foram enviados.
No entanto, algumas aplicações precisam utilizar somente a “última leitura” do dispositivo serial, ou o dispositivo serial envia constantemente dados, o que faz com que uma leitura especifica não seja tão importante. Uma leitura poderia ser descartada, pois uma nova será transmitida imediatamente. Neste cenário, quando usamos TCP a leitura perdida é retransmitida e a rede gasta tempo detectando a perda e retransmitindo o dado perdido, o que é desnecessário. Isso não ocorre com UDP, onde um dado perdido não é retransmitido, e o tempo que seria usado para retransmissões passa a ser usado para enviar a mais nova leitura recebida.
Exemplos de aplicação
Um exemplo simples é a balança: Muitos modelos de balança transmitem o peso continuamente pela porta serial. Caso uma leitura de peso seja descartada, em pouquíssimo tempo outra leitura será enviada novamente, com valor atual.
Outro exemplo não tão obvio é na área de segurança perimetral, cercas elétricas da Speedrite(tm) e talvez outras são compostas por um controlador e um painel de configuração que exibe o estado do sistema. Estes aparelhos comunicam-se por RS485 e quando utilizado um par de conversores de rede 2S-TCP-485-2 para estender a distância entre central e teclado, funciona melhor por UDP do que por TCP, devido as características da comunicação: ser constante e resiliente a falhas de comunicação ocasional onde a recuperação é rápida pelo último estado do equipamento.
Conclusão
Portanto a escolha entre o protocolo de transmissão dos dados é técnica e depende das características da aplicação ou dos equipamentos bem como algum conhecimento sobre a comunicação entre eles, mas a seleção correta oferece ganhos ao sistema tanto de desempenho quanto de estabilidade.
Para saber mais sobre o protocolo de transporte UDP em geral, veja este artigo: User Datagram Protocol (Wikipédia).