Class Filter
Version 1.0
Modified 15-JAN-2025 13:23:34.00
Kod rt_plc_arithm.c
Första ordningens filter. 

Insignalen får en exponentiell utjämning enligt: 

VAL = a · In t + (1 - a) · X = X + a · ( In t - X) , där 

X = FeedB, om FeedB är kopplad
    ActValt - 1, annars

a = ScanTime / FiltCon och 0 < a < 1.0. Om a = 1.0 sker ingen filtrering. 
 
Tips

NB! För att undvika vikning krävs att alla frekvenskomponenter över halva 
samplingsfrekvensen med minst AD-omvandlarens upplösning måste filtreras 
bort analogt. 

En extern signal kan också användas som återkoppling, t ex

Exempel

Om a (= ScanTime / FiltCon ) är litet, 0.1 - 0.2, får utsignalen karaktären av 
uppdaterat väntevärde, som långsamt uppdateras. 


RtBody attributes pwr_sClass_filter
Float32 In IN Värde på insignalen.
Float32 FeedB FB Extern återkoppling. Om ingången lämnas öppen kommer VAL-utgången att
användas som intern insignal.
Float32 ActVal VAL Filtrerat värde, se ovan.
Pointer to Float32 ScanTime ScanTime Programcykeltid (= samplings intervallet), i sekunder, lagras automatiskt vid
kompilering.
Float32 FiltCon FiltCon Filterkonstanten, i sekunder, kan vara fix eller ändringsbar. FiltCon >
ScanTime är giltigt värde. FiltCon = ScanTime ger ingen filtrering.
Int32 AccCon AccCon Ej implementerad funktion. Anger operatörens behörighet att ändra värde på
FiltCont . Följande behörigheter är möjliga:

0 -- Ingen ändring tillåten
? 0 -- ändring tillåten.
Float32 MinCon MinCon Minsta tillåtna värde vid operatörsändring av FiltCon.
Float32 MaxCon MaxCon Största tillåtna värde vid operatörsändring av FiltCon.

DevBody attributes 
PlcNode PlcNode  


GraphPlcNode
object_type 127
parameters[0] 2
parameters[1] 0
parameters[2] 1
parameters[3] 0
subwindows 0
graphmethod 0 (standard, individual attributes)
graphindex 0
default_mask[0] 1
default_mask[1] 1
segname_annotation 1
compmethod 32
compindex 0
tracemethod 0
traceindex 0
executeordermethod 2
objname Filter
graphname Filter
debugpar


Attributes detail


In Input
Klass Input
Typ Float32
Flags REDUTRANSFER
GraphName IN
Kropp RtBody
Värde på insignalen. 

FeedB Input
Klass Input
Typ Float32
Flags STATE | NOEDIT | REDUTRANSFER
GraphName FB
Kropp RtBody
Extern återkoppling. Om ingången lämnas öppen kommer VAL-utgången att 
användas som intern insignal. 

ActVal Output
Klass Output
Typ Float32
Flags STATE | NOEDIT | REDUTRANSFER
GraphName VAL
Kropp RtBody
Filtrerat värde, se ovan. 

ScanTime Intern
Klass Intern
Typ Pointer to Float32
Flags INVISIBLE | POINTER | PRIVATE
GraphName ScanTime
Kropp RtBody
Programcykeltid (= samplings intervallet), i sekunder, lagras automatiskt vid 
kompilering. 

FiltCon Intern
Klass Intern
Typ Float32
Flags REDUTRANSFER
GraphName FiltCon
Kropp RtBody
Filterkonstanten, i sekunder, kan vara fix eller ändringsbar. FiltCon > 
ScanTime är giltigt värde. FiltCon = ScanTime ger ingen filtrering. 

AccCon Intern
Klass Intern
Typ Int32
Flags
GraphName AccCon
Kropp RtBody
Ej implementerad funktion. Anger operatörens behörighet att ändra värde på 
FiltCont . Följande behörigheter är möjliga: 

0 -- Ingen ändring tillåten
? 0 -- ändring tillåten. 

MinCon Intern
Klass Intern
Typ Float32
Flags
GraphName MinCon
Kropp RtBody
Minsta tillåtna värde vid operatörsändring av FiltCon. 

MaxCon Intern
Klass Intern
Typ Float32
Flags
GraphName MaxCon
Kropp RtBody
Största tillåtna värde vid operatörsändring av FiltCon. 

PlcNode Buffer
Klass Buffer
Typ PlcNode
Flags INVISIBLE
Kropp DevBody