Jump to content
Simio Forum

Welcome to the Simio Forum

Welcome to the Simio Forum! Experience the full experience of the forum by becoming a Simio Insider! You must be an Insider to post on any forum!


  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • Simio Public Forums
    • Welcome and How To Become a Simio Insider
    • Discussions
    • Simio News and Announcements
    • Simio Product Details
    • Simio-Related Positions Desired or Positions Available
  • Forums for Simio Insiders Only (See Public Forums Welcome topic to sign up)
    • SI Help Getting Started
    • SI General Discussions
    • SI Downloads
    • SI Shared Items
    • SI New Feature and Enhancements Submission and Voting
    • SI Ideas & Suggestions
    • SI Bugs and Issues
    • SI Performance Tips
    • SI Challenge Applications
    • SI Non-US Cultures
    • SI User Interface
    • SI Material Handling
    • SI Student Competition
    • SI Educational
    • SI Objects
    • SI Animation and Visualization
    • SI Reporting and Analysis
    • SI Agent Based Modeling
    • SI Scheduling
    • SI Emulation
    • SI Optimization
    • SI API


  • Files
    • Academic Information
    • Product Information
    • Case Studies

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start



About Me












Found 706 results

  1. I have a data table which has several rows that contain node and some other infomation. I want to move a transporter to a node in that data table and park at that node. Now I have my model and data table like this: In this model, when I click the move button, Myvehcile1 will move to TransferNode1 or TransferNode2( depend on some inputs for Myvehicle1). The problem is because I don't create any ModelEntity, I seize Myvehicle1 by itsself. So, Myvehicle1 is in its visitrequestqueue and it will never stop at a node and it keeps moving between nodes. Below is the process I create to find the node in table and move the transporter. The model file is also included.SimpleModel.spfx Does anyone know how to achieve my goal? Thank you very much!
  2. I finally find a way to solve this problem. Before the seize step, I add an execute step to execute a release step. Like the figure below, after the transporter start moving, I release it and then after it reach its destination node, it can park at that node.
  3. ~Created 4 entities of the same type-- let's call them EntBB-- with a run initialized process. Had them transferred into a server-- let's call it SrvBB-- output buffer. ~Worker goes and picks up one of those entities and takes to transfer node-- let's call it nBBRouter-- where that particular entity that the worker is carrying should be destroyed. nBBRouter_Entered Process Destroy step: specific object: EntBB[1] SetNode step: specific: Input@Sink1: specific object: Worker1 My problem: the first time around does what I want, but the second time around it destroys one of the entities still in the output buffer instead of the one the worker is carrying. Using the destroy of associated object gets me a different result than what I want, despite destroying the entity I want destroyed, so I can't use that method.
  4. Hi All,

    I am repeatedly getting this (attached picture) error in my Simio Model, what could be the probable cause and what should I make sure so that this problem does not repeat?

    I have added transfer, end transfer step in my process logic.

    I also have made sure I have enough storage capacity and also enough vehicles to complete the transfer.

    any suggestions would be helpful.

    Thank you :)


  5. Hello! In your Destroy step, when you reference EntBB[1], you are referencing the entity that has been assigned the first index in the entity population. The indexes of the entity population are based on the current number in the system and are constantly changing due to entities being created and destroyed. I would avoid referencing the entities by their population index. The nBBRouter_Entered Process will first be triggered by the Worker who is dropping off the entity. If the entity is dropped off, the entity will then enter the Transfer Node and trigger the same process. Depending when you want the entity to be destroyed, you have a few options. One option is to add a Decide step to check if the Token executing this process belongs to the Work or the entity. If it is the entity, you can destroy it as it will destroy the object associated with the Token executing the process. If it is the Worker, you might do nothing so that the Worker can enact its default logic and drop off the entity at the node. You might consider adding the SetNode step to be triggered at another point in time after the entity has been dropped off. Another option is to not allow the Worker to unload the entity and instead destroy the entity from the Worker's Ride Station. In the nBBRouter_Entered Process, you might add a Search step to look through the Worker's Ride Station contents. If the Search step finds an entity there, it will then make a corresponding Token that will exit on the Found branch. On the Original branch, the Token belonging to the Worker will resume. Happy modeling! Liz
  6. We are building a model of a medical facility where some patients need to be evacuated out of the model using a vehicle. In its current state, when a patient is in the ward or ICU, it will be determined if they need to evacuate. While they are waiting for an evacuation transport, they will be in a task sequence loop. We would like some way for the patient to seize a spot on the transport, perform the tasks loops, and once the transport arrives at the facility transfer node, the patients break out of their loop, and seize a worker to be carried to the vehicle. We have patients looping correctly and workers carrying the patients to the transport node, but they are not waiting for the vehicle to arrive. Having a condition that breaks the loop when the vehicle is in the loading node is not working because as it leaves its current node does not update quickly enough so entities go to the node that then are not picked up. A potential solution we found was to use the MinimumDwellTimeExpired State variable for the Evac transport in the loop conditional (If transport is dwelling then do not continue the loop and get routed to the transport, if it is not dwelling stay in the loop), however this variable is not public with no apparent way to make it so. We have also tried to make a function in the vehicle to try and mirror the state variable value, but this also did not seem to work as it does not update during the run.
  7. Hey!! I have container entities that are waiting to enter a filler. I need (for visualization and logical purposes) the allow passing property of the paths be FALSE, but, when I do this, I can't find the expression that returns the number of container entities waiting on the path to get inside the input buffer of the filler. I am attaching a picture that will clarify the problem. In this scenario, I need an expression that returns 4. I have tried many expressions and none seem to work. Does anybody know how to achieve this? Thank you very much!
  8. This is something I have been meaning to implement for a while, and now have finally decided it needs to be done. I have a submodel, and due to the limitations of the software can't transfer it into the submodel and keep the model clean. I followed advice posted here, and have made the submodel seize the worker and send it to a node in the higher level model... while the submodel is in progress. Is there a nice efficient way to have the worker/vehicle (vehicles are the new worker in terms of having all the functionality i require) able to interrupt the submodel and either remember where it was up to and return after break... or allow another seize request for a different worker, and have that worker continue where it was left off?
  9. Hi all, how would you approach this model? Workers are transporters and must be present at the servers to supervise each step. For now I have one worker and am using a personal edition of Simio. Server1 is an observation microscope where entities pass through a survey step. Server2 is a robot dispensing glue that has a finite window of appropriate elasticity after mixing. I started my model with a version very similar to the MoveableOperator where my worker goes back and forth between two servers running 6 entities individually before switching... six being the number of entities we believe can be processed with one batch of glue. When trying to model the delay step of glue mixing (ideally with worker movement to a separate node or location) I thought to add it as the first in a task sequence at Server2 with the condition that it only need to be applied when the server buffer was full of the 6 entities. This seemed to not fit well with the priority decisions that the worker already had for movement and the worker stalled. Basically, how would you model the fact that every 90 minutes we need a 15 minute delay for glue mixing and that once the glue is mixed the priority needs to be at Server2 until glue elasticity runs out?
  10. I'm having some trouble with worker actions and transfer steps. Below is a picture of my current model. I have also attached the simio file itself. What I want to happen: 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. 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. My problem: Worker1 doesn't wait for the other workers to check and move on, just puts in station and moves on. I can suspend and resume the processes and get the worker to the (A/B)PICK nodes, but the worker picks the new entity up and starts that. The entity they were working on before just vanishes or something. Then everything becomes a standstill. Lastly, I run into this transfer error so much, and can never figure out exactly what causes it. ModelForQuestionCOPY2.spfx
  11. Is there a way to keep them in the loop until the transport arrives, there will never be a point where they are done with the loop until the transport gets there. Right now if they are in the loop I can assign them a modelentity state variable (boolean), then when a vehicle arrives it initiates a process that has a search step with the search condition modelentity.BooleanStateVariable==1 with a return limit of the capacity of the vehicle. the found entities must either interrupt the task or process they are currently doing depending on where they are in the loop and be moved by a worker to the evac node. If that seams like a plausible solution, I just need a process step that can completely cancel a task sequence because the interrupt and suspend steps do not seem to apply to tasks. Once the task sequence is suspended the modelentities should flow to the destination node no problem after leaving the server.
  12. Hi I need reference to some sort of property that can help me store entities in my transfer node(shelf). I have used the Park property but then I am not sure on how I can release it when the transporter is told to arrive at the transfer node(shelf) to pick up certain of those parked entities. Any help is appreciated. Thank you
  13. Hi In the process step of base model ( picture and model attached below), the entities are transferred from all the nodes to the single wave release separator. However, I want each node to have its own wave release separator. for example, the SRA node will send the entities to its own separator, the the national node will send its entities to its own separator.,etc So is there a way to somehow change the logic of the transfer step to accommodate for this or is there another way I can do this? (I have so far made the different separators for the different nodes ) Thanks a lot BaseModel_May2020_StudentCompetition.spfx
  14. Hello, I need help figuring out why the transporter(Forklift) is not showing picking up the entity(full pallet) from TransferNode2. See attached model. Thanks! Test4.spfx
  15. 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
  16. We are currently working on entity routing through a medical facility. There are individual servers that represent areas within the facility where patient type, current location, probability, and destination (Input node of next server) are all in one table as one column each. After processing we want to subset the table to only have the specific ModelEntity type, correct current location, and then use TableName.ProbabilityColumn.RandomRow on the subset table to find the destination location. We have not found a functional way to subset the table.
  17. Hello everyone, I’m new to Simio. I have done a few basic modeling. Now I have encountered a problem and trying to figure out the solution. My simio model have these basic units: 4 combiners: They combine container (parent) and shd (member). 2 seperators: Seperate container and shd. 2 sinks: for parent and member each. 1 source for parent: Triggered by parent sink. Destination will be designated by the combiners proces finished time. This is the problem. 1 vehicle: to move container to the combiners and to the seperator. Combiners have different process times. The path between combiners and seperators is long so there is significant vehicle transport time… I want my source unit to create a parent (container) by triggered sink unit. But “before creating” this entity, the destination of the “will be created entity” will be designated by the combiners process finish time. It means when the “combiner 3” finishes its process, the next created entity destination will be “parent input of combiner 3”. Than when the vehicle seizes the entity (parent/container), the next created entity destination will be the first combiner finishes its process after “combiner 3”. I will try to make this work by “Selection Condition: (Candidate.Node.AssociatedStationLoad==0)” I have created a node list for four combiners parent input. The source destination is the node list. The problem is I can not find any candidate expression to make the right destination choice. Any help, opinion, different approaches will be appreciated. Thanks in advance. Best Regards E.K.
  18. How did you do this. Ive been struggling to obtain the number of trips through a node
  19. 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!
  20. Hello, I'm college student preparing the contest sponsored by "KOREA SOCIETY FOR SIMULATION". So I'm making model which has no input buffer , just remaining on the path. But the issue is that, if i set the input buffer as 0, the source makes entities only two, which is the sum of the sever's capacity.... I have seen that kind of model at the jsmith.co , but my model doesn't act like that.. What should I do for my model? isThereInputBufferCapa.spfx
  21. The transfer will be immediate. I suggest creating a "walking" path that starts with a transfer node and ends at your sink. Send all of your reneged passengers to the transfer node, and the entities will travel along the new path to the Sink. Thanks, Ryan
  22. Ryan, Appreciate the tips. Just wondering if I need to add another path or will the entity that balks and walks take the road path that is already in the model when I put an input node in the 'Renege Node Name? Or is the transfer to the input node immediate? Thank you,
  23. Hi, I suggest using the default reneging logic in Simio to model this. If you are modeling your bus stop as a Standard Simio object the reneging properties are located under the Buffer Logic property category. For example, if your entities are waiting in the Output Buffer of the Source, the settings displayed in the attached picture will replicate the scenario you described above. If the entity is in queue for 2 minutes, then there is a 15% chance the entity will be destroyed and a 85% chance it will continue to wait. Instead of destroying the entity, you can use the Renege Node Name to send the entity to a different location, or in your scenario walk to the destination. Thanks, Ryan
  24. Set reservation method property of transfer node 2 (under transport logic section) as reserve closest. It works after this setting.
  25. Hi I have draw a Conveyor and conntected it to a InputNode of Server. Now I have to change the model and connect the Conveyor to another BasicNode. How can I do this without removing and redrawing the conveyor?
  • Create New...