Hi everybody
I am studying to be a marine engineer in Denmark. One of our classes is automation, where we use WAGO 750-841 PLCs.
In one of our projects we use a PID controller, to maintain a given temperature. To measure the temperature we use a 750-461 module, with a PT100 sensor. But when we used D i the controller, we got a lot of spikes i the output signal due to noise on the signal from the PT100 sensor.
In search of a filter we found the OSCAT_Basic_332 lib. At first we tried the FILTER_I on the raw INT signal from the PT100. We tried different time constants, but it didn't remove any noise. We also tried to filter the converted celsius signal, but that didn't help either.
We then got some help from some other students, who had made the project earlier. Then we used FILTER_DW in the way shown in the attachment (don't mind the danish). Here we multiply the celsius reading with 1000, filter it with FILTER_DW, and then divide it with 1000. This method remove practically all the noise.
In the first method with FILTER_I the numbers in the INT is from about 0-1000.
In the method with FILTER_DW the numbers in the DW is from about 0-100.000.
I find it strange that a 100 times greater number should make any difference in how a lowpass filter works.
Can anybody come with a good explanation to why the FILTER_I didn't work?
Or what could be done different, because I don't like the solution we ended up using with the FILTER_DW?
Hope to hear from you.
Regards
Christian Mink
[gelöscht durch Administrator]