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!



Popular Content

Showing content with the highest reputation since 05/28/2019 in all areas

  1. 2 points
    Hello, I have attached a model to demonstrate my approach to this problem. I utilized states and add-on processes to manage the ride capacity of the Vehicle, and a table reference to define the ride capacity required for each entity type. Thanks, Ryan Varying Entity Ride Capacity.spfx
  2. 1 point
    Please find the solution. CreateEntities.spfx
  3. 1 point
    Power BI & Simio Webinar - May 2020 Enhancing your Simio Results using Power BI MORE INFO AND REGISTRATION About the Webinar Simulation modeling has many benefits, namely its ability to forecast and predict multiple scenarios. Simio does an incredible job of providing the user with incredible results, and Power BI enhances these results with useful insights and visualizations. This webinar will provide the benefits of using Power BI for Simio outputs, optimizing your analytics, and giving you a better understanding for decision-making purposes. What will be covered Overview of Power BI benefits with Simio Simulation models Real-world case study of a Simio project using Power BI dashboards Questions and answers for people attending the webinar More details Date: 28 May 2020 Time: 10:00 PT / 17:00 GMT Duration: 1 hour Location: Microsoft Teams (link on registration) Price: Free Hosts Jaco Botha Pr Eng, Managing Director, SE Marco Agas, Webinar Host, SET Presenters Nicolas Finn, Power BI / Simio Trainer, SET Hulda Viljoen, Simulation Engineer, SET
  4. 1 point
  5. 1 point
    since exclusion property checks the expression at the start of the simulation run to determine if this step should be excluded from the run my suggestion does not work. simply omit this suggestion:( and thus decide step before the tally step best suits your purpose.
  6. 1 point
    I think setting the exclusion expression property of the tally1 step as TallyStatistic1.Lastrecordedvalue == 0 will work for u?.
  7. 1 point
  8. 1 point
    Heidy, maybe you can do it using 2 timers. The first one for the starting time and the second one for the 3 hrs period. You can also use the first timer and a Delay step of 3hrs, then a Fire step. Rds
  9. 1 point
    Sorry Cam.Laboy, I missed this part of your message. Of course you had better to define servers instead of sinks. This time you should use Input@Server instead of Input@Sink in the sequences table. By this way, you can collect some other useful statistics, i.e., payment time, payment queue length etc., as well.
  10. 1 point
    Hi Cam.laboy, I mean you have to define new customer types and include sink objects into their sequences. I attach a picture of how to revise probabilities of these new customers. Hope it helps.
  11. 1 point
    yes, it works if the sink objects are in the course of these customer entities.
  12. 1 point
    Note that the logic included in the attached model works if the entities are sourced by seperate source objects. Changing Ride Capacity of a Vehicle.spfx
  13. 1 point
    One approach would be to use an Output Table. There is a nice example provided in the UsingAddRowAndOutputTable SimBit. Keep in mind that each individual processing task has its own State Assignments and Add-On Process Triggers for 'Task Ready', 'Starting Task' and 'Finished Task' - these may be helpful in the endeavor. Happy modeling! Adam
  14. 1 point
    Hi! Please keep all student competition related questions in the SI Student Competition Forum. While others can answer this question, that would take the fun out of the competition! If we feel it is a fair question, the answer will be supplied there.
  15. 1 point
    As we approach our final stage of our bachelor studies, it is necessary to write a bachelor thesis. In this context we are developing a Simio Plugin, which enables advanced model-management and more important, model-comparison. Our main objective is to provide the Simio Community a properly working Plugin, which improves the modelling process itself and the usability within large Simio-projects. What could you expect? Functionality We separate the plugin in two logical components. The first one is called Modelmanagement. The features of this component are the following: • Versioning models • Clone an existing model The interesting part on this feature is the clone mechanic. You are now able to create an identic clone of an existing Simio-model, which can be altered afterwards. This functionality is key to the comparison process. With this clone-function, each clone now represents a version of your base-model. The clones can be altered autonomically. It enables to test and experiment with the behavior of your model, without many workarounds. It may help you to even optimize your model. The second and more focused feature is the ModelComparer. Once you are done cloning and altering your models, this feature helps you to compare several experiments. The comparison isn’t only limited to experiments within one model, you can compare all the cloned experiments as well. Our model-comparison compares responses of several, different experiments. You can now compare all your clones to determine which one is the most efficient. What are we delivering at this point and why? Attached to this post you can find several files. To ease the installation and setup process of the Plugin, we also created an installer. The installer will setup the required changes and files for our Plugin. It is easy to use and enables the full functionality, like a normal software-installer. Second, we wrote a short manual to show you the features of the Plugin and illustrated it with pictures. Our goal is to gahter feedback as early as possible. Currently, we are in the middle of development and are eager to improve the tool even more. We ask you for your feedback, because it is very important for us to find out, if the tool is viable, how its usability is and if the provided functionality is even appreciated within the community. As we mentioned we are halfway through the development-process, the possibility is given, that some bugs or errors may occur. We also would be very pleased if you could take the time to report these and your experience with the tool and fill in the online survey. Your feedback is very appreciated! Link to the online Survey: http://30raqy.findmind.ch Thank you, Philipp Bütikofer Anthony Delay HSR - Hochschule für Technik Rapperswil Oberseestrasse 10 8640 Rapperswil ModelComparison.zip UserManual.pdf SimioToolsInstaller.zip
  16. 1 point
    It is great to hear that you are doing well with your model. No worries with questions, I will do my best
  17. 1 point
    People often want to model two or more vehicles or entities moving together. There are a few components to this: 1) Seizing the resource appropriately - can be done in processes, but often best done within the vehicle object to make the modeling easier. Here, a vehicle has 4 properties added to support use of an operator. 2) Animating them moving together - the picture below shows use of a second queue animated on the custom vehicle. 3) In some cases, you also need the "driver" to be shown moving. The Attached Animation Speed illustrated below, accomplishes that. I have attached a model that uses a custom vehicle object to model a wheelchair which is "driven" (pushed) by a person to pick up a patient. *********** FOR VERSION 190 AND EARLIER ************************************* VehicleWithDriver.spfx You could use the same approch, possibly with just animation changes, to model something like a truck or forklift that requires a driver. In fact, I just added a second model to that same project that illustrates use in manufacturing (e.g. a lift truck and driver).VehicleWithDriver.spfx VehicleWithDriver.spfx *********************************************************************************** ************** FOR VERSION 191 AND LATER *********************************** VehicleX3.spfx VehicleWithDriver_VehicleX3_Examples.spfx For more information on the update, see the post below. ***********************************************************************************
  18. 1 point
    Hi Alberto, I recommend you take a look at a standard Vehicle object and compare the VehicleX3 to see the updates that were made. Only 6 new Properties were added to the standard Vehicle to make VehicleX3. The numerous other Properties were inherited from the Vehicle and were not changed. There are other small changes for the States, Events, and Elements as well. Doing a comparison between the standard Vehicle and VehicleX3 will be the most beneficial way for you to learn. Additionally, all the updated Process Logic in VehicleX3 has been colored. Any grey process steps were inherited from the standard Vehicle. Happy modeling, Liz
  19. 1 point
    ********************* FOR VERSION 191 AND LATER ******************************* In Sprint 191, a change was made to the Seize step's On Seized Process and the Release step's On Released Process which impacted the Token Associated and Context Objects. This change effects the logic in VehicleX. For use in Simio versions 190 and earlier, please use the files at the top of this thread. Attached is an updated VehicleX (now VehicleX3) for use in Simio 191 and later, as well as the updated examples using VehicleX3. VehicleX3 now will reject an Entity's Transport Request if an operator is not available for that vehicle. This prevents entities from seizing and waiting for an unmanned vehicle. *************************************************************************************** VehicleX3.spfx VehicleWithDriver_VehicleX3_Examples.spfx
  20. 1 point
    In order to see the entities accumulated on any path you should first transfer the created entities (which Adam mentioned above) out of the source object. The attached model shows one way of how you can achieve accumulated enities on any path. isThereInputBufferCapa.spfx
  21. 1 point
    The Server Initial Capacity property sets the capacity of the processing station within the Server. Regardless of the Initial Capacity value, each Server Object is regarded as a single Resource in terms of the Results provided by the simulation. This is a long way of saying that, if you want to analyze each firm separately, you will need a separate Server for each one or a pool of Secondary Resources like you had mentioned. Happy modeling!
  22. 1 point
    You can use seperate servers (each has 1 capacity) each represents individual firms. Create entities (raw products) via a data table where you should also include one column (a node property from object reference property) to represent where the created entity will be processed (as its destination). Then at the output node of the source object set entity destination type property to specific. Then set node name to Table1.NodeInstanceProperty1. The entities will be routed appropriately.
  23. 1 point
    I believe Set Table is an old step that was removed. This using Set Row instead, or check this discussion for extra help:
  24. 1 point
    I set ModelEntity.Priority = X at Output@SourceX State Assignments property, but it could be assigned anywhere before the server.
  25. 1 point
    Check my attached model. Is that what you're looking for? I created a Expression Property in Object2 and set its value to the Object1_1 state. State Transfer.spfx
  26. 1 point
    Is it possible to run stored procedures directly from simio? I have seen that there is the DbExecute step that I can use to run an SQL-statement. Is there something similar for stored procedures?
  27. 1 point
    Hi George, thank you for your response! If you have a other question. You are welcome :-)! Have a great day too! Best regards Pascal
  28. 1 point
    I've include my suggestion in the model attached. I assigned low priorities to each vehicle types. Then, select vehicles according to these priorities. It seems it works? SmallModel.spfx
  29. 1 point
    Hi George, I know the normal ways, to create an entity from a table are: 1) Use a timer with the date/time table for a trigger for a own process or 2) A source with the arrival table option. If you want to create entities, maybe you can make a loop process like GFurtado with an Read-Step/Excel-Step and then you can use the Create-Step of Simio. Then you can check with an Decide-Step "TimeNow >= value" for example and create your Entity. With this option you can use FastForward too. With an lower delay time it is near the real time. Maybe this could be a solution for your problem. Because, then you dont need a third party tool to click on import. I checked the Simio API and I dont find something about a trigger for the Simio buttons or a button click event, what we can use for the problem. It would be nice, if there is an API to "use" the button click processes. For example, to import one or all tables again. Maybe a professional Simio API developer know more and can write here. Have a nice day! Best regards Pascal
  30. 1 point
    At some point I would start looking for a SCADA system, write it in Python or anything outside Simio. A Simio Engineer would be better suited to help you, but I still believe you could build this inside Simio (maybe through an API?). I manage to build a very ugly version of this that kinda works. It's not real real-time, because I still need to click on the manual import button (I don't know how to help you with this). I set my source's Arrival Mode to On Event; Create a process with a Decide step that checks if the table received a new value: If it received a new value, trigger SourceEvent; If it didn't, check again a second later. As I said, it's not very elegant, but I hope it inspires you to find the right solution.
  31. 1 point
    Updating the data mid-run isn't a good simulation practice, unless you're building some gimmicky application. But I manage to work this out with this little guy in the Table Ribbon. Have you tried it yet?
  32. 1 point
    I'm not sure, because I never done this course. Maybe something like this?
  33. 1 point
    In fact everthing is ok except you did not placed the subclassed sink objects (mysink type objects) into the facility layout. Probably you forgot to drag them from the project library (at the left bottom window) to the facility layout. I attached the fixed version of the same file. Do not hesitate for asking more. cutoff.spfx
  34. 1 point
    A sample is attached. Time In System.spfx
  35. 1 point
    First, you should define a "NodeReferenceState" on ModelEntity. After finding the appropriate sink to send use "set node" step to assign the found sink's input node as the destination node of the entity (ModelEntity.NodeReferenceState=input@sinkx). Then, do not use transfer step. Instead, set the entity destination type property of source object as specific and also set node name property as ModelEntity.NodeReferenceState. By this way each entity will find its own way via the links you defined.
  36. 1 point
    No, it seems your add-on process is working correctly. How do you transfer the entities to the sink? It seems there is not time advancement between creation and disposing the entities.
  37. 1 point
    Hi Tom, thanks for your help! I've found a solution on my own in the meantime (probably not as sophisticated as yours but it works well). I additionally modelled a small version of the lift itself and created a wait process. The triggering event is "vehicle exits Node X". I used the process for my servers ("after processing"). So whenever a chair exits the node, the gates will open. This is actually quite close to reality where the gate opening interval is not fixed but depends on the speed of the lift and the point in time when an empty chair arrives. All the best, Nico
  38. 1 point
    Hi Nico, I haven't tried this out, so I can't guarantee this to work, but you could specify a Timer that goes off every 7.2 seconds. Additionally, you'd create a process that runs on the triggering event with the name of that Timer. This process Assigns a new value of 1 to Schranke1...Schranke6.CurrentCapacity. I'm unsure whether a delay is required for the entities to move through the system, but I'd try adding a Delay of Math.Epsilon after this Assign step, to ensure they do. Then, with a new Assign step, change the CurrentCapacity of Schranke 1 through 6 back to 0. You may have to change the Initial capacity of all your gates to 0 in the Facility window. Also, make sure you change the Off Shift Rule to finish work that has already started, on all your gates. Hope this works. Tom
  39. 1 point
    Do we have a newer version of ExtraLib ,with the release of Simio V11.........?Thanks
  40. 1 point
    We have an opportunity for an intermediate to advanced modeller to join us for both a Simio and Operational related role. Relocation to Australia/New Zealand is a prerequisite with Visa sponsorship provided. Please note that a minimum contract duration will be in play. Should you be interested, please pm me, or send your resume with contact details to mark@masterschedulingsolutions.com All conversations will be treated as confidential. Mark
  41. 1 point
    After testing a simple rectangle, I see that I can apparently only stretch textures on something like a box? Is this due to the UVW map of an object?
  42. 1 point
    Is there a way to start/stop timers on a specific entity without creating a bunch of different events? The potential problem I see is that the reset timer event is general and would require a bunch of individual events.
  43. 1 point
    Thanks for visiting our Simio User's Forum. This forum has been created to: 1) Share information about Simio, 2) Provide a way for users to communicate with each other and with us, and 3) Provide a mechanism for us to to hear your ideas so we can make the best product possible. Guests If you are Guest (visiting without having registered), you are welcome to browse all our public forums, but we request that you first join our Simio Insiders group before you view the private areas or can post on any areas. Simio Insiders I encourage you to become more involved as a Simio Insider. Insiders will have full access to browse and post in an extended set of forums available just for you. You will find more information on this in Why Become a Simio Insider. There is one more category of membership that is a little harder to achieve. Simio Team Members (employees) are identified as such when we post so you know that we are providing the straight scoop. (This is not to imply by any means that we are always right ) Finally, if you have any other questions about how the forum works, I encourage you to consult the "FAQ" item from the main Forums menu (top center). Again, welcome to the forum. I am always anxious to hear your feedback (positive or negative) and any ideas on how we can improve this forum or our products. Email me anytime using dsturrock at simio.com
  44. 1 point
    The following logical operators are available for use throughout Simio: == (Equal To) > (Greater Than) < (Less Than) >= (Greater Than or Equal To) <= (Less Than or Equal To) && (And) || (Or) ! (Not) , such as !Is.Transporter (is not a Transporter) != (Not equal) Boolean (True/False)
  45. 1 point
    Is there an example or a SimBit which shows how to do this?
  46. 1 point
    Interesting. But what does that mean in terms of being able to collect the cumulative "cost" at any point in time or by any specific resource through the use of a state? Is that just not possible?
  47. 1 point
    Hi J, The following two function might help: StandardWeek.TimeUntilNextValue(TimeNow) - the amount of time before a change in Schedule StandardWeek.TimeOfNextValue(TimeNow) - the duration of the next value in schedule StandardWeek.NextValue(TimeNow) - the next value in the schedule So create a schedule and reference the schedule in your expression builder. Regards, Willem
  48. 1 point
    Create a new project, go to ProjectHome ribbon, click load library button. Then, find and select your own model, simply click open to load it into Simio. You will see your model components (i.e., objects from your own library) at left with the name of your library (custom library).
  49. 1 point
    The Combiner object in the standard library assumes that you have a parent entity representing a box or container and members representing the parts that are combined into the parent. In some cases you don't want to have a parent, you just have a number of entities that you want to temporarily join together and process as one. The attached project contains an object of type Node that represents a very simple Combiner and a TestModel to illustrate how it works. The node simply asks for a Batch Size and then holds the incoming entities until that batch size is reached. It creates a "normal" batch so it can be used with the Separator as long as you treat all outbound entities as the same. CombinerNode.spfx Requires Sprint 5.80 or later.
  50. 1 point
    As an FYI, I used this technique to also solve (one of) my warm-up related problems. I created an additional list state value called "warming up" and set the list state variable to that on resource initialization and only assigned a new value when my warmup period was over. Then, in my pie chart I used a repeating group (instead of the list state) and added all list states except "warming up" to capture % time a resource was at each utilization level. Awesome!
  • Create New...