question

Cody Barniak avatar image
0 Likes"
Cody Barniak asked Adrian Haws commented

Task Error Issue

Hello.

Usually on friday the 13th or during the first week of feb, I get a task error on my task executer, than stops the model from continuing its run. Can't seem to understand why I have looked through the options but can not find the error.

Appreciate your time.

Cody

modelo-propuesto-dias.fsm

FlexSim 7.7.4
warehousetask executertask sequence
· 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.

Kari Payton avatar image Kari Payton commented ·

@Cody Barniak could you explain what is going on in the process flow. I noticed it is not correctly reading the item label in the subflow, but I'm not sure what the flow is supposed to do in general.

1 Like 1 ·
Adrian Haws avatar image
0 Likes"
Adrian Haws answered Adrian Haws commented

Hi Cody,

I apologize that my initial process flow caused some problems in your model. Some weird things happen when a Pull from List tries to pull 0 items. Basically it pulls all the items it can, and moves them to the queue as you see in the model. However, the items stay on the list and show as NULL when pulled again. I fixed this by placing a query in each list that only pulls anything if the item label is greater than 0.

Another issue is that you set up the item labels to choose a row of the global table based on a "curWeek" label, which didn't exist. This was an easy fix, as I just changed the "curDay" label to "curWeek".

Your model now seems to be running correctly. However, there is an error that appears saying that "Alm Azucar" tries to place an item in bay 0 and level 0. I haven't yet been able to find the cause of this issue, but it seems unrelated to the Process Flow changes I made. I'll look more into it when I can, but it might help to ask about that in a new question.

See attached model for changes.


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

Cody Barniak avatar image Cody Barniak commented ·

Hi @Adrian Haws thanks for the changes. I believe the error you mention is due to how the racks are programmed to place items in bay, I played with the programming to make the stacking move from back to front. Maybe something is programmed wrong. Though I haven't been able to find the issue.

0 Likes 0 ·
Adrian Haws avatar image Adrian Haws Cody Barniak commented ·

@Cody Barniak Sorry for the late response. It looks like you altered the code in several of the racks. This is how it should look:

for (int index = 1; index  <= nroflevels ; index ++) {
	if (rackgetcellcontent(current, baynumber, index ) < cellcap)
		return index ;
}
return 1;

And this is how you had it:

for (int index = 10; index  <= nroflevels ; index --) {
	if (rackgetcellcontent(current, baynumber, index ) < cellcap)
		return index ;
}
return 1;

The problem arose for Alm Azucar when it reached capacity in each bay and level, but the for loop continued to iterate, causing the value of 0 for "index" to be returned. This code will need to be changed in several different racks, for both the "Place in Bay" and "Place in Level" logic.

0 Likes 0 ·
Logan Gold avatar image
0 Likes"
Logan Gold answered Adrian Haws commented

I think part of the problem might have to do with the Sub Flow in your Process Flow.

In the Sub Flow, all child tokens are created at the same time with their creationRank label set correctly. However, each child token goes through the Sub Flow one at a time. This means entries are removed from the "pulled" array of the parent token before most of the child tokens set their "item" label in the first Assign Labels activity.

So the first child token of a batch should have its item label set correctly (it will match the first entry of the array). However, after it makes it way through the rest of the Sub Flow and the last Assign Labels activity removes the first entry from the array, the rest of the entries move up one position in the array. The second child token sets its item label to the second entry in the array as expected, but that entry used to be the third entry.

Because of this, I believe each child token after the first token is not correctly setting their item label to the correct reference. I think you will want to change the first Assign Labels activity in the Sub Flow so it sets the item label of each child token to the first index in the pulled array and not even worry about the creationRank label at all. You can change the Index field from getlabel(token,"creationRank") to 1.

Please let me know if my understanding of your model is incorrect, because after making this change and running the model, an error occurs much earlier in the model run.

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

Cody Barniak avatar image Cody Barniak commented ·

Hi @Logan Gold @Kari Payton thanks for your answer. Im quite new with process flow. But the process in explained in the initial post at this link, to give an insight.

https://answers.flexsim.com/questions/33006/warehouse-picking.html

Here is where I was suggested to use process flow and @Adrian Haws helped me with the programming to solve a certain rack picking issue.

Later on I found a problem as I switched model to daily picking and noticed issues on how the process flow was doing the picking, where @Sam Stubbs suggested I'd rank the entities because all items where being created at once hence none where being moved. Follow the link

https://answers.flexsim.com/questions/33644/problem-in-distance-traveled-by-taskexecuter.html#comment-33718

That solution works well because I have been able to run the model for the full 3 months period (only twice) but it usually stops on friday 13th or 1st week of feb.

@Logan Gold where do you suggest your changes? Im looking under process flow, trying to spot the field you mention but havent had much luck. I believe your understanding of the model is correct but don't know why you get an error once you change label to 1.

Hope this explains some of the functioning of the model.

Thanks everyone for your help. Model almost finished.

Cody

0 Likes 0 ·