question

operativo avatar image
0 Likes"
operativo asked Felix Möhlmann answered

Problem with moveobject command

Hello, I am doing a model which is based on the production of axes. There are 25 types of axes which are processed on different processors depending on the kind and they are moved in batches. Every piece is evaluated at the exit of the processor to check the quality, deeming it correct or incorrect depending on a probability. If the piece is correct, it goes with the rest of the pieces of the same kind and, if it is incorrect, it is stored in a different combiner and the size of the batch is updated.

My problem is when the last piece of the batch is incorrect, because, despite updating the target size of the combiner, the correct pieces don't go to the next machine. To solve it, I have used the moveobject function (in an exit trigger in every processor) to force the batch to exit the combiner and go to the next machine (I have also considered the case in which the destination separator is full and used the moveobject function when the separator becomes free). Before the moveobject is used in the simulation, if the processor a batch has to go to is blocked, it waits until it is free again and then it goes there. However, after using the moveobject function, if the destination is full at the moment the batch is released, it won't go there once it is free again (it is as if it lost the ability to wait for it to get free). It can be seen around the 5400 minute in the "Combiner T2" with the purple pieces, which don't exit the combiner once the destination separator ("Separador R1") is free again.


I know the moveobject is not the best option, but I would like to be able to see the defective pieces at the exit of each processor. Therefore, I would appreciate if anyone knows any way to solve the problem and make Flexsim work the same way before and after using the function.

Problem with moveobject.fsm

Thank you in advance.

FlexSim 21.1.5
separatorcombinersmoveobjectpartsdefective
· 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.

Joerg Vogel avatar image Joerg Vogel commented ·
Combiner and his update in current process time needs some adjustments in variables of a combiner. A queue doesn’t need such adjustments. You could collect defective items in a queue. And after a cycle of a kind of axes has ended, you know how much must enter a combiner.

Or you build a process flow for a processor object supported in Process Flow. You move always items into this processor and you emulate a processing once all items have arrived. It is up to you how you organize items in your processor. It can be a batch of items or a container structure.
My favorite is a queue and a standard combiner.

0 Likes 0 ·

1 Answer

Felix Möhlmann avatar image
0 Likes"
Felix Möhlmann answered

To prematurely release an item from a fixed resource use the "releaseitem()" command. Note that if a pallet can not exit immediately after the command is executed, the combiner will continue to receive more items until the original target quantity is reached. Updating the "targetcomponentsum" seems to suffice to keep the combiner from accepting further items.

manual-release.fsm


manual-release.fsm (29.4 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.