whats strange on your project is the fact that you are using a real and then a dword filter.
a filter for real values would be ft_pt1 !!!!
on the other hand i think i found your problems
in codesys you can see a strange number on the top right corner of any symbol used.
this number defines the execution sequence of the code in your case you multiply first and then you subtract which is obviously not meant to be and will lead to strange results.
you can change the execution sequency by right clicking on any signal and then change the sequence number (not 100% sure whats it called in the english version).
this the sequence problem is your problem with filter_I also
a filter for real values would be ft_pt1 !!!!
on the other hand i think i found your problems
in codesys you can see a strange number on the top right corner of any symbol used.
this number defines the execution sequence of the code in your case you multiply first and then you subtract which is obviously not meant to be and will lead to strange results.
you can change the execution sequency by right clicking on any signal and then change the sequence number (not 100% sure whats it called in the english version).
this the sequence problem is your problem with filter_I also