Jump to content
Simio Forum


  • Content Count

  • Joined

  • Last visited

  • Days Won


CWatson last won the day on November 20 2018

CWatson had the most liked content!

Community Reputation

1 Neutral


About CWatson

  • Rank
    Senior Application Engineer


Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. You cannot control the entity id number yourself, that's internally controlled. However, you can use a model state variable / model entity state variable to do something similar with your own count, based on the entities generated. When an entity is created, simply assign the model state variable == model state variable + 1. Then assign ModelEntity state variable to the model state variable.
  2. CWatson

    tagging Entity

    Yes, let's say your entity is created using an Orders table, where the entity has a 'row' in the table associated with it (with arrival time and other data, presumably the customer ID as you mentioned from the excel file). Then, within the ModelEntity object, find the Display Name property (under Advanced Options). The table name/column name can be referenced within the Display Name (and then the Display Name, ModelEntity.DisplayName) referenced from the Dynamic Label Text property - see the SchedulingBicycleAssembly example under Support ribbon, Examples. Then, when the entity moves around the maintenance shop / manufacturing floor, etc., it will be labelled with the information associated with the entity (ID) from the table.
  3. One option would be to put the 2 (or more) workers in a 'List' of workers and simply select from that list, and use the Number of Objects property (under Advanced Options) set to 2 (or the number of workers in the list that are needed. Workers can be placed on multiple lists. Another option would be a more complex table based approach. See the UsingRelationalTablesToDefineTaskResourceLists SimBit for an example.
  4. Based on your description, you could add a new State variable to the ModelEntity. This state could then be used to group into their separate buses. See the SimBit named 'LogicBasedOnEntityState' for more information on adding a state variable to the entity. I'm not sure the entities need to be batched, but could be sent in different directions based on their new state variable (BusNumber, as an example, assigned to 1 or 2). If they go on a completely different 'routing', the ModelEntity.BusNumber could then be used in a Decide step within a process that would assign a sequence table to each - using a SetRow step. See the 'ChooseAlternateSequence' SimBit for an example of using the SetRow step.
  5. The various resource type objects, such as Server, Combiner, Resource, etc. as well as moveable resources, such as Workers and Vehicles have Resource States that are automatically assigned by Simio. See the List States page in Simio for a listing of the resource states for each object. You can evaluate the state by using the ResourceName.ResourceState in an expression, such as in a Decide step - Server1.ResourceState == 3. These resource states can also easily be viewed by clicking on the object itself and going to the Active Symbol section of the Symbols ribbon to display the animation symbol and listing of the various states and their associated numbers.
  6. What are you trying to do with the Search? How is the process that contains the search triggered? If you can provide either the model or some details of what you are attempting to do, it would be helpful.
  7. The easiest way to do this dynamically is to use the Dynamic Selection Rule property on the Server (or other object, such as Combiner, Worker, etc.). You can use the 'Standard Dispatching Rule' option for that property to then include a Dispatching Rule, such as FirstInQueue, LeastSetupTime, EarliestDueDate, LargestPriorityValue, etc. This allows you to specify a TieBreak Rule as well. Using the dynamic selection will not determine which entity will be selected from the queue until the resource (object) has released an entity and is available.
  8. Work Schedules can also be applied to other Fixed objects, such as Server, Combiner, Separator, as well as stationary resources. I suppose the question would be - how do you generate your entities (arrival table, time varying arrivals, interarrival rates, etc.) and what would you like to happen to entities when the 'model' is off shift -- do you stop creating entities/orders - what happens to in progress materials (do they clear out like a bank at end of day or stay in system like a mfg plant.
  9. In addition, we've added the capability to have various Simio objects 'automatically' created in their physical x/y/z locations from data tables. For an example of this, see the SchedulingDiscretePartProduction.spfx example (Support ribbon / Examples) and review the Resources data table. A column of type 'Object Type' of Object Reference specifies the type of object to create. An 'Object Type' column, Resource Name, then uses that 'ObjectType' column as its property ObjectType with the Default Value Instantiation set to 'AutoCreateInstance'. The XLocation / ZLocation columns are then used within the Initial Object Offset properties. Moving the node (or whatever object) within the Facility window then changes the XLocation/ZLocation values. This table automatically generated the Facility window contents.
  10. We have a number of SimBits that include processing data within tables - perhaps search Sample SimBit Solutions (Support Ribbon) and look under the Data Tables section for multiple examples and see what may be similar to what you are trying to do.
  11. We have a SimBit titled 'SelectServerWithShortestLine' in which there are 3 servers to select between and the output node for the Source provides the logic for the selection. The Server input nodes are put into a NodeList named 'Servers'. This list is then used to select between the members based on a Selection Goal 'SmallestValue' based on the expression 'Candidate.Node.AssociatedStationLoad'. The associated station 'load' is defined as the sum of current entities en route to the node intending to enter the stations, plus the current entities already arrived to the node but still waiting to enter the stations, plus the current entities occupying the stations. This can be used whether or not the capacity of the input buffers is specified for the Servers.
  12. If you have a Source that creates EntityType1 (emergency patients, for example), and a second Source that creates EntityType2 (non-emergency patients), you will need 2 ModelEntity instances in the model (EntityType1 / EntityType2). Within each of those entity types, specify an Initial Priority value (i.e., EntityType1 - emergency with priority 1, while EntityType 2 - non-emergency with priority 2). Then, within the Server, change the Ranking Rule property from the default of 'First In First Out' to 'Smallest Value First' with the Ranking Expression as default of 'Entity.Priority' - it will then automatically use the entity priority specified to 'sort' the entities in the queue, having priority 1 patients in front of priority 2 patients.
  13. To include rework to go back through a Server, for example, simply place a link (path, conveyor, etc.) from the output node back to the input node of the Server (and also include a link path to the next Server for processing or Sink for the majority of entities). Then, within the Selection Weight property of the link, you can specify the % of entities that go to each of the links (rework/continue processing).
  14. You may wish to look at several SimBits (under Support ribbon > Sample SimBit Solutions) including 'AppointmentArrivals' and 'SourceWithRateTable' for creating entity arrivals into the system.
  15. CWatson

    Wait step

    Please either attach your model to this forum posting OR send it to support@simio.com.
  • Create New...