Search the Community
Showing results for 'buffer "transfer node"'.
-
Hi all! I am simulating a facility with nearly 40 servers, each one starting with some entities in the input node at initialization and having a different capacity. Each server has a 0 input buffer capacity. My entity creation is currently set to having an interarrival time to be 4.33 weeks (1 month) with a random number of entities created. Currently, it runs 24/7 and does not care about the time, but I want to incorporate that. How can I make it so that the entities arrive once a month, let's say the first Monday, at 8am? How can I make it so the servers are only processing between 8am and 4pm Monday - Friday? The work schedule doesn't seem to work for me, but I could be doing it wrong, since I have a 0 input buffer, which I can't change as it's part of my routing logic for overflow. I would be happy with using timers or a process logic if someone can explain it to me. Ideally, the entities only arrive when it's during the working time, and the entities remaining after 4pm are just put on hold until 8am the next day. Thanks in advance!
- 2 replies
-
- server
- work schedules
-
(and 2 more)
Tagged with:
-
Hi, there is a simple approach you can use. Use Connectors between the queue server and the desks. At Buffer Logic of the Desks, change the Input Buffer Capacity to 0. Create a List with the Input nodes of the seven Desks. On the Output of the queue server change Entity Destination Type to Select From List and the goal to Smallest Value. Keep the default expression. It should work fine.
-
Hello all I am relatively new to Simio and DES. I am trying to model a pallet conveyor. It is a closed loop conveyor. I use the "vehicle" as the pallet that loops around the conveyor. At the source the part (default entity) is loaded on the pallet. At the sink the part is unloaded. The problem that I am encountering is that the vehicles from time to time pile up at the sink, then after a certain amount of time they continue back to the starting point "Source1". This happens more the more I increas the "initialnumber in system" of vehicles The transfer-in Time for the sink is set at 0. At the model trace I read this for the "Input@Sink1" : "the in Token waiting at VisitNode step for '1' other processes to complete." I would apreciate any advice. Many thanks! Vehicle_stuck_at_sink.spfx
-
Hello everyone, I have a simple production line of 15 servers, some combiners, nothing too complicated. I need to somehow setup the input buffer at each server to have 1 entity at the start of the simulation and then run it. Or having filled servers with 1 entity at each server. Could anyone please help me and show me how to set it up? I need to start counting the stats once all the workstations are filled, but warmup period does not seem to work for that case, because it destroys the enitities at the servers and starts over. The filled-input-buffer-way looked to me like the easiest solution. But if there is another way, please let me know. Thank you!
-
My simulation is looking at maintaining inventory levels at multiple servers across a road network. Inventory is delivered via transports and is processed at each station at a rate of 1 item per hour (constant). What I am trying to do is to run some experiments to determine effects of different parameters on delivery system performance (ability to maintain inventory at (between 0-12) at each server location for the duration (72 hours is the current short test case). I have my responses set up to report Input@Server1.AssociatedStationLoad however the numbers are being listed between 0 and 1 instead of 0 and 12. Additionally, in the experiment output I get a 1 or 0 per server per scenario iteration. What I need to see is if any (and what) server hits 0 at any given time by having an output give an inventory level at current time for the duration of each run. Any advice?
-
Worker to "empty" queue before moving to next server.
jopendle replied to jopendle's topic in SI General Discussions
This helped in some applications, especially use cases where multiple servers are in series and I need the operator to focus on the start or end of the process. Thanks! However, when servers are in parallel the operator tends to run back and forth between them. If I were to assign a higher priority to one line, the worker would focus on that line only. i.e. if he empties the que of parts in the input buffer of Server 1, he goes down to work on only 1 part at Server2 before going right back to Server1. Rather, I'd like for the operator to clear all parts in the que at Server1 before walking down to Server2 and vice-versa. I've tried doing this through process logic however I get stuck trying to evaluate which server the worker is supporting. -
Pick up entitys in different locations and drop them off to a server
Gashi replied to Gashi's topic in SI General Discussions
Thank you for the quick answer! Yes I know the ABC Costing Calculation in Simio, but I forgot to add, that I want to divide the total transport costs among the individual components that are transported at the same time. I think it would work with the calculation: TransportCostRate / TransportQty * TransportTime , so I just have to track the transport quantity for example with MyVehicle.RideStation.Contents. And my small model is just a example. My goal is to set up a cost analysis tool with calculation of transport costs, bufffer costs, processing costs, ... for finished production models. And for example the buffer costs, i want to use more specific cost rates (footprint dependence for example, ...) The disadvantage of my custom way is that so far I can determine the costs only at certain points (for example pick up and drop off) in time and not "continuously" as it is now with the automatic calculation. Or do you know if there is a way to adjust these "custom" times so that they are also calculated continuously? -
Referenced definition type and executing type error
ViniciusF replied to Gashi's topic in SI General Discussions
Hi! I don't think you need to save those times stamps on MyVehicle. I would suggest you to use processes that triggers when the entity leaves the Output Buffer of the source and enters the Input Buffer of the server. To do that, create two process with the corresponding Triggering Event Name: Source1.OutputBuffer.Exited or Server1.InputBuffer.Entered, saving time stamps directly on the MyModelEntity. -
Hi All,
In my model, I have a transfer node and the entity could go to either of the next 2 serves as in the picture.
I have assigned product number(1,2,3...) to entities …., if product “1” moves from transfer node to S1 and the next product is also “1”, it should also move to S1 and if the product number changes its should change the server to S2. So the entire batch gets processed on one server.
After processing from S1 and S2 the entity should flow in batch so that at S3 I have batch production
Right now the entities go based on “By Link Weight” and randomly goes to the server which affects S1,S2,S3 servers setup time
Any thoughts how can that be achieved, I do not want to setup a sequence table.
-
A basic photo eye object that can be used with conveyor belts. Photo eye is based on a transfer node object. It collects statistics on time in blocked state, cleared state and throughput. Transfer nodes on entered and on exited add on processes can be used as on blocking and on clearing add on processes. Photo eye has properties to define the delays for on blocked and on cleared. Photo eye will wait to complete on blocked delay to execute on blocked add on process. Similarly, photo eye will wait to complete on cleared delay to execute on cleared add on process. PE_Library.spfx
-
I have a multiple combiners into which a single worker provides entities. While the worker is at a specific combiner, I want to check if that combiner's output buffer is full. I'd prefer not to create a separate process for each combiner as I have dozens. How do I code the process so that it is generic and that 1 process can work for any combiner? I'm hoping this is an easy question. Sorry if it's obvious. Thanks for your help.
-
Hello River, I downloaded your files. The Gate512 was missing. I removed the information in the "30 Departure.xlxs" file that I can run the model ;-). Generally I understood how it works. Answer to your first question: I think you mean these two ways, right? From the left and from the right. In this case I saw that you used the "Routing Logic" in like all Transfernodes. The Outbound Link Rule is "Shortest Path" and you set the "Node Name" to "Input@Takeoff" Simio is using everytime the shortest link path now. Like in the screenshot below: In my opinion it would be better to set the destination once after the Entity got created in the Source for example :-). There are different ways to do that. In your model I removed all Routing Logic in the Transfernodes and used the Routing Logic only in the Output-TransferNodes of the Sources. In Simio you need only to use one time a SetNode-Step or a Routing-Logic to set the destination of an Entitiy and Simio will follow the paths or travel in the FreeSpace. You can use for example a NodeList with 2 different destinations and this Routing-Logic: With the "Selection Goal" Random Simio will randomly choose the destination from the NodeList. I uploaded you your model with the changes as an example: Problem on the taxiway version 17A.zip What did I changed? 1) I removed the Routing Logic in all TransferNodes. 2) I added new Routing Logic to the TransferNodes of the Output-Node of the Sources. 3) I added a NodeList with 2 new Nodes. 4) In the two new Nodes I used a Nodes-Entered-Process and a Transfer-Step to transfer the Entity to the Input of the Sink. Answer to your second question: You can change the destination of an Entity any time. In the Path (Link) you have a function called "NumberTravelors" for example to get the number of travelors currently on this path. So you can use a Expression like "Path123.NumberTravelors < 2". This can be used to decide if a way is full allready that the other way get selected. Or you can use a Integer-State and count up and down. I would use a Node-Entered-Process in the last possible node with a Decide-Step and two SetNode-Step in this case :-). I hope my answer will help you. When you have any other question, you are welcome! Best regards Pascal
-
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.
-
How can I set a safety distance between with other entity . e.g. Transfer Node 79 entity is will impact with others, how can I set a safety distance on every entity?
-
I'm having some trouble with worker actions and transfer steps. Below is a picture of my current model. I have also attached the simio file itself. What I want to happen: Worker1 carries both entities to their respective nodes and leaves them in their respective stations after worker(A/B) "checks them" (I used a delay to simulate this check) and then Worker1 moves on. The worker(A/B) only picks up the entity if needed. So if the worker was with another entity in process (like Srv(A/B)), he would go check the new entity so that worker1 can move on, but would return to finish out the first entity to the end. My problem: Worker1 doesn't wait for the other workers to check and move on, just puts in station and moves on. I can suspend and resume the processes and get the worker to the (A/B)PICK nodes, but the worker picks the new entity up and starts that. The entity they were working on before just vanishes or something. Then everything becomes a standstill. Lastly, I run into this transfer error so much, and can never figure out exactly what causes it. ModelForQuestionCOPY2.spfx
- 2 replies
-
- transfernode
- worker
-
(and 1 more)
Tagged with:
-
Hi I need reference to some sort of property that can help me store entities in my transfer node(shelf). I have used the Park property but then I am not sure on how I can release it when the transporter is told to arrive at the transfer node(shelf) to pick up certain of those parked entities. Any help is appreciated. Thank you
-
Hello, I'm college student preparing the contest sponsored by "KOREA SOCIETY FOR SIMULATION". So I'm making model which has no input buffer , just remaining on the path. But the issue is that, if i set the input buffer as 0, the source makes entities only two, which is the sum of the sever's capacity.... I have seen that kind of model at the jsmith.co , but my model doesn't act like that.. What should I do for my model? isThereInputBufferCapa.spfx
-
Hey Simio insiders, I have been working on a model with workers. The workers transport goods over a facility, from one server to another. They seem to work perfectly until about 2 hours into the simulation. I have been looking into the the 'watch' properties, and it appears that the worker is waiting for something. This happens eventough i do not have a wait process in place. It waits at a server which it is about to drop an entity. The server input buffer is infinity, since i thought it might have caused the problem. Do any of you know why my worker is waiting?
-
How can I model where the robot always pick 2 parts and waits until 2 parts are available at output buffer of the server. (Robot is available in extras library). i have multiple servers in the model.
-
You need to put the search, release and transfer steps into the Add-on Process Triggers "Parent Entered" of the Combiners. For example, for the "Juntar_secos" combiner, at the "Parent Entered" Addon process, you would search for Slots.Processing.Contents, matching "Candidate.ModelEntity.Id_Del_Pedido == ModelEntity.Id_del_pedido". After that you should use a release step, to release Server "Slots", and a transfer step to transfer what have been found to Output@Slots.
-
Well, first thing, you don't need your entities to be bouncing between the output and the input of your server like that. If you want to use it as sort of storage, set both the processing time and the capacity to infinity. After that, at the moment that the parent entity enters the combiner "Parent Entered" you could search the queue of your storage using a search step with something like "Server1.Processing.Contents", with the condition of "Candidate.ModelEntity.State == ModelEntity.State", release the server and transfer what have been found to the output. You need to take some care on some situations, like what if the parent entity arrives first at the combiner then the member at the storage? And some care with batching quantities aswell. But I think you can handle it.
-
I have entity1 and entity2 entering a server. I want entity1 to have priority over entity2 when in the input buffer waiting to be processed no matter how many entities are already in the input buffer. I'm using connectors leading the entities into the server input node. Any suggestions?
-
I am trying to make a routing decision based on the Candidate node's routerequestqueue's summation of the entities user-defined property. If there are different types of entities with ex. different priority levels. I would like the routing process to choose the transfernode which has the smallest total sum of it's entities priority level. the transfernode that needs to be chosen also has a routing group attached to its entity destination type rule where its final machine has 0 buffer and due to a blocked destination rule, there will be a queue build up at the transfernode that needs to be chosen. I have thought about using a state variable for each node and using add-on process each time a unit enters and leaves a node but because the main model has many multiple nodes the node's entity priority sum has to be able to be accessed through the candidate.transfernode._________________. For example during the routing step in the process section, I have candidate.transfernode.destinationroutinggroupname.routerequestqueue which gives me the node's number of units waiting, but i need to be able to access the candidate nodes summed queued property. Is there either a way to directly access this information, have looked at the expressions and having a hard time finding something. failed attempt: candidate.transfernode.destinationroutinggroupname.routerequestqueue.population.defaultentity.priority.summation or is there a way to use the add-on process where i am adding/subtracting the priority levels, but somehow attach it to the candidate.transfernode's property Hopefully this makes sense. If you look at the file, please ignore the upper half and focus on the transfer nodes maintransfer, transfernode1 and transfernode1_1. maintransfer has an entered add-onprocess which is the subject of this question. the route process and it's selection expression is what I'm trying to adjust but find a way to express the candidate transfernodes of transfernode1 and transfernode1_1 (which are part of the XferRouting group). I'd like to choose and compare the total summed priority level of each node's queue. Simple_Routing.spfx
- 2 replies
-
- routing
- expressions
-
(and 2 more)
Tagged with:
-
I wonder if it is possible to pick one particular entity from the BatchMembersQeue and unbatch it. For example I have a pallet with 10 entities batched (9 red and 1 blue) and I want to remove only the blue one. I was able to find the entity with a search step, but I cannot transfer it or unbach it. Any ideas? TnksUnbatch one entity.spfx
-
Hi all, in my model I have a specific transfer node where a worker transfers an entity to a vehicle. I cant add the load unloading times in the worker or vehicle due to the fact that there is only loading time in this transfer point exactly. I was wondering if there is a way to directly add a "processing time" to this transfer point. Maybe by creating a subclass? Thanks