Newsletter


Cadastre seu e-mail aqui para receber as últimas novidades sobre os produtos e oportunidades Vivace.

Enviar

PROFIBUS: SERVIÇOS DE TRANSMISSÃO E FRAMES

INTRODUÇÃO
 
O Profibus é um protocolo digital utilizado em sistemas de controle, que permite a conexão com interoperabilidade de diversos equipamentos e fabricantes. Possui uma série de vantagens em relação à tecnologia 4-20 mA, onde resumidamente pode-se citar, dentre outras:
 
  • Fácil cabeamento com redução de custos;
  • Simples operação, através da sala de controle;
  • Aplicações em área classificadas;
  • Altas taxas de comunicação no Profibus-DP;
  • Poderosas ferramentas de configuração/parametrização e gerenciamento de ativos;
  • Tecnologia aberta e em contínua evolução.
 
ARQUITETURA DO SISTEMA DE CONTROLE DE PROCESSO
 
Na prática existem diversos fabricantes de sistemas de controle, assim como várias possibilidades de arquiteturas, mas basicamente deve-se atentar para:
 
  • O número de estações host e estações de engenharia;
  • O número de controladores;
  • A hierarquia da comunicação;
  • As atribuições dos dispositivos e equipamentos de campo aos seus respectivos controladores;
  • O método de conexão dos equipamentos de campo;
  • As   condições   envolvendo   áreas   à   prova   de   explosão,   segurança   intrínseca,   emissões eletromagnéticas, condições ambientais, distribuição de cabeamento, aterramento etc.

A  figura  1  mostra uma  arquitetura  típica,  onde  se  tem  o  controlador  Profibus,  estações  de engenharia, ferramentas de parametrização, acopladores e outros elementos da rede.
 

Figura 1 – Arquitetura típica Profibus.
 
Neste artigo detalharemos alguns dos tipos de serviços de transmissão e formato de frames dos protocolos Profibus-DP e Profibus-PA.
 
PROCEDIMENTOS DE TRANSMISSÃO NO PROFIBUS
 
O Profibus-DP utiliza dois tipos de serviços de transmissão no envio de telegramas de mensagens que são definidos na camada 2 (a camada de enlace de dados) do modelo ISO / OSI e resumidas abaixo:
 
SRD (Send and Request Data with acknowledge)

Com o SRD, os dados são enviados e recebidos em um ciclo de telegrama. Ou seja, o mestre envia dados de saída para o escravo e recebe dados de entrada do escravo em sua resposta (se aplicável) dentro de um período de tempo especificado. É importante lembrar neste serviço que um mestre pode enviar dados de saída para um escravo e requisitar dados do escravo, tudo em um único ciclo de telegrama. Este é o serviço de transmissão mais frequentemente usado em Profibus-DP e que faz com que a troca de dados seja muito eficiente para dispositivos de E/S mistas.
 
SDN (Send Data with No acknowledge)

Este serviço é utilizado quando uma mensagem deve ser enviada simultaneamente a um grupo de escravos (multi-cast), ou a todos os escravos (broadcast). Os escravos não respondem ou reconhecem mensagens de difusão ou multi-cast.
 
SDA (Send Data with Acknowledge)
 
Um  terceiro  tipo de  serviço  de  transmissão  utilizado  em  Profibus  é  o  SDA  (Send  Data  with Acknowledge), com dados enviados para um mestre ou escravo e de reconhecimento breve enviado como resposta. 


TROCA DE MENSAGENS NO PROFIBUS
 
A troca de mensagens no Profibus acontece em ciclos e cada pacote de dados é conhecido como mensagem ou frame. Cada frame de requisição de dados ou de envio de dados a uma estação mestre Profibus está associado a um frame de confirmação ou resposta de uma estação mestre ou escrava.
 
 
Os  dados  podem ser  transmitidos  em  frames  de  envio  ou  resposta,  sendo  que  o  frame  de confirmação não contém dados, isto é, somente apresentará em seus campos códigos de reconhecimento do frame pela estação. Isto avisa a estação mestre que o escravo irá processar e responder ao mestre em breve.
 
O ciclo de mensagens é somente interrompido quando se tem a transmissão do frame de token (o token é passado entre as estações mestres em uma ordem numérica ascendente de endereços por meio do frame de token e com isto o mestre que o recebe dominará a comunicação por um determinado tempo) e pela transmissão de dados sem confirmação, necessária para mensagens broadcast. Em ambos os casos não há confirmação.
 
Todas as estações, exceto a que detém o token, monitoram todas as requisições e confirmam ou respondem somente quando são endereçadas. A confirmação ou resposta retornará em um tempo predefinido, o slot time (máximo tempo que o mestre irá esperar por uma resposta do escravo). Caso contrário, a requisição será repetida.   A estação que não confirmar ou responder depois de um certo número de tentativas (retries) será listada como “não operacional” pela estação mestre.

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:
 
9.6 kbits/s a 1.5 Mbits/s – retry = 1
3.0 Mbits/s – retry = 2
6.0 Mbits/s – retry = 3
12.0 Mbits/s – retry = 4
 
Após esgotar todos os retries, o mestre marca o escravo, indicando um problema e faz o log out com dele. Nos ciclos subsequentes, se o mestre conseguir sucesso, realizará a sequência do startup novamente (4 ciclos para trocar dados novamente).
 
CARACTERES PROFIBUS-DP 
 
Todos os caracteres Profibus são compostos de 11 bits (1 start bit + 8 bits de dados + 1 bit de paridade + 1 stop bit).
 
O Profibus-DP troca dados em codificação NRZ (Non-Return to Zero). Isto é, a forma do sinal de "0" ou "1" não se altera durante a duração do bit. Se não há transmissão, a linha permanece em nível “1”, que é o estado de idle (inativo). Um start bit faz com que a linha vá para o estado lógico "0".
 
Profibus NRZ-Coded Character Frame (Even Parity)
 
Start D0 D1 D2 D3 D4 D5 D6 D7 Parity Stop
“0” 0 1 2 3 4 5 6 7 par “1”
LSB MSB
Figura 2 – Caracteres UART Profibus.

 
Este frame de caracteres aplica-se a todos os bytes de dados/caracteres, incluindo os bytes de cabeçalho do telegrama (header). Quando as mensagens são transmitidas, cada caractere ou dado é enviado na ordem do bit menos significativo (LSB) para o bit mais significativo (MSB), como mostrado acima. Para a transferência de uma palavra (mais do que 1 byte), o byte MSB é transmitido em primeiro lugar, seguido pelo byte LSB (formato Big-Endian/Motorola).
 
O Profibus utiliza o método de paridade  par para a verificação de erros de dados. Quando uma mensagem é transmitida, o bit de paridade é calculado e aplicado a cada caractere transmitido.
 
 
ESTRUTURA DOS FRAMES PROFIBUS
 
Inicialmente veremos como é formado um caractere UART no Profibus.
 
Cada frame consiste de um número de caracteres, os chamados caracteres UART. O caractere UART (UC) é um caractere start-stop para transmissão assíncrona, consistindo de 11 bits: um start bit, que é sempre “0”, 8 bits de informação, que podem ser “0” ou “1”, um bit de paridade, que pode ser “0” ou “1” e um stop bit, que é sempre “1”, conforme a Figura 2.

A especificação do Fieldbus Data Link Profibus apresenta 4 tipos diferentes de frames, onde:

•  SD1, SD2, SD3 e SD4: bytes de início (Start Delimiter), podendo possuir os valores 10H, 68H, A2H e DCH. Veja os frames a seguir.
 
•  DA: byte de endereço de destino (Destination Address);
 
•  SA: byte de endereço fonte (Source Address);
 
• FC: byte de controle (Frame Control). O campo FC dos frames SD1, SD2, SD3, além de outra informações de controle, identifica a função do frame. De acordo com a configuração de seus bits, pode-se identificar o tipo de estação que o enviou, se o mesmo é de pedido, resposta ou confirmação e a natureza das informações que contém.
 
•  FCS: byte de checagem (Frame CheckSequence);
 
•  LE: byte de comprimento (OctetLength), podendo assumir valores entre 4 e 249;
 
• LEr: byte de comprimento repetido;

•   DATA_UNIT (DU): campo de dados que pode ser fixo (8) ou variável, podendo variar de 1 a 246 bytes;

•  ED: byte finalizador (EndDelimiter), sendo seu valor sempre 16H;
 
•  SC: frame de resposta curta (Short Acknowledgement), tendo como valor E5H.

Nos tipos de frames a seguir cada coluna representa 1 byte (“1 octet”), exceto o campo DATA_UNIT (DU) que é variável.
 
 
 
SD 1 byte Start Delimiter (usado para diferenciar os formatos dos telegramas).
LE 1 byte Net Data Length (DU) + DA + SA + FC + DSAP + SSAP.
LEr 1 byte Byte de comprimento repetido.
DA 1 byte DestinationAddress– Para onde a mensagem vai.
SA 1 byte SourceAddress – Origem da mensagem.
FC 1 byte FunctionCode (FC=Tipo/Prioridade da mensagem): Usado para informações de controle, identifica a função do frame. FC=13: signals diagnostic data.
DSAP 1 byte Destination Service Access Point (porta COM do receptor). A estação de destino utiliza este campo para determinar qual serviço a executar.
SSAP 1 byte Source Service Access Point (porta COM do remetente).
DU 1 a 32 bytes
(ou 1-244 bytes)
Data Units/ de 1 a 244 bytes.
FCS 1 byte Byte de checagem (Frame CheckSequence).
ED 1 byte EndDelimiter (sempre 16H).
Tabela 1 – Significado dos campos de um frame Profibus
 
1) Frames de tamanho fixo sem campo de dados
 
 
Request Frame
 
 
SD1   DA SA FC FCS ED
 
 
Acknowledgement Frame
 
 
SD1   DA SA FC FCS ED
 
 
Short Acknowledgement Frame
 
SC
  
 
2) Frames de tamanho fixo com campo de dados
 
Send/Request Frame
 
 
SD3   DA SA FC     FCS ED
 
 
Response Frame
 
SD3   DA SA FC     FCS ED
 
 
3) Frames de tamanho do campo de dados variável
 
 
Send/Request Frame
 
 
SD2 LE LEr SD2 DA SA FC   FCS ED
 
 
Response Frame
 
SD2 LE LEr SD2 DA SA FC   FCS ED
 
 
4) Token Frame
 
 
Send/Request Frame
 
 
SD4        DA          SA


FRAMES PROFIBUS-DP
 
A figura 3 mostra um resumo dos frames Profibus-DP.

Figura 3 – Frames Profibus-DP.
 

FRAMES PROFIBUS-PA
 
A figura 4 mostra um resumo dos frames Profibus-PA, onde vale a pena lembrar que o Profibus-PA
é definido de acordo com a IEC61158-2 e onde se tem a codificação Manchester.

 

Figura 4 – Frames Profibus-PA.
 
COMPARANDO OS FRAMES PROFIBUS-DP e PROFIBUS-PA
 
A figura 5 mostra uma breve comparação entre o frame Profibus-DP e Profibus-PA.
 

Figura 5 – Frames Profibus-DP x Profibus-PA.
 
SAP  Service Access Point
 
Toda troca de dados (data exchange) entre mestre e escravo Profibus é feita utilizando as SAPs de 54 a 62, mais a SAP padrão (SAP = 0, Data Exchange).
 
A inclusão de um DSAP ou SSAP em um pedido ou resposta é feita configurando o bit mais significativo para "1" no campo DA ou SA e, nesta condição, somente os 7 bits menos significativos conterão realmente o endereço (de 0x00 até 0x7F, onde 0x7F é reservado para broadcast e 0x7E é reservado para endereço default).
 
Para serviços acíclicos outras SAPs estão disponíveis de acordo com a tabela 2. São conhecidos como serviços estendidos. 
 
Alguns tipos de SAPs:

Tabela 2 - Tipos de SAPs.
 
CONFIABILIDADE DOS DADOS DA TRANSMISSÃO NO PROFIBUS
 
Para garantir a confiabilidade dos dados da transmissão, o Profibus dispõe de um mecanismo de segurança  conhecido  como  distância  Hamming  4  (Hd  =  4,  que  significa  que  até  três  bits  errados simultaneamente podem ser  detectados). A  introdução  de um  bit de paridade  nos caracteres  UART incrementa em um bit a distância Hamming. Consegue-se Hd = 4 enviando um FCS com cada frame, assim como a inclusão de delimitadores de início e fim dos frames. O Profibus não utiliza a correção de erros. Quando é detectado um erro em um frame, descarta-se e repete-se a transmissão.
 
CONCLUSÃO
 
Vimos neste artigo um breve detalhamento dos serviços de transmissão e os tipos de frames dos protocolos Profibus-DP e Profibus-PA.

O protocolo PROFIBUS oferece toda a flexibilidade e autonomia que o usuário necessita para automatizar e otimizar processos, com facilidade de instalação, operação, manutenção e diagnósticos de variáveis que sejam importantes para o correto funcionamento da planta.

Este artigo não substitui os padrões IEC 61158 e IEC 61784, nem os perfis e guias técnicos do PROFIBUS. Em caso de discrepância ou dúvida, os padrões IEC 61158 e IEC 61784, perfis, guias técnicos e manuais de fabricantes prevalecem. O conteúdo deste artigo foi elaborado cuidadosamente. Entretanto, erros não podem ser excluídos e assim nenhuma responsabilidade poderá ser atribuída ao autor. Sugestões de melhorias podem ser enviadas ao e-mail cesar.cassiolato@vivaceinstruments.com.br.

Sobre o autor
 
César Cassiolato é Presidente e Diretor de Qualidade da Vivace Process Instruments. É também Conselheiro Administrativo da Associação PROFIBUS Brasil América Latina desde 2011, onde foi Presidente de 2006 a 2010, Diretor Técnico do Centro de Competência e Treinamento em PROFIBUS, Diretor do FDT Group no Brasil e Engenheiro Certificado na Tecnologia PROFIBUS e Instalações PROFIBUS pela Universidade de Manchester

Referências
  • Manuais Vivace ProcessInstruments
  • Artigos Técnicos César Cassiolato
  • www.vivaceinstruments.com.br
  • Material de treinamento e artigos técnicos PROFIBUS - César Cassiolato
  • Especificações técnicas PROFIBUS
  • www.profibus.com