Jump to content

Search the Community

Showing results for 'output table functions'.

  • 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've been having issues with binding Excel files (XLSX and CSV format) into SIMIO. Every time I try to bind a file with SIMIO I get the same message of "Data has not been imported or is of an unknown age." Even when I create a table in SIMIO, save to CSV, and then try to reimport the exact same table by creating a CSV binding I get the same error. For further context I am using the Academic RPS version of SIMIO. All online tutorials I can find are using older/ different versions of SIMIO that don't have the same options as I do. Does anyone else have experience with this issue or is able to share some advice to help me get pass this error? Thank you
  2. I have a source, called forklift source, that has a varying interarrival time based on the time of day. To do this, I created a time indexed table with the different interarrival times in different rows and the interval period set to one hour. This source also depends on the interarrival time of another source called Newtrucksource, but not on an hourly basis. I am trying to conduct an experiment where the interarrival time of newtrucksource changes with different experiments and a different time indexed interarrival table for source 1 is used for each of these different interarrival times. To do this, I created a real property for newtrucksource's interarrival time and a table property for forkliftsource's time indexed interarrival table. However, I can't get this to work because in the model, the interarrival time property for the forkliftsource must be a "number" and I am referencing a table which comes up as using "string". Trying to find a way to make this work.
  3. 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.
  4. Hi, See attached model that uses an output table to log information on each entity. You could just as easily you an ExcelWrite/Write Step to do the same thing. Cheers, Lucas. Data Table Entity Log.spfx
  5. Hi All,

    I have defined the input buffer capacity and output buffer capacity for my servers, If the input buffer of destination server is full the vehicle still picks the entity(from output buffer of previous server) and moves to the destination(next) server and just waits with the entity unless input buffer capacity is available , how can I restrict the forklift from not picking up the entity or should only pick when the next server/destination has input buffer capacity available. any thoughts on this would be helpful.

  6. Hello, Storing this information in a Data Table and using a Search step might be the best approach. The Search expression will probably need to look for a specific Group and also check that the MaterialName is in stock. If the Table is listed in priority order, you will need to just Search forward until the criteria is met. You will either need to execute the Search step a few times and have a variable for the Group letter, or just have three separate Search steps specifying the exact group. Liz
  7. Greetings. I need to model the operation plan for a new warehouse. The model must do the following tasks Receive great amount of bundles from production line (5 lines) Fill the storage cells based upon a strategy (this required an order to do the sloting. this orders must be satisfied by the vehicles). i have tried to do this by using sequence, but i need to repeat the sequence table rows until the cells capacity were completed. this is go to the same cell until its been filled and then change the destination cell (i can't achieve this). Do the prepicking task (again trough disptching rules). Load train or trucks in order to dispatch,. Any help or orientation willbe appreciated Best regards.
  8. Hi Jim, May be there are many possible ways to follow to get the information you want. But, I suggest you to use a search step for searching a server's (or any other object's) processing queue to get such information. You can search not only the server's processing queue but also the whole "entity population" to get whole state variable's defined on them at any arbitrary time thoughout the simulation run. All you have to do is to define additional expressions on search step. In the example file attached a simple model is developed to get entities' state variables residing at server1's processing queue. Here note that, you have to click button at arbitrary times. Then, if 3 or more entities exist at server1.processing queue, the search step founds the first 3 of them (since a forward search is performedin this sample model) then later an excel write step writes entities created time (you can get many state variables of entities written on the same excel file). You can change search limit, queue state name, include a match condition etc. If you want to get such information at the beginning or at the end of the simulation run you should use this same logic at appropriate processes (onrunending, onruninitialized etc...). Also, you can get these information written on either a database or an output table as well. Hope this helps? getting a snaphot of Entity WIP via a button.spfx entities_processing.xlsx
  9. Hi Gocken, Thank you for your kind and quick response! I really like this use of a button! Unfortunately, I was not clear enough. As entities move through the system they carry quite a lot of state information. Our desire is at end or replication or an arbitrary time like a button click which a neat idea, to take an inventory of all the entities AND their states. This would mean capturing all the entities in each processing queue and through a write step. writing them out, either to an output table or a CSV. This operation is a bit complex. It does not seem one can search a processing queue to sequentially write out its members properties. I believe it is possible to maintain the residence of servers by maintaining that in a special output table which is tedious to maintain and set up. I greatly appreciate your response! Best Regards, Jim
  10. Since I am not allowed to save my changes on your file directlt I am not able to upload your revised model. But, it is so simple to follow the steps to get what you wnat. First delete all your processes in your model and only for Volvo server define an afterprocessing add-on where you should include a decide step, an assign step and a wait step (see the attached file). Then, 1) set decide type as conditional and set its condition as: (M1.Capacity.Remaining > 0 && Input@M1.NumberTravelers.RoutingIn == 0) && (M2.Capacity.Remaining > 0 && Input@M2.NumberTravelers.RoutingIn == 0) && (T4.Capacity.Remaining > 0 && Input@T4.NumberTravelers.RoutingIn == 0) 2) at assign step set state variable as: Volvo.ResourceState and set the new value as: 2 (setting this to 2 will block the volvo server) 3) at wait step set event name as Output@T4.Entered. I hope this works for you.
  11. Hi again Liz. I found the problem but it wasn't easy to figure out with the RowForKey formula. I used the search function with tablerows as collection type. When I filtered the trace on the search and tally process, I found that the the table index of the found item and index of the search function was not the same in some cases especially for "small" type products. Further even the available row count of the products table was not returning the correct number rows in the table. The products table has 810 rows but it was finding 197 rows only in the search function. I had a separate "productsize" table which consists of "size" key string property and some other real type properties such as forklift capacity for each product size. I had used this productsize.size as foreign key in my main products table. I figured that the search function automatically filters to the products those matches the size of the product eventhough in search function match condition I only write ModelEntity.EntityType==Products.ProductName. When I removed the foreign key from the products table the problem was solved. Thanks for your help anyway. It was very useful and saved a ton of time from me.
  12. Thanks you so much for you help Liz. That's such an advanced modeling techinique I had never heard of before. I would never be able to figure it out myself. It has almost worked but correctly. It has recorded the results for some tallies correctly but recorded some tallies on the wrong tally. I think there is a problem with the set row feature somewhere. I have no problem with setting rows elsewhere in the model such as arrivals from production and arrivals from truck tables create entities correctly with all their state variables. The product list table also has unique "productnames" (entity instances), set as key and auto set-row property is set to true. I have added another coloumn with element tally statistics reference (DistanceOnForklift) to products table. I have auto created it as you suggested and turned on the auto-set row feature to true. Both my product names and tally statistics coloumn are set as key in same "products" table. But the tally step still doesnt record them to the correct tally statistics. Where am I doing wrong? Would you still be able to help me? Shall I send you the model in private message? Here is the formula I have inputted 'Products[Products.ProductName.RowForKey(ModelEntity.EntityType.Name)].DistanceOnForklift' and in the picture below you can see that tally step records into wrong tally element on last three entries. I would be glad if you could help me.
  13. I would recommend using a Data Table. One column could have all your entity types defined. The next column could be a Tally Statistic Element Reference Property. This column would match up the Tally statistic you want to correspond with the Entity Type. You could choose to auto-create these Tally Statistics from the Data Table. If you change the Tally Statistic Property's column Reference Type property from 'Reference' to 'Create', this will make the Tally Statistics for you. I recommend the Help page "Table-Based Elements (Auto-Create)" in Simio for more information. If your Entity Instances noted in the Data Table are unique, no duplicates, you can set that column as a Key. With that column as a Key, you could use just the Tally step and use the RowForKey expression. RowForKey will allow a key input to search for in that column. If the model entity is driving the process, you could use an expression like this for the Tally Statistic Name 'Table1[Table1.EntityInstanceProperty1.RowForKey(ModelEntityReference)].TallyStatisticProperty'. Since it seems this process will be on the OnRunEnding, it will not have a reference to a specific entity, so you will most likely need a Search step to find the entities still in the system. I would set the Search step to find Infinite things and let each entity reference exit on the found branch. If the EntityInstanceProperty column in your Data Table has the Auto-set Table Row Reference property to 'True', the entities will already know the row reference and your Tally step Tally Statistic Name property could be 'Table1.TallyStatisticProperty'.
  14. Hi Alen, I have attached a model with two different approaches to this question. 1. RateTableApproach - the arrival data is stored within a Rate Table. Note: The Rate (events per hour) is influenced by offsets from when the model begins its run, not by the hour of the day. For example, a model begins its run at clock time 7:00:00, the first entry with a Starting Offset of Day 1, 00:00:00 and Ending Offset of Day 1, 01:00:00 would actually correspond to clock time 7:00:00-8:00:00 and not 00:00:00-01:00:00. 2. ProcessLogicApproach - the Arrival Mode is 'Interarrival Time' which is turned on and off via an Add-On Process. Note: You will need to set the Delay step up to correctly account for the clock time you wish to delay before turning on/off arrivals. All the best, Caleb SourceWorkingAsPerTheWorkScheduleForServerAndWorker.spfx
  15. Hello! With your current approach, you need a way to aggregate the distance traveled per each entity. Each entity in the population is collecting their own distance traveled, but on the Output Statistic, you are looking at just the Instance, ProductA. The Instance will not automatically aggregate the population's values. If you were to specify a specific population index, for example ProductA[5].DistanceFunction, the Output Statistic would return the 5th entity in the population's distance function and you should see a value. However, making an Output Statistic for each population index would be inefficient and tedious to collect. I recommend using a global/model level State Variable. This State Variable could be summed as a ProductA entities leave the system. So the Product A entities will continue to collect their individual distance traveled as you have set it up, but then prior to exiting through the Sink, add their distance traveled to a running total State Variable. That total could then be divided by the number of entities destroyed giving you an average distance traveled.
  16. Hi Everyone, I have 100s of different products in a warehouse and I want to get statistics for all of them such as distance travelled, number entered and exited. So I created the entity instances for each product automatically through data table. The entity.totaldistancetraveled function doesnt increase since the entity doesnt moveby itself but moved by forklift instead. So I have created a state variable called "distanceonforklift" and increased by the difference between the forklift total distance travelled value when entity exits and enters to forklift. I have also created a function called "distancefunction" on the entity and equated it to "distanceonforklift" state variable of the entity. For the return type of function I have chosen "number" and set the unit to "length". I validated that both distance state variable and function is calculated correctly in the facility window. However I cannot output the result of this state variable on the model results screen. I used the following expression under model outputstatistic but it didnt work. "ProductA.DistanceFunction". That expression gives me 0 value although there are some entities of this product which enters and exits the system. How can I see the average total distance travelled on forklift for the whole population of Product A?
  17. Hello, I have a model, that's producing parts (Multiple Parts A,B, C,D) with a server, sever works based on a work schedule and off shift days and holidays and the simulation is run for 1 year. Note: processing time for each part is different i need to extract the number of parts produced each month. Also need to determine the monthly efficiency of server , since some months may have holidays. Please provide a solution to get the dat on a monthly basis.
  18. Hi Jason, I recommend checking out the SimBit, found in the Support ribbon in Simio, titled "Hierachy with Tables". This could show you an idea of how you might use a Repeat Group Property to read in a Data Table at the parent model in to the sub model. Liz
  19. Hi, I am trying to use an assign step to assign a date/time state from a table to an entity. When I try to run the model, I get the following error: "Referenced definition type 'PaxEntity' does not match Executing type 'Entrance'. Entrance in this case is a source object. What is this executing type it is talking about? Any ideas on how to fix this are also appreciated. Kind regards, Jason Airport Library.spfx
  20. Hi, I am trying to build an object library for an airport terminal. For this, I build the objects as separate models and place them in a 'sampleairport' model for testing them all together. The 'sampleairport' model contains all the objects, so it has no issue referencing to properties from the placed objects. However the other way around does not seem possible. For example; I want the user to import a standard format flight schedule, which will be uploaded in the 'sampleaiport' model. Now I need to reference this table from the other models, but Simio does not allow me to do this? Is there a way I can reference the table or other properties from models in my other models? Thank you Jason
  21. Hi All,

    In my Model I have a input table and while trouble shooting if I have to pick a particular order as in the below screen shot, it takes a while to search the same( I have approx. 2000 rows). Are their any efficient methods to search a particular row in table if not can this be added as a feature in Simio's next update? Right now its a drop down and then the order needs to be searched.

    Thank you.

    Regards,

    Unmesh

    SIMIO_AllACtivity.PNG

  22. Assuming you are are using the prebuilt task sequencing logic in the server you could just add an add-on-process either after the predecessor task or before the successor task that delays for the given amount of time. If you are using a table to read these tasks add a column for the delay, make a model level process with a delay value of TaskTable.Delay. Then reference this process in the Before starting task or after completing task of the task sequence.
  23. Hi all, This one has been confusing me for a few days now. I'm busy building a large 200+ task process, using Task Sequence. For 95% of the tasks, task predecessors are used, and it works fine. However, some tasks can only start after x days. For example, task 5 requires task 4 to be complete & can only start after 4 days. I've tried looking for a place to put this. Things I've tried: 1. Branch type in Task info, where the condition is: "TimeNow > ModelEntity.TimeCreated + ProcessingTasks.Delay_Days" that checks if the current time is more than the initial start of the task plus the time that it needs to wait. This works, but it just skips these altogether. I'd like the resource to check again the next day the tasks that were skipped. 2. Add in additional resources that only become available after x days, and the tasks seizes this additional resource. However, the tasks are seizing multiple resources (e.g. Finance team, Accounts team, etc., so it's specifically looking at a column I've defined in the task resource table. 3. Creating additional servers to represent these "waiting tasks", however, this looks messy and not sure how it can scale/be modified. Any ideas?
  24. Let's see if I can elaborate... The following outlines the relevant characters in simio file "table_selection_by_name.spfx." Model->Definitions: Properties: OptionId (Entity Property, default=null) _SelectedTable (Table Property, default=tableOption1) States: RowId (integer, default=1) maxEntities (integer, default=2) ModelEntity->Definitions: States: _id (Integer, default=0) row_num (integer, default=0) temp (integer, default=0) Model->Facility: ModelEntity Types: Option1, Option2 Source1, Server1, Sink1 Source1->Entity Arrival Logic: Entity Type = OptionId (Reference Property) InterarrivalTime = 1 second Source1->Stopping Conditions->Maximum Arrivals = maxEntities Source1->Add-On Process Triggers->Created Entity = Source1_CreatedEntity Sink1->Add-On Process Triggers->Entered=Input_Sink1_Entered Model->Facility->Controls->General: OptionId = Option1 _SelectedTable = tableOption1 Model->Processes: Input@Sink1 Add-On Processes Input_Sink1_Entered: [Begin-> Tally(temp = ModelEntity.temp) End] Source1 Add-on Processes: Source1_CreatedEntity: ************************* [Begin->Decide1(IsOption1 = True)-> Assign(maxEntities = tableOption1.AvailableRowCount)-> SetRow(tableOption1, RowId)-> Assign(ModelEntity._id = tableOption1.id, ModelEntity.row_num = tableOption1.row_num, ModelEntity.temp = tableOption1.temp)-> Assign(RowId = RowId + 1)->End Decide1(IsOption1 = False)-> Decide2(IsOption2 = True)-> Assign(maxEntities = tableOption2.AvailableRowCount)-> SetRow(tableOption2, RowId)-> Assign(ModelEntity._id = tableOption2.id, ModelEntity.row_num = tableOption2.row_num, ModelEntity.temp = tableOption2.temp)-> Assign(RowId = RowId + 1)->End Decide2(IsOption2 = False)-> End] ************************* It is here that I could like to simply the logic using something like _SelectedTable instead of tableOption1 and tableOption2. I would like to know how to replace Source1_CreatedEntity's above step definitions with something like: [Begin-> Assign(maxEntities = _SelectedTable.AvailableRowCount)-> SetRow(_SelectedTable, RowId) Assign(ModelEntity._id = _SelectedTable.id, ModelEntity.row_num = _SelectedTable.row_num, ModelEntity.temp = _SelectedTable.temp)-> Assign(RowId = RowId + 1)-> End] But this replacement does not work. The following works, but I'm searching for a way to do this without replacing the column name with an indexed value: [Begin-> Assign(maxEntities = _SelectedTable.AvailableRowCount)-> Assign(ModelEntity._id = _SelectedTable.id[RowId, 1], ModelEntity.row_num = _SelectedTable[RowId, 2], ModelEntity.temp = _SelectedTable[RowId, 3] )-> Assign(RowId = RowId + 1)-> End]
  25. How do I access a table column by name using a table property defined for the model? In my model, I have multiple data tables each with the same named columns defined for each. Each table has a different number of rows. For a run or a set of replications, I want to select a table to use. I have defined a model-level table property named _SelectedTable to support this. During simulation runs, I want to access this selected table's data by row and column name. Specifically, I want to use this data to update model entity state variables. I also want to stop creating entities when all of the rows of the table have been accessed. I've tried two partial solutions to this problem (attached), but neither are ideal. 1. Create a large set of decide add-on processes to choose the decide the correct table and explicitly reference it by its name. This requires a lot of redundant steps and maintenance if tables are added or removed. The attached example contains just two tables. Controls OptionId and _SelectedTable must be set to either (Option1 and tableOption1) or (Option2 and tableOption2). The first control selects the Entity Type and the second selects the Table. 2. Using the column index number instead of the column name, I found I can use the table property to access the selected table. This method is prone to error if the table schema changes. It is also unclear which table properties, such as "AvailableRowCount" are accessible via this approach. The attached example contains two tables just as the previous. The control _SelectedTable chooses which table from which data is acccessed. In practice, the data tables will be substantially larger than the ones included in the attachments. Looking forward to constructive guidance, Ryan table_selection_by_name.spfx table_selection_by_column_number.spfx
×
×
  • Create New...