Hi,
I realize this very simple model and I noticed an unusual behavior of the FloorStorage. When the FloorStorage is full and there is the first OnExit from it, even if a flowitem is ready to enter, the slot that has become free remains free. After another OnExit both the slots are replenished. I expected that immediately after the first OnExit the slot would be filled.
I realize the model in a very simple way:
- drag and drop in the model a Source, a Conveyor, a FloorStorage and a Sink.
- A-connection between Source and Conveyor, between Conveyor and FloorStorage and between FloorStorage and Sink.
- in the Flow tab of the FloorStorage insert a MinimumDwellTime of 3000 seconds.
To avoid the situation explained above, I modified the pullrequirement code.errorcode_rack.fsm
As you can see in the pictures below, I add the exitListener treenode value only if this value doesn't exists and I add it with EVENT_LISTEN_ONCE modality in the function "eventlisten".
Also when the code runs the openinput command, I noticed that we need a zero time waiting to separate the OnExit and immediately after the OnEntry events. In this way, when we assign the slot to the Flowitem OnExit from Conveyor, the slot is free in the warehouse because the OnExit event in the werehouse has already occurred. Previously, the assignment took place simultaneously and the slot, being still occupied, was not assigned. I generate this zero delay sending a message to the current object in zero seconds.
It's right my reasoning? We can consider this as a bug? I attach the model to the question.
thanks for the support.