question

hermione12 avatar image
0 Likes"
hermione12 asked Jason Lightfoot commented

Move object query

Hi @Jason Lightfoot , for the reply your provided in this post.

I have created and tested in a small model. Can you tell me what is wrong here? I am not able to move certain set of items from one queue to the other based on global table. Here I want to move certain partnumbers with respective quantities to be moved from queue1 to queue2.

how to read and assign the quantity data to the array so that it can be pulled from the list?

move_object.fsm

FlexSim 22.2.3
move object
move-object.fsm (36.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.

1 Answer

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

You seem to have compounded the original question of how to move multiple items using a Move Object activity with another question of when to do it - ie. at what event. We can change your model so that it only tries to do it when you have say 10 items to pull (as an Array).

Next you've interpreted the notion of "move quantity" as some sort of array. It's a scalar - just a number telling you the number to move.

The next point is that you have set the required number to be 1 - so for every arrival you are creating a token which will pull the triggering item of the list an move it. This doesn't exhibit any interesting behavior you might want to model with lists and arrays of items to move.

Another point is that your Move Object reference is just to token.Item - again just the triggering item so will just move one object.

To exhibit the behavior I was describing :

  • 1. change the required number to "requestNum" - which means the same as the value you entered in the field above.
  • 2. Change the Move_Qty to be a scalar integer - eg. 10.
  • 3. Put a timeout on the pull and have the timed-out token go to a sink on output 2 of the activity.
  • 4. Assign the pulled values to token.itemsToMove
  • 5. Use the itemsToMove array in the "Move Object" activity.
  • 6. Revisit and work through all the tutorials as I feel these topics are covered therein.


UPDATE:

I've discovered some more things:

1) You don't need to assign the name and MoveQty to items created in the source as the source creates those.

2) You have a global table defining the move qty so can use that instead of putting it on the source and having it defined it two places.

3) It's better to create a token for each item name based on the MoveQty table and have each wait for the correct amount .

4) The column Move_qty in your global table should be numeric - not a string.

What you're trying to do can then be done with 3 activities and the list:

Source:

1672249414493.png

Pull from list:

1672249450710.png

Move Object(s)

1672249467855.png

Have an expression for Type in the list that just reads the name of the item

1672249506787.png




1672249414493.png (21.0 KiB)
1672249450710.png (23.4 KiB)
1672249467855.png (9.6 KiB)
1672249506787.png (10.2 KiB)
· 14
5 |100000

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

hermione12 avatar image hermione12 commented ·
Thank you @Jason Lightfoot . This is how I wanted to move the objects and its perfect.

But in my larger model. A transporter will carry a pallet with parts & drop into the Queue1 and then I am using a separator to unpack pallet and boxes. The boxes are dropped in Queue1 and the same Move_Qty table is used to move the required quantities to Queue2 . My question is how to keep this in loop in the process flow?

0 Likes 0 ·
Jason Lightfoot avatar image Jason Lightfoot ♦♦ hermione12 commented ·
I don't understand the question - you're talking about things before Q1 which don't affect this process.
0 Likes 0 ·
hermione12 avatar image hermione12 Jason Lightfoot ♦♦ commented ·
Apologies @Jason Lightfoot

What I meant was after it moves the quantities as mentioned in the global table. New items with same part names enter Queue1 and I want to repeat this same process.

Every on entry of Queue1 this process should happen. How to do this?

0 Likes 0 ·
Show more comments