Jump to content
Simio Forum

Interrupt Server and Worker when off shift


Recommended Posts

Hi All,


I have a question regarding a maintenance workshop that consists of 12 workers and 20 servers. I want the servers and workers to stop working when they are off shift and leave the entity waiting at the server until the next shift starts so the following worker can pick up where the previous worker left off. Furthermore, it would be nice if the worker could reject an entity that is offered within the last 15 minutes of the shift if the processing time of that entity is larger than 15 minutes. However, this is not mandatory.


I have looked at several simbits and forum posts, but none seem to be fully applicable to my model, so I was wondering if anyone could maybe help out..

Here's a bit of info on my model. I'm trying to simulate a maintenance process in which 163 unique entities are processed throughout one year. Each entity has a specific sequence of servers it enters and each step has a specific processing time (both are defined in a sequence table) that varies depending on the step.


The shop is open from Monday to Friday from 7.30 to 23.30 and each workday consists of 2 shifts manned by a variable amount of workers. Workers have a 30 minute break during their shift, this occurs at a set time. A server only processes an entity if a worker is available. Each worker is available to a specific number of servers (resembling the specific skills each mechanic has). This is defined in a list from which the server can select the available workers. If no workers are available the entity is left waiting until a worker with the required skill set becomes available.


As mentioned, when a server and a worker go off-shift I want the task they are working on to be interrupted and resumed in the following shift when the next worker is available. I have added an add-on off-shift process for each of the servers in which the process is interrupted (Server.OnEnteredProcessing) after which both the server and the worker are released (the specific server is released, and the worker is released based on a list with available workers for that server), and finally the entity is moved from the current station to the input node of that station. However, my workers still show that they are Off Shift Busy, which means that either this method does not work, or I am doing something wrong. I am trying to add a similar off-shift add-on process for each worker in which they are also interrupted, released and transferred but I don't know which process to interrupt. If I specify each server individually I get an error when I run the model that states that the model was unable to release the resource object because the number of individual resources owned and satisfying release conditions is only 0.


Can anybody point me in the right direction? Thanks!!


Willemijn Mogendorff

Link to post
Share on other sites

It would be easier to help if you post your model.


The 15 minute condition could be implemented using the Evaluating Seize Request add-on process. Just check the value of an entity state that hold its processing time and reject the seize if too long.


It seems like the SimBits: Resource States When Off Shift and Worker Uses Work Schedule Interrupt Working Off Shift will solve some of your problems.

Link to post
Share on other sites

Thank you for your response. I have looked into the Evaluating Seize Request add-on, but I'm not sure how to define the logic. I basically want the add-on process to decide to handle a task if the task duration (from a data table) is less than the shift duration but have no idea how to define this.


I have added the model I've made so far. I have already added the add-on interrupt process for each of the servers. So i think the problem lies with the workers.. Unfortunately I cant find the Worker Uses Work Schedule Interrupt Working Off Shift SimBit (I'm using a university design version 7.114.11719).


Thanks again.

MaintenanceModelPost.spfx

Link to post
Share on other sites
×
×
  • Create New...