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 > FlexSim Software > Q&A
Downloads

Q&A Using Flexsim and building models

  #1  
Old 02-27-2009
Derrick Serbonich Derrick Serbonich is offline
Flexsim User
 
Join Date: Nov 2008
Location: Binghamton, NY
Posts: 11
Downloads: 18
Uploads: 0
Thanks: 7
Thanked 0 Times in 0 Posts
Rep Power: 139
Derrick Serbonich is on a distinguished road
Default Rework on line

Hi all,

I have been asking some questions lately and have been getting the answers I need. Thank you. But I have another question.

I am modeling an assembly line in which every processor works to the same takt time. When a part fails an inspection on the line, the line is shut down until the problem is corrected. Parts will pass 99% of the time but when it fails the line will be shut down until corrected at the station. I am not sure how to model the 1% failure and the line stopping for a certain amount of time. I am going to use (min, Max, and average) to show the time taken to correct the problem. Thanks again for your help.

Derrick
  #2  
Old 02-28-2009
Jörg Vogel's Avatar
Jörg Vogel Jörg Vogel is offline
Flexsim User
 
Join Date: Sep 2007
Location: Hannover, Germany
Posts: 643
Downloads: 35
Uploads: 0
Thanks: 802
Thanked 665 Times in 410 Posts
Rep Power: 642
Jörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond repute
Smile

Hi Derrick,

to stop all processors in the line add a stopobject command in the down function at mtbf/mttr-Tools for every processor. Resumeobject() must be set also for every processor at the resume function. For every processor and mtbf/mttr-function I use a unique id-parameter.
If you have the inspection process at every processor, you need a mtbf/mttr for every processor of the line. The right parameters is some try and error for your 1% demand. You can start with constant expressions for first failure, mtbf and mttr. later you can use the duniform or any other statistical distributions for mtbf.

Jörg
The Following User Says Thank You to Jörg Vogel For This Useful Post:
Derrick Serbonich (03-02-2009)
  #3  
Old 03-02-2009
Brandon Peterson's Avatar
Brandon Peterson Brandon Peterson is offline
The Flexsim Consultant
 
Join Date: Jul 2007
Location: Salt Lake City, Utah
Posts: 382
Downloads: 29
Uploads: 6
Thanks: 192
Thanked 516 Times in 235 Posts
Rep Power: 490
Brandon Peterson has a brilliant futureBrandon Peterson has a brilliant futureBrandon Peterson has a brilliant futureBrandon Peterson has a brilliant futureBrandon Peterson has a brilliant futureBrandon Peterson has a brilliant futureBrandon Peterson has a brilliant futureBrandon Peterson has a brilliant futureBrandon Peterson has a brilliant futureBrandon Peterson has a brilliant futureBrandon Peterson has a brilliant future
Default

Derrick,

You will want to use the bernoulli() stochastic function. It is a function that you put in the pass percent and then it returns a value you specify based on whether the random variable is above or below the pass value.

You will then want to use the stopobject code that Jorg mentioned in his post to stop the processors in the line.

I assume that this will be code that you will put in the on process finish trigger. Where you will do the check and then if fail stop the line. You can send a delayed message to the processor that will resume the line.

The one thing you will want to be careful of is that you don't send the message and then call stopobject on the object you sent the message to as this will cause the message to never get through. Make sure that you call stopobject and then send the message, this way the stopobject command has already occured and can't delay the message.

Good Luck,
Brandon
__________________
thats not normal.
The Following User Says Thank You to Brandon Peterson For This Useful Post:
Derrick Serbonich (03-02-2009)
  #4  
Old 03-02-2009
Derrick Serbonich Derrick Serbonich is offline
Flexsim User
 
Join Date: Nov 2008
Location: Binghamton, NY
Posts: 11
Downloads: 18
Uploads: 0
Thanks: 7
Thanked 0 Times in 0 Posts
Rep Power: 139
Derrick Serbonich is on a distinguished road
Default

Am i correct in thinking that the Bernoulli function will get me the 1% failure? How does the Bernoulli function work? Is the probability the prob of failing or passing? Will the time for first failure and MTBF be the same using the Bernoulli function? For stopping the line do I just use Stop Object with an Id of 1 and to resume use Resume Object with an Id of 1 also? Also if you have time a quick example showing what the MTBF/MTTR would look like for 6 processors would be good. Thanks.

Derrick
  #5  
Old 03-02-2009
Phil BoBo's Avatar
Phil BoBo Phil BoBo is offline
Flexsim Development
 
Join Date: Jan 2008
Posts: 756
Downloads: 109
Uploads: 18
Thanks: 385
Thanked 1,483 Times in 525 Posts
Rep Power: 1174
Phil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond repute
Default

Attached is a model that shows you how to follow Brandon's suggestion.

It uses a global variable treenode array called ProcessorLine to reference each of the processors.

It uses two user commands called stopprocessorline() and resumeprocessorline() that loop through the array and call stopobject() or resumeobject() on each of the processors respectively.

The OnProcessFinish of each processor uses a bernoulli distribution to make a 1% chance that the part will breakdown. The mttr is also defined there. It sends a delayed message to itself after stopping the line to resume; the delay time of this message is the mttr.

It is pretty straightforward how this model works. Hopefully you can customize this example logic in your own model to make it behave as desired.

Global variables and user commands can both be found in the main Tools menu.
Attached Files
File Type: zip rework.zip (37.5 KB, 267 views)
The Following 2 Users Say Thank You to Phil BoBo For This Useful Post:
Derrick Serbonich (03-02-2009)
  #6  
Old 03-04-2009
Jason Lightfoot Jason Lightfoot is offline
Flexsim Consultant
 
Join Date: Aug 2007
Location: Somerset, UK
Posts: 719
Downloads: 20
Uploads: 0
Thanks: 123
Thanked 953 Times in 446 Posts
Rep Power: 773
Jason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond repute
Default

Same technique but using port connections and downstream/upstream flags instead of the array. Assumes you want a whole line to stop downstream, upstream or both. Added the state, id and priority. Example passes the triggering processor as the id - useful for tracing stops.

Jason

(beware not to use this on a looped system!)
Attached Files
File Type: zip rework2.zip (75.5 KB, 246 views)
The Following 2 Users Say Thank You to Jason Lightfoot For This Useful Post:
Lars-Olof Leven (03-04-2009)
  #7  
Old 03-11-2009
Derrick Serbonich Derrick Serbonich is offline
Flexsim User
 
Join Date: Nov 2008
Location: Binghamton, NY
Posts: 11
Downloads: 18
Uploads: 0
Thanks: 7
Thanked 0 Times in 0 Posts
Rep Power: 139
Derrick Serbonich is on a distinguished road
Default

The model that Phil made called Rework is what i am looking for. I understand the code but i have an older version of Flexsim than the one used to create that model. I can not use the line stopprocessorline/resumeprocessorline. I have been trying to use stopobject but can't figure out how it is supposed to work with a MTBF/MTTR table. Is there anything i can do to get my model to do exactly what his does with the older version?


Thread Thread Starter Forum Replies Last Post
Cashier line ups Davie Stomp Q&A 6 11-29-2007 01:24 AM
Flickering yellow line during drag connections in Vista Dr. Eamonn Lavery Q&A 0 11-09-2007 10:48 PM


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.