question

edwin purwanto avatar image
2 Likes"
edwin purwanto asked edwin purwanto answered

conveyor routing based on (1 flowitem characteristic, 2 cascading logic)

Hello,

So, I have this process

1. Flowitem enters conveyor circulation with itemtype 1 or 2.

2. From this point, they will be assigned directly a workzone (maybe a label at this point?)

a. The workzone assignment is based on how free it is (maybe settrackedvariable? or label?) so if one workzone is occupied, then 1/10 is occupied, so that it increases the number.

b. Assignment is based on parameter above, so dp2 and dp3 will compare each other, which one have less occupancy. Thus dp1 will direct the flowitem to dp2 if it has less occupancy and vice versa

3. Upon hitting either dp2 or dp3, itemtype one will enter smaller conveyor and itemtype 2 will enter bigger one.

My current problem as follow:

1. At first I thought using list. It worked before we deploy conveyor. If the conveyor is deployed, we have hard time figuring out the logic, plus this is somehow cascading. So that the first tier of routing is based on occupancy, second tier of logic is based on itemtype.

2. DP 2 and DP3 is inline within same conveyor, so whichever is directed to dp3, by dp2 will be redirected to dp2.

3. If we succesfully direct flowitem to dp3, it will appear to be teleported from dp2 to dp3

Thank you very much for taking time to examine this problem.

Best regards,

edwin

FlexSim 16.0.1
process flowconveyorsynchronizelist sorting
test.png (694.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.

Brandon Peterson avatar image Brandon Peterson ♦ commented ·

Edwin, I am putting together a sample of a way to do this for you.

0 Likes 0 ·
Brandon Peterson avatar image
6 Likes"
Brandon Peterson answered Brandon Peterson commented

Edwin,

I have attached a sample model for you that uses a method of synchronizing with a process flow to make the decisions at the decision points on the conveyor. The main purpose of the process flow is to use the zone activities to keep track of the content in the different areas. The process logic is also responsible for setting the "SendTo" label on the 3D Item which is used by the decision points set the flow of the items on the conveyors.

The model has two examples. The first example (Zone Full) will send items to the first zone that is not full. The second example (Zone Distribute) will send items to a zone if it is not full and the content is <= the content of the remaining zones.

Here is how it works:

  1. the process flow creates a token that is given a type (1 or 2) and a process time. The token then creates two children (1 for each zone)
  2. Each child creates a 3D item and places it in the Entry Queue for its flow and then sets the color based on the type label
  3. The child token then goes to a Push to List activity where it waits for the item to arrive at a decision point on the conveyor
  4. When the item arrives at a decision point it starts a sub flow that will pull the token from the list
  5. The child token then goes through some activities to decide whether or not to send the item into the current zone. If the item is to exit the main conveyor the token sets the "SendTo" label on the item to 2 or 3 depending on the type its type. **All of the activities between the push to list and where it sets the label on the item must occur in zero time.
  6. If the item stays on the main conveyor the token will increment the "CurZone" label and either loop back to step 4 (if there are more zones) or it will wait for the item to exit the main conveyor.
  7. If the item exits the main conveyor then the token will enter the current zone and then push to the synchronize list and wait for the item to finish conveying to the exit queue.
  8. On entry of the exit queue the item will execute the prior sub flow and pull the child token from the synchronize list.
  9. The child token will then execute the process time, exit the zone, and destroy the 3D item.
  10. The child token will then die in a sink.

The difference between the two flows is that the Zone Full flow uses an Enter Zone activity to make the decision to either continue on the conveyor or enter the zone and the Zone Distribute flow uses a Decide Activity.

I hope that this helps you out with your model. Let me know if you have any questions!

Brandon


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

edwin purwanto avatar image edwin purwanto commented ·

Hi Brandon,

Thank you very much for your answer. This is most likely the direction we are heading to. Your distributive model is the closest it is towards our models aim.

I attach my model to show you my current model, and also my difficulty is still as follow:

1. I have source already from my 3d model, so from your previous example, I delete several processflow token generator. Unfortunately, this is backfired, as so that the synchronization between 3d model and process flow is not there. There are several flowitem without SendTo Label.

2. Tokens are stuck in the w84finishconvey push to list activity..This is due to...I still do not know why this happen. Theoritically, push activity won't stuck, the pull activity is the one supposedly to stuck if there are no entry. This may lead to no 1 above, which only 1 token in a zone, lead to some token doesnt get SentTo label.

3. The convsync subflow activity doesnt seem to push anything.

Another key difference is that I am not using type anymore, I use curzone as the label that is getting pushed to SendTo label, but i dont think this may make a difference.

Thank you again for your help, your model was a great help, unfortunately it is that i need to learn more regarding list. Is there any resources available at the moment?

Best Regards,

Edwin

test3.fsm

0 Likes 0 ·
test3.fsm (3.6 MiB)
Brandon Peterson avatar image Brandon Peterson ♦ edwin purwanto commented ·

Edwin,

Here are some answers to your questions:

  1. Add a label on the flowitems called "SendTo" and set it to 1. I would do this in one of three locations:
    1. In the flowitem bin
    2. In the OnCreation or OnExit trigger of the source that creates the flowitem
    3. In an assign labels activity placed before the "w84convey2dp" activity in your main process flow (The Assign To field would be the label "item" on the token)
  2. This is because you don't have the OnArrival triggers on the decision points set the same as the ones in the sample model I made (with the exception of DP3) **Also, your connections between decision points is different and this will affect the logic in the process flow and the value that the "SendTo" label needs to be set to.
  3. This is due to the same problem that is causing #2

The "SendTo" label on the flowitem is an integral part of the sample I created. This is the method of communication between the processflow and the decision point. The OnArrival trigger of the decision points would cause the processflow to execute logic that would set the "SendTo" label on the flowitem. The OnContinue of the decision point would then send the flowitem to a downstream location based on the value of the "SendTo" label what was set in the processflow. Your model is not doing the same thing for three main reasons:

  1. You don't have any of the triggers in the decision points executing the ConvSync flow prior to DP3. That flow is what is responsible for releasing the token in the main processflow.
  2. The only OnContinue trigger on your decision points that uses the "SendTo" label to direct the flowitems is located on DP1. Because DP1 is located prior to DP3 there is no way that the "SendTo" label will be set prior to the OnContinue code on DP1
  3. Your flowitems do not have the "SendTo" label on them. Without this label the model won't function correctly.

I hope that this helps,

Brandon

0 Likes 0 ·
edwin purwanto avatar image
0 Likes"
edwin purwanto answered

Hello,

Thank you very much for your help. Now it is working, but i change the logic, because if the sorting of zone is done behind, it will make some zone unoccupied, eventhough there are free zone, so the flowitem sorting is then put on top, then zone enquiry is afterwards. Sorry that I got the logic not correct in the first hand.

Best Regards,

Edwin

test2.png


test2.png (56.8 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.