Jump to content

Search the Community

Showing results for 'original token'.

  • 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. A simple approach is to create the highest resolution image you can find using any map program or other software. Save it off in one of the import formats: Hint: some software allows export as a high-resolution pdf. Then you can convert that pdf to a png file for import into Simio. Then import that as a symbol and place that in your model (preferably to its original scale). Then lock that to the background and build your model on top of it. The main down side of this approach is that it is limited by the resolution of your image, so if you zoom in, it might appear fuzzy.
  2. Hello all I am relatively new to Simio and DES. I am trying to model a pallet conveyor. It is a closed loop conveyor. I use the "vehicle" as the pallet that loops around the conveyor. At the source the part (default entity) is loaded on the pallet. At the sink the part is unloaded. The problem that I am encountering is that the vehicles from time to time pile up at the sink, then after a certain amount of time they continue back to the starting point "Source1". This happens more the more I increas the "initialnumber in system" of vehicles The transfer-in Time for the sink is set at 0. At the model trace I read this for the "Input@Sink1" : "the in Token waiting at VisitNode step for '1' other processes to complete." I would apreciate any advice. Many thanks! Vehicle_stuck_at_sink.spfx
  3. Hi, it creates a token for each row that matches the condition (given that you did not limit the search). You can access it using TableName.ColumnName.
  4. Hello Everyone, I am new to Simio, and need your help to figure out this. I am using search step to search for certain rows in a table that satisfy my condition. The search step performs as expected. I want to now to retrieve the values of the row associated with the found token. How do I do it? Also, if more than 1 row satisfies my search criteria then does Simio creates found token for each row ? or the information for all the rows in stored in one single token?.
  5. A quick solution to force all entities to get dropped at the same place is to add an add-on-process when an entity is loaded. which Checks if the entity is the first item in the vehicle and if not set its destination node to the first item. Decide: Token.associatedobject==Token.ContextObject.Vehicle.RideStation.Contents.FirstItem If False -> SetNode: Token.ContextObject.Vehicle.RideStation.Contents.FirstItem.ModelEntity.destinationnode a more elegant solution would probably involve batching the entities into a bucket that would then get transported to the destination. Upload 11.1.21.spfx
  6. This post contains additional files associated with the paper "Agent-base modeling and simulation in Simio" by Thomas Kehl. The additional files include the original paper, an installer for the Simio Agent Library, the Simio Agent Library user extension, and further documentation. These files were created by Thomas Kehl and are not endorsed or supported by Simio LLC. Note also that these files were published with the paper in 2018 and might be out of date. 1585821475_SimioAgentBasedModeling-ThomasKehl.zip
  7. It seems the buffer capacity of the FinishedPitchFastStation is set to zero in the original file that comes with the book but was not explained in the book about this.
  8. I am wondering if there is a way to end all tasks in a task sequence when a ModelEntity transfers out of the station. I tried setting the Token Action On Associated Object Transferred to EndProcess but I guess that only works upon exiting the current step.
  9. Hi Jason, I recommend using a Notify step with the expression Token.AssociatedObject.Name prior to your Assign step. This will read out the associated object that is executing the process with your Assign step. It might be that the Entity is not the object executing that process. If your entity is not executing the process, you might want to find another process trigger or Search for the entity in the population. If its a process that could be triggered by an entity, or another object, say a Worker, you could start your process with a Decide step that filters out the non-ModelEntity objects. This could be as simple as checking 'Is.ModelEntity' with the Decide step. Happy modeling, Liz
  10. We are currently updating our forum space! During this time, your posts may be moved from their original location. Here is one way to find your posts and their new location: 1. Go to your Profile. You can do this by selecting your profile picture in the upper right hand corner, or select your name in the upper right hand corner and then select Profile in the drop down: 2. Your profile should contain a collection of your posts. You can select your post's title to be direct to its current location. 3. The top of the page will list the forum path location.
  11. The answer is no! If you call MATLAB via user generated MATLAB step simio will temporarily suspend till the outgoing token will return (with a value or not). If you add a breakpoint, simio will come to a "full stop". This means simio can not send any token to run/call matlab/codes. Most likely your problem is that the matlab user defined step does not work properly. If it works properly you need not to stop simio anyway. Try to locate the required files appropriately or check your visual studio edition etc.? I am not sure what is the problem but the .dll file can be outdated?
  12. Hi guys, I have a problem with an entity not reading everything from the table. It is skipping some rows. BACKGROUND Two entities are reading from two different tables at the same time using two different processes. And I am using a Search step, TableRows for both. I don’t know why it skips some rows. please help
  13. you can not find .lastrecordedvalue from dropdown menu. Just type it, it will work. Tally1.lastrecordedvalue means just the last tokens value (in your case state's value recorded by tally1 element. I think if Tally1.lastrecordedvalue == 0 which means 1 for exclusion property this tally step should be skipped for this token. And, it is the case what you want to achieve. Just try, I think it should work...
  14. Thanks Adam for the reply. I know a fair amount about Processes; I just needed a clarification about some aspects related to large models created using tables. The example I mentioned in the original post may be simple but it could easily scale to include 100's of locations. I will give some examples of these aspects that get tricky in such large models below. Thanks Glenn for the clarification. The tip about finding where processes are being referenced in a model is great! The MultiEchelonSupplyChain example may look simple, but it has the potential to be complex. When I asked the question what I had in mind is a similar model but with 100s of locations like DistributionCenter and Retailer (Basic Nodes). Imagine you want 300+ basic nodes (like in my case) to have the same add-on process. Imagine having 300+ inventory elements that you want to write statistics for using a Write step. It's tedious to do things manually. As for referencing the same add-on process for 100s of objects (basic nodes in my case), I found a trick, which is to add the add-on process to one of the objects and then sub-class it so that the process becomes a default for the newly sub-classed object. Then change all the other objects to the new sub-classed object. As for writing statistics for 300+ inventory elements, I couldn't find a way to automate the process. To be clear, I want (for each inventory element) to write statistics at various points throughout the simulation run. The standard reported stats for inventory elements are only "Totals" or "Averages" or a function of the two. What I want is to see how a statistic changes over time, so I need to write to a CSV file using a Write step. When working with large models, there's a need for automating some modeling aspects. Creating objects and elements can be easily automated using tables. It's dealing with these created objects and elements that sometimes needs tricks and workarounds to automate.
  15. Hello, I would recommend looking into the notion of AssociatedObject, and ContextObject, for the Tokens moving through your processes. You can read more about this in the "Tokens" help topic. In some cases, the associated or context object is a ModelEntity so you can access it along with its data in your process steps. In some cases, though, ModelEntity is not associated with (or contextual to) the token executing the process! In this case there is an error if you try to use 'ModelEntity...' in your process. One way to check the AssociatedObject and ContextObject is using a Notify step at the beginning of your process with Notification Type 'Warning', MessageHeading 'Token.AssociatedObject.Name' and MessageContent 'Token.ContextObject.Name'. Happy modeling! Adam
  16. ********************* 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
  17. The main problem I see with task sequences is I don't see a way to reschedule tasks for later. I used the "Token Wait Action: No Wait" setting on an execute step, then executed the Seize->delay->release process in that step. This does what I wanted. Thanks for taking the time to help.
  18. After looking more into task sequences, it may work, but not without major rework, the primary issues are that the seizing is not the only thing that happens, and work will be done in phases, without moving from the server, and different patients may not have the same phases. I see how it could be done with a second model, but i'd like to avoid getting too complicated if I can Is it not possible to do what I asked in my original question?
  19. Hi GFurtado! Thanks for your answer! I'm using Simio 11.189 as my testing ground, and even though the ribbon is not the same, I can import data trough it, the problem is, even tho the data is imported into the table, it is not updated mid run so Simio keeps using the values previous to the new import, I'll elaborate a bit. Imagine these are the original values in the binded table I created. With those original values, I start the simulation and after a while I update the binded file (the .csv where Simio is taking values from) and I click on update table with the following options enabled. (Bear in mind! I've tried all of the options in the image below to no avail!) (Options used before clicking update mid-run) (Updated mid-run table, values get updated but Simio doesn't use them!) While the values get updated, Simio doesn't use them in this run (in the example I posted, it would only use the original first 9 values instead of all of the 19 values provided). As further context, I am indeed trying to make kind of a 'wacky' simulation, my idea is to update the .csv providing the data to the table at periodic intervals with new data from a real life reading from a machine, or something similar, and use that data as the entity creation time to try and make kind of a 'parallel' simulation with the actual readings of the system. But of course, for me being able to do that I need to know if Simio can update tables with new data and USE that new data mid - run! Thank you so much for your reply and for your time! Have a great one!
  20. hard to understand your model. there is a lot of questions: first one, bad naming convention for steps, you better assign a meaningful name for each steps instead of using' Assign1', 'Search1' etc... In Search1 step, you used BOM.prodotti.Name == MyToken1.productname,but you never use MyToken1 as the Token Class Name for that process, and I did not see you assign any product name to this token??
  21. As far as I know you can not accelerate the speed of an entity on any link? you should use tricky solutions to overcome this difficulty. One of the trick is setting the speed of entities to infinity right after entering node a. then changing the desired speed of path 3 and path 5 to some meaningful values. In the attached model this trick is applied. Note that the assigned values (i.e., Path3.Contents.NumberWaiting) should be replaced by any reasonable values. This assignment is only for illustrative puposes. Note that by this way we made the speed of modelentities limitless but at the same time we limit their speed with the speed of paths. you can do any other tricks as well... One of them maybe changing the type of the modelentities right after entering path 3 and path 5 (say path3_modelentities and path5_modelentities) by creating a copy of the associatedobject. Be sure to destroy the original one. And then whenever you need to increase their speed you should search their population by a search step and then assign appropriate speeds to them individually. These are the ones that come to my mind at the moment, but you can find some better methods by pondering. EntitySpeed4_me.spfx
  22. Within each of the Source objects, you would specify (within the output node of the Source) that a worker is required to transport the entity(s) to the next node. The decision making of the worker is then handled by the worker itself. The worker has several decision making options - first of all, for transporting, the worker has Transport Logic properties, one of which is the Task Selection Strategy property, which can be set to First In Queue, Largest/Smallest Distance or Largest/Smallest Priority. In addition to that, under the Worker's Add-On Process Triggers properties, you have the Evaluating Transport Request process that can be used to accept or reject any transport request. You can add custom logic, a distribution, etc. within a Decide step in that called process and simply then accept (Token.ReturnValue == True) or reject (Token.ReturnValue == False) a request (which is the first in the allocation queue, as ranked as noted above). You can use the requesting entity location within the decision logic as well.
  23. Hello! I'm trying to model an assembly line that has several unit (entity) types run down it. I have a table set up determining processing times for each entity types and that works fine. I tried the same syntax for the Reliability Logic (for both uptime between failures or count between failures and the time to repair) but I keep getting errors saying there is a problem determining the row to use in my table. I've tried different tables and several failure types and I'm stuck. I also tried add-on processes to SetRow via the Token object, but that didn't help. I even tried copying and pasting the exact same syntax I have for the processing time into the reliability logic, and it still gets stuck. Can I not call on table references in my reliability logic? Thanks! Kaylinn
  24. You could use a vector to store the entity locations - you'd have to first give each entity a unique entry into the vector - thus the first entity into the system would use vector[1], etc.. This would only be a reasonable option if the number of entities (trucks) are fixed at a max reasonable number (10, 100, etc.) so the vector could be sized. Efficiency-wise, you may wish to update the entity locations at nodes, as opposed to every x seconds. If you update every x time units, you would need to first use the Search step to search the entities, getting a token for each entity. The vectors can be updated using the entity index into the vector (perhaps store as modelentity.priority if not using priority for any other reason). ModelEntity.Location.X can be used to access the entity location. There is a SimBit titled FindAMinimumState value which describes how to use the Find step with a vector variable. Another option would be to use an output table (depending on your Simio license version) to store/update information on the entity/location. If you have a base model that you have problems running and can share here, please do. Otherwise, send a base model to support@simio.com.
  25. There is no easy way to automatically convert an Arena model into Simio. But more important, you probably wouldn't want to. I am reminded of the early days when Siman was written in FORTRAN and we wanted it to be in C. We ran it through the best automatic FORTRAN to C translator of the day. While it "technically" worked, what we got was a whole bunch of FORTRAN code that was expressed in the C language. It used algorithms and constructs that were inappropriate to C and was extremely hard to read and maintain. We ultimately manually recoded everything into "good" C code. Likewise, Simio has many advanced constructs that are not found in Arena. The modeling approach that you would take with Simio's object orientation, would be very different that you would take with Arena's limited set of procedural modules. So while it is theoretically possible, I would recommend giving no further thought to an automatic translation. Instead I would: go back to the modeling objectives and constraints which guided your Arena model, consider all the things you learned about the system as you developed the Arena model, and consider the trade offs that you had to make in Arena to model your system with enough accuracy. Then I would design a Simio model using all the Simio features available and design the best model to meet your current needs. When complete, I expect that you would find the Simio model to be smaller, more accurate, and easier to use and maintain than the original Arena model.
×
×
  • Create New...