Inicio  >  KEPServerEX  >  FAQs  >   ¿Para qué es necesario configurar los Timings de las comunicaciones?

02.  Porque é necessário configurar os Timings das comunicações?

Os parâmetros que afetam os Timings podem ser definidos em Device Properties > Timing. É muito comum deixar os parâmetros por defeito, no entanto, é interessante conhecer a utilidade de cada um, na medida em que pode ser muito útil modificar estes parâmetros para otimizar as comunicações.

  • Connect timeout:
    Este campo está somente habilitado para os drivers Ethernet. Isto determina o tempo de espera que o servidor demora a estabelecer a comunicação inicial (abrir o socket) com o dispositivo. O intervalo válido é de 1 a 30 segundos.
  • Request timeout:
    Este parâmetro indica o tempo que o servidor demora para receber uma resposta do dispositivo antes de voltar a reenviar uma trama.

Este valor deve ajustar-se em função do maior tempo de resposta de um dispositivo, sempre com um valor superior a este.  Ou seja, se para quase todas as tramas que o servidor envia ao dispositivo, este responde em 50 ms, há no entanto algumas tramas que respondem em 80 ms, o “Request timeout” ajusta o valor em > 80ms. É recomendado configurar este valor para 1,5*Tmax. Por conseguinte, no exemplo anterior, este valor deveria ter-se ajustado a 120 ms. Para poder determinar os tempos de resposta, podem ser utilizados softwares de análise de protocolos, como por exemplo o Wireshark.

É muito importante ter em consideração a definição deste valor nos protocolos em que a frequência de transmissão dos dados é um parâmetro variável consoante a configuração. Para muitos drivers Serie, o “Request timeout” está predefinido num valor correspondente a 9 600 baud. No entanto, no caso de comunicar com um dispositivo que utilize um baud mais baixo, deverá aumentar o valor do “Request timeout” para compensar.

  • Fail after X succesive timeouts:

Este parâmetro determina o número de vezes que o servidor reenviará uma trama ao dispositivo antes de declarar a comunicação inválida (o intervalo válido é de 1 a 10 vezes). No caso de exceder este valor, o tag de erro de comunicações no servidor passa a valer 1. A definição deste parâmetro depende do ambiente onde estão instaladas as comunicações, ou seja, em ambientes onde as comunicações estão muito afetadas pelo ruído é recomendado o aumento deste valor.

  • Inter-request delay:

Este parâmetro define o tempo de espera do servidor entre o envio de tramas (alguns servidores não permitem esta funcionalidade). É útil para os dispositivos que precisam de uma pequena fração de tempo para mudar o estado de transmitir para receber (por exemplo, alguns rádio modems). O valor por defeito é de 0 ms, ou seja, por defeito o tempo de espera não é considerado.

É recomendada a utilização de canais separados para os dispositivos configurados com “Inter-request delay”, visto que este tempo afeta as comunicações dos outros dispositivos do mesmo canal.

Se o ambiente for o responsável, é mais suscetível que se produzam erros em razão do ruído nas comunicações. Por um lado é possível optar pelo aumento de tentativas em que o driver tenta enviar a trama, por outro, é possível utilizar a opção “auto-demotion”.

Aumentar o número de tentativas pode aumentar o tempo do ciclo total das comunicações de um canal e afetar os outros dispositivos desse mesmo canal, na medida em que o driver se detém num request específico até que os timeouts e tentativas do dispositivo se esgotem. Nestes casos, para otimizar as comunicações e não afetar os outros dispositivos do canal, é melhor utilizar a funcionalidade “auto-demotion”, a qual está definida na nota FAQ003.