question

wooramkim avatar image
0 Likes"
wooramkim asked Felix Möhlmann commented

Problem on Repeatability

Hi,

I have a problem with model repeatability.

I attached a model (Problem.fsm). In the model, a worker moves totes from Yellow Queue to Blue Queue.

When four totes are moved, the model records finish time on Output Console.

There are two scenarios in the model.

In first case, totes are on Yellow Queue without pallet. This case seems not to cause repeatability problem. Finish times are always the same no matter how the run speed is.

In second case, totes are on a pallet and the pallet is on Yellow Queue. This case causes a repeatability problem. Finish times are different according to the run speed. Could you help me to solve this problem?

Thank you in advance.

FlexSim 24.0.2
repeatablility
problem.fsm (50.4 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.

Felix Möhlmann avatar image
1 Like"
Felix Möhlmann answered wooramkim commented

When the Load activity creates a load task for the operator, the location the operator travels to to load the item is determined based on the last known position of the item (and its container).

An item's location is updated when it is moved into another object and when it is drawn (frame rate dependent). In this case, I believe it's an edge case timing issue. When the pallet is moved into the queue its location is updated, however afterwards the stacking logic of the queue changes the location again. This will update the location again, however inbetween these steps, the items where added to the pallet. Their 'last known position' is their relative position on the pallet, with the pallet still in the middle of the queue!

You can see this if you increase the size of the queue and start the model while the 3d view is not active. The operator will walk to the middle of the queue to pickup the item, as that was the known position of the item when the load task was created.

capture1.png

To work around this, you can call "updatelocations()" on the pallet after it is moved to the queue and before the items are created on it.


capture1.png (111.6 KiB)
· 1
5 |100000

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

wooramkim avatar image wooramkim commented ·

Oh, Thank you!

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

I found that the Queue does not update its subnodes' location unless the subnodes are drawn in 3D view. Even model time elapsed, the locations of subnodes are not updated. But it seems that flowitems (such as pallet) update their subnodes' location instantly without updatelocations(). Is it intended? Please refer to the attached file. Question.fsm


question.fsm (32.1 KiB)
· 1
5 |100000

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

Felix Möhlmann avatar image Felix Möhlmann commented ·
Interesting. Testing this by having an opertor move the items to another queue suggests that the location is updated when the load offset is calculated, however only with regards to the immediate parent.

So the location of an item sitting directly in a queue is updated when the load offset is calculated and the operator travels to the correct location. If the item is inside another item though, the container item's location does not get updated.

In short, loading items directly from the queue should always work, loading items inside a container item will assume the container is in the center of the queue, if its location is not updated through code or by a frame being drawn.

Seems like an oversight by the developers.

0 Likes 0 ·