test JayJay weiter im Bereich Hardware verfolgt

This commit is contained in:
2022-09-14 17:11:21 +02:00
parent 455c44ce30
commit 2de6f6d12a
+396 -320
View File
@@ -64,8 +64,8 @@ class MG():
raise Exception("Nachpuffer der Cason sollte grösser 1 sein") raise Exception("Nachpuffer der Cason sollte grösser 1 sein")
# wenn Puffer, dann mindestens 2 Strecken # wenn Puffer, dann mindestens 2 Strecken
if deckblatt.get("Puffer", 0) > 0: if deckblatt.get("Puffer", 0) > 0:
if deckblatt.get("Anzahl_der_Pufferstrecken_pro_Puffer", 0) < 3: if deckblatt.get("Anzahl_der_Pufferstrecken_pro_Puffer", 0) < 2:
raise Exception("mind. 2 Strecken sollten existieren") raise Exception("mind. 2 Strecken sollten im Puffer existieren")
# Bypass, wenn mindestens 2 Flyer oder 2 RSM # Bypass, wenn mindestens 2 Flyer oder 2 RSM
# Turm: kein Kriterium # Turm: kein Kriterium
@@ -124,7 +124,7 @@ class MG():
verbindungsstrecken_w_mengen = kwargs['verbindungsstrecken_w'] verbindungsstrecken_w_mengen = kwargs['verbindungsstrecken_w']
self.remove_empty(verbindungsstrecken_w_mengen) 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", "") system = deckblatt.get("SYSTEM", "")
if (system.lower() == "direct"): if (system.lower() == "direct"):
self._rsm_fa = RSM_FA({}) self._rsm_fa = RSM_FA({})
@@ -138,7 +138,8 @@ class MG():
self._flyer_f40 = Flyer_F40_EJet_inc_Putz(flyer_f40_mengen) self._flyer_f40 = Flyer_F40_EJet_inc_Putz(flyer_f40_mengen)
self._neuenhauser = Putzmaschine_Neuenhauser(neuenhauser_mengen) self._neuenhauser = Putzmaschine_Neuenhauser(neuenhauser_mengen)
self._flyer = Flyer_EJet(flyer_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._puffer = Puffer(puffer_mengen)
self._turm = Turm(turm_mengen) self._turm = Turm(turm_mengen)
@@ -789,14 +790,15 @@ class Flyer_EJet(Item):
# Verbindungsstrecken/_Wechsel: # Verbindungsstrecken/_Wechsel:
class Verbindungsstrecken_Wechsel(Item): class Verbindungsstrecken_Wechsel(Item):
def __init__(self, anzahl:dict): def __init__(self, anzahl:dict, Begegnungsstrecke_bypass:int):
mengen = { mengen = {
#auskommentiert => kein Übergabeparameter, wird in Klasse berechnet #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet
"Sensor_optisch_Traverse":0, #"Sensor_optisch_Traverse":0,
"Sensor_optisch_Traverse_Korrektur":0,
"Bedientableau_1fach":0, "Bedientableau_1fach":0,
"Bedientableau_2fach":0, "Bedientableau_2fach":0,
"Bedientableau_14fach":0, "Bedientableau_14fach":0,
"Weiche":0, #"Weiche":0,
"Dreifachweiche":0, "Dreifachweiche":0,
"Kreuzungsweiche":0, "Kreuzungsweiche":0,
"Werma_Rundumleuchte_Störung":0, "Werma_Rundumleuchte_Störung":0,
@@ -806,12 +808,18 @@ class Verbindungsstrecken_Wechsel(Item):
"RA_bi_ohne_SPS-Ansteuerung":0, "RA_bi_ohne_SPS-Ansteuerung":0,
"Doppelstreckenantrieb":0 "Doppelstreckenantrieb":0
} }
self._Mengen = {} 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_1fach"] = anzahl.get("Bedientableau_1fach", 0)
self._Mengen["Bedientableau_2fach"] = anzahl.get("Bedientableau_2fach", 0) self._Mengen["Bedientableau_2fach"] = anzahl.get("Bedientableau_2fach", 0)
self._Mengen["Bedientableau_14fach"] = anzahl.get("Bedientableau_14fach", 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["Dreifachweiche"] = anzahl.get("Dreifachweiche", 0)
self._Mengen["Kreuzungsweiche"] = anzahl.get("Kreuzungsweiche", 0) self._Mengen["Kreuzungsweiche"] = anzahl.get("Kreuzungsweiche", 0)
self._Mengen["Werma_Rundumleuchte_Störung"] = anzahl.get("Werma_Rundumleuchte_Störung", 0) self._Mengen["Werma_Rundumleuchte_Störung"] = anzahl.get("Werma_Rundumleuchte_Störung", 0)
@@ -2814,13 +2822,13 @@ class TestObjectMethods(unittest.TestCase):
} }
verbindungsstrecken_w_eingabe = { verbindungsstrecken_w_eingabe = {
#auskommentiert => kein Übergabeparameter, wird in Klasse berechnet #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet
"Sensor_optisch_Traverse":0, #"Sensor_optisch_Traverse":0,
"Bedientableau_1fach":0, "Bedientableau_1fach":0,
"Bedientableau_2fach":0, "Bedientableau_2fach":0,
"Bedientableau_14fach":0, "Bedientableau_14fach":0,
"Weiche":0, "Weiche":0,
"Dreifachweiche":0, "Dreifachweiche":0,
"Kreuzungsweiche":0, "Kreuzungsweiche":1,
"Werma_Rundumleuchte_Störung":0, "Werma_Rundumleuchte_Störung":0,
"RA_uni":0, "RA_uni":0,
"RA_uni_ohne_SPS_Ansteuerung":0, "RA_uni_ohne_SPS_Ansteuerung":0,
@@ -2829,21 +2837,21 @@ class TestObjectMethods(unittest.TestCase):
"Doppelstreckenantrieb":0 "Doppelstreckenantrieb":0
} }
puffer_eingabe = { puffer_eingabe = {
#auskommentiert => kein Übergabeparameter, wird in Klasse berechnet # auskommentiert => kein Übergabeparameter, wird in Klasse berechnet
#"Anzahl":0, # "Anzahl":0,
#"Puffer":0, #äquivalent zu Anzahl # "Puffer":0, #äquivalent zu Anzahl
#"Anzahl_Pufferstrecken":0, #äquivalent zu Anzahl_Staustrecken # "Anzahl_Pufferstrecken":0, #äquivalent zu Anzahl_Staustrecken
#"Anzahl_Staustrecken":0, # "Anzahl_Staustrecken":0,
#"Sensor_optisch_Traverse":0, # "Sensor_optisch_Traverse":0,
"Sensor_optisch_Traverse_Korrektur":0, "Sensor_optisch_Traverse_Korrektur": 1,
#"Weiche":0, # "Weiche":0,
"Weiche_Korrektur":0, "Weiche_Korrektur": 0,
"RA_bi_ungerade_Schiene":0, "RA_bi_ungerade_Schiene": 2,
#"Doppelstreckenantrieb":0, # "Doppelstreckenantrieb":0,
#"Meldelampe_Überstrom":0, # "Meldelampe_Überstrom":0,
"Meldelampe_Überstrom_Korrektur":0, "Meldelampe_Überstrom_Korrektur": 0,
#"Hauptschalter_Ein_Meldung":0, # "Hauptschalter_Ein_Meldung":0,
"Hauptschalter_Ein-Meldung_Korrektur":0, "Hauptschalter_Ein-Meldung_Korrektur": 0,
} }
turm_eingabe = { turm_eingabe = {
#auskommentiert => kein Übergabeparameter, wird in Klasse berechnet #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet
@@ -2868,32 +2876,94 @@ class TestObjectMethods(unittest.TestCase):
verbindungsstrecken_w=verbindungsstrecken_w_eingabe, verbindungsstrecken_w=verbindungsstrecken_w_eingabe,
puffer=puffer_eingabe, puffer=puffer_eingabe,
turm=turm_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) # check data of Mengengerüst
self.assertEqual(mg.get_value_of_object("rsm_fa", 'Getriebe_in_der_Mitte'), False) self.assertEqual(mg.get_value_of_object('rsm_fa', 'Anzahl_RSM'), 14)
self.assertEqual(mg.get_value_of_object("rsm_fa", 'RSM_Einfahrt_Ein_Beidseitig'), False) self.assertEqual(mg.get_value_of_object('rsm_fa', 'Flex_A_Premium'), False)
self.assertEqual(mg.get_value_of_object("rsm_fa", 'Sensor_optisch_Traverse'), 20) self.assertEqual(mg.get_value_of_object('rsm_fa', 'Getriebe_in_der_Mitte'), False)
self.assertEqual(mg.get_value_of_object("rsm_fa", 'Sensor_optisch_Traverse_zusätzlich'), 6) self.assertEqual(mg.get_value_of_object('rsm_fa', 'RSM_Einfahrt_Ein_Beidseitig'), False)
self.assertEqual(mg.get_value_of_object("rsm_fa", 'Bedientableau_1fach'), 14) self.assertEqual(mg.get_value_of_object('rsm_fa', 'Sensor_optisch_Traverse'), 20)
self.assertEqual(mg.get_value_of_object("rsm_fa", 'Bedientableau_1fach_Korrektur'), 0) 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_2fach'), 2) self.assertEqual(mg.get_value_of_object('rsm_fa', 'Bedientableau_1fach'), 14)
self.assertEqual(mg.get_value_of_object("rsm_fa", 'Bedientableau_2fach_Korrektur'), 0) self.assertEqual(mg.get_value_of_object('rsm_fa', 'Bedientableau_1fach_Korrektur'), 0)
self.assertEqual(mg.get_value_of_object("rsm_fa", 'Weiche'), 14) self.assertEqual(mg.get_value_of_object('rsm_fa', 'Bedientableau_2fach'), 2)
self.assertEqual(mg.get_value_of_object("rsm_fa", 'Weiche_Korrektur'), 0) self.assertEqual(mg.get_value_of_object('rsm_fa', 'Bedientableau_2fach_Korrektur'), 0)
self.assertEqual(mg.get_value_of_object("rsm_fa", 'RRA_bi'), 14) self.assertEqual(mg.get_value_of_object('rsm_fa', 'Weiche'), 14)
self.assertEqual(mg.get_value_of_object("rsm_fa", 'RRA_bi_Korrektur'), 0) self.assertEqual(mg.get_value_of_object('rsm_fa', 'Weiche_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'), 14)
self.assertEqual(mg.get_value_of_object("rsm_fa", 'RRA_bi_ohne_SPS_Ansteuerung'), 0) self.assertEqual(mg.get_value_of_object('rsm_fa', 'RRA_bi_Korrektur'), 0)
self.assertEqual(mg.get_value_of_object("rsm_fa", 'gemeinsame_Wendung'), 0) self.assertEqual(mg.get_value_of_object('rsm_fa', 'RRA_bi_auf_Haupstrecke'), 0)
self.assertEqual(mg.get_value_of_object("rsm_fa", 'Seilzugschalter'), 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", 'Mit_Drucktaster'), 0) self.assertEqual(mg.get_value_of_object('rsm_fa', 'gemeinsame_Wendung'), 0)
self.assertEqual(mg.get_value_of_object("rsm_fa", 'Mit_Drucktaster_Korrektur'), 0) self.assertEqual(mg.get_value_of_object('rsm_fa', 'Seilzugschalter'), 0)
self.assertEqual(mg.get_value_of_object("rsm_fa", 'Meldelampe_Überstrom'), 2) self.assertEqual(mg.get_value_of_object('rsm_fa', 'Mit_Drucktaster'), 0)
self.assertEqual(mg.get_value_of_object("rsm_fa", 'Meldelampe_Überstrom_Korrektur'), 0) self.assertEqual(mg.get_value_of_object('rsm_fa', 'Mit_Drucktaster_Korrektur'), 0)
self.assertEqual(mg.get_value_of_object("rsm_fa", 'Hauptschalter_Ein_Meldung'), 2) self.assertEqual(mg.get_value_of_object('rsm_fa', 'Meldelampe_Überstrom'), 2)
self.assertEqual(mg.get_value_of_object("rsm_fa", 'Hauptschalter_Ein-Meldung_Korrektur'), 0) self.assertEqual(mg.get_value_of_object('rsm_fa', 'Meldelampe_Überstrom_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', 'Hauptschalter_Ein_Meldung'), 2)
self.assertEqual(mg.get_value_of_object("rsm_fa", 'Werma_Rundumleuchte_Störung_Korrektur'), 0) 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 = { Anzahl_EAS = {
"bedienstation_einfach_Zug_Wechseln": 1, "bedienstation_einfach_Zug_Wechseln": 1,
@@ -2905,7 +2975,13 @@ class TestObjectMethods(unittest.TestCase):
"panel_pc": 1, "panel_pc": 1,
"antrieb_unidirektional_halbleiter": 1, "antrieb_unidirektional_halbleiter": 1,
} }
mengen = mg.zusammenfassung()
eas = EA(Anzahl_EAS, mg) eas = EA(Anzahl_EAS, mg)
eas.gesamt_E()
eas.gesamt_A()
eas.Anzahl_notwendigen_Siemens_EAKarten()
hw = HW(Anzahl_HW, mg, eas) hw = HW(Anzahl_HW, mg, eas)
emo_eingabe = { emo_eingabe = {
"Schaltschrank_aufstellen": 1, "Schaltschrank_aufstellen": 1,
@@ -2923,274 +2999,274 @@ class TestObjectMethods(unittest.TestCase):
} }
emo = EMO(eas, hw, mg) emo = EMO(eas, hw, mg)
def test2(self): # def test2(self):
# Anzahl der für das Projekt benutzten # # Anzahl der für das Projekt benutzten
Anzahl_MG = { # Anzahl_MG = {
"SYSTEM":"DIRECT", # "SYSTEM":"DIRECT",
"RSM":11, # "RSM":11,
"Flyer":0, # "Flyer":0,
"Flyer_Puffer":2, # "Flyer_Puffer":2,
"Flyer_Electrojet_incl_intergrierte_Putzmaschine":1, # "Flyer_Electrojet_incl_intergrierte_Putzmaschine":1,
"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer":2, # "Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer":2,
"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer":2, # "Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer":2,
"Neuenhauser-Putzmaschine":0, # "Neuenhauser-Putzmaschine":0,
"Neuenhauser-Putzmaschine_Vorpuffer":0, # "Neuenhauser-Putzmaschine_Vorpuffer":0,
"Neuenhauser-Putzmaschine_Nachpuffer":0, # "Neuenhauser-Putzmaschine_Nachpuffer":0,
"Cason-Putzmaschine":0, # "Cason-Putzmaschine":0,
"Cason-Putzmaschine_Vorpuffer":0, # "Cason-Putzmaschine_Vorpuffer":0,
"Cason-Putzmaschine_Nachpuffer":0, # "Cason-Putzmaschine_Nachpuffer":0,
"Puffer":1, # "Puffer":1,
"Anzahl_der_Pufferstrecken_pro_Puffer":2, # "Anzahl_der_Pufferstrecken_pro_Puffer":2,
"Begegnungsstrecke_Bypass":0, # "Begegnungsstrecke_Bypass":0,
"Turm":0, # "Turm":0,
"Turm_Anzahl_Wendlungen":0, # "Turm_Anzahl_Wendlungen":0,
} # }
#
rsm_direct_eingabe = { # rsm_direct_eingabe = {
#auskommentiert => kein Übergabeparameter, wird in Klasse berechnet # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet
#"Anzahl":0, # wird in deckblatt-Klasse berechnet # #"Anzahl":0, # wird in deckblatt-Klasse berechnet
#"Anzahl_Strecken_RSM":8, # #"Anzahl_Strecken_RSM":8,
"Sensor_optisch_Traverse":0, # "Sensor_optisch_Traverse":0,
#"Lichtschranke_Traverse":0, # #"Lichtschranke_Traverse":0,
#"Bedientableau_2fach":0, # #"Bedientableau_2fach":0,
"Bedientableau_2fach_Korrektur":0, # "Bedientableau_2fach_Korrektur":0,
#"Bedientableau_2fach_Direct":0, # #"Bedientableau_2fach_Direct":0,
#"Weiche":0, # #"Weiche":0,
"Weiche_Korrektur":0, # "Weiche_Korrektur":0,
#"Weiche_Gemeinsame_Rückstellung":0, # #"Weiche_Gemeinsame_Rückstellung":0,
"Weiche_Gemeinsame_Rückstellung_Korrektur":0, # "Weiche_Gemeinsame_Rückstellung_Korrektur":0,
#"RA_bi_abhebbar":0, # #"RA_bi_abhebbar":0,
"RA_bi_abhebbar_Korrektur":0, # "RA_bi_abhebbar_Korrektur":0,
#"Doppelstreckenantrieb":0, # #"Doppelstreckenantrieb":0,
#"gemeinsame_Wendung":0, # #"gemeinsame_Wendung":0,
#"Meldelampe_Überstrom":0, # #"Meldelampe_Überstrom":0,
"Meldelampe_Überstrom_Korrektur":0, # "Meldelampe_Überstrom_Korrektur":0,
#"Hauptschalter_Ein_Meldung":0, # #"Hauptschalter_Ein_Meldung":0,
"Hauptschalter_Ein-Meldung_Korrektur":0, # "Hauptschalter_Ein-Meldung_Korrektur":0,
#"Werma_Rundumleuchte_Störung":0, # #"Werma_Rundumleuchte_Störung":0,
"Werma_Rundumleuchte_Störung_Korrektur":0, # "Werma_Rundumleuchte_Störung_Korrektur":0,
} # }
rsm_fa_eingabe = { # rsm_fa_eingabe = {
#auskommentiert => kein Übergabeparameter, wird in Klasse berechnet # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet
#"Anzahl_RSM":0, # #"Anzahl_RSM":0,
#"Automatische_Umfahrung":0, # 'Automatische_Umfahrung' und 'Flex_A_Premium' sind eine Zelle -> identischer Wert # #"Automatische_Umfahrung":0, # 'Automatische_Umfahrung' und 'Flex_A_Premium' sind eine Zelle -> identischer Wert
"Flex_A_Premium":False, # "Flex_A_Premium":False,
"Getriebe_in_der_Mitte":False, # "Getriebe_in_der_Mitte":False,
"RSM_Einfahrt_Ein_Beidseitig":False, # "RSM_Einfahrt_Ein_Beidseitig":False,
#"Sensor_optisch_Traverse":0, # #"Sensor_optisch_Traverse":0,
"Sensor_optisch_Traverse_zusätzlich":0, # "Sensor_optisch_Traverse_zusätzlich":0,
#"Bedientableau_1fach":0, # #"Bedientableau_1fach":0,
"Bedientableau_1fach_Korrektur":0, # "Bedientableau_1fach_Korrektur":0,
#"Bedientableau_2fach":0, # #"Bedientableau_2fach":0,
"Bedientableau_2fach_Korrektur":0, # "Bedientableau_2fach_Korrektur":0,
#"Weiche":0, # #"Weiche":0,
"Weiche_Korrektur":0, # "Weiche_Korrektur":0,
#"RRA_bi":0, # #"RRA_bi":0,
"RRA_bi_Korrektur":0, # "RRA_bi_Korrektur":0,
"RRA_bi_auf_Haupstrecke":0, # "RRA_bi_auf_Haupstrecke":0,
#"RRA_bi_ohne_SPS_Ansteuerung":0, # #"RRA_bi_ohne_SPS_Ansteuerung":0,
"gemeinsame_Wendung":0, # "gemeinsame_Wendung":0,
#"Seilzugschalter":0, # #"Seilzugschalter":0,
#"Mit_Drucktaster":0, # #"Mit_Drucktaster":0,
"Mit_Drucktaster_Korrektur":0, # "Mit_Drucktaster_Korrektur":0,
#"Meldelampe_Überstrom":0, # #"Meldelampe_Überstrom":0,
"Meldelampe_Überstrom_Korrektur":0, # "Meldelampe_Überstrom_Korrektur":0,
#"Hauptschalter_Ein_Meldung":0, # #"Hauptschalter_Ein_Meldung":0,
"Hauptschalter_Ein-Meldung_Korrektur":0, # "Hauptschalter_Ein-Meldung_Korrektur":0,
#"Werma_Rundumleuchte_Störung":0, # #"Werma_Rundumleuchte_Störung":0,
"Werma_Rundumleuchte_Störung_Korrektur":0, # "Werma_Rundumleuchte_Störung_Korrektur":0,
} # }
flyer_f40_eingabe = { # flyer_f40_eingabe = {
#auskommentiert => kein Übergabeparameter, wird in Klasse berechnet # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet
#"Anzahl":0, # #"Anzahl":0,
#"Flyer_Electrojet_incl_intergrierte_Putzmaschine":0, #wird in deckblatt-Klasse berechnet # #"Flyer_Electrojet_incl_intergrierte_Putzmaschine":0, #wird in deckblatt-Klasse berechnet
"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Korrektur":0, # "Flyer_Electrojet_incl_intergrierte_Putzmaschine_Korrektur":0,
#"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer":2, #wird in deckblatt-Klasse berechnet # #"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer":2, #wird in deckblatt-Klasse berechnet
#"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer":2, #wird in deckblatt-Klasse berechnet # #"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer":2, #wird in deckblatt-Klasse berechnet
#"Anzahl_Schienen":0, # #"Anzahl_Schienen":0,
"Single_Line_Durchfahrt":False, # "Single_Line_Durchfahrt":False,
"Nachpuffer":False, # "Nachpuffer":False,
#"Sensor_optisch_Traverse":0, # #"Sensor_optisch_Traverse":0,
"Sensor_optisch_Traverse_Korrektur":0, # "Sensor_optisch_Traverse_Korrektur":0,
#"Sensor_induktiv_Spulenhalter":0, # #"Sensor_induktiv_Spulenhalter":0,
"Sensor_induktiv_Spulenhalter_Korrektur":0, # "Sensor_induktiv_Spulenhalter_Korrektur":0,
#"Bedientableau_2fach":0, # #"Bedientableau_2fach":0,
"Bedientableau_2fach_Korrektur":0, # "Bedientableau_2fach_Korrektur":0,
#"Interface_Doffer":0, # #"Interface_Doffer":0,
"Interface_Doffer_Korrektur":0, # "Interface_Doffer_Korrektur":0,
#"Weiche":0, # #"Weiche":0,
"Weiche_Korrektur":0, # "Weiche_Korrektur":0,
#"Weiche_nach_Flyer_bipolar":0, # #"Weiche_nach_Flyer_bipolar":0,
"Weiche_nach_Flyer_bipolar_Korrektur":0, # "Weiche_nach_Flyer_bipolar_Korrektur":0,
"Dreifachweiche":0, # "Dreifachweiche":0,
"Wechsel":0, # "Wechsel":0,
"Stopper":0, # "Stopper":0,
"RA_uni":0, # "RA_uni":0,
#"RA_uni_abhebbar":0, # #"RA_uni_abhebbar":0,
"RA_uni_abhebbar_Korrektur":0, # "RA_uni_abhebbar_Korrektur":0,
#"RA_uni_ohne_SPS_Ansteuerung":0, # #"RA_uni_ohne_SPS_Ansteuerung":0,
"RA_uni_ohne_SPS_Ansteuerung_Korrektur":0, # "RA_uni_ohne_SPS_Ansteuerung_Korrektur":0,
#"RRA_BI_abhebbar":0, # #"RRA_BI_abhebbar":0,
"RRA_BI_abhebbar_Korrektur":0, # "RRA_BI_abhebbar_Korrektur":0,
"RRA_bi":0, # "RRA_bi":0,
#"RRA_bi_Korrektur":0, # #"RRA_bi_Korrektur":0,
#"RRA_bi_ohne_SPS_Ansteuerung":0, # #"RRA_bi_ohne_SPS_Ansteuerung":0,
"RRA_bi_ohne_SPS_Ansteuerung_Korrektur":0, # "RRA_bi_ohne_SPS_Ansteuerung_Korrektur":0,
#"Doppelstreckenantrieb":0, # #"Doppelstreckenantrieb":0,
"Doppelstreckenantrieb_Korrektur":0, # "Doppelstreckenantrieb_Korrektur":0,
"RA_bi_abhebbar_unger_Schiene":0, # "RA_bi_abhebbar_unger_Schiene":0,
#"Meldelampe_Überstrom":0, # #"Meldelampe_Überstrom":0,
"Meldelampe_Überstrom_Korrektur":0, # "Meldelampe_Überstrom_Korrektur":0,
#"Hauptschalter_Ein_Meldung":0, # #"Hauptschalter_Ein_Meldung":0,
"Hauptschalter_Ein-Meldung_Korrektur":0, # "Hauptschalter_Ein-Meldung_Korrektur":0,
#"Werma_Rundumleuchte_Störung":0, # #"Werma_Rundumleuchte_Störung":0,
"Werma_Rundumleuchte_Störung_Korrektur":0, # "Werma_Rundumleuchte_Störung_Korrektur":0,
} # }
neuenhauser_eingabe = { # neuenhauser_eingabe = {
#auskommentiert => kein Übergabeparameter, wird in Klasse berechnet # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet
#"Anzahl":0, # #"Anzahl":0,
#"Neuenhauser-Putzmaschine":0, #wird in deckblatt-Klasse zugewiesen # #"Neuenhauser-Putzmaschine":0, #wird in deckblatt-Klasse zugewiesen
#"Neuenhauser-Putzmaschine_Vorpuffer":0, #wird in deckblatt-Klasse zugewiesen # #"Neuenhauser-Putzmaschine_Vorpuffer":0, #wird in deckblatt-Klasse zugewiesen
#"Neuenhauser-Putzmaschine_Nachpuffer":0, #wird in deckblatt-Klasse zugewiesen # #"Neuenhauser-Putzmaschine_Nachpuffer":0, #wird in deckblatt-Klasse zugewiesen
#"Anzahl_Vorstaustrecken":0, # #"Anzahl_Vorstaustrecken":0,
#"Anzahl_Nachstaustrecken":0, # #"Anzahl_Nachstaustrecken":0,
#"Sensor_optisch_Traverse":0, # #"Sensor_optisch_Traverse":0,
"Sensor_optisch_Traverse_Korrektur":0, # "Sensor_optisch_Traverse_Korrektur":0,
#"Sensorik_Zugpositionierung":0, # #"Sensorik_Zugpositionierung":0,
#"Sensor_WT18_Spulenprüfung_voll_leer":0, # #"Sensor_WT18_Spulenprüfung_voll_leer":0,
#"Bedientableau_2fach":0, # #"Bedientableau_2fach":0,
"Bedientableau_2fach_Korrektur":0, # "Bedientableau_2fach_Korrektur":0,
#"Interface_Putzmaschine":0, # #"Interface_Putzmaschine":0,
#"Weiche":0, # #"Weiche":0,
"Weiche_Korrektur":0, # "Weiche_Korrektur":0,
#"Weiche_nach_PM_bipolar":0, # #"Weiche_nach_PM_bipolar":0,
#"RA_uni_abhebbar":0, # #"RA_uni_abhebbar":0,
"RA_uni_abhebbar_Korrektur":0, # "RA_uni_abhebbar_Korrektur":0,
#"RA_uni_ohne_SPS_Ansteuerung":0, # #"RA_uni_ohne_SPS_Ansteuerung":0,
#"RA_uni_abhebbar_unger_Sch":0, # #"RA_uni_abhebbar_unger_Sch":0,
#"Doppelstreckenantrieb":0, # #"Doppelstreckenantrieb":0,
#"Meldelampe_Überstrom":0, # #"Meldelampe_Überstrom":0,
"Meldelampe_Überstrom_Korrektur":0, # "Meldelampe_Überstrom_Korrektur":0,
#"Hauptschalter_Ein_Meldung":0, # #"Hauptschalter_Ein_Meldung":0,
"Hauptschalter_Ein-Meldung_Korrektur":0, # "Hauptschalter_Ein-Meldung_Korrektur":0,
#"Werma_Rundumleuchte_Störung":0, # #"Werma_Rundumleuchte_Störung":0,
"Werma_Rundumleuchte_Störung_Korrektur":0, # "Werma_Rundumleuchte_Störung_Korrektur":0,
} # }
flyer_eingabe = { # flyer_eingabe = {
#auskommentiert => kein Übergabeparameter, wird in Klasse berechnet # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet
#"Anzahl":0, # #"Anzahl":0,
#"Flyer":0, # äquivalent zu 'Anzahl' # #"Flyer":0, # äquivalent zu 'Anzahl'
#"Anzahl_Schienen:":0, # #"Anzahl_Schienen:":0,
#"Sensor_optisch_Traverse":0, # #"Sensor_optisch_Traverse":0,
"Sensor_optisch_Traverse_Korrektur":0, # "Sensor_optisch_Traverse_Korrektur":0,
#"Sensor_induktiv_Spulenalter_Zug_positionierung":0, # #"Sensor_induktiv_Spulenalter_Zug_positionierung":0,
#"Bedientableau_2fach":0, # #"Bedientableau_2fach":0,
#"Interface_Doffer":0, # #"Interface_Doffer":0,
#"Weiche":0, # #"Weiche":0,
"Weiche_Korrektur":0, # "Weiche_Korrektur":0,
#"Weiche_nach_Flyer_bipolar":0, # #"Weiche_nach_Flyer_bipolar":0,
"Dreifachweiche":0, # "Dreifachweiche":0,
#"Wechsel":0, # #"Wechsel":0,
"Wechsel_Korrektur":0, # "Wechsel_Korrektur":0,
#"RA_bi_ohne_SPS-Ansteuerung":0, # #"RA_bi_ohne_SPS-Ansteuerung":0,
#"RA_bi_abhebbar":0, # #"RA_bi_abhebbar":0,
"RA_bi_abhebbar_Korrektur":0, # "RA_bi_abhebbar_Korrektur":0,
"RA_bi":0, # "RA_bi":0,
#"Doppelstreckenantrieb":0, # #"Doppelstreckenantrieb":0,
"RA_bi_abhebbar_unger_Schiene":0, # "RA_bi_abhebbar_unger_Schiene":0,
#"Meldelampe_Überstrom":0, # #"Meldelampe_Überstrom":0,
"Meldelampe_Überstrom_Korrektur":0, # "Meldelampe_Überstrom_Korrektur":0,
#"Hauptschalter_Ein_Meldung":0, # #"Hauptschalter_Ein_Meldung":0,
"Hauptschalter_Ein-Meldung_Korrektur":0, # "Hauptschalter_Ein-Meldung_Korrektur":0,
#"Werma_Rundumleuchte_Störung":0, # #"Werma_Rundumleuchte_Störung":0,
"Werma_Rundumleuchte_Störung_Korrektur":0, # "Werma_Rundumleuchte_Störung_Korrektur":0,
} # }
verbindungsstrecken_w_eingabe = { # verbindungsstrecken_w_eingabe = {
#auskommentiert => kein Übergabeparameter, wird in Klasse berechnet # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet
"Sensor_optisch_Traverse":0, # "Sensor_optisch_Traverse":0,
"Bedientableau_1fach":0, # "Bedientableau_1fach":0,
"Bedientableau_2fach":0, # "Bedientableau_2fach":0,
"Bedientableau_14fach":0, # "Bedientableau_14fach":0,
"Weiche":0, # "Weiche":0,
"Dreifachweiche":0, # "Dreifachweiche":0,
"Kreuzungsweiche":0, # "Kreuzungsweiche":0,
"Werma_Rundumleuchte_Störung":0, # "Werma_Rundumleuchte_Störung":0,
"RA_uni":0, # "RA_uni":0,
"RA_uni_ohne_SPS_Ansteuerung":0, # "RA_uni_ohne_SPS_Ansteuerung":0,
"RA_bi":0, # "RA_bi":0,
"RA_bi_ohne_SPS-Ansteuerung":0, # "RA_bi_ohne_SPS-Ansteuerung":0,
"Doppelstreckenantrieb":0 # "Doppelstreckenantrieb":0
} # }
puffer_eingabe = { # puffer_eingabe = {
#auskommentiert => kein Übergabeparameter, wird in Klasse berechnet # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet
#"Anzahl":0, # #"Anzahl":0,
#"Puffer":0, #äquivalent zu Anzahl # #"Puffer":0, #äquivalent zu Anzahl
#"Anzahl_Pufferstrecken":0, #äquivalent zu Anzahl_Staustrecken # #"Anzahl_Pufferstrecken":0, #äquivalent zu Anzahl_Staustrecken
#"Anzahl_Staustrecken":0, # #"Anzahl_Staustrecken":0,
#"Sensor_optisch_Traverse":0, # #"Sensor_optisch_Traverse":0,
"Sensor_optisch_Traverse_Korrektur":0, # "Sensor_optisch_Traverse_Korrektur":0,
#"Weiche":0, # #"Weiche":0,
"Weiche_Korrektur":0, # "Weiche_Korrektur":0,
"RA_bi_ungerade_Schiene":0, # "RA_bi_ungerade_Schiene":0,
#"Doppelstreckenantrieb":0, # #"Doppelstreckenantrieb":0,
#"Meldelampe_Überstrom":0, # #"Meldelampe_Überstrom":0,
"Meldelampe_Überstrom_Korrektur":0, # "Meldelampe_Überstrom_Korrektur":0,
#"Hauptschalter_Ein_Meldung":0, # #"Hauptschalter_Ein_Meldung":0,
"Hauptschalter_Ein-Meldung_Korrektur":0, # "Hauptschalter_Ein-Meldung_Korrektur":0,
} # }
turm_eingabe = { # turm_eingabe = {
#auskommentiert => kein Übergabeparameter, wird in Klasse berechnet # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet
#"Anzahl":0, # #"Anzahl":0,
#"Turm":0, #äquivalent zu Anzahl # #"Turm":0, #äquivalent zu Anzahl
#"Anzahl_Wendlungen":0, #äquivalent zu Anzahl_Staustrecken # #"Anzahl_Wendlungen":0, #äquivalent zu Anzahl_Staustrecken
#"Anzahl_Staustrecken":0, # #"Anzahl_Staustrecken":0,
#"Sensor_optisch_Traverse":0, # #"Sensor_optisch_Traverse":0,
#"Weiche":0, # #"Weiche":0,
#"RA_bi":0, # #"RA_bi":0,
"RA_bi_Korrektur":0, # "RA_bi_Korrektur":0,
#"RA_bi_ohne_SPS":0, # #"RA_bi_ohne_SPS":0,
"RA_bi_ohne_SPS_Korrektur":0, # "RA_bi_ohne_SPS_Korrektur":0,
#"Bedientableau_2fach":0, # #"Bedientableau_2fach":0,
} # }
mg = MG(Anzahl_MG, # mg = MG(Anzahl_MG,
rsm_direct=rsm_direct_eingabe, # rsm_direct=rsm_direct_eingabe,
rsm_fa=rsm_fa_eingabe, # rsm_fa=rsm_fa_eingabe,
flyer_f40=flyer_f40_eingabe, # flyer_f40=flyer_f40_eingabe,
neuenhauser=neuenhauser_eingabe, # neuenhauser=neuenhauser_eingabe,
flyer=flyer_eingabe, # flyer=flyer_eingabe,
verbindungsstrecken_w=verbindungsstrecken_w_eingabe, # verbindungsstrecken_w=verbindungsstrecken_w_eingabe,
puffer=puffer_eingabe, # puffer=puffer_eingabe,
turm=turm_eingabe) # turm=turm_eingabe)
#
#mg.tofile() # #mg.tofile()
#mg.ztofile() # #mg.ztofile()
Anzahl_EAS = { # Anzahl_EAS = {
"bedienstation_einfach_Zug_Wechseln": 1, # "bedienstation_einfach_Zug_Wechseln": 1,
"Weiche": 2, # "Weiche": 2,
"RA_unidirektional": 1 # "RA_unidirektional": 1
} # }
Anzahl_HW = { # Anzahl_HW = {
"hauptschalter": 2, # "hauptschalter": 2,
"panel_pc": 1, # "panel_pc": 1,
"antrieb_unidirektional_halbleiter": 1, # "antrieb_unidirektional_halbleiter": 1,
} # }
eas = EA(Anzahl_EAS, mg) # eas = EA(Anzahl_EAS, mg)
hw = HW(Anzahl_HW, mg, eas) # hw = HW(Anzahl_HW, mg, eas)
emo_eingabe = { # emo_eingabe = {
"Schaltschrank_aufstellen": 1, # "Schaltschrank_aufstellen": 1,
"Unterverteiler_montieren": 4, # "Unterverteiler_montieren": 4,
"Pritsche_montieren_umbauen_demontieren": 66, # "Pritsche_montieren_umbauen_demontieren": 66,
"Pritsche_in_RSM_montieren": 0, # "Pritsche_in_RSM_montieren": 0,
"Motor_verdrahten_und_anschliessen": 97, # "Motor_verdrahten_und_anschliessen": 97,
"Tableau_befestigen_und_anschliessen": 15, # "Tableau_befestigen_und_anschliessen": 15,
"Schnittstelle_Flyer_Putzmaschine": 1, # "Schnittstelle_Flyer_Putzmaschine": 1,
"Sensoren_montieren": 84, # "Sensoren_montieren": 84,
"Seilzugschalter_installieren": 0, # "Seilzugschalter_installieren": 0,
"Blitzleuchte_installieren": 3, # "Blitzleuchte_installieren": 3,
"Weiche_Stopper_anschliessen": 244, # "Weiche_Stopper_anschliessen": 244,
"Erdung": 40, # "Erdung": 40,
} # }
emo = EMO(eas, hw, mg) # emo = EMO(eas, hw, mg)