question

Joaquín MSV avatar image
0 Likes"
Joaquín MSV asked Joaquín MSV commented

Handling Warehouse content via lists or internal events

Hello all,

I'm trying to implement a logic for a floor warehouse in which I drop items in it based on the Type. That part is properly handled by the logic in "AGV IN" and the list linked to "Queue_IN". So I can populate the different positions based on the box type and the painted bays.

The problem comes for the extraction part. I push in a list all elements that enter in the warehouse (I don't know if there is a better way to track the content of the warehouse and being able to display in a table or graph, filtered by type). When a type of box reaches a certain amount (split by partitions) I would like to trigger the pull to that partition. But I don't know how to check with a trigger in the list or warehouse module if a partitions is over certain number or the warehouse itself has more than X elements of a type to trigger a pull with the proper parameters in the logic of "AGV OUT". Basically I would like to trigger events by warehouse or list content.

I hope the questions is more or less clear.


Extra question: if I define partitions when storing elementes in a list, when I do the "pull from list", and I leave that "partition ID" as "None", nothing is pulled, and monitores is understood as 0. Which is the way of pulling any of the items, not caring about the partition?

Thanks in advance for the help.


Floor_Warehouse_Lines_Assign.fsm


Note: blocks "Pull from List" and "Find Item" in "AGV OUT" are not properly configured because I don't know how to address the question I mention above.

FlexSim 24.0.4
listswarehousingevent trigger
· 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.

Joaquín MSV avatar image Joaquín MSV commented ·

I have updated a little the model to make it functional.

Floor_Warehouse_Lines_Assign.fsm

But I still don't know how to monitor triggers based on content of the warehouse (bay is full, certain type is above some value...).

I can monitor the content with a workaround, which is adding a trigger on entry and exit on the warehouse and write in a global table incrementally the content per bay.

1721986151323.png

Or querying the list based on list length grouped by type. This last option would be better, set a dynamic value to pull content based on that. Which I don't know how to do it:

1721986463566.png

I would be like the one by default provided with item list, but filtered by partition or the label "Type". So I can query the content of each element, or make triggers or similar.

Any help on this point is appreciated. Thanks.

0 Likes 0 ·
Jason Lightfoot avatar image
2 Likes"
Jason Lightfoot answered Joaquín MSV commented

Here's an example of finding the Type to pull based on reaching a quantity by using the storage system's "queryItems()" method.

It uses the query similar to this to find quantities by type and only return records with 6 or more of a given type:

var wms=Storage.system;
string flexql="SELECT count(*) AS Qty, ARRAY_AGG(item) AS items, Type GROUP BY Type HAVING Qty>5 ORDER BY Qty DESC";
Array result= wms.queryItems(flexql,0);
result.as(Table).cloneTo(Table("GlobalTable1"));

PullByQuantityofTypeFromWMS.fsm


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

Joaquín MSV avatar image Joaquín MSV commented ·

Thanks for the suggestion. I'll try to implement something similar in my model.

0 Likes 0 ·
Joerg Vogel avatar image
0 Likes"
Joerg Vogel answered Joaquín MSV commented

Before you push something onto a partition you know this partition ID value. You can have a list only supervising pushes to and from a partition ID. You do this in another list Naturally you must pull from this list when you pull from your partition successfully.

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

Joaquín MSV avatar image Joaquín MSV commented ·

Hello Joerg,

Yes, that's a walkaround that could work. My question was, that being so powerfull the module of warehousing, this could be done like a single database where different triggers and queries can be done from a single list or StorageObject.

Thanks.

0 Likes 0 ·