EMO Klasse hinzugefügt. TODO: Bezeichnungen der Dicts in EMO(), HW() und EA() anpassen, wenn HW und EA überarbeitet wurde
This commit is contained in:
+78
-36
@@ -825,40 +825,7 @@ class Turm():
|
||||
return self._Mengen
|
||||
|
||||
|
||||
#EMO
|
||||
class EMO():
|
||||
montagezeiten = {
|
||||
"Schaltschrank_aufstellen": 6.0, #(h/St)
|
||||
"Unterverteiler_montieren": 3.0, #(h/St)
|
||||
"Pritsche_montieren_umbauen_demontieren": 6.0, #(m/h)
|
||||
"Pritsche_in_RSM_montieren": 21.0,
|
||||
"Motor_verdrahten_und_anschliessen": 0.9, #(h/Motor)
|
||||
"Tableau_befestigen_und_anschliessen": 1.0, #(h/St)
|
||||
"Schnittstelle_Flyer_Putzmaschine": 1.5, #(h/St)
|
||||
"Sensoren_montieren": 0.45, #(h/St)
|
||||
"Seilzugschalter_installieren": 4.0, #(h/St)
|
||||
"Blitzleuchte_installieren": 0.5, #(h/St)
|
||||
"Weiche_Stopper_anschliessen": 0.45, #(h/St)
|
||||
"Erdung": 0.5, #(h)
|
||||
}
|
||||
def __init__(self, anzahl:dict):
|
||||
#für jede Zeile (Eintrag im dict 'mengen') muss ein Wert übergeben werden, der aus den Klassen HW(), MG() oder EA() stammt
|
||||
mengen = {
|
||||
"Schaltschrank_aufstellen": 0,
|
||||
"Unterverteiler_montieren": 0,
|
||||
"Pritsche_montieren_umbauen_demontieren": 0,
|
||||
"Pritsche_in_RSM_montieren": 0,
|
||||
"Motor_verdrahten_und_anschliessen": 0,
|
||||
"Tableau_befestigen_und_anschliessen": 0,
|
||||
"Schnittstelle_Flyer_Putzmaschine": 0,
|
||||
"Sensoren_montieren": 0,
|
||||
"Seilzugschalter_installieren": 0,
|
||||
"Blitzleuchte_installieren": 0,
|
||||
"Weiche_Stopper_anschliessen": 0,
|
||||
"Erdung": 0,
|
||||
}
|
||||
self._Mengen = {} #TODO: Formeln...
|
||||
print(self._Mengen)
|
||||
|
||||
|
||||
|
||||
class EA():
|
||||
@@ -1323,6 +1290,69 @@ class Dienstleistung():
|
||||
def stunden_elektro_Landsberg(self):
|
||||
return self.Pflichtenheft_Autom_Schnittstellen + self.Hardwareplan_Erstellung_Steuerungslayout + self.Schaltplanerstellung_incl_Korrekturen + self.Projektkoordination + self.Materialdisposition + self.Abstimmung_mit_E_Werkstatt + self.Erstellen_E_Montageunterlagen + self.PC_Installation + self.Oberfläche_Simulation + self.SPS_Test_im_Haus_Simulation + self.Bedienerhandbuch + self.SPS_Doku + self.PC_Doku
|
||||
|
||||
#EMO
|
||||
class EMO():
|
||||
montagezeiten = {
|
||||
"Schaltschrank_aufstellen": 6.0, #(h/St)
|
||||
"Unterverteiler_montieren": 3.0, #(h/St)
|
||||
"Pritsche_montieren_umbauen_demontieren": 6.0, #(m/h)
|
||||
"Pritsche_in_RSM_montieren": 21.0,
|
||||
"Motor_verdrahten_und_anschliessen": 0.9, #(h/Motor)
|
||||
"Tableau_befestigen_und_anschliessen": 1.0, #(h/St)
|
||||
"Schnittstelle_Flyer_Putzmaschine": 1.5, #(h/St)
|
||||
"Sensoren_montieren": 0.45, #(h/St)
|
||||
"Seilzugschalter_installieren": 4.0, #(h/St)
|
||||
"Blitzleuchte_installieren": 0.5, #(h/St)
|
||||
"Weiche_Stopper_anschliessen": 0.45, #(h/St)
|
||||
"Erdung": 0.5, #(h)
|
||||
}
|
||||
def __init__(self, ea: type[EA], hw: type[HW], mg: type[MG]):
|
||||
#für jede Zeile (Eintrag im dict 'mengen') muss ein Wert übergeben werden, der aus den Klassen HW(), MG() oder EA() stammt
|
||||
mengen = {
|
||||
"Schaltschrank_aufstellen": 0,
|
||||
"Unterverteiler_montieren": 0,
|
||||
"Pritsche_montieren_umbauen_demontieren": 0,
|
||||
"Pritsche_in_RSM_montieren": 0,
|
||||
"Motor_verdrahten_und_anschliessen": 0,
|
||||
"Tableau_befestigen_und_anschliessen": 0,
|
||||
"Schnittstelle_Flyer_Putzmaschine": 0,
|
||||
"Sensoren_montieren": 0,
|
||||
"Seilzugschalter_installieren": 0,
|
||||
"Blitzleuchte_installieren": 0,
|
||||
"Weiche_Stopper_anschliessen": 0,
|
||||
"Erdung": 0,
|
||||
}
|
||||
self._Mengen = {} #TODO: Namensgebung für dict Keys aus HW() und EA() anpassen, wenn Klassen fertiggestellt sind
|
||||
self._Mengen["Schaltschrank_aufstellen"] = self.montagezeiten.get("Schaltschrank_aufstellen", 0) * (hw.anzahl("schaltschrank_und_zubehör_b_1_800") +\
|
||||
hw.anzahl("schaltschrank_und_zubehör_b_2_800") +\
|
||||
hw.anzahl("schaltschrank_und_zubehör_b_1_1200_1_800"))
|
||||
self._Mengen["Unterverteiler_montieren"] = math.ceil(self.montagezeiten.get("Unterverteiler_montieren", 0) * hw.anzahl("75_m_Zuleitung_Unterverteiler_4x4_400VAC"))
|
||||
self._Mengen["Pritsche_montieren_umbauen_demontieren"] = math.ceil(hw.anzahl("kabelpritschen_leitern_200_60")/self.montagezeiten.get("Pritsche_montieren_umbauen_demontieren", 0))
|
||||
self._Mengen["Pritsche_in_RSM_montieren"] = math.ceil(hw.anzahl("kabelpritsche_rsm_100_60")/self.montagezeiten.get("Pritsche_in_RSM_montieren", 0))
|
||||
|
||||
self._Mengen["Motor_verdrahten_und_anschliessen"] = self.montagezeiten.get("Motor_verdrahten_und_anschliessen", 0) * mg.zusammenfassung().get("Gesamtanzahl_Antriebe",0)
|
||||
self._Mengen["Tableau_befestigen_und_anschliessen"] = self.montagezeiten.get("Tableau_befestigen_und_anschliessen", 0) * (
|
||||
hw.anzahl("Bedienstation_1fach") +\
|
||||
hw.anzahl("Bedienst_2fach_DIR") +\
|
||||
hw.anzahl("Bedienstation_2") +\
|
||||
hw.anzahl("Bedienstation_3") +\
|
||||
hw.anzahl("Bedienstation_4") +\
|
||||
hw.anzahl("Bedienstation_10") +\
|
||||
hw.anzahl("Drucktaster_autom_Umfahrung"))
|
||||
|
||||
self._Mengen["Schnittstelle_Flyer_Putzmaschine"] = self.montagezeiten.get("Schnittstelle_Flyer_Putzmaschine", 0) * (ea.anzahl("Schnittstelle_Flyer_EJet") +\
|
||||
ea.anzahl("Schnittstelle_Putzmaschine_EJet") +\
|
||||
ea.anzahl("Schnittstelle_Putzmaschine_Neuenhauser"))
|
||||
#TODO: "Schnittstelle_Flyer_Putzmaschine" Werte aus Mengengerüst Fragwürdig; EAs!B53 keine Formel hinterlegt
|
||||
|
||||
self._Mengen["Sensoren_montieren"] = math.ceil(self.montagezeiten.get("Sensoren_montieren", 0) * hw.anzahl("sensorkabel_je_20m"))
|
||||
self._Mengen["Seilzugschalter_installieren"] = math.ceil(self.montagezeiten.get("Seilzugschalter_installieren", 0) * ea.anzahl("Seilzugschalter"))
|
||||
self._Mengen["Blitzleuchte_installieren"] = math.ceil(self.montagezeiten.get("Blitzleuchte_installieren", 0) * ea.anzahl("Blitzleuchte_Stoerung"))
|
||||
self._Mengen["Weiche_Stopper_anschliessen"] = math.ceil(self.montagezeiten.get("Weiche_Stopper_anschliessen", 0) * ea.anzahl("stopper_weichenkabel_je_5m"))
|
||||
self._Mengen["Erdung"] = math.ceil(self.montagezeiten.get("Erdung", 0) * hw.anzahl("75_m_Zuleitung_Unterverteiler_4x4_400VAC"))
|
||||
|
||||
print(self._Mengen)
|
||||
|
||||
class calc_main_tab():
|
||||
|
||||
# Stundensätze
|
||||
@@ -2453,9 +2483,21 @@ if __name__ == '__main__':
|
||||
"RA_bi_ohne_SPS_Korrektur":0,
|
||||
#"Bedientableau_2-fach":0,
|
||||
}
|
||||
#mg = MG(Anzahl_MG, rsm_direct_eingabe, rsm_fa_eingabe, flyer_f40_eingabe, neuenhauser_eingabe, flyer_eingabe, verbindungsstrecken_w_eingabe, puffer_eingabe, turm_eingabe)
|
||||
mg = MG(Anzahl_MG, rsm_direct_eingabe, rsm_fa_eingabe, flyer_f40_eingabe, neuenhauser_eingabe, flyer_eingabe, verbindungsstrecken_w_eingabe, puffer_eingabe, turm_eingabe)
|
||||
#mg.tofile()
|
||||
#mg.ztofile()
|
||||
Anzahl_EAS = {
|
||||
"bedienstation_einfach_Zug_Wechseln": 1,
|
||||
"Weiche": 2,
|
||||
"RA_unidirektional": 1
|
||||
}
|
||||
Anzahl_HW = {
|
||||
"hauptschalter": 2,
|
||||
"panel_pc": 1,
|
||||
"antrieb_unidirektional_halbleiter": 1,
|
||||
}
|
||||
eas = EA(Anzahl_EAS)
|
||||
hw = HW(Anzahl_HW, eas)
|
||||
emo_eingabe = {
|
||||
"Schaltschrank_aufstellen": 1,
|
||||
"Unterverteiler_montieren": 4,
|
||||
@@ -2470,4 +2512,4 @@ if __name__ == '__main__':
|
||||
"Weiche_Stopper_anschliessen": 244,
|
||||
"Erdung": 40,
|
||||
}
|
||||
emo = EMO(emo_eingabe)
|
||||
emo = EMO(eas, hw, mg)
|
||||
|
||||
Reference in New Issue
Block a user