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. Hi I want to change a state-variable of each entity of a specific type. I am trying to reach this goal by using a search-step in a Process. The process is executed correctly but the search-step is not doing anything. I have set the following values for the search-step: CollectionType: EntityPopulation Entity Type: Besucher Search Type: Forward Match Condition: True Limit: Infinity The goal is that each entity of Type Besucher should flow to the "Found"-Branch where I have created an assign-step for changing the state. But the Step following the "Found"-Branch is never reached and also the Step following the "Original"-Branch is never reached (I have set a breakpoint at thia steps.) I have also attached a screenshot. I hope, someone can help me.
  2. You can dynamically assign the 'HomeNode' state variable of a vehicle or worker object (e.g., ASSIGN: Vehicle1[1].HomeNode = BasicNode1 or ASSIGN: Vehicle.HomeNode = BasicNode1 if the vehicle of interest is associated with the token executing the Assign step). The 'Initial Node (Home)' property is simply the initial value assigned to that node reference state variable of the vehicle or worker. I'll have the property description of that 'Initial Node' property updated to make sure to note the state variable that can be dynamically assigned to change the home node location.
  3. I am using search process to search among TableRows of a data table. I am setting the math condition as follows: tablename[candidate.object].columnname == Modelentity.timecreated But I am getting the following error: Invalid 'candidate' reference, no candidate is set for the token. I am not sure what I am doing wrong. Any help is appreciated. Thanks
  4. The Server knows that there are 20 units on the pallet, but it cannot access the individual processing times for each product without using process logic. Use a Search step to find all the units on the pallet and add the individual processing times to a state on the pallet, then use this state variable as the processing time on the server. To do this, use a process on the Before Processing trigger. Add a Search step to search the QueueState 'ModelEntity.BatchMembers' (and set the Limit property to 'Infinity'). Create 1 state variable on the model - TempStateName, and 1 on the ModelEntity - TotalProcessingTime. Then on the Found branch put as Assign step to assign a State variable the value of the individual processing time for each unit. Setup the Assign state like the following: State Variable: TempStateName, New Value: TempStateName+ (Unit processing time). TempStateName is a variable used to collect the sum of the unit processing time and save that value to the state on the pallet. Then on the Original branch put another Assign step:State Variable:ModelEntity.TotalProcessingTime, New Value: TempStateName. Then add an Assign to reset the TempStateName to 0. On the Server's Processing Time property, put 'ModelEntity.TotalProcessingTime'
  5. An alternative approach might be using a combiner upstream to the WS to create a fictional entity, let's call it "block", which contains all 3 objects. This way, the workstation process a single entity (the block). All 3 original entities enter and leave the WS at the same time, obviously. Downstream the Ws, you can split the block into its 3 original entities, and it's all done. Meilleures salutations,
  6. Hi All, I have a question regarding a maintenance workshop that consist of 11 workers who are used as resources for 4 servers. The worker keeps on working while he is off shift. I tried the simbits; Worker Uses Work Schedule Interrupt Working Off Shift and Resource States When Off Shift. These work with one worker. However, i get the following error when I try to add more workers. Entity: Defaultentity.94 A runtime error was detected at time 11,0 hours at the following process step: Object: Model Process: Resourceoffshift1 Token: Mytoken1.46 Step: [Release] Release1 Property: ResourceReleases.NumberOfObjects Error releasing resources of type specific 'Worker1[1]' owned by object 'Defaultentity.94'. Unable to release '1' object(s) of the resource type because the number of individual resources owned and satisfying the specified release criteria is only '0'. Does anyone know how I can get my workers to stop working while they are of shift? I've added my model to this post. Thanks!! Roeland van Rijssel modelmaintworkshop.spfx
  7. Thanks for the reply. I was able to resolve my issue my using a Execute step with the Advanced Option's Token Wait Action set to None (Continue) instead of the default. Thanks to my great Simio coach Bailey Kluczny from Strongside who offered the simple solution.
  8. HI I am a fairly new user and please forgive my confusion. I am working on a project where there are different vehicles coming on different times throughout the night. (for resurfacing etc) I created Arrival table correctly, entered date time values accordingly. The quantity of each vehicle type required is 1. Routing Logic is defined too. I used a Token process as well to guide source. BUT for some reason, when I run the model, all vehicles leave the source at once and then 1st vehicle type keep coming after every hour. BTW it works well if I use no Nodes and simple Source to Sink Path, However, when there are nodes, it mess up and all vehicles leave source at once. Can anyone please tell me what am I doing wrong ? Huge thanks in advance P.S I have attached my current model as well 4 vehicles on time (trying).spfx
  9. Thanks for your reply Petr Tulach. I've already emailed you I would like to add some information that I did not state on the original post. Thus, I would like to emphasize that, to update the layout of a single model, I have to delete all the objects on its Facility and then create them anew. The simple process of deleting all the models can take hours! Sometimes, it takes more time to delete them all than to create a new warehouse (I can't understand this). Thus, I have 2 processes each 1 consuming more that 1 hour! All of this, just to update the logic of all the other Simio files I have that are using the same logic... Isn't there a better way to do this? So, I really would apretiate some help, even if it is just to tell me that there is no alternative to what im currently doing (at least I would know I have to do it this way, unfortunately)
  10. Hi everyone! Is it possible to, after having created a model, to subclass it and edit some processes of the original one? The point is to make sort of a copy paste of the created model, in the same file. Thanks
  11. Hi folks! I'm trying to model a production line with one worker and several stations that he visits/uses. The process is in a specific order (ie, the entities move in a direct path) but the worker is free to float between stations as needed. The situation I'm facing now is that some stations require him during the beginning and ending, excluding processing time, and other use him the whole time. I have a station that he is called to be at, and he goes and completes the task, then exits the station leaving the entities, goes to finish another task, and then returns to the original station to pick up the entities he left before. How do I make him take those entities to their next location before leaving? I've tried setting the "task selection strategy" to "largest priority" and assigning higher priority to the entities at the original station, but it's not working. Any help would be very appreciated! Thanks PS, does anyone have any thoughts/preferences between using processes to seize the worker and delay during the task versus using the station's secondary resources to call him? They seem to be the same thing to me and I was just wondering if there are any tips/tricks/reasons to use one over the other? Double thanks!
  12. Found the solution! In the process itself you can set when the entity is destroyed the token, associated to this entity is also destroyed. That did the trick for me
  13. Hi everyone, Working on a model that should interrupt a delay function in a different process. The interrupt in that manner prevent the execution of a process. Tokens for this process are generated when an entity is being created, and destroyed (by means of the interrupt) when the entity arrives at its destination. The entities are being transported by means of a vehicle, so sometimes not all the tokes are destroyed since some of the tokens are still in the delay (waiting for transportation of the vehicle). The problem that I am facing is that the tokens are not destroyed in order, this pattern seems rather random. It even occurs that tokens with a very low ID number are still in the delay when this should not even be possible (they should have been destroyed long ago). So the question is, does Simio interrupt tokens within a delay in the correct order or randomly and how to ensure that this occurs correctly? Thanks !
  14. Create a Model Entity variable and assign each Entity Type a different value (1,2,3,...). On the Workshedule Day Pattern, put the variable number for the entity the server can process for the time period in the Value column. Then use the Evaluating Seize Request Add-on Process Trigger on the Server. On the process logic put a Decide step with expression: ModelEntity.StateName==WorkSheduleName.Value(TimeNow). On the False branch put an Assign step with variable Name: Token.ReturnValue and New Value 0.
  15. HI all, I keep running into an error every time I run my model and I'm not sure what it means. The dialog box says: --------------- Entity: PartType.88 A Runtime error was detected at time 288.17 Hours at the following process step: Object: Model Process: Srv8_AfterProcessing Token: Token.1 Step: [Release] ReleaseTool Property: NumberOfObjects Error releasing resources of type Specific 'Tool1' owned by object 'PartType.88'. Unable to release '1' resource object(s) of the specified type because the number of individual resources owned and satisfying release conditions is only '0'. --------------------- My model is set up so that it creates entities (PartType 0 through 4) so that it will make one PartType 0, then one PartType 1, ... , then one PartType 4, and start back over at PartType 0. (Based on the SimBit "Sequential Processing By Batch Specified in Table"). As each entity enters the model after being assigned a specific type, it seizes capacity in a resource specific to that PartType. The resource remains seized until the last server before the sink (Srv8), where the resource is released. The seize/release operations are accomplished using Add-On Process Triggers. Not sure if it's relevant, but the entities must ride on one of 4 transporter between all servers. Can anyone help me solve this error? If I understand it correctly, somewhere along the way more resource capacity is being released than seized and I'm not sure why.
  16. Sumanth - You have quite a few different ways to go about collecting these interval based statistics, the first few that come to mind include: (With Enterprise Edition) setup a daily timer and trigger a process to write the statistic to a output table, then reset the statistic Setup a tally statistic and a daily timer and trigger a process to tally the statistic, then reset the original statistic Setup a array and a daily timer and trigger a process to capture the statistic in the array, then reset the original statistic As you can see, in all cases have some statistic that can be cleared on the interval after capturing its data in either a output table, tally statistic or array. Let us know if we can be of any help with your healthcare model -- we've done quite a few of these with various levels of detail depending on the question at hand. Sincerely, Martin
  17. Just take a look somehere in help or documentation about Evaluating Transport Request, if token used in this process (so you have to search for tokens as well) is assigned value 0 or less, the entity trying to reserve transport on this vehicle is rejected and have to wait for another try. This is just a simple model, for production use (models with multiple locks) it make a good sense to use object approach as David showed in Elevator Simbit. That way you would be able to have logic in one place.
  18. OnRunInitialized could have multiple Execute steps with the Token Wait Option of None. So each set of servers would have its own process and its own repair time state. Or, as you seem to have discovered you can bypass the OnRunInitialized option, simplify the processes and simply have a Timer dedicated to each server group and that timer is what initiates the process.
  19. Hi, The execute step you use to run your car's acceleration increment process is not a "continue" process so the token that enters the execute step in the "EntryRoundaboutOrStop" process waits for the executed process to complete (ie. your acceleration to reach its maximum) before continuing. Because this is done on the "OnEntered" it causes your vehicle to wait at the node for all the processes run by the OnEntered add-on process to complete. This differs from using the "OnExited" add-on process which doesn't wait for it's processes to complete (due to the literal departure from the node onto a path/station being required to execute the "OnExited" add on process). I suspect having used the OnExited instead of the OnEntered in your previous model is what caused the acceleration to work properly. I hope this helps. Michael
  20. One way to do this is by using a Process. Create a table with a string column (PartType) and an expression column (ProcessingTime). Create a new token(MyToken1) in Definitions Tab with a real state variable: Index. Set the process to be triggered by a timer which is set to 24 hour interval and set the token class to MyToken1. Use a Search Step with Collection Type: TableRows, Table Name: Table1, Limit: Infinity, and Save Index Found: MyToken1.Index. On the Found branch use a Create step to create a new object Entity Type: Parts. On the Created branch use a SetRow step with Table Name: Table1 and Row Number: MyToken1.Index and a Transfer Step. Set the Server Processing Time to Table1.ProcessingTime. Rename the DefaultEntity parts. The entities are all the same Entity Type. You don't need a source.
  21. Option 1: The way I often solve it is to create a high-priority 3-hour job that tries to seize the server at the time when it should go down. As it is waiting in the front of the priority-based queue, it will keep the server busy for 3 hours after the previous job has finished. Statistics will not show true idle time, of course... Option 2: Same high-priority job that triggers an add-on process that takes the server off-shift (or decreases capacity by one); after 3 hours, the token increases the server capacity again. Job time for the job that carries out the trigger is e.g., 0.1 second. Assign step: Server.CurrentCapacity := Server.CurrentCapacity - 1. The advantage over a Timer or a schedule change is that you can control what happens with your own 'helper' Entity. Make sure it is a different Entity instance to avoid contaminating the entity statistics of your 'real' entities. Alexander Verbraeck Professor of Systems Engineering and Simulation Delft University of Technology, The Netherlands
  22. solution: 1) file ---> "entity based routing logic on the same path (1)" is the solution to the original problem... 2) file ---> "entity based routing logic on the same path" is the suggested logic to what you want to do. I believe the solution to the problem should be the second one, but still it is up to your problem's logic. choose one of them... Entity based routing logic (1).spfx Entity based routing logic.spfx
  23. You had several different problems here. First of all, your sequence was incorrect - it included the output of server 1 and your entity never moves there by a sequence (it just emerges there after visiting server 1) Second you need to seize a vehicle, move it, then release it. No requests are processed while a resource is seized. Third, the entity was waiting for the move to complete before it started moving. I assume that the point of this was to have them concurrently move toward each other. To make that happen 2 things must be overcome. 1) All add-on processes wait for completion before the executing entity proceeds with other actions, 2) The Move Step by definition holds the token until the Move is complete. Both of these are overcome by creating a second process which is Executed with the Token Wait Action set to none (no wait) Finally, the return to home option on the vehicle conflicts with your intent for the vehicle to move somewhere and wait for the entity. it can't both wait while idle and return to home when idle.
  24. Hello! I have one doubt that I would like to clarify: I have 2 entities that travel grouped (1 is the member and the other the parent). There is one point at my model on which I want to separate them and at the same time copy an array of values from the parent to the member. At the momemt I'm doing this by using a state to hold the information from the parent when he enter the separate and when the member leaves it I copy the values from the state to the member. Untill now everything's fine but I'm a little affraid that it can result in some conflicts when many entities pass through the Separate at the same time... So I would like to know if anybody has any suggestions of how to pass the values directly without a temporarilly state? Just to be clear I'm trying to do something like this: Member.ArrayOfValues[index]=Parent.ArrayOfValues[index] which obviously doesn't work since this process is being executed by a token of the Parent... Thanks!
  25. Hello, I am using the latest 106 Simio version with a student license. And I am making projects but I don't wish to show my author name. The problem is that the author automatically filled in with my name. I deleted it and pressed enter, but it appeared again. I also tried right-clicking then reset but it doesn't work. Is there a problem of my Simio or it is designed this way that you cannot change the original author? Thank you!
×
×
  • Create New...