PROFIBUS: Estrutura de Frames

 

Introdução

Procedimentos de transmissão 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 recebe o token, dominará a comunicação por um determinado tempo) e pela transmissão de dados sem confirmação, necessária para mensagens broadcast. Em ambos 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 e 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 slave), caso contrário, a requisição é 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, sendo:

  • 9.6kbits/s a 1.5Mbits/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 dele. Nos ciclos subseqüentes, se o mestre consegue sucesso, ele realiza a seqüência do startup novamente(4 ciclos para trocar dados novamente).

Estrutura dos frames PROFIBUS

Inicialmente veremos como é formado um caracter UART no PROFIBUS.

Cada frame  consiste de um número de caracteres, os chamdos caracteres UART. O caracter UART (UC) é um caracter  start-stop  para transmissão assíncrona, consistindo de 11 bits: um  start bit, que é sempre “0”, 8 bits de informação , que pode ser “0” o u “1”, um bit de paridade, que pode ser “0” ou “1” e u m  stop  bit, que é sempre “1”, conforme a Figura 1.

Start Bit

D0

D1

D2

D3

D4

D5

D6

D7

Paridade

Stop Bit

“0”

0

1

2

3

4

5

6

7

even

“1”

LSB

MSB

Figura 1 – Caracter UART PROFIBUS

Estrutura dos Frames

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 ter 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 outras 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 enviou o frame, se o frame é de pedido, resposta ou confirmação e a natureza das informações que contém.
  • FCS: byte de checagem (Frame Check Sequence)
  • LE: byte de comprimento (Octet Length), 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 (End Delimiter), 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

Destination Address– Para onde a mensagem vai.

SA

1 byte

Source Address – De onde a mensagem veio. 

FC

1 byte

Function Code (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 (COM port do receiver).  A estação de destino utilize este campo para determiner qual service a executar.

SSAP

1 byte

Source Service Access Point (COM port do sender).

DU

1 a 32 bytes (ou 1-244 bytes)

Data Units/ de 1 a 244 bytes.

FCS

1 byte

Byte de checagem (Frame Check Sequence)

ED

1 byte

End Delimiter (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

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, o 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.


Figura 2 – Sequência na troca de frames entre o Mestre PROFIBUS DP e o Slave


Figura 3: Sistema PROFIBUS

Conclusão

Vimos neste artigo detalhes dos formatos dos frames PROFIBUS.

Este artigo não substitui os padrões IEC 61158 e IEC 61784 e 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. Sempre que possível, consulte a EN50170 para as regulamentações físicas, assim como as práticas de segurança de cada área.

A SMAR possui um ampla equipe especializada em projetos, certificações de redes e instalações em PROFIBUS. Para mais detalhes, acesse o canal direto de comunicação com os engenheiros especialistas em instalações e tecnologia PROFIBUS e AS-i da SMAR:https://www.smar.com.br/pt/assistencia-tecnica
Consulte a solução completa SMAR PROFIBUS: https://www.smar.com.br/pt/artigos-tecnicos-profibus
https://www.smar.com.br/pt/system302


Autor

  • César Cassiolato

Referências:

  • Manuais SMAR PROFIBUS
  • https://www.smar.com.br/pt
  • Especificações técnicas e Guias de Instalações PROFIBUS.
  • Material de Treinamento e artigos técnicos PROFIBUS - César Cassiolato
  • PROFIBUS Specification – Normative Parts – Part 4 – Data Link Layer Protocol Specification.

Links Relacionados: