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. Thank you - fixed. Have re-jigged the logic so that nothing crucial happens with the original token.
  2. I have seen this error before with transporter/entity transfers... You may have conflicting logic here.... i.e. an event occurs that triggers a token into a delay or wait step based on a condition before transfer can complete, yet during this duration another event occurs that wants the transfer to occur for a second time or the entity to be directed somewhere else...the original token is not released and destroyed first... simple solution... I used dummy nodes to shift the transporter\entities around based on a precedence constraint structure whilst clocking the time of the transporter\entity at each node. This worked like a bomb. Also, if you don't need the original token, destroy it or don't attach any processes on the line after it.
  3. By default found branch (token) is executed first and then the original. This is unless you have a delay in found branch. If so, (and the delay is at least math.epsilon) original token is executed before the delay and than found token executes. If you can send a screenshot of your process it will be easier to give precise help.
  4. You can use the search steps 'save number found' state assignment in the advanced properties. Then check the state you saved this too on the original branch to assign 'nothing' to your state. Alternatively, make the search expression 1. This will save, into Token.ReturnValue, (1)*(numberFound). Check your token.returnvalue to see if any were found.
  5. Hi Everyone I have a general question about a search step. According to the help file, if a search step finds something a new token is created and the found segment is executed. If nothing is found, the found segment is never executed. I have logic requiring that an object reference state variable is updated based on the result of the search, but whether something is found or not. I am searching for a closest idle vehicle, so there is no problem if at least one vehicle is idle - that part works fine. However if no vehicles are idle (i.e. the found segment is never executed) , I would like to make the object reference equal to Nothing (which I can check for in subsequent steps). I'm just struggling to do that because placing the assignment in the found segment when nothing is found obviously doesn't work. This search is performed many times, so the object reference will have a previous value which I need to update (i.e. I can't default it to Nothing). Is there a token return value in the original segment that could indicate whether something/nothing was found? I can't find anything in the help file. -Chris
  6. 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
  7. You could use the add-on process for the worker named Evaluating Seize Request that would check the size of the queue where the customers are waiting (and I assume this is where they are requesting the worker to bring beer) - and if the size of the queue is not at least 2, then refuse the request (assign the 'Token.ReturnValue' to 'False' or '0'). The below info was taken from the help on resources (which is similar for workers/vehicles used in a seize manner as well). Evaluating Seize Request Add On Process In the Resource object from the standard object library, there is an Add On Process called Evaluating Seize Request. This Add On Process is executed when the object is evaluating whether to accept or reject the capacity allocation request. In the executed decision process, the user should assign a value of less than or equal to '0' to the executing token’s Return Value state (Token.ReturnValue) to indicate that the allocation attempt is rejected. The value '1' indicates that the allocation attempt was successful.
  8. In the Search step, if you are trying to search the entities within the member input buffer, you should have the Collection Type set to 'QueueState' and then the Queue State Name set to 'CombinerName.MemberInputBuffer.Contents'. I don't think that queue is automatically in the pull down list, but you can type the name in directly. This will then search only the entities in that queue and provide a token exit out of the found representing each (given you set the Limit property to Infinity to search for all entities in the queue and not just the first one).
  9. Petr, I tried out your updated version, as I had used Glen's original in the past. There is definitely a speed boost with this version. My "test" import file is the 25 X 25 grid attached (625 BasicNode and 1200 Path Objects.) On my old laptop this imports in about 60 seconds. I noticed that the progress bar works great for the Objects sheet, however it does not appear to update when the Links are imported. The progress remains at 0 while the links are imported, though the routine works and I see the dialogue at the end with no errors. The nodes only take about 10 seconds to import and the links constitute the remaining ~ 50 seconds. I tried turning off visibility of the links/arrows, but this made no difference. I haven’t tried vertices yet. Also, note that I had to re-build the add-in in Visual Studio, as I seem to have an issue with adding add-in .dll's from an outside source to my ..\SimioUserExtensions directory. Hopefully I did not break the application in the process. Thank you very much - this is very useful! 25 X 25 Grid Import.xlsx
  10. 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.
  11. Is the search step being executed? Have you tried a break point on that step? If tokens are entering that step but not exiting through either the "original" or the "found" branch that would imply a pretty major bug, I think Can you post an example model demonstrating the behavior you are seeing? -Adam
  12. 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.
  13. 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
  14. 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'
  15. 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,
  16. 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
  17. 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.
  18. 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.
  19. 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
  20. 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)
  21. 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
  22. 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!
  23. 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
  24. 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.
  25. 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
×
×
  • Create New...