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)
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)
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'] } }
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)