Machine Controller

class ontologysim.ProductionSimulation.controller.machine_controller.MachineController.MachineController

Bases: object

the main class for the machine controller

addControllerDict(controller_dict)

only used for Hybrid controller, allowes the use of multiple machine controller

Parameters:

controller_dict – dictionary with python_classes

evaluateMachine(event_onto)

entry point into the machine controller

Parameters:

event_onto

find_suitable_merge_product(product_erg_list, current_index, combine_input_list)

TODO currently not needed :param product_erg_list: :param current_index: :param combine_input_list: :return:

selectOutputQueue(machineInstance, old_position_onto)

an output queue n of the machine is determined

Parameters:
  • machineInstance – onto

  • old_position_onto – onto

Returns:

sort_products(machine_onto)

output of all products in the machine queue in the machine controller class, the output is randomly scheduled

Parameters:

machine_onto

Returns:

[[product_onto,time (int)]]

Machine Controller EDD

class ontologysim.ProductionSimulation.controller.machine_controller.MachineController_EDD.MachineController_EDD

Bases: MachineController

EDD= Earlist Due Date, since there is currently no due date, the start time is used for the production of the part

sort_products(machine_onto)

output of all products in the machine queue, scheduled after EDD

Parameters:

machine_onto

Returns:

Machine Controller FIFO

class ontologysim.ProductionSimulation.controller.machine_controller.MachineController_FIFO.MachineController_FIFO

Bases: MachineController

FIFO=First in First out, maschine controller based on FIFO (longest waiting time in queue)

sort_products(machine_onto)

output of all products in the machine queue, scheduled after FIFO

Parameters:

machine_onto

Returns:

Machine Controller Hybrid

class ontologysim.ProductionSimulation.controller.machine_controller.MachineController_Hybrid.MachineController_Hybrid

Bases: MachineController

the hybrid controller makes it possible to combine several machine controllers

addControllerDict(controller_dict)

adding multiple controller

Parameters:

controller_dict – {Python class:int [0:1]}

sort_products(machine_onto)

uses all defined controllers in the dictionaries and determines an optimal sequence

Parameters:

machine_onto

Returns:

Machine Controller LIFO

class ontologysim.ProductionSimulation.controller.machine_controller.MachineController_LIFO.MachineController_LIFO

Bases: MachineController

LIFO =Last in First out, maschine controller based on LIFO (shortest waiting time in queue)

sort_products(machine_onto)

output of all products in the machine queue, scheduled after LIFO

Parameters:

machine_onto

Returns: