question

Varun Rawal avatar image
0 Likes"
Varun Rawal asked Regan Blackett edited

Photo eye to stop/resume a processer

I have a process spitting parts out at 333 part/min and an accumulating conveyor conveying those now I want to place a photo eye in the conveyor and when parts start back up on the conveyor and blocking the photo eye I want to stop my processes. SO should I trigger a signal to the process saying to stop on block? How can I do that.

FlexSim 18.1.1
processorblockedphotoeye
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

1 Answer

Regan Blackett avatar image
3 Likes"
Regan Blackett answered Regan Blackett edited

Problems like this tend to be a little trickier than they seem on the surface; figuring out whether an item is blocking a Photoeye AND stopped on a conveyor, choosing good events that signal that the blocking item has moved on, etc. It can be done, but be prepared for things to not work quite how you intended the first couple of tries.

With that in mind, here's a simple example of one way you could approach it that involves process flow's Wait for Event capability.

Basically the model works like this: a photo eye is set down the conveyor and does NOT require a gap to clear, and I've set it up so that the Block Time is just a little longer than it takes an unobstructed flowitem to traverse the photoeye. In this case .31 seconds.

Then in Process flow I have a Source that creates one token at the start of the model and that token waits to hear the OnBlock trigger of the Photoeye. When the event takes place, I close Processor1's output ports (so it can send anything to the conveyor) and then wait for the item that blocked the photoeye to leave the conveyor. The token then reopens the output ports of the Processor and gets routed back to the Wait for Event that listens for OnBlock, and the cycle continues.


· 4
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

Varun Rawal avatar image Varun Rawal commented ·

concept2.fsm

That worked out just great.

What I did is I used two PEs instead and used the second PE to start the processor, when blocked. Now I had another question regarding the source that I use. So the source on the process flow and the source on the model, are these the same?

I am also trying to figure out a way to insert another photo eye before the leak detector(LD). So, when the PE3 is blocked, the LD should ramp up to certain speed (i.e - process time should decrease than what is mentioned). Is there a way to do that?

I am thinking to send a message to the LD when the PE3 is blocked and soon LD gets the message it ramps up the speed. Let me know. Thanks.

0 Likes 0 ·
concept2.fsm (46.3 KiB)
Regan Blackett avatar image Regan Blackett ♦ commented ·

@Varun R2

The Source in the 3D model and the Source in the process flow are not the same thing. The 3D source is creating all of your flowitems, the Source in the process flow creates a single token that cycles around the event listening activities and just acts as a controller. If it's helpful, think of the token in process flow as representing the Photoeye itself, and it's ability to listen and react to events.

We can change the processing time on the Leak Detector using a similar principle to the stopping of the object, though I would change one thing about the way the processor works to accomplish it. Rather than putting your delay time into the process time field directly, I would use a label, so that you can adjust the process on the fly. You may also have to consider an event where it's OK to set it back to the original processtime. See the attached modified model:

concept2a.fsm

0 Likes 0 ·
concept2a.fsm (46.8 KiB)
Varun Rawal avatar image Varun Rawal commented ·

Thanks.concept5.fsm

So, soon the photo eye is blocked a label is created of a specified process time. I get that now. However, when you do your "Wait for PE3 to block" activity why do we need to give BlockingItem as the label name, cant we give the name item? I just want to understand why we do that.

I am also trying to do another thing in the model. As you see I am trying to stop the Processor1 while PE1 is blocked, but I also want 200 items more in the conveyor soon the processor is stopped (because the machine that we use has 200 items inside it when it stops and we need to spit that out) soon we stop taking more input (stopping the processor1) from .

I see couple of ways to do this-

Add another source which can process 200 items and send it to the conveyor1

Set a delay time (on photo eye?) so that soon the PE1 is blocked the processor would process another 200 items and stop.

I was trying to create objects in the process flow as you can see in the attached model. I am not able to

Is there a best way to do that? Thanks.

0 Likes 0 ·
concept5.fsm (48.1 KiB)
Regan Blackett avatar image Regan Blackett ♦ commented ·

In the 'Label Matching/Assignment' table found on 'Wait for PE3 to Block' The event the activity listens to provides data back to the activity, in this case the item that causes the OnBlock event to happen, and calls it "Blocking Item". In the 'LabelName or Value' field, you can put any suitable label name you want, in order to capture the data returned by the event. So I gave the label the 'BlockingItem' name because I'm in the habit of using label names that very descriptive. You could absolutely use 'item' in that field as you suggest or anything else that makes sense to you as long as it is consistently used in any other subsequent activities.

If I'm understanding you right, you want to say, once PE1 is Clear, and Processor1 is allowed to produce again, you want to create 200 flowitems into the Conveyor segment that Processor1 is connected to?

So the the reason your new block of activities doesn't work is because the Conveyor object only accepts things through its Entry Transfer objects. If you change the destination given in your Create object to the Entry Transfer on Conveyor1 instead of Conveyor1, it will work.

0 Likes 0 ·