Search the Community
Showing results for 'timer variable'.
-
Hello SIMIO experts, I am currently working on a project where I need to assign state variables to a worker and manage these variables throughout the simulation. I'm looking for guidance on a few key aspects: Assigning a State Variable to a Worker: How can I assign a state variable (e.g., a boolean or numerical value) to a worker in SIMIO? I want to track attributes such as availability, task completion count, or other custom metrics. Updating the State Variable During the Simulation: What is the best practice for updating the state variable of a worker based on specific events or conditions during the simulation? For instance, updating the availability status when a worker starts or completes a task. Accessing the State Variable: How can I access or consult the state variable of a worker at any point in the simulation for monitoring or decision-making purposes? Any advice or example models that illustrate these processes would be greatly appreciated. Thank you for your help!
-
I second this idea. If we can directly assign string name to a object-reference state variable, then use the object-ref state variable as the Object, it will be a lot helpful. String concat is a very good one, for example , ModelEntity go through NodeA, we define its next destination as NodeA_a ....
-
Hello everyone, I have a server which can potentially have many entities waiting in the input queue. All these entities have different priorities (as a model entity state variable). I want to retrieve these values to then select the highest one and put it on a status label to track this during the run. Is there an option to do this? Regards, MF
-
Retrieve input queue entities' attributes
ViniciusF replied to Marcel Favereau's topic in SI General Discussions
Use a search with Maximize Expression. The queue should be ServerX.InputBuffer.Contents and the expression: Candidate.ModelEntity.Variable. -
Hello, I need check state variable of object/models in a list. Is there any method to use like a "for loop" Thank you!
-
Got issues with a combiner. i have a server that processes the member parts but has a 0.1 probability of going to scrap, this means the batch size has changed. the parent part has a integer state that gets updated when this happens but doesn't update the combiner batch quantity property. I have attached an image showing this issue. you can see the pallet number displayed which is the way i match the parts with the correct pallet. the pallet(parent) also displays the batch size using the same integer state which i use in the combiner logic. Theres a pallet with 4 items on it and it shows the batch is 4 so why wont that process it? Also attached the whole model so you can look at it all Batch and Scrap.spfx
-
Hello everyone: I am modeling a packaging system by means of a combiner. 12 equal members are grouped in a box (parent). Before leaving the respective source, members are assigned a value (0, 1, 2) as a state variable (ESV_P) to distinguish them by product type. I want the box to have the value of the products state variable. For example, if the box contains 12 type 1 products, the box should be assigned with a state variable ESV_B equal to 1. Any suggestions? Best regards.
-
Transferring properties between objects
MauricioBiolato replied to FoodEngFAAB's topic in SI General Discussions
Hi Fabian, I see two (or more) possible alternatives for solving this. Assuming that the box only receives one type of entity you can: 1. Create a state variable (for example st_CurrentBoxType) and every time an entity enters the combiner you assign the entity type to this state variable. This way, one the box is completed and exits the combiner you will be able to assign it the st_CurrentBoxType. 2. The other way is to execute a search step once the box is full. You can use "ModelEntity.BatchMembers.FirstItem" as match condition to locate the first batched entity, then in the found branch use an assing step to assign the ProdType from the found entity I'm sure there are a lot of ways of doing that... hope this helps saludos -
Hi I have an entity that is moved through the network via vehicles. The vehicle will drop of the entity at the first server which then gets processed through two servers. I would like to use the vehicle that dropped off the entity at the Input to the first server to be used to pick up the next entity at the output of the second server. Is there a way to save the exact Vehicle that was used and specify that as the Vehicle to use at the second pick up point? Hopefully to a global variable and not to the entity (in my actual model, the entity going in to Server 1 is not the next entity coming out of Server 2). At the moment I am using 'Reserve Closest' as the reservation method at Server 2. I know that is incorrect, but I'm not sure how to setup this up using the other methods. In the attached model, process works for the first entity, but does not for the second entity onwards. Due to other limitations in the model, I need to have the Vehicles to 'Remain in Place' during idle. Thanks in advance for the help. SpecificVehicle.spfx
-
Hi all, I am building a simulation of a system with multiple separators which MemberOutput nodes two different routing policies can occur: 1. Standard Policy In the 'Standard Policy', each separator has its dedicated transporter assigned to it and entities arriving at the MemberOutputNode can only select the defined transporter. To this end, a DataTable has been constructed. 2. Power Hour policy In the 'Power Hour Policy', operations are shifted into a higher gear. We select a maximum number of three nearest transporters whose ride request is 0 and include them in the DataTable which specifies the Transporter Selection. Entities arriving at the MemberOutputNode can now request rides from any transporter in the DataTable. I tried to reference to a DataTable called 'TransporterSelection.EPT' in the Transport Logic of each MemberOutput Node. Each value in the EPT column is cross-referencing to a DataTable in which I try to assign the MemberInput Nodes as a Node Reference State Variable of the Transporter (EPT). Is there any way to dynamically assign more (or less for that matter) Transporters to a TransferNode? Hope that anyone knows how to do this! Cheers, Toon
-
Thank you Dave! Inspired by your approach, I defined two Node Reference State Variables for the Entity: EndDestination and NextNode. In the model Processes, I first determine the Entity State Variable EndDestination based on a DataTable with probabilities per destination node. Then, at routing decision points, I have created processes that evaluate the EndDestination node and set the next node for the unity based on that. Although it requires a bit of 'hard modeling', it works like a charm! Thanks
-
Hi David, I am trying to get your option 3 to work in my model, as the solutions sounds brilliant. I created an Add-On Process that probabilistically assigns destinations to the Entity and by assigning the destination node to the Entity's State Variable MyDest. In the Routing Logic, I've set the Initial Sequence to the sequence table called Routes that holds all possible routes. However, the entities now only follow the first sequence Routes (Input@LoadingDock9, Input@Sink_HTB), whereas Entities with the destination Input@Sink_RTM should follow the sequence Input@LoadingDock10, Input@Sink_RTM. How can I let the Entity follow a specific sequence from my Sequence Table Routes?
-
Server Capacity Depends on # of Seized Resources
Liz Millar replied to nObeso23's topic in SI General Discussions
Hi Nicolas, I would investigate the Server property called Initial Capacity. This sets how many units of capacity are going to be available for the Server. You could also change this during the run by Assigning the Server's CurrentCapacity State Variable. I suggest checking out the SimBit titled "Worker Uses Work Schedule". You can access the SimBits in the Support ribbon in Simio. In this SimBit, I recommend changing the Initial Capacity for the Servers. You could set them to '6' or any value. When you run, you will see that the entities only move into the Process Station when they have successfully Seized the Secondary Resource. So even though there is 6 units available only 1 will be use when the Worker is able to process the entity. You can also experiment with giving the Worker a different Initial Number In System value so there can be more Workers. You will still see the same behavior; the number of entities that move into the Server for processing will be the number of Workers that were available to be seized. Happy Modeling! Liz -
How to increase the distence between entity to entity ?
jzhou replied to River's topic in SI General Discussions
@River Maybe you can use a Timer element and set its Interval type to Arrival Table and use Timer's event to trigger a Process, within this process, you can do anything you want use process steps. -
Hello Gosia, I recommend using two State Variables to record the start and end times using the function TimeNow upon the Vehicle’s arrival to a Node. A Decide step is needed to check if the Current Node is different from the Destination Node and that is when values of the State Variables are assigned using the Assign step. The Processes will be set at the Vehicle’s Add-On Process Triggers On Entered Node and On Exiting Node. You can visit the SimBit section under the Support ribbon and check the SimBit titled “Record Distance Traveled” to see a similar example. Another approach is to create a custom Vehicle Class and use a Level State Variable instead of the two Real State Variables to collect information of the travel time. I suggest exploring the Level State Variable in the Help pages under the chapter titled “States”. I recommend checking the SimBit titled “Using Level States (from project Infection Propagation Using Continuous And Flow)” as well. Best Regards, Khaled
-
Hi All, I want to do some calculations just before the simulation ends. I did it previous versions without problem but now on version 15.247, "on run ending" add-on process is not being executed.I tested it even on a new simple model file with source server sink. There is just two assign steps with breakpoints on the add-on process. But in model trace it doesnt show the add-process name, the state variable value is not assigned, and breakpoint is not reached. Anyone experiencing the same problem in this version? Is there a quick solution to this? Or do I have to install older version? Kind regards, Tolgahan
-
Hello, Worker has a state variable to set ride capacity on run time (Worker.RideStation.Capacity). What you could do is save the number created on a modelentity variable, and set up a addon process trigger on Entered of the node MemberOuput@Separator to first verify if it is a worker (Decide Step with Is.Worker), and if true, you would use a Search step to search through QueueState -> Separator1.MemberOutputBuffer.Contents and assign the Worker.RideStation.Capacity to the value of the modelentity variable found.
-
Hello, If I have created a list state variable (The list just contains each day of the week. ie: "Sunday", "Monday", "Tuesday", etc...) and I want to assign a new value in a state assignment of the facility to a particular day within the list state variable how can I do this? It seems like I can only reference the List State Variable as a whole but I don't know how to assign values to the contents of the variable.... Thanks!
-
I want to set a timer that represents "time of failure" where if the entity is not processed within this time, it will be deemed a failure and be destroyed. This time needs to be dependent on a random draw (one for entity type, and one for a distribution based on entity type). I also need to be able to change this time due to interventions that happen. Is it possible to do this?
-
Hello to everyone, How can I add final value to the result statistic for each server? Thank you in advance and best regards
-
Hi, I'm working on an airport simulation, this is my first simulation, i have a transfer node that has one income link and two output links, so I would like to know if there is a way that depending on certain Entinty's boolean state variable, whe passing throught the tranfer node if the state is true set and specific outbound link and if it is false then set the outbound link rule by link weight.
- 1 reply
-
- routing
- state variable
-
(and 1 more)
Tagged with:
-
Concatenating Reference States and Strings
Liz Millar replied to jfulton's topic in SI General Discussions
Unfortunately you are not able to concatenate those pieces together to get a State Variable reference that will work. You can really only piece things together, or search through and find part of something within a name, with a String. Strings are not able to be understood as a State Variable reference, nor converted to something that could be understood. Instead, I might suggest an approach with a Data Table. Although this adds a tedious step of putting everything in to a Data Table, it then becomes really easy to Search the Data Table for the State Variable you are looking for. I attached an example model for you to investigate. In this model, you need the Data Table with a String Column so that the Search step can look through this collection of Strings and find the String that Contains certain substrings. See the Search's Match Condition property and the String Contains function. Also, the Data Table could contain a State Property column which then references the State Variables you created in the Definitions tab. Or, you could use the State Columns and Assign the values right to the column. Happy Modeling! Liz StateVariableInDataTableExample.spfx -
In the batch that was created, I want to search the member entity with the lowest value for state variable "NumberOfRollContainers" and change its value to: <<TotalREQ" - 0.9 * "CapacityTrip">>, where "TotalREQ" and "CapacityTrip" are state variables of the parent entity. I am struggling with how to use the search step in this situation, so help is appreciated. Thanks in advance!
-
Hi, Is it possible to set the state variable of the parent entity in a batch equal to the sum of state variables of all member entities in the batch? Context of the case; a truck (parent) is loaded with x number of orders (members). These orders have a specific value for the state variable 'NumberOfRollContainers'. The truck has the state variable 'TotalRollContainers', which should equal the sum of the 'NumberOfRollContainers' in that batch. Kind regards, Christa