question

shanice.c avatar image
0 Likes"
shanice.c asked Felix Möhlmann commented

Decision point to control item on conveyor

I would like to use decision point to control item on the conveyor could only move forward after the first item is picked by a taskexecuter. And always keep 3 items on the conveyor.

I have used onMessage to control the close and open of input and output. Could anyone tell me why the control is not working.

DP control.fsm

FlexSim 21.2.0
decision point
dp-control.fsm (42.5 KiB)
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

Felix Möhlmann avatar image
0 Likes"
Felix Möhlmann answered Felix Möhlmann commented

Decision points don't have inputs or outputs that could be closed/opened. Your idea of using messages can work. You could have them set label values on the decision points based on which arriving items are stopped or not. Then the message trigger would also have to resume waiting items if the downstream point is cleared.

However there is a much easier way to do this build into FlexSim in the form of area restriction options.

1636564135247.png

With these you can limit the number of items that can enter an area on the conveyor. "Acquire/Release" limits is to 1, "Enter/Exit" allows you to set the limit. Each area belongs to a certain object. By default the options assume that this is a downstream decision point or photo eye, that is connected via an A-connection (outObject[1]). So in the arrival trigger, an item can acquire the next area, where in the continue trigger the current area is released again.

In the attached model I also close and open the input of the entry transfer to not have items wait in there to enter the conveyor. I also replaced the last decision point with a photo eye, because that way there is an event (clear/unblock) when the item leaves the conveyor that can be used as a trigger. A decision point won't notice when the item is removed. In that case you'd have to use another trigger, for example "On Exit" of the conveyor or "On Load" of the TE and copy the "Release Area" code manually because that option is only available for decision point and photo eye specific triggers.

dp-control_1.fsm


1636564135247.png (12.0 KiB)
dp-control-1.fsm (44.1 KiB)
· 2
5 |100000

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

Farah_najihah A avatar image Farah_najihah A commented ·

Hi @Felix Möhlmann, I copied your way in your model. but my task executor isnt working. is there anything I missed in the setting? and what do you mean by "copy the Release Area code manually? could you please clarify? Your help would be very much appreciated.conveyor dp.fsm

0 Likes 0 ·
conveyor-dp.fsm (50.9 KiB)
Felix Möhlmann avatar image Felix Möhlmann Farah_najihah A commented ·

The exit transfer is not triggered by the items for some reason. Moving it around a bit seems to fix this.

By choosing the "Release Area" option on a trigger the decision point/photo eye, FlexSim automatically inserts the needed code into the trigger. You can view this code by clicking on the small scroll icon.

1652376116395.png

This code can work anywhere though, as long as a reference to the 'area owner' is available ('current' - the object the trigger is defined on by default).

1652376191375.pngFor example, you could copy this code into the unload trigger of the task executer and reference the last photo eye through a center connection. That way you could delay the area release until the task executer unloads an item even though this option is not normally available for the unload trigger.

1652376327184.pngconveyor-dp_release-on-unload.fsm

Different pick options might required more references that only specific triggers possess, so copying trigger functions to other code can be harder/impossible at times.

0 Likes 0 ·