Apostila PID

29
ANEXO I CONTROLE PROPORCIONAL INTEGRAL E DERIVATIVO UTILIZANDO OS BLOCOS CONT_C, CONT_S E PULSEGEN

description

Guia de uso do controle PID ( Proporcional Integral e derivativo) no step 7 Siemens.

Transcript of Apostila PID

Page 1: Apostila PID

ANEXO I

CONTROLE PROPORCIONAL INTEGRAL E DERIVATIVO UTILIZANDO OS BLOCOS

CONT_C, CONT_S E PULSEGEN

Page 2: Apostila PID

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).

Na vida prática seria o mesmo que aquecer um alimento no forno de microondas a uma determinada temperatura. O valor de temperatura digitado no painel serve como um Setpoint (SP), a temperatura real medida dentro do forno é a variável de processo (PV), e a potência entregue ao circuito eletrônico do forno é a variável de controle (CV).

Existem fórmulas muito complexas para se fazer este controle, e normalmente o estudo por estas fórmulas exigiria um cálculo matemático muito grande, e inútil, pois o PLC faz todo o serviço pesado sem a necessidade de se fazer uma única conta. Dessa forma, o nosso estudo se resumirá a entendermos que a fórmula trabalha com três parâmetros que devem ser definidos de acordo com o processo que se está sintonizando (método de adequação das constantes ao processo). Estes parâmetros são chamados Kp (constante proporcional), Ki (constante integral) e Kd (constante derivativa).

Uma das fórmulas mais utilizadas é a mostrada a seguir: t

Output = Kc [(E) + 1 (E)dt + Td * d(PV) ] + Bias Ti 0 dt sendo que o erro é igual a: E = SP – PV ou E = PV - SP

2

Page 3: Apostila PID

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.

Na figura acima podemos notar um diagrama esquemático, baseado nos seguintes parâmetros:

Setpoint (SP): Valor de referência que o operador do processo deve introduzir.

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.

Erro (E): é a diferença entre o SP e a PV ou vice-versa.

Feedforward ou Bias: são turbulências que ocorrem por efeitos alheios ao processo.

Constantes da equação PID: a equação necessita das constantes Kp, Ki e Kd sejam sintonizadas de acordo com o processo que estiverem trabalhando.

2 - CONTROLE PROPORCIONAL

3

Page 4: Apostila PID

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

Há um último controle a ser feito que é o derivativo, este é extremamente necessário quando queremos controlar malhas lentas, por exemplo, de temperatura. Como sempre temos aqui também um inconveniente que são as oscilações ocorridas logo depois da variável de processo atingir o setpoint.

4

Page 5: Apostila PID

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 O setpoint é inserido em formato de ponto-flutuante na entrada SP_INT. 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:

A parâmetro PV_NORM normaliza a saída CRP_IN de acordo com a fórmula seguinte: Saída de PV_NORM = (Saída de CPR_IN) * PV_FAC + PV_OFF PV_FAC tem valor característico 1 e PV_OFF tem valor característico 0. 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

Page 6: Apostila PID

O algoritmo do PID opera como um algoritmo de posição. O proporcional, integral (INT), e derivado (DIF) são ações conectadas em paralelo e podem ser ativadas ou desativadas 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 É possível chavear entre um controle manual e o modo automático. No modo manual, a variável manipulada é corrigida a um valor previamente selecionado. O integrador (INT) é interiormente fixo a LMN - LMN_P - DISV e a unidade derivada (DIF) para 0 e desligada internamente. Isto significa que na troca para o modo automático não causará nenhuma mudança súbita no valor manipulado. 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: LMN = (saída de LMNLIMIT) * LMN_FAC + LMN_OFF LMN_FAC tem valor característico 1 e LMN_OFF tem valor característico 0. O valor manipulado também está disponível no formato periférico. O CPR_OUT funciona convertendo valor de ponto-flutuante LMN para um valor periférico de acordo com a seguinte fórmula:

Controle Feedforward Uma variável de perturbação pode ser alimentada pela entrada DISV. Inicialização SFB41 " CONT_C " tem uma rotina de inicialização que é executada quando o parâmetro de entrada COM_RST é verdadeiro. Durante inicialização, o integrador é fixado internamente para o valor inicial I_ITVAL. Quando é chamado um ciclo de interrupção com prioridade de classe, ele começa a trabalhar com este valor. 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. Diagrama em blocos do CONT_C

6

Page 7: Apostila PID

7

Page 8: Apostila PID

Parâmetros de Entrada

Os parâmetros da tabela a seguir representam as entradas do bloco SFB41 “CONT_C”.

Parâmetros Tipo de Dado

Faixa de Valores Valor Inicial

Descrição

COM_RST BOOL   FALSE Reinício Completo (COMPLETE RESTART)    O bloco tem uma rotina de inicialização que é processada    quando esta entrada é acionada.MAN_ON BOOL   TRUE Controle em Manual (MANUAL VALUE ON)    Se esta entrada é acionada, o loop de controle é     interrompido, e um valor é enviado para a variável manipuladaPVPER_ON BOOL   FALSE Variável de Processo vindo da periferia    (PROCESS VARIABLE PERIPHERAL ON)    Se a variável de processo é lida da periferia de I/O, a entrada    PV_PER precisa ser configurada com um endereço de    periferia.P_SEL BOOL   TRUE Liga Ação Proporcional (PROPORTIONAL ACTION ON)    As ações no PID podem ser ativadas ou desativadas     individualmente no algoritmo PID. A ação proporcional P é     ligada quando esta entrada for acionada.I_SEL BOOL   TRUE Liga Ação Integral (INTEGRAL ACTION ON)    As ações no PID podem ser ativadas ou desativadas     individualmente no algoritmo PID. A ação integral I é     ligada quando esta entrada for acionada.INT_HOLD BOOL   FALSE Ação Integral Congelada (INTEGRAL ACTION HOLD)    A saída do Integrador pode ser congelada quando esta     entrada for ativada.I_ITL_ON BOOL   FALSE Inicialização da Ação Integral     (INITIALIZATION OF THE INTEGRAL ACTION ON)    A saída do Integrador pode receber o valor inicial de    I_ITL_VAL quando esta entrada for ativada.D_SEL BOOL   FALSE Liga Ação Derivativa (DERIVATIVE ACTION ON)    As ações no PID podem ser ativadas ou desativadas     individualmente no algoritmo PID. A ação Derivativa D é     ligada quando esta entrada for acionada.CYCLE TIME >= 1 ms T#1s Tempo de Amostragem (SAMPLING TIME)    O tempo entre a chamada do bloco precisa ser constante.    O tempo de amostragem especificado nesta entrada equivale    ao tempo entre as chamadas do bloco.SP_INT REAL -100.0 to +100.0 0.0 Setpoint Interno (INTERNAL SETPOINT)  (%) (ou valor 1) É o valor de referência utilizado para o controle PID

PV_IN REAL -100.0 to +100.0 0.0Entrada da Variável de Processo (PROCESS VARIABLE IN)

  (%) (ou valor 1) Um valor inicial pode ser especificado quando a entrada da    variável de processo ou variável de processo externa em     formato de ponto flutuante.

PV_PER WORD W#16#0000

Variável de Processo Periférica

    (PROCESS VARIABLE PERIPHERAL)    A Variável de Processo vinda da periferia de I/O será a     entrada do controlador como parâmetro.MAN REAL -100.0 to +100.0 0.0 Valor da Saída em Manual (MANUAL VALUE)  (%) (ou valor 2) Esta entrada é usada para enviar um valor     direto para a saída, sem controle do PID. Parâmetros Tipo de

DadoFaixa de Valores Valor

InicialDescrição

GAIN REAL   2.0 Ganho Proporcional (PROPORTIONAL GAIN)

8

Page 9: Apostila PID

    É o ganho especificado para o controle proporcional PTI 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

Page 10: Apostila PID

Parâmetros de Saída

Os parâmetros da tabela a seguir representam as saídas do bloco SFB41 “CONT_C”.

Parâmetros Tipo de Dado

Faixa de Valores

Valor Inicial

Descrição

LMN REAL   0.0 Variável Manipulada        MANIPULATED VALUE        A variável manipulada efetiva de saída no formato ponto flutuante.

LMN_PER WORD  W#16#0000 Variável Manipulada da Periferia

        MANIPULATED VALUE PERIPHERAL        A variável manipulada efetiva de saída no formato da saída para         a periferia de I/O.QLMN_HLM BOOL   FALSE Limite Alto da variável Manipulada        HIGH LIMIT OF MANIPULATED VALUE REACHED         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.QLMN_LLM BOOL   FALSE Limite Baixo da variável Manipulada        LOW LIMIT OF MANIPULATED VALUE REACHED        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.LMN_P REAL   0.0 Componente Proporcional        PROPORTIONAL COMPONENT        Esta saída contem o valor da componente proporcional da        variável manipuladaLMN_I REAL   0.0 Componente Integral        INTEGRAL COMPONENT        Esta saída contem o valor da componente integral da        variável manipuladaLMN_D REAL   0.0 Componente Derivativo        DERIVATIVE COMPONENT        Esta saída contem o valor da componente derivativo da        variável manipuladaPV REAL   0.0 Variável de Processo        PROCESS VARIABLE        O valor efetivo da variável de processo no formato de ponto         flutuante.ER REAL   0.0 Sinal de Erro        ERROR SIGNAL        O valor efetivo da variável de erro no formato de ponto         flutuante.

10

Page 11: Apostila PID

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 O setpoint é inserido em formato de ponto-flutuante na entrada SP_INT. 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 :

A parâmetro PV_NORM normaliza a saída CRP_IN de acordo com a fórmula seguinte: Saída de PV_NORM = (Saída de CPR_IN) * PV_FAC + PV_OFF PV_FAC tem valor característico 1 e PV_OFF tem valor característico 0. 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

Page 12: Apostila PID

O algoritmo do PI opera sem uma realimentação de posição. A ação integral do algoritmo PI assume o sinal de realimentação de posição calculada em um integrador (INT) e comparada com uma ação proporcional atrasada com um valor de realimentação. A diferença é aplicada 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 Uma variável de perturbação pode ser alimentada pela entrada DISV. 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.

Diagrama em blocos do CONT_C

Parâmetros de Entrada

Os parâmetros da tabela a seguir representam as entradas do bloco SFB42 “CONT_S”.

12

Page 13: Apostila PID

Parâmetros Tipo de Dado

Faixa de Valores Valor Inicial

Descrição

13

Page 14: Apostila PID

COM_RST BOOL   FALSE Reinício Completo (COMPLETE RESTART)    O bloco tem uma rotina de inicialização que é processada    quando esta entrada é acionada.LMNR_HS BOOL   FALSE Sinal de limite alto de realimentação

(HIGH LIMIT OF POSITION FEEDBACK SIGNAL)    O Sinal de limite superior de parada do atuador é acionado     quando a entrada do Sinal de limite alto de realimentação

estiver verdadeira.LMNR_LS BOOL   FALSE Sinal de limite baixo de realimentação

(LOW LIMIT OF POSITION FEEDBACK SIGNAL)    O Sinal de limite inferior de parada do atuador é acionado     quando a entrada do Sinal de limite baixo de realimentação

estiver verdadeira.LMNS_ON BOOL   FALSE Sinal de modo manual ligado

(MANUAL ACTUATING SIGNALS ON)    O Sinal de saída do atuador é chaveado para manual quando     esta entrada estiver ativada.LMNUP BOOL   FALSE Sinal do atuador alto

(ACTUATING SIGNALS UP)    Com valor do sinal do atuador em alto, a saída QLMNUP será     ligada quando esta entrada estiver atuada.LMNDN BOOL   FALSE Sinal do atuador baixo

(ACTUATING SIGNALS DOWN)    Com o valor do sinal do atuador baixa, a saída QLMNDN será    ligada quando esta entrada estiver atuada.CYCLE TIME >= 1 ms T#1s Tempo de Amostragem (SAMPLING TIME)    O tempo entre a chamada do bloco precisa ser constante.    O tempo de amostragem especificado nesta entrada equivale    ao tempo entre as chamadas do bloco.SP_INT REAL -100.0 to +100.0 0.0 Setpoint Interno (INTERNAL SETPOINT)  (%) (ou valor 1) É o valor de referência utilizado para o controle PID

PV_IN REAL -100.0 to +100.0 0.0Entrada da Variável de Processo (PROCESS VARIABLE IN)

  (%) (ou valor 1) Um valor inicial pode ser especificado quando a entrada da    variável de processo ou variável de processo externa em     formato de ponto flutuante.PV_PER WORD W#16#

0000Variável de Processo Periférica

    (PROCESS VARIABLE PERIPHERAL)    A Variável de Processo vinda da periferia de I/O será a     entrada do controlador como parâmetro.GAIN REAL   2.0 Ganho Proporcional (PROPORTIONAL GAIN)    É o ganho especificado para o controle proporcional PTI TIME >= CYCLE T#20s Tempo da Integral (RESET TIME)    O tempo de Integral especificado para o controle Integral.    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.Parâmetros Tipo de

DadoFaixa de Valores Valor

InicialDescrição

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

14

Page 15: Apostila PID

    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.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çadapela 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

Os parâmetros da tabela a seguir representam as saídas do bloco SFB42 “CONT_S”.

Parâmetros Tipo de Dado

Faixa de Valores

Valor Inicial

Descrição

QLMNUP BOOL   FALSE Sinal alto no atuador        (ACTUATING SIGNAL UP)        Esta saída é ligada quando, a válvula atuadora é aberta.QLMNDN BOOL   FALSE Sinal baixo no atuador        (ACTUATING SIGNAL DOWN)        Esta saída é ligada quando, a válvula atuadora é fechada.PV REAL   0.0 Variável de Processo        PROCESS VARIABLE        O valor efetivo da variável de processo no formato de ponto         flutuante.ER REAL   0.0 Sinal de Erro        ERROR SIGNAL        O valor efetivo da variável de erro no formato de ponto         flutuante.

15

Page 16: Apostila PID

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:

Estado Alto em QPOS durante 30% dos ciclos. Estado Baixo em QPOS durante 70% dos ciclos.

16

Page 17: Apostila PID

Diagrama em Blocos

Atualização da Variável Manipulada

Com um “ciclo de amostragem” de 1:10 (chamadas de CONT_C para o bloco PULSEGEN) a atualização da variável manipulada neste exemplo é restringida a 10%, em outras palavras, a entrada INV é ativada pode somente ser manipulada com pulsos na saída QPOS em intervalos de 10%. A precisão é aumentada se a freqüência de intervalos de chamada de CONT_C para o bloco FB “PULSEGEN” for aumentada.Se PULSEGEN é chamado, por exemplo, 100 vezes mais freqüentemente por CONT_C, uma resolução de 1% de atualização da variável manipulado é alcançada.

OBS: A freqüência de atualização do bloco precisa ser programada pelo usuário.

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).

17

Page 18: Apostila PID

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

Dependendo da forma de parametrização do gerador de pulsos, o controlador PID com três passos de saída ou com dois passos de saída poderá ser configurado. A tabela a seguir ilustra a configuração das chaves para os possíveis modos de trabalho.

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

O parâmetro de saída de erro RET_VAL não é usado.

18

Page 19: Apostila PID

Parâmetros de Entrada

Os parâmetros da tabela a seguir representam as entradas do bloco SFB43 “PULSEGEN”.

Parâmetros Tipo de Dado

Faixa de Valores Valor Inicial

Descrição

INV REAL -100.0...100.0 (%) FALSE Variável de Entrada (INPUT VARIABLE)

   Uma variável manipulada analógica é conectada nesta entrada.

PER_TM TIME  >=20*CICLO T#1s Tempo do Período (PERIOD TIME)    O período de tempo constante para a modulação é inserido

nesta entrada. Ela corresponde ao tempo de amostragem docontrolador. A relação do tempo de amostragem do gerador depulsos e o tempo de amostragem que o controlador determinaa atualização do trem de pulsos.

P_B_TM TIME  >= CICLO T#50msPulso mínimo/tempo de nível baixo (MINIMUM PULSE / BREAK TIME)

    O pulso mínimo ou mínimo tempo em nível baixo pode ser     endereçado nesta entrada.RATIOFAC REAL  0.1...10.0 1.0 Fator de multiplicação (RATIO FACTOR)

A entrada do parâmetro RATIO FACTOR pode ser usada para

    mudar a relação da duração dos pulsos positivos e negativos.

   Em termos de processo, nós poderemos, por exemplo, permitirDiferentes constantes de tempo para compensar aquecimento e resfriamento (por exemplo, em processos de aquecimento elétrico e resfriamento de água).

STEP3_ON BOOL   TRUE Controle com três estados (THREE STEP CONTROL ON)Com esta entrada ligada teremos o modo ativado para controle

    de três estados, assim ambas as saídas estarão ativas.ST2BI_ON BOOL   FALSE Controle com dois estados

(TWO STEP CONTROL FOR BIPOLAR MANIPULATED     VALUE RANGE ON)

   Com esta entrada ligada teremos o modo ativado para controlede dois estados para a variável manipulada e controle de dois estados com faixa de valores monopolares.

MAN_ON BOOL   TRUE Controle em Manual (MANUAL VALUE ON)Se esta entrada é acionada, o loop de controle é

   interrompido, e um valor é enviado para a variável manipulada

POS_P_ON BOOL   FALSE Pulso positivo ligado (POSITIVE PULSE ON)    Em modo manual com o controle three-step , o sinal de saída     QPOS_P pode ser configurado por esta entrada.NEG_P_ON BOOL   FALSE Pulso negativo ligado (NEGATIVE PULSE ON)    Em modo manual com o controle three-step , o sinal de saída     QPOS_P pode ser configurado por esta entrada.SYN_ON BOOL   TRUE Sincronismo Ligado (SYNCHRONIZATION ON)    Na configuração desta entrada, é possível sincronizar

   automaticamente o bloco que atualiza a variável de entrada INVEste procedimento irá mudar o mais rápido possível a atualização dos parâmetro de saída.

COM_RST BOOL   FALSE Reinício Completo (COMPLETE RESTART)    O bloco tem uma rotina de inicialização que é processada

19

Page 20: Apostila PID

   

quando esta entrada é acionada.

CYCLE TIME >= 1 ms T#1s Tempo de Amostragem (SAMPLING TIME)    O tempo entre a chamada do bloco precisa ser constante.    O tempo de amostragem especificado nesta entrada equivale    ao tempo entre as chamadas do bloco.

Parâmetros de Saída

Os parâmetros da tabela a seguir representam as saídas do bloco SFB43 “PULSEGEN”.

Parâmetros Tipo de Dado

Faixa de Valores

Valor Inicial

Descrição

QPOS_P BOOL   FALSE Pulso positivo de saída        (OUTPUT POSITIVE PULSE)        Este parâmetro de saída é ativado quando o sinal do pulso está alto.

No controle three-step a saída fica sempre no nível alto, quando a saída estiver ativada. No controle two-step a saída QNEG_P é sempreo inverso da saída QPOS_P.

QNEG_P BOOL   FALSE Pulso negativo de saída        (OUTPUT NEGATIVE PULSE)

       Este parâmetro de saída é ativado quando o sinal do pulso está baixo.No controle three-step a saída fica sempre no nível baixo, quando a saída não estiver ativada. No controle two-step a saída QNEG_P é sempre o inverso da saída QPOS_P.

Exemplo Usando o PULSEGEN - MALHA DE CONTROLE

Usando o controlador contínuo CONT_C e o gerador de pulsos PULSEGEN, você pode implementar um controle com o setpoint fixo com o chaveamento da saída par atuadores proporcionais. A figura a seguir ilustra a seqüência básica do sinal numa malha de controle.

O controlador contínuo CONT_C manipula o valor de LMN, onde o PULSEGEN converte em sinais de pulso nas saída QPOS_P ou QNEG_P.

Chamada do bloco e conexão

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)

20

Page 21: Apostila PID

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).

Valores iniciais para o exemplo utilizando controle de pulsos.

21