Jump to content

Seize Worker for Load/Unload Only


BenLankford
 Share

Recommended Posts

Hello all,


Brand new here and working on modeling the behavior of a bank of horizontal CNC machines. One worker manages the load and unload step for a set of machines (all of which perform the same process). The machines do not need the worker seized to process the part, but old parts must be unloaded and new parts must be loaded by the worker before the machine process can start.


More challenges to follow, but this is the first one I'm encountering.


Thanks!

Link to comment
Share on other sites

  • 1 month later...

Here's a follow-on question I can't quite figure out ...


I have a worker who is required as a resource to setup and teardown two different workstations. The worker is also a transporter to move entities from the source to the workstation, and from the workstation to the sink.


The workstations are set to seize the worker for All But Specific, Processing, Move to Node, Input@Workstation#. The workstations have identical setup, processing, and teardown times (fixed at 5, 30, and 5 seconds respectively).


The source initially starts with 2 entities, and then creates additional entities each time one of the workstations begins its Setting Up process. Once both workstations are processing, the worker goes back and gets the next two entities to place one into each workstation's input buffer.


No matter what I attempt, I cannot make the worker stay at the workstation to complete the next entity's setup before taking the previous entity to the sink. Each time the worker takes the completed part to the sink and then returns to setup the workstation.


Even though they happen at the same time, it appears that the previous entity enters the outbound node of the workstation and then makes a visit request to the worker, all before the next entity initiates the Setting Up process and attempts to seize the worker. To be more precise, the outbound part is placed on the outbound node, triggers the RiderWaiting event, requests and has accepted a transport request from the worker before the Teardown process has actually ended.


I've read through multiple SimBits and other files from the forums. I can't get the next entity or workstation to seize the worker since the visit request has already been accepted or the workstation still has the worker seized to complete the teardown. I can't figure out how to use the Worker Used For Multiple Tasks SimBit since it only shows the worker going to and waiting at a node, and I need to model a workstation at this location instead of a node. I can't force a Delay math.epsilon on an Evaluating Seize/Transport process to force it to the end of the "same time", and putting in conditions (to reject transport requests if the allocation queue is not empty) appears to be moot since the Worker.AllocationQueue is technically empty when the RideVisitRequest is made (the next entity hasn't made the request yet). I also read in one of the posts that there is no way to reneg a ride/visit request once it is made, although seize requests can still be manipulated.


I've attached an example file. It's definitely a work in process, so some of the custom processes aren't used or have been manipulated.


I need to be able to model a real world process ... the worker would take out the previous part (teardown), set it down on a table (the output buffer), pick up the next part (from the input buffer), place it in the machine (setting up), and then press Cycle. Once complete, the previous part would be transported to the sink, and the worker would move to the next machine waiting.


Thanks!

Worker Seize vs Transport Test.spfx

Link to comment
Share on other sites

×
×
  • Create New...