Jump to content

Search the Community

Showing results for 'create entities on event'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Simio Public Forums
    • Welcome and How To Become a Simio Insider
    • Simio News and Announcements
    • Simio Product Details
    • Simio-Related Positions Desired or Positions Available
    • Help Getting Started with Simio
  • Forums for Simio Insiders Only (See Public Forums Welcome topic to sign up)
    • SI General Discussions
    • SI Sprint Releases
    • SI Shared Items
    • SI Ideas and Suggestions
    • SI Known Issues and Workarounds
    • SI Performance Tips
    • SI Non-US Cultures
    • SI Student Competition
    • SI Educational
    • SI Libraries and Objects
    • SI Animation and Visualization
    • SI Distributions, Functions, and Expressions
    • SI Simio Tabs
    • SI Experimentation and Optimization
    • SI Functional Approaches
    • SI Industries / Domains
    • SI Types of Simulation
    • SI Emulation
    • SI API

Categories

  • Files
    • Academic Information
    • Product Information
    • Case Studies

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


About Me


First Name


Last Name


Company/University Name


OCCUPATION


ICQ


WEBSITE


YAHOO


AOL


LOCATION


FACEBOOK


GOOGLEPLUS


SKYPE


TWITTER


YOUTUBE

  1. Hi All, In examining a medical system, we have a requirement to log snapshots of the patient details being processed at specific points in time during experiment replications. For each server, we would like to know the state values for entities currently in processing in each functional area ( a mix of servers and storage queues). I suppose I am looking for an "Easy Button" which would quickly capture a Work In Process snapshot of the system. Are there any thoughts on accomplishing something like this? Any kind comments would be greatly appreciated. Thanks, Jim
  2. Since I am not allowed to save my changes on your file directlt I am not able to upload your revised model. But, it is so simple to follow the steps to get what you wnat. First delete all your processes in your model and only for Volvo server define an afterprocessing add-on where you should include a decide step, an assign step and a wait step (see the attached file). Then, 1) set decide type as conditional and set its condition as: (M1.Capacity.Remaining > 0 && Input@M1.NumberTravelers.RoutingIn == 0) && (M2.Capacity.Remaining > 0 && Input@M2.NumberTravelers.RoutingIn == 0) && (T4.Capacity.Remaining > 0 && Input@T4.NumberTravelers.RoutingIn == 0) 2) at assign step set state variable as: Volvo.ResourceState and set the new value as: 2 (setting this to 2 will block the volvo server) 3) at wait step set event name as Output@T4.Entered. I hope this works for you.
  3. In fact, even if I use just two simple nodes without any steps and other objects, it is not possible to create a street route on map, while it was possible until about a month ago. The features of my software are as follows: Version: 12.205.20430 (64bit) License Type: Academic RPS Expiration: 2021 - 06- 30 Best regards, Milad
  4. Hello! I need to block a specific server in my model, preventing this server from starting its the processing time. The conditions for this to happen are dictated by the following servers, according to a number. In this simplified model I made, if the entity went through the server M1, then this server will stay suspended until T4 finished its processing time. At the same time, M2 will have the same behavior. Following the above, the server just before M1 and M2, called Volvo, must not start its processing time if M1 and M2 are working or if either one is working while the other one has suspended its processing time due to T4 is working with the entity just went through. The thing is I already tried 2 approaches, the first one was through suspending the server called Volvo (Bloqueo volvo file), and resuming when T4 finished its processing time, but despites it is suspending Volvo's processing time, it doesn't resume it correctly. On the other hand, I tried using a waiting room that blocks the pass of entities trying to reach the Volvo server, but it works erratically (Bloqueo volvo cancha file). I would appreciate any suggestion or help of any kind. Thanks in advance. bloqueo volvo.spfx bloqueo volvo cancha.spfx
  5. Thanks you so much for you help Liz. That's such an advanced modeling techinique I had never heard of before. I would never be able to figure it out myself. It has almost worked but correctly. It has recorded the results for some tallies correctly but recorded some tallies on the wrong tally. I think there is a problem with the set row feature somewhere. I have no problem with setting rows elsewhere in the model such as arrivals from production and arrivals from truck tables create entities correctly with all their state variables. The product list table also has unique "productnames" (entity instances), set as key and auto set-row property is set to true. I have added another coloumn with element tally statistics reference (DistanceOnForklift) to products table. I have auto created it as you suggested and turned on the auto-set row feature to true. Both my product names and tally statistics coloumn are set as key in same "products" table. But the tally step still doesnt record them to the correct tally statistics. Where am I doing wrong? Would you still be able to help me? Shall I send you the model in private message? Here is the formula I have inputted 'Products[Products.ProductName.RowForKey(ModelEntity.EntityType.Name)].DistanceOnForklift' and in the picture below you can see that tally step records into wrong tally element on last three entries. I would be glad if you could help me.
  6. I would recommend using a Data Table. One column could have all your entity types defined. The next column could be a Tally Statistic Element Reference Property. This column would match up the Tally statistic you want to correspond with the Entity Type. You could choose to auto-create these Tally Statistics from the Data Table. If you change the Tally Statistic Property's column Reference Type property from 'Reference' to 'Create', this will make the Tally Statistics for you. I recommend the Help page "Table-Based Elements (Auto-Create)" in Simio for more information. If your Entity Instances noted in the Data Table are unique, no duplicates, you can set that column as a Key. With that column as a Key, you could use just the Tally step and use the RowForKey expression. RowForKey will allow a key input to search for in that column. If the model entity is driving the process, you could use an expression like this for the Tally Statistic Name 'Table1[Table1.EntityInstanceProperty1.RowForKey(ModelEntityReference)].TallyStatisticProperty'. Since it seems this process will be on the OnRunEnding, it will not have a reference to a specific entity, so you will most likely need a Search step to find the entities still in the system. I would set the Search step to find Infinite things and let each entity reference exit on the found branch. If the EntityInstanceProperty column in your Data Table has the Auto-set Table Row Reference property to 'True', the entities will already know the row reference and your Tally step Tally Statistic Name property could be 'Table1.TallyStatisticProperty'.
  7. Thank you so much Liz! I understand exactly what you mean. However we thought that using Tallies would give more correct results for the average value calculations. I am also thining that running and add on process on "run ending" would allow me to calculate the distances statistics for all the entities even if they are not destroyed. Now I know how to calculate it but there are around 800 different product types. So I have to write 800 if conditions saying if decide, entity.type.name == "A" is true, Tally "distanceonforkliftA", on false exit, if decide entity.type.name == "B", Tally "distanceonforkliftB" etc. Is there a way to automatically create tally statistics for each entity instance?
  8. Hello! With your current approach, you need a way to aggregate the distance traveled per each entity. Each entity in the population is collecting their own distance traveled, but on the Output Statistic, you are looking at just the Instance, ProductA. The Instance will not automatically aggregate the population's values. If you were to specify a specific population index, for example ProductA[5].DistanceFunction, the Output Statistic would return the 5th entity in the population's distance function and you should see a value. However, making an Output Statistic for each population index would be inefficient and tedious to collect. I recommend using a global/model level State Variable. This State Variable could be summed as a ProductA entities leave the system. So the Product A entities will continue to collect their individual distance traveled as you have set it up, but then prior to exiting through the Sink, add their distance traveled to a running total State Variable. That total could then be divided by the number of entities destroyed giving you an average distance traveled.
  9. Hi Guys, I have a source producing the entities, which is processed by the server with a worker. server and worker are assigned to work schedule (7Hrs) (12am-7am) arrival model of the server is set to time varying arrival rate. to control the source on holidays. But with current scenario the source is producing the entities on off-shift time. Please help out with a logic, so that source is produces the entities matching to the timings of work schedule. Note: Simulation run is for a period of 1 year. Regards, Alen
  10. Hi Everyone, I have 100s of different products in a warehouse and I want to get statistics for all of them such as distance travelled, number entered and exited. So I created the entity instances for each product automatically through data table. The entity.totaldistancetraveled function doesnt increase since the entity doesnt moveby itself but moved by forklift instead. So I have created a state variable called "distanceonforklift" and increased by the difference between the forklift total distance travelled value when entity exits and enters to forklift. I have also created a function called "distancefunction" on the entity and equated it to "distanceonforklift" state variable of the entity. For the return type of function I have chosen "number" and set the unit to "length". I validated that both distance state variable and function is calculated correctly in the facility window. However I cannot output the result of this state variable on the model results screen. I used the following expression under model outputstatistic but it didnt work. "ProductA.DistanceFunction". That expression gives me 0 value although there are some entities of this product which enters and exits the system. How can I see the average total distance travelled on forklift for the whole population of Product A?
  11. To Whom It May Concern, I also have a very similar issue with multiple entities and multiple paths (for some entities). Could I also have the solution shared in this forum? I have tried multiple sources, transfer nodes, and sequence tables. I just seem to be running into different errors trying to achieve the same goal. Thank you, in advance, for your assistance!
  12. Hello! I have a similar question. The thing is that in my model I have 4 different entities and I need my servers to start full of these. How should I change the process you made or a different one must be made? I want to create a kind of warm-up situation, but only my servers must be at their top initial capacity. Thanks in advance
  13. Your colleague can create models that will be part of an object library for your model. - You can't join different models into a final one but - You can import a custom object library made by your colleague. On the project home tab > Load library > Select your colleague's SPFX file > Import Now you can drag and drop the premade objects into your cooperative final model. This is how I collaborate on projects.
  14. A demo model on how to create sub-classed object with moving part, collect stats and show on dashboard. Have fun! ParkingEntryAndExitBoomGates.spfx
  15. The SkyBox icon on the View Ribbon opens a library of static and dynamic scenes that can be placed in the 3D animation. Dynamic scenery includes several options for clouds that move with the animation as the model runs. Typically, the Speed Factor should be set to 5 - 10 or greater to see movement. Static skybox options include many indoor and outdoor scenes. Indoor applications include adding building walls to surround your model. The 'None' option will remove any existing skybox. Users can create their own SkyBoxes as well. The “library” skyboxes are simply *.zip files with images inside them with the names front, back, left, right, top, bottom. They don’t need to have all of those names in them, Simio will use whatever ones it finds. They are located in the Skybox folder under \Public\PublicDocuments\Simio. Note when you first apply the SkyBox, you can only view it in 3D and you may need to use the Ctrl Scroll wheel to move the camera down to where you can see the horizon. There are over 20 SkyBoxes that are installed with Simio. A few more are attached below. Simply download and save these zip files in the C:\Users\Public\Documents\Simio\SkyBox folder. The next time you open Simio you should see something like this under SkyBox options: Here is an example of the MFGPlant SkyBox with a server in the foreground: If you create your own skybox images that you feel might be useful to others, please share them here. Hospital.zip MFGPlant.zip Warehouse.zip Airport.zip CleanMFGFacility.zip NEW NOTE: We just decided to reduce the size of these and some existing skybox files and include them all in Sprint 215. So it is probably better that you just wait a bit unless your need is urgent.
  16. Hi all, With the success of SET's previous two webinars, we've been asked to showcase our other Simio talks at the virtual Converge20 event. Along with many other talks at the event, these are the ones that will focus on Simio and it's applications: Willem Daling: Using Digital Twin Technology in Mining Handre Dreyer: Improve Planning & Scheduling Control via Continuous Simulation Register here (free) This event is not limited to simulation modelling, and will cover a whole range of other operational technologies across various industries. Below is the agenda for the event:
  17. How do I access a table column by name using a table property defined for the model? In my model, I have multiple data tables each with the same named columns defined for each. Each table has a different number of rows. For a run or a set of replications, I want to select a table to use. I have defined a model-level table property named _SelectedTable to support this. During simulation runs, I want to access this selected table's data by row and column name. Specifically, I want to use this data to update model entity state variables. I also want to stop creating entities when all of the rows of the table have been accessed. I've tried two partial solutions to this problem (attached), but neither are ideal. 1. Create a large set of decide add-on processes to choose the decide the correct table and explicitly reference it by its name. This requires a lot of redundant steps and maintenance if tables are added or removed. The attached example contains just two tables. Controls OptionId and _SelectedTable must be set to either (Option1 and tableOption1) or (Option2 and tableOption2). The first control selects the Entity Type and the second selects the Table. 2. Using the column index number instead of the column name, I found I can use the table property to access the selected table. This method is prone to error if the table schema changes. It is also unclear which table properties, such as "AvailableRowCount" are accessible via this approach. The attached example contains two tables just as the previous. The control _SelectedTable chooses which table from which data is acccessed. In practice, the data tables will be substantially larger than the ones included in the attachments. Looking forward to constructive guidance, Ryan table_selection_by_name.spfx table_selection_by_column_number.spfx
  18. Dear all, it seems I have the same issue with multiple entities and requirements for multiple paths in the sequence table. I would be very happy to have the solution shared with me. Kind regards, Harald
  19. 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?

  20. 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.
  21. We are building a model of a medical facility where some patients need to be evacuated out of the model using a vehicle. In its current state, when a patient is in the ward or ICU, it will be determined if they need to evacuate. While they are waiting for an evacuation transport, they will be in a task sequence loop. We would like some way for the patient to seize a spot on the transport, perform the tasks loops, and once the transport arrives at the facility transfer node, the patients break out of their loop, and seize a worker to be carried to the vehicle. We have patients looping correctly and workers carrying the patients to the transport node, but they are not waiting for the vehicle to arrive. Having a condition that breaks the loop when the vehicle is in the loading node is not working because as it leaves its current node does not update quickly enough so entities go to the node that then are not picked up. A potential solution we found was to use the MinimumDwellTimeExpired State variable for the Evac transport in the loop conditional (If transport is dwelling then do not continue the loop and get routed to the transport, if it is not dwelling stay in the loop), however this variable is not public with no apparent way to make it so. We have also tried to make a function in the vehicle to try and mirror the state variable value, but this also did not seem to work as it does not update during the run.
  22. OK I used worker transport logic to "dwell until full" for my transporting 2 entities.
  23. Other questions: What expression would tell the worker to ALWAYS transport two entities? I want my workers to finish all server runs before going on lunch break or end of shift. Entities will never be unattended nor will workers be interrupted to restart server time later. What's a good solution for that?
  24. Hi all, how would you approach this model? Workers are transporters and must be present at the servers to supervise each step. For now I have one worker and am using a personal edition of Simio. Server1 is an observation microscope where entities pass through a survey step. Server2 is a robot dispensing glue that has a finite window of appropriate elasticity after mixing. I started my model with a version very similar to the MoveableOperator where my worker goes back and forth between two servers running 6 entities individually before switching... six being the number of entities we believe can be processed with one batch of glue. When trying to model the delay step of glue mixing (ideally with worker movement to a separate node or location) I thought to add it as the first in a task sequence at Server2 with the condition that it only need to be applied when the server buffer was full of the 6 entities. This seemed to not fit well with the priority decisions that the worker already had for movement and the worker stalled. Basically, how would you model the fact that every 90 minutes we need a 15 minute delay for glue mixing and that once the glue is mixed the priority needs to be at Server2 until glue elasticity runs out?
  25. Note: WkA and WkB essentially do the same thing, so I'm essentially just explaining WkA on the seizing worker to make things simpler. What needs to happen: I need Wk1 to wait until WkA is at the output node before processing the entity. Then resume movement (to go to input of BPICK) only after the event of Output@APICKRiderWaiting (basically the processing finished; I found it only works when I use the wait for rider waiting). The same thing needs to happen with BPICK. Then Wk1 needs to head back to nRouter. Current State & Problems: Right now it does not wait to process the entity until WkA/B gets there. I have tried adding that as a row in the events more logic, but it doesn't work. I have also tried putting a Wait step with that as it's event before the other Wait. However, Wk1 still gets to APICK/BPICK and immediately the entity is processed. Wk1 does however work on not moving on until the entity is processed. One problem with that though is that Wk1 does not go back to nRouter after finishing at BPICK. I have tried several things like setting node, but perhaps I didn't have that step in the right place. Both entities have a destination by the way. This next photo is showing the seizing of the worker. The decide and execute steps refer to interrupting processes but all those still include the seizing step you see here. I have also attached my model in case you need to run or see it. It may be hard to follow all the logic on other add-on processes other than the ones I showed you. I have other problems in other areas, but this problem I'm posting about is not that affected by the other problems of the model I think. Though honestly, if you find that you may have a solution or fixes in basic logic to those (because its glaring) then by all means, share them. ((And yes, I have looked at InterruptibleOperator simbit as well as other Interrupting example simbits but am still confused on the whole thing.)) ModelForQuestionCOPY5v.3.spfx Thank you!
×
×
  • Create New...