Jump to content

Search the Community

Showing results for 'Rate table'.

  • 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. The easiest way is to select it when you actually use it. On the TransferNode use a Selection Goal of Random. Or in a Process use the Route step. You could also list your nodes in a table instead of a list and randomly select the row of that table.
  2. The Transportation Library provides a collection of objects for modeling cargo transportation using trains, trucks, boats, pipes, and robots. The Tanker object is sub-classed from Vehicle and used to transport discrete and flow entities between node locations. The Tanker has all the same functionality as Vehicle, except it has been extended to have weight and volume limits. In addition to standard discrete pickups and drop offs, the Tanker can also perform continuous flow pickups and drop-offs using a Dock object. The Dock object provides support for flow into and out of entities and vehicles (like a Tanker or HopperCar) supporting flow. The Dock is seized/released by the Tanker/HopperCar during loading/unloading operations at the Dock. The Dock may also follow a Work Schedule. The Pipe object may be used to model continuous flow through a fully filled pipe. In contrast to the FlowConnector the Pipe requires time for the flow material to travel. The Pipe can be used to connect flow between Tanks or between a Dock and a Tank to more accurately model the travel time of material flow from one location to another. This is particularly useful in applications where heavy liquids are transported over long distances through a pipe. The Railcar, Locomotive, and HopperCar objects represent various types of train-related vehicles. Train movements are modeled by defining a track network comprised of ControlNode and Track objects, over which trains move. A train is a linked sequence of RailCars, where the first RailCar in the sequence is a Locomotive. The RailCar can represent a wide range of train cars including freight cars, cabooses, passenger cars, etc. In addition a HopperCar is special RailCar that is provided to support fill/empty operations at a Dock. The HopperCar is a RailCar with the added functionality of a Tanker. The RailCars can be linked together in any order; for example a train might contain two or more Locomotives. The RobotBase, RobotLowerArm, RobotUpperArm, and RobotHand objects are the components used to model a multi-axis robot. The RobotHand is specified as the transporter and the movements of the other robot components are automatically calculated to support the required hand movement. Like all Simio-provided libraries, this library is open so you can look at how it was built, learn from it, and subclass your own objects to improve them. The Transportation Library was created totally by deriving its objects from other Simio objects and then supplementing with Process Logic. No C++, Java, or other user code was required to write or use these objects. And you can also customize the behavior to match your own needs. Unlike our built-in libraries, this is not fully supported (although we can provide some help) and we may not continue enhancing it, particularly if we decide to build this capability into the base Simio products. We are anxious to receive your feedback on this library. Here is a zip file containing the library, documentation, and a few examples. Updated 2014-01-23 - The InputFlow node's Initial Maximum Flow Rate property on the Dock object was not being used to regulate the rate the Tanker was filled. This has been Fixed. The rate the Tanker is filled can now be adjusted using the InputFlow node's Initial Maximum Flow Rate property. Updated 2014-02-17 - Updates to the Tanker and Dock objects Updated 2014-03-17 - Updates to HopperCar and Locomotive behavior when dropping off. Also bug fixes. Updated 2014-03-19 - Bug fixes - Loaded car no longer takes off on its own after loading, but waits to be picked up by the locomotive and The Loaded add-on process now runs after the loading is complete. Updates 2014-04-07 - Added ability to allow a RailCar to request a Locomotive. See example DropPickTrain_DetatchToLoadUnload.spfx Updates 2014-04-17 - Bug Fixes to previous update Updates 2015-03-23 - Bug Fixes to previous update TransportationLibrary.zip
  3. Hi, I am having some trouble with the search step. My model has three entities (instances of the Default Entity): • Gear • Housing • Pinion Entities have a string property called stColor I have a table, tabPartsInfo, where I have the following fields • EntityType (object reference property) • Color (string property) • Picture (integer) Every row of this table contains the combination of what picture should be assigned to every type of entity according to their color. For example picture 1, might mean white for gears but blue for pinions. Entities of each of the types enter the model and are given a value for stColor. After that I want to use the search step so that I find the row where • EntityType is the corresponding entity and • Color is the corresponding stColor for that entity. I have configured the step search as follows Collection Type: TableRows Table Name: tabPartsInfo Match Condition: modelEntity.stColor==tabPartsInfo.Color && modelEntity = tabPartsInfo.EntityType Although diffent values for stColor are given to entities, the picture does not change. I hope you can provide me with some help. Regards,
  4. All right to start solving the problem, I created logic for both the vehicles (add-on process triggers > Loaded) to Search through the opposite loop/vehicle's SequenceTable for the DestinationNode assigned to the loaded entity. If the Search step finds the DestinationNode in that Table, it assigns the DestinationNode.ID to a temporary integer state, and sets the entity's priority to the other loop's vehicle's priority. After the Assign Step, a SetNode step is used to set the entity's destination to TransferNode1 (the node between the two loops). At the TransferNode: Upon entered, a process is triggered in which a Decide step checks whether a entity or vehicle enters the Node (Entity.Is.DefaultEntity), and if it is a DefaultEntity, a SetNode step sets the Entity's DestinationNode to the temp variable assigned earlier. I used one transfernode/no paths between the loops as I would like to force the vehicles to wait for the entity to be picked up by the other vehicle before moving on. The above logic mostly solves my initial question, but I'm struggling with one more thing: - If both vehicles want to transfer entities at the mutual transfernode, they just pause and no swapping is possible. The node's capacity is set to infinity, must I rather place a delay in one of the vehicles' transfer logic to overcome this? Find attached the model for reference purposes Model_Transfer_Question.spfx
  5. I don't think there is a solution around this. The Excel Write step could be setup to to handle replication number, but you would only be able to run one replication at a time. The same worksheet cannot be opened more than once. The way the Excel Write setup works, it opens the worksheet into memory, writes the data into memory during the replication and saves the worksheet when the replication completes. I recommend using the DB Write step and a MySQL database. MySQL is easy to setup and free to use. We provide instructions on how to setup it up in the DBReadWrite simbit. With the DBWrite, multiple replications can write to the database simultaneously and all the replication can be written to the same table. Once the experiment completes, you can import the data from the database into excel. In the end, the DB is the quickest way to get all your experiment results into one place.
  6. No, as if entities could physically queue, they would no longer have a travel time equal to the input. The definition of a timepath is that when an entity enters, it takes a set amount of time to reach the end. A way to achieve what you want would be to subclass the path, add a new property called 'travel time', hide the speed limit property, and change the logic to use this travel time property for setting the entities movement.rate rather than using the entities desired speed combined with the paths speed limit. Just as before, set passing to 'false'. Alternatively, try animating the queue of entities attempting to enter the node/path/station after the timepath to visualise the queue.
  7. You can use sequence table for the different entities. and store the individual processing time in the table. and refer to it.
  8. I suggest using Node Lists column in a table (see attached example) instead of using a sequence table, I setup a routing table with steps (representing sequences). The route table is a child of the entity table. The sources in the model are setup to reference row 1 of the entity table in Source1 and row2 of the entity table in Source2. Each step in the route table is associated to a node list....The node lists represent the "OR" condition. If the node list has Input@Server1 and Input@Server2, the transfer node will use the list to either sent it to Input@Server1 or Input@Server2 based on the selection goal. In the attached model, the selection goal "Smallest Value" and the selection expression is "Candidate.Node.AssociatedStationOverload"....This represents the sending the entity to the server least available input buffer capacity. I think this handles the scenario you explained. As for integrating with OPC, I would suggest looking at this example: http://www.simio.com/forums/viewtopic.php?f=12&t=1381 It shows how to build custom steps and firing events using .NET code. If you wanted to communicate with OPC, you would use a custom step to read the OPC server. If you want the OPC server to interact with Simio. you would call a custom event. It is possible to setup the same of integration with an ERP system; although it is not recommended. For ERP integration, I would recommend using a data table with data binding. Since the data in an ERP system is much more static, it can be loaded at the beginning on the model run. Then the data can be referenced in the data table during the simulation run. RouteByNodeListsModel.spfx
  9. I am modeling a Flexible Manufacturing System (attached), where different parts are produced by different machines. I have many different entities (about 40 part types) that follow each one a different process sequence. Each part type pass through around 10~15 process. My problem was due, for each process, a entity could be processed by different machines. For instance, the part type A has the following sequence: M1 OR M2 ->> M3 OR M4 and so on. In order to solve that, I used a sequence table with a sequence of nodes. Then, in each node, I put a listnode with the possible candidates for the next step, as suggested by David Sturrock in the Facebook group. It worked very well. My problem now is that, when the vehicle pick the entity and follow to the next transfernode (to make a decision), this vehicle has to wait another one to pick up the entity and take it to the next machine, i. e., the vehicle which take the entity till the transfernode cannot take it to the machine. I really would appreciate if u could help me. Best Regards, Breno Souza Federal University of São Carlos FMS v0.0.1.0.spfx
  10. Hello. How can i get the row index where the max value of some data table column is stored? I need this because in my model i will seize workers based on this max value. edit: Using Maximize Expression will get me there?
  11. hello, could you please explain me how simio calculates the different types of costs for my resources? I have 5 secondary resources which are allocated to diffrent servers. I attached a table with idle and usage cost charged and the different types of costs. I don't understand how the costs are calculated or made up in this case. I think the costs and the times don't fit. Could you please help me? Thanks for helping! Best regards Nadine Times_Costs.xlsx
  12. Nadine - Within Simio Enterprise edition, model or entity state information can be written to a table during the simulation run. Within all Simio editions, we have various Write steps that you can use within a Process to write specific entity or model information to either a *.csv file, Excel file or database. The UserDefined panel of steps can be found in the Processes window and includes DbWrite and other related database steps, ExcelWrite and other related excel steps and Write step.
  13. Hey, I want to store informations for each entity in a data table or data sheet. The resulting table should contain a list of all entities and for example the corresponding throughput times. In the ideal case average an maximum values are also given in the table. Which posibilities are there in Simio? Regards Nadine
  14. Thanks Dave, works like a charm. It still requires me to assign every table to each object individually, as selecting multiple objects --> right click --> set referenced property doesn't work. But that's okay, since the column assignments are automatically taken care of. Sorry Adam, I don't know the answer to your question.
  15. Hey, I want to store information of each entity in a data table with tally statistics. I looked at the TallyStatisticsInTables-SimBit and implemented all steps in my model. My Tally Step stores the current NumberInSystem of my entities. So I created a data table with one column 'Entities_NumberInSystem' (Type Tally Statistics) and a TallyStatistic named 'EntitiesInSystem' which I referenced in the first row of my data table. The Tally Statistic Name in the Tally Step is set to 'Table1.Entities_NumberInSystem'. When I want to simulate my model I always get an error message: 'Error evaluating the value of property 'Tally Statistic Name'. Invalid data table reference Table 1.' Where is the problem? Could you please help me?
  16. I’ve got a follow up question of my own. What is the use-case of the table property? I can define a table property on an object, and then set that property value to a table in my “parent” model in my object instance. In my object’s processes definitions, I can search the table and find all the rows. However, I can’t seem to do anything with the rows found. For example, I’d like to get a field from each row and assign it to a state variable. I tried referencing the result using TableProp[1,1] , but I get an “incorrect number of parameters” error . I can’t set a state matrix to the table property either  So, what can I do with a table property? Thanks, Adam
  17. There are three features built-in that can help. 1) When you have already built an object with a table, you will find a table tool that will Convert To Repeat Group within that object. 2) When you want to create a table in the parent object, the lower part of the Add Table Data button allows you to build a table matching the schema of any repeat group (e.g. that new repeat group you just made in the included object). This creates the data table exactly matching that names and data types in the repeat group. 3) When you want to "pass" that new table as a property value, you can right click on that new repeat group and specify your table name as the reference property.
  18. A repeat group is a way to pass data between objects. It consists of N fields of properties, which can be repeated (similar to a collection of rows, i.e. a table)—hence a repeating group of properties. The reason you can’t reference the table from the submodel is because of the object orientedness of Simio. When you create a submodel, you are actually creating an object definition. You may only ever plan on placing (or instantiating) your object in a “parent” model in your current Simio project (the .spfx file you are working with), but there is nothing stopping you (or anyone else with access to your project file) from instantiating that object in another, different, parent model or even in a completely different project file (by loading your project file as a library, fyi). So, your submodel can’t know about anything in a parent model, unless there are properties that can be set on the object instance that can then refer to data or parameters at the parent model level. That’s what this quote is referencing: You can “pull” data into an object by looking at Location.Parent.Model.ArrayName for example, but you can’t do too much with that, because there is no guarantee that that array even exists for an arbitrary parent model, let alone that the contents of the array are what they “should” be (in terms of data type). In your case, how would each submodel that you place know which table to reference? Even if you set a table property on the object definition, Simio cannot know what columns will be available, even though you will by virtue of building the model. Repeat groups allow you to create a kind of property on your object definition that you can, for each object instantiation, populate with a table. With a prepeat group, your object definition “knows” about what data will be available to it, because you’ve stated “this data is a property of this object, and it must be set each time I instantiate an object of this type.” Still doesn't resolve the difficulty of actually setting all those properties to get your data into the object instances, but maybe helps explain why things are the way they are... -Adam
  19. Hey everyone, After reading the documentation and various topics here, I still have a few questions concerning Repeat Groups and tables. -Are Repeat Groups in submodels essentially copied tables, meaning the submodel gets passed a clone of the top level's table? I guess I'm confused because of this sentence in the Reference Guide: If data should only exist on the top level, why not just reference it from the submodel? Sounds like the reference is discarded for a copy, which contradicts the first premise? - Or is the Repeat Group a "Table of references"? In which case it still seems overly complicated to me, couldn't we simply pass the name of the table, without having to pass all columns? Alternatively, why not adding the ability to reference a table from a submodel in the form "Location.Parent.Model.TableName"? The reason I'm asking is that I have a model with many submodels, that all need to access a huge data table. If I'm not mistaken, Repeat Groups require you to pass every single column to every single submodel by hand, since selecting multiple submodels and right-clicking to choose "Select referenced property" doesn't work. I ended up creating a state variable that copied the data table, which I can access from the submodels via "Location.Parent.Model.ArrayName". Although the information is then 'pulled', this sentence adds to the confusion: I might be overthinking this, but storing information in an entity that is sent into an object passes information without properties as well? I'd just like to understand Repeat Groups and moreover I'd like to be able to use the Search Step from the submodel, which doesn't work with the array. I might give the find step a shot at this. Sorry for the lengthy post - any insights are appreciated! -Phil
  20. Here is a simple utility that will export, import and delete artifacts of your model. Here is a screen shot of the available capabilities. The code and DLL have can be found on SImio GitHub. Please find at this link: https://github.com/SimioLLC/ExportImportModelAddIn You will also find install instructions in the ReadMe. Here are the changes that have happend over time: Updated 2023-01-31....Added the ability to select multiple tables for export and delete table data functions. Updated 2022-10-05....Updated the exports to sort the data first my name and then export. This ensures that the data exported is in a consistent order. Updated 2021-12-07....Added the ability to select a table and then remove the data from the selected table. If a table name is not selected, all the tables in the model will have their data removed. Updated 2021-09-20....Added Update Model Properties (CSV). With this new method, you can import model properties into your model. If the file contains 3 fields...First is name, then type and last is default value. The only valid types are real, datetime, Boolean and everything else is string. If the model property already exists, it will only update the default value on the property. Note: The example assumes the field separator is a caret '^'. To change this, you need to change the delimiter field. Updated 2021-09-08....Updated the sequence of the exports, deletes and imports happen. When OK is pressed, first the exports are run, then deletes and finally the imports. With this change, I am able to Export Table to DB, Delete Table Data and Import Table from DB from in a single run. I typically do this when re-mapping auto creates elements. Since the table data need to be removed and recreated before mapping of the elements are correctly mapped. Updated 2021-09-06....Upgraded to .NET 4.7.2. Also, fixed the windows form so it displays correctly. When opened, the form should no longer need to be expanded to see all the options. Updated 2018-11-08....Added Export To CSV, Export To DB and Import From DB. Export To DB will create a table in the SQL Server database with the same table name as the table in Simio. The data columns will be of type nvarchar(max) and the default value will be the same as the default value in the Simio table. It is assumed that Simio desktop will still do the data validation, not the database. This feature is used to save the Simio data into a database so it is backed up and can be shared across users. Each time the Export To DB, if the table already exists, it is dropped, and a new table is created. This ensures that the data schemas match between the Simio model and the SQL Server database. Updated 2017-12-05....Fixed index issue with links import. Updated 2017-09-25....Fixed the import of lists. Updated 2017-07-14....Added the ability to auto generate and auto read files. Previously, the files needed to be created prior to running the add-in. Now, they will create by the export. Also, the import will retrieve the same file generated by the export. These options are available when the "Auto Generate and Read Files" option is selected. Updated 2017-07-13....Added the ability to multi-select options. Now, more than one option can be initiated when the OK button is selected. This will streamline the process of exporting, deleting and importing. This tool is very helpful for testing out your model with various configurations to ensure that runs properly under various object and/or data configuration. Updated 2017-07-11....Now supports exporting and importing of model properties, exporting and importing of table properties and delete table data. Updated 2017-06-22....Now supports exporting and importing of data tables using XML. This is simple way to export all the table data from one model and import the same data into a new model (assuming that the same tables schema exists in the new model). Updated 2017-01-27....Now supports exporting of object types using XML. This can be used with the new Configure Scheduling Resources in Simio 9.150 capabilities to define your own object type properties based on an XML document. Updated 2017-01-23....Now supports exporting and importing objects using XML. When using XML, property units are also exported and imported back in. Updated 2016-10-24....Updated files...Added support for repeating properties.
  21. It is ModelEntity.Sequence.CurrentJobStep expression which will return what you want to know. It points at the row in sequence table, so you can get it this way. You can even change your entity sequence by using SetRow step for sequence table. For doing this, you must ensure, that you have your entity as an associated object of the process and than you can SetRow to anything.
  22. Thank you dsturrock, your solution helped me a lot! But I have another question. I think it might be an easy one again. As I told you, I use different kind of entities, which enter the model with a certain probability written down in the rate tables. I now want to make a simulation run with excately 10000 Entities (altogether). The "Run" Ribbon does not offer that setting and the soruce itself has a field which says maximum arrivals. But when I type in 10000 at the maximum arrivals field, only around 8500 will in fact enter the model! Do you know why this is, or where I have to change the settings? The problem seems to be very ordinary and common. Maybe I think too complicated! Thanks for your help once again.
  23. Hello, I specified a simple sequence of destinations for an entity with a sequence table and I would like to change the symbol of a subclass server depending on the current node destination of this sequence. I tried to make a process with a decide step but I can not find the good expression to get the current node destination. I am new with Simio so I wonder if it is a good way to proceed or if there is a better one? Best regards,
  24. First, create your Materials and BOM in Model as desired. Add an Element Reference Property of type Material to your ModelEntity. Let's call it MyMaterial. You can change it, but by default that new property will display under the General category. As you instantiate copies of ModelEntity, change the MyMaterial property to the material needed by that entity type. In the Consumed MaterialName property of Workstation, enter ModelEntity.MyMaterial.EachEntityRequiresUniqueMaterial.spfx Another equally good approach would be to have a data table with rows specific to each entity type and one of the columns would be an Element Reference Property of type Material. Then you would reference that column in Workstation.
  25. Spot On.... If you look at some of my posts....you will see that I have requested a dynamic array of type object.... Node lists wont work and you have to use a table and set the columns to type object.... having the first column as an index column, you should be able to index the table and reference other objects in the table by using the search and find blocks....
×
×
  • Create New...