Jump to content

Recommended Posts

Good Afternoon

I have a new project that I have to start on, but I have one minor issue (Only 1 I hear you say)

I am using a wenglor height sensor and need to measure the height of a stack of boxes coming down the conveyor.

This wasnt an issue until the wonderful sales guy told me the rest of the information.

Originally it was a flat bottom box going down the conveyor in stacks to a maximum of 10. That would have been easy with the reverse linearization that I was planning on using.

Now it has just got a lot more complicated.

The sales guy now tells me that along with the cardboard boxes, the customer wants to run plastic crates as well.

The cardboard boxes have a solid bottom to them

The plastic crates have a "mesh" bottom to them which means its going to be a now you see me, now you dont, as the values goes from the actual height to the zero level, sort of like a sine wave and the sensor goes through the mesh to the top of the conveyor.


My question is there anyway to just read the maximum value of the MI and ignore the minimum value of the MI?

I will be using a start trigger to know when to start reading the height sensor, and a timer to know how long to read the height sensor for, but I just dont know how to ignore what I dont want


any suggestions welcome


Link to comment
Share on other sites

Are the boxes upside down when they are read? How far apart are the boxes from one another?


One possibility is to start a process once the sensor has been off, or at the level of the conveyor for a period of time. When the sensor then picks up any height other than the conveyor store it into a different MI operand. That MI operand can also be used as a comparison statement, so that after the first reading or so it will only store a value if it is larger than that reading.


For example. A cardboard box exits the sensor area. There is a few inches until the plastic box is read. During this time the Sensor is reading 0 and after 2 seconds of being at 0 it will reset the secondary MI (MI 1) for the max height/comparison statement is set to 0.


When the plastic box is then read the height is then stored into a secondary operand (MI 1) for max height, which is also used as the comparison. If a value of 10 is then stored into this operand than the comparison statement will not allow a new value to be stored into the max height operand unless it is greater than 10. The sensor can then read 0 - 10 - 0 - 10 as long as needed with only the largest value being stored.


Once the box passes and the sensor reads the height of the conveyor (0 for this example) then reset the max height back to 0.


Possible example logic is shown below.


  • Upvote 1
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.

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...