<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Process flow - customize standard or inbuilt functionality of Queue in FlexSim Forum</title>
    <link>https://forums.autodesk.com/t5/flexsim-forum/process-flow-customize-standard-or-inbuilt-functionality-of/m-p/13544220#M50330</link>
    <description>&lt;P&gt;Hello Martin, thanks for the quick response. I have gone through both the models to understand the steps added by you. I have following queries:&lt;/P&gt;
&lt;P&gt;1. I am interested in using the current blank location on Loading_Station as the first unloading point. And keeping the pallets placement as it is, and reverse the sequence of pallets processing. i.e. the last location in current setup should become first and the vice versa.&lt;A id="8116" href="https://answers.flexsim.com/storage/temp/8116-location-picking-sequence.jpg"&gt;location-picking-sequence.jpg&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;2. In the first model 8078-parallel-station.fsm, when I run the simulation, the picking and placing of third and fourth pallet by robot shows a conflicting situation. The robot places finished third pallet on top of unprocessed pallet, and later picks the underneath pallet. Is there a way to restrict robot or Loading Station for picking up of the bottom layer part if there is already a top layer? Also, in this model under ItemList, I can see two expression fields 'Type' and 'age', what are there significance?&lt;/P&gt;
&lt;P&gt;3. For the second model 809-parallel-station.fsm, I liked the idea of having independent flows for item creation and machine logic. I can see the separate process control loop, which led to robot arm waiting for pallet over loading station. Through this model I am trying to replicate a flexible manufacturing machine consist of two machining centers and a manipulator arm, which transfer the pallets between loading station (sliding tray) and machining stations. So, once all the loaded pallets at loading center are processed, manipulator will retract to a safe location, machine will stop and then through a human intervention Loading Station will be pulled out to unload the finished pallet and load the fresh batch of pallets. Since, animating the operation of manipulator will be tedious, I used already available robot in FlexSim to replicate the functioning. So, I am trying to move the robotic arm through "Travel" activity to retract to a home (or safe) location when machining centers are processing parts on pallet or when processing of all the pallets are finished. But, as you can see this causing unusual movement of robotic arm when token pass through this activity during the loading or unloading. Is there a way to overcome this issue?&lt;/P&gt;</description>
    <pubDate>Thu, 17 Aug 2017 04:42:23 GMT</pubDate>
    <dc:creator>vivek_n</dc:creator>
    <dc:date>2017-08-17T04:42:23Z</dc:date>
    <item>
      <title>Process flow - customize standard or inbuilt functionality of Queue</title>
      <link>https://forums.autodesk.com/t5/flexsim-forum/process-flow-customize-standard-or-inbuilt-functionality-of/m-p/13544216#M50326</link>
      <description>&lt;P&gt;&lt;I&gt;[ FlexSim 17.1.2 ]&lt;/I&gt;&lt;/P&gt;&lt;P&gt;I need help with creating a similar loading pattern (attached jpg file - 22 pallets in 2 layers and 1 empty space for unloading) on Queue (Loading_Station) when simulation begins, and avoid the standard functionality of movement of pallet (objects/parts) on Queue. Robot should pick the available pallet for processing and place the completed pallet on empty location or on top of completed pallet.&lt;/P&gt;
&lt;P&gt;&lt;A id="8068" href="https://answers.flexsim.com/storage/attachments/8068-parallel-station.fsm"&gt;parallel-station.fsm&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://answers.flexsim.com/storage/attachments/8068-parallel-station.fsm"&gt;&lt;/A&gt;&lt;A id="8069" href="https://answers.flexsim.com/storage/attachments/8069-2.jpg"&gt;2.jpg&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 15 Aug 2017 07:57:12 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/flexsim-forum/process-flow-customize-standard-or-inbuilt-functionality-of/m-p/13544216#M50326</guid>
      <dc:creator>vivek_n</dc:creator>
      <dc:date>2017-08-15T07:57:12Z</dc:date>
    </item>
    <item>
      <title>Re: Process flow - customize standard or inbuilt functionality of Queue</title>
      <link>https://forums.autodesk.com/t5/flexsim-forum/process-flow-customize-standard-or-inbuilt-functionality-of/m-p/13544217#M50327</link>
      <description>&lt;P&gt;To do something like that I would use a floor storage rack instead of queues. In the attached example the Loading_Station Queue has been replaced with a rack with the Floor Storage property checked and the Place in bay &amp;amp; Place in Level triggers set to "First Available". The max Cell Content is set to 2 so there can be two stacked pallets in each cell for a Maximum Content of 24.  &lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="8075-parallestation.jpg"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1495816i2F9BD72CF7AF78EB/image-size/large?v=v2&amp;amp;px=999" role="button" title="8075-parallestation.jpg" alt="8075-parallestation.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;I have then created a global ItemList with a Cellcontent field that tells me how many pallets are in the current pallets cell, and a CellRank field that tells me the rank of the pallet in that cell. When a pallet enters the Loading_Station I have set the on entry trigger to push the pallet to my Items list. &lt;/P&gt;&lt;P&gt;The flow still creates 22 tokens and each of them creates a pallet, which is added to the rack and subsequently to the list. The token then continues to the process where it pulls a different pallet than it initially created from the list. The two fields help us choose the correct pallet rather than just a random one. We want a pallet on to of its cell and then the one beneath.&lt;/P&gt;&lt;P&gt;Finally I have added a SetLabels activity "Update Labels on Pallet" that will set the phase label to 2 to signify that the pallet has been processed. In the on entry trigger where I push the pallet to list I set the condition that pallet.phase != 2 to ensure that we dont reprocess finished pallets. &lt;/P&gt;&lt;P&gt;Please see the attached model: &lt;A id="8078" href="https://answers.flexsim.com/storage/attachments/8078-parallel-station.fsm"&gt;parallel-station.fsm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;Your flow structure is very direct and simple, but if I were to create this logic I might prefer to create two flows in my process Flow. One that creates the pallets and adds them to the rack, and a separate one for the robot control. A single flow with a single token that loops through the robots processes would give you more control. Rather than the flow being item focused, it would become process focused. &lt;/P&gt;</description>
      <pubDate>Tue, 15 Aug 2017 11:37:27 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/flexsim-forum/process-flow-customize-standard-or-inbuilt-functionality-of/m-p/13544217#M50327</guid>
      <dc:creator>MBJEBZSRG</dc:creator>
      <dc:date>2017-08-15T11:37:27Z</dc:date>
    </item>
    <item>
      <title>Re: Process flow - customize standard or inbuilt functionality of Queue</title>
      <link>https://forums.autodesk.com/t5/flexsim-forum/process-flow-customize-standard-or-inbuilt-functionality-of/m-p/13544218#M50328</link>
      <description>&lt;P&gt;Thank you Martin for a detailed solution. I am a newbie to FlexSim and learning it through online tutorials and "answers" forum. I liked your recommendation to create a model focused on process, could you elaborate it with an added example in the attached file?&lt;/P&gt;</description>
      <pubDate>Tue, 15 Aug 2017 15:40:16 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/flexsim-forum/process-flow-customize-standard-or-inbuilt-functionality-of/m-p/13544218#M50328</guid>
      <dc:creator>vivek_n</dc:creator>
      <dc:date>2017-08-15T15:40:16Z</dc:date>
    </item>
    <item>
      <title>Re: Process flow - customize standard or inbuilt functionality of Queue</title>
      <link>https://forums.autodesk.com/t5/flexsim-forum/process-flow-customize-standard-or-inbuilt-functionality-of/m-p/13544219#M50329</link>
      <description>&lt;P&gt;For me a process oriented approach is simply to look at the stages of the process you want to model, and make those function in separate flows rather than have one token representing an item run through your whole model. The processes are viewed and designed through the perspective of the processing unit rather than the product. &lt;/P&gt;&lt;P&gt;So if you create a flow item and it arrives at a process it triggers a flow that handles that flow item and then passes it on, just like a processer would if you were to model it without Process Flow. This will often give you much greater control over your process and item flow, and using Wait For Event and Synchronization activities, there is no reason you cant have a token following your flow item through your plant if you really want to.&lt;/P&gt;&lt;P&gt;In the attached model &lt;A id="8090" href="https://answers.flexsim.com/storage/temp/8090-parallel-station-process.fsm"&gt;parallel-station-process.fsm&lt;/A&gt; , I have split the flows using the push to list activity. The initialization flow simply creates the flowitems and puts them in Loading_Station and then pushes the items to the list. Notice that the push to list pushes the token.pallet to the list, not the token it self. After flow item creation the tokens could just go into a sink, or you can have them move on to other tasks if it makes sense, but generally it should now be the flowitems that are triggering the processes not the tokens. &lt;/P&gt;&lt;P&gt;The robot control loop then attempts to Get Pallet using a Pull From List activity. If there are no pallets, the process simply waits until one is available. It then tests to see if a station is available, if it is, it initiates a robot-processing sequence. If not, the loop waits until a station is available. Often the robot process would be in its own separate Fixed Resource or Task Executer - Process Flow, but this model illustrates the point. &lt;/P&gt;</description>
      <pubDate>Wed, 16 Aug 2017 07:09:58 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/flexsim-forum/process-flow-customize-standard-or-inbuilt-functionality-of/m-p/13544219#M50329</guid>
      <dc:creator>MBJEBZSRG</dc:creator>
      <dc:date>2017-08-16T07:09:58Z</dc:date>
    </item>
    <item>
      <title>Re: Process flow - customize standard or inbuilt functionality of Queue</title>
      <link>https://forums.autodesk.com/t5/flexsim-forum/process-flow-customize-standard-or-inbuilt-functionality-of/m-p/13544220#M50330</link>
      <description>&lt;P&gt;Hello Martin, thanks for the quick response. I have gone through both the models to understand the steps added by you. I have following queries:&lt;/P&gt;
&lt;P&gt;1. I am interested in using the current blank location on Loading_Station as the first unloading point. And keeping the pallets placement as it is, and reverse the sequence of pallets processing. i.e. the last location in current setup should become first and the vice versa.&lt;A id="8116" href="https://answers.flexsim.com/storage/temp/8116-location-picking-sequence.jpg"&gt;location-picking-sequence.jpg&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;2. In the first model 8078-parallel-station.fsm, when I run the simulation, the picking and placing of third and fourth pallet by robot shows a conflicting situation. The robot places finished third pallet on top of unprocessed pallet, and later picks the underneath pallet. Is there a way to restrict robot or Loading Station for picking up of the bottom layer part if there is already a top layer? Also, in this model under ItemList, I can see two expression fields 'Type' and 'age', what are there significance?&lt;/P&gt;
&lt;P&gt;3. For the second model 809-parallel-station.fsm, I liked the idea of having independent flows for item creation and machine logic. I can see the separate process control loop, which led to robot arm waiting for pallet over loading station. Through this model I am trying to replicate a flexible manufacturing machine consist of two machining centers and a manipulator arm, which transfer the pallets between loading station (sliding tray) and machining stations. So, once all the loaded pallets at loading center are processed, manipulator will retract to a safe location, machine will stop and then through a human intervention Loading Station will be pulled out to unload the finished pallet and load the fresh batch of pallets. Since, animating the operation of manipulator will be tedious, I used already available robot in FlexSim to replicate the functioning. So, I am trying to move the robotic arm through "Travel" activity to retract to a home (or safe) location when machining centers are processing parts on pallet or when processing of all the pallets are finished. But, as you can see this causing unusual movement of robotic arm when token pass through this activity during the loading or unloading. Is there a way to overcome this issue?&lt;/P&gt;</description>
      <pubDate>Thu, 17 Aug 2017 04:42:23 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/flexsim-forum/process-flow-customize-standard-or-inbuilt-functionality-of/m-p/13544220#M50330</guid>
      <dc:creator>vivek_n</dc:creator>
      <dc:date>2017-08-17T04:42:23Z</dc:date>
    </item>
    <item>
      <title>Re: Process flow - customize standard or inbuilt functionality of Queue</title>
      <link>https://forums.autodesk.com/t5/flexsim-forum/process-flow-customize-standard-or-inbuilt-functionality-of/m-p/13544221#M50331</link>
      <description>&lt;P&gt;Hi Vivek, you are getting into some slightly advanced topics, and I don't have the time to construct a full example right now but I will answer to the best of my abilities. &lt;/P&gt;&lt;P&gt;1. In order to use the last blank space you will need more control over where the rack places its objects rather than first available bay and level. If you instead change the Bay and level triggers to return token.Bay and return token.Level, you can now control what level and bay you want it to place the pallet from your flow by setting these labels on the pallet before moving it into the rack. &lt;/P&gt;&lt;P&gt;The same thing now goes for the robot when it has to unload a pallet to the rack. Simply calculate what bay and level it should place the pallet in and set those values as labels on the pallet first. &lt;/P&gt;&lt;P&gt;2. Conflicts occur because the first available logic is insufficient. Use the method above to gain full control over the process. &lt;/P&gt;&lt;P&gt;In order to keep the robot from selecting the wrong pallets you need to ensure that the right pallet is chosen form the List. I have added a Bay and Level fields to the list to give more specific control. Your list query might be something like "WHERE Bay = Puller.BayNum AND Level = Pulle.Level ORDER BY Cellcontent ASC". In this way you would get more specific control over what pallet you would pull.  The Puller is the token in the control loop, so you need to calculate the pallet bay and level and put that in labels on that token. &lt;/P&gt;&lt;P&gt;The Type and Age have no significance, they are simply defaults when making an item list. &lt;/P&gt;&lt;P&gt;3. The easiest way I have found to move objects around like you are suggesting is to put them inside another task executer. In the attached model I have taken an operator(Mover) and changed his shape to be a box and the placed a copy of the robot arm inside. In the TaskExecuter tab of the Mover i have unchecked "rotate while traveling" and set the speed and acceleration parameters a bit lower. I also added a reset trigger to return it to the right position. Now I have a slab that I can move with the task executer activities. See the attached model.&lt;/P&gt;&lt;P&gt;To get more specific control over the robot arm I would alter or even combine the process control loop and the robot logic to ensure that It was doing exactly what I wanted in the right order. If nothing else I would make the robot perform a long double sequence where it first picked up one pallet for process and then another, then waited until the second pallet was done before placing it in a specific rack-cell with its partner on top. Rinse and Repeat. &lt;/P&gt;&lt;P&gt;If you wanted the operator to carry off the tray of pallets I suppose you could try to make a container flow item that was a rack - though I dont know how that would work. But that should allow an operator to pick up the tray. &lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;U&gt;&lt;/U&gt;&lt;SUB&gt;&lt;/SUB&gt;&lt;SUP&gt;&lt;/SUP&gt;&lt;DEL&gt;&lt;/DEL&gt;&lt;A id="8118" href="https://answers.flexsim.com/storage/temp/8118-parallel-station-process.fsm"&gt;parallel-station-process.fsm&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 17 Aug 2017 07:43:17 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/flexsim-forum/process-flow-customize-standard-or-inbuilt-functionality-of/m-p/13544221#M50331</guid>
      <dc:creator>MBJEBZSRG</dc:creator>
      <dc:date>2017-08-17T07:43:17Z</dc:date>
    </item>
  </channel>
</rss>

