O Profibus é um protocolo baseado na passagem de token e garante transmissões em tempo real rápidas, onde seu princípio de funcionamento garante sempre um tempo mínimo de token em cada estação. Uma grande maioria das pessoas envolvidas com automação sempre quer saber o quão 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 configurem 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.
Entendendo o mecanismo de tempo
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 transmitidos no frame de pedido ou de resposta. Todas as estações, com exceção da que detém o token, deverão 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.
Uma das principais funções do MAC (Medium Access Control: 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) é 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ão sempre duas filas de mensagens, uma de alta prioridade e outra de baixa prioridade.
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 1 – Parametrização do barramento
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 start-up 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.
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.
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).
Os valores e status da medição, assim como os valores de set-point 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.