question

Ryosuke S avatar image
0 Likes"
Ryosuke S asked Jason Lightfoot edited

slotItems.length in floor storage doesn't seem to be returning correct value

Hello, I'm trying to get the number of flowitems in specified slot. I have implemented the logic in ItemList2 QTY field. However, it doesn't seem to be returning correct value.

The purpose of this is that when 4 flowitems are accumulated in the slot, I want the gantry to pick from those 4 items and carry to Queue2. So, what I thought was that when flowitem enter the floorstorage, count the number of flowitems in the specifed address (QTY in itemlist2) so that I can filter with QTY upon picking.

I notice there are some useful feature in 2021 such as find Slot activity, but currently, japanese version is in 2020.1, so I need to find a way in this version.

Load_Unload_Gantry.fsm

FlexSim 20.1.3
processflowflexsim 20.1.3floor storageslots
capture062.jpg (273.3 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

Jason Lightfoot avatar image
0 Likes"
Jason Lightfoot answered Jason Lightfoot edited

You need to check the Dynamic field for the quantity.

· 10
5 |100000

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

Ryosuke S avatar image Ryosuke S commented ·

@jason.lightfoot Thank you for your reply. I tried with Dynamic field checked. But still don't seem to return correct value as you can see in below image.

Load_Unload_Gantry.fsm

0 Likes 0 ·
capture064.jpg (136.0 KiB)
Jason Lightfoot avatar image Jason Lightfoot ♦♦ Ryosuke S commented ·

What makes you say it's incorrect?

If you were listing all the items at that time you would see something like this:

But you're not - you're waiting until the FloorStorage sentto fires so only see the items that have physically arrived

This might be simpler for the quantity expression.

Storage.Item si=Storage.Item(value.as(treenode));
return si.assignedSlot.slotItems.length;
0 Likes 0 ·
1615043019986.png (26.2 KiB)
1615043542469.png (23.3 KiB)
Ryosuke S avatar image Ryosuke S Jason Lightfoot ♦♦ commented ·

@jason.lightfoot Your assumption is correct. I only want to see the items that have physically arrived at the FloorStorage. What I expected is that the items which arrived at the Floorstorage will be stored in ItemList2. Could you run the attached model up to 100 sec? Then you should see like the capture below. Now there are only 3 flowitems on the FloorStorage, but the ItemList2 entries return 4 if you count up the 'Qty'. For (Bay, Level, Slot) = (1,3,1), there is only one item on FloorStorage but Qty returns 2. Why?

Then when I looked at the flowitem on the queue, there is one waiting to be stored in (1,3,1: check the label). But it is not on the FloorStorage yet. It haven't even entered the FloorStorage. My understanding is that if this flowitem have not entered the FloorStorage, it should not be in the ItemList2 as well. But my logic for calculating 'Qty' already seems to have taken this item in to account already.

So, how should I correct this? I tried the previous code you recommended but didn't change.

Load_Unload_Gantry2.fsm

0 Likes 0 ·
capture065.jpg (149.5 KiB)
Show more comments