Pulso Borda Subida e Descida como Detectar em Ladder no PLC / CLP Siemens Tia Portal

Por , Comentario
Compartilhar Facebook Compartilhar Twitter

Pulso Borda Subida e Descida como Detectar em Ladder no PLC / CLP Siemens Tia Portal


Como Detetar Borda de Subida e Descida no TIA Portal

Na automação industrial, a linguagem SCL (Structured Control Language) é amplamente utilizada para lógicas complexas e processamento de dados. No entanto, uma dúvida comum é como realizar a deteção de bordas (pulsos) nesta linguagem textual, algo que é visualmente simples em Ladder, mas exige atenção na sintaxe SCL.

Neste artigo, vamos aprender a utilizar os blocos padrão e como construir a tua própria lógica de pulso para CLPs Siemens S7-1200 e S7-1500.


1. O que são Bordas de Subida e Descida?

A deteção de borda permite que o CLP execute uma ação apenas no instante da mudança de estado:

  • Borda de Subida (R_TRIG): Deteta quando o sinal passa de 0 para 1.

  • Borda de Descida (F_TRIG): Deteta quando o sinal passa de 1 para 0.


2. Utilizando os Blocos Padrão: R_TRIG e F_TRIG

Para os CLPs mais modernos (S7-1200 e S7-1500), o TIA Portal disponibiliza blocos de sistema prontos para usar em SCL.

Exemplo de Borda de Subida com R_TRIG: Para utilizar, deves declarar uma instância do bloco (normalmente na área Static do teu FB).

Structured Text
// Chamada do bloco de borda de subida
"Instancia_R_TRIG"(CLK := "Botao_Liga",
                   Q => "Pulso_Gerado");

// Lógica utilizando o pulso
IF "Pulso_Gerado" THEN
    "Motor" := TRUE;
END_IF;
  • CLK: É a variável de entrada que queres monitorizar.

  • Q: É a saída que gera o pulso de apenas um ciclo de scan.


3. Deteção de Borda em CLPs Antigos (S7-300 / S7-400)

Em modelos antigos ou quando queres economizar instâncias de blocos, podes criar a tua própria lógica de deteção utilizando uma variável de memória (auxiliar).

Lógica Manual de Borda de Subida:

Structured Text
// Deteta a transição de 0 para 1
"Pulso" := "Botao" AND NOT "Memoria_Auxiliar";

// Atualiza a memória para o próximo ciclo
"Memoria_Auxiliar" := "Botao";

IF "Pulso" THEN
    // Ação a ser executada
END_IF;

Esta forma é extremamente eficiente em termos de processamento e não exige a criação de blocos de dados extras.


Por que usar Deteção de Borda em SCL?

  • Contadores: Evita que um contador incremente múltiplas vezes enquanto o botão estiver pressionado.

  • Comandos de Set/Reset: Garante que um comando de "Ligar" seja enviado apenas uma vez, permitindo que outras partes do programa possam desligar o equipamento mesmo que o botão físico continue pressionado.

  • Cálculos Matemáticos: Ideal para executar um cálculo ou registar um valor de sensor exatamente no momento de um evento.


Conclusão

Dominar a deteção de bordas em SCL é um passo essencial para qualquer programador que deseja criar códigos limpos e funcionais no TIA Portal. Quer utilizes os blocos R_TRIG/F_TRIG ou a lógica manual com memória auxiliar, a precisão do teu programa industrial irá aumentar significativamente.

Gostaste deste tutorial técnico? Deixa o teu comentário abaixo e partilha qual a tua linguagem de programação favorita no TIA Portal!


Tutorial das funções e como fazer a detecção de Borda de Subida e Borda de Descida (pulso positivo ou negativo).

Linguagem LADDER.

Lógicas e funções existentes no TIA Portal, como utilizar e cuidados.

Se Inscreva em Nosso Canal Youtube:
https://goo.gl/1P1oBS

0 comentários

COMENTÁRIOS AGORA