Jump to content

Search the Community

Showing results for 'worker shifts'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Simio Public Forums
    • Welcome and How To Become a Simio Insider
    • Simio News and Announcements
    • Simio Product Details
    • Simio-Related Positions Desired or Positions Available
    • Help Getting Started with Simio
  • Forums for Simio Insiders Only (See Public Forums Welcome topic to sign up)
    • SI General Discussions
    • SI Sprint Releases
    • SI Shared Items
    • SI Ideas and Suggestions
    • SI Known Issues and Workarounds
    • SI Performance Tips
    • SI Non-US Cultures
    • SI Student Competition
    • SI Educational
    • SI Libraries and Objects
    • SI Animation and Visualization
    • SI Distributions, Functions, and Expressions
    • SI Simio Tabs
    • SI Experimentation and Optimization
    • SI Functional Approaches
    • SI Industries / Domains
    • SI Types of Simulation
    • SI Emulation
    • SI API

Categories

  • Files
    • Academic Information
    • Product Information
    • Case Studies

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


About Me


First Name


Last Name


Company/University Name


OCCUPATION


ICQ


WEBSITE


YAHOO


AOL


LOCATION


FACEBOOK


GOOGLEPLUS


SKYPE


TWITTER


YOUTUBE

  1. Other questions: What expression would tell the worker to ALWAYS transport two entities? I want my workers to finish all server runs before going on lunch break or end of shift. Entities will never be unattended nor will workers be interrupted to restart server time later. What's a good solution for that?
  2. Note: WkA and WkB essentially do the same thing, so I'm essentially just explaining WkA on the seizing worker to make things simpler. What needs to happen: I need Wk1 to wait until WkA is at the output node before processing the entity. Then resume movement (to go to input of BPICK) only after the event of Output@APICKRiderWaiting (basically the processing finished; I found it only works when I use the wait for rider waiting). The same thing needs to happen with BPICK. Then Wk1 needs to head back to nRouter. Current State & Problems: Right now it does not wait to process the entity until WkA/B gets there. I have tried adding that as a row in the events more logic, but it doesn't work. I have also tried putting a Wait step with that as it's event before the other Wait. However, Wk1 still gets to APICK/BPICK and immediately the entity is processed. Wk1 does however work on not moving on until the entity is processed. One problem with that though is that Wk1 does not go back to nRouter after finishing at BPICK. I have tried several things like setting node, but perhaps I didn't have that step in the right place. Both entities have a destination by the way. This next photo is showing the seizing of the worker. The decide and execute steps refer to interrupting processes but all those still include the seizing step you see here. I have also attached my model in case you need to run or see it. It may be hard to follow all the logic on other add-on processes other than the ones I showed you. I have other problems in other areas, but this problem I'm posting about is not that affected by the other problems of the model I think. Though honestly, if you find that you may have a solution or fixes in basic logic to those (because its glaring) then by all means, share them. ((And yes, I have looked at InterruptibleOperator simbit as well as other Interrupting example simbits but am still confused on the whole thing.)) ModelForQuestionCOPY5v.3.spfx Thank you!
  3. I'm having trouble at the interruption step. Yes, I have looked at InterruptibleOperator, InterruptingServerWithMultipleCapacity, InterruptingAcrossMultipleServers. Despite all of that, I still cant figure it out. What I want to happen: Worker1 carries both entites and drops at respective servers (A/B PICK) and doesn't leave until processed. WorkerA/B stops whatever its doing (though it does not stop if transporting) and is siezed when Worker1 brings the entity to A/B PICK. Worker1 moves on and WorkerA/B does what it needs to. Here's the deal in WorkerA/B areas: The worker stays with an entity at serverA/B. Th worker can be interrupted at that process and go to A/BPICK to process the newer entity. The worker can't work on that newer entity right now because there is already an entity in serverA/B. So the newer entity waits at A/BPICK. At the gluing servers, the workers only have to get the entity into the processing state, but after that can go grab an entity waiting at A/BPICK and start it at serverA/B. Once the gluing process is done, it should be a priority to stop working at serverA/B and go take the entity at end of the gluing server to the sink. Then goes back to working at serverA/B. And the cycle continues. Here's a youtube video of what happens: Here's my add-on processes. I'm only concerned with A path because I can figure out B from A. ^ The idea was to turn the EntA at one of processes that are interrupted to yellow to symbolize the interruption of that entity^ ModelForQuestionCOPY4FORUM.spfx
  4. Hi LizMB, Without evaluating your model in detail, that error is due to a transfer not being completed (transfer request while entity is still being transferred previously). It is typically when you make use of a transfer step and either not end the transfer (using and "End Transfer" step), before transferring it again or when Simio attempts to transfer the entity (due to inherent worker/node/vehicle logic) before the end transfer is completed. It could also be if you interrupt something before a transfer action has completed. What also happens is when you have processes executing e.g. On-Entered and the same entity executes one or more such processes at the same time, resulting in a inherent transfer request before the previous has completed. It could be a matter of timing or the sequence of events, or a problem in your logic. When you are using a transfer step in your logic it is useful to have a process with an End Transfer step that is either subscribed to certain events or executed on an event triggered e.g. StationName.Entered. If you were to interrupt a process/action, you can either fire the trigger event or just use logic to test whether the entity has transferred. With an add-on process it is best to understand the sequence of events happening in the Simio logic and ensure certain logic gets completed first or that you don't have parallel requests at the same time. As you can see there are multiple ways to address something like this and your approach depends on your logic and the system being modeled. Good Luck. H
  5. Hi LizMB, I have a few specific recommendations for you below, but generally I suggest looking into the SimBit models provided on Simio's Support Ribbon. A PDF opens with each model that contains a detailed description, so they are a great tool for learning specific approaches and techniques. A few that I believe are related to your particular problem are "Moveable Operator", "Interruptible Operator","Keeping Worker Reserved", and "Entity Follows Sequence". Worker1 carries both entities to their respective nodes and leaves them in their respective stations after worker(A/B) "checks them" (I used a delay to simulate this check) and then Worker1 moves on. For this objective, I suggest setting up your drop off stations A and B as a Servers. Use the Processing Time property to represent the "check" while seizing both workers needed (see the Operator related SimBit for more information). Make sure all entities are assigned a sequence, so Worker 1 knows where to drop them off. The worker(A/B) only picks up the entity if needed. So if the worker was with another entity in process (like Srv(A/B)), he would go check the new entity so that worker1 can move on, but would return to finish out the first entity to the end. Assign entities that enter the pick up stations a higher priority, and interrupt the Workers at SrvA and Srvb if a pick up task arrives (See Interruptible Operator for more information). Ensure that the Workers have the needed paths to travel to all of the destinations required in all directions. Currently, WorkerA and WorkerB cannot travel to the Outputs of the Servers. Other suggestions: Look into using a Timer Element that could trigger the entity creations at SrcA and SrcB. That should remove the need for Source1 and Sink1. If the Worker's travel doesn't need to be defined by a path, I suggest setting the Initial Travel Mode to 'Free Space Only'. The error message you are receiving is related to the Add-on Processes on the A and B nodes. Whenever Worker 1 enters either of those nodes the process is triggered and tries to complete the process with relation to the Worker. Restructuring the model with Servers in this area should help you get around this issue. Thanks, Ryan
  6. I have a model where there are 4 servers with Processing Count Based failures. So every 5 cycles, the specific machine has a lockout and needs to be serviced by a worker. I am trying to have status label that shows how many cycles are left before the machine goes into lockout. I am having trouble figuring out the logic for it.
  7. I am trying to model a repair process. A major part of this process is the time to get the tools from their storage locations to the machine that needs repair. My thought was to have the tools be modeled as entities that a fork lift or worker has to go grab and bring back to the server. The problem is I need to wait for all those entities to be there before the server can start to process. Then I want to destroy the entities because they aren't actually being processed (only 1 entity would be processed as a representation). Does anyone have a suggestion on how this might be accomplished? Thanks.
  8. You can just use a process with a WAIT step. On entity arrival you will fire and event and the process will go on. I also belive that a worker is derived from entity so you can use workers instead of entities. Or the best fitting thing is to use consume step to consume a material (the tools). And have two inventories for it (one near the machine, one in the warehouse of tools). There are some simbits with the basic inventory concepts.
  9. John, I too believe Task Sequences could be very useful for your project. For example, for the multiple patient types coming in, you could utilize a Branch Type of 'Conditional' in your Task Sequence so to only use a certain workflow for that type of patient. There is a general description of Conditional and Probabilistic Branching in the Simio Reference Guide Help page titled "TaskSequence" along with some other helpful information on Task Sequences. Additionally, I recommend you take a look at the SimBits titled "Task Sequence and Worker In Table (from project Task Sequence And Worker)" and "Using Relational Tables to Define Task Resource Lists". If you investigate how Task Sequences are used in these examples, I believe you will find some methods that might help you in your modeling endeavors. If Task Sequences still do not help you achieve your goals, it would be helpful to have more details on what you are trying to do. I think writing your own steps should be resorted to later after other options have been exhausted. If you email in to support@simio.com we can continue our conversation.
  10. Within a Server, Combiner or Separator object, you can specify the Process Type as 'Task Sequence' allowing you then to define any number of Processing Tasks for that Server, Combiner or Separator. The processing tasks can be serial or parallel tasks. By using parallel tasks, for example, with a different worker (nurse, PA, Doctor) required for each parallel task, the tasks are done independently, but can be done at the same time. Parallel tasks can be specified using the same Sequence Number (see Task Sequence and Task Sequence - Processing Tasks sections of Simio help). So, for example, you can have the processing tasks within a Server all have a sequence number of 10 (meaning parallel). One of them requires a Nurse for X time units, another requires a PA for Y time units and the other a Doctor for Z time units). The patient doesn't leave the Server until all 3 tasks are completed. However, if the Nurse is available to do his/her task, they will start. Likewise for the others. And the workers can move on to other tasks at other Servers (patient areas) as well when they are done.
  11. I am trying to model forklifts moving around that require a worker to operate. I found this example under SI Shared items and have tried to recreate as best I can. However, my model is complex in that I have multiple workers and forklifts. I want the forklift to choose an available worker. I can get it to work with 1 specific worker, but when I choose from list of operators I get this error: I have tried all the different Travel Mode options. Any ideas on how to correct this?
  12. Hi, I believe you approach is correct. I would suggest you look at the CombineMultipleEntityTypesOntoPallets Simbit for help on how to have the shirts be combined with the totes (this may help alleviate your confusion about the worker fetching totes instead of shirts). Another suggestion would be the think of the combiner in a slightly different way than the real system (parent object, like the pallets in the above node) and the shirts are then feed into the member input and combined when there are 5 shirts. Meaning the shirts are combined with the tote, then once 3 totes are filled the ARM can move them out (utilizing an evaluating seize request add-on process for the ARM transporter). Hope this helps. Jason
  13. Hello All, This is my first post and I am relatively new to the program, so my apologies if my strategies are not the best. Essentially what i am trying to simulate is a simple picking process with AMRs (automated mobile robots). The ideal workflow is: 1. 3 Totes are created and attached to ARM's shelves 2. Shirts are created and processed through a server (already done) 3. Worker picks 5 shirts from the servers (already done) 4. Worker takes the 5 shirts and places it on the Totes 5. Once the 3 totes are full, the AMR will navigate to an unloading destination so another worker can unload the boxes So i realized that simio does not have any "attach" features where i could attach a box to a robot so instead of attaching, i will just make a combiner near the robot of the totes and shirts that its output leads to the unloading destination via transporter AKA the AMR So far, I have been able to create shirts, put them on servers and have the worker pick and place them. I have been looking into using a Combiner to merge the totes and the shirts, but for some reason the worker keeps fetching totes and not shirts (yes, I set the Batch Quantity to 5, so the worker should fetch 1 totes and 5 shirts right?). I simply need one tote/5shirts and would like the process in that order, in other words, the worker fetches a box places it on the robot ("feeds the parent input of the combiner") and fetches for 5 shirts to place on the box ("feeds the member input of the combiner"). Im more worried about these first steps, i know it may take more understanding to have the robot move once the 3 boxes are full. Any help, helps. Thank you.
  14. The worker, by requirement, has a capacity of 1. The initial number in system (population) of the worker can be set to greater than 1, meaning you will get a number of capacity 1 workers to be used independently. For example, if you have FirstShiftWorker, you can specify the Initial Number In System (under Population grouping of properties) to 'X', let's say '4'. You will then have a FirstShiftWorker[1], FirstShiftWorker[2], FirstShiftWorker[3] and FirstShiftWorker[4], each with independent statistics/ location/ tasks, etc. This worker can then be referenced in a Server with multiple capacity and each worker will be seized separately when required.
  15. Hello all, My entities have several tasks that some of them are done in parallel. My tasks are all defined in each server (process type is Task Sequence). Workers are needed for each task. I want to show that when the worker starts working on tasks in server 1, as soon as one specific task is done, the worker should go to the other servers and starts working on them until that specific task in the other servers. Then the worker can come back to server 1 and keep working on other tasks (one of the task has the highest priority for me in all servers to be done first). I'd appreciate your help!
  16. In your Vehicle Properties window, those fields you have highlighted do not seem to be on my Simio version. There does not seem to be a dropdown I am missing either. Could the version of Simio have changed? Trying to do exactly this example with a piece of equipment (an entity in my model) being moved with a tug like tool that is driven by a worker. See attached for my Vehicle Properties window. Thanks, Michael
  17. Simio offers user-defined work schedules in the Data tab. The SimBit ServerFollowsCapacitySchedule or others related to work schedules could be helpful. You can define a Pattern Based Work Schedule, to account for the shifts you described, and modify Server Properties like OffShiftRule (under Secondary Resources) to 'Finish Work Already Started' or 'Suspend Processing' depending on what makes sense for your Model. Adam 
  18. Within each of the Source objects, you would specify (within the output node of the Source) that a worker is required to transport the entity(s) to the next node. The decision making of the worker is then handled by the worker itself. The worker has several decision making options - first of all, for transporting, the worker has Transport Logic properties, one of which is the Task Selection Strategy property, which can be set to First In Queue, Largest/Smallest Distance or Largest/Smallest Priority. In addition to that, under the Worker's Add-On Process Triggers properties, you have the Evaluating Transport Request process that can be used to accept or reject any transport request. You can add custom logic, a distribution, etc. within a Decide step in that called process and simply then accept (Token.ReturnValue == True) or reject (Token.ReturnValue == False) a request (which is the first in the allocation queue, as ranked as noted above). You can use the requesting entity location within the decision logic as well.
  19. Using paths and networks this is pretty easy. You can specify that a worker follows a given network and that network can prevent him from traveling in forbidden areas - for example a visitor network vs an employee network. I expect it is possible in free space but it would likely involve user written code (steering behavior, ...) or some cleverness. But I can't help much beyond that.
  20. Is it possible to define specific areas that a worker cannot walk in? I want to allow free movement of workers in a wide area but without entering some specific places (without creating paths) Thank you in advance
  21. Hi, I have different type of entities queue up at an server output content waiting for a worker comes to pick them up for further process. After picking up, each entity will be sent to the corresponding location for further process. Ex: Product A goes to Server A, Product B goes to Server B ...etc. Can I pick up the entity based on the condition of capacity remaininig of the destination? Ex: Suppose we have 4 products A, B, A, C queue up. When the worker comes to pick up the first product A, he will check the capacity remainig of the destination Server A. If there is still capacity in the Server A, then go. If there is no capacity in the Server A, the worker go check the second product B and see if there is capacity in the Server B... etc. Can someone give me some idea how I can do this? Thanks for the help!
  22. Hi, Thanks for the comments. Brief update, somehow I figured out I can do that by setting the transporter selection condition as "(ModelEntity.DestinationNode.AssociatedStation.CurrentCapacity - ModelEntity.DestinationNode.AssociatedObject.Server.InputBuffer.Content) > 0". Then, it will have the result as I want. However, one new issue comes up. When the worker pass a certain entity (let's say server A does not have capacity now, so the worker pass the product A, and goes to deal with other product. ), the passed entity will sit in the queue like forever. The worker will continue to move the new arrived entity, but will not touch the passed entity even the server A has the capacity later. What should I do to ask the worker go back to move the passed entity? I'm new to Simio. Thanks for the help. Best,
  23. you can do that on the worker's On evaluating transport request addon, use process logic to check those conditions, can you attach a model that we can look at.
  24. Hi everyone, I have following issue: People arrive at a station (either server or workstation, I'm not sure about which to choose for my model) and stay at this station (person is not moving until all of the following 5 steps are completed). Afterwards following steps appear: 1. worker (A) is doing a process step at the person 2. Another (different) worker (B) is doing a process step at the person 3. The person is doing a "process step" by his own 4. Worker (B) is doing another process step 5. Worker (A) is doing another process step Afterwards the person leaves the station. Could anybody help me with modelling this? Do I have to use a server or a workstation? Do I have to subclass an object? And how in all to modell this. Thank you! Best wishes
  25. I assume that your worker is located at the MemberInput Node of the Cominer I search Queue State, the Queue Name is: MyWorker.Location.Parent.Node.AssociatedObject.MyCombiner.OutputBuffer.Contents
×
×
  • Create New...