def create_routing(env, first_step='op26'):

    tasks = {
        'op26': {
            'location': env['assembly_bench'],
            'worker': env['assembler'],
            'manned': True,
            'setup_time': 0.3,
            'run_time': 2.81,
            'teardown_time': 0.16,
            'route_to': 'op27'
        },
        'op27': {
            'location': env['assembly_bench'],
            'worker': env['assembler'],
            'manned': True,
            'setup_time': 0.14,
            'run_time': 1.91,
            'teardown_time': 0,
            'route_to': 'op28'
        },
        'op28':
        misc_tools.make_quality_step(env=env,
                                     run_time=75,
                                     route_to=env['section_C_kanban'],
                                     transit_time=0),
    }

    return misc_tools.make_steps(first_step=first_step, tasks=tasks)
def create_routing(env, first_step='move18'):

    tasks = {
        # I added this move step in to create a place for the horn antenna to arrive
        # but do we need to take out to stay true to the Excel doc?
        'move18': {
            'location': env['forklift'],
            # is this the right location to have the move take place from?
            'worker': env['production_control'],
            'manned': True,
            'setup_time': 0,
            'run_time': .1,
            'teardown_time': 0,
            'transit_time': 0,
            'route_to': 'op18'
        },
        'op18': {
            'location': env['assembly_bench'],
            'worker': env['assembler'],
            'manned': True,
            'setup_time': 0.66,
            'run_time': 3.61,
            'teardown_time': 0.61,
            'transit_time': 0,
            'route_to': 'op19'
        },
        'op19':
        misc_tools.make_quality_step(
            env=env,
            run_time=0.2,
            route_to='op20',
            transit_time=0,
        ),
        'op20': {
            'location': env['MOD_FEEDASSY_PAT'],
            'worker': env['technician'],
            'manned': True,
            'setup_time': 0.5,
            'run_time': 0.5,
            'teardown_time': 0.5,
            'transit_time': 0,
            'yield': 0.9423,
            'route_to_fail': 'op20_debug',
            'route_to_pass': env['horn_antenna_kanban']
        },
        'op20_debug': {
            'location': env['MOD_FEEDASSY_PAT'],
            'worker': env['technician'],
            'manned': True,
            'setup_time': 0,
            'run_time': random.uniform(a=60, b=200),
            'teardown_time': 0,
            'transit_time': 0,
            'route_to': env['horn_antenna_kanban']
        }
    }
    return misc_tools.make_steps(first_step=first_step, tasks=tasks)
Exemple #3
0
def create_routing(env, first_step='move5'):

    ## if you have a problem with one of the values,
    ## just update outside of the tasks dictionary for now
    tasks = {
        'move5': {
            'location': env['forklift'],  #previously 'OPTX_storage'
            'worker': env['production_control'],
            'manned': True,
            'setup_time': 0,
            'run_time': 1,
            'teardown_time': 0,
            'transit_time': 0,
            'route_to': 'op5'
        },
        'op5':
        misc_tools.make_quality_step(env=env,
                                     run_time=1,
                                     route_to='op7',
                                     transit_time=0),
        'op7': {
            'location': env['assembly_bench'],
            'worker': env['assembler'],
            'manned': True,
            'setup_time': 0,
            'run_time': 7.6455,
            'teardown_time': 0,
            'transit_time': 0,
            'route_to': 'op8'
        },
        'op8': {
            # is this even the right location and worker combination? Check!
            'location': env['assembly_bench'],
            'worker': env['technician'],
            # this step is an unmanned step --> update appropriately!!
            'manned': False,
            'setup_time': 0,
            'run_time': 1,
            'teardown_time': 0,
            'transit_time': 0,
            'route_to': 'op9'
        },
        'op9': {
            'location': env['OPTX_CTI'],
            'worker': env['technician'],
            'manned': True,
            'setup_time': 5,
            'run_time': 5,
            'teardown_time': 1,
            'transit_time': 0,
            'route_to': env['OPTX_kanban']
        }
    }
    return misc_tools.make_steps(first_step=first_step, tasks=tasks)
Exemple #4
0
def create_routing(env, first_step='op5'):


## if you have a problem with one of the values,
## just update outside of the tasks dictionary for now
	tasks = {
	
		# note: op5 has move time, but this has not been allocated
		# to the PC yet, it is all done by quality controller
        'op5': misc_tools.make_quality_step(
        	env=env,
        	run_time=1,
        	route_to='op7'
        	)
        'op7': {
        	'location': env['assembly_bench'],
        	'worker': env['assembler'],
        	'manned': True,
        	'setup_time': 0,
        	'run_time': 7.6455,
        	'teardown_time': 0,
        	'transit_time': 0,
        	'route_to': 'op8'
        }
        'op8': {
        	'location': env['common_process'],
        	'worker': env['technician'],
            # this step is an unmanned step --> update appropriately!!
        	'manned': True,
        	'setup_time': 0,
        	'run_time': 1,
        	'teardown_time': 0,
        	'transit_time': 0,
        	'route_to': 'op9'
        }
        'op9': {
        	'location': env['common_process'],
        	'worker': env['technician'],
        	'manned': True,
        	'setup_time': 5,
        	'run_time': 5,
        	'teardown_time': 1,
        	'transit_time': 0,
        	'route_to': env['optx_kanban']
        }
        
	    
    }
Exemple #5
0
def create_routing(env, first_step='move1'):

    tasks = {
        'move1': {
            'location': env['forklift'],  #was env['multiplexer_storage']
            'worker': env['production_control'],
            'manned': True,
            'setup_time': 0,
            'run_time': 0.012,
            'teardown_time': 0,
            'transit_time': 0,
            'route_to': 'op1'
        },
        'op1':
        misc_tools.make_assembly_step(env=env, run_time=3.79, route_to='op2'),
        'op2':
        misc_tools.make_quality_step(env=env,
                                     run_time=0.2,
                                     route_to='op3',
                                     transit_time=0),
        'op3': {
            'location': env['VSWR_CTI'],
            'worker': env['technician'],
            'manned': True,
            'setup_time': 0.09,
            'run_time': 1.24,
            'teardown_time': 0.07,
            'transit_time': 0,
            'yield': 0.99,
            'route_to_pass': env['multiplexer_kanban'],
            'route_to_fail': 'op4'
        },
        'op4': {
            'location': env['VSWR_CTI_DBG'],
            'worker': env['technician'],
            'manned': True,
            'setup_time': 0.5,
            'run_time': random.uniform(a=60, b=120),
            'teardown_time': 0.5,
            'transit_time': 0,
            'route_to': env['multiplexer_kanban']
        }
    }
    tasks['op1']['teardown_time'] = 0.14
    tasks['op1']['setup_time'] = 0.21

    return misc_tools.make_steps(first_step=first_step, tasks=tasks)
def create_routing(env, first_step='op1'):

    tasks = {
        'op1': {
            'location': env['assembly_bench'],
            'worker': env['assembler'],
            'manned': manned,
            'setup_time': 0.21,
            'run_time': 3.79,
            'teardown_time': 0.14,
            'transit_time': 0.012,
            'route_to': 'op2'
        },
        'op2':
        misc_tools.make_quality_step(env=env,
                                     run_time=0.2,
                                     route_to='op3',
                                     transit_time=0),
        'op3': {
            'location': env['machine'],
            'worker': env['technician'],
            'manned': True,
            'setup_time': 0.09,
            'run)time': 1.24,
            'teardown_time': 0.07,
            'transit_time': 0,
            'yeild': 0.99,
            'route_to_pass': env['multiplexer_attempt_kanban'],
            #'route_to_fail': 'rework'
        }
        #'rework': {
        #	'location': env['assembly_bench'],
        #	'worker': env['']
        # I just want to make this pause the entire system when
        # something needs to be debugged... is that reasonable?
        #}
    }

    return misc_tools.make_steps(first_step=first_step, tasks=tasks)
def create_routing(env, first_step='move34'):

    tasks = {
        'move34': {
            'location': env['section_D_kanban'],
            # is this the right location to have the move take place from?
            'worker': env['production_control'],
            'manned': True,
            'setup_time': 0,
            'run_time': 0.06,
            'teardown_time': 0,
            'transit_time': 0,
            'route_to': 'op34'
        },
        'op34': {
            'location': env['assembly_bench'],
            # make sure that this assembly bench is the same place that the next move picks up from!!
            'worker': env['assembler'],
            'manned': True,
            'setup_time': 0.05,
            'run_time': 0.55,
            'teardown_time': 0.05,
            'route_to': 'op35'
        },
        'op35': {
            'location': env['RF_Fit_Test'],
            'worker': env['technician'],
            'manned': True,
            'setup_time': 0.26,
            'run_time': 1.3,
            'teardown_time': 0.16,
            'transit_time': 0,
            'yield': 94.23,
            'route_to_pass': '******',
            'route_to_fail': 'op35_debug'
        },
        'op35_debug': {
            'location': env['RF_Fit_Test'],
            'worker': env['technician'],
            'manned': True,
            'setup_time': 0,
            'run_time': 30,
            'teardown_time': 0,
            'transit_time': 0,
            'route_to_': 'move36',
        },
        'move36': {
            'location': env['RF_Fit_Test'],
            # is this the right location to have the move take place from?
            'worker': env['production_control'],
            'manned': True,
            'setup_time': 0,
            'run_time': 1,
            'teardown_time': 0,
            'transit_time': 0,
            'route_to': 'op36'
        },

        ## op36 is supposed to have a batch size of 8: how do you accommodate that?
        ## build it out into its own special step and have a bom for it?
        'op36': {
            'location': env['RF_CFG'],
            'worker': env['technician'],
            'manned': True,
            'setup_time': 2,
            'run_time': 5,
            'teardown_time': 2,
            'route_to': 'op37'
        },
        'op37':
        misc_tools.make_quality_step(env=env,
                                     run_time=5,
                                     route_to=env['FLT4_storage'],
                                     transit_time=0)
    }

    return misc_tools.make_steps(first_step=first_step, tasks=tasks)
def create_routing(env, first_step='move15'):
    tasks = {
        'move15': {
            'location': env['forklift'],  #formerly splitter storage
            # is this the right location to have the move take place from?
            'worker': env['production_control'],
            'manned': True,
            'setup_time': 0,
            'run_time': 1,
            'teardown_time': 0,
            'transit_time': 0,
            'route_to': 'op15'
        },
        'op15': {
            'location': env['assembly_bench'],
            'worker': env['assembler'],
            'manned': True,
            'setup_time': 1,
            'run_time': 5,
            'teardown_time': 1,
            'transit_time': 1,
            'route_to': 'move16'
        },
        'move16': {
            'location': env['assembly_bench'],
            # is this the right location to have the move take place from?
            'worker': env['production_control'],
            'manned': True,
            'setup_time': 0,
            'run_time': 1,
            'teardown_time': 0,
            'transit_time': 0,
            'route_to': 'op16'
        },
        'op16':
        misc_tools.make_quality_step(env=env,
                                     run_time=2,
                                     route_to='move17',
                                     transit_time=1),
        'move17': {
            'location': env['quality_bench'],
            # is this the right location to have the move take place from?
            'worker': env['production_control'],
            'manned': True,
            'setup_time': 0,
            'run_time': 1,
            'teardown_time': 0,
            'transit_time': 0,
            'route_to': 'op17'
        },
        'op17': {
            'location': env['VSWR_CTI'],
            'worker': env['technician'],
            'manned': True,
            'setup_time': 10,
            'run_time': 2,
            'teardown_time': 10,
            'transit_time': 1,
            'yield': 94.23,
            'route_to_pass': env['splitter_kanban'],
            'route_to_fail': 'op17_debug'
        },
        'op17_debug': {
            'location': env['VSWR_CTI'],
            'worker': env['technician'],
            'manned': True,
            'setup_time': 0,
            'run_time': random.uniform(a=60, b=200),
            'teardown_time': 0,
            'transit_time': 0,
            'route_to_': env['splitter_kanban'],
        },
    }

    return misc_tools.make_steps(first_step=first_step, tasks=tasks)