ANEXO I
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 combu combust stíve ível,l, e assi assim m tom tomar ar um im impul pulso so para para atin atingir gir out outro ro planet planeta. a. Porém Porém,, havia 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, 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 entregue ao circuito eletrônico 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 devem ser ser defini definidos dos de acord acordoo com o proce process ssoo que se está está sinton sintoniz izand andoo (métod (métodoo de adequaç adequação ão das constan constantes tes ao processo processo). ). Estes Estes parâmetro parâmetross são chamado chamadoss Kp (constan (constante te proporcional), Ki (constante integral) e Kd (constante derivativa). 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
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 ( SP): ): Valor de referência que o operador do processo deve introduzir. introduzir.
Variável de Processo (PV ( PV): ): Valor da variável que está sendo lida por um sensor.
Variável de Controle (CV ( CV): ): Valor que normalmente é controlado pelo controle PID.
Erro (E (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 Kp,, Ki e Kd sejam sintonizadas de acordo com o processo que estiverem trabalhando. 2 - CONTROLE PROPORCIONAL 3
Uma Uma das das açõe açõess de cont contro role le é a prop propor orci cion onal al que que faz faz com com que que tenh tenham amos os um umaa aproximação rápida da Variável de Processo (em relação ao setpoint), sem sobretudo atingila. 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
5 - CONTROLE CONTÍNUO COM SFB41 “CONT_C” Introdução SFB 41 " CONT_ CONT_C C " é usado usado em PLC´s PLC´s SIMATIC SIMATIC S7 para contro controle le de process processos os 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 podese 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 implementa um controlador 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 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 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 5
indi indivi vidu dual alme ment nte. e. Isto Isto perm permit itee a conf config igur uraç ação ão de cont contro rola lado dore ress P, PI, PI, PD PD,, e PID. 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
7
Parâmetros de Entrada Os parâmetros da tabela a seguir representam as entradas do bloco SFB41 “CONT_C”. Parâ Parâm metro etros s Tipo Tipo de Dado
Faixa aixa de Val Valo ores
COM_RST
BO O L
MAN_ON
BO O L
PVPER_ON
BO O L
P_SEL
BO O L
I_SEL
BO O L
INT_HOLD
BO O L
I_ITL_ON
BO O L
D_SEL
BO O L
CYCLE
TIME
SP_INT
REAL -100.0 to +100.0 (%) (o (ou valor 1) REAL REAL -100 -100.0 .0 to +100 +100.0 .0 (%) (ou valor 1)
PV_IN PV_IN
PV_PER
MAN
WORD
REAL -100.0 to +100.0 (%) (ou valor 2)
Parâ Parâm metro etros s Tipo Tipo de Dado
GAIN
>= 1 ms
REAL
Faixa aixa de Val Valo ores
Valo Valor r Inicial
Descrição
FALSE Reinício Completo (COMPLETE RESTART) O bloco tem uma rotina de inicialização que é processada quando esta entrada é acionada. 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 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. 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. 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. FALSE Ação Integral Congelada (INTEGRAL ACTION HOLD) A saída do Integrador pode ser congelada quando esta entrada for ativada. 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. 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. 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. 0.0 Setpoint Interno (INTERNAL SETPOINT) É o valor de de referência utilizado para o controle PID 0. 0.00 Entrada da Variável de Processo (PROCESS VARIABLE IN) 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. W#16# Variável de Processo Periférica 0000 (PROCESS VARIABLE PERIPHERAL) A Variável de Processo vinda da periferia de I/O será a entrada do controlador como parâmetro. 0.0 Valor da Saída em Manual (MANUAL VALUE) Esta entrada é usada para enviar um valor direto para a saída, sem controle do PID. Valo Valor r Inicial
2.0
Descrição Ganho Proporcional (PROPORTIONAL GAIN)
É o ganho especificado para o controle proporcional P
8
TI
TIME
>= CYCLE
TD
TIME
>= CYCLE
TM_LAG
TIME
>= CYCLE/2
DEADB_W
REAL >= 0.0 (%) (ou valor 1)
LMN_HLM
REAL LMN_LLM..100.0 (%) (ou valor 2)
LMN_LLM
REAL -100.0..LMN_HLM (%) (ou valor 2)
PV_FAC
REAL
PV_OFF
REAL
LMN_FAC
REAL
LMN_OFF
REAL
I_ITLVAL
REAL -100.0 to +100.0 (%)(ou valor 2)
DISV
REAL -100.0 to +100.0 (%)(ou valor 2)
T#20s Tempo da Integral (RESET TIME) O tempo de Integral especificado para o controle Integral. T#10s Tempo Derivativo (DERIVATIVE TIME) O tempo de Integral especificado para o controle Integral. 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. 0.0 Largura da Banda Morta (DEAD BAND WIDTH) A Banda Morta é definida para o valor do erro, permitindo que se tenha uma margem de ação na ação do controle. 100.0 Limite Máximo da Variável Manipulada (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. 0.0 Limite Mínimo da Variável Manipulada 0. 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. 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. 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. 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. 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. 0.0 Valor inicial da Ação Integral 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. 0.0 Variável de Distúrbio DISTURBANCE VARIABLE Para controle de feedforward (antecipativo) utiliza-se o valor indicado nesta entrada
9
Parâmetros de Saída Os parâmetros da tabela a seguir representam as saídas do bloco SFB41 “CONT_C”. Parâ Parâme metr tros os Tipo Tipo de de Dado
LMN
REAL
Faixa de Valores
Valor Inicial
0.0
Descrição Variável Manipulada
MANIPULATED VALUE A variável manipulada efetiva de saída no formato ponto flutuante. LMN_PER
WORD
QLMN_HLM BOOL
QLMN_LLM BOOL
LMN_P
REAL
LMN_I
REAL
LMN_D
REAL
PV
REAL
ER
REAL
W#16#0 Variável Manipulada da Periferia 000 MANIPULATED VALUE PERIPHERAL A variável manipulada efetiva de saída no formato da saída para a periferia de I/O. 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. 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. Componente Proporcional 0.0 PROPORTIONAL COMPONENT Esta saída contem o valor da componente proporcional da variável manipulada Componente Integral 0.0 INTEGRAL COMPONENT Esta saída contem o valor da componente integral da variável manipulada Componente Derivativo 0 .0 DERIVATIVE COMPONENT Esta saída contem o valor da componente derivativo da variável manipulada Variável de Processo 0.0 PROCESS VARIABLE O valor efetivo da variável de processo no formato de ponto flutuante. Sinal de Erro 0.0 ERROR SIGNAL O valor efetivo da variável de erro no formato de ponto flutuante.
10
6 - CONTROLE DE PASSO COM SFB42 “CONT_S” Introdução SFB 42 " CONT_S CONT_S " é usado usado em PLC´s PLC´s SIMATIC SIMATIC S7 para para control controlee de proces processo soss 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. ponto-flutuante. O parâmetro CRP_IN converte converte o PV_PER valor periférico periférico para um formato de ponto-flutuante ponto-flutuante de -100 a +100% de acordo acordo com a seguinte 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 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 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 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 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”. Parâ Parâme metr tros os Tipo Tipo de Dado
COM_RST
BO O L
Faixa aixa de Val Valo ores res
Valo alor Inicial
Descrição
FALSE Reinício Completo (COMPLETE RESTART) O bloco tem uma rotina de inicialização que é processada
12
quando esta entrada é acionada. LMNR_HS
BO O L
LMNR_LS
BO O L
LMNS_ON
BO O L
LMNUP
BO O L
LMNDN
BO O L
CYCLE
TIME
SP_INT
REAL -100.0 to +100.0 (%) (o (ou valor 1) REAL REAL -100 -100.0 .0 to +100 +100.0 .0 (%) (ou valor 1)
PV_IN PV_IN
>= 1 ms
PV_PER
WO R D
GAIN
REAL
TI
TIME
DEADB_W
REAL >= 0.0 (%) (ou valor 1)
Parâ Parâme metr tros os Tipo Tipo de Dado
PV_FAC
REAL
>= CYCLE
Faixa aixa de Val Valo ores res
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. 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. 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. FALSE Sinal do atuador alto (ACTUATING SIGNALS UP) Com valor do sinal sinal do atuador em alto, a saída saída QLMNUP será ligada quando esta entrada estiver atuada. 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. 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. 0.0 Setpoint Interno (INTERNAL SETPOINT) É o valor de referência utilizado pa para o controle PID 0.0 Entrada da Variável de Processo (PROCESS VARIABLE IN) 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. W#16# Variável de Processo Periférica 0000 (PROCESS VARIABLE PERIPHERAL) A Variável de Processo vinda da periferia de I/O será a entrada do controlador como parâmetro. 2.0 Ganho Proporcional (PROPORTIONAL GAIN) É o ganho especificado para o controle proporcional P T#20s Tempo da Integral (RESET TIME) O tempo de Integral especificado para o controle Integral. definido por esta entrada. 0.0 Largura da Banda Morta (DEAD BAND WIDTH) A Banda Morta é definida para o valor do erro, permitindo que se tenha uma margem de ação na ação do controle. Valo alor Inicial
1 .0
Descrição 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.
13
PULSE_TM
TIME
>=CYCLE
BREAK_TM
TIME
>=CYCLE
MTR_TM
TIME
>=CYCLE
DISV
REAL -100.0 to +100.0 (%)(ou valor 2)
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. 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. 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. 0.0 Variável de Distúrbio 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â Parâme metr tros os Tipo Tipo de de Dado
QLMNUP
BO O L
QLMNDN
BO O L
PV
REAL
ER
REAL
Faixa de Valores
Valor Inicial
Descrição
FALSE Sinal alto no atuador (ACTUATING SIGNAL UP) Esta saída é ligada quando, a válvula atuadora é aberta. FALSE Sinal baixo no atuador (ACTUATING SIGNAL DOWN) Esta saída é ligada quando, a válvula atuadora é fechada. Variável de Processo 0 .0 PROCESS VARIABLE O valor efetivo da variável de processo no formato de ponto flutuante. Sinal de Erro 0 .0 ERROR SIGNAL O valor efetivo da variável de erro no formato de ponto flutuante.
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 Usan Usando do SFB43 SFB43 “PULSE “PULSEGEN GEN”,d ”,dois ois ou três três pass passos os de contro controla lador dor PID com pul pulsos sos de modulação poderão ser configurados. A função normalmente é usada em conjunção com o controlador CONT_C contínuo”. 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. Diagrama em Blocos 15
Atualização da Variável Manipulada Com um “ciclo de amostragem” de 1:10 (chamadas (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 aumentada se a freqüência freqüência de intervalos intervalos de chamada de CONT_C para o bloco FB “PULSEGEN” for aumentada. aumentada. Se PULSEGEN é chamado, por exemplo, 100 vezes mais freqüentemente 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).
16
A sincr sincroni oniza zação ção autom automáti ática ca pode pode ser desa desabi bilit litada ada se a entrad entradaa SYN_O SYN_ON N for desli desliga gada da (=FALSE). OBS: Com a inicialização de um novo período, o valor anterior de INV (em outras palavras, de LMN) é atualizado 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. Parâmetros de Entrada 17
Os parâmetros da tabela a seguir representam as entradas do bloco SFB43 “PULSEGEN”. Parâ Parâme metr tros os Tipo Tipo de de Faix Faixa a de Val Valor ores es Valo Valor r Dado Inicial
INV
REAL
PER_TM
TIME
P_B_TM
TIME
RATIOFAC
REAL
STEP3_ON
BO O L
ST2BI_ON
BO O L
MAN_ON
BO O L
POS_P_ON
BO O L
NEG_P_ON
BO O L
SYN_ON
BO O L
COM_RST
BOOL
CYCLE
TIME
Descrição
-100.0...100.0 (%) FALSE Variável de Entrada (INPUT VARIABLE) Uma variável manipulada analógica é conectada nesta entrada. >=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 do controlador. A relação do tempo de amostragem do gerador de pulsos e o tempo de amostragem que o controlador determina a atualização do trem de pulsos. >= 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. 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, permitir Diferentes constantes de tempo para compensar aquecimento e resfriamento (por exemplo, em processos de aquecimento elétrico e resfriamento de água). 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. FALSE Controle com dois estados (TWO STEP CONTROL FOR BIPOLAR MANIPULATED VALUE RANGE ON) Com esta entrada ligada teremos o modo ativado para controle de dois estados para a variável manipulada e controle de dois estados com faixa de valores monopolares. 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 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. 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. TRUE Sincronismo Ligado (SYNCHRONIZATION ON) Na configuração desta entrada, é possível sincronizar automaticamente o bloco que atualiza a variável de entrada INV Este procedimento irá mudar o mais rápido possível a atualização dos parâmetro de saída. FALSE Reinício Completo (COMPLETE RESTART) O bloco tem uma rotina de inicialização que é processada quando esta entrada é acionada. >= 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
18
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â Parâme metr tros os Tipo Tipo de de Dado
QPOS_P
BOOL
QNEG_P
BOOL
Faixa de Valores
Valor Inicial
Descrição
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 é sempre o inverso da saída QPOS_P. 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) 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