·
Cursos Gerais ·
Automação Industrial
Send your question to AI and receive an answer instantly
Recommended for you
4
Relatório de Análise de Projetos de Instalação Elétrica
Automação Industrial
UMG
21
Atividade 4 Sistema Automatizado
Automação Industrial
UMG
3
Elaborar Programas para Funcionamento com Microcontrolador Simulando
Automação Industrial
UMG
1
Atividade Sistema de Cruzamento
Automação Industrial
UMG
1
Usinalins
Automação Industrial
UMG
86
Projeto de Automação Industrial - Manual de Atividades Práticas - Instituto Monitor
Automação Industrial
UMG
1
Prova Discursiva Automação Industrial 2018
Automação Industrial
UMG
1
CADSimu - Projetos de Partida de Motores Eletricos Estrela Triangulo Chave Compensadora Serie Paralela e Direta
Automação Industrial
UMG
10
Atividade Automação
Automação Industrial
UMG
11
Apostila Clp Pdf 2_2020
Automação Industrial
UMG
Preview text
Automação em Tempo Real Trabalho Final UNIVERSIDADE FEDERAL DE MINAS GERAIS Júlia de Backer Pacífico 2019021476 Junho de 2022 I INTRODUÇÃO O presente trabalho propõe uma situação de controle clássica ilustrada pela Figura 1 em que um tanque cuja área de secção transversal varia com a altura é preenchido por um líquido Figura 1 Processo industrial simulado Nesse processo o nível do tanque ht é fornecido por um transmissor de nível LT Por outro lado a entrada de líquido no tanque qint é governada por meio de um atuador que por sua vez é regulado por um controlador de nível LC Em contrapartida a saída do tanque é expressa por qoutt Cvh 1 em que Cv coeficiente de descarga da saída do tanque Portanto a dinâmica não linear do tanque segue a equação 2 mostrada abaixo ht CvhtπR0 αht2 utπR0 αht2 2 onde ut qint e α R1R0 H Dessa forma foi projetado um sistema de tempo real que simula a situação exposta acima em um programa em Python Para isso foi estabelecido uma comunicação por protocolo tcpip entre dois programas seguindo a arquitetura clienteservidor um deles simula a planta de controle o cliente e o outro representa um painel sinóptico o servidor O programa cliente plantpy possui três threads uma para simulação da dinâmica do tanque outra para a simulação de um controlador PID e ainda uma última para a coordenação do período de simulação de cada uma das demais threads 50ms para a thread da dinâmica tanque e 25ms para a thread de controle Já o programa servidor synopticpy ao se conectar com o cliente requisita um valor de entrada como referência à altura que se deseja manter no tanque cônico pelo método de controle Aferido um valor desejado para a altura h o sistema de controle é iniciado no programa cliente Durante a simulação de tempo limitado neste trabalho imposta para 15 segundos de duração o programa cliente envia os valores das vazões de entrada e saída para o processo sinóptico junto da altura h atual II SIMULAÇÃO DA PLANTA DE CONTROLE II1 Modelagem do tanque cônico Com base na representação de diagrama de blocos podese representar a dinâmica do tanque por um subsistema em malha aberta cuja entrada e saída sejam dadas respectivamente pelas vazões qin e qout Dessa forma a função de transferência para o bloco da Figura 2 se torna a própria função ht exposta na Equação 2 Figura 2 Dinâmica do tanque Assim o processo em malha aberta pode ser representado pelo diagrama de blocos da Figura 3 Automação em Tempo Real Trabalho Final Turma TN Figura 3 Processo sem o sistema de controle Dessa forma notase que o processo aborda um sistema dinâmico nãolinear de 4ª ordem Por essa razão para simular a dinâmica do tanque neste trabalho utilizouse do método RungeKutta de 4ª ordem para solução da equação diferencial da dinâmica do tanque Equação 2 Os parâmetros do tanque modelado se encontram na tabela abaixo Parâmetro Valor Cv 075 H 10 m R0 1 m R1 2 m Assim a processthread criada no programa cliente é encarregada por simular a dinâmica do tanque conforme as equações descritas Dessa forma ao acessar sua seção crítca ela retorna novos valores para a altura relativa h do tanque e para a vazão de saída qout ambos em função da vazão de entrada qin manipulada pela softPLCthread II2 Sistema de controle e comunicação via socket Para controle da planta representada pelo tanque cônico o controlador projetato consiste em um simples PID Sua implementação se deu pela biblioteca simplePIDe seus parâmetros foram definidos por aproximação segundo o método de Tustin Figura 4 Simulação do controlador com referência h 3m Portanto ao entrar em sua seção críticaa softPLCthread retorna um novo valor para a vazão de entrada qin a partir da altura relativa h do tanque regida pela processthread Além disso logo que iniciada a execução do programa cliente a softPLCthread também é responsável por so licitar comunicação via socket com o programa servidor Estabelecida a comunicação entre processos ela então re cebe um valor de referência desejado para a altura h e o processo de controle é iniciado II3 Implementação da planta de controle em tempo real No programa cliente que representa a planta de controle do processo em questão apenas uma thread por vez pode alterar as variáveis globais h qin e qout Por essa razão o acesso simultâneo a qualquer uma delas é protegido por um mutex Dessa forma ilustrando um problema de ca racterística consumidor x produtor a softPLCthread só executa sua seção crítica quando a processthread não tiver a posse do mutex e viceversa Além disso para definir o tempo de execução de ambas as threads foi implementado um sistema de eventos no programa cliente Dessa forma um evento foi configurado para ser habilitado conforme o período de simulação de cada thread portanto o evento responsável por habilitar a softPLCthread é ativado a cada 25ms já o evento que habilita a processthread a cada 50ms A alternância entre os eventos é executada por uma ter ceira thread a timersthread cujo efeito prático é apenas garantir o período de execução das demais III Simulação do sistema supervisório O programa servidor deve ser o primeiro iniciado na simu lação proposta neste trabalho Logo que em execução ele abre um socket para um servidor de endereço e porta fixos conhecidos pelo cliente instanciado na planta de controle e se comunica por protocolo IPv4 Reconhecida a conexão do programa cliente o synopticprocess também responsável por instanciar o servidor requisita do operador do sinóptico um valor href desejado para a altura de controle Após verificar que o valor de referência não ultrapassa a altura máxima H 10m do tanque o sinóptico envia href à planta de con trole pelo socket e aguarda o recebimento das informações esperadas da planta de controle Enquanto a simulação deste sistema em tempo real esti ver em curso o socket é mantido aberto e o processo sinóp 2 Automação em Tempo Real Trabalho Final Turma TN tico imprime os valores recebidos Paralelamente ele tam bém verifica a existência de um arquivo historiadortxtno diretório de execução do programa Caso não exista o processo cria um novo arquivo de mesmo nome do contrá rio ele apenas abre o arquivo preexistente e concatena as informações advindas da planta de controle O processo mantém sua execução até que a comunica ção seja encerrada pelo programa cliente o que acontece decorridos os 15 segundos predefinidos como tempo total desta simulação O valor para este tempo pode ser alterado em código e em nada influência quaisquer dos processos executados IV Resultados e Conclusões Os resultados obtidos em testes para diversos valores de entrada foram satisfatórios Conforme ilustrado na Figura 4 o controlador implementado segue corretamente a refe rência imposta e portanto o valor final da altura relativa condiz com o desejado Adiante a Figura 5 mostra a interface dos programas cliente e servidor que simulam respectivamente a planta de controle e o sistema supervisório Figura 5 Saída no prompt de comando Concluise portanto que a linguagem Python é eficaz na simulação de sistemas em tempo real uma vez que dispõe de diversas ferramentas que viabilizam o uso de diretivas do sistema operacional no controle de variáveis compartilhadas O valor final para a altura relativa ainda que não seja exatamente igual ao fornecido como referência também é considerado satisfatório uma vez que o erro de aproximação se dá na ordem de casas decimais V Fontes V1 RungeKutta methods for ODE integra tion in Python githubcomNaereennotebooks V2 Implementing PID Controllers in Python pubdevpackagessimplepid 3
Send your question to AI and receive an answer instantly
Recommended for you
4
Relatório de Análise de Projetos de Instalação Elétrica
Automação Industrial
UMG
21
Atividade 4 Sistema Automatizado
Automação Industrial
UMG
3
Elaborar Programas para Funcionamento com Microcontrolador Simulando
Automação Industrial
UMG
1
Atividade Sistema de Cruzamento
Automação Industrial
UMG
1
Usinalins
Automação Industrial
UMG
86
Projeto de Automação Industrial - Manual de Atividades Práticas - Instituto Monitor
Automação Industrial
UMG
1
Prova Discursiva Automação Industrial 2018
Automação Industrial
UMG
1
CADSimu - Projetos de Partida de Motores Eletricos Estrela Triangulo Chave Compensadora Serie Paralela e Direta
Automação Industrial
UMG
10
Atividade Automação
Automação Industrial
UMG
11
Apostila Clp Pdf 2_2020
Automação Industrial
UMG
Preview text
Automação em Tempo Real Trabalho Final UNIVERSIDADE FEDERAL DE MINAS GERAIS Júlia de Backer Pacífico 2019021476 Junho de 2022 I INTRODUÇÃO O presente trabalho propõe uma situação de controle clássica ilustrada pela Figura 1 em que um tanque cuja área de secção transversal varia com a altura é preenchido por um líquido Figura 1 Processo industrial simulado Nesse processo o nível do tanque ht é fornecido por um transmissor de nível LT Por outro lado a entrada de líquido no tanque qint é governada por meio de um atuador que por sua vez é regulado por um controlador de nível LC Em contrapartida a saída do tanque é expressa por qoutt Cvh 1 em que Cv coeficiente de descarga da saída do tanque Portanto a dinâmica não linear do tanque segue a equação 2 mostrada abaixo ht CvhtπR0 αht2 utπR0 αht2 2 onde ut qint e α R1R0 H Dessa forma foi projetado um sistema de tempo real que simula a situação exposta acima em um programa em Python Para isso foi estabelecido uma comunicação por protocolo tcpip entre dois programas seguindo a arquitetura clienteservidor um deles simula a planta de controle o cliente e o outro representa um painel sinóptico o servidor O programa cliente plantpy possui três threads uma para simulação da dinâmica do tanque outra para a simulação de um controlador PID e ainda uma última para a coordenação do período de simulação de cada uma das demais threads 50ms para a thread da dinâmica tanque e 25ms para a thread de controle Já o programa servidor synopticpy ao se conectar com o cliente requisita um valor de entrada como referência à altura que se deseja manter no tanque cônico pelo método de controle Aferido um valor desejado para a altura h o sistema de controle é iniciado no programa cliente Durante a simulação de tempo limitado neste trabalho imposta para 15 segundos de duração o programa cliente envia os valores das vazões de entrada e saída para o processo sinóptico junto da altura h atual II SIMULAÇÃO DA PLANTA DE CONTROLE II1 Modelagem do tanque cônico Com base na representação de diagrama de blocos podese representar a dinâmica do tanque por um subsistema em malha aberta cuja entrada e saída sejam dadas respectivamente pelas vazões qin e qout Dessa forma a função de transferência para o bloco da Figura 2 se torna a própria função ht exposta na Equação 2 Figura 2 Dinâmica do tanque Assim o processo em malha aberta pode ser representado pelo diagrama de blocos da Figura 3 Automação em Tempo Real Trabalho Final Turma TN Figura 3 Processo sem o sistema de controle Dessa forma notase que o processo aborda um sistema dinâmico nãolinear de 4ª ordem Por essa razão para simular a dinâmica do tanque neste trabalho utilizouse do método RungeKutta de 4ª ordem para solução da equação diferencial da dinâmica do tanque Equação 2 Os parâmetros do tanque modelado se encontram na tabela abaixo Parâmetro Valor Cv 075 H 10 m R0 1 m R1 2 m Assim a processthread criada no programa cliente é encarregada por simular a dinâmica do tanque conforme as equações descritas Dessa forma ao acessar sua seção crítca ela retorna novos valores para a altura relativa h do tanque e para a vazão de saída qout ambos em função da vazão de entrada qin manipulada pela softPLCthread II2 Sistema de controle e comunicação via socket Para controle da planta representada pelo tanque cônico o controlador projetato consiste em um simples PID Sua implementação se deu pela biblioteca simplePIDe seus parâmetros foram definidos por aproximação segundo o método de Tustin Figura 4 Simulação do controlador com referência h 3m Portanto ao entrar em sua seção críticaa softPLCthread retorna um novo valor para a vazão de entrada qin a partir da altura relativa h do tanque regida pela processthread Além disso logo que iniciada a execução do programa cliente a softPLCthread também é responsável por so licitar comunicação via socket com o programa servidor Estabelecida a comunicação entre processos ela então re cebe um valor de referência desejado para a altura h e o processo de controle é iniciado II3 Implementação da planta de controle em tempo real No programa cliente que representa a planta de controle do processo em questão apenas uma thread por vez pode alterar as variáveis globais h qin e qout Por essa razão o acesso simultâneo a qualquer uma delas é protegido por um mutex Dessa forma ilustrando um problema de ca racterística consumidor x produtor a softPLCthread só executa sua seção crítica quando a processthread não tiver a posse do mutex e viceversa Além disso para definir o tempo de execução de ambas as threads foi implementado um sistema de eventos no programa cliente Dessa forma um evento foi configurado para ser habilitado conforme o período de simulação de cada thread portanto o evento responsável por habilitar a softPLCthread é ativado a cada 25ms já o evento que habilita a processthread a cada 50ms A alternância entre os eventos é executada por uma ter ceira thread a timersthread cujo efeito prático é apenas garantir o período de execução das demais III Simulação do sistema supervisório O programa servidor deve ser o primeiro iniciado na simu lação proposta neste trabalho Logo que em execução ele abre um socket para um servidor de endereço e porta fixos conhecidos pelo cliente instanciado na planta de controle e se comunica por protocolo IPv4 Reconhecida a conexão do programa cliente o synopticprocess também responsável por instanciar o servidor requisita do operador do sinóptico um valor href desejado para a altura de controle Após verificar que o valor de referência não ultrapassa a altura máxima H 10m do tanque o sinóptico envia href à planta de con trole pelo socket e aguarda o recebimento das informações esperadas da planta de controle Enquanto a simulação deste sistema em tempo real esti ver em curso o socket é mantido aberto e o processo sinóp 2 Automação em Tempo Real Trabalho Final Turma TN tico imprime os valores recebidos Paralelamente ele tam bém verifica a existência de um arquivo historiadortxtno diretório de execução do programa Caso não exista o processo cria um novo arquivo de mesmo nome do contrá rio ele apenas abre o arquivo preexistente e concatena as informações advindas da planta de controle O processo mantém sua execução até que a comunica ção seja encerrada pelo programa cliente o que acontece decorridos os 15 segundos predefinidos como tempo total desta simulação O valor para este tempo pode ser alterado em código e em nada influência quaisquer dos processos executados IV Resultados e Conclusões Os resultados obtidos em testes para diversos valores de entrada foram satisfatórios Conforme ilustrado na Figura 4 o controlador implementado segue corretamente a refe rência imposta e portanto o valor final da altura relativa condiz com o desejado Adiante a Figura 5 mostra a interface dos programas cliente e servidor que simulam respectivamente a planta de controle e o sistema supervisório Figura 5 Saída no prompt de comando Concluise portanto que a linguagem Python é eficaz na simulação de sistemas em tempo real uma vez que dispõe de diversas ferramentas que viabilizam o uso de diretivas do sistema operacional no controle de variáveis compartilhadas O valor final para a altura relativa ainda que não seja exatamente igual ao fornecido como referência também é considerado satisfatório uma vez que o erro de aproximação se dá na ordem de casas decimais V Fontes V1 RungeKutta methods for ODE integra tion in Python githubcomNaereennotebooks V2 Implementing PID Controllers in Python pubdevpackagessimplepid 3