question

carlo.t avatar image
0 Likes"
carlo.t asked Joerg Vogel commented

I don't know why I cannot free the task executer in state "utilize" in the model that I've annexed

2348-oncontinuetriggerdoesnotfire.fsmI've set the task executer in state utilize when it reaches the parking node, but when I try freeing it at the moment the taskexecuter 3 crosses the node NN16, the task executer 1 stays in state "utilize". Thanks in advance for your support.

flexsim commands
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

Sam Stubbs avatar image
1 Like"
Sam Stubbs answered Joerg Vogel commented

I apologize, it's a little difficult for me to follow the logic of your model, so I don't know if this is the direction you want to take your model, but it seems that since you are controlling the logic of the dispatcher with messages, that instead of calling to free the TE when the other passes NN16, that you'd rather control that logic by also sending message to the dispatcher and controlling the freeing and aquiring of the TEs that way. Again, I'm not entirely sure whether that's the direction you want to go, you obviously know your model a lot better than me..

However, as for freeing up the TE, I noticed that in your code you call freeoperators(TE, NULL). You have the "involved" parameter as NULL which seems to be the problem here. Instead I changed it to freeoperators(dispatcher, TE). And that seems to free up the TE sitting at NN2. However then it seems to move over to NN16 while the other two TEs continue working on the Queues. So I'm not sure if that's what you want them to do, you may need to check the logic of the model at that point, but it does seem to at least resolve the problem of your TE not being freed.

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

Joerg Vogel avatar image Joerg Vogel commented ·

The second parameter of the command freeoperators defines an attribute to limit the number of taskexecuter to be freed. If you choose the attribute to be the same while you put the Taskexecuters into the utilize task. And you call the free command with this parameter, all Taskexecuters in the models will be freed together. If you want to free a specific taskexecuter the attribute must be unique to that task. Generally the parameter is coupled to the processor the operators work, to the item that is loaded on the taskexecuter,...

2 Likes 2 ·