Jump to content


Simio Employee
  • Posts

  • Joined

  • Last visited

  • Days Won


Everything posted by cwhitehead

  1. Hi Mohmed, You are able to assign ServerInstance.ResourceState.TotalTime(4) to a Real State through an Add-On Process. I have attached a model illustrating this. Note: The Notify step in both the OnRunInitialized and OnRunEnding Add-On Processes are used as a verification method. All the best, Caleb CaptureTotalOffShiftTime.spfx
  2. Hi Milad, This was a bug in our software that was fixed in Version 214, please download our latest build and you should be able to use this feature. All the best, Caleb
  3. Hi Milad, What version of Simio are you using? Additionally, what steps are you taking to produce this error? All the best, Caleb
  4. Hi, There is not a direct function to access how much Processing Time is left for an entity in the Processing Station, however you can use a workaround that I have attached in a model. The ability to access the function you are referring to in your post is on our Product Backlog, but not being able to access the direct function makes this difficult to achieve. Once you save off the time remaining in a ModelEntity level State Variable, you can use a separate process to compare the value to the "certain amount" that it could exceed and then perform other steps following that. All the best, Caleb CheckRemainingProcessingTime.spfx
  5. Hi Alen, I have attached a model with two different approaches to this question. 1. RateTableApproach - the arrival data is stored within a Rate Table. Note: The Rate (events per hour) is influenced by offsets from when the model begins its run, not by the hour of the day. For example, a model begins its run at clock time 7:00:00, the first entry with a Starting Offset of Day 1, 00:00:00 and Ending Offset of Day 1, 01:00:00 would actually correspond to clock time 7:00:00-8:00:00 and not 00:00:00-01:00:00. 2. ProcessLogicApproach - the Arrival Mode is 'Interarrival Time' which is turned on and off via an Add-On Process. Note: You will need to set the Delay step up to correctly account for the clock time you wish to delay before turning on/off arrivals. All the best, Caleb SourceWorkingAsPerTheWorkScheduleForServerAndWorker.spfx
  6. Hi Sean, I would recommend exploring Time Paths. You can set a specific or random Travel Time on Time Paths. I don't know your scenario exactly, but you could have 3 different Time Paths linking ServerA and ServerB with Selection Weights referring to the specific Entity item number and each of these Time Paths could have a different Travel Time. All the best, Caleb Simio Technical Support
  7. Hi Sean, Where is your Process triggered? Depending on its location, it may allow multiple Entities to Delay simultaneously. For example, if this Process is at Output@ServerA, this will allow multiple to Delay at once and the Entity that finishes the Delay step first will move along the Path to ServerB first. You can have them Delay one at a time if you change the Output Buffer Capacity to '1', however, this will cause ServerA to be in a blocked state until the Delay is complete. All the best, Caleb Simio Technical Support
  8. Hi Mauricio, You can create a mock warm-up period by using an OnRunInitialized Process. An OnRunInitialized Process is executed when the model is first initialized. For example, you can use OnRunInitialized to Create and Transfer Entities into specific Servers as soon as the model is initialized, which is similar to what a warm-up period does. You can read more about OnRunInitialized in the Simio Reference Guide under the topic "Processes". While using OnRunInitialized can give you similar results to a warm-up period, it is not exactly the same as the Warm-up Period in the Experiments window. Keep in mind doing this will affect your Experiment and any other statistics collected (i.e. if you use a Warm-up Period in the Experiment it will essentially warm-up twice). A second option to explore is using a Timer to trigger a Process that contains a Clear Statistics step. This Timer should only go off once. This option is more similar to what a Warm-up Period in the Experiments window actually does. All the best, Caleb Simio Technical Support
  9. Hi Sean, I would recommend exploring an Add-On Process Trigger that utilizes a Delay step. You can have the Delay Time of the Delay step set to an equation that is random (i.e. 'Random.Exponential(mean)'). All the best, Caleb Simio Technical Support
  10. Hi Fra, Have you tried changing the Input Buffer Capacity and Output Buffer Capacity to '0'? This will prevent the pieces from queuing in front of the servers because there is no input buffer for them to queue in. Instead, they will queue on the link leading up to the server. If you use a Path, to see pieces queue up behind one another, set the Allow Passing to 'False'. If you want the pieces wait at the current object until the downstream object is available, you can use a Connector (instantaneous travel). For a solution where travel time is required between objects, you can explore using Add-On Process Logic to prevent moving until the downstream object is available. In this instance you would use either a TimePath or Path. All the best, Caleb
  11. Hi Benjamin, The first thing I recommend is to select Server2 and change the Ranking Rule to 'Smallest Value First' and the Ranking Expression to 'ModelEntity.Priority'. Doing that will allow the entities that are currently arriving to Server2 to jump ahead of higher valued entities in the input queue. In order for Server 2 to process, when free, an entity with a priority value of 1 even if has not entered Server 2's input buffer at that point, you will need to use a process. This process only looks at values that have entered the paths to Server2. Create an AddOnProcessTrigger for Entered for the two paths going to Server2. -Insert a Decide Step and have the Decide Type be 'ConditionBased' and the Condition Or Probability be 'ModelEntity.Priority== 1'. -Insert a Reserve Step after the True arrow of the process. Change the Resource Name to 'Server2'. This reserves Server2 for a ModelEntity with a Priority value of 1 if such a ModelEntity has entered either of the two paths leading to Server2. This is a general idea how to begin to solve your problem. If you want to do further reading, check out the "Reserve" page in the Simio Reference Guide. All the best, Caleb
  • Create New...