ATTENTION

This FlexSim Community Forum is read-only. Please post any new questions, ideas, or discussions to our new community (we call it Answers) at https://answers.flexsim.com/. Our new Question & Answer site brings a modern, mobile-friendly interface and more focus on getting answers quickly. There are a few differences between how our new Q&A community works vs. a classic, threaded-conversation-style forum like the one below, so be sure to read our Answers Best Practices.


flexsim.com

Go Back   FlexSim Community Forum > Downloads > Models > User Concept
Downloads

Latest Files
Latest Files
Most Popular Files
Most Popular Files
Top Contributors
Top Contributors
Tom David 47
Tyson Nordgren 35
Paul Toone 31
Matt Long 29
Phil BoBo 18
Regan Blackett 16
Cliff King 14
Cameron Pluim 11
Alex Christensen 8
Brandon Peterson 6

Uploaded files must be in one of the following formats: zip rar jpg jpeg jpg2 gif png pdf fsm xls xlsx doc docx ppt pptx

Please no copyrighted material without author's permission!!
  
Navigation
Main | Category Tree | Stats
Downloads [Download Sample_PickPlaceOperatorsTravelThroughNetwork_TD]
File Name: Sample_PickPlaceOperatorsTravelThroughNetwork_TD (77.7 KB) Download
Author: Tom David)
Date Added: 12-15-2008
Downloads: 2357
Grade: Not Rated
Description
Sample_PickPlaceOperatorsTravelThroughNetworkAndPi ckPlaceSpecificItems_TD

Sample Example for Operators which travel through a network, pick or place specific items.
Pick-Items arrive in the SourcePick and put randomly into the queues (QueueOut). There an order is generated to pick this items. An Operator travels through the network and checks, if there are items he has to pick depending on his order list. After he checked at all modules he unloads all the items at the Sink.
Place-Items arrive at the Source Place and put into the QueuePlace. An Operator gets these items and places them in the queue (QueueIn) in the related Modules. From there the items are sent to the Sink.

Global Variable NumberOfPickOrders is the number of Orders which have to be in the tree node PickOrderQueue under Tools (content of this node) before an operator is sent to pick orders.
Global Variable NumberOfPlaceOrders is the number of Orders which have to be in the QueuePlace before an operator is sent to pick them up.

In the UserEventInit the tree node PickOrderQueue and PlaceOrderQueue is emptied on reset.

The SourcePick creates flowitems and put them randomly into the queues of the different modules. If an item arrives in a queue a PickOrder is generated and put into the PickOrderQueue (tree node under Tools). If the NumberOfPickOrders is reached an Operator gets a tasksequence (DispatcherPickOperators) to travel to the first network node. This is done in OnMessage of the DispatcherPickOperators.
The SourcePlace creates flowitems and put them in the QueuePlace. On Entry on this queue a message is send to the QueueIn in the Module to send a message to the module to create a Place Order in the PlaceOrderQueue (tree node under Tools). OnEntry also Pointers to the items are stored in the tree under labels WaitingItemPointer. These Pointers are used in the DispatcherPlaceOperators to identify the right items to load. In this way it is possible that more items than the NumberOfPlaceOrders can be in the QueuePlace.
If the NumberOfPlaceOrders is reached an Operator gets a tasksequence (DispatcherPlaceOperators) to travel to the QueuePlace and get the items. When the DispatcherPlaceOperators receives the message to create the tasksequence the Place Orders in the PlaceOrderQueue are transferred into the label PlaceOrderQueue of the DispatcherPlaceOperators. This is to prevent that that the tasksequence is created later again because there are still enough items in the queue. OnRessourceAvailabe (if an operator is available) the Place Orders are transferred from the DispatcherPlaceOperators to the Operator under his label PlaceOrderQueue.

The operator gets also the information from the PickOrderQueue under Tools into his own tree under PickOrderQueue at OnRessourceAvailable on object DispatcherOperators (command transfernodes()). This information is used to check if he needs to pick something from a specific module. OnReset this node is cleared.

If the Operator arrives at a network node of a Module (Visual Tool with QueueIn and QueueOut) it is checked (OnArrival), if the operator has to pick an item from this module (compare the name of the Module (written in a label on the NetworkNode at OnReset of the Module RelatedModuleName and RelatedModulePointer) and the name of the modules in his PickOrders where he is supposed to collect something.
If it is the case that he needs to collect something he loads the flow item and travels further through the network. If he does not need to pick anything he just travels further down the network. This is done with next(current) which means that the next network node needs to be the next one in the tree.
A similar checking is done if the operator has to place an item in the Module.
One additional thing is done on this operator. If a place operator loads items he writes a pointer for the loaded items into his labels tree in the label WaitingItemPointer. This Pointer is used on the NetworkNodes to the Modules in OnArrival to identify the right item for unload. If there are more items which have to be unloaded to this module and they are not in a row (sequence) in the operator they will not be unloaded. The use of this pointers prevents that something goes wrong. At OnReset on the place operator this label gets initialized.

Attention:
It is really important, that the NetworkNodes of the Modules are next to each other. There is also a NetworkNode NN_BeforeModules and NN_AfterModules which have special functionality and “frame” the NetworkNodes of the Modules.

The first NetworkNode before the Module NetworkNodes is the target for the first travel tasksequence and the operator is than just send to the first Module NetworkNode.
The first NetworkNode after the Module NetworkNodes OnArrival generates a tasksequence, that the operator (PickOperator travels to the Sink and unload all his items or that the operator (PlaceOperator) travels to the QueuePlace.


Attention:
Do not delete or rename the object Logo_FlexsimD, because otherwise the model will not work correctly. Also do not rename, delete or rerank other objects.

Path:
\userprojects\SampleModels

Files:
Sample_PickPlaceOperatorsTravelThroughNetworkAndPi ckPlaceSpecificItems_TD.fsm


Tom David
aka
tom the (A)tom

Flexsim Version: v5.02
Images
Tom David on 12-15-2008
Downloads [Download Sample_PickPlaceOperatorsTravelThroughNetwork_TD]


Comments

DownloadsII 5.1.2 by CyberRanger & Jelle
Based on ecDownloads 4.1 © Ronin

All times are GMT -6.
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.
Copyright 1993-2018 FlexSim Software Products, Inc.