• Nenhum resultado encontrado

Protocolo de Comunicação

No documento Programação de transportadores industriais (páginas 101-121)

(a) Par Recetor e Emissor (b) Embalagem a Obstruir a Fotocélula

Figura 4.14: Fotocélulas E3Z-T86A da Omron

considerada. Contudo esta parte é essencial para o bom funcionamento e longevidade dos equi- pamentos da linha, por isso é de prever que em projetos finais a parte da lubrificação seja sempre incluída.

4.3

Protocolo de Comunicação

Apesar de a escolha do capítulo anterior ter recaído sobre a Industrial Ethernet o protocolo de comunicação a utilizar na linha de testes é o MODBUS. Este é um requisito por parte da empresa, como a ligação existente na linha era para MODBUS, incluindo as cartas de comunicação disponí- veis, a comunicação entre o autómato e os variadores de frequência deve ser feita em MODBUS. Este requisito não muda em nada os objetivos do trabalho, uma vez que o ponto fundamental do mesmo é o algoritmo de controlo e não o protocolo a utilizar.

Uma vez conhecido o protocolo a utilizar foi necessário estudar o manual do variador de frequência e da carta MODBUS para perceber o tipo e o formato das tramas suportadas. Após uma breve leitura percebe-se que ambos os dispositivos permitem a comunicação usando MOD- BUS RTU. Assim este vai ser o protocolo a utilizar para a comunicação entre o autómato (utili- zando a carta MODBUS) e os variadores de frequência. De seguida encontra-se uma descrição pormenorizada sobre o formato das tramas de leitura e de escrita utilizadas no MODBUS RTU.

4.3.1 MODBUS RTU

No que diz respeito à codificação de dados o MODBUS RTU utiliza uma representação big- endianpara endereços e itens de dados (exceto para o CRC, que tem representação little-endian). Isto significa que quando uma quantidade numérica maior do que um único byte é transmitida, o bytemais significativo é enviado primeiro [36]. Assim por exemplo:

• Em 32 bits 0x12345678 passa a 0x12, 0x34, 0x56 e 0x78

MSB, de Most Significant Byte, é a posição com o valor mais elevado de um byte num número binário. O MSB é por vezes referido como o byte mais à esquerda. Por outro lado o LSB, Least Significant Byte, é o oposto, normalmente referido como o byte mais à direita. Por exemplo o número decimal 23 702 tem como correspondente em binário o número 0101 1100 1001 0110. Este número pode ser dividido em dois bytes, o mais à esquerda 0101 1100 – MSB, e o mais à direita 1001 0110 – o LSB (Figura4.15).

Figura 4.15: Representação do MSB e LSB

CRC, do inglês Cyclic Redundancy Check, ou verificação de redundância cíclica é um código detetor de erros. É um tipo de função hash que gera um valor expresso em poucos bits em função de um bloco maior de dados por forma a detetar erros de transmissão ou armazenamento. O CRC é calculado e anexado à informação a transmitir e verificada após a receção, para confirmar se não ocorreram alterações. O CRC é popular por ser simples de implementar em hardware binário, simples de ser analisado matematicamente, e pela eficiência em detetar erros típicos causados por ruído em canais de transmissão [39].

A configuração dos parâmetros de comunicação é feita através dos botões presentes no varia- dor de frequência, ou então através do software CTSoft, modificando o valor do parâmetro 43 do variador (para a velocidade de transmissão) e o parâmetro 44 (para o número do escravo). A ve- locidade de transmissão utilizada para cada canal de comunicação é de 38.4 Kbps. A transmissão de dados é efetuada sem paridade dos bits.

Na linha de testes como existem apenas três motores estes encontram-se todos ligados no canal 1 no modo Multi-Drive. Os variadores foram configurados com endereços sequenciais, entre 1 e 3.

Para a comunicação entre o autómato e os variadores de velocidade são utilizadas duas funções distintas:

• 03 Read Holding Registers — função de leitura, permite ler um conjunto de registos; • 16 Write Multiple Registers — função de escrita, permite escrever um conjunto de registos. A utilização apenas destes dois tipos de funções é justificada mais à frente neste documento. De acordo com o manual da carta de comunicação MODBUS [40] e com o manual do variador de frequência [36] ambos suportam estas duas funções, e são apresentados de seguida os formatos das mensagens a utilizar.

4.3 Protocolo de Comunicação 79

4.3.1.1 03 Read Holding Registers

As tramas MODBUS enviadas pelo Mestre devem seguir o esquema da Tabela4.6, enquanto a resposta do escravo deve seguir o formato da Tabela4.7.

Como se trata de uma função de leitura é preciso indicar o endereço a partir do qual se inicia a leitura e o número de registos a ler.

Tabela 4.6: Função 03 - Pergunta do Mestre Byte Descrição

0 Endereço do escravo de destino 1 Código da função – 0x03

2 MSB do início do endereço do registo 3 LSB do início do endereço do registo 4 MSB do número de registos a ler 5 LSB do número de registos a ler 6 LSB do CRC

7 MSB do CRC

Feita a pergunta do Mestre o escravo responde utilizando o formato de mensagem presente na Tabela4.7. Esta resposta contém o endereço do escravo e o código da função, úteis para verificação de erros e para distinguir as respostas dos vários escravos no caso de se utilizar polling. A resposta contém também o número de bytes lidos e o valor presente nesses registos.

Tabela 4.7: Função 03 - Resposta do Escravo

Byte Descrição

0 Endereço do escravo de Origem 1 Código da função – 0x03 2 Número de bytes lidos

3 MSB do registo 0

4 LSB do registo 0

5 MSB do registo 1

6 LSB do registo 1

. . . .

3 + Número de bytes lidos LSB do CRC 4 + Número de bytes lidos MSB do CRC

Na Tabela4.7são apresentados apenas dois registos, no entanto, o número de registos depende do valor indicado da pergunta do mestre. Cada registo é sempre representado por dois bytes, indicados primeiro pelo seu MSB e depois pelo LSB.

4.3.1.2 16 Write Multiple Registers

Esta função de forma análoga à anterior envia o endereço do escravo para o qual a mensagem se destina e o código da função correspondente, neste caso o número 16 (em hexadecimal 0x10). É

também adicionada à mensagem o endereço de início da escrita de registos, o número de registos a escrever e o valor a escrever nesses registos. Na Tabela4.8encontra-se o resumo desta informação.

Tabela 4.8: Função 16 - Pergunta do Mestre Byte Descrição

0 Endereço do escravo de destino 1 Código da função – 0x10

2 MSB do início do endereço do registo 3 LSB do início do endereço do registo 4 MSB do número de registos a escrever 5 LSB do número de registos a escrever 6 Número de bytes a escrever no registo 7 MSB do registo 0 8 LSB do registo 0 9 MSB do registo 1 10 LSB do registo 1 . . . . 7 + Número de bytes LSB do CRC 8 + Número de bytes MSB do CRC

Tal como na tabela anterior, é feita referência somente a dois registos.

A mensagem de resposta do escravo além do seu endereço e do número do código da fun- ção, contém também o número de registos escritos e o endereço a partir do qual foram escritos (Tabela4.9).

Tabela 4.9: Função 16 - Resposta do Escravo Byte Descrição

0 Endereço do escravo de Origem 1 Código da função – 0x10

2 MSB do início do endereço do registo 3 LSB do início do endereço do registo 4 MSB do número de registos escritos 5 LSB do número de registos escritos 6 LSB do CRC

7 MSB do CRC

Todas as mensagens possuem no fim um código designado CRC, que serve exclusivamente para verificar se a mensagem enviada corresponde à recebida, isto é, serve para verificar a existên- cia de erros de transmissão.

4.3.1.3 Mensagens Explícitas

A carta de comunicação MODBUS utilizada permite uma configuração das tramas MODBUS bastante simplificada. No manual da carta MODBUS [40] estas designam-se por Mensagens Ex- plícitas. Na Tabela4.10pode-se observar o formato duma Mensagem Explícita do Mestre. Aqui

4.4 Algoritmo de Controlo 81

os bytes são substituídos por Words, uma vantagem desta alteração é não ser preciso fazer a divisão entre MSB e LSB dos bytes.

Tabela 4.10: Formato Mensagem de Comando

Word Nome Descrição

1 RTU Slave Address Endereço do escravo 2 Function Code Código da função

3 Starting Address Início do Endereço de registo 4 Number of words Número de registos

5+ Data Words Registos para escrever

. . . .

Os registos para escrever, ou Data Words, apenas são necessários caso se trate de uma mensa- gem de escrita. No caso de uma mensagem de leitura esta linha deve ser ignorada.

Na Tabela4.11pode-se ver a resposta típica de uma função de leitura, é de notar que as funções de escrita não têm qualquer resposta.

Tabela 4.11: Formato Mensagem de Resposta Word Nome Descrição

1+ Data Words Registos lidos . . . .

A configuração destas Mensagens Explicitas é realizada com recurso ao software RSLogix 5000 utilizando uma função designada por Message. A configuração deste bloco é explicada no capítulo seguinte.

4.4

Algoritmo de Controlo

O principal objetivo deste algoritmo é o de assegurar o transporte das embalagens, mantendo elevadas cadências de transporte.

A deteção de acumulações é feita por meio de células fotoelétricas. O autómato recebe es- tas informações e, em função do grau de acumulação existente, gere o arranque e paragem dos transportadores através de conversores de frequência.

Como se pode observar na Figura4.1cada troço do transportador é constituído por um motor, responsável pelo movimento do transportador, e por duas fotocélulas, responsáveis pela deteção da passagem de embalagens. Uma vez que a informação recebida destas duas fotocélulas é limitada optou-se por utilizar três fotocélulas por linha. Desta forma é possível conjugar a informação das três fotocélulas para tomar a melhor decisão. Assim foram definidas três fotocélulas: fotocélula de entrada, fotocélula de acumulação e fotocélula de saída, designadas por FTC1, FTC2 e FTC3 respetivamente (ver Figura4.16a).

A instalação de um sensor adicional em cada troço do transportador iria ser um processo bas- tante moroso, uma vez que era necessário fazer um novo projeto para a linha de testes e adicionar

as fotocélulas e os respetivos cabos para alimentação e comunicação. Pelo que era de evitar esta via. A solução encontrada foi utilizar a última fotocélula do troço anterior como fotocélula de en- trada do troço atual. Desta forma para cada troço do transportador é sempre utilizada a informação das duas fotocélulas do mesmo troço juntamente com a informação da fotocélula do troço anterior. Na Figura 4.16b pode observar-se a disposição das três fotocélulas relativas ao troço 2 da linha de testes. O sensor B02.1 é a fotocélula de acumulação e o sensor B02.2 é o sensor de saída. Por sua vez o sensor B01.2, do troço número 1 da linha de testes, é utilizado como fotocélula de entrada.

É de referir que em todas as figuras deste capítulo, que representem o esquema de funciona- mento da linha de transportadores, o movimento considerado é sempre da esquerda para a direita.

(a) Disposição Genérica das 3 Fotocélulas

(b) Disposição das Fotocélulas no Troço Número 2 da Linha de Testes

Figura 4.16: Disposição das Fotocélulas Utilizada no Algoritmo

Feita a introdução ao algoritmo de seguida apresenta-se o princípio de funcionamento, bem como todos os pressupostos considerados para a elaboração do mesmo.

4.4.1 Princípio de Funcionamento

A primeira ideia para o algoritmo foi a de efetuar um controlo independente para cada troço da linha. No entanto cada motor devia ter informação sobre as velocidades dos outros motores, para assim poder ajustar melhor a sua velocidade. Este pressuposto foi o ponto de partida para a criação do algoritmo.

As figuras seguintes representam um esquema de um troço de uma linha de transportadores, onde a posição das três fotocélulas é a mesma utilizada na Figura4.16a.

Foram definidas 4 velocidades distintas: • Vmax: velocidade máxima do motor;

4.4 Algoritmo de Controlo 83

• Vmin: velocidade mínima;

• Vmed: velocidade média, dada por Vmax+V2 min;

• Vint: velocidade intermédia, dada por Vmed+V2 min.

Estas velocidades irão ser utilizadas nos estados de funcionamento da linha, pelo que se optou por referi-las neste ponto.

A informação obtida pelas 3 fotocélulas permite estabelecer sete estados possíveis de funcio- namento, os quais são apresentados de seguida:

4.4.1.1 Funcionamento normal

O funcionamento normal é o estado de funcionamento em que não existe acumulação em nenhuma das fotocélulas. Na Figura4.17encontra-se um esquema deste estado de funcionamento, onde se pode ver que nenhuma das fotocélulas se encontra com acumulação.

Figura 4.17: Funcionamento Normal

Enquanto está em funcionamento normal a velocidade da linha vai aumentando de acordo com as embalagens que passem na FTC1. A velocidade aumenta em 5, 10 ou 15 Hz dependendo do número de embalagens que passem pelo sensor. É utilizada a FTC1 porque é a fotocélula de entrada, garantindo assim que se existirem embalagens na linha estas cheguem o mais rápido possível ao seu destino.

4.4.1.2 Acumulação na FTC3

Caso exista uma acumulação de embalagens na FTC3, como se pode observar na Figura4.18, a velocidade diminui logo para a velocidade média. Caso a velocidade do motor, no momento em que ocorre a acumulação, seja inferior à velocidade média esta fica inalterada ou seja, com acumulação o motor nunca vai aumentar a sua velocidade.

O quadrado a azul pretende representar uma embalagem, e nas figuras seguintes significa que por algum motivo essa embalagem se encontra parada a obstruir o sensor, ou seja, em acumulação. Esta acumulação pode ser causada por avaria ou por falta de escoamento das embalagens a jusante. Caso a acumulação se mantenha na FTC3 a velocidade do motor vai reduzindo à medida que vão passando embalagens pela FTC2, que é a fotocélula anterior à acumulação.

Figura 4.18: Funcionamento com Acumulação na FTC3

4.4.1.3 Acumulação na FTC2

O comportamento do motor quando existe acumulação na FTC 2 é exatamente o mesmo que no estado anterior. A diferença é que como neste caso a fotocélula anterior à acumulação é a FTC1, vai ser esta a originar a redução gradual da velocidade à medida que vão passando embalagens.

Na Figura4.19encontra-se o esquema para este estado de funcionamento, é de referir que neste estado de funcionamento apenas pode existir acumulação na FTC2.

Figura 4.19: Funcionamento com Acumulação na FTC2

Este tipo de acumulação a meio da linha é pouco usual, mas quer por falha mecânica ou por qualquer tipo de intervenção humana é possível de acontecer, daí ter de ser considerado. Esta situação também pode acontecer caso exista acumulação nas FTC2 e FTC3 e no instante a seguir a FTC3 seja desobstruída.

4.4.1.4 Acumulação nas FTC2 e FTC3

Este estado de funcionamento engloba os dois anteriores, havendo assim acumulação em duas fotocélulas em simultâneo. Geralmente esta situação acontece quando a máquina ou linha da frente não consegue processar as embalagens tão rápido quanto a de trás. Na Figura4.20pode-se observar que existe uma acumulação de embalagens entre as FTC3 e FTC2. Quando ocorre uma acumulação deste tipo a velocidade baixa logo para a velocidade intermédia (caso no instante da acumulação seja superior).

Figura 4.20: Funcionamento com Acumulação nas FTC2 e FTC3

Depois à medida que forem passando embalagens da fotocélula anterior à acumulação, neste caso na FTC1, a velocidade reduz de acordo com o número de embalagens a passar.

4.4 Algoritmo de Controlo 85

4.4.1.5 Acumulação nas FTC1, FTC2 e FTC3

O estado aqui representado é o evoluir do estado anterior. A acumulação evoluiu e chegou às três fotocélulas da linha de transportadores. Na Figura4.21é possível observar um esquema deste estado, a linha encontra-se completamente cheia e as três fotocélulas encontram-se em acumula- ção.

Figura 4.21: Funcionamento com Acumulação nas FTC1, FTC2 e FTC3

Neste estado de funcionamento a velocidade passa automaticamente para a velocidade mínima e no instante a seguir caso a acumulação se mantenha o motor para, parando assim também a linha. Esta é uma situação bastante crítica pois a linha encontra-se completamente lotada e não existe possibilidade e escoar as embalagens. Num caso destes é necessária a rápida intervenção de operadores humanos para desobstruírem a linha para retornar ao seu funcionamento normal. 4.4.1.6 Acumulação nas FTC1 e FTC2

O estado que se segue pode ser visto como o estado a seguir do anterior. Depois do motor parar por existir acumulação em todas as fotocélulas vai existir um momento em que a linha foi reposta e a FTC3 foi desimpedida. A Figura4.22representa isso mesmo, ainda existe acumulação nas FTC1 e FTC2 mas a FTC3 já está livre, devendo o motor assim arrancar novamente.

Figura 4.22: Funcionamento com Acumulação nas FTC1 e FTC2

Este arranque dá-se sempre a velocidade mínima, desta forma evita-se o esmagamento das embalagens à frente. Se o motor arrancasse a uma velocidade muito elevada ia haver uma colisão das embalagens levando ao esmagamento das mesma, podendo mesmo originar o rebentamento de algumas embalagens.

4.4.1.7 Acumulação na FTC1

Como a FTC1, fotocélula de entrada do troço atual, é a fotocélula de saída do troço anterior, significa que existe uma acumulação no troço de linha imediatamente antes. Neste caso a velo- cidade baixa para a velocidade intermédia e mantém esta velocidade até o problema anterior ser resolvido.

Na Figura4.23encontra-se o esquema para este estado de funcionamento.

Figura 4.23: Funcionamento com Acumulação na FTC1

O arranque do sistema é feito de forma automática e a paragem ocorre sem a intervenção do operador. Se as células fotoelétricas deixarem de registar a passagem de embalagens durante um período de tempo predefinido o motor respetivo para. A paragem efetua-se após redução de velocidade de acordo com a rampa de desaceleração programada no conversor de frequência.

A velocidade mínima é igual para todos os troços do transportador. No entanto, a velocidade máxima de cada troço depende da velocidade do(s) troço(s) à frente. No caso da linha de testes, onde apenas existem 3 troços, foram estipulados os seguintes pressupostos:

• A velocidade máxima do troço 1 é igual a 150% a velocidade atual no troço 3; • A velocidade máxima do troço 2 é igual a 125% a velocidade atual do troço 3;

• No caso de o troço 3 se encontrar parado a velocidade máxima do troço 1 passa para 125% a velocidade mínima e a velocidade máxima para o troço 2 passa a ser a velocidade mínima. Desta forma garante-se uma dependência entre todos os troços, levando a um melhor ajuste da velocidade.

4.4.2 Fluxograma

Na Figura4.24encontra-se um fluxograma que ilustra o funcionamento do algoritmo desen- volvido.

Na Figura4.25pode observar-se o fluxograma do funcionamento com acumulação. De modo a tornar-se mais legível, as linhas que representam uma resposta do tipo “Não”, aparecem a traço interrompido.

4.4 Algoritmo de Controlo 87

Algoritmo

de

Controlo

4.4 Algoritmo de Controlo 89

4.4.3 Tempos

A acumulação explicitada anteriormente traduz-se num largo período de tempo em que uma embalagem se encontra a obstruir a fotocélula. Ora para sabermos este tempo é necessário utilizar um filtro para as fotocélulas. Este filtro não é mais do que um temporizador, feito a nível do software, apenas ativa a saída quando a fotocélula estiver ativa durante um certo período de tempo. Nesse sentido foram definidos 4 tempos distintos:

• Tempo A – tempo que o sensor permanece ativo, ao passar 1 embalagem; • Tempo B – tempo que o sensor permanece ativo, ao passar 2 ou 3 embalagens; • Tempo C – tempo que o sensor permanece ativo, ao passar 4 ou 5 embalagens; • Tempo D – indica uma grande acumulação.

De modo a calcular estes tempos é necessário saber a velocidade da linha e as dimensões das embalagens a transportar. Neste caso, as embalagens utilizadas, são embalagens de leite normais, e são transportadas em pé e de lado (Figura 4.14b). Assim a face que vai ativar o sensor é a face lateral, que corresponde ao comprimento da embalagem. No entanto, devido ao facto das fotocélulas terem sido montadas na diagonal, o valor a considerar terá de ser o valor da diagonal da embalagem, representada por h na Figura4.26.

Figura 4.26: Cálculo da Diagonal da Embalagem

Sabendo a medida do comprimento (95 mm) e da largura (62 mm), através do Teorema de Pitágoras, pode calcular-se o seu valor pela seguinte expressão:

h = p952+ 622= 113mm (4.6)

Foi referido pela empresa que, alimentando o motor a 50 Hz, a velocidade da linha é de 35 m/min, 0.583 m/s.

Tabela 4.12: Valores Teóricos Frequência Velocidade Tempo

(Hz) (m/min) (m/s) (s) (ms) 20 14 0,233 0,486 486 30 21 0,35 0,324 324 40 28 0,467 0,243 243 50 35 0,583 0,194 194 60 42 0,7 0,162 162 70 49 0,817 0,139 139 80 56 0,933 0,122 122

Na coluna mais à direita, encontra-se o tempo, em ms, que uma embalagem demora a passar pelo sensor.

Para validar, e também testar a veracidade dos valores calculados, foram efetuadas uma série de medições. Com o motor a ser alimentado a uma frequência conhecida fez-se passar embalagens por um sensor, medindo-se assim o tempo em que o sensor ficava ativo. Foram efetuados testes desde 1 embalagem apenas até um grupo de 5 embalagens encostadas. Os resultados encontram-se na Tabela4.13, é de referir que os valores apresentados são a média obtida através da medição de 3 tempos para cada situação.

Tabela 4.13: Tempo Médio Calculado de Acordo com a Velocidade

Velocidade Tempo

1 embalagem 2 embalagens 3 embalagens 4 embalagens 5 embalagens

(Hz) (ms) (ms) (ms) (ms) (ms) 20 448 858 1244 1638 2003 30 298 567 839 1095 1394 40 234 444 634 873 1008 50 183 359 519 713 874 60 158 272 454 554 719 70 126 227 359 502 592 80 108 189 308 394 490

Os valores medidos encontram-se de acordo com os valores esperados, tendo uma diferença média de apenas 7% em relação aos calculados teoricamente.

Depois de uma análise dos valores obtidos conclui-se que a velocidade afetava muito o tempo em que o sensor permanecia ativo. Assim optou-se por diferenciar os Tempos A, B, C e D de acordo com a velocidade do motor. Para tal, definiram-se as seguintes equações para o cálculo dos

No documento Programação de transportadores industriais (páginas 101-121)