Jump to content

Search the Community

Showing results for 'event parameters'.

  • 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. Your logic is fully right. But, you have to send an entity (or any token) to the processevent to fire your event. Examine the sample model I attached. OnRunInitialized process I created an entity and by using this entity I activated the process1 to fire the event. You should apply this type of logic. sample model.spfx
  2. Attached are the files, code and an example of how to automatically run a schedule by dropping a file into a folder. See "SetupRunSchedule.docx" Updated 2017-10-29....Added the ability to add downtimes for Resources in the Event.csv. These will be read into the model prior to running Plan. Updated 2017-07-28....When the schedule is run, it now produces a file called "ExportSchedule.xml" that contains data from the resource usage log and target results. Updated 2019-05-21....Updated files to make is compatible with Simio 11. Updated 2019-09-18....Updated files to make is compatible with Simio 11.194. Updated 2019-11-08....Updated files to make is compatible with Simio 11.197. RunSimioScheduleFiles.zipSetupRunSimioSchedule.docxRunSimioSchedule.zip RunSimioScheduleCode.zip
  3. If you want a solution to a problem, it is best to post your questions inside Simio Insiders where we can post files with the response. I tried what I think you are doing and it worked fine for me, aside from the fact that the expression you used creates 1 arrival per event between 6-11am, 2 arrivals any time after that (because 10:59:59 has an hour that is still <= 10). I used your expression in the Entities Per Arrival property, created entities hourly on the half hour, and it produced 1 entity at a time until 11:30, when it produced 2.
  4. I have a question. It is about Interrupting" task sequence" operation. Tried a few solution and don’t work…: Say MyServer1 has a task sequence( 3 OPERATION) , within the task sequence logic, it seizes MyWorker1. after it finished the current task,it release the worker. I have a Button,that trigger a event, and it will have to interrupt the current task on MyServer1, and the worker go to transport things in below area . and then it go back and resume his previous task(with some remaining work) at MyServer1… I checked the processes inside Server Object ,there is a process called PerformProcessingTask. , but how can I know what is the Worker’s current task and I need it to resume that pending job after doing something else(usually a work with higher priority )??Attached is a small model we build to show the problem。Any suggestion are highly appreciated InterruptingTaskExample.spfx
  5. Given the information you've provided, if you have a table with a column of stations and want to use a single process to 'EndTransfer' step, you could have another column in your table that is of type Standard Property - 'Event' that associates the station name with the station name.Entered process - and then reference the 'TableName.EventProperty' in the Triggered Event Name property of the process that contains an EndTransfer step. The entity(s) that you route to the station would of course require an index into the table associated with the station (either through searching the table for a station destination or some other method for how you are selecting the station row in the table).
  6. Hey, I am modeling a system that has a large number of stations (e.g. 50). I created a Data Table with as Element column related to my Stations. I am transferring entities from a Source (and later from a Node) to the Stations and therefore I need to End Transfer. I would like to do this "automatically". That is, I don't want to create 50 processes where the triggering event is StationName.Entered I was trying to use the information from my Data Table: TableName[RowNumberRelatedToStation].ColumnNameOfStationElement.Entered I had a status label for: TableName[RowNumberRelatedToStation].ColumnNameOfTheStation. And this is actually showing the name of my Stations correctly. However, TableName[RowNumberRelatedToStation].ColumnNameOfTheStation.Entered is not working to trigger my Process to End Transfer. My guess is that Simio is converting the information into String and not Element and, hence, it does not recognize that Station.Entered happened. Any ideas if this should work or how can I make it work? Also, any other idea about how to End Transfer automatically are welcome. I have a solution that work, but I think it is an "ugly" one. So, I thought about asking if you may have a better solution.
  7. Hi, I'm already assigning resources based on priority, but if I have a high-priority entity hit a certain point and there are no resources available (capacity ==0), I want to branch off and have a resource "stolen" from a lower priority entity so that my high-pri entity can get service. Does this imply a release-seize? Maybe I could fire an event and all my low-pri processes are listening to do a release? But how could I make it so that not everyone dumps their resource? Or is this a "Move"? Note that there isn't actual movement, so I'm not sure if this applies. Any tips gratefully received! I'm not sure even how to use "Candidate" well, in order to see if the "Candidate"s Owner is a low-pri entity or not.
  8. Hello, I’m using a monitor to determine the re-order point of a material. The way I put it is that whenever I have actual stock (physical and in transit) that is less than the re-order point, then I make an order. Sometimes, I have to order a quantity that is not enough to fill the actual stock, up to the re-order point. When I get in such situations, the monitor does not trigger a new order because it functions when actual stock decreases and then hits the re-order point. Here are the parameters of the monitor I indicated in the picture below. For example, my actual stock is 50 un. I consume it (25 un) and when it gets under the re-order point which is 32, then I order a quantity (25 un). If the quantity I order (25 un) is enough to fill the actual stock, up to the re-order point, then the system functions fine. But if the quantity I order (5 un for example) is not enough to fill the actual stock, up to the re-order point, then the system stops and orders are no longer made. Is there another way I can make the system functions without having to hit the ore-order point (32 un) in a negative crossing direction? Thank you, Flora, master student at Université Laval.
  9. Simio is a Simulation Modeling framework based on Intelligent Objects. This may be a bit different than other simulation packages that you may be familiar with, even those that market themselves as object oriented. Simio is designed from the ground up to support the object modeling paradigm; however it also supports the seamless use of multiple modeling paradigms including a process orientation and event orientation. It also fully supports both discrete and continuous systems, along with large scale applications based on agent-based modeling. These modeling paradigms can be freely mixed within a single model. The intelligent objects are built by modelers and then may be reused in multiple modeling projects. Objects can be stored in libraries and easily shared. A beginning modeler may prefer to use pre-built objects from libraries; however the system is designed to make it easy for even beginning modelers to build their own intelligent objects for use in building hierarchical models. An object might be a machine, robot, airplane, customer, doctor, tank, bus, ship, or any other thing that you might encounter in your system. A model is built by combining objects that represent the physical components of the system. A Simio model looks like the real system. The model logic and animation is built as a single step. An object may be animated to reflect the changing state of the object. Simio is a family of products that includes the Design, Team, Enterprise and Portal Editions. Models built with the first three Editions are fully compatible both up and down the product family and provide the same powerful 3D object-based modeling environment. Many simulation packages are built on outdated 2D technology that limits your ability to visualize your process or capture 3D spatial relationships in your system. Some of these older products limit you to 2D only models, while others offer expensive/complex 3D add-ons that require you to build a separate 3D visualization of your system, and then tie these two separate components together. These extra steps add unnecessary work and time to your project, and make your model and animation difficult to edit and maintain. In contrast, Simio provides a true object-based 3D modeling environment which lets you construct your 3D model in a single step from a top-down 2D view, and then instantly switch to a 3D view of your system. You simply drag and place your 3D objects from an Object Library into your facility view of the model. All Simio model-building products directly integrate with Google Warehouse to allow you to quickly download from a massive library of freely available 3D symbols to easily and quickly add realism to your models.
  10. Simio is pleased to announce the 1st Annual Simio User Group Meeting, scheduled for May 24-25, 2017, in Pittsburgh, PA. This meeting will be very interactive and informative for current or future users of Simio’s simulation and scheduling software. The meeting will be held at the Drury Plaza Hotel Pittsburgh Downtown, which is a brand new hotel built in the historic Federal Reserve Bank building. Who Can Attend? Anyone currently using Simio’s simulation and scheduling software for any industry is invited to attend. Alternatively, if your company is considering using Simio software, we invite you to attend, as well, to gather more information about the product and how it can help you. What to Expect This meeting will be jam-packed with great presentations, advanced learning seminars and outstanding networking opportunities with Simio users and employees. With your registration, you will also receive meals, a book including all of the papers presented at the meeting for both days, and a special Pittsburgh themed gift! There will be plenty of information to go around, so if you’ve invested in Simio, you won’t want to miss this event. You’ll be able to see real user experiences and get some great feedback on how to better utilize the software to generate even greater results. Information for Presenters If you currently use Simio software and would like to present a paper at the User Group Meeting, we’d love to hear from you. All the paper needs is the following information: A brief overview of your company Why you chose Simio The approach used in Simio Results achieved by using Simio Pricing Information A block of rooms are reserved. However, in order to receive the discounted rate to the hotel, you must book your room on or prior to April 20, 2017. The prices for the event itself are: Early Registration (before April 14, 2017) – $50 for attendees, $40 for presenters Open Registration (before May 12, 2017) – $60 for attendees Late Registration – $100 for attendees Note: All presenters must be registered by April 14, 2017. We encourage you to attend this event so you can learn more about Simio success stories. Be sure to sign up today to secure the early registration rate. https://www.simio.com/resources/events/2017-User-Group-Meeting/ Hope to see you there!
  11. Hi everybody, My name is Amira Hijazi. I have graduated, first on class with GPA 3.50/4.00, from Industrial Engineering department in Islamic University of Gaza-Palestine and have worked as a teaching assistant in Gaza. I know discrete event simulation using Arena and Simio, optimization using LINDO, CPLEX, GUROBI, Excel Solver, and LP solver, programming using Python, C++ and R, and data analysis using R. I am looking for an internship this summer and I am authorized to work in USA. It would be highly appreciated if someone have an opportunity for me. Regards,
  12. How about using a state variable to count the amount of entities that have come out of your source and use another state variable in the source's Entities Per Arrival property? You can fire an event when the "count" state variable has reached a certain number that will assign the variable that you used for the Entities Per Arrival in an associated process to that same fired event. And when a new parent exits from the node of it's source you can check to see if the variable is set to 0. If it is, then assign it to 1 again. Judy
  13. OK I resolve half of my problem. I decide to put a combiner where 1 parent wait to have 6 membre to batch and process. Now, I have some problems when I want to stop temporary my source. I tried to create a process at Source_CreatingEntities , but I think I don't write well my conditions for the decide steps. The Process goes like this Begins------Decide---(true)------Decide--(true)----Wait-----End | | | (false) | (false) ---- ------ The first Decide, I want to be true when there is 3 entities waiting at the member input link : MemberInput@Combiner1.NumberTravelers>=3 The second Decide, I want to be true when my combiner is processing : Combiner1.Capacity.Allocated>=1 The wait step is a event that is fire when the combiner finish processing the batch Can you tell me how to write well the condition for the decide steps ? Thanks
  14. Set arrival mode of source on event then define your events to be either server is processing or there are three entities waiting in input buffer of the server. You should define a triggering event which is triggered by two seperate monitors each monitors the conditions you mentioned.
  15. Hello, This model corresponds to an assembly line for three models. ModelA and ModelB are processed from Station1 to Station9 and the leave the line. ModelC must have additional work, which is to be done in Auxiliar (in between Station 8 and Station9), so that it leaves the line after Station 8and gets back to Station9 after the extra operations. A sucbomponent must be ordered in advance to be integrated to ModelC in Auxiliar. The logic I want to implement is the following. I have a list containing all stations (object list lstStations). A list property pointint to that list (rpSynchroStation). For every output node of every station, I want to check if the list property coincides with the name of the corresponding station (and if it's model C in that station). If so, an event is triggered, and a source corresponding to the supplier produces a part that will be delivered some time later. The problem I am having is within the decide step, when comparing: ModelEntity.Location.Parent.Name == rpSynchroStation && ModelEntity.EntityType == ModelC In Decide2 step in procCheckIfSynchro process. I get an error when comparing ModelEntity.Location.Parent.Name == rpSynchroStation. Could you please help me with this? Many thanks Best regards, model_tractors.spfx
  16. Hi, many thanks for your interest. I have created a new and simplified versión of my issue with a commercial version (attached). Entities flow along a series of servers. The user will select a server so that every time an entity is processed in that server a user defined event will be triggered. For that the model contains: • Source, servers, sink and an entity. • An object list containing all server names (lstServers) • A list property (rpSelectedServer). • A process that it’s called within the entered add-on process of every server. • A state (stRowInList) that will get the number row in the list that contains the name of the server corresponding to the server when the process is run. When an entity is processed, by means of Process1, I can get the number in the list corresponding to the server that just processed the entity. What cannot do is how to compare the element in that row of the list with the value of the property containing the element in the list. Many thanks for your assistance. Regards, simple_example.spfx
  17. Hi, I have attached a small example model to show a way to stop creating entities over weekend. I have Sub classed the source object and overridden the 'OnStopEventOccured' process. Within the process, i have added a 'Wait' step to disable entity creation over weekend and an 'Assign' step to enable the process again. Place the sub classed source object within the model and add two events, 'StopEvent' and 'ResetEvent' to the model. 'StopEntityCreationOnWeekend' process within the model checks which day of the week it is and accordingly fires an event which either stops creating new objects from the sub classed source object or starts creating new objects. Change the sub classed source objects 'Stop Event Name' property to 'StopEvent' which will disable the source object if it is a weekend. Similarly,change the event name for the wait step in the sub classed source object to 'ResetEvent' which will enable the source object again. ThanksStopEntityCreationOnWeekend.spfx
  18. @willem , thanks for your reply! That sounds like what I'm trying to do. Are you referring to creating an Add-On Process with Search, Release, Destroy steps? I'm playing around with that but haven't figured it out yet. I looked for an 'on failed event' event, but under my Definitions>Events window, I only have 1 inherited event and then three others that I created for other functions. Can you guide me a little further? Thank you!
  19. Hi, In the on-failed event of the server, Search the contents of the processing queue, in the found step place a release step in order to release the applicable server. Directly after that place a destroy step to delete the entity, otherwise you can transfer it back to the start. Hope this helps...
  20. Dear Sir Currently One timer can trigger N process, using the trigerring event sometimes we need several Timers to trigger the same Processes and the processes need to decide what response to take depending on the type of Timer. Is it possible to use several Timers to trigger 1 Process. ??? How to workaround? Thanks for your support! Kind regards/Jeff Wuxi Xunhe http://www.simio-china.com
  21. There are actually several different problems that must be addressed. The specific question asked was "how can I dynamically change the processing time based on the number of resources allocated?" Perhaps the easiest way to do that is to change the server from its standard "Delay"-based behavior to a "Wait"-based behavior. Instead of delaying for a predetermined "processing" time, you want to wait until the work content is completed. You could take this approach with either a custom object or a library object but let's just look how you could do it with a standard server, lets call it Server1. SETUP 1) Create a level state named Server1WorkContentRemaining with UnitType of Time. 2) Create a Monitor named Server1WorkDone that monitors Server1WorkContentRemaining for a CrossingStateChange to cross the threshold of 0 in the Negative direction. The net of the two above items is that you can set Server1WorkContentRemaining to the value that you might have used for processing time (say 1 hour) and if you set Server1WorkContentRemaining.Rate to -1, then exactly 1 hour later the monitor will detect that Server1WorkContentRemaining has decreased to 0 and trigger the event named Server1WorkDone.Event. There are many nice things about this approach: a) If you set Server1WorkContentRemaining.Rate to the (-)number of resources in use it will automatically countdown appropriately (e.g. twice as fast if 2, 3 times as fast if 3) b) Server1WorkContentRemaining is always accurate no matter how many times it is changed or to what values. For example, if you change to 0 resources allocated, then Server1WorkContentRemaining.Rate would be 0 and Server1WorkContentRemaining would stop changing and continue in process indefinitely. c) It scales to any number of resources. For example if, with 1 minute remaining, you suddenly assign 100 resources to it, the monitor will trigger Server1WorkDone.Event .01 minutes later. MODELING 1) In the Server, select the new ProcessTye of Task Sequence. 2) Inside that TaskSequence select the ProcessType of ProcessName. Then pick a process name or take the auto-created one of Server1_TaskProcessName. 3) Edit Server1_TaskProcessName and add an Assign step and a Wait Step. The Assign step will assign two things, Server1WorkContentRemaining and Server1WorkContentRemaining.Rate. The Wait step will wait on Server1WorkDone.Event. The net of these three steps is that it converts Server1 from being strictly time-based to being event-based where the event is the fact that all of the required work is done. USAGE Well I started off by indicating that there are many aspects to this problem. Those other aspects are how to adjust the resources committed to Server1 based on what is happening elsewhere in the model. I am not addressing that here, so in my simple model I'll simply provide a couple buttons so you can increase and decrease the number of workers devoted to Server1 and see that it is indeed working as described. DynamicallyChangingWorkContent.spfx
  22. This is a simple model with hard coded values to show how the processing time can be changed based on the operator availability. Model contains two servers with Part A being processed at Server A and Part B at Server B. There are two operators, Worker A and WorkerA_B. Worker A is assigned only to Server A while WorkerA_B once released from Sever B is seized by Sever A and the processing time for server A is then recalculated as half of the remaining processing time at Server A. The model is designed in such a way that if there are any entities waiting to seize Worker A_B at Server B then the Worker A_B is released from Server A once the processing at Server A is finished and moves to Server B, finishes processing all the entities at Server B and then moves back to Server A, if needed. Worker A_B will keep moving between Server A and Server B. The model can be easily modified so as to release Worker A_B from server A when there is an entity waiting to be processed at Server B. The key here is to interrupt the process at A when another worker is available and assign a new processing time to Server A. This is done by process 1, triggered by an event input@Server A. Server before processing and after processing processes are used to seize and release needed secondary resources. Worker 1 add on process is used to decide if there are any entities currently being processed at server A and if there are, then transfer the operator to Server A, if there are no entities waiting to be processed at Server B. ChangeProcessTimeBasedOnAvailableOperators.spfx
  23. Updated Crane Library and Crane Library Example to Simio 8. Added fire of Bay.ZoneStatusChanged event in Crane.OnEnteredFreeSpace process. Used to relieve deadlock condition. 2015-12-17 - Fixed spelling of "Assoicated Bay" category name on the Bay object. Also, updated example and documentation. CraneLibraryV8.zip
  24. I would try running those exact parameters interactively. The animation or trace should give you a better idea where the problem occurs. If the problem is not obvious, you might also enable runtime profiling (Run ribbon > Advanced Options).
  25. The recommended approach might vary by what you are waiting for. For example if the plane is a Vehicle that will come to pick up the passengers, then the easiest approach is probably to have a Server with 0 processing time. Entities will flow through it with no delay, but then wait in the outbound transfer node for the Ride requested. If you want to wait on something more arbitrary you could direct the entity that enters an outbound transfer node to Wait for an event. Then you would have to add some logic to Fire that event (unless it is one that is already automatically fired). You should post your questions inside the Simio Insider forum where we can post screenshots and examples to provide a more complete answer.
×
×
  • Create New...