question

Abhay Bajpai avatar image
0 Likes"
Abhay Bajpai asked Jeanette F commented

Object gets created but does not move to destination (Flow Item)


The Flow Item (called 'ChassisFlowItem') creates parts as it goes down the conveyor line at every station. All parts are created using Create Object and moved to the flow item using Move Object in a sub flow. Almost all items created move to the flow item except M1_Deck_A and M1_Sidewall_A. They are created but they do not move. Attaching the model to this post.

1688150239091.png

Upon digging into this issue a bit, i found that the Map called "partMap"-responsible for creating a map for which items need to be created at a station- does not move the first item it creates if there are more than one items in the Map. For example, Station 1 only has one item hence it works perfectly fine. However, station 2 and station 4 have 2 items that need to be created, and hence it does not move the 1st item it creates.

1688153751732.png


ChampionHomes_V5_Abhay.fsm


FlexSim 23.1.1
move object
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 Jeanette F commented

The reason it's not moving is because the runsubflow is now set to run both tokens at the same time and you've added a delay which means both tokens are looking at the CreateParts[1] which is the same item. Remove the delay or change the runsubflow to run the tokens one at a time.

You should have a different container for each product in which to store the partLocMap. At the moment you only have one container ChassisFlowItem but the script for storing orientations writes the locations onto the container assuming it is the correct container for the modelID. If this were to work - and it could because you have forced unique part names for each model (not necessary on the original concept) - then you would need to position all parts for all models at the same time on the chassis and then run the script. This is, I would suggest, impractical if not infeasible.

If you want the same chassis for each modelID then load items into the Floor objects and put the partLocation maps on the floors and not the chassis.

Where is your production sequence/schedule saying what model is done next?

· 7
5 |100000

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

Abhay Bajpai avatar image Abhay Bajpai commented ·

Jason, removing the delay worked and now the 2nd item from the array (CreatedPart) moves on the flow item.

The production sequence is in the Global Table ProductionOrder (shown below)


1688239039873.png

And i slap a label 'modelID' (shownat source every time a chassis is generated and reference that modelID to call for which part needs to be installed on it from the Map 'partMap' at station like you recommended.

2023-07-01.png


Question: Could you direct me on how to control only 1 token to enter the subflow?

0 Likes 0 ·
1688239039873.png (140.4 KiB)
2023-07-01.png (162.4 KiB)
Jason Lightfoot avatar image Jason Lightfoot ♦♦ Abhay Bajpai commented ·

First you need to focus on the premise of the original development which was like this:

1688245461582.png

Indicating a unique chassis for each modelID. You've now changed that to this:

1688245498822.png

which seems like you want one chassis for all modelIDs. The code was created to put just one set of part positions on their container. This is why I think you now need to change the container to be the M1_Floor_A and M2_Floor_A etc. objects instead. However these floors need to be container objects which they are not currently - the only container currently is the chassis.

To that end I've made those changes in the attached model. I've also changed the chassis creation to use the default Source schedule which adds the label for you.

Now when you arrange the parts you just select the fullContainer whose flowItem you want to update in the bin as SO()), and then run the script - it will find the correct flowitem by looking at the partID label. I did this for M1A (the first product through the system) but you have some missing BigWalls and other things missing for your definition. I added the floor storage so that you can generate all the parts and then just arrange them while they're in the floor storage.

championhomes-v5-_jl.fsm

0 Likes 0 ·
Abhay Bajpai avatar image Abhay Bajpai Jason Lightfoot ♦♦ commented ·

Hi Jason,


What does "token.chassis.first:token.chassis" value return from the whole expression "return (token.chassis.subnodes.length)?token.chassis.first:token.chassis" in Assign Labels? I have been trying to print it but it won't print. 1688404845180.png

0 Likes 0 ·
1688404845180.png (129.7 KiB)
Show more comments
Abhay Bajpai avatar image Abhay Bajpai commented ·

Hi again Jason, I would like to add more complexity to the model by adding Operators to the jobs. There will be definite number of operators at each station (Station 1 will have 3 operators, Station 2 will have 2 operators....so on) and are solely responsible for parts in that station only. I want them to go to the station every time the Flow Item comes to their station to install the "Part" and then leave the station (maybe a waiting spot next to the station) when they are done with the same.


I want to make sure that if installation of Part is not finished by the operator, the flow item will not move to the next station until it is finished. Not all parts are installed by all Operators at a station. For example, if Station 2 has following parts to be installed: Carpet and Walls, and total 3 operators to do so, I want to tell Flex Sim that 1 operator does Carpet while the other 2 operators will install the Walls. Operators that install Walls cannot install Carpet and vice versa.

How do you recommend I achieve this?



0 Likes 0 ·
Jeanette F avatar image Jeanette F ♦♦ Abhay Bajpai commented ·
Hello @Abhay Bajpai,

Please follow our best practices and start a new post for your question. You can tag Jason in the post and this question if you find it to be relevent.

1 Like 1 ·