question

Nicholas D2 avatar image
0 Likes"
Nicholas D2 asked Nicholas D2 commented

Task Error

I am trying to create a very basic manufacturing process using process flow. The process can be broken down into three sections: Assembly, Inspection, and Test. I figured that I should be able to keep the flow item (Material) moving using the same logic for each section while just changing the destination label names, but my process is giving me an error at Inspection. I can't figure out why.

Basic mfg lab model.fsm

FlexSim 20.1.2
flexsim 20.1.2task errorbasic task logic
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

tannerp avatar image
0 Likes"
tannerp answered Nicholas D2 commented

@nicholas.d2,

You're correct in that you can use the same logic for each section. The problem is just that each section should have its own Source that creates a token for that section. Then, the token should go to a sink at the end of each section. The reason is that Source activities generally should not have connections in, only connections out. I've tried to illustrate this here:

New logic with sinks:

Also, you need to undo all the A-connects between objects so that the Process Flow can handle the logic instead of the 3D objects. It looks like you were using 3D logic and then switched to Process Flow, so make sure you've corrected the artifacts left from that, such as the "Use Transport" option in the Flow tab of the 3D objects.

Uncheck this box in the 3D objects so the Process Flow handles the logic:

One last thing -- You may want to add a "Wait for Event" activity in Process Flow that listens for the items to finish processing before loading them from the processors. Otherwise, the full process time at each processor is not realized.

I suggest updating the logic as indicated and then see if it works better. Please feel free to comment back if you have any questions. Unfortunately, I don't have 20.1 on my machine, but I updated some of your model in 20.0 and you should be able to open it in 20.1. Hope this helps!

basic-mfg-lab-model_2.fsm


· 3
5 |100000

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

Nicholas D2 avatar image Nicholas D2 commented ·

Tanner, I implemented your suggestions and saw some improvement, but I'm still confused about a few things. @tanner.p

1. You say to remove the A-connects between all of the objects, but if I do that, then my model doesn't do anything. Don't I still need the connections so that the process flow can tell the flow items where to go next? Also, the model you sent back still has connections everywhere except between the Test Rack and the first three test processors.

2. I don't understand why you turned off the transport reference in the Test Rack queue. Turning that off is stopping the operators from picking up flow items when they enter the queue.

3. I tried ading a Wait for Event activity in the assembly task sequence. It seems to work until the end of the processing activity when the operators move to the Inspection Rack queue but don't move with the flow item. Why is this?

4. I adjusted the logic in the Test Tast Sequence to try to properly send the flow item through the sequence of tasks, but I'm still getting an error. Can you help here?

Thanks!

Basic mfg lab model.fsm

0 Likes 0 ·
tannerp avatar image tannerp commented ·

Hi @nicholas.d2,

These are good questions. Instead of changing the model for you, I will just do my best to explain the concepts behind each of these things.

1) The A-connects and Process Flow function separately by default. This means that A-connects can function without PF and vice versa. I left some of the connections because I was only demonstrating on part of the model. The main takeaway is that you need to determine what controls your logic. You can have the 3D model (processors, dispatchers, etc.) decide where to send items, how long to process them, etc. OR you can have PF do the same thing. You can intermingle 3D and PF to some extent, but you cannot handle the logic with both 3D and PF.

2) This goes back to the prior answer. If you're using the 3D model to transport the objects using an operator, then you need to tell the 3D objects what operator to use. But, if you're using Process Flow, you "Acquire" the operator that will be used to move the objects. You must choose one or the other. I was under the impression that you wanted to use PF, so I began making changes towards that.

3) Try setting up the Wait for Event activity so that it listens to "match" a certain material rather than assign a new material label.

This will listen for the specific item already assigned to the token label "Material".

4) The Test Task Sequence Process Flow block is set up mostly correct. It's important to note that your 3D objects are handling the logic right now and the PF isn't doing anything. You'll need to change the Flow settings in the 3D objects. But, I think I should mention that the way you're setting the "Destination" labels may not work if the 3D objects aren't assigning the destinations and sending the items. Does that make sense? The PF can instead acquire one of the resources in the "Testing" Group (if you haven't created one, you can do that and then acquire the testing processors).

Another thing to watch for is in each of the tasks. The item should be "token.Material" for all the activities. About half way through, you switch to "token.item", for which there is likely no reference.

I hope this helps. I'd review the 3D Logic and Process Flow tutorials and try working with them separately before you integrate them. It gets a little confusing. Best of luck!

0 Likes 0 ·
Nicholas D2 avatar image Nicholas D2 tannerp commented ·

Yes, this is very helpful. Thanks!

0 Likes 0 ·