question

Helen avatar image
0 Likes"
Helen asked Helen commented

Error in the Opportunistic Combiner Model

Dear all,

I'm working in the example model Example Model: Opportunistic Parts Combiner Process (no ports).

I've created the Bill of Materials for the different products and also the additional table that determines the different materials and the Quantities that each of the product needs.

1705337478021.png

However, I do not achieve to get the partsTable in the process flow. When I start simulating I see that the partsTable is NULL. I guess that I need to say that it is a pointer somehow, but I don't find the place.


1705337593436.png


Moreover, it seems that I have an issue with moving the object. I get an error saying that the destination is invalid. But I assigned the item label in the previous step so I'm not sure what I'm doing wrong.

Thank you,

Helen


opportunisticcombiner_Helen.fsm

FlexSim 23.2.1
combiners
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 Helen commented

Your query is :

SELECT Part,Quantity FROM BOM_A4_2 WHERE Product=$1.product  

but your table is :

1705339838368.png

Which doesn't have a Product column.


1705339838368.png (5.2 KiB)
· 9
5 |100000

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

Helen avatar image Helen commented ·

Solved! Thank you very much. I was trying to add the “As table” label as we do it in a fixed resource and I was just that I didn’t assign the header.

Now, I’m trying to understand the following error: Error: Invalid triggering event, event rank 1, at wait for event activity "Wait for Event" in process flow "Queue". I’ve checked this post in the forum and I see that a possible error is that I’m writing the trigger manually. I ensured that I use the pointer so there must be something else that I’m missing. If I understood correctly the trigger that I choose must be “On push” because the object that I’m performing the activity from is the list, so I push from the list. And as far from the possible event rank, there is only one possible rank (Breathe).

What am I missing?

Thank you,

Helen

0 Likes 0 ·
Felix Möhlmann avatar image Felix Möhlmann Helen commented ·

The "Parts" list activity is set to be "Local" which is at odds with the fact that the list you refer to is a global list. Set it to be "Global" to get rid of the error.

You can use the sampling tool here as well or use the drop down menu to reference the global list from the toolbox. This will automatically set and grey out the "Type" option.

capture1.png

The "event rank" in the error message refers to the rank of the event inside the "Wait for Event" activity, since you can wait for more than one event in a single activity (the token will be released if any of the events fire).

0 Likes 0 ·
capture1.png (6.4 KiB)
Helen avatar image Helen Felix Möhlmann commented ·

OK. Understood, so in this case it is better to drag out from the menu than to use the dropper in order to ensure the correct linkage. Now I have issues with pull all the parts (sorry to insist but I'm trying to understand the model fully). If I simulate 137 seconds, I see that the I'm producing TR41 which is composed by 3E+2B. However, as seen in the screenshot below, it only picked 2 B type parts (allItems[1] and allItems[2]). I'm not sure what I'm doing wrong since in the loop in checking first E type parts and then B. Last, I'm assuming that the reason why I'm not able to release the item from the Combiner to the conveyor is that I don't have all the parts.


1705415987572.png


Can you help me with this?

By the way, is there any way to stop the process flow as we do with the stop(); command when we use 3D models?

Thank you in advance,

Helen

opportunisticcombiner_Helen.fsm

0 Likes 0 ·
Show more comments
Helen avatar image Helen commented ·

Thank you very much,

With the code highlighted there in the image I assume that what we are trying to do is to somehow pack allItems into items so that we can move them together and use them as a batch. Am I correct?

1705498827014.png

I didn't achieve to do it, I got this error: time: 139.988058 exception: Exception caught in start() of activity "Move Object" in process flow "Queue". Continuing throw... I guess that this is related with the following code. In the original code of the example instead of destination it asked for a port (not sure if this is related to using a different version).

1705499062928.png


Nevertheless, as what I want is a join combiner, I checked this post to try to destroy the object. In this case I get the following error: Invalid object reference at Destroy Object activity "Destroy Object" in process flow "Queue"

It seems that the object that I'm trying to destroy does not exist. I'm not sure why this happens if I'm using the same reference as to move the objects.

Thank you,

Helen


opportunisticcombiner_Helen_v2.fsm

0 Likes 0 ·
Jason Lightfoot avatar image Jason Lightfoot ♦♦ Helen commented ·

Your first pull from list is set to assign to AllItems whereas it should not be assigning to any label - only the second pull from list should do this. Please refer to the example model.

Why are you moving them to the queue (and by extension the conveyor) if you want to destroy them?

0 Likes 0 ·
Helen avatar image Helen Jason Lightfoot ♦♦ commented ·

I don't want to distroy all the items, I want to destroy all but one (which will be final product after the assembly). The reason why I use destroy because in this example it was done that way.

0 Likes 0 ·
Show more comments