question

Abhijeet P avatar image
0 Likes"
Abhijeet P asked Abhijeet P commented

How to Flow item from Diff processor with diff. cycle time to one processor ?

Taloja Logic Model.fsmTaloja Logic Model.fsmHi I attched my model here for referance. In my model item flows from Source to Queue -1 in single flow from Queue-1 to Processor-1 in single flow from Processor -1 to Queue-2 in single flow from Queue2 to Processor2 in single flow, Processor 2 to Queue-3 in single flow. At Queue-3 there i make a batch of 10 items and then complete 10 items batch transfer to individual processors on available.then from each processor's cycle time completion item transfer to Processor8 one at a time. During this process Processor 4 & 5 have less cycle time when i start the simulation after first batch processing from each processor 3 to 7, then item starts to flow from 4th processor as his cycle time is less but after it's 7th item,flow stop from the processor 4 & start from the processor 3. After completion of all 10 items from processor 3, flow start from processor 4 for remaining 3 items. How can i simulate the process so that flow will start from processor only after completion of batch from previous processor.

FlexSim 18.0.10
flexsim 18.0.10priority of delivering items
· 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.

Ryan Clark avatar image Ryan Clark commented ·

Hi @abhijeet.p, was Joerg Vogel's answer helpful? If so, please click the red "Accept" button at the bottom of their answer. Or if you still have questions, add a comment and we'll continue the conversation.

If we haven't heard back from you within 3 business days we'll auto-accept an answer, but you can always unaccept and comment back to reopen your question.

0 Likes 0 ·
Abhijeet P avatar image Abhijeet P Ryan Clark commented ·
no problem is not solved yet. Please help out to solve this issue.
0 Likes 0 ·
Ryan Clark avatar image
0 Likes"
Ryan Clark answered Abhijeet P commented

Hello @Abhijeet P,

I believe I have addressed your problem. I changed the logic somewhat to accommodate your request. Most notably, I removed the port connections between Processors 3-7 and Processor 8, and changed the "Send to Port" logic to "Push to List" logic. I then changed the Input logic on Processor 8 to pull from that list based on a Query that ordered the list entries based on how long they'd been on the list. This helped Processor 8 pull all 10 items from one processor before moving on to the next.

In addition, I added a small amount of process flow logic to close the input to the processor once it had 10 items and open it again only when there were no items remaining in the processor to maintain the batching done in Queue 3. This prevented the processors from continually pulling new boxes while unloading into Processor 8.

So, once a batch of 10 items is made in Queue 3, they are sent all together to the processor. Once the processor finishes processing, it pushes its items to the list, and those items are then pulled by Processor 8 in the order they were completed. Then, once all 10 items have gone to Processor 8, the processor receives a new batch of 10 items from Queue 3, and the cycle repeats.

Here is my modified version of your model: taloja-logic-model-rc-v2.fsm

I hope this helps address your problem! Let us know if you require further assistance.


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

Abhijeet P avatar image Abhijeet P commented ·
@ Ryan Clark Thanks for reply. It works exactly like i want to build the logic in model. Thanks.
0 Likes 0 ·
Joerg Vogel avatar image
0 Likes"
Joerg Vogel answered

Note: I didn’t look into your and it is only a hint.

You can close the input of any object by its On Entry trigger. Then the object won’t receive any new item from its input connections. You can collect all your items in a batch in a queue and this queue can fire an event when this collecting ends. By this event through a trigger you can directly open the input of each processor again. There are templates in the triggers of any objects which you can choose. You can fill the template parameters often by the sampler tool which icon looks like an eye dropper. You click on the icon and you move the eye dropper mouse pointer to objects you want to collect data from. If you have set up an open input action, you append another template by the green plus icon in the left most bottom corner of the current template.
If you want to release only one item for a batch, then you do this in a combiner in Join Mode. You connect the output of a queue with at least two connections to the combiner. The first connection delivers an item as a container and this item will be released by the combiner later. Any other item of the batch will be released to the combiner through the second output port or high output port number. You must set up the Components List in the combiner properties tab to collect the amount of items you want to join in the container item. If you want to be absolutely sure that you batch the right items and combine them, I would open the input of the involved processor by a trigger in the combiner. If you want to process items of different batches while processors are working still on a first batch you mark items of a batch by a label value on them and you Pull items of this label value into your objects instead of pushing them by Send To function.

5 |100000

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

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

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