question

Liam Chiu avatar image
0 Likes"
Liam Chiu asked Kavika F commented

How can I carry four type item from different buffer at once

Hi,

I need to transport four types of item from queues 2,3,4,5 to queues 6,7,8,9 and 10,11,12,13 via an operator (two production lines), and the operator need to carry four items at once. Also, I need to align the cart1 with the position of the item, how can I set it ? I have attached a model of what I have.

Thank you in advance.


carry four types item from different buffer at once.fsm

FlexSim 20.1.3
flowitemoperatorstransport
· 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.

1 Answer

Joerg Vogel avatar image
0 Likes"
Joerg Vogel answered Jason Lightfoot commented

This is a model in Version 21:

carry-four-types_collected-JV.fsm

I have two Lists for tasksequences collecting by a partition ID -one list for each destination area. The partition ID is incremented individually by local variable "port" in each outgoing queue.

Additionally I push an Array to another List "ListOfTSLists" to count the entries on each TSList. This array consists of tasksequence list name and partition value. A dynamic field evaluates the entries of each partition.

Whenever the entries length of a partition reaches 4, I pull the value of ListOfTSLists. I can evaluate first array value to identify the Tasksequence list and by second element the partition. I pull all Tasksequences by this data and dispatch each tasksequences to the operator. I do this in a genearal Process Flow.

Use Transport : adjusted "push to Task Sequence List"

  1. /***popup:PushToList:listType=TaskSequence*/
  2. /**Push to Task Sequence List*/
  3. /***tag:showAdvanced*//**1*/
  4. string toport = "toPort"+string.fromNum(port,0); // string of labelname at queue
  5. current.labels[toport].value +=1;// increment partition ID value
  6.  
  7. if (/** \nCondition: *//***tag:condition*//**/true/**/) {
  8.     TaskSequence taskSequence = TaskSequence.create(assertattribute(current, "stored", 0), priority, preempt);
  9.  
  10.     taskSequence.addTask(TASKTYPE_TRAVEL, current, NULL);
  11.     taskSequence.addTask(TASKTYPE_LOAD, item, current, port);
  12.     taskSequence.addTask(TASKTYPE_BREAK, NULL, NULL);
  13.     taskSequence.addTask(TASKTYPE_TRAVEL, destination, NULL);
  14.     taskSequence.addTask(TASKTYPE_UNLOAD,item, destination, opipno(current,port));
  15.     string listName = /** \nList: *//***tag:listName*//**/"TSList"+string.fromNum(port,0)  /**/;
  16.     int partID = current.labels[toport].value; // read partition value
  17.     List(listName).push(taskSequence, /** \nPartition ID: *//***tag:partitionId*//**/partID/**/);
  18.     Array toPush2 = [listName, partID]; // create value to push to identify 4 combined tasksequences
  19.     List("ListOfTSLists").push([toPush2]); // push value
  20. }
  21. return 0;

Cart request: customize a pallet instead of a box item in flow item bin!


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