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!


New Software Release

Our latest release, Simio 11, is here!


  • Content Count

  • Joined

  • Last visited

  • Days Won


GFurtado last won the day on July 18

GFurtado had the most liked content!

Community Reputation

6 Neutral

1 Follower

About GFurtado


    Simulation Analyst @ Innovation and Industry 4.0 Department

Recent Profile Visitors

460 profile views
  1. If you look at the list of animations of a symbol (as shown in my previous reply), you'll see the animation 21 (Sleep), assuming you're looking at a animated person symbol. So set the Current Animation Index of your ModelEntity to something like this: Math.If( condition when your entity is bed , 21 , index of the animation when it's not in bed )
  2. It is possible to reference a column in a expression property ( e.g.: Table1[1].Separator1 ) But I suggest: Working with Work Schedules on your Data tab Or rearrange your table to include a Object Instance Property column containing all your servers, following by Integer Property column with its capacities. This should make the referecing easier.
  3. Change animation by setting a number or a expression on your object's Current Animation Index property. You can check its symbol available animation by right-clicking your object and selecting List of Animations of Active Symbol. In the Drawing tab, draw your wall using polyline or curve, set the Object Height and apply the texture by clicking in the wall. Check these two attached images for a better understanding.
  4. Every station comes with three events: .Exited, .Entered and .CapacityChanged. So the triggering event of an entity finishing processing in a server is Server.Processing.Exited.
  5. The expression State.InitialValue might help you, but I believe you can't reset every value of the array at the same time (I might be wrong). In this case, you'd need to set multiple assignments or loop in a process.
  6. That might sound counterintuitive, but entities are alternating between 0.0 and 3.0 m/s in a discreet manner. They don't have acceleration or deceleration. They are not slower, they are full-stopping before entering the node. (Difference distance/diference time) = average speed. Movement.Rate returns that instant speed, which are either 0.0 (full stop) or 3.0 (desired speed). You can verify this by looking at the label attached to the entity. I'm not experienced enough in Simio to help you creating an entity capable of smoothly decelerate, but you could calculate the average speed between two nodes (check the attached model). EntitySpeed2.spfx
  7. Desired speed means maximum speed. When there is nothing restricting the entity, it'll travel at its desired speed. If entity's desired speed is 1.4 and the path maximum speed is 2.0, the entity will travel at 1.4. If entity's desired speed is 1.4 and the path maximum speed is 1.0, the entity will travel at 1.0. Initial Desired Speed is a property. Every entity starts at this speed. You can change it mid-run by assigning a new value to the Desired Speed state. It is a constant speed, unless you code it otherwise somehow. Yes, unless the entity is restricted by the path maximum speed or slower entities blocking the path. Use the expression ModelEntity.Movement.Rate. ModelEntity.DesiredSpeed returns the entity's current maximum speed, not that instant speed. ___________________________________________ I tried to compile all my answers in a single model. Check the file attached at my post. EntitySpeed.spfx
  8. Each entity running on a model is actually an instance of another model (a model entity). You'll se each individual distance travaled if you add an attached label on your ship entity, or else you'd need to reference that particular instance somehow. In the model attached in this post, I get the distance traveled of the last entity created. You also could set a "checkpoint" that assigns ModelEntity.TotalDistanceTraveled to a state whenever that entity goes through it. AttachedLabel.spfx
  9. Do entities choose the server randomly? In this case you could set the Outbound Link Rule to By Link Weight. Then set the connectors weight to its respective cashier current capacity. So when the cashier's capacity equals zero, the entity has a 0% chance of choosing that cashier.
  10. If the parent entity knows how many bags belongs to they, you could set this expression in combiner's Batch Quantity property, something like my new attached model. Then you set the bag and passager IDs in the Ranking Rule property. Match Quantity.spfx
  11. You can assign each entity an individual ModelEntity.Priority and set your Combiner to only match entities with the same priority. Check my attached model to see an example. Match Priority.spfx
  12. If you want to see a stat in the Pivot Grid, you need to register it in a Tally step. Create a new Tally Statistics element on your Definitions tab. Add a Tally step in your process.
  13. You need to end the Transfer step you started. 1. Create a process containing the EndTransfer step that is triggered when entering Input@Cashier. 2. Set your Transfer step to the Input@Cashier node. I hope it helps.
  14. For your second question, you should use TimePaths instead of Paths. Just set the Initial Traveler Capacity and Travel Time properties to an arbritary number. Traffic with TimePaths.spfx
  15. Check my attached model. The entities have random movement speed and paths Allow Passing property are set to False. So slower entities will naturally create a traffic congestion. You could also try to solve this in a more algebraic manner, by setting ModelEntity.DesiredSpeed or Path.DesiredSpeed based on the Path.Contents state. Traffic.spfx
  • Create New...