I want to set per cell content = 1 in rack by expression

I want to set per cell content = 1 in rack by expression

jun_wei_p
Not applicable
3,708 Views
13 Replies
Message 1 of 14

I want to set per cell content = 1 in rack by expression

jun_wei_p
Not applicable

[ FlexSim 19.0.9 ]

Dear all,

I want to set the maximum content value =1 in everycell of rack. I think I should do it in logic setting from "Place in bay" & "Place in level", but in my model I have already using "By Expression" to do some thing.Can anyone tell me how to solve my problem?Thank you for your help.

Following file is my model.If you can demonstrate for me, it must be great!

20200619_harmony algorithm assignment.fsm

30148-1593059833461.png

0 Likes
Accepted solutions (1)
3,709 Views
13 Replies
Replies (13)
Message 2 of 14

joerg_vogel_HsH
Mentor
Mentor
Accepted solution

You will do this on your own now, because you have build an own logic to place items inside of racks. If you are going to tell us more about, where and how you assign the rack cell address of an item (item.Bay, item.Level) entering the racks, we might assist to evaluate the current content of a rack cell or present a theoretical procedure to keep track of a condition like max content of a cell = 1.

It is really hard to understand a logic of a model without any documentation. If you help here it is getting easier. And while you are doing this, you can also help by scrapping your working model until it contains only the minimum objects needed to present your current problem. Many Thanks to consider my comment! Regards Jörg

0 Likes
Message 3 of 14

jun_wei_p
Not applicable

@Jörg Vogel thank you for your reply.I assign the rack cell address from the queue named "rack assignment" which placed between the rack1 and rack2, rack3 and rack4, rack5 and rack6, rack7 and rack8 by global table named "cellsTbl" and "base". The item's places are referenced from them.when the Item in the "cellsTbl" will add 0.1 to the value and if the item out it will reduce 0.1, back to the original value.It's very succesful in almost cells, but in some cells which content more than one.I don't know where is the problem.

Hope you can help me to solve the problem. Thanks

0 Likes
Message 4 of 14

joerg_vogel_HsH
Mentor
Mentor

You have build your logic upon my model in a comment of your first question here on this answers site. I don't find the code which responsible to decrement the value indicating a cell is populated. I designed a closed system, which depends on incrementing and decrementing the type value of a table showing the cell front face of a rack. There is a clause in the query filtering matching types of item and cell type. If you increment later the table cell value by 0.1 the comparison won't return a true result anymore. And the result is, a rack cell can store only one item. If I look into your running model I find values which aren't #.0 nor #.1. There is going something really wrong in the closed system, I have suggested.

If you connect an object of the example model of my comment ie a queue and you activate the Use Transport option in the rack, you'll see that the ASRS vehicle transports the items out of the rack.

Because of the limited space in the rack, the responsible queue sends items, which are not storable, to another queue as a bypass. Your model hasn't got this bypass but it has still got the return code to the second output port.

0 Likes
Message 5 of 14

jun_wei_p
Not applicable

@Jörg Vogel Thank you for your reply.I have already know my problem.I will try to figure out it.

0 Likes
Message 6 of 14

jun_wei_p
Not applicable

@Jörg Vogel The code which responsible to decrement the value is in "On Exit" of the trigger of the rack.30202-1593160968818.png

When the model time run to 3000, you will see there are negative value in global table named "cellsTbl6" and "cellsTbl8".In the mean time, in visual model, the maximum content of cells are more than 1 in rack 6 and rack 8.I try to check their itemtype is 7, and in cellsTbl I still find there are more value =7 unadd 0.1, so I think is not enough space in rack.

30212-1593160918309.png30187-1593160860309.png

How can I do in my model to avoid this problem happened?

Thank you.

0 Likes
Message 7 of 14

joerg_vogel_HsH
Mentor
Mentor
Because of the limited space in the rack, the responsible queue [rack_assignment] sends items, which are not storable, to another queue as a bypass. Your model hasn't got this bypass but it has still got the return code to the second output port.

Comment a day ago

0 Likes
Message 8 of 14

jun_wei_p
Not applicable

@Jörg Vogel

Can you demonstrate for me to set a queue bypass from my model ? I don't know how to setup.

Thank you.

0 Likes
Message 9 of 14

joerg_vogel_HsH
Mentor
Mentor

Please look into the model you have copied my code from! The Queue1 has more than one output connection. But this won’t completely extinguish your problems, but I can not help you in your working model anymore. For me it is to complex to understand what you try to accomplish. It would help, if you try to identify a problem in a much smaller model: One rack, maybe two racks; A filter structure in a queue Send To Port function which doesn’t compete with a set of if-conditions against a Port by Case template.

0 Likes
Message 10 of 14

joerg_vogel_HsH
Mentor
Mentor

Is it possible for you to update to a newer Version like 19.2 or even 20.0? The Warehousing feature makes this all a bit easier! Regards Jörg

0 Likes
Message 11 of 14

jun_wei_p
Not applicable

@Jörg Vogel I try to smaller my original model.Attached file is similar to the original one.

I will elaborate my process to the model.I have some different items will via combiner combine the pallet and boxes entry the different floor(Queue1 to Queue 7), then via the Queue(rack1_assignment or rack2_assignment) assign the item into rack1 or rack2. And when the items will exit out the rack, they will go to the separator to separate the pallet and boxes.But it won't extract the all boxes.The extract boxes will go to the sink, and the surplus items including boxes and pallet which don't be separate will go back to their floor(Queue1 to Queue 7) ,then go back to rack again.

Now, I have already add a queue1 as my bypass like your before model . But when I execute my model it still have the problem about the maximum item in cell of rack more then 1.

Can you help me try to find where is the problem of this small model or what can I do?

small_model.fsm

0 Likes
Message 12 of 14

jun_wei_p
Not applicable

@Jörg Vogel Unfortunately I can't.Because I just have the student license with version 19.0.9, so I just can try to build the model from this version.

0 Likes
Message 13 of 14

tanner_p
Not applicable

@jun_wei.p,

Sorry this question hasn't seen more attention. It appears that the attached model you sent did not get uploaded correctly due to a problem with our Answers server. Do you still need assistance with this model? If so, please try uploading the model again. If not, feel free to post the solution you found. Thanks!

0 Likes
Message 14 of 14

Ben_WilsonADSK
Community Manager
Community Manager

Hi @jun_wei.p, was jun_wei.p's or joerg.vogel's answer helpful? If so, please click the red "Accept" button on one of their answers. Or if you still have questions, add a comment and we'll continue the conversation.

0 Likes