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 |
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
TAUdeve ser maior queCYC(caso contrário, adota-seTAU=CYC).INPdeve estar na faixa -1000 .. 2800 (t(°C) × 10).
Observações
O bloco encadeia dois estágios de filtragem: média móvel de
SAMamostras e filtro digital de 1ª ordem de constanteTAU.Com
RUNem 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 *)
);