sábado, 9 de abril de 2011

Programação PLC

Depois de concluído o quadro eléctrico, iniciou-se a programação do PLC.

O programa está dividido em 4 partes essenciais:
  • comunicação com o PC
  • monitorização do estado do veículo
  • actuação dos diversos módulos
  • rotinas de Emergência
Comunicação com o PC
A comunicação com o PC é feita por TCP/IP utilizando funções disponibilizadas pelo software de programação do PLC.
Numa primeira fase a comunicação enviava ordens individuais para cada sistema do carro e tinha uma frequência de 6Hz . Esta velocidade verificou-se demasiado baixa para fazer o controlo e monitorização do veículo, pois para obter o estado de todo o veículo seria necessário enviar 21 mensagens diferentes o que demoraria cerca de 3,5 segundos. Foi necessário então repesar todo o programa e protocolo de comunicação para tentar aumentar a velocidade de transferência de dados.
A primeira alteração realizada foi no protocolo de comunicação, as mensagens enviadas e recebidas deixaram de ser individuais para passar a ser uma mensagem única que define todo o estado do carro.
Com esta mensagem foi possível receber e enviar todo o estado do veículo com a frequência de 6Hz.

Numa segunda fase realizou-se uma optimização do código, dividindo o programa em funções e distribuindo-o apenas num Organization Block (programa principal). Com esta metodologia foi possível obter mais 2Hz na comunicação.

Numa terceira fase alterou-se a descodificação de mensagens passando a assumir-se que os campos se encontram sempre nas mesmas posições e assim retirar apenas a parte da mensagem relativa aos valores. Com esta alteração obteve-se mais 2Hz na frequência de comunicação.

Por fim o envio de valores para os actuadores foi alterado de forma a que esta parte do código apenas seja executada quando existem novos valores. Obteve-se com este procedimento mais 0.5Hz.

Com todas estas alterações a frequência de comunicação melhorou consideravelmente (10,5 Hz), no entanto é necessário optimizar mais o código de modo a poder ser feito um controlo refinado do veículo.

Monitorização do veículo
No que diz respeito à monitorização de veículo o facto que merece mais destaque é a contagem das rpm's do motor. Foi utilizado numa primeira fase o frequencímetro do PLC, no entanto este revelou alguns problemas (devido às baixas frequências que se verificam no sinal) e por isso decidiu-se utilizar a contagem de pulsos e a divisão pelo tempo em que estes são contados para conseguir obter as rpm's do motor. Com este procedimento foi possível aumentar a taxa de leitura das rpm's.

Actuação nos diversos módulos
Como já mencionado acima, esta actuação é feita apenas quando chegam novos valores. A actualização dos valores das saídas é feito numa função realizada para o efeito.

Rotina de Emergência
A rotina de emergência realizada nesta fase consiste em actuar nos pedais da embraiagem e travão (enviado valores que os mantenham carregados), deixar de acelerar, e desactivar os restantes sub-sistemas.

Sem comentários:

Enviar um comentário