Jump to content

Recommended Posts

  • MVP 2023

There are a couple of ways.  Take the SB3 out as that doesn't address the problem.

When you say "linearization table", did you really make a table or are you using a Linearization block?  Is the sensor output linear or non-linear?

First, start with the filtering property on the hardware setup screen.  If that's not enough, look under the FB's menu at the Filter function block.  Take the output of your scaling and use it as the input of the Filter block.

If you post your code we can have a better idea of what you're doing and make some edits for you.

Joe T. 

Link to comment
Share on other sites

Visco,

I used the filter block on a V430 with 4-20mA pressure sensor (used to derive the feet of water in an elevated tank). Had issues with rapid fluctuations on the scaled integer. The filter block with configuration D#0, D#16, D#4  dampened the analog value enough for a numeric display that was readable by the operator.

Link to comment
Share on other sites

  • MVP 2023

Hi Visco,

bearing in mind everything Joe & Hots suggest, I am puzzled in the first place as to why you are getting the fluctuation you say with innate high filtering.  Looking at your Linearisation parameters means you are only trying to display 1 or 2 digits most of the time.  Have you found and used my Linz calculator here?  It can help at times to visualise expected results.

In your Startup Params post, you mentioned a tank field.   Given that you also now say it is a bulk level tank, I can't see how it is changing so quickly that you can't get stable readings over a range which looks like you are doing it as a 0-100 percentage of full.  That's a rapidly changing level in a bulk tank!  What sort of sensor are you using?  Perhaps it is positioned such that it is being affected by your incoming material?  This would definitely account for your weird readings.  Or perhaps you have MI22 in use somewhere else in the program and it is being written to more than once.   Right click anywhere in the MI22 row in the Operands tab, and choose "find".  Check out the results.

There are many ways to implement filters which will do your job, but at present I am puzzled as to why you need it in the first place!  It also just occurred to me that you should make sure your plc is physically set correctly for 4-20 input, if that is needed on whatever you are using.

cheers,

Aus

Link to comment
Share on other sites

  • MVP 2023

And also a PS to the above.....your descriptions MI 28-31 in your Linz look a bit confusing.  MIs are useful as you can easily adjust them online for input tolerance discrepancy.  But your labelling might be confusing you elsewhere?  Also, just FYI, if tolerance isn't that important, you can use constants instead of MIs in this situation.

Hmmmmm.  I wonder if your inputs are going outside the ranges?  Can you monitor and report back what numbers you see for MI2 during operation?  There is no max/min control inbuilt into the Linz function.  If your input goes under or over, the Linz will keep on going in its conversion, which can create issues.  Please advise!

cheers again,

Aus

Link to comment
Share on other sites

Hi Aus,

I guess I should have mentioned it's an agitated tank. The material is semi thick, approx 5000 cP. So when the agitator is running it has slow moving, but large waves in it causing the fluctuation in readings. Like the fuel tank in your car, if there was not a delay to your gas gauge you would see the level changing rapidly.

Thanks

 

Link to comment
Share on other sites

1 hour ago, Flex727 said:

Am I missing something, or is everything backwards in the linearization function block? Shouldn't it be:

X1 - 3277

Y1 - 0

X2 - 16383

Y2 - 100

Maybe it doesn't matter, but seems very counterintuitive.

Good eye. When we programmed all the level sensors they could be ascending or descending.  We picked the wrong one. :)

Link to comment
Share on other sites

  • MVP 2023

Hi Flex, I thought the same but without knowing the tank's layout details it doesn't really matter, the end result is the same.  Visco is probably working around the way the output arrives and got to these number placements by trial and error.  I remember the very first time I used Linz I scratched my head for a while.  That's why I eventually made my excel with extra naming!  It might be an ultrasonic that is at it's highest output when the target is closest.  So if it is in the top of the tank looking down, the associations are logical,  just his numbers placement into the "wrong" positions is odd.  I'd do it your way.

cheers,  Aus

Link to comment
Share on other sites

  • MVP 2023

And another few thoughts,

I've assumed that you have the hardware configuration Mode settings at "Normal", not "Fast".  This alters your input numbers range accordingly and might be upsetting things if incorrect.

And for monitoring MI2 like I want, the easiest way is to open the Linz itself without being online.  Double left click on the block, and once open you then click on the blue glasses icon at the top of the column and it will go online for just those numbers.  Especially useful in your case as it will be fast.  The main thing is what MI2 is doing.

cheers, Aus

Link to comment
Share on other sites

  • MVP 2023

And now that I've absorbed the other responses from you just showing, I think you should first try the Filter function block like Joe's post says...more info makes the world of difference!  If this isn't enough, then you'll have to set up filtering of the output from the filter...ie  cascade the filtering.  I've had to do this on some sensors I've worked with,  ended up using timed vector copies from the filter function output that then got averaged.  You can do endless maths, depending on how accurate you want to be.  But given the medium is agitated, it's always not going to be perfect.

However, if the material is fairly viscous, is the "wave" only an increase in height near the agitator's edge(s)?  If so, you should do your level sense once the agitator is past the read point and the medium is stable, which would always be the "lowest" reading in the constant sensing.  You would set up some rolling compares checking the "lowest" point in each "up and down".  You'd have this compare happening every scan and then put the output into a filter function block and it would likely turn out very stable.  ie Find the low point of the medium each time the blade goes past, and filter this. 

PS edit: The compare actions would be done on MI2 before you put it into the linearisation.  You may not need any filtering at all given you're only doing 0-100 from such large inputs.

cheers,

Aus

Link to comment
Share on other sites

  • MVP 2023

Hi Cara, although a little off topic, this thread is a classic example of my whinge here:

Immediate posters have done responses/answered, Visco has answered but because he is not immediate his replies haven't shown for them to consider.  So other thoughts have evolved which then look odd when the system suddenly inserts Visco's responses into the thread according to their time of lodge, wherever that is in relation to responses posted immediately.   Something really needs to be done about this.  It is annoying.

cheers, Aus

Link to comment
Share on other sites

On 2/5/2017 at 3:50 AM, Cara Bereck Levy said:

This is your friendly neighborhood forum administrator!
Just wanted to say that I walked in this morning, and had a look at this thread It is a great example of what the forum is all about :)

(viscoelastic, speaking as a former dairymaid, I must say that really like your avatar :) )

 

Hi Cara (Dairymaid), Glad you like the avatar, I am a chemist by day and beef cattle farmer by night/weekend :D

Link to comment
Share on other sites

On 2/5/2017 at 4:35 AM, Ausman said:

Hi Cara, although a little off topic, this thread is a classic example of my whinge here:

Immediate posters have done responses/answered, Visco has answered but because he is not immediate his replies haven't shown for them to consider.  So other thoughts have evolved which then look odd when the system suddenly inserts Visco's responses into the thread according to their time of lodge, wherever that is in relation to responses posted immediately.   Something really needs to be done about this.  It is annoying.

cheers, Aus

I agree, I understand you are trying to avoid spam, and/or mean people, but I think after a few posts; the posters replies should be immediate. Thanks

Link to comment
Share on other sites

On 2/9/2017 at 6:17 PM, viscoelastic said:

I agree, I understand you are trying to avoid spam, and/or mean people, but I think after a few posts; the posters replies should be immediate. Thanks

We really do need to continue to moderate responses. However, we have taken some steps to reduce the wait time--hope you will note an improvement :)

Link to comment
Share on other sites

  • MVP 2023
18 hours ago, hotwires said:

Thanks to someone on here I'm using the phrase "Linz" as a bit tag name.  I hope a have your blessing!

That description is subject to Israeli trademark number 049 115 116 032 065 112 114 105 108 033, and you need special permission to use it!

ho ho.

cheers,

Aus

  • Upvote 2
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...