Prévia do material em texto
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 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 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ívelno 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 manipulada PVPER_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.0 Entrada 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 Dado Faixa de Valores Valor Inicial Descrição GAIN REAL 2.0 Ganho Proporcional (PROPORTIONAL GAIN) É o ganho especificado para o controle proporcional P 8 TI TIME >= CYCLE T#20s Tempo da Integral (RESET TIME) O tempo de Integral especificado para o controle Integral. TD TIME >= CYCLE T#10s Tempo Derivativo (DERIVATIVE TIME) O tempo de Integral especificado para o controle Integral. TM_LAG TIME >= CYCLE/2 T#2s Tempo de atraso da Ação Derivativa (TIME LAG OF THE DERIVATIVE ACTION) O algoritmo da ação derivativa inclui o tempo de atraso que é definido por esta entrada. DEADB_W REAL >= 0.0 (%) 0.0 Largura da Banda Morta (DEAD BAND WIDTH) (ou valor 1) A Banda Morta é definida para o valor do erro, permitindo que se tenha uma margem de ação na ação do controle. LMN_HLM REAL LMN_LLM..100.0 100.0 Limite Máximo da Variável Manipulada (%) (ou valor 2) (MANIPULATED VALUE HIGH LIMIT) O valor da Variável Manipulada é sempre limitado pelo limite máximo e limite mínimo. O limite máximo define um valor que não poderá ser ultrapassado, com o risco de danos ao equipamento, caso isso aconteça. LMN_LLM REAL -100.0..LMN_HLM 0.0 Limite Mínimo da Variável Manipulada (%) (ou valor 2) MANIPULATED VALUE LOW LIMIT O valor da Variável Manipulada é sempre limitado pelo limite máximo e limite mínimo. O limite mínimo define um valor que não poderá ser ultrapassado, com o risco de danos ao equipamento, caso isso aconteça. PV_FAC REAL 1.0 Fator da Variável de processo PROCESS VARIABLE FACTOR Esta entrada equivale a valor que multiplicará a variável de processo, fazendo assim uma adaptação desta variável à faixa que está sendo utilizada no programa. PV_OFF REAL 0.0 Ajuste da Variável de Processo PROCESS VARIABLE OFFSET Esta entrada equivale a valor que será adicionado a variável de processo, fazendo assim uma adaptação desta variável à faixa que está sendo utilizada no programa. LMN_FAC REAL 1.0 Fator da Variável Manipulada MANIPULATED VALUE FACTOR Esta entrada equivale a valor que multiplicará a variável de processo, fazendo assim uma adaptação desta variável à faixa que está sendo utilizada no programa. LMN_OFF REAL 0.0 Ajuste da Variável Manipulada MANIPULATED VALUE OFFSET Esta entrada equivale a valor que será adicionado a variável de processo, fazendo assim uma adaptação desta variável à faixa que está sendo utilizada no programa. I_ITLVAL REAL -100.0 to +100.0 0.0 Valor inicial da Ação Integral (%)(ou valor 2) INITIALIZATION VALUE OF THE INTEGRAL ACTION A saída do integrador será configurada com o valor aplicado quando a entrada I_ITL_ON for acionada. DISV REAL -100.0 to +100.0 0.0 Variável de Distúrbio (%)(ou valor 2) DISTURBANCE VARIABLE Para controle de feedforward (antecipativo) utiliza-se o valor indicado nesta entrada 9 Parâmetros de Saída 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#0 000 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 manipulada LMN_I REAL 0.0 Componente Integral INTEGRAL COMPONENT Esta saída contem o valor da componente integral da variável manipulada LMN_D REAL 0.0 Componente Derivativo DERIVATIVECOMPONENT Esta saída contem o valor da componente derivativo da variável manipulada 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. 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 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â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 12 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.0 Entrada 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. GAIN REAL 2.0 Ganho Proporcional (PROPORTIONAL GAIN) É o ganho especificado para o controle proporcional P TI 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 Dado Faixa de Valores Valor Inicial Descriçã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 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 T#3s Tempo Mínimo de subida do pulso (MINIMUM PULSE TIME) A duração mínima de subida do pulso pode ser endereçada pela entrada neste parâmetro. BREAK_TM TIME >=CYCLE T#3s Tempo Mínimo de descida do pulso (MINIMUM PULSE TIME) A duração mínima de descida do pulso pode ser endereçada pela entrada neste parâmetro. MTR_TM TIME >=CYCLE T#30s Tempo de atuação do Motor (MOTOR ACTUATING TIME) O tempo requerido pelo atuador para funcionar entre uma parada e outra deve ser introduzida neste parâmetro. DISV REAL -100.0 to +100.0 0.0 Variável de Distúrbio (%)(ou valor 2) DISTURBANCE VARIABLE Para controle de feedforward (antecipativo) utiliza-se o valor indicado nesta entrada Parâmetros de Saída 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. 146 – 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. Diagrama em Blocos 15 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). 16 A sincronização automática pode ser desabilitada se a entrada SYN_ON for desligada (=FALSE). OBS: Com a inicialização de um novo período, o valor anterior de INV (em outras palavras, de LMN) é atualizado para um trem de pulsos com maior ou menor freqüência de atualização definida pela sincronização. Modos 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â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 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. 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, permitir Diferentes 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 controle de 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 INV Este 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 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 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â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 é sempre o 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_Cmanipula 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 ANEXO I CONTROLE PROPORCIONAL INTEGRAL E DERIVATIVO UTILIZANDO OS BLOCOS CONT_C, CONT_S E PULSEGEN CONTROLE PROPORCIONAL INTEGRAL E DERIVATIVO Introdução Aplicação Descrição Setpoint Variável de Processo Sinal de erro Algoritmo do PID Controle manual Valor manipulado Controle Feedforward Inicialização Informação de erro Diagrama em blocos do CONT_C Variável de Processo Periférica Introdução Aplicação Descrição Setpoint Variável de Processo Sinal de erro Algoritmo do PI Controle Feedforward Inicialização Informação de erro Variável de Processo Periférica Tempo de atuação do Motor Introdução 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 Diagrama em Blocos Atualização da Variável Manipulada Sincronismo Automático Inicialização Informação de erro Exemplo Usando o PULSEGEN - MALHA DE CONTROLE