Jump to content

Search the Community

Showing results for 'create a timer element'.

  • 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. I do not know the details but if it is appropriate set "must simultaneously batch" property as true under the batching logic section. Then, add a "Release Batch Early Triggers" and set "Trigger Type" as "Event Based" and "Triggering Event Name" as Timer1.Event. Then, define Timer element and trigger it at exactly 9:00 AM.
  2. How do you customize symbols? 1) You can use the built-in Simio Library symbols and you can easily make minor changes to them (such as changing the shirt color on a person), but you are limited in the changes you can make. 2) You can use the built-in Download Symbol links to Google (Trimble) 3D Warehouse to import any of those symbols into your project. Sometimes you want to do more customizing than this. But you can still do this with the following steps. 3) You can go directly to Google 3D Warehouse (http://sketchup.google.com/3dwarehouse/), select the symbols you like, and download the sketchup file to your local drive. Then you can use Sketchup to edit those symbols to meet your needs. 4) You can create your own symbol. It is pretty easy to learn enough Sketchup for simple editing. And with a little time, you can learn how to create fairly sophisticated symbols. 5) If you like the Simio Library symbols, you can start with the sketchup versions of the Simio Library, and again use Sketchup to edit them as needed. You can find these symbols at http://www.simio.com/downloads/public/SimioSketchupSymbols.zip Note that most of these are what is known as "low polygon count" (or simply "low-poly") symbols. Most of them originated from the 3D Warehouse, but have been simplified to make them smaller and faster to animate. If you want a better quality of image, see step 4. For steps 3-5 above, you can go to the Project > Symbols panel in Simio and Import Symbol, and do any final customizations before use. You can also save any of the symbols from above into your own library for use in other projects by going to the Project > Symbols panel in Simio then use the Save To Library feature.
  3. 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
  4. Hi jord41, Simio loads the bound tables once during the initialization in the Simio tables. Data access requires a lot of computing time. (More for writing as reading). I see that you only have 1 column of integer values. My recommendation is that you do not import the table into a Simio table. It's best to create an integer or real state of type vector. Then you use e.g. the Read-Step or the ExcelRead-Step. In conjunction with a timer or the sample example loop of GFurtado you can load the data at intervals. I think that this could be a solution. At least that's how I would do it if I had to work with real-time data. Normally, such real-time data is written to a SQL database by a PLC or something like that. Then you can use the SQL steps anytime in Simio. Best regards Pascal
  5. Hello and thanks for reading, I'm building a model that should replicate how vessels are handled within a port area. Within this area, there are multiple Terminals (servers) and ships (entities) that have to visit any number of terminals. Their processing times at each server vary. With their sequences predefined, I have managed to model this accurately, based on a first come first serve or another dispatching rule. I'd like to implement a dynamic sequence. 1) How can I model a certain degree of freedom in their sequences - e.g. a vessel is free to choose between sequence XABZ or XBAZ, depending on the queue size at A or B at the time of leaving X? However, in reality, these vessels enter the system, draft a sequence that is suitable for their loading plan, and then try to reserve serving times at the various terminals. I have tried wrapping my head around ways to model this, but can't seem to think of a way how. I could create a large amount of state variables for each server, that denotes whether or not a certain slot has been reserved, but that is not suitable for running long simulations. I read on this forum post that I could perhaps use a storage element, and store the reservations in there. How would I go about saving reservation-related information? Should I store that on the barge entity or in the terminal's reservation storage? How should I go about modelling timeslots in itself? 2) How can I model 'future' reservations of entities at the various servers? Finally, if this functions properly, and entities can request reservations at the various servers, I would like to have the servers compare all the requests at a certain cutoff time, and for all the doubly requested slots have it allocate the reservation based on the entities' characteristics. 3) Would I have to store the reservation data on both the entity and the server side for them to both make calculations with them, or is it enough to have them all on the server side, and denote whether they have been accepted with e.g. a boolean property? My apologies for the long post. Do not hesitate to ask for more information. Kind regards, Tom
  6. 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
  7. You can predetermine the length of a timeslot then the number of timeslots. By multiplying length of the timeslot with the number of timeslots you can calculate the total simulation time. At the beginning of each timeslot you can trigger a process by using a timer element for performing any task within that timeslot. Note that, you should set the iterval lenth of the timer element to the legth of each timeslot.
  8. Hi bennodual You can create a table inside your customised object(say MyObject) and the column type match your properties, ie,he first of type datetime and the second of type real. and then convert it to a repeatgroup ,for example its name : tableA and on parent model you can instantiate your object and on the property panel, you will see the repeatgroup to assign. you can create a table directly via the schema dropdown list with the name MyObject, select MyObject.tableA and the table will be automatically created. the next step is refer to this table on the properties panel.
  9. 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.
  10. For each location where you want to start a time interval (Server 1 and "the very beginning" in your example) you would need to add a state to the ModelEntity (NOT to the model). Then for each place you want to end a time interval (server6, "the very end", and server4 in your example), you would need to add a TallyStatistic element and Tally and observation at the point. For example to record the time between between Server1 and Server6: create a modelentity state named TimeDepartingServer1 assign TimeDepartingServer1 the value of TimeNow when entity departs Server1 create a TallyStatistic element named Server1ToServer6Time record a Tally observation (using node or Tally step) at Server6 recording the value TimeNow-TimeDepartingServer1 to Server1ToServer6Time add a status or floor label using the expression Server1ToServer6Time.Average
  11. Hi Mauricio, You can create a mock warm-up period by using an OnRunInitialized Process. An OnRunInitialized Process is executed when the model is first initialized. For example, you can use OnRunInitialized to Create and Transfer Entities into specific Servers as soon as the model is initialized, which is similar to what a warm-up period does. You can read more about OnRunInitialized in the Simio Reference Guide under the topic "Processes". While using OnRunInitialized can give you similar results to a warm-up period, it is not exactly the same as the Warm-up Period in the Experiments window. Keep in mind doing this will affect your Experiment and any other statistics collected (i.e. if you use a Warm-up Period in the Experiment it will essentially warm-up twice). A second option to explore is using a Timer to trigger a Process that contains a Clear Statistics step. This Timer should only go off once. This option is more similar to what a Warm-up Period in the Experiments window actually does. All the best, Caleb Simio Technical Support
  12. 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
  13. 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?
  14. 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
  15. Hi! I have this: Configurations are like: Then I have the station's contents being displayed in the External definitions. I can count the new entities entering the station.contents, but they don't visually appear in the queue... What am I doing wrong? Thanks!
  16. 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.
  17. 1) Depending on how the entity is created in the first place, that assignment may already have been made. So, for example, if the table includes the arrival time and is used as an arrival table within a Source (Arrival Mode is set to 'Arrival Table'), then the entity that is created automatically has a row reference to the arrival table row from which it was created. Alternatively, if you create an entity, you can use the SetRow step to assign it a specific row in a specific table. ** The entity doesn't ever become a token ** Please refer to the Tokens page and the Tokens and Entities page within Simio help for more information. Tokens can be associated with entities (or with a model if a process is triggered by a timer, event, etc.) 2) If the entity has a row reference within a data table, simply referring to the TableName.ColumnName to access the table information is sufficient. This will automatically retrieve the information in the TableName table, ColumnName column at the designated row that the entity has a reference. If the entity doesn't have a reference within that table, Simio will give an error if you attempt to refer to the data in that fashion. Alternatively, you could reference a TableName[RowNumber].ColumnName to specifically reference a given RowNumber. Refer to Data Tables page within Simio help for more information.
  18. Trick is to disable to timer, and re-enable it. That should rest the time interval. Also, have a look at the available levers for the timer element.
  19. If our approach has failed then lets try another approach. If the timer element's task is to invoke process 1 we could achieve this by another approach. See attached file. Do not forget to set delay time property of delay step. The model includes the logic roughly. You have to improve and complete the logic according to your goals. Resource (1) (1).spfx
  20. First define a state type property within your model. Then set its value as the state variable (which you are using for changing the value of time offset). Then, set timer offset property of timer element as a referenced property (choose state type property as the referenced property). Then when you click the button during the run (change the value of the state variable) the timer offset value should change. If this does not work do not hesitate for asking more. Note: be sure that you are using the right units of time offset propery (hours, minutes, seconds etc).
  21. The Workstation release problem is solved Thank you so much. By the way, is it impossible to change Time Offset in timer element during model running? I' ve just tried to dynamically change the state variable, SchduledDateTime during run-time, but the changed value is not considered .. I mean, I made a button which fire a event to change the value of ScheduledDateTime to later time. During running the simulation, I clicked the button and check the value to change using Status label. The problem is .. the value was changed in the status label, but the timer event cannot fire at the changed time. So.. I thought time Offset cannot be changed during model running.. Am I Right..? or Are there any ideas to solve it?
  22. I have taken a glance at your model. At first look your timer element needs to be revised and you should not change the capacity a resource via a user-defined state variable. Use resource.currentcapacity state variable. I have revised your model and it looks like working. Due to having no more time I could not deeply analysed. see attached file. Resource.spfx
  23. I thought station is better than storage. So, I use station and timer element, but It doesn't work. I attached brief model below.. Thank you. Resource.spfx
  24. Store only partA at a storage queue until 2018-10-07. Just at 2018-10-07 trigger a process (via a timer element) in which you should search "Storage Queue" for Part A. Transfer found entities into the inputbuffer of your server. Note that you can rank all the parts according to any criteria you defined (FIFO, SPT, modelentity.timecreated etc).
×
×
  • Create New...