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/pt/assistencia-tecnica
Consulte a solução completa SMAR PROFIBUS: https://www.smar.com/pt/artigos-tecnicos-profibus
https://www.smar.com/pt/system302
Referências:
Links Relacionados: