I am currently building a model on a manufacturing process line. The intention is to create a model with multiple machines and operators. An operator is seized at multiple points for performing various taskings. However, I require operators to follow a certain work schedule and go for breaks at staggered timings. As such, I have created the schedule within each agent to customise their break times.
The problem that I am faced with is I need the operator to suspend his/her current tasking whenever its time for break. Hence, I have been exploring the preempt feature within the seize block, but have failed to get what I require.
I'll illustrate an example below. Assuming that the operator is performing the current task of "receiveLot_V", while at this task, it is time for break. Upon break time, the schedule triggers to enter the flowchart to seize the current operator for break (I need to capture the duration where each operator is at break and at the same time not allow the operator at break to be available in the resource pool to be seized elsewhere).
I have allowed the seize block for break to have a higher task priority, however the operator just stays at the current position and does not seem to proceed with the process flow for break after he/she is being seized.
In addition, for certain taskings I am sending my operator to a particular node upon seizing to perform a tasking. While the operator is moving and the breaktime hits, I face an error as shown in the last image. root.pop_DirectOperators[0].enter refers to the process flow within the operator to be seized for break, and root.pop_Equipments[0].seizeDO.sendTo refers to the process where the operator is being sent to a particular node to perform his/her tasks.
How can I resolve this issue? Am I understanding the preempt feature wrongly? I've tried multiple combinations of settings with the preempt but none of them seems to work for my case.