From 350976e35e00c24a4e1d231280828f14e292fc27 Mon Sep 17 00:00:00 2001 From: Simon Schmutzler Date: Wed, 23 Mar 2022 17:02:03 +0100 Subject: [PATCH] =?UTF-8?q?EMO=20Klasse=20hinzugef=C3=BCgt.=20TODO:=20Beze?= =?UTF-8?q?ichnungen=20der=20Dicts=20in=20EMO(),=20HW()=20und=20EA()=20anp?= =?UTF-8?q?assen,=20wenn=20HW=20und=20EA=20=C3=BCberarbeitet=20wurde?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rieter_ekalk.py | 114 +++++++++++++++++++++++++++++++++--------------- 1 file changed, 78 insertions(+), 36 deletions(-) diff --git a/rieter_ekalk.py b/rieter_ekalk.py index cfdc8a6..5357b72 100644 --- a/rieter_ekalk.py +++ b/rieter_ekalk.py @@ -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)