Profibus: Tempo de Barramento

quinta-feira, 29 de junho de 2006



César Cassiolato - Gerente de Produtos
Smar Equipamentos Industriais Ltda.

 

Introdução

 

Um grande maioria das pessoas envolvidas com automação sempre quer saber o quanto rápido é um protocolo.Assim como em outros fieldbuses, as ferramentas de configuração do Profibus permitem que o usuário tenha acesso aos tempos envolvidos, tais como, tempo de ciclo(Bus Scan Cycle Time), tempo de rotação de token(Token Rotation Time), etc, e também permitem algumas vezes que se configure manualmente os tempos de acordo com o usuário, embora estas ferramentas em sua grande maioria, calculam automaticamente os tempos envolvidos de acordo com os elementos da rede Profibus.

 

Figura 1 -  Redes de comunicação e a hierarquia em termos de automação

As redes industriais de comunicação fieldbus são especialmente projetadas para interconexões entre os controladores, sensores e atuadores, localizados nas camadas de mais baixo nível (chão de fábrica).Note na figura 1, que quanto maior o nível em termos de fluxo de mensagens, maior é o  tempo de resposta exigido, maior é a quantidade de informação a ser transferida, maior deve ser a confiabilidade e as taxas de transferência(baud rates).Entenda como tempos exigidos, o tempo necessário entre uma requisição de informação e sua transmissão no barramento.Na verdade, muitos fatores estão envolvidos e devem ser considerados nos tempos de mensagens, tais como, o acesso e tempos de filas(mecanismo de MAC – Médium Access Control), tempo de transmissão e o tempo de processamento do protocolo.

 

Entendendo o mecanismo MAC

O mecanismo de MAC no Profibus é baseado no procedimento de passagem de token usado pelas estações mestres para garantir o acesso de cada estação ao barramento e também no procedimento mestre-escravo.



Figura 2 – Comunicação Multi-Mestre

Os mecanismos de MAC (Controle de acesso do barramento) são implementados na camada 2 do modelo OSI e que no Profibus é chamado de Fieldbus Data Link (FDL). O FDL além de ser responsável pelo controle de acesso ao barramento e pelo tempo de ciclo do token é responsável também pelos serviços de transmissões de dados à camada de aplicação.
O Profibus utiliza diferentes  subconjuntos dos serviços do nível 2 em cada um de seus perfis (DP, FMS, PA). Veja a tabela 1.

SERVIÇO

FUNÇÃO

DP

FMS

PA

SDA

Send Data with Acknowledge
(Envia dados com confirmação)

não

sim

não

SRD

Send and Request Data with reply (Envia e recebe dados com resposta)

sim

sim

sim

SDN

Send Data with No acknowledge(Envia dados sem confirmação)

sim

sim

sim

CSRD

Cyclic Send and Request Data with reply (Envia e recebe dados ciclicamente com resposta)

não

sim

não

Tabela 1 -  Serviços do PROFIBUS (nível 2)

Todas as relações de comunicação são baseadas entre a estação que detém o token e a estação escrava.Uma importante característica destes serviços é que sempre a um pedido, existe uma reposta imediata ou um reconhecimento(acknowledgement).Em sistemas real-time esta característica é fundamental.

Além destes serviços, aplicações industriais sempre requerem serviços cíclicos, onde um procedimento central de polling é utilizado para fazer o scan dos equipamentos de campo. No Profibus, existe uma lista de polling na camada FDL baseada em serviços to tipo SRD e CSRD.

Um conceito importante no Profibus é o ciclo de mensagem que corresponde ao tempo de frame de pedido ou envio de pedido pelo mestre e a resposta ou reconhecimento pelo escravo e também o número de retries(antes de um report de erro de comunicação).Os dados de usuário podem ser transmitido no frame de pedido ou de resposta.Todas as estações, com exceção da que detém o token, deverá monitorar todos os pedidos e o reconhecimento ou a resposta deverá chegar com um tempo pré-definido, o chamado slot time, caso contrário, a estação que requisitou o pedido deverá repetir o pedido.Note que durante o setup da rede, o número máximo de retries deverá ser definido em todas as estações mestres.

Como vimos,  uma das principais funções do MAC é o controle do tempo de ciclo do token, TTR.Após receber o token, a medição do tempo de rotação do token começa e só vai terminar assim que um novo token chegar, resultando no chamado tempo de rotação de token real(TRR). Um tempo comum de TRR deve ser definido na rede Profibus para todos os mestres.Quando uma estação recebe o token, é analisado se o tempo de manutenção do token(TTH) , que é dado pela diferença ente o TTR e TRR,  é positivo. Se o TRR  for maior que TTR, a diferença será negativa e o mestre deverá executar um ciclo de alta prioridade. Se a diferença for positiva, então o mestre poderá executar a função de alta prioridade durante o tempo em que   TTH > 0. Tarefas de baixas prioridades são executadas se não houver tarefas de alta prioridade pendentes.As seguintes tarefas são consideradas de baixa prioridade: lista de polling, serviços de aplicação, serviços de gerenciamento remotos e ciclos de mensagens que suportam mudanças dinâmicas no anel lógico (de passagem de token) quando se tem dois mestres com endereços consecutivos.

Existirá sempre duas filas de mensagens, uma de alta prioridade e outra de baixa prioridade.

 

Algumas dicas de configuração dos tempos envolvidos no Profibus

Os parâmetros de barramento do Profibus são comumente dados em “bit times (TBIT)”. Esta é a unidade que é mostrada tipicamente nos arquivos GSD e nas ferramentas de configuração, etc.

O Target Token Rotation Time(TTR)é dado em bit times e normalmente é calculado pelas ferramentas de configuração.É o tempo para se passar o token por toda a rede e retorna ao seu mestre inicial. Quando se tem múltiplos mestres, isto inclui o tempo total para cada mestre completar seu ciclo de I/O, passar o token ao próximo mestre e o token retornar ao mestre inicial.Alguns fatores influenciam diretamente o TTR : o baud rate, o número de escravos com troca de dados cíclicos, o número total de I/Os durante a troca de dados, o número de mestres.

Um parâmetro diretamente influenciado pelo TTR é o watchdog time. Este é o tempo descarregado na configuração de cada escravo e que  será usado pelo escravo para detectar falhas de comunicação.A cada falha detectada com a expiração do time, o escravo vai ao estado de reset e com isto nenhuma troca de dados cíclica é permitida e deverá ser inicializado pelo mestre.Este procedimento levará pelo menos 4 ciclos de barramento. É comum, porém não recomendado, se ver na prática usuários reduzindo o tempo de  TTR  e com isto se tem watchdog time muito pequeno, o que faz com que no final do tempo de barramento sempre se tem a expiração do time do escravo e sempre o escravo levará 4 ciclos para trocar dados novamente e a performance da rede fica comprometida.




Figura 3 – Parametrização do barramento

 

Se um escravo detecta um erro de transmissão ao receber um pedido do mestre, ele simplesmente não responde e depois de esperar um slot time, o mestre enviará novamente o pedido(retry).Da mesma forma se o mestre detectar uma falha na resposta do escravo, também enviará novamente o pedido.O número de vezes que o mestre tentará sucesso na comunicação com o escravo dependerá da taxa de comunicação, sendo:

  • 9.6kbits/s a 1.5Mbits/s à 1
  • 3.0 Mbits/s à 2
  • 6.0 Mbits/s à 3
  • 12.0 Mbits/s à 4

Após esgotar todos os retries, o mestre marca o escravo, indicando um problema e faz o log out com dele.Nos ciclos subseqüentes, se o mestre consegue sucesso, ele realiza a seqüência do startup novamente(4 ciclos para trocar dados novamente).
É comum por exemplo em redes onde não se tem uma comunicação integra devido ao nível de ruído ou devido a uma má condição de shield e de aterramento que se aumente o número de retries até que se corrija o problema.Outra situação em que se procura aumentar este número é quando se tem mais de 9 repetidores. A utilização de  repetidores provoca congestionamento de tráfego (atrasos crescentes nas filas) e com o objetivo de resolver esse problema, é proposto um mecanismo inovador de inserção de tempos mortos (idle time) entre transações, recorrendo para o efeito à utilização dos dois temporizadores Idle Time do Profibus(explicados a seguir).
Existem situações quando se tem múltiplos mestres de um mesmo fabricante e ainda utilizando ferramentas deste mesmo fabricante.Neste caso, na maioria das vezes o tempo de rotação do token(TTR) é otimizado pela própria ferramenta, de tal forma a garantir o perfeito funcionamento da rede.Existe  outra situação onde os mestres são de diferentes fabricantes e a ferramenta não calcula automaticamente o TTR e, neste caso o que se deve fazer é para cada mestre levantar o perfeito TTR isoladamente e depois se somar os tempos determinados para se ter o TTR ambos os mestres ao mesmo tempo.
Na figura 3 ainda temos os seguintes parâmetros importantes:

  • Tid1: quanto em tempo(µs) que o mestre espera se receber uma resposta ou um reconhecimento;
  • Tid2: quanto em tempo(µs) que o mestre espera após enviar uma mensagem e antes de enviar a próxima mensagem.
  • Quiet time: é o número de bit time que o mestre espera em cada transmissão, antes de começar a enviar dados.
  • Gap Actualization Factor: é o número de rotações do token  entre solicitações para um novo mestre.

 

Tempo de resposta no Profibus DP

O tempo de reposta em um sistema Profibus DP é essencialmente dependente dos seguintes fatores:

  • MaxTSDR (tempo de resposta após o qual uma estação pode responder);
  • A taxa de comunicação selecionada;
  • Min_Slave_Intervall (tempo entre dois ciclos de polling no qual um escravo pode trocar dados com um escravo.Depende do ASIC utilizado, porém no mercado encontramos tempos de 100µs ).

Para efeitos práticos, à 12Mbits/s podemos assumir que o tempo de ciclo de mensagem (Tmc), que envolve o prompting telegram + TSDR + a resposta do escravo, onde N é o número de entradas e saídas do escravo, é:

Tmc = 27µs + N x 1.5µs

Por exemplo, um mestre com 5 escravos e cada escravo com 10 bytes de entrada e 20 de saída, à 12Mbits/s teria um Tmc aproximado de 72µs/slave.O tempo de ciclo de barramento é obtido somando-se todos os ciclos de mensagem:
                                                      
Tbc = 5 x 72µs = 360µs           
                                    
Uma explicação mais detalhada sobre tempos do sistema podem ser consultadas no padrão IEC 61158.

 

Tempo de resposta no Profibus PA

A utilização do PROFIBUS em dispositivos típicos e aplicações em controle de processos estão definidas segundo o perfil  PROFIBUS-PA. Este perfil define os parâmetros dos equipamentos de campo e seu comportamento típico independente do fabricante e se aplica a transmissores de pressão, temperatura, posicionadores, etc. É baseado no conceito de blocos funcionais que são padronizados de tal forma a garantir a interoperabilidade entre os equipamentos de campo.

Os valores e status da medição, assim como os valores de setpoint recebido pelos equipamentos de campo no PROFIBUS-PA são transmitidos ciclicamente com mais alta prioridade via mestre classe 1 (DPM1). Já os parâmetros para visualização, operação, manutenção e diagnose são transmitidos por ferramentas de engenharia (mestre classe 2, DPM2) com baixa prioridade através dos serviços acíclicos pelo DP via conexão C2. Ciclicamente também se transmite uma seqüência de bytes de diagnósticos. A descrição dos bits destes bytes estão no arquivo GSD do equipamento e dependem do fabricante.

O tempo de ciclo(Tc) aproximado pode ser calculado como segue quandos e tem o link device na reder como mestre da rede PA:

Tc ≥ 10ms x número de equipamento + 10ms(serviços acíclicos mestre classe 2) + 1.3ms(para cada conjunto de 5 bytes de valores cíclicos).

Imagine a situação onde se tem 5 malhas de controle com 5 transmissores de pressão e 5 posicionadores de válvula.Teríamos um tempo de ciclo de aproximadamente 110 ms.

 

Conclusão

Vimos através deste artigo a importância dos tempos envolvidos na tecnologia Profibus e suas particularidades e compromissos com a performance do protocolo.

 

Referência:

-  Especificações técnicas Profibus FMS, DP e  PA EN50170 Vol 2.