From 2de6f6d12a1b6305c4f4e6a6e4264db0c88e614e Mon Sep 17 00:00:00 2001 From: "m.stangl" Date: Wed, 14 Sep 2022 17:11:21 +0200 Subject: [PATCH] test JayJay weiter im Bereich Hardware verfolgt --- rieter_ekalk.py | 752 ++++++++++++++++++++++++++---------------------- 1 file changed, 414 insertions(+), 338 deletions(-) diff --git a/rieter_ekalk.py b/rieter_ekalk.py index e3c03bd..d2eeab0 100644 --- a/rieter_ekalk.py +++ b/rieter_ekalk.py @@ -64,8 +64,8 @@ class MG(): raise Exception("Nachpuffer der Cason sollte grösser 1 sein") # wenn Puffer, dann mindestens 2 Strecken if deckblatt.get("Puffer", 0) > 0: - if deckblatt.get("Anzahl_der_Pufferstrecken_pro_Puffer", 0) < 3: - raise Exception("mind. 2 Strecken sollten existieren") + if deckblatt.get("Anzahl_der_Pufferstrecken_pro_Puffer", 0) < 2: + raise Exception("mind. 2 Strecken sollten im Puffer existieren") # Bypass, wenn mindestens 2 Flyer oder 2 RSM # Turm: kein Kriterium @@ -124,7 +124,7 @@ class MG(): verbindungsstrecken_w_mengen = kwargs['verbindungsstrecken_w'] self.remove_empty(verbindungsstrecken_w_mengen) - #überprüfe welche Art von System, setze dict der unrelevanten klasse = 0 + #überprüfe welche Art von System, setze dict der unrelevanten klasse = 0 system = deckblatt.get("SYSTEM", "") if (system.lower() == "direct"): self._rsm_fa = RSM_FA({}) @@ -138,7 +138,8 @@ class MG(): self._flyer_f40 = Flyer_F40_EJet_inc_Putz(flyer_f40_mengen) self._neuenhauser = Putzmaschine_Neuenhauser(neuenhauser_mengen) self._flyer = Flyer_EJet(flyer_mengen) - self._verbindungsstrecken_w = Verbindungsstrecken_Wechsel(verbindungsstrecken_w_mengen) + n_begegnung = deckblatt.get('Begegnungsstrecke_Bypass', 0) + self._verbindungsstrecken_w = Verbindungsstrecken_Wechsel(verbindungsstrecken_w_mengen, n_begegnung) self._puffer = Puffer(puffer_mengen) self._turm = Turm(turm_mengen) @@ -789,14 +790,15 @@ class Flyer_EJet(Item): # Verbindungsstrecken/_Wechsel: class Verbindungsstrecken_Wechsel(Item): - def __init__(self, anzahl:dict): + def __init__(self, anzahl:dict, Begegnungsstrecke_bypass:int): mengen = { #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - "Sensor_optisch_Traverse":0, + #"Sensor_optisch_Traverse":0, + "Sensor_optisch_Traverse_Korrektur":0, "Bedientableau_1fach":0, "Bedientableau_2fach":0, "Bedientableau_14fach":0, - "Weiche":0, + #"Weiche":0, "Dreifachweiche":0, "Kreuzungsweiche":0, "Werma_Rundumleuchte_Störung":0, @@ -806,12 +808,18 @@ class Verbindungsstrecken_Wechsel(Item): "RA_bi_ohne_SPS-Ansteuerung":0, "Doppelstreckenantrieb":0 } + self._Mengen = {} - self._Mengen["Sensor_optisch_Traverse"] = anzahl.get("Sensor_optisch_Traverse", 0) + self._Mengen["Sensor_optisch_Traverse"] = Begegnungsstrecke_bypass * 3 + \ + anzahl.get('Dreifachweiche', 0) * 2 + \ + anzahl.get('Kreuzungsweiche', 0) * 4 + \ + anzahl.get('Sensor_optisch_Traverse_Korrektur', 0) + self._Mengen["Sensor_optisch_Traverse_Korrektur"] = anzahl.get("Sensor_optisch_Traverse_Korrektur", 0) self._Mengen["Bedientableau_1fach"] = anzahl.get("Bedientableau_1fach", 0) self._Mengen["Bedientableau_2fach"] = anzahl.get("Bedientableau_2fach", 0) self._Mengen["Bedientableau_14fach"] = anzahl.get("Bedientableau_14fach", 0) - self._Mengen["Weiche"] = anzahl.get("Weiche", 0) + self._Mengen["Weiche"] = Begegnungsstrecke_bypass * 2 + anzahl.get("Weiche_Korrektur", 0) + self._Mengen["Weiche_Korrektur"] = anzahl.get("Weiche_Korrektur", 0) self._Mengen["Dreifachweiche"] = anzahl.get("Dreifachweiche", 0) self._Mengen["Kreuzungsweiche"] = anzahl.get("Kreuzungsweiche", 0) self._Mengen["Werma_Rundumleuchte_Störung"] = anzahl.get("Werma_Rundumleuchte_Störung", 0) @@ -2363,7 +2371,7 @@ class TestObjectMethods(unittest.TestCase): self.assertEqual(zmengen["Meldelampe_Überstrom"], 2) self.assertEqual(zmengen["Hauptschalter_Ein_Meldung"], 2) self.assertEqual(zmengen["Werma_Rundumleuchte_Störung"], 1) - self.assertEqual(zmengen["Weiche_nach_PM_bipolar"], 1) + self.assertEqual(zmengen["Weiche_nach_PM_bipolar"], 1) self.assertEqual(zmengen["Kreuzungsweiche"], 0) self.assertEqual(zmengen["RA_uni"], 0) self.assertEqual(zmengen["RA_uni_abhebbar"], 1) @@ -2528,14 +2536,14 @@ class TestObjectMethods(unittest.TestCase): # Test of Sum. self.assertEqual(eas.get_SE("bedienstation_1fach_Not_Aus"), 0) - self.assertEqual(eas.get_SE("bedienstation_einfach_Zug_Wechseln"), 0) - self.assertEqual(eas.get_SE("bedienstation_automatische_Umfahrung"), 0) - self.assertEqual(eas.get_SE("bedienstation_zweifach_Wechs_BCD_10f"), 50) - self.assertEqual(eas.get_SE("bedienstation_zweifach_Not_Aus_Reset"), 4) - self.assertEqual(eas.get_SE("bedienst_dreifach"), 0) - self.assertEqual(eas.get_SE("bedienst_vierfach"), 0) - self.assertEqual(eas.get_SE("bedienst_sechsfach"), 6) - self.assertEqual(eas.get_SE("EAs_Unterverteiler_direct"), 70) + self.assertEqual(eas.get_SE("bedienstation_einfach_Zug_Wechseln"), 0) + self.assertEqual(eas.get_SE("bedienstation_automatische_Umfahrung"), 0) + self.assertEqual(eas.get_SE("bedienstation_zweifach_Wechs_BCD_10f"), 50) + self.assertEqual(eas.get_SE("bedienstation_zweifach_Not_Aus_Reset"), 4) + self.assertEqual(eas.get_SE("bedienst_dreifach"), 0) + self.assertEqual(eas.get_SE("bedienst_vierfach"), 0) + self.assertEqual(eas.get_SE("bedienst_sechsfach"), 6) + self.assertEqual(eas.get_SE("EAs_Unterverteiler_direct"), 70) # Ermittlung_Mengengeruest_Anzahl self.assertEqual(eas.get_SE("Sensor_Traversenabfrage_optisch"), 11) @@ -2576,14 +2584,14 @@ class TestObjectMethods(unittest.TestCase): ### output #### self.assertEqual(eas.get_SA("bedienstation_1fach_Not_Aus"), 0) - self.assertEqual(eas.get_SA("bedienstation_einfach_Zug_Wechseln"), 0) - self.assertEqual(eas.get_SA("bedienstation_automatische_Umfahrung"), 0) - self.assertEqual(eas.get_SA("bedienstation_zweifach_Wechs_BCD_10f"), 10) - self.assertEqual(eas.get_SA("bedienstation_zweifach_Not_Aus_Reset"), 4) - self.assertEqual(eas.get_SA("bedienst_dreifach"), 0) - self.assertEqual(eas.get_SA("bedienst_vierfach"), 0) - self.assertEqual(eas.get_SA("bedienst_sechsfach"), 6) - self.assertEqual(eas.get_SA("EAs_Unterverteiler_direct"), 60) + self.assertEqual(eas.get_SA("bedienstation_einfach_Zug_Wechseln"), 0) + self.assertEqual(eas.get_SA("bedienstation_automatische_Umfahrung"), 0) + self.assertEqual(eas.get_SA("bedienstation_zweifach_Wechs_BCD_10f"), 10) + self.assertEqual(eas.get_SA("bedienstation_zweifach_Not_Aus_Reset"), 4) + self.assertEqual(eas.get_SA("bedienst_dreifach"), 0) + self.assertEqual(eas.get_SA("bedienst_vierfach"), 0) + self.assertEqual(eas.get_SA("bedienst_sechsfach"), 6) + self.assertEqual(eas.get_SA("EAs_Unterverteiler_direct"), 60) # Ermittlung_Mengengeruest_Anzahl self.assertEqual(eas.get_SA("Sensor_Traversenabfrage_optisch"), 0) @@ -2603,7 +2611,7 @@ class TestObjectMethods(unittest.TestCase): self.assertEqual(eas.get_SA("Schnittstelle_Flyer_ElectroJet"), 2) self.assertEqual(eas.get_SA("Schnittstelle_Flyer_Putzmaschine_ElectroJet"), 0) - self.assertEqual(eas.get_SA("Schnittstelle_Flyer_Neuhauser"), 0) + self.assertEqual(eas.get_SA("Schnittstelle_Flyer_Neuhauser"), 0) self.assertEqual(eas.get_SA("FEldbux_UV_EinAusgang"), 1) self.assertEqual(eas.get_SA("Spulenumsetzstation"), 0) @@ -2814,13 +2822,13 @@ class TestObjectMethods(unittest.TestCase): } verbindungsstrecken_w_eingabe = { #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - "Sensor_optisch_Traverse":0, + #"Sensor_optisch_Traverse":0, "Bedientableau_1fach":0, "Bedientableau_2fach":0, "Bedientableau_14fach":0, "Weiche":0, "Dreifachweiche":0, - "Kreuzungsweiche":0, + "Kreuzungsweiche":1, "Werma_Rundumleuchte_Störung":0, "RA_uni":0, "RA_uni_ohne_SPS_Ansteuerung":0, @@ -2829,21 +2837,21 @@ class TestObjectMethods(unittest.TestCase): "Doppelstreckenantrieb":0 } puffer_eingabe = { - #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - #"Anzahl":0, - #"Puffer":0, #äquivalent zu Anzahl - #"Anzahl_Pufferstrecken":0, #äquivalent zu Anzahl_Staustrecken - #"Anzahl_Staustrecken":0, - #"Sensor_optisch_Traverse":0, - "Sensor_optisch_Traverse_Korrektur":0, - #"Weiche":0, - "Weiche_Korrektur":0, - "RA_bi_ungerade_Schiene":0, - #"Doppelstreckenantrieb":0, - #"Meldelampe_Überstrom":0, - "Meldelampe_Überstrom_Korrektur":0, - #"Hauptschalter_Ein_Meldung":0, - "Hauptschalter_Ein-Meldung_Korrektur":0, + # auskommentiert => kein Übergabeparameter, wird in Klasse berechnet + # "Anzahl":0, + # "Puffer":0, #äquivalent zu Anzahl + # "Anzahl_Pufferstrecken":0, #äquivalent zu Anzahl_Staustrecken + # "Anzahl_Staustrecken":0, + # "Sensor_optisch_Traverse":0, + "Sensor_optisch_Traverse_Korrektur": 1, + # "Weiche":0, + "Weiche_Korrektur": 0, + "RA_bi_ungerade_Schiene": 2, + # "Doppelstreckenantrieb":0, + # "Meldelampe_Überstrom":0, + "Meldelampe_Überstrom_Korrektur": 0, + # "Hauptschalter_Ein_Meldung":0, + "Hauptschalter_Ein-Meldung_Korrektur": 0, } turm_eingabe = { #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet @@ -2868,32 +2876,94 @@ class TestObjectMethods(unittest.TestCase): verbindungsstrecken_w=verbindungsstrecken_w_eingabe, puffer=puffer_eingabe, turm=turm_eingabe) - self.assertEqual(mg.get_value_of_object("rsm_fa", 'Anzahl_RSM'), 14) - self.assertEqual(mg.get_value_of_object("rsm_fa", 'Flex_A_Premium'), False) - self.assertEqual(mg.get_value_of_object("rsm_fa", 'Getriebe_in_der_Mitte'), False) - self.assertEqual(mg.get_value_of_object("rsm_fa", 'RSM_Einfahrt_Ein_Beidseitig'), False) - self.assertEqual(mg.get_value_of_object("rsm_fa", 'Sensor_optisch_Traverse'), 20) - self.assertEqual(mg.get_value_of_object("rsm_fa", 'Sensor_optisch_Traverse_zusätzlich'), 6) - self.assertEqual(mg.get_value_of_object("rsm_fa", 'Bedientableau_1fach'), 14) - self.assertEqual(mg.get_value_of_object("rsm_fa", 'Bedientableau_1fach_Korrektur'), 0) - self.assertEqual(mg.get_value_of_object("rsm_fa", 'Bedientableau_2fach'), 2) - self.assertEqual(mg.get_value_of_object("rsm_fa", 'Bedientableau_2fach_Korrektur'), 0) - self.assertEqual(mg.get_value_of_object("rsm_fa", 'Weiche'), 14) - self.assertEqual(mg.get_value_of_object("rsm_fa", 'Weiche_Korrektur'), 0) - self.assertEqual(mg.get_value_of_object("rsm_fa", 'RRA_bi'), 14) - self.assertEqual(mg.get_value_of_object("rsm_fa", 'RRA_bi_Korrektur'), 0) - self.assertEqual(mg.get_value_of_object("rsm_fa", 'RRA_bi_auf_Haupstrecke'), 0) - self.assertEqual(mg.get_value_of_object("rsm_fa", 'RRA_bi_ohne_SPS_Ansteuerung'), 0) - self.assertEqual(mg.get_value_of_object("rsm_fa", 'gemeinsame_Wendung'), 0) - self.assertEqual(mg.get_value_of_object("rsm_fa", 'Seilzugschalter'), 0) - self.assertEqual(mg.get_value_of_object("rsm_fa", 'Mit_Drucktaster'), 0) - self.assertEqual(mg.get_value_of_object("rsm_fa", 'Mit_Drucktaster_Korrektur'), 0) - self.assertEqual(mg.get_value_of_object("rsm_fa", 'Meldelampe_Überstrom'), 2) - self.assertEqual(mg.get_value_of_object("rsm_fa", 'Meldelampe_Überstrom_Korrektur'), 0) - self.assertEqual(mg.get_value_of_object("rsm_fa", 'Hauptschalter_Ein_Meldung'), 2) - self.assertEqual(mg.get_value_of_object("rsm_fa", 'Hauptschalter_Ein-Meldung_Korrektur'), 0) - self.assertEqual(mg.get_value_of_object("rsm_fa", 'Werma_Rundumleuchte_Störung'), 2) - self.assertEqual(mg.get_value_of_object("rsm_fa", 'Werma_Rundumleuchte_Störung_Korrektur'), 0) + + # check data of Mengengerüst + self.assertEqual(mg.get_value_of_object('rsm_fa', 'Anzahl_RSM'), 14) + self.assertEqual(mg.get_value_of_object('rsm_fa', 'Flex_A_Premium'), False) + self.assertEqual(mg.get_value_of_object('rsm_fa', 'Getriebe_in_der_Mitte'), False) + self.assertEqual(mg.get_value_of_object('rsm_fa', 'RSM_Einfahrt_Ein_Beidseitig'), False) + self.assertEqual(mg.get_value_of_object('rsm_fa', 'Sensor_optisch_Traverse'), 20) + self.assertEqual(mg.get_value_of_object('rsm_fa', 'Sensor_optisch_Traverse_zusätzlich'), 6) + self.assertEqual(mg.get_value_of_object('rsm_fa', 'Bedientableau_1fach'), 14) + self.assertEqual(mg.get_value_of_object('rsm_fa', 'Bedientableau_1fach_Korrektur'), 0) + self.assertEqual(mg.get_value_of_object('rsm_fa', 'Bedientableau_2fach'), 2) + self.assertEqual(mg.get_value_of_object('rsm_fa', 'Bedientableau_2fach_Korrektur'), 0) + self.assertEqual(mg.get_value_of_object('rsm_fa', 'Weiche'), 14) + self.assertEqual(mg.get_value_of_object('rsm_fa', 'Weiche_Korrektur'), 0) + self.assertEqual(mg.get_value_of_object('rsm_fa', 'RRA_bi'), 14) + self.assertEqual(mg.get_value_of_object('rsm_fa', 'RRA_bi_Korrektur'), 0) + self.assertEqual(mg.get_value_of_object('rsm_fa', 'RRA_bi_auf_Haupstrecke'), 0) + self.assertEqual(mg.get_value_of_object('rsm_fa', 'RRA_bi_ohne_SPS_Ansteuerung'), 0) + self.assertEqual(mg.get_value_of_object('rsm_fa', 'gemeinsame_Wendung'), 0) + self.assertEqual(mg.get_value_of_object('rsm_fa', 'Seilzugschalter'), 0) + self.assertEqual(mg.get_value_of_object('rsm_fa', 'Mit_Drucktaster'), 0) + self.assertEqual(mg.get_value_of_object('rsm_fa', 'Mit_Drucktaster_Korrektur'), 0) + self.assertEqual(mg.get_value_of_object('rsm_fa', 'Meldelampe_Überstrom'), 2) + self.assertEqual(mg.get_value_of_object('rsm_fa', 'Meldelampe_Überstrom_Korrektur'), 0) + self.assertEqual(mg.get_value_of_object('rsm_fa', 'Hauptschalter_Ein_Meldung'), 2) + self.assertEqual(mg.get_value_of_object('rsm_fa', 'Hauptschalter_Ein-Meldung_Korrektur'), 0) + self.assertEqual(mg.get_value_of_object('rsm_fa', 'Werma_Rundumleuchte_Störung'), 2) + self.assertEqual(mg.get_value_of_object('rsm_fa', 'Werma_Rundumleuchte_Störung_Korrektur'), 0) + + # check data of the flyer + self.assertEqual(mg.get_value_of_object('flyer_ejet', 'Anzahl'), 4) + self.assertEqual(mg.get_value_of_object('flyer_ejet', 'Anzahl_Schienen'), 2) + self.assertEqual(mg.get_value_of_object('flyer_ejet', 'Flyer'), 4) + self.assertEqual(mg.get_value_of_object('flyer_ejet', 'Sensor_optisch_Traverse'), 28) + self.assertEqual(mg.get_value_of_object('flyer_ejet', 'Sensor_optisch_Traverse_Korrektur'), 0) + self.assertEqual(mg.get_value_of_object('flyer_ejet', 'Sensor_induktiv_Spulenalter_Zug_positionierung'), 4) + self.assertEqual(mg.get_value_of_object('flyer_ejet', 'Bedientableau_2fach'), 4) + self.assertEqual(mg.get_value_of_object('flyer_ejet', 'Interface_Doffer'), 4) + self.assertEqual(mg.get_value_of_object('flyer_ejet', 'Weiche'), 8) + self.assertEqual(mg.get_value_of_object('flyer_ejet', 'Weiche_Korrektur'), 0) + self.assertEqual(mg.get_value_of_object('flyer_ejet', 'Weiche_nach_Flyer_bipolar'), 4) + self.assertEqual(mg.get_value_of_object('flyer_ejet', 'Dreifachweiche'), 0) + self.assertEqual(mg.get_value_of_object('flyer_ejet', 'Wechsel'), 4) + self.assertEqual(mg.get_value_of_object('flyer_ejet', 'Wechsel_Korrektur'), 0) + self.assertEqual(mg.get_value_of_object('flyer_ejet', 'RA_bi_ohne_SPS-Ansteuerung'), 4) + self.assertEqual(mg.get_value_of_object('flyer_ejet', 'RA_bi_abhebbar'), 4) + self.assertEqual(mg.get_value_of_object('flyer_ejet', 'RA_bi_abhebbar_Korrektur'), 0) + self.assertEqual(mg.get_value_of_object('flyer_ejet', 'RA_bi'), 0) + self.assertEqual(mg.get_value_of_object('flyer_ejet', 'Doppelstreckenantrieb'), 4) + self.assertEqual(mg.get_value_of_object('flyer_ejet', 'RA_bi_abhebbar_unger_Schiene'), 0) + self.assertEqual(mg.get_value_of_object('flyer_ejet', 'Meldelampe_Überstrom'), 4) + self.assertEqual(mg.get_value_of_object('flyer_ejet', 'Meldelampe_Überstrom_Korrektur'), 0) + self.assertEqual(mg.get_value_of_object('flyer_ejet', 'Hauptschalter_Ein_Meldung'), 4) + self.assertEqual(mg.get_value_of_object('flyer_ejet', 'Hauptschalter_Ein-Meldung_Korrektur'), 0) + self.assertEqual(mg.get_value_of_object('flyer_ejet', 'Werma_Rundumleuchte_Störung'), 4) + self.assertEqual(mg.get_value_of_object('flyer_ejet', 'Werma_Rundumleuchte_Störung_Korrektur'), 0) + + # Verbindungsstrecken Wechsel + self.assertEqual(mg.get_value_of_object('verbindungsstrecken_wechsel', 'Sensor_optisch_Traverse'), 10) + self.assertEqual(mg.get_value_of_object('verbindungsstrecken_wechsel', 'Bedientableau_1fach'), 0) + self.assertEqual(mg.get_value_of_object('verbindungsstrecken_wechsel', 'Bedientableau_2fach'), 0) + self.assertEqual(mg.get_value_of_object('verbindungsstrecken_wechsel', 'Bedientableau_14fach'), 0) + self.assertEqual(mg.get_value_of_object('verbindungsstrecken_wechsel', 'Weiche'), 4) + self.assertEqual(mg.get_value_of_object('verbindungsstrecken_wechsel', 'Dreifachweiche'), 0) + self.assertEqual(mg.get_value_of_object('verbindungsstrecken_wechsel', 'Kreuzungsweiche'), 1) + self.assertEqual(mg.get_value_of_object('verbindungsstrecken_wechsel', 'Werma_Rundumleuchte_Störung'), 0) + self.assertEqual(mg.get_value_of_object('verbindungsstrecken_wechsel', 'RA_uni'), 0) + self.assertEqual(mg.get_value_of_object('verbindungsstrecken_wechsel', 'RA_uni_ohne_SPS_Ansteuerung'), 0) + self.assertEqual(mg.get_value_of_object('verbindungsstrecken_wechsel', 'RA_bi'), 0) + self.assertEqual(mg.get_value_of_object('verbindungsstrecken_wechsel', 'RA_bi_ohne_SPS-Ansteuerung'), 0) + self.assertEqual(mg.get_value_of_object('verbindungsstrecken_wechsel', 'Doppelstreckenantrieb'), 0) + + # Puffer + self.assertEqual(mg.get_value_of_object('puffer', 'Anzahl'), 1) + self.assertEqual(mg.get_value_of_object('puffer', 'Anzahl_Staustrecken'), 5) + self.assertEqual(mg.get_value_of_object('puffer', 'Sensor_optisch_Traverse'), 6) + self.assertEqual(mg.get_value_of_object('puffer', 'Sensor_optisch_Traverse_Korrektur'), 1) + self.assertEqual(mg.get_value_of_object('puffer', 'Weiche'), 5) + self.assertEqual(mg.get_value_of_object('puffer', 'RA_bi_ungerade_Schiene'), 2) + self.assertEqual(mg.get_value_of_object('puffer', 'Weiche_Korrektur'), 0) + self.assertEqual(mg.get_value_of_object('puffer', 'Doppelstreckenantrieb'), 2) + self.assertEqual(mg.get_value_of_object('puffer', 'Meldelampe_Überstrom'), 1) + self.assertEqual(mg.get_value_of_object('puffer', 'Meldelampe_Überstrom_Korrektur'), 0) + self.assertEqual(mg.get_value_of_object('puffer', 'Hauptschalter_Ein_Meldung'), 1) + self.assertEqual(mg.get_value_of_object('puffer', 'Hauptschalter_Ein-Meldung_Korrektur'), 0) + + zf = mg.zusammenfassung() + print(zf) Anzahl_EAS = { "bedienstation_einfach_Zug_Wechseln": 1, @@ -2905,7 +2975,13 @@ class TestObjectMethods(unittest.TestCase): "panel_pc": 1, "antrieb_unidirektional_halbleiter": 1, } + mengen = mg.zusammenfassung() eas = EA(Anzahl_EAS, mg) + eas.gesamt_E() + eas.gesamt_A() + eas.Anzahl_notwendigen_Siemens_EAKarten() + + hw = HW(Anzahl_HW, mg, eas) emo_eingabe = { "Schaltschrank_aufstellen": 1, @@ -2923,274 +2999,274 @@ class TestObjectMethods(unittest.TestCase): } emo = EMO(eas, hw, mg) - def test2(self): - # Anzahl der für das Projekt benutzten - Anzahl_MG = { - "SYSTEM":"DIRECT", - "RSM":11, - "Flyer":0, - "Flyer_Puffer":2, - "Flyer_Electrojet_incl_intergrierte_Putzmaschine":1, - "Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer":2, - "Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer":2, - "Neuenhauser-Putzmaschine":0, - "Neuenhauser-Putzmaschine_Vorpuffer":0, - "Neuenhauser-Putzmaschine_Nachpuffer":0, - "Cason-Putzmaschine":0, - "Cason-Putzmaschine_Vorpuffer":0, - "Cason-Putzmaschine_Nachpuffer":0, - "Puffer":1, - "Anzahl_der_Pufferstrecken_pro_Puffer":2, - "Begegnungsstrecke_Bypass":0, - "Turm":0, - "Turm_Anzahl_Wendlungen":0, - } - - rsm_direct_eingabe = { - #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - #"Anzahl":0, # wird in deckblatt-Klasse berechnet - #"Anzahl_Strecken_RSM":8, - "Sensor_optisch_Traverse":0, - #"Lichtschranke_Traverse":0, - #"Bedientableau_2fach":0, - "Bedientableau_2fach_Korrektur":0, - #"Bedientableau_2fach_Direct":0, - #"Weiche":0, - "Weiche_Korrektur":0, - #"Weiche_Gemeinsame_Rückstellung":0, - "Weiche_Gemeinsame_Rückstellung_Korrektur":0, - #"RA_bi_abhebbar":0, - "RA_bi_abhebbar_Korrektur":0, - #"Doppelstreckenantrieb":0, - #"gemeinsame_Wendung":0, - #"Meldelampe_Überstrom":0, - "Meldelampe_Überstrom_Korrektur":0, - #"Hauptschalter_Ein_Meldung":0, - "Hauptschalter_Ein-Meldung_Korrektur":0, - #"Werma_Rundumleuchte_Störung":0, - "Werma_Rundumleuchte_Störung_Korrektur":0, - } - rsm_fa_eingabe = { - #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - #"Anzahl_RSM":0, - #"Automatische_Umfahrung":0, # 'Automatische_Umfahrung' und 'Flex_A_Premium' sind eine Zelle -> identischer Wert - "Flex_A_Premium":False, - "Getriebe_in_der_Mitte":False, - "RSM_Einfahrt_Ein_Beidseitig":False, - #"Sensor_optisch_Traverse":0, - "Sensor_optisch_Traverse_zusätzlich":0, - #"Bedientableau_1fach":0, - "Bedientableau_1fach_Korrektur":0, - #"Bedientableau_2fach":0, - "Bedientableau_2fach_Korrektur":0, - #"Weiche":0, - "Weiche_Korrektur":0, - #"RRA_bi":0, - "RRA_bi_Korrektur":0, - "RRA_bi_auf_Haupstrecke":0, - #"RRA_bi_ohne_SPS_Ansteuerung":0, - "gemeinsame_Wendung":0, - #"Seilzugschalter":0, - #"Mit_Drucktaster":0, - "Mit_Drucktaster_Korrektur":0, - #"Meldelampe_Überstrom":0, - "Meldelampe_Überstrom_Korrektur":0, - #"Hauptschalter_Ein_Meldung":0, - "Hauptschalter_Ein-Meldung_Korrektur":0, - #"Werma_Rundumleuchte_Störung":0, - "Werma_Rundumleuchte_Störung_Korrektur":0, - } - flyer_f40_eingabe = { - #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - #"Anzahl":0, - #"Flyer_Electrojet_incl_intergrierte_Putzmaschine":0, #wird in deckblatt-Klasse berechnet - "Flyer_Electrojet_incl_intergrierte_Putzmaschine_Korrektur":0, - #"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer":2, #wird in deckblatt-Klasse berechnet - #"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer":2, #wird in deckblatt-Klasse berechnet - #"Anzahl_Schienen":0, - "Single_Line_Durchfahrt":False, - "Nachpuffer":False, - #"Sensor_optisch_Traverse":0, - "Sensor_optisch_Traverse_Korrektur":0, - #"Sensor_induktiv_Spulenhalter":0, - "Sensor_induktiv_Spulenhalter_Korrektur":0, - #"Bedientableau_2fach":0, - "Bedientableau_2fach_Korrektur":0, - #"Interface_Doffer":0, - "Interface_Doffer_Korrektur":0, - #"Weiche":0, - "Weiche_Korrektur":0, - #"Weiche_nach_Flyer_bipolar":0, - "Weiche_nach_Flyer_bipolar_Korrektur":0, - "Dreifachweiche":0, - "Wechsel":0, - "Stopper":0, - "RA_uni":0, - #"RA_uni_abhebbar":0, - "RA_uni_abhebbar_Korrektur":0, - #"RA_uni_ohne_SPS_Ansteuerung":0, - "RA_uni_ohne_SPS_Ansteuerung_Korrektur":0, - #"RRA_BI_abhebbar":0, - "RRA_BI_abhebbar_Korrektur":0, - "RRA_bi":0, - #"RRA_bi_Korrektur":0, - #"RRA_bi_ohne_SPS_Ansteuerung":0, - "RRA_bi_ohne_SPS_Ansteuerung_Korrektur":0, - #"Doppelstreckenantrieb":0, - "Doppelstreckenantrieb_Korrektur":0, - "RA_bi_abhebbar_unger_Schiene":0, - #"Meldelampe_Überstrom":0, - "Meldelampe_Überstrom_Korrektur":0, - #"Hauptschalter_Ein_Meldung":0, - "Hauptschalter_Ein-Meldung_Korrektur":0, - #"Werma_Rundumleuchte_Störung":0, - "Werma_Rundumleuchte_Störung_Korrektur":0, - } - neuenhauser_eingabe = { - #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - #"Anzahl":0, - #"Neuenhauser-Putzmaschine":0, #wird in deckblatt-Klasse zugewiesen - #"Neuenhauser-Putzmaschine_Vorpuffer":0, #wird in deckblatt-Klasse zugewiesen - #"Neuenhauser-Putzmaschine_Nachpuffer":0, #wird in deckblatt-Klasse zugewiesen - #"Anzahl_Vorstaustrecken":0, - #"Anzahl_Nachstaustrecken":0, - #"Sensor_optisch_Traverse":0, - "Sensor_optisch_Traverse_Korrektur":0, - #"Sensorik_Zugpositionierung":0, - #"Sensor_WT18_Spulenprüfung_voll_leer":0, - #"Bedientableau_2fach":0, - "Bedientableau_2fach_Korrektur":0, - #"Interface_Putzmaschine":0, - #"Weiche":0, - "Weiche_Korrektur":0, - #"Weiche_nach_PM_bipolar":0, - #"RA_uni_abhebbar":0, - "RA_uni_abhebbar_Korrektur":0, - #"RA_uni_ohne_SPS_Ansteuerung":0, - #"RA_uni_abhebbar_unger_Sch":0, - #"Doppelstreckenantrieb":0, - #"Meldelampe_Überstrom":0, - "Meldelampe_Überstrom_Korrektur":0, - #"Hauptschalter_Ein_Meldung":0, - "Hauptschalter_Ein-Meldung_Korrektur":0, - #"Werma_Rundumleuchte_Störung":0, - "Werma_Rundumleuchte_Störung_Korrektur":0, - } - flyer_eingabe = { - #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - #"Anzahl":0, - #"Flyer":0, # äquivalent zu 'Anzahl' - #"Anzahl_Schienen:":0, - #"Sensor_optisch_Traverse":0, - "Sensor_optisch_Traverse_Korrektur":0, - #"Sensor_induktiv_Spulenalter_Zug_positionierung":0, - #"Bedientableau_2fach":0, - #"Interface_Doffer":0, - #"Weiche":0, - "Weiche_Korrektur":0, - #"Weiche_nach_Flyer_bipolar":0, - "Dreifachweiche":0, - #"Wechsel":0, - "Wechsel_Korrektur":0, - #"RA_bi_ohne_SPS-Ansteuerung":0, - #"RA_bi_abhebbar":0, - "RA_bi_abhebbar_Korrektur":0, - "RA_bi":0, - #"Doppelstreckenantrieb":0, - "RA_bi_abhebbar_unger_Schiene":0, - #"Meldelampe_Überstrom":0, - "Meldelampe_Überstrom_Korrektur":0, - #"Hauptschalter_Ein_Meldung":0, - "Hauptschalter_Ein-Meldung_Korrektur":0, - #"Werma_Rundumleuchte_Störung":0, - "Werma_Rundumleuchte_Störung_Korrektur":0, - } - verbindungsstrecken_w_eingabe = { - #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - "Sensor_optisch_Traverse":0, - "Bedientableau_1fach":0, - "Bedientableau_2fach":0, - "Bedientableau_14fach":0, - "Weiche":0, - "Dreifachweiche":0, - "Kreuzungsweiche":0, - "Werma_Rundumleuchte_Störung":0, - "RA_uni":0, - "RA_uni_ohne_SPS_Ansteuerung":0, - "RA_bi":0, - "RA_bi_ohne_SPS-Ansteuerung":0, - "Doppelstreckenantrieb":0 - } - puffer_eingabe = { - #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - #"Anzahl":0, - #"Puffer":0, #äquivalent zu Anzahl - #"Anzahl_Pufferstrecken":0, #äquivalent zu Anzahl_Staustrecken - #"Anzahl_Staustrecken":0, - #"Sensor_optisch_Traverse":0, - "Sensor_optisch_Traverse_Korrektur":0, - #"Weiche":0, - "Weiche_Korrektur":0, - "RA_bi_ungerade_Schiene":0, - #"Doppelstreckenantrieb":0, - #"Meldelampe_Überstrom":0, - "Meldelampe_Überstrom_Korrektur":0, - #"Hauptschalter_Ein_Meldung":0, - "Hauptschalter_Ein-Meldung_Korrektur":0, - } - turm_eingabe = { - #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet - #"Anzahl":0, - #"Turm":0, #äquivalent zu Anzahl - #"Anzahl_Wendlungen":0, #äquivalent zu Anzahl_Staustrecken - #"Anzahl_Staustrecken":0, - #"Sensor_optisch_Traverse":0, - #"Weiche":0, - #"RA_bi":0, - "RA_bi_Korrektur":0, - #"RA_bi_ohne_SPS":0, - "RA_bi_ohne_SPS_Korrektur":0, - #"Bedientableau_2fach":0, - } - mg = MG(Anzahl_MG, - rsm_direct=rsm_direct_eingabe, - rsm_fa=rsm_fa_eingabe, - flyer_f40=flyer_f40_eingabe, - neuenhauser=neuenhauser_eingabe, - flyer=flyer_eingabe, - verbindungsstrecken_w=verbindungsstrecken_w_eingabe, - puffer=puffer_eingabe, - turm=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, mg) - hw = HW(Anzahl_HW, mg, eas) - emo_eingabe = { - "Schaltschrank_aufstellen": 1, - "Unterverteiler_montieren": 4, - "Pritsche_montieren_umbauen_demontieren": 66, - "Pritsche_in_RSM_montieren": 0, - "Motor_verdrahten_und_anschliessen": 97, - "Tableau_befestigen_und_anschliessen": 15, - "Schnittstelle_Flyer_Putzmaschine": 1, - "Sensoren_montieren": 84, - "Seilzugschalter_installieren": 0, - "Blitzleuchte_installieren": 3, - "Weiche_Stopper_anschliessen": 244, - "Erdung": 40, - } - emo = EMO(eas, hw, mg) + # def test2(self): + # # Anzahl der für das Projekt benutzten + # Anzahl_MG = { + # "SYSTEM":"DIRECT", + # "RSM":11, + # "Flyer":0, + # "Flyer_Puffer":2, + # "Flyer_Electrojet_incl_intergrierte_Putzmaschine":1, + # "Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer":2, + # "Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer":2, + # "Neuenhauser-Putzmaschine":0, + # "Neuenhauser-Putzmaschine_Vorpuffer":0, + # "Neuenhauser-Putzmaschine_Nachpuffer":0, + # "Cason-Putzmaschine":0, + # "Cason-Putzmaschine_Vorpuffer":0, + # "Cason-Putzmaschine_Nachpuffer":0, + # "Puffer":1, + # "Anzahl_der_Pufferstrecken_pro_Puffer":2, + # "Begegnungsstrecke_Bypass":0, + # "Turm":0, + # "Turm_Anzahl_Wendlungen":0, + # } + # + # rsm_direct_eingabe = { + # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet + # #"Anzahl":0, # wird in deckblatt-Klasse berechnet + # #"Anzahl_Strecken_RSM":8, + # "Sensor_optisch_Traverse":0, + # #"Lichtschranke_Traverse":0, + # #"Bedientableau_2fach":0, + # "Bedientableau_2fach_Korrektur":0, + # #"Bedientableau_2fach_Direct":0, + # #"Weiche":0, + # "Weiche_Korrektur":0, + # #"Weiche_Gemeinsame_Rückstellung":0, + # "Weiche_Gemeinsame_Rückstellung_Korrektur":0, + # #"RA_bi_abhebbar":0, + # "RA_bi_abhebbar_Korrektur":0, + # #"Doppelstreckenantrieb":0, + # #"gemeinsame_Wendung":0, + # #"Meldelampe_Überstrom":0, + # "Meldelampe_Überstrom_Korrektur":0, + # #"Hauptschalter_Ein_Meldung":0, + # "Hauptschalter_Ein-Meldung_Korrektur":0, + # #"Werma_Rundumleuchte_Störung":0, + # "Werma_Rundumleuchte_Störung_Korrektur":0, + # } + # rsm_fa_eingabe = { + # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet + # #"Anzahl_RSM":0, + # #"Automatische_Umfahrung":0, # 'Automatische_Umfahrung' und 'Flex_A_Premium' sind eine Zelle -> identischer Wert + # "Flex_A_Premium":False, + # "Getriebe_in_der_Mitte":False, + # "RSM_Einfahrt_Ein_Beidseitig":False, + # #"Sensor_optisch_Traverse":0, + # "Sensor_optisch_Traverse_zusätzlich":0, + # #"Bedientableau_1fach":0, + # "Bedientableau_1fach_Korrektur":0, + # #"Bedientableau_2fach":0, + # "Bedientableau_2fach_Korrektur":0, + # #"Weiche":0, + # "Weiche_Korrektur":0, + # #"RRA_bi":0, + # "RRA_bi_Korrektur":0, + # "RRA_bi_auf_Haupstrecke":0, + # #"RRA_bi_ohne_SPS_Ansteuerung":0, + # "gemeinsame_Wendung":0, + # #"Seilzugschalter":0, + # #"Mit_Drucktaster":0, + # "Mit_Drucktaster_Korrektur":0, + # #"Meldelampe_Überstrom":0, + # "Meldelampe_Überstrom_Korrektur":0, + # #"Hauptschalter_Ein_Meldung":0, + # "Hauptschalter_Ein-Meldung_Korrektur":0, + # #"Werma_Rundumleuchte_Störung":0, + # "Werma_Rundumleuchte_Störung_Korrektur":0, + # } + # flyer_f40_eingabe = { + # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet + # #"Anzahl":0, + # #"Flyer_Electrojet_incl_intergrierte_Putzmaschine":0, #wird in deckblatt-Klasse berechnet + # "Flyer_Electrojet_incl_intergrierte_Putzmaschine_Korrektur":0, + # #"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer":2, #wird in deckblatt-Klasse berechnet + # #"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer":2, #wird in deckblatt-Klasse berechnet + # #"Anzahl_Schienen":0, + # "Single_Line_Durchfahrt":False, + # "Nachpuffer":False, + # #"Sensor_optisch_Traverse":0, + # "Sensor_optisch_Traverse_Korrektur":0, + # #"Sensor_induktiv_Spulenhalter":0, + # "Sensor_induktiv_Spulenhalter_Korrektur":0, + # #"Bedientableau_2fach":0, + # "Bedientableau_2fach_Korrektur":0, + # #"Interface_Doffer":0, + # "Interface_Doffer_Korrektur":0, + # #"Weiche":0, + # "Weiche_Korrektur":0, + # #"Weiche_nach_Flyer_bipolar":0, + # "Weiche_nach_Flyer_bipolar_Korrektur":0, + # "Dreifachweiche":0, + # "Wechsel":0, + # "Stopper":0, + # "RA_uni":0, + # #"RA_uni_abhebbar":0, + # "RA_uni_abhebbar_Korrektur":0, + # #"RA_uni_ohne_SPS_Ansteuerung":0, + # "RA_uni_ohne_SPS_Ansteuerung_Korrektur":0, + # #"RRA_BI_abhebbar":0, + # "RRA_BI_abhebbar_Korrektur":0, + # "RRA_bi":0, + # #"RRA_bi_Korrektur":0, + # #"RRA_bi_ohne_SPS_Ansteuerung":0, + # "RRA_bi_ohne_SPS_Ansteuerung_Korrektur":0, + # #"Doppelstreckenantrieb":0, + # "Doppelstreckenantrieb_Korrektur":0, + # "RA_bi_abhebbar_unger_Schiene":0, + # #"Meldelampe_Überstrom":0, + # "Meldelampe_Überstrom_Korrektur":0, + # #"Hauptschalter_Ein_Meldung":0, + # "Hauptschalter_Ein-Meldung_Korrektur":0, + # #"Werma_Rundumleuchte_Störung":0, + # "Werma_Rundumleuchte_Störung_Korrektur":0, + # } + # neuenhauser_eingabe = { + # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet + # #"Anzahl":0, + # #"Neuenhauser-Putzmaschine":0, #wird in deckblatt-Klasse zugewiesen + # #"Neuenhauser-Putzmaschine_Vorpuffer":0, #wird in deckblatt-Klasse zugewiesen + # #"Neuenhauser-Putzmaschine_Nachpuffer":0, #wird in deckblatt-Klasse zugewiesen + # #"Anzahl_Vorstaustrecken":0, + # #"Anzahl_Nachstaustrecken":0, + # #"Sensor_optisch_Traverse":0, + # "Sensor_optisch_Traverse_Korrektur":0, + # #"Sensorik_Zugpositionierung":0, + # #"Sensor_WT18_Spulenprüfung_voll_leer":0, + # #"Bedientableau_2fach":0, + # "Bedientableau_2fach_Korrektur":0, + # #"Interface_Putzmaschine":0, + # #"Weiche":0, + # "Weiche_Korrektur":0, + # #"Weiche_nach_PM_bipolar":0, + # #"RA_uni_abhebbar":0, + # "RA_uni_abhebbar_Korrektur":0, + # #"RA_uni_ohne_SPS_Ansteuerung":0, + # #"RA_uni_abhebbar_unger_Sch":0, + # #"Doppelstreckenantrieb":0, + # #"Meldelampe_Überstrom":0, + # "Meldelampe_Überstrom_Korrektur":0, + # #"Hauptschalter_Ein_Meldung":0, + # "Hauptschalter_Ein-Meldung_Korrektur":0, + # #"Werma_Rundumleuchte_Störung":0, + # "Werma_Rundumleuchte_Störung_Korrektur":0, + # } + # flyer_eingabe = { + # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet + # #"Anzahl":0, + # #"Flyer":0, # äquivalent zu 'Anzahl' + # #"Anzahl_Schienen:":0, + # #"Sensor_optisch_Traverse":0, + # "Sensor_optisch_Traverse_Korrektur":0, + # #"Sensor_induktiv_Spulenalter_Zug_positionierung":0, + # #"Bedientableau_2fach":0, + # #"Interface_Doffer":0, + # #"Weiche":0, + # "Weiche_Korrektur":0, + # #"Weiche_nach_Flyer_bipolar":0, + # "Dreifachweiche":0, + # #"Wechsel":0, + # "Wechsel_Korrektur":0, + # #"RA_bi_ohne_SPS-Ansteuerung":0, + # #"RA_bi_abhebbar":0, + # "RA_bi_abhebbar_Korrektur":0, + # "RA_bi":0, + # #"Doppelstreckenantrieb":0, + # "RA_bi_abhebbar_unger_Schiene":0, + # #"Meldelampe_Überstrom":0, + # "Meldelampe_Überstrom_Korrektur":0, + # #"Hauptschalter_Ein_Meldung":0, + # "Hauptschalter_Ein-Meldung_Korrektur":0, + # #"Werma_Rundumleuchte_Störung":0, + # "Werma_Rundumleuchte_Störung_Korrektur":0, + # } + # verbindungsstrecken_w_eingabe = { + # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet + # "Sensor_optisch_Traverse":0, + # "Bedientableau_1fach":0, + # "Bedientableau_2fach":0, + # "Bedientableau_14fach":0, + # "Weiche":0, + # "Dreifachweiche":0, + # "Kreuzungsweiche":0, + # "Werma_Rundumleuchte_Störung":0, + # "RA_uni":0, + # "RA_uni_ohne_SPS_Ansteuerung":0, + # "RA_bi":0, + # "RA_bi_ohne_SPS-Ansteuerung":0, + # "Doppelstreckenantrieb":0 + # } + # puffer_eingabe = { + # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet + # #"Anzahl":0, + # #"Puffer":0, #äquivalent zu Anzahl + # #"Anzahl_Pufferstrecken":0, #äquivalent zu Anzahl_Staustrecken + # #"Anzahl_Staustrecken":0, + # #"Sensor_optisch_Traverse":0, + # "Sensor_optisch_Traverse_Korrektur":0, + # #"Weiche":0, + # "Weiche_Korrektur":0, + # "RA_bi_ungerade_Schiene":0, + # #"Doppelstreckenantrieb":0, + # #"Meldelampe_Überstrom":0, + # "Meldelampe_Überstrom_Korrektur":0, + # #"Hauptschalter_Ein_Meldung":0, + # "Hauptschalter_Ein-Meldung_Korrektur":0, + # } + # turm_eingabe = { + # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet + # #"Anzahl":0, + # #"Turm":0, #äquivalent zu Anzahl + # #"Anzahl_Wendlungen":0, #äquivalent zu Anzahl_Staustrecken + # #"Anzahl_Staustrecken":0, + # #"Sensor_optisch_Traverse":0, + # #"Weiche":0, + # #"RA_bi":0, + # "RA_bi_Korrektur":0, + # #"RA_bi_ohne_SPS":0, + # "RA_bi_ohne_SPS_Korrektur":0, + # #"Bedientableau_2fach":0, + # } + # mg = MG(Anzahl_MG, + # rsm_direct=rsm_direct_eingabe, + # rsm_fa=rsm_fa_eingabe, + # flyer_f40=flyer_f40_eingabe, + # neuenhauser=neuenhauser_eingabe, + # flyer=flyer_eingabe, + # verbindungsstrecken_w=verbindungsstrecken_w_eingabe, + # puffer=puffer_eingabe, + # turm=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, mg) + # hw = HW(Anzahl_HW, mg, eas) + # emo_eingabe = { + # "Schaltschrank_aufstellen": 1, + # "Unterverteiler_montieren": 4, + # "Pritsche_montieren_umbauen_demontieren": 66, + # "Pritsche_in_RSM_montieren": 0, + # "Motor_verdrahten_und_anschliessen": 97, + # "Tableau_befestigen_und_anschliessen": 15, + # "Schnittstelle_Flyer_Putzmaschine": 1, + # "Sensoren_montieren": 84, + # "Seilzugschalter_installieren": 0, + # "Blitzleuchte_installieren": 3, + # "Weiche_Stopper_anschliessen": 244, + # "Erdung": 40, + # } + # emo = EMO(eas, hw, mg)