ÍNDICE Potenciômetro Analógico ___________________________________________________ 3 Exemplos do uso do potenciômetro _________________________________________ 3 Interface analógica EM235__________________________________________________ 4 Instalação da interface ___________________________________________________ 4 Tabela de configuração para selecionar modo bipolar/unipolar, ganho e atenuação __ 5 Modo UNIPOLAR ____________________________________________________ 5 Modo BIPOLAR _____________________________________________________ 5 Diagrama das entradas da interface analógica EM235___________________________ 6 Diagrama da saída da interface analógica EM235 ______________________________ 7 Especificações da EM 235 ________________________________________________ 8 Calibração das entradas __________________________________________________ 9 Palavras de entrada da EM235 ____________________________________________ 11 Informação Bipolar_____________________________________________________ 11 Informação Unipolar ___________________________________________________ 11 Saídas de Pulso __________________________________________________________ 12 Saída operando no modo PWM ___________________________________________ 12 Saída operando no modo PTO ____________________________________________ 12 Bloco de saída de pulso _________________________________________________ 13 Os bytes de controle da saída de pulso ______________________________________ 13 Exemplo de configurações da saída de pulso _________________________________ 15 Contador de alta velocidade (HSC) __________________________________________ 18 Acessando o endereço do HSC____________________________________________ 19 HSC Wizard __________________________________________________________ 19 Operações matemáticas ___________________________________________________ 27 Byte___________________________________________________________________ 27 Word ou Inteiro _________________________________________________________ 27 Dupla Word ou Duplo Inteiro_______________________________________________ 27 Real___________________________________________________________________ 28 Operadores matemáticos __________________________________________________ 29 Operações com números reais ____________________________________________ 29 Soma de números Reais ___________________________________________________ 29 Subtração de números Reais________________________________________________ 29 Multiplicação de números Reais ____________________________________________ 29 Divisão de números Reais _________________________________________________ 30 Raiz quadrada de número Real______________________________________________ 30 Operações com números inteiros __________________________________________ 31 Incremento de byte _______________________________________________________ 34 Incremento de inteiro _____________________________________________________ 34 Incremento de duplo inteiro ________________________________________________ 34 Decremento de byte ______________________________________________________ 35 Decremento de inteiro ____________________________________________________ 35 Decremento de duplo inteiro _______________________________________________ 35 Controlador PID _________________________________________________________ 36 Píndaro Secco Cancian www.pindaro.com.br CEFET-PR Departamento Acadêmico de Eletrônica 1 O Controlador Proporcional (P) ___________________________________________ O controlador Proporcional-Integral (PI) ____________________________________ O Controlador Proporcional-Derivativo (PD) ________________________________ O Controlador Proporcional-Integral-Derivativo (PID) _________________________ PID wizard ___________________________________________________________ Referências Bibliográficas _________________________________________________ 36 36 38 39 41 46 Píndaro Secco Cancian www.pindaro.com.br CEFET-PR Departamento Acadêmico de Eletrônica 2 Potenciômetro Analógico As CPU’s da família S7-200 da Siemens possuem um potenciômetro analógico interno que pode ser utilizado para diversos fins, tais como ajustar o valor de temporizadores, de contadores, ajustes de ganho, offset entre outros. Este potenciômetro está localizado na parte frontal do equipamento, sob a mesma tampa lateral que dá acesso à chave de seleção RUN/TERM/STOP do equipamento. Ajustando o potenciômetro, você modifica o valor do bit especial de memória SMB28. Na CPU 224 existem dois potenciômetros, o valor do segundo fica armazenado no bit especial SMB29. Em todos os casos, o potenciômetro utiliza 8 bits e tem uma repetitibilidade de ±2. Exemplos do uso do potenciômetro 1 – Ajustando o limite de um temporizador: Lê o valor do potenciômetro (byte) e armazena no endereço de memória vw100 como um valor inteiro. Utiliza o valor armazenado em VW100 como limite para o temporizador T37 Píndaro Secco Cancian www.pindaro.com.br CEFET-PR Departamento Acadêmico de Eletrônica 3 Interface analógica EM235 Instalação da interface Siga as seguintes recomendações para garantir a precisão e repetitibilidade: • Tenha certeza que a fonte de 24-VDC não apresenta ruídos e é estável • Use sensores com os menores cabos possíveis e de preferência blindados até o ponto onde está conectado o sensor • Evite dobrar os cabos usando ângulos muito agudos Evite posicionar cabos de sensores próximos a cabos de alimentação Píndaro Secco Cancian www.pindaro.com.br CEFET-PR Departamento Acadêmico de Eletrônica 4 Tabela de configuração para selecionar modo bipolar/unipolar, ganho e atenuação SW1 SW2 SW3 SW4 SW5 SW6 Uni/Bipolar ON Unipolar OFF Bipolar OFF OFF OFF ON ON OFF ON ON ON OFF OFF OFF ON OFF OFF OFF ON Ganho x1 x10 x100 invalid 0.8 0.4 0.2 Atenuação Modo UNIPOLAR SW1 ON OFF ON OFF ON ON OFF SW2 OFF ON OFF ON OFF OFF ON SW3 OFF OFF OFF OFF OFF OFF OFF SW4 ON ON OFF OFF OFF OFF OFF SW5 OFF OFF ON ON OFF OFF OFF SW6 ON ON ON ON ON ON ON Escala de entrada 0 to 50 mV 0 to 100 mV 0 to 500 mV 0 to 1 V 0 to 5 V 0 to 20 mA 0 to 10 V Resolução 12.5 uV 25 uV 125 uV 250 uV 1.25 mV 5 uA 2.5 mV Modo BIPOLAR SW1 ON OFF OFF ON OFF OFF ON OFF OFF SW2 OFF ON OFF OFF ON OFF OFF ON OFF SW3 OFF OFF ON OFF OFF ON OFF OFF ON SW4 ON ON ON OFF OFF OFF OFF OFF OFF SW5 OFF OFF OFF ON ON ON OFF OFF OFF SW6 OFF OFF OFF OFF OFF OFF OFF OFF OFF Escala de entrada +25 mV +50 mV +100 mV +250 mV +500 mV +1 V +2.5 V +5 V +10 V Resolução 12.5 uV 25 uV 50 uV 125 uV 250 uV 500 uV 1.25 mV 2.5 mV 5 mV Píndaro Secco Cancian www.pindaro.com.br CEFET-PR Departamento Acadêmico de Eletrônica 5 Diagrama das entradas da interface analógica EM235 R A+ C RA Rloop R AR B+ C RB Rloop R BR C+ C RC Rloop R CR D+ C RD Rloop R DC D=1 C C C=1 Buffer C Offset Buffer Vref C B=1 Conversor A/D C Amplificador de instrumentação + ganho C A=1 C Píndaro Secco Cancian www.pindaro.com.br CEFET-PR Departamento Acadêmico de Eletrônica 6 Diagrama da saída da interface analógica EM235 24V R R + + Conversor tensão-corrente R Iout Conversor D/A ± 2V + R Vout R Píndaro Secco Cancian www.pindaro.com.br CEFET-PR Departamento Acadêmico de Eletrônica 7 Algumas Definições: Precisão: Variação do valor medido em relação ao esperado Resolução: Influência do bit menos significativo no valor medido Repetitibilidade: Variação dos valores medidos, dado um mesmo sinal na entrada. Especificações da EM 235 Escala de entrada 0 to 50 mV 0 to 100 mV 0 to 500 mV 0 to 1 V 0 to 5 V 0 to 20 mA 0 to 10 V ± 25 mV ± 50 mV ± 100 mV ± 250 mV ± 500 mV ±1V ± 2.5 V ±5V ± 10 V Repetitibilidade % da escala contagem ± 0.075% ± 0.075% ± 0.075% ± 0.075% ± 0.075% ± 0.075% ± 0.075% ± 0.075% ± 0.075% ± 0.075% ± 0.075% ± 0.075% ± 0.075% ± 0.075% ± 0.075% ± 0.075% ± 24 ± 24 ± 24 ± 24 ± 24 ± 24 ± 24 ± 48 ± 48 ± 48 ± 48 ± 48 ± 48 ± 48 ± 48 ± 48 Precisão média % da escala contagem ± 0.25% ± 0.2% ± 0.05% ± 0.05% ± 0.05% ± 0.05% ± 0.05% ± 0.25% ± 0.2% ± 0.1% ± 0.05% ± 0.05% ± 0.05% ± 0.05% ± 0.05% ± 0.05% ± 80 ± 64 ± 16 ± 16 ± 16 ± 16 ± 16 ± 160 ± 128 ± 64 ± 32 ± 32 ± 32 ± 32 ± 32 ± 32 Píndaro Secco Cancian www.pindaro.com.br CEFET-PR Departamento Acadêmico de Eletrônica 8 Calibração das entradas A calibração da interface afeta o amplificador de instrumentação que segue ao multiplexador analógico de entradas (veja o diagrama em blocos da entrada). Como é utilizado um único amplificador para todas as entradas, a calibração afeta as quatro entradas de forma simultânea. Mesmo após a calibração, pequenos erros de leitura podem ser encontrados quando lemos o mesmo sinal utilizando diversas entradas, devido a variações no valor dos componentes de cada entrada. Para encontrar o valor, devem ser habilitados os filtros de entrada dos sinais analógicos, e selecionado um número de 64 ou mais amostras de sinal para calcular a média dos valores. Configuração dos filtros analógicos, em System Block > Analog Input Filters O número de amostras indica quantas vezes deve ser feita a leitura antes que o valor seja atualizado pela CPU. Quanto maior este número, maior o tempo que o valor vai levar para ser modificado e mais estável. Em compensação, variações rápidas podem não ser detectadas. Deadband indica a variação máxima aceita em determinada entrada. Caso entre Píndaro Secco Cancian www.pindaro.com.br CEFET-PR Departamento Acadêmico de Eletrônica 9 leituras sucessivas o valor mude mais que o especificado neste campo, o valor da leitura anterior é assumido. DICA: Não use os filtros analógicos para sinais que tenham indicação de alarmes na palavra analógica. Sempre desabilite o filtro para RTD, termopares e mestres AS-i. Para calibrar as entradas, siga os seguintes passos: 1. 2. 3. 4. 5. Desligue o módulo de entradas e selecione a escala desejada Ligue o sistema e deixe que o módulo se estabilize por 15 minutos Utilize uma fonte para aplicar tensão ou corrente zero a uma das entradas Leia, na CPU, o valor medido da entrada escolhida Ajuste o potenciômetro de OFFSET até que o valor lido seja zero, ou o valor desejado 6. Ligue a uma das entradas o valor máximo da escala de leitura 7. Ajuste o potenciômetro de ganho até que seja lido o número 32000 ou o valor desejado 8. Repita o procedimento caso seja necessário Píndaro Secco Cancian www.pindaro.com.br CEFET-PR Departamento Acadêmico de Eletrônica 10 Palavras de entrada da EM235 AIW XX Informação Bipolar MSB LSB 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 Valor lido – 12 bits 0 0 0 Informação Unipolar MSB LSB 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Valor lido – 12 bits 0 0 0 0 O valor lido pelo conversor Analógico/Digital das entradas é alinhado a esquerda. No caso de um sinal bipolar, o bit mais significativo (MSB) representa o sinal, sendo que o zero indica um valor positivo. No valor bipolar, os três zeros causam uma variação de pelo menos oito a cada variação do sinal de entrada. No sinal unipolar, os quatro zeros causam uma variação de pelo menos dezesseis. Palavra de saída da EM235 AQW XX Saída de corrente MSB LSB 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 Valor de saída – 11 bits 0 0 0 0 Saída de tensão MSB LSB 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Valor de saída – 12 bits 0 0 0 0 O valor digital do conversor Digital/Analógico de saída é alinhado a esquerda. O bit mais significativo (MSB) corresponde ao sinal, zero indica um valor positivo. Os quatro zeros da direita são eliminados antes que seja efetuada a conversão. Píndaro Secco Cancian www.pindaro.com.br CEFET-PR Departamento Acadêmico de Eletrônica 11 Saídas de Pulso A CPU S7-200 tem duas saídas de pulso integradas, as saídas Q0.0 e Q0.1. Estas saídas podem ser configuradas para três modos de operações distintos: • Saída digital convencional • Saída PWM • Saída PTO Saída operando no modo PWM Se configurada para operar no modo PWM, a saída vai fornecer um trem de pulsos de largura constante e com duty cycle variável. Saída operando no modo PTO Se configurada para operar no modo PTO, a saída vai fornecer um trem de pulsos de largura variável e com duty cycle fixo em 50%. Píndaro Secco Cancian www.pindaro.com.br CEFET-PR Departamento Acadêmico de Eletrônica 12 Bloco de saída de pulso O bloco de saída de pulsos é o PLS, localizado junto aos contadores na árvore de instruções. Os bytes de controle da saída de pulso O byte especial de memória SMB67 inicializa o modo de saída PWM/PTO para a saída Q0.0. O valor de seus bits de controle é o seguinte: Byte SM67 Configuração geral da saída de pulsos 0 SM67.0: Este bit indica quando atualizar o tempo de ciclo da saída Q0.0. Valor 1 = Escrever um novo valor de período. SM67.1: Este bit indica quando atualizar a largura do pulso PWM da saída Q0.0. Valor 1 = Escrever um novo valor pulso. SM67.2: Atualização da contagem de pulsos no modo PTO Valor 0 = Sem atualização Valor 1 = Atualiza contagem SM67.3: Este bit permite definir a base de tempo Valor 0 = Base de tempo é 1 µs/ciclo Valor 1 = Base de tempo é 1 ms/ciclo SM67.4: Modo de atualização da saída PWM Valor 0 = Assíncrono Valor 1 = Síncrono SM67.5: Modo de operação da saída PTO Valor 0 = Segmento simples Valor 1 = Segmento múltiplo SM67.6: Este bit seleciona o modo de operação para a saída Q0.0. Valor 0 = Seleciona PTO Valor 1 = Seleciona PWM SM67.7: Habilita a saída Q0.0. Valor 1 = saída habilitada. SMW68: especifica o tempo de ciclo da saída, em ms ou µs dependendo de SM67.3 (2 – 65535) Píndaro Secco Cancian www.pindaro.com.br CEFET-PR Departamento Acadêmico de Eletrônica 13 SMW70: Valor a ser enviado para a saída de pulso (0 – 65535) SMD72: Contagem de pulsos enviados para a saída no modo PTO (0 – 2^32-1) No caso de saída PTO para múltiplos segmentos, o byte SMB166 armazena o número de segmentos a ser utilizado na rampa e SMW168 armazena o endereço de memória que contem o início da tabela que descreve a rampa. Para a saída de pulsos Q0.1, a configuração é exatamente a mesma, porem utilizamse os bytes SMB77, SMW78, SMW80, SMD82, SMB176 e SMW178. Píndaro Secco Cancian www.pindaro.com.br CEFET-PR Departamento Acadêmico de Eletrônica 14 Exemplo de configurações da saída de pulso Exemplo de configuração da saída de pulso no modo PWM, com 40ms de tempo total de ciclo e com 15ms de tempo alto. 16#CB é igual ao binário 11001011 Píndaro Secco Cancian www.pindaro.com.br CEFET-PR Departamento Acadêmico de Eletrônica 15 Exemplo de configuração da saída de pulso no modo PTO, com total de 50 ciclos de 25ms na saída. 16#8D é igual ao binário 10001101 Píndaro Secco Cancian www.pindaro.com.br CEFET-PR Departamento Acadêmico de Eletrônica 16 Exemplo de configuração da saída de pulso no modo PTO, com rampa dividida em 3 partes. 16#A8 é igual ao binário 10101000 Bloco de Dados: // característica da VB500 3 // Primeiro Segmento VW501 500 VW503 -2 VD505 200 // Segundo Segmento VW509 100 tempo de ciclo VW511 0 VD513 3400 // terceiro Segmento VW517 100 VW519 1 VD521 400 rampa do PTO // Number of segments // Inicializa com 500 milisegundos de tempo de ciclo // Decrementa por 2 milisegundos cada pulso // por 200 pulsos. // Taxa constante de pulsos com 100 milisegundos de // por 3400 pulsos. // Inicializa com 100 milisegundos de tempo de ciclo // Incrementa por 1 milisegundo cada pulso // por 400 pulsos. Píndaro Secco Cancian www.pindaro.com.br CEFET-PR Departamento Acadêmico de Eletrônica 17 Contador de alta velocidade (HSC) O programa no CLP leva um determinado tempo para ser executado, por exemplo, 250ms. Medir sinais de período inferior a este tempo seria um problema se não existissem os contadores rápidos. Um contador rápido (HSC) é um módulo especial que permite a contagem de pulsos de freqüências elevadas. No caso da família S7-200, algumas CPU’s tem módulos HSC integrados. Os tipos de HSC e os modos de operação dependem do tipo de CPU utilizada, no caso da CPU S7-200 222, dispomos de quatro contadores rápidos, HSC0, HSC3, HSC4 e HSC5 que podem operar nos seguintes modos: Píndaro Secco Cancian www.pindaro.com.br CEFET-PR Departamento Acadêmico de Eletrônica 18 Acessando o endereço do HSC HSC Wizard Para implementar contadores rápidos, utilizamos um wizard que vai nos auxiliar na configuração do HSC. Píndaro Secco Cancian www.pindaro.com.br CEFET-PR Departamento Acadêmico de Eletrônica 19 Depois disso selecionamos “HSC” e clicamos em NEXT, uma pergunta pode ser feita, dizendo que o programa deve ser compilado para implementar um HSC, caso seja feita, clique em YES. Num próximo passo, será perguntado qual contador será configurado e qual o seu modo de operação. Qual contador depende basicamente da CPU que estiver sendo utilizada, e o modo de operação será explicado a seguir. Alguns contadores podem possuir entradas de reset e start. Se o contador possuir resset, caso haja um pulso nesta entrada do contador, o valor do contador vai a zero e permanece em zero durante o tempo que a entrada de reset estiver ativa. A entrada start inicializa e pára a contagem. O valor do contador permanece inalterado. Píndaro Secco Cancian www.pindaro.com.br CEFET-PR Departamento Acadêmico de Eletrônica 20 Descrição dos modos de operação Píndaro Secco Cancian www.pindaro.com.br CEFET-PR Departamento Acadêmico de Eletrônica 21 Píndaro Secco Cancian www.pindaro.com.br CEFET-PR Departamento Acadêmico de Eletrônica 22 Píndaro Secco Cancian www.pindaro.com.br CEFET-PR Departamento Acadêmico de Eletrônica 23 Píndaro Secco Cancian www.pindaro.com.br CEFET-PR Departamento Acadêmico de Eletrônica 24 Voltando ao wizard de configuração, no próximo passo escolheremos o nome da rotina de inicialização do HSC e parâmetros de valor inicial, valor de contagem, direção, tipo de sinal de reset e start e divisor por 1x/4x no caso de contadores de quatratura. Depois de clicar em next , passamos a última tela do wizard que define se alguma interrupção será chamada no caso de reset, de mudança de direção de contagem ou se o contador chegar ao valor definido no preset. Píndaro Secco Cancian www.pindaro.com.br CEFET-PR Departamento Acadêmico de Eletrônica 2 Para inicializar o contador, basta utilizar um contato com detecção de borda ou o bit especial SM0.1. Píndaro Secco Cancian www.pindaro.com.br CEFET-PR Departamento Acadêmico de Eletrônica 26 Operações matemáticas Existem basicamente dois tipos de operações matemáticas nas CPU’s S7-200, as operações com números inteiros e as operações com números reais. Uma operação com uso de número inteiro, leva 46µs para ser executada e uma operação com número real pode levar de 100µs a 400µs. Quatro bits especiais de memória podem ser alterados após uma operação matemática: I1.0 I1.1 I1.2 I1.3 Este bit é ativado quando o resultado de uma certa operação é zero. Este bit é ativado quando ocorre um overflow, ou seja, quando o resultado da operação está fora dos limites do tipo numérico escolhido. Este bit é ativado quando o resultado da operação é um número negativo. Este bit é ativado quando ocorre uma tentativa de dividir um número por zero. Formatos numéricos Byte Número de Bits Espaço na memória Limites Acesso à de memória Usos 8 1 byte 28 = 256 0 – 255 VB Operações matemáticas, comparadores, potenciômetro analógico Word ou Inteiro Número de Bits Espaço na memória Limites Acesso à de memória Outros usos 16 – depende do processador 2 bytes 216 = 65536 0 – 65535 -32768 – 32767 VW Operações matemáticas, comparadores, temporizador, contador, Dupla Word ou Duplo Inteiro Número de Bits Espaço na memória Limites Píndaro Secco Cancian www.pindaro.com.br 32 – depende do processador 4 bytes 232 = 4.294.967.296 CEFET-PR Departamento Acadêmico de Eletrônica 27 Acesso à de memória Outros usos 0 – 4.294.967.295 -2.147.483.648 – 2.147.483.647 VD Operações matemáticas, comparadores Real Número de Bits Espaço na memória Limites Acesso à de memória Outros usos 32 - padrão ANSI/IEEE 754-1985 4 bytes 0 – 4.294.967.295 -2.147.483.648 – 2.147.483.647 VD Operações matemáticas, comparadores Píndaro Secco Cancian www.pindaro.com.br CEFET-PR Departamento Acadêmico de Eletrônica 28 Operadores matemáticos Operações com números reais Soma de números Reais A operação de soma de números reais soma dois valores reais de 32 bits e produz como resultado um número real de 32 bits. EXEMPLO: No exemplo ao lado o valor real contido em VD1000 é somado ao número 123.0, o resultado da operação é armazenado no endereço de memória VD2000 Subtração de números Reais A operação de subtração de números reais subtrai dois valores reais de 32 bits e produz como resultado um número real de 32 bits. EXEMPLO: No exemplo ao lado do valor real contido em VD1000 é subtraído o número 123.0, o resultado da operação é armazenado no endereço de memória VD2000 Multiplicação de números Reais A operação de multiplicação de números reais efetua o produto de dois valores reais de 32 bits e produz como resultado um número real de 32 bits. EXEMPLO: Píndaro Secco Cancian www.pindaro.com.br CEFET-PR Departamento Acadêmico de Eletrônica 29 No exemplo ao lado o valor real contido em VD1000 é multiplicado pelo número 123.0 e o resultado da operação é armazenado no endereço de memória VD2000 Divisão de números Reais A operação de divisão de números reais efetua a divisão de dois valores reais de 32 bits e produz como resultado um número real de 32 bits. EXEMPLO: No exemplo ao lado o valor real contido em VD1000 é dividido pelo número 123.0 e o resultado da operação é armazenado no endereço de memória VD2000 Raiz quadrada de número Real A operação de raiz quadrada de números real extrai a raiz quadrada de um número real de 32 bits e produz como resultado um número real de 32 bits. EXEMPLO: No exemplo ao lado o resultado da raiz quadrada do valor real contido em VD1000 é armazenado no endereço de memória VD2000 Píndaro Secco Cancian www.pindaro.com.br CEFET-PR Departamento Acadêmico de Eletrônica 30 Operações com números inteiros Soma de número inteiro A função soma de números inteiros efetua a soma de dois valores inteiros de 16 bits e gera como resultado um número inteiro de 16 bits. EXEMPLO O exemplo ao lado adiciona 1000 ao valor do temporizador T37 e armazena o resultado no endereço de memória VW2000. Soma de número duplo inteiro A função soma de números inteiros duplos efetua a soma de dois valores inteiros de 32 bits e gera como resultado um número inteiro de 32 bits. EXEMPLO O exemplo ao lado adiciona o valor contido no endereço VD300 ao valor contido no endereço VD1000 e armazena o resultado no endereço de memória VD1234. Píndaro Secco Cancian www.pindaro.com.br CEFET-PR Departamento Acadêmico de Eletrônica 31 Subtração de número inteiro A função subtração de números inteiros calcula a diferença de dois valores inteiros de 16 bits e gera como resultado um valor de 16 bits. EXEMPLO O exemplo ao lado subtrai do valor armazenado no endereço VW1100 o valor de C0 e armazena o resultado no endereço de memória VW300. Subtração de número duplo inteiro A função subtração de número duplo inteiro calcula a diferença de dois valores inteiros de 32 bits e gera como resultado um valor de 32 bits. EXEMPLO O exemplo ao lado subtrai 200000 do valor armazenado no endereço VD600 o valor de C0 e armazena o resultado da operação no endereço de memória VD200. Multiplicação de número inteiro - 1 A função multiplicação de números inteiros calcula o produto de dois valores inteiros de 16 bits e gera como resultado um número inteiro de 32 bits. EXEMPLO O exemplo ao lado multiplica o valor armazenado no endereço VW200 pelo valor de C0 e armazena o resultado no endereço de memória VD150. Multiplicação de número inteiro - 2 A função multiplicação de números inteiros calcula o produto de dois valores inteiros de 16 bits e gera como resultado um número inteiro de 16 bits. EXEMPLO Píndaro Secco Cancian www.pindaro.com.br CEFET-PR Departamento Acadêmico de Eletrônica 32 O exemplo ao lado multiplica o valor armazenado no endereço VW1000 pelo valor de C0 e armazena o resultado no temporizador T150. Multiplicação de número duplo inteiro A função multiplicação de número inteiro duplo calcula o produto de dois valores inteiros de 32 bits e gera como resultado um número inteiro de 32 bits. EXEMPLO O exemplo ao lado multiplica o valor armazenado no endereço VD600 por 200000 e armazena o resultado no endereço de memória VD200. Divisão de número inteiro - 1 A função divisão de números inteiros calcula o quociente de dois valores inteiros de 16 bits e gera como resultado um número inteiro de 32 bits. EXEMPLO O exemplo ao lado divide o valor de C0 pelo número armazenado no endereço VW200 e armazena o resultado no endereço de memória VD150. Divisão de número inteiro – 2 A função divisão de números inteiros calcula o quociente de dois valores inteiros de 16 bits e gera como resultado um número inteiro de 16 bits. EXEMPLO O exemplo ao lado divide o valor armazenado no endereço VW1100 pelo valor de C0 e armazena o resultado no endereço VW300. Píndaro Secco Cancian www.pindaro.com.br CEFET-PR Departamento Acadêmico de Eletrônica 33 Divisão de número duplo inteiro A função divisão de número inteiro duplo calcula o quociente de dois valores inteiros de 32 bits e gera como resultado um número inteiro de 32 bits. EXEMPLO O exemplo ao lado divide o valor armazenado no endereço VD1000 pelo valor contido no endereço VD400 e armazena o resultado no endereço de memória VD400. Incremento de byte A função incremento de byte adiciona 1 a um número inteiro de 8 bits e gera como resultado outro número de 8 bits. EXEMPLO O exemplo ao lado incrementa o valor contido no endereço VB100 e armazena o resultado no endereço VB200. Incremento de inteiro A função incremento de inteiro adiciona 1 a um número inteiro de 16 bits e gera como resultado outro número de 16 bits. EXEMPLO O exemplo ao lado incrementa o valor contido no endereço VW100 e armazena o resultado no próprio endereço VW100. Incremento de duplo inteiro A função incremento de duplo inteiro adiciona 1 a um número inteiro de 32 bits e gera como resultado outro número de 32 bits. EXEMPLO O exemplo ao lado incrementa o valor contido no endereço VD1000 e armazena o resultado no próprio endereço VD1010. Píndaro Secco Cancian www.pindaro.com.br CEFET-PR Departamento Acadêmico de Eletrônica 34 Decremento de byte A função decremento de byte subtrai 1 de um número inteiro de 8 bits e gera como resultado outro número de 8 bits. EXEMPLO O exemplo ao lado subtrai 1 do valor contido no endereço VB100 e armazena o resultado no endereço VB200. Decremento de inteiro A função decremento de inteiro subtrai 1 um de um número inteiro de 16 bits e gera como resultado outro número de 16 bits. EXEMPLO O exemplo ao lado subtrai 1 do valor contido no endereço VW100 e armazena o resultado no próprio endereço VW100. Decremento de duplo inteiro A função decremento de duplo inteiro subtrai 1 de um número inteiro de 32 bits e gera como resultado outro número de 32 bits. EXEMPLO O exemplo ao lado subtrai 1 do valor contido no endereço VD100 e armazena o resultado no próprio endereço VD1000. Píndaro Secco Cancian www.pindaro.com.br CEFET-PR Departamento Acadêmico de Eletrônica 35 Controlador PID As CPU’s de grande portem permitem que sejam incluídos módulos PID (Proporcional, Integral e Derivativo) para o controle de processos. O Controlador Proporcional (P) Muitas vezes, processos simples podem ser controlados satisfatoriamente apenas com a ação proporcional. Neste caso as ações integral e derivativa são simplesmente desligadas. Tem-se: Em mu itos controladores PID industriais, ao invés de especificarmos diretamente o valor de K, especifica-se o valor da banda propocional em valor percentual. Note que, considerando-se umax-umin=100%, tem-se: Logicamente, quanto maior o valor de K menor é a banda proporcional. Como visto no estudo da ação proporcional, para um sistema do tipo 0, quanto maior o ganho K menor será o valor do erro em regime permanente, mas este erro nunca será completamente anulado. O controlador Proporcional-Integral (PI) A principal função da ação integral é fazer com que processos do tipo 0 sigam, com erro nulo, um sinal de referência do tipo salto. Entretanto, a ação integral se aplicada isoladamente tende a piorar a estabilidade relativa do sistema. Para contrabalançar este fato, a ação integral é em geral utilizada em conjunto com a ação proporcional constituindo-se o controlador PI, cujo sinal de controle é dado por: O gráfico da figura abaixo ilustra a aplicação da ação integral conjuntamente com a ação proporcional. A partir deste gráfico podemos dar uma interpretação para Ti: o tempo integral ou reset-time, corresponde ao tempo em que a parcela relativa a parte proporcional da ação de controle é duplicada. Ti é comumente especificado em minutos. Píndaro Secco Cancian www.pindaro.com.br CEFET-PR Departamento Acadêmico de Eletrônica 36 Efeito da ação integral Aplicando-se a transformada de Laplace tem-se a seguinte função de transferência para o controlador PI: Note que tem-se um zero em que tende a compensar o efeito desestabilizador do pólo na origem. Na figura abaixo é ilustrada a influência da sintonia do parâmetro Ti na resposta do sistema considerando-se o mesmo sistema simulado com K=2 constante. Para altos valores de Ti, tem-se a predominância da ação proporcional, sendo que Ti=∝ corresponde ao controlador proporcional. Note que, neste caso, existe um erro em regime permanente. A medida que diminuímos Ti a ação integral começa a predominar sobre a ação proporcional e a resposta tende a se aproximar mais rapidamente da referência, ou seja, o erro em regime tende a ser anulado mais rapidamente. Diminuindo-se excessivamente Ti observa-se que a resposta começa a ficar mais oscilatória numa tendência de instabilização. Isto justifica-se pelo fato de que, neste caso, o zero do controlador começa a se afastar demasiadamente do pólo na origem e o controlador tende a comportar-se como um integrador puro. Píndaro Secco Cancian www.pindaro.com.br CEFET-PR Departamento Acadêmico de Eletrônica 37 PI - K=1; Ti=2(pontilhado),4(tracejado),10(contínuo) O Controlador Proporcional-Derivativo (PD) A saída de uma processo apresenta, intuitivamente, uma certa "inércia" com relação a modificações na variável de entrada. Esta "inércia" explica-se pela dinâmica do processo que faz com que uma mudança na variável de controle provoque uma mudaça considerável na saída da planta somente após um certo tempo. Uma outra interpretação é que, dependendo da dinâmica do processo, o sinal de controle estará em "atraso" para corrigir o erro. Este fato é responsável por transitórios com grande amplitude e período de oscilação, podendo, em um caso extremo, gerar respostas instáveis. A ação derivativa quando combinada com a ação proporcional tem justamente a função de "antecipar" a ação de controle a fim de que o processo reaja mais rápido. Neste caso, o sinal de controle a ser aplicado é proporcional a uma predição da saída do processo. A estrutura básica do controlador PD é dada por: Considerando-se que e(t+Td) pode ser aproximado por Píndaro Secco Cancian www.pindaro.com.br CEFET-PR Departamento Acadêmico de Eletrônica 38 tem-se que u(t)=Ke(t+Td), ou seja, o sinal de controle é proporcional a estimativa do erro de controle Td unidades de tempo a frente. Em outras palavras, a predição é feita extrapolando o valor do erro pela reta tangente a curva do erro no instante t, como mostrado na figura abaixo: Interpretação da ação proporcional-derivativa Esta ação preditiva tende a aumentar a estabilidade relativa do sistema e a tornar a resposta transitória do mesmo mais rápida. Na prática, deve-se limitar o ganho da parte derivativa em altas-freqüências. A função de transferência do controlado PD é dada então por: Observe que o zero do controlador PD está sempre à direita do pólo. Esta configuração é equivalente à de um compensador de avanço de fase. Note também que ao aumentarmos Td, o zero do controlador tende a origem, significando a predominância da ação derivativa. O Controlador Proporcional-Integral-Derivativo (PID) O controlador proporcional combina as vantagens do controlador PI e PD. A ação integral está diretamente ligada à precisão do sistema sendo responsável pelo erro nulo em regime permanente. O efeito desestabilizador do controlador PI é contrabalançado pela ação derivativa que tende a aumentar a estabilidade relativa do sistema ao mesmo tempo que torna a resposta do sistema mais rápida devido ao seu efeito antecipatório. Píndaro Secco Cancian www.pindaro.com.br CEFET-PR Departamento Acadêmico de Eletrônica 39 Considerando-se o mesmo sistema do exemplo anterior e fixando-se K=1 e Ti=2, a influência da ação derivativa na resposta do sistema pode ser observada na figura abaixo: A função de transferência do controlador PID é dada por: É importante ressaltar que a função de transferência anterior constitui a versão clássica do controlador PID. Outras versões e variações existem, mas a filososfia de funcionamento, a partir da combinação dos efeitos das três ações básicas, é a mesma. A figura abaixo mostra o efeito da ação derivativa considerando-se um controlador PID para o mesmo sistema das simulações mostradas anteriormente. PID - Kp=4; Ti=1.5; Td=0.1 (tracejado), 0.4(pontilhado), 2(contínuo) Píndaro Secco Cancian www.pindaro.com.br CEFET-PR Departamento Acadêmico de Eletrônica 40 PID wizard O S7-200 tem um wizard que facilita a implementação do laço PID, para implementar o controlador, primeiro escolha no menu a opção TOOLS > INSTRUCTION WIZARD, depois escolha PID e clique em NEXT. A CPU S7-200 permite que sejam implementados até oito controladores PID. Para que seja implementado um destes laços é necessário que o programa seja compilado. O passo seguinte é selecionar qual dos laços PID será implementado. Píndaro Secco Cancian www.pindaro.com.br CEFET-PR Departamento Acadêmico de Eletrônica 41 Depois selecionamos as características do PID. O endereço de memória onde os bytes de configuração do PID serão armazenados, o set-point normalizado, o tempo de amostragem, ganho proporcional, tempo derivativo e integral. No próximo passo configuramos os parâmetros de entrada e saída, se são sinais unipolares, quais são as os endereços de E/S e seus limites. Píndaro Secco Cancian www.pindaro.com.br CEFET-PR Departamento Acadêmico de Eletrônica 42 As opções de alarme permitem que sejam ativadas saídas no caso do valor de entrada acima ou abaixo do limite especificado. Se for necessário pode ser incluído um sinal de erro em uma das saídas analógicas. Píndaro Secco Cancian www.pindaro.com.br CEFET-PR Departamento Acadêmico de Eletrônica 43 O Controlador necessita de 32 bytes de memória para efetuar os cálculos e efetuar o controle. Se for de interesse pode ser associado um bit de controle que desabilita o controle automático do PID. O último passo é especificar qual é o nome da rotina que será implementado o PID e qual a interrupção que será utilizada. Depois disso o PID está implementado. Píndaro Secco Cancian www.pindaro.com.br CEFET-PR Departamento Acadêmico de Eletrônica 44 Píndaro Secco Cancian www.pindaro.com.br CEFET-PR Departamento Acadêmico de Eletrônica 45