Você está na página 1de 20

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í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 Faixa de Valores Valor Descrição


Dado Inicial
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# 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.
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 Faixa de Valores Valor Descrição
Dado Inicial
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 Faixa de Valor Descrição


Dado Valores Inicial
LMN REAL 0.0 Variável Manipulada
MANIPULATED VALUE
A variável manipulada efetiva de saída no formato ponto flutuante.
W#16#0
LMN_PER WORD 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
DERIVATIVE COMPONENT
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 Faixa de Valores Valor Descrição


Dado Inicial
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# 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.
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 Faixa de Valores Valor Descrição
Dado Inicial
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 Faixa de Valor Descrição


Dado Valores Inicial
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.

14
6 – GERADOR DE PULSOS COM SFB453 “PULSEGEN”

Introdução
O SFB43 “PULSEGEN” é usado para estruturar o controlador PID para produção de
pulsos para atuadores proporcionais.
Aplicação
Usando SFB43 “PULSEGEN”,dois ou três passos de controlador PID com pulsos de
modulação poderão ser configurados. A função normalmente é usada em conjunção com
o controlador CONT_C contínuo”.

Descrição
A função de PULSEGEN transforma o introduza INV variável (= variável manipulada do
controlador de PID) modulando a duração dos pulsos em um trem de pulsos com um período
constante e corresponde ao tempo de ciclo a qual a variável de entrada é atualizada e que deve
ser endereçada em PER_TM.
A duração de uma pulsação por período é proporcional para a entrada variável INV. O ciclo
endereçado em PER_TM não é idêntico ao ciclo de processo do SFB “PULSEGEN”. O ciclo
de PER_TM é composto de vários ciclos de processo de SFB “PULSEGEN”, por meio do
qual o número de SFB “PULSEGEN” chamado de Ciclo de PER_TM é a medida para a
precisão da duração dos pulsos de modulação.

Se o valor de PER_TM for 30, isto equivale a dizer que em 10 ciclos do PULSEGEN,
teremos:

• 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 Faixa de Valores Valor Descrição


Dado Inicial
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 Faixa de Valor Descrição


Dado Valores Inicial
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_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