question

CSN avatar image
0 Likes"
CSN asked CSN commented

Combiner Batch Error

Hi, team.

When Combiner sends 666 entities, we checked that only one of the subsequent batch items is pushed into the list, causing the model to stop, please download and run the model to see the exact issue.

test.fsm

FlexSim 23.2.3
combiner
test.fsm (42.1 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

Felix Möhlmann avatar image
0 Likes"
Felix Möhlmann answered CSN commented

This happens due to the usage of the Move Object activity. When an item is send through a port-connection, the nroftransportsin variable on the receiving fixed resource gets incremented. When an item is unloaded to the object, the variable is decremented again, however this does not happen, when it is 'moved' into the object.

The variable is taken into account when the queue evaluates whether it can receive another item or not. Because half of the items are not 'unloaded' into the queue, at the point where the 1000th item is send, the queue has 334 pending transports. These plus the content of 666 mean that the queue is full and does not open its input again and the combiner becomes blocked.

1705053219197.png

(The same is also true for the combiner. Since half the items are 'moved' instead of 'loaded', it still has 334 pending outputs. This is just not a problem since the number of outputs is not limited.)

You can manually let the fixed resources know that you moved the items in/out with the commands transportoutcomplete() and transportincomplete().

transportcomplete-fm.fsm


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

CSN avatar image CSN commented ·

Hi Felix, Thank you for your answer. It is indeed effective

0 Likes 0 ·