Controle de Nível de Tanque

Rastrear dispositivos para descobrir o tipo de CPU, Firmware > Online > Acessible Devices

Seleciona o tipo de conexão profinet PN/IE > Sua placa de rede

Achou o endereço IP do CLP

Clica em Show

Clica em Online & Diagnostics manda conectar e visualiza as informações do PLC

Agora vamos adicionar um novo dispositivo de forma que autodetecte o modelo da CPU

Clica em Add new device

Controllers > S7 1200 > CLP Não especificado

Depois disso é possível detecxtar automaticamente o modelo e os cartões integrados na CPU através da opção Detect e depois Start Search selecionando PN e sua placa de rede

Validado OK clica em Detect

Primeiro passo é declarar as tags no CLP

O sensor de nível físicamente está na primeira entrada analógica do CLP

Para saber qual é: Clica com o botão direito na CPU e depois em Propriedades

Clica em I/O Tags

Nomeia Sensor Nível na IW64

a saída analógica para o inversor está na QW80

Seleciona as saídas digitais do CLP para habilitar inversor e válvula do tanque Q0.0 e Q0.1

Depois adiciona uma FC chamada “Analógica”

Quando se trabalha com sinais analógicos é necessário 2 blocos na programação

Normalizar e depois Escalar NORM_X e SCALE_X

O CLP envia de 0 a 27648 na entrada analógica

4 mA = 0 0V = 0

20 mA = 27648 10V = 27648

Primeiro NORMALIZA, ou seja, passa o valor de 0 a 27648 para um valor de 0 a 100%.

no bloco NORM_X o valor mínimo da entrada analógica é 0 e o máximo 27648

o sinal da entrada analógica física eu coloco no “VALUE” do bloco, pois queremos normalizar ele de 0 a 1 (0 a 100%)

Depois temos que criar uma variável temporária no Block Interface para ser a saída na opção OUT do bloco NORM_X que será utilzada para os cálculos. Essa variável é do tipo REAL chamada: Temp_Nivel

A entrada do bloco é um número Inteiro – 0 a 27648

A saída do bloco precisa ser um número Real – 0 a 1

Agora no Bloco SCALE, depois de normalizado para 0 a 100%, eu vou definir os valores mínimos e máximos do nível do tanque, no caso MIN = 0 e MÁX = 100% e a saída será transferida para uma DB.

Então eu crio uma DB chamada Dados_Processo e dentro da DB eu coloco uma variável chamada: Nível_Fisico do tipo Inteiro

e coloca na saída do bloco SCALE “OUT”

Comenta a NETWORK

Agora queremos enviar o sinal para o inversor e fazer o contrário utilizando os mesmos blocos NORM_X e SCALE_X

Agora eu envio um valor de 0 a 100%, normalizo ele e depois escalo para 0 a 27648 para o inversor entender, pois será uma saída analógica de 0 a 10V na entrada do inversor para variar a frequência e velocidade.

O campo VALUE do bloco NORM_X é de onde eu quero estipular este valor. No caso dentro de uma DB, então criamos outra variável na DB Dados_Processo chamada: Velocidade_Bomba também do tipo INTEIRO.

Criamos outra variável temporária chamada: Temp_Bomba

e na saída do bloco SCALE_X coloca a saída digital que criamos no início a QW80

Feito isso, pegamos a FC que criamos e arrastamos para dentro do bloco OB1, pois a FC precisa estar sendo chamada no bloco principal.

Dentro de OB1 criamos duas linhas para habilitar o inversor e a válvula

Criamos outra variável dentro da DB chamada “Habilita” do tipo Bool (digital)

E transfere o programa

É preciso também descarregar o Hardware. Clica com botão direito no PLC > Download to device > Hardware Configuration

Deixe um comentário