Jump to content

MEagar

Simio Insiders
  • Posts

    471
  • Joined

  • Last visited

  • Days Won

    13

Everything posted by MEagar

  1. So I see what you are trying to achieve, and your approach can be moddelled yet you will need to really know what you are doing if you want to start transferring entities in and out of queue's, as well as adjusting capacity of vehicles to circumvent default routing logic. Alternatively, I would set the Retailer capacities back to one and treat an entity as a shipment from the warehouse to a retailer. I would also look at add a material element to the transporter and each server and utilize Simio's produce and consume functionality to drive variation in supply and demand. This will allow you to utilize the base functionality of the transporters, without dabbling in capacitative resource allocation, unless you fully understand the intricacies of the inner workings of a transporter. Task Sequences embedded within the servers should allow you to easily accomplish your objective (basis production and consumption of material), without needing to utilize process logic and corresponding Produce and Consume Blocks. Hope this Helps.
  2. I would avoid the storage element. A station is a better option as all it is is a capacitative storage queue. The stations results are additionally automatically tracked. From the error message, it seems to me that the entity was never removed from the queue ?? Did you perhaps duplicate the entity with a create block prior to inserting it into the storage element ?? If this is a commercial application, send me a pm and we can web conference to resolve the issue. Mark
  3. Further to the above, understanding the functionality behind queues is paramount. Of particular interest would be the difference between statically ranked and dynamic selection algo's. What Simio does very well is allow the user to place entities into a queue, at a given location basis a certain condition, but also how to pull entities out of a queue, basis their current location given a certain condition. I cant see your model as its n academic version but it seems you have solved the problem. With a million and 5 ways to effect the request above, dynamic selection is most definitely one of the most preferred.
  4. Yes it is possible. You can exceute a process by picking the hourly event as fired by the timer (as attached). Subsequently you can use process logic to release the worker, move the worker, then re-seize the worker. A second alternate is to use the default functionality included under advanced options within a server's "On Resource Releases" option. This should allow for you to specify the hourly interval for release as you require.
  5. You need to search the queue when the server goes off shift (Search Block_Queue), and Transfer the Students back to the Decision making node (Transfer Block -> Make Sure its the last block in the process). That is the easiest fix, other than setting the input buffers to zero.
  6. Using a conditional Math.If(Condition, True, False) which sets the processing time to 0 if the specific condition has been met may be of use.
  7. Personally I would use the search block set to search the entity population opposed to the find block. It should also be noted that the Exclusion Expression is evaluated at the start of runtime (if I am not mistaken) hence if this is false, the block will default to false for the entire runtime. Hope this helps.
  8. We have an opportunity for an intermediate to advanced modeller to join us for both a Simio and Operational related role. Relocation to Australia/New Zealand is a prerequisite with Visa sponsorship provided. Please note that a minimum contract duration will be in play. Should you be interested, please pm me, or send your resume with contact details to mark@masterschedulingsolutions.com All conversations will be treated as confidential. Mark
  9. An alternate approach is to place a monitor element which looks at the TimeTillDeath State variable. If this reaches zero, within the monitor element you may choose to execute a user defined process named "proc_WhateverYouWantToCallIt". Within this process, I will use the "remove" block if the entity is in a queue, or simply just utilise the "destroy" block. You may have to utilise the aforementioned blocks with a conditional "search" block as to ensure the correct entity is destroyed. Hope this helps.
  10. Remembering that the entity in the processing station is the Owner of the Resources i.e. the server; and all three workers, if you place a watch on the entity and drill into "functions" of the entity in the watch window, you will find the variables for your conditional logic which you seek (see attached). Server.Processing.Contents.FirstItem.ModelEntity.SeizedResources.xxxx should suffice....
  11. Thanks, I will look into it. The whole library needs to be updated by someone, and reposted for all to use. ?
  12. Seems to be working fine once updated to sprint 173...Please find attached...let me know if you have any issues....Generic Crane Model v3.spfx
  13. Yeah the elevator library needs some work. It is not written for a generic Simio application, hence it is difficult to exact "default" Simio Logic. What I found of particular difficulty was assigning control logic to entities entering and exiting the elevator nodes. More generic controls are also needed to exact and mitigate the need to repurpose logic as a subclassed object. i.e. as a quick and dirty solution, I moved the on entered process block in the subclassed myelevatornode object to the front (attached), else the process call is omitted for all loading entities entering the node. I think the object needs a good dose of standard simio logic governance, i.e. when does an add on process trigger fire, or when does a state assignment get made...etc...before it can be released as a standard Simio object.... Nonetheless it is a very helpful and cool object. If I get the project we are bidding on I will give it go !!
  14. [UPDATED] We had the attached library developed a couple of years ago. Not sure who the developer was but recognition to him. Would appreciate if someone would update, extend, and re-post, afterall sharing is caring !!  I think it a great idea and leap forward to start pushing Simio towards volumetric modelling, opposed to just utilising the 3D space for animation purposes. JibCraneLibrary.spfx Generic Crane Model v3.spfx
  15. Could we possibly include user defined properties within this worksheet ??
  16. Sounds like somewhere in your logic an infinite loop is prevailing.
  17. Thanks Glen, I will keep a counter on the dashboard for development purposes. Mark
  18. Does anyone perhaps know how we can track/see the suspend and resume steps lodged against an object in the watch window ?? Alternatively, visibility of these tokens will be appreciated as a standard in Simio.
  19. Thanks Willem, Little bit swamped but I will have a look. I hope it works as I have a tank for a source (primary and secondary crushers) and a filler object at the end. This leads to that error which Simio does not seem to wanna fix. When I have time, I will create a small model demonstrating this behavior. Really sucks for this is the last piece in the puzzle for a complete Plant simulation for metallurgists.
  20. Willem, Like what you have done yet I do believe Simio needs to extend the "Add On" processes to better control residuals, user defined state changes, and entity assignments such as quality allocations for this object. Trying to do something similar with the addition of the water circuit added to the crushers and other processes, yet having some problems with the split allocation rules with the conveyors leaving the flow server. Specifically they all block up should you disable one of the conveyors. Did you get a work around for this ??
  21. Even easier is to use a "tank" object as the source instead of a "flow source" object. It has more AddOn processes to control logic (switch over delays), as well as being able to purge contents or automatically refill multiple entity types based on events fired.
×
×
  • Create New...