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 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
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
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
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
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
7
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
É 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
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
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
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
Parâmetros Tipo de Dado
Faixa de Valores Valor Inicial
Descrição
13
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
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
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
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
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
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
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
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
Top Related