Professional Documents
Culture Documents
CONTROLE PROPORCIONAL
INTEGRAL E DERIVATIVO
UTILIZANDO OS BLOCOS
CONT_C, CONT_S E PULSEGEN
CONTROLE PROPORCIONAL INTEGRAL E DERIVATIVO
1 - RESUMO
Uma das mais ambiciosas aplicações do controle PID que podemos destacar no século
20, é sem dúvida alguma a exploração das naves Voyager nos planetas do sistema solar por
volta dos anos 80. Neste controle foram utilizadas as gravidades dos planetas para economizar
combustível, e assim tomar um impulso para atingir outro planeta. Porém, havia uma
importância muito grande do controle PID, pois para que a nave não colidisse com o planeta,
os motores deveriam ser acionados, de forma a nave desse apenas um ricochete na atmosfera
(tragetória tangente) do planeta.
O controle PID ajudou muito também nos processos industriais mais complexos, onde
se fez necessário um controle em malha fechada. Não se pode negar que é muito difícil um
controle destas malhas sem a ajuda de um equipamento eletrônico ou mesmo um PLC.
Deve-se saber que o controle PID nada mais é do que manter uma variável de
processo (PV) em um valor de referência (SP) desejado, a partir da manipulação da variável
de controle (CV).
2
Vemos no desenho acima um controle para uma malha fechada onde se controla a
temperatura em função de uma variação da tensão entregue a carga resistiva.
O sinal do PT100 (em mV) vai para o Transdutor de temperatura (TT), que por sua
vez manda um sinal de 4 a 20mA (0 a 20mA, 0 a 10V ou 0 a 5V, etc.) para o cartão analógico
de entrada. Por outro lado temos o cartão de saída entregando um sinal de 4 a 20mA para o
driver do banco de resistências, que controla a potência consumida na carga resistiva.
Variável de Processo (PV): Valor da variável que está sendo lida por um sensor.
Variável de Controle (CV): Valor que normalmente é controlado pelo controle PID.
Feedforward ou Bias: são turbulências que ocorrem por efeitos alheios ao processo.
2 - CONTROLE PROPORCIONAL
3
Uma das ações de controle é a proporcional que faz com que tenhamos uma
aproximação rápida da Variável de Processo (em relação ao setpoint), sem sobretudo atingi-
la. Uma das desvantagens deste controle quando aplicado é que ele gera um offset que pode
ser visto com mais detalhes no gráfico a seguir.
3 – CONTROLE INTEGRAL
A ação integral nos permite buscar e alcançar o set point, mas ela causa um transtorno
muito grande que é o overshut (sobresinal). Assim pode-se perder o controle ou causar danos
dependendo da intensidade deste overshut.
4 – CONTROLE DERIVATIVO
4
5 - CONTROLE CONTÍNUO COM SFB41 “CONT_C”
Introdução
SFB 41 " CONT_C " é usado em PLC´s SIMATIC S7 para controle de processos com
entradas contínuas e saídas variáveis. Durante a parametrização, você pode ativar ou desativar
alguns parâmetros do controlador PID para adaptar o controlador ao processo.
Aplicação
Você pode usar o controlador como um PID de setpoint fixo ou como multi-loop com
controles em cascata, misto ou controlador de relação. Os parâmetros do controlador são
baseadas no algoritmo controle PID e na amostragem do sinal analógico, se necessário pode-
se incluir um estágio de gerador de pulsos para modificar a saída dos sinais para dois ou três
passos controlando assim,atuadores proporcionais.
Descrição
Uma parte dos parâmetros de setpoint em paralelo com o variável de processo, o SFB
implementa um controlador de PID completo com manipulação da variável de saída contínua
e a opção de influenciar o valor de saída manualmente.
A seguir, você achará uma descrição detalhada dos parâmetros:
Setpoint
Variável de Processo
A variável de processo pode ser introduzida pela periferia de I/O (saída analógica) ou no
formato de ponto-flutuante. O parâmetro CRP_IN converte o PV_PER valor periférico para
um formato de ponto-flutuante de -100 a +100% de acordo com a seguinte fórmula:
Sinal de erro
A diferença entre o setpoint e a variável de processo é o sinal de erro. Suprimir uma oscilação
constante pequena devido à aproximação da variável manipulada (por exemplo, na modulação
de pulsos com a instrução PULSEGEN), uma Banda morta é aplicada ao sinal de erro
(DEADBAND). Se DEADB_W = 0, a faixa morta é desativada.
Algoritmo do PID
5
individualmente. Isto permite a configuração de controladores P, PI, PD, e PID.
Controladores puramente integrais I ou derivativos D também são possíveis.
Controle manual
Valor manipulado
O valor manipulado pode ser limitado a um valor selecionado que usa a parâmetro de
LMNLIMIT. Bits indicam quando o limite é excedido pela variável de entrada.
A parâmetro de LMN_NORM normaliza a saída de LMNLIMIT de acordo com a seguinte
fórmula:
Controle Feedforward
Inicialização
SFB41 " CONT_C " tem uma rotina de inicialização que é executada quando o parâmetro de
entrada COM_RST é verdadeiro.
Informação de erro
6
7
Parâmetros de Entrada
8
TI TIME >= CYCLE T#20s Tempo da Integral (RESET TIME)
O tempo de Integral especificado para o controle Integral.
TD TIME >= CYCLE T#10s Tempo Derivativo (DERIVATIVE TIME)
O tempo de Integral especificado para o controle Integral.
TM_LAG TIME >= CYCLE/2 T#2s Tempo de atraso da Ação Derivativa
(TIME LAG OF THE DERIVATIVE ACTION)
O algoritmo da ação derivativa inclui o tempo de atraso que é
definido por esta entrada.
DEADB_W REAL >= 0.0 (%) 0.0 Largura da Banda Morta (DEAD BAND WIDTH)
(ou valor 1) A Banda Morta é definida para o valor do erro, permitindo que
se tenha uma margem de ação na ação do controle.
LMN_HLM REAL LMN_LLM..100.0 100.0 Limite Máximo da Variável Manipulada
(%) (ou valor 2) (MANIPULATED VALUE HIGH LIMIT)
O valor da Variável Manipulada é sempre limitado pelo limite
máximo e limite mínimo. O limite máximo define um valor que
não poderá ser ultrapassado, com o risco de danos ao
equipamento, caso isso aconteça.
LMN_LLM REAL -100.0..LMN_HLM 0.0 Limite Mínimo da Variável Manipulada
(%) (ou valor 2) MANIPULATED VALUE LOW LIMIT
O valor da Variável Manipulada é sempre limitado pelo limite
máximo e limite mínimo. O limite mínimo define um valor que
não poderá ser ultrapassado, com o risco de danos ao
equipamento, caso isso aconteça.
PV_FAC REAL 1.0 Fator da Variável de processo
PROCESS VARIABLE FACTOR
Esta entrada equivale a valor que multiplicará a variável de
processo, fazendo assim uma adaptação desta variável à
faixa que está sendo utilizada no programa.
PV_OFF REAL 0.0 Ajuste da Variável de Processo
PROCESS VARIABLE OFFSET
Esta entrada equivale a valor que será adicionado a variável
de processo, fazendo assim uma adaptação desta variável à
faixa que está sendo utilizada no programa.
LMN_FAC REAL 1.0 Fator da Variável Manipulada
MANIPULATED VALUE FACTOR
Esta entrada equivale a valor que multiplicará a variável de
processo, fazendo assim uma adaptação desta variável à
faixa que está sendo utilizada no programa.
LMN_OFF REAL 0.0 Ajuste da Variável Manipulada
MANIPULATED VALUE OFFSET
Esta entrada equivale a valor que será adicionado a variável
de processo, fazendo assim uma adaptação desta variável à
faixa que está sendo utilizada no programa.
I_ITLVAL REAL -100.0 to +100.0 0.0 Valor inicial da Ação Integral
(%)(ou valor 2) INITIALIZATION VALUE OF THE INTEGRAL ACTION
A saída do integrador será configurada com o valor aplicado
quando a entrada I_ITL_ON for acionada.
DISV REAL -100.0 to +100.0 0.0 Variável de Distúrbio
(%)(ou valor 2) DISTURBANCE VARIABLE
Para controle de feedforward (antecipativo) utiliza-se o valor
indicado nesta entrada
9
Parâmetros de Saída
10
6 - CONTROLE DE PASSO COM SFB42 “CONT_S”
Introdução
SFB 42 " CONT_S " é usado em PLC´s SIMATIC S7 para controle de processos em
variáveis de controle manipuladas por controle digital para integração em atuadores. Durante
a parametrização, você pode ativar ou desativar alguns parâmetros do controlador PI para
adaptar o controlador ao processo.
Aplicação
Você pode usar o controlador como um PI de setpoint fixo ou como single-loop em cascata,
misto ou controlador de relação. Os parâmetros do controlador são baseados no algoritmo de
controle PI e na amostragem suplementar do controlador pelas funções, gerando um sinal de
saída binário vindo do sinal analógico do atuador.
Descrição
Uma parte dos parâmetros de setpoint em paralelo com o variável de processo, o SFB
implementa um controlador PI completo com manipulação da variável de saída contínua e
existe a opção de influenciar no valor de saída manualmente.
A seguir, você achará uma descrição detalhada dos parâmetros:
Setpoint
Variável de Processo
A variável de processo pode ser introduzida pela periferia de I/O (saída analógica) ou no
formato de ponto-flutuante. O parâmetro CRP_IN converte o PV_PER valor periférico para
um formato de ponto-flutuante de -100 a +100% de acordo com a seguinte fórmula :
Sinal de erro
A diferença entre o setpoint e a variável de processo é o sinal de erro. Suprimir uma oscilação
constante pequena devido à aproximação da variável manipulada (por exemplo, na modulação
de pulsos com a instrução PULSEGEN), uma Banda morta é aplicada ao sinal de erro
(DEADBAND). Se DEADB_W = 0, a faixa morta é desativada.
Algoritmo do PI
11
em um elemento THREE_ST e um gerador de pulsos (PULSEOUT) que gera os pulsos para
o atuador. A freqüência chaveada do controlador pode ser reduzida para adaptações de
thershold no elemento three-step.
Controle Feedforward
Inicialização
SFB42 " CONT_S " tem uma rotina de inicialização que é executada quando o parâmetro de
entrada COM_RST é verdadeiro. Todas as outras saídas são fixadas nos valores iniciais.
Informação de erro
O parâmetro de saída de erro RET_VAL não é usado.
Parâmetros de Entrada
13
PULSE_TM TIME >=CYCLE T#3s Tempo Mínimo de subida do pulso
(MINIMUM PULSE TIME)
A duração mínima de subida do pulso pode ser endereçada
pela
entrada neste parâmetro.
BREAK_TM TIME >=CYCLE T#3s Tempo Mínimo de descida do pulso
(MINIMUM PULSE TIME)
A duração mínima de descida do pulso pode ser endereçada
pela entrada neste parâmetro.
MTR_TM TIME >=CYCLE T#30s Tempo de atuação do Motor
(MOTOR ACTUATING TIME)
O tempo requerido pelo atuador para funcionar entre uma
parada e outra deve ser introduzida neste parâmetro.
DISV REAL -100.0 to +100.0 0.0 Variável de Distúrbio
(%)(ou valor 2) DISTURBANCE VARIABLE
Para controle de feedforward (antecipativo) utiliza-se o valor
indicado nesta entrada
Parâmetros de Saída
14
6 – GERADOR DE PULSOS COM SFB453 “PULSEGEN”
Introdução
O SFB43 “PULSEGEN” é usado para estruturar o controlador PID para produção de
pulsos para atuadores proporcionais.
Aplicação
Usando SFB43 “PULSEGEN”,dois ou três passos de controlador PID com pulsos de
modulação poderão ser configurados. A função normalmente é usada em conjunção com
o controlador CONT_C contínuo”.
Descrição
A função de PULSEGEN transforma o introduza INV variável (= variável manipulada do
controlador de PID) modulando a duração dos pulsos em um trem de pulsos com um período
constante e corresponde ao tempo de ciclo a qual a variável de entrada é atualizada e que deve
ser endereçada em PER_TM.
A duração de uma pulsação por período é proporcional para a entrada variável INV. O ciclo
endereçado em PER_TM não é idêntico ao ciclo de processo do SFB “PULSEGEN”. O ciclo
de PER_TM é composto de vários ciclos de processo de SFB “PULSEGEN”, por meio do
qual o número de SFB “PULSEGEN” chamado de Ciclo de PER_TM é a medida para a
precisão da duração dos pulsos de modulação.
Se o valor de PER_TM for 30, isto equivale a dizer que em 10 ciclos do PULSEGEN,
teremos:
15
Atualização da Variável Manipulada
Sincronismo Automático
É possível sincronizar a produção de pulsos com o bloco que atualiza o variável de entrada
INV (por exemplo, CONT_C). Isto assegura que uma mudança no variável de entrada é
repassada para a saída com agilidade.
O gerador de pulsos avalia a variável de entrada INV a intervalos correspondentes ao o
período PER_TM e converte o valor em um sinal de pulsos de duração correspondente.
Se, porém, INV é calculado normalmente para um ciclo mais lento, o gerador de pulsos
deverá começar a converter o valor discreto em um sinal de pulsos o mais rápido possível
depois da atualização de INV.
Para permitir isto, o bloco pode sincronizar o começo do período utilizando o seguinte
procedimento:
Se INV muda e se a chamada do bloco não está nos primeiro ou últimos dois ciclos de
chamada de um período, é executada a sincronização. A duração de pulsação é recalculada e
no próximo ciclo a saída terá um período novo (veja Figura).
16
A sincronização automática pode ser desabilitada se a entrada SYN_ON for desligada
(=FALSE).
OBS: Com a inicialização de um novo período, o valor anterior de INV (em outras palavras,
de LMN) é atualizado para um trem de pulsos com maior ou menor freqüência de atualização
definida pela sincronização.
Modos
Inicialização
SFB43 " PULSEGEN " tem uma rotina de inicialização que é executada quando o parâmetro
de entrada COM_RST é verdadeiro. Todas as outras saídas são fixadas nos valores iniciais.
Informação de erro
Parâmetros de Entrada
17
Os parâmetros da tabela a seguir representam as entradas do bloco SFB43 “PULSEGEN”.
18
ao tempo entre as chamadas do bloco.
Parâmetros de Saída
O controlador com setpoint fixo e com chaveamento do sinal de saída para um atuador
proporcional PULS_CTR consiste do bloco CONT_C e PULSEGEN. A chamada do bloco é
implementada então quando CONT_C é chamado a cada 2 segundos (=CYCLE*RED_FAC)
e PULSEGEN a cada 10ms (=CYCLE). O tempo de ciclo do OB35 é definido para 10ms. As
conexões podem ser vistas na figura.
Durante a inicialização, o bloco PULS_CTR é chamado no OB100 e a entrada COM_RST é
ativada (TRUE).
19
Valores iniciais para o exemplo utilizando controle de pulsos.
20