PT100_DFT

Condiciona um sinal de temperatura RAW (faixa -1000 .. 2800, correspondente a t(°C) × 10) aplicando um filtro de média móvel seguido de um filtro digital de 1ª ordem, devolvendo o valor em unidade de engenharia (°C) e uma indicação de falha do sinal. É um bloco de função (mantém estado entre scans; requer instância).

Biblioteca: HI_STD · Namespace: HILS · Tipo: bloco de função

Bloco de função

             PT100_DFT
          +-------------+
 BOOL ----|RUN       OUT|---- REAL
          |             |
  INT ----|INP      FAIL|---- BOOL
          |             |
USINT ----|SAM          |
          |             |
 TIME ----|TAU          |
          |             |
 TIME ----|CYC          |
          +-------------+

O sinal em INP passa primeiro por uma média móvel de SAM amostras e, em seguida, por um filtro digital de 1ª ordem de constante de tempo TAU, com período de amostragem CYC. O resultado é entregue em OUT em unidade de engenharia (°C) e FAIL sinaliza falha no sinal de temperatura.

Importante

O valor de TAU deve ser maior que o tempo de amostragem definido (CYC). Se TAU for menor ou igual a CYC, é considerado TAU = CYC.

Parâmetros

Nome

Direção

Tipo

Padrão

Faixa / Unidade

Descrição

RUN

IN

BOOL

TRUE

—

Habilita a execução dos filtros sobre o sinal de entrada.

INP

IN

INT

0

-1000 .. 2800 (°C × 10)

Entrada RAW do canal de temperatura.

SAM

IN

USINT

10

amostras

Número de amostras da média móvel.

TAU

IN

TIME

T#5s

—

Constante de tempo do filtro digital de 1ª ordem.

CYC

IN

TIME

T#200ms

—

Período de amostragem (deve ser menor que TAU).

OUT

OUT

REAL

0.0

°C

Temperatura filtrada em unidade de engenharia.

FAIL

OUT

BOOL

FALSE

—

Sinaliza falha no sinal de temperatura.

Pré-condições

  • TAU deve ser maior que CYC (caso contrário, adota-se TAU = CYC).

  • INP deve estar na faixa -1000 .. 2800 (t(°C) × 10).

Observações

  • O bloco encadeia dois estágios de filtragem: média móvel de SAM amostras e filtro digital de 1ª ordem de constante TAU.

  • Com RUN em FALSE, os filtros não são executados.

Exemplo

Clique aqui para baixar a tabela de variáveis

Código ST

VAR
    my_PT1_DFT : HILS.PT100_DFT; (* Instancia do filtro *)
    TP00       : INT;            (* Entrada RAW do canal de temperatura *)
END_VAR

(* Exemplo de ativação do bloco dentro da POU *)
my_PT1_DFT(
  RUN  := TRUE,    (* [BOOL]  Habilita execução dos filtros no sinal de entrada *)
  INP  := TP00,    (* [INT]   Entrada RAW do canal de temperatura (°C x 10) *)
  SAM  := 5,       (* [USINT] Nro. de amostras para média móvel *)
  TAU  := T#5s,    (* [TIME]  Constante do filtro digital *)
  CYC  := T#200ms  (* [TIME]  Tempo de amostragem *)
  (* OUT  => ,      [REAL]  Saída de temperatura em unidade de engenharia (°C) *)
  (* FAIL =>        [BOOL]  Falha no sinal de temperatura *)
  );