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 2,518 results

  1. Hey Forum I have struggled a bit with creating a model that can handle batched parts not at the time. At the company i'm currently working in are they putting units on a trolleys and transports them it from workstation to workstation. But they can only handle one batch at the time, and when they are finish with the batch (eg. 10 units) they send it further, and begin with the next batch in line. This is what i need help to program in simio. I have created a simple model for this experiment with 2 sources, 1 combiner, 1 separator, 1 server and 1 sink. I then would like the separator to wait unbatching, before the server have finished the first arrived batch, and not just send it immediatley. - Thomas Model01.spfx
  2. HI, please find the response. let me know if that's what you were looking for? Just for checking the logic I have changed the cycle time from 10 min to 10 sec for server1. Regards, Unmesh Model01 (1).spfx
  3. Hi Everybody, I'm working on an Airport project with Simio, I'm currently having troubles on some links because when there is a collision, the Path Process OnCollide execute assigning a Movement.Rate of 0, but once there are no entities ahead, the Path Process OnCollisionCleared doesn't execute making the entity staying on the link and blocking the simulation. here is an example: There are two links A and B, the link A has a Capacity of 1 (Image 1) , when an entity wait on the link A, the entity that arrive on lin B detects a collision so it execute the process OnCollide assigning a Movement.Rate of 0 (Image 2), but once the Path A is empty and ready to be occupied (Image 3), the entity on link B stays there blocking the links (Image 4).
  4. You can use SetRow step in process logic to set a specific row reference in each table. If you don't know the specific row in each table then you can use Search step to find a row in the table and then use SetRow. Once you do SetRow, you will have row reference to the table. If you have conflicting row references then you may have to cancel previous row references when you do set row. You can do that using Advanced Options on the SetRow step.
  5. Hello everyone, I met a problem during the use of 'CallMatlab' UserExtension process. I am using Simio 8, MATLAB 2019a, and Windows 10, following the process introduced here: The problem is that when Simio is trying to call MATLAB function, some files are not registered and a certain dll cannot be found. Has anyone met such a problem before? Or is there anyway to write the CallMatlab myself? Thank you. Shu
  6. Hi atuba, Thank you for your friendly reply! I'm using Matlab 2019a and Simio12 in Windows10. I did try to use the CallMATLAB dll file online, but that required the corresponding software version and system version. I rewrite the code in C# that calls Matlab with cmd. The created dll file works but requires a pause after the CallMatlab step, and it was inconvenient but helped me obtains the experiment result. I will definitely try your suggestion next time the optimization-based simulation is needed. Thank you!
  7. ~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.
  8. Hi Folks, We have a data driven model where entities require a value from a table with n named columns. For example, consider the column names might be "Group1", "Group2", and "Group3". For each randomly selected entity classification based on a random row for example, we wish to randomly select which column to grab a numeric value for that type entity. Each Type has a unique distribution of amounts in the table. Suppose an entity has a string state called MyGroup, and I set that value. For example ModelEntity.MyGroup could be set to "Group1". Is there a way to use that name as a reference to the named column in a data table? I was thinking something like ModelEntity.MyValue set to MyTable.(ModelEntity.MyGroup) would be nice if it worked, but it does not. Is there any way to use that string state value as a reference to a named column in a desired table? Thanks So Much For Any KindThoughts On This, Jim
  9. Hi I am trying to retrieve the actual run time of each scenario on my experiment. This information appears below the Scenario manager but I can't copy it (i can't select the text inside the box). I have 100 replications and there are 50+ scenarios so find them individually wold be very time consuming. Can I export this data? or visualize it on some other way? Thank you!
  10. 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
  11. 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!
  12. 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 :)


  13. Hi All, is there a way to make the server waiting for two (or any defined number) entities to begin the processing? I would like the server to begin processing only when two entities has arrived. Then the two entities leaves the server at the same time, and other two begin being processed. Can I do it without defining a process?
  14. I am interested in using task sequencing reading from a data table to solve my issues with multiple tasks being done by different workers at the same time and task precedence. After looking at the simbit related to it (TaskSequenceandWorker) I did not see a way to add probabilistic and conditional columns like when it is done directly into the server. Also is there a way to have a column for entity types and have it only reference rows that are assigned to them.
  15. Hi, I have entities that need to be treated on a Server with a Worker as a secondary ressource, and then once the entity is done on the Server, I would like the Worker to prioritize the Transport of this entity to its next station before being seized elsewhere on another Server. (Entities need to be transported by a Worker) I thought this was what the "Keep Reserved If" function did but it turns out it just makes sure that the same Worker that was treating the entity is the one to move it (but it won't prioritize the Transport of the entity, it will go treating other entities first and then come back to transport it, which is not what I want. Thank you in advance for your help
  16. 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.
  17. Hi all, I have a quick question regarding my model. I'm creating a simulation of a train system and have passengers arriving at stations (source) and then entering a vehicle and exiting at a station (sinks). I have collected data that determines the percentage of passengers who exit the train (vehicle) at each station or data which determines the station a passenger will exit given the station they enter. What would be the best method to accurately disembark entities at a specified station. For example, if a passenger enters station A they have a 25% chance of exiting at station B, 25% chance of exiting at station C, and 50% chance of exiting at station D. I've seen a few different examples presented online but have not seen any where an entity uses a vehicle to get to their specified location. Any advice would be greatly appreciated!
  18. Hi All,


    I am trying to look as to how can we create experiments with various schedules in the SIMIO experiment tab.

    Currently I am not using RPS version.

    I have created a schedules for various servers using Simio process logic and schedule table for each server.  I am able to run one schedule and see the resulting performance, but it would be interesting to see how the changes to the sequence of orders changes the performance.  How could I set up experiments to make changes to the sequences in the tables?

  19. Hello, guys, I do not know how to determine if a detached queue contains a certain kind of entity. I create an element station1 and a detached queue which sets the queue state as Station1.Contents. In Decide step, the station1.contents only returns the number of objects in the station, and I cannot use contains(obj) after station.contents, even though contains(obj) is a function for QueueState and Station.Contents should return the queue of entities currently located in the station, according to the help documentation. Is there any method to access the candidates or objects in the self-defined station? Thank you! Shu
  20. Dear Simio employee, I have two questions about 'getting' the average holding time for all the realisations of my subclassed vehicle. I want to know how long an entity is on a vehicle, on average. I tried it with two processes, but both don't work. I don't understand why the following doesn't work (process GemTijdOpAGV): And I also don't understand why the process TijdContainerOpVoertuig doesn't work. I don't understand the error: 'Model Entity does not match the model', or something like that. I created two instances of de model entity, named 'container and pallet', but it seems like I can't use model entity in some processes and in others I can. Why is that and when can you use model entity and when not? (This is also true for instances of a vehicle.) I have attached the model below, but it is still in progress. I hope to hear from you soon! With kind regards, Thomas Haven_v1 project DS model met RS en dus intelligent MTS.spfx
  21. Hi, I need to execute a process only during three hours per day, but I cannot use the timer because It just represent a point in time and I need a period of time Someone can recommend me an simbit, or give me some advice in topic Thanks in advance
  22. A way of achieving what you describe here is to create Column 3 as String State Column. Then you can utilise the OnRunInitialised Process to concatenate the contents of Col 1 & Col 2 using an assign step as follows: Table1[1].StringState1 = Table1[1].StringProperty1 + "-" + Table1[1].StringProperty2
  23. 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.
  24. Hi Jim, Unfortunately, at this time, there is not a way to reference a column name with a string variable. The column needs to be directly specified by name (like MyTable.ColumnName) or you could specify the cell by the table row and column index (like MyTable[RowIndex, ColumnIndex]). The indexes can be State Variables that evaluate to an integer. The caveat is that you can not just specify the column index, the row index needs to be there as well. So assuming you can assign the row, one approach to consider is creating an integer State Variable to save the column index. A Math.If expression could check the group name string, and assigns the integer variable the corresponding column index. Then place the integer variable in the Table column Index. Happy Modeling! Liz
  25. Hello! One suggestion is to use Key/Foreign relational tables to accomplish your goal. If you have a table that defines your unique entities, you could then set the entity column as a Key. In the Task Sequence Data Table, you could then add the Foreign Key column to specify which rows pertain to the specific entity. This could limit which rows in the Task Table the Entity will have a reference to. Happy modeling, Liz
  • Create New...