test JayJay weiter im Bereich Hardware verfolgt

This commit is contained in:
2022-09-14 17:11:21 +02:00
parent 455c44ce30
commit 2de6f6d12a
+377 -301
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
@@ -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,
@@ -2835,10 +2843,10 @@ class TestObjectMethods(unittest.TestCase):
# "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,
@@ -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,
#"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":0,
"Sensor_optisch_Traverse_zusätzlich":0, # #"Lichtschranke_Traverse":0,
#"Bedientableau_1fach":0, # #"Bedientableau_2fach":0,
"Bedientableau_1fach_Korrektur":0, # "Bedientableau_2fach_Korrektur":0,
#"Bedientableau_2fach":0, # #"Bedientableau_2fach_Direct":0,
"Bedientableau_2fach_Korrektur":0, # #"Weiche":0,
#"Weiche":0, # "Weiche_Korrektur":0,
"Weiche_Korrektur":0, # #"Weiche_Gemeinsame_Rückstellung":0,
#"RRA_bi":0, # "Weiche_Gemeinsame_Rückstellung_Korrektur":0,
"RRA_bi_Korrektur":0, # #"RA_bi_abhebbar":0,
"RRA_bi_auf_Haupstrecke":0, # "RA_bi_abhebbar_Korrektur":0,
#"RRA_bi_ohne_SPS_Ansteuerung":0, # #"Doppelstreckenantrieb":0,
"gemeinsame_Wendung":0, # #"gemeinsame_Wendung":0,
#"Seilzugschalter":0, # #"Meldelampe_Überstrom":0,
#"Mit_Drucktaster":0, # "Meldelampe_Überstrom_Korrektur":0,
"Mit_Drucktaster_Korrektur":0, # #"Hauptschalter_Ein_Meldung":0,
#"Meldelampe_Überstrom":0, # "Hauptschalter_Ein-Meldung_Korrektur":0,
"Meldelampe_Überstrom_Korrektur":0, # #"Werma_Rundumleuchte_Störung":0,
#"Hauptschalter_Ein_Meldung":0, # "Werma_Rundumleuchte_Störung_Korrektur":0,
"Hauptschalter_Ein-Meldung_Korrektur":0, # }
#"Werma_Rundumleuchte_Störung":0, # rsm_fa_eingabe = {
"Werma_Rundumleuchte_Störung_Korrektur":0, # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet
} # #"Anzahl_RSM":0,
flyer_f40_eingabe = { # #"Automatische_Umfahrung":0, # 'Automatische_Umfahrung' und 'Flex_A_Premium' sind eine Zelle -> identischer Wert
#auskommentiert => kein Übergabeparameter, wird in Klasse berechnet # "Flex_A_Premium":False,
#"Anzahl":0, # "Getriebe_in_der_Mitte":False,
#"Flyer_Electrojet_incl_intergrierte_Putzmaschine":0, #wird in deckblatt-Klasse berechnet # "RSM_Einfahrt_Ein_Beidseitig":False,
"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Korrektur":0, # #"Sensor_optisch_Traverse":0,
#"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer":2, #wird in deckblatt-Klasse berechnet # "Sensor_optisch_Traverse_zusätzlich":0,
#"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer":2, #wird in deckblatt-Klasse berechnet # #"Bedientableau_1fach":0,
#"Anzahl_Schienen":0, # "Bedientableau_1fach_Korrektur":0,
"Single_Line_Durchfahrt":False, # #"Bedientableau_2fach":0,
"Nachpuffer":False, # "Bedientableau_2fach_Korrektur":0,
#"Sensor_optisch_Traverse":0, # #"Weiche":0,
"Sensor_optisch_Traverse_Korrektur":0, # "Weiche_Korrektur":0,
#"Sensor_induktiv_Spulenhalter":0, # #"RRA_bi":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_Korrektur":0,
#"RRA_bi_ohne_SPS_Ansteuerung":0, # "RRA_bi_auf_Haupstrecke":0,
"RRA_bi_ohne_SPS_Ansteuerung_Korrektur":0, # #"RRA_bi_ohne_SPS_Ansteuerung":0,
#"Doppelstreckenantrieb":0, # "gemeinsame_Wendung":0,
"Doppelstreckenantrieb_Korrektur":0, # #"Seilzugschalter":0,
"RA_bi_abhebbar_unger_Schiene":0, # #"Mit_Drucktaster":0,
#"Meldelampe_Überstrom":0, # "Mit_Drucktaster_Korrektur":0,
"Meldelampe_Überstrom_Korrektur":0, # #"Meldelampe_Überstrom":0,
#"Hauptschalter_Ein_Meldung":0, # "Meldelampe_Überstrom_Korrektur":0,
"Hauptschalter_Ein-Meldung_Korrektur":0, # #"Hauptschalter_Ein_Meldung":0,
#"Werma_Rundumleuchte_Störung":0, # "Hauptschalter_Ein-Meldung_Korrektur":0,
"Werma_Rundumleuchte_Störung_Korrektur":0, # #"Werma_Rundumleuchte_Störung":0,
} # "Werma_Rundumleuchte_Störung_Korrektur":0,
neuenhauser_eingabe = { # }
#auskommentiert => kein Übergabeparameter, wird in Klasse berechnet # flyer_f40_eingabe = {
#"Anzahl":0, # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet
#"Neuenhauser-Putzmaschine":0, #wird in deckblatt-Klasse zugewiesen # #"Anzahl":0,
#"Neuenhauser-Putzmaschine_Vorpuffer":0, #wird in deckblatt-Klasse zugewiesen # #"Flyer_Electrojet_incl_intergrierte_Putzmaschine":0, #wird in deckblatt-Klasse berechnet
#"Neuenhauser-Putzmaschine_Nachpuffer":0, #wird in deckblatt-Klasse zugewiesen # "Flyer_Electrojet_incl_intergrierte_Putzmaschine_Korrektur":0,
#"Anzahl_Vorstaustrecken":0, # #"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer":2, #wird in deckblatt-Klasse berechnet
#"Anzahl_Nachstaustrecken":0, # #"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer":2, #wird in deckblatt-Klasse berechnet
#"Sensor_optisch_Traverse":0, # #"Anzahl_Schienen":0,
"Sensor_optisch_Traverse_Korrektur":0, # "Single_Line_Durchfahrt":False,
#"Sensorik_Zugpositionierung":0, # "Nachpuffer":False,
#"Sensor_WT18_Spulenprüfung_voll_leer":0, # #"Sensor_optisch_Traverse":0,
#"Bedientableau_2fach":0, # "Sensor_optisch_Traverse_Korrektur":0,
"Bedientableau_2fach_Korrektur":0, # #"Sensor_induktiv_Spulenhalter":0,
#"Interface_Putzmaschine":0, # "Sensor_induktiv_Spulenhalter_Korrektur":0,
#"Weiche":0, # #"Bedientableau_2fach":0,
"Weiche_Korrektur":0, # "Bedientableau_2fach_Korrektur":0,
#"Weiche_nach_PM_bipolar":0, # #"Interface_Doffer":0,
#"RA_uni_abhebbar":0, # "Interface_Doffer_Korrektur":0,
"RA_uni_abhebbar_Korrektur":0, # #"Weiche":0,
#"RA_uni_ohne_SPS_Ansteuerung":0, # "Weiche_Korrektur":0,
#"RA_uni_abhebbar_unger_Sch":0, # #"Weiche_nach_Flyer_bipolar":0,
#"Doppelstreckenantrieb":0, # "Weiche_nach_Flyer_bipolar_Korrektur":0,
#"Meldelampe_Überstrom":0, # "Dreifachweiche":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":0,
"Wechsel_Korrektur":0, # "Stopper":0,
#"RA_bi_ohne_SPS-Ansteuerung":0, # "RA_uni":0,
#"RA_bi_abhebbar":0, # #"RA_uni_abhebbar":0,
"RA_bi_abhebbar_Korrektur":0, # "RA_uni_abhebbar_Korrektur":0,
"RA_bi":0, # #"RA_uni_ohne_SPS_Ansteuerung":0,
#"Doppelstreckenantrieb":0, # "RA_uni_ohne_SPS_Ansteuerung_Korrektur":0,
"RA_bi_abhebbar_unger_Schiene":0, # #"RRA_BI_abhebbar":0,
#"Meldelampe_Überstrom":0, # "RRA_BI_abhebbar_Korrektur":0,
"Meldelampe_Überstrom_Korrektur":0, # "RRA_bi":0,
#"Hauptschalter_Ein_Meldung":0, # #"RRA_bi_Korrektur":0,
"Hauptschalter_Ein-Meldung_Korrektur":0, # #"RRA_bi_ohne_SPS_Ansteuerung":0,
#"Werma_Rundumleuchte_Störung":0, # "RRA_bi_ohne_SPS_Ansteuerung_Korrektur":0,
"Werma_Rundumleuchte_Störung_Korrektur":0, # #"Doppelstreckenantrieb":0,
} # "Doppelstreckenantrieb_Korrektur":0,
verbindungsstrecken_w_eingabe = { # "RA_bi_abhebbar_unger_Schiene":0,
#auskommentiert => kein Übergabeparameter, wird in Klasse berechnet # #"Meldelampe_Überstrom":0,
"Sensor_optisch_Traverse":0, # "Meldelampe_Überstrom_Korrektur":0,
"Bedientableau_1fach":0, # #"Hauptschalter_Ein_Meldung":0,
"Bedientableau_2fach":0, # "Hauptschalter_Ein-Meldung_Korrektur":0,
"Bedientableau_14fach":0, # #"Werma_Rundumleuchte_Störung":0,
"Weiche":0, # "Werma_Rundumleuchte_Störung_Korrektur":0,
"Dreifachweiche":0, # }
"Kreuzungsweiche":0, # neuenhauser_eingabe = {
"Werma_Rundumleuchte_Störung":0, # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet
"RA_uni":0, # #"Anzahl":0,
"RA_uni_ohne_SPS_Ansteuerung":0, # #"Neuenhauser-Putzmaschine":0, #wird in deckblatt-Klasse zugewiesen
"RA_bi":0, # #"Neuenhauser-Putzmaschine_Vorpuffer":0, #wird in deckblatt-Klasse zugewiesen
"RA_bi_ohne_SPS-Ansteuerung":0, # #"Neuenhauser-Putzmaschine_Nachpuffer":0, #wird in deckblatt-Klasse zugewiesen
"Doppelstreckenantrieb":0 # #"Anzahl_Vorstaustrecken":0,
} # #"Anzahl_Nachstaustrecken":0,
puffer_eingabe = { # #"Sensor_optisch_Traverse":0,
#auskommentiert => kein Übergabeparameter, wird in Klasse berechnet # "Sensor_optisch_Traverse_Korrektur":0,
#"Anzahl":0, # #"Sensorik_Zugpositionierung":0,
#"Puffer":0, #äquivalent zu Anzahl # #"Sensor_WT18_Spulenprüfung_voll_leer":0,
#"Anzahl_Pufferstrecken":0, #äquivalent zu Anzahl_Staustrecken # #"Bedientableau_2fach":0,
#"Anzahl_Staustrecken":0, # "Bedientableau_2fach_Korrektur":0,
#"Sensor_optisch_Traverse":0, # #"Interface_Putzmaschine":0,
"Sensor_optisch_Traverse_Korrektur":0, # #"Weiche":0,
#"Weiche":0, # "Weiche_Korrektur":0,
"Weiche_Korrektur":0, # #"Weiche_nach_PM_bipolar":0,
"RA_bi_ungerade_Schiene":0, # #"RA_uni_abhebbar":0,
#"Doppelstreckenantrieb":0, # "RA_uni_abhebbar_Korrektur":0,
#"Meldelampe_Überstrom":0, # #"RA_uni_ohne_SPS_Ansteuerung":0,
"Meldelampe_Überstrom_Korrektur":0, # #"RA_uni_abhebbar_unger_Sch":0,
#"Hauptschalter_Ein_Meldung":0, # #"Doppelstreckenantrieb":0,
"Hauptschalter_Ein-Meldung_Korrektur":0, # #"Meldelampe_Überstrom":0,
} # "Meldelampe_Überstrom_Korrektur":0,
turm_eingabe = { # #"Hauptschalter_Ein_Meldung":0,
#auskommentiert => kein Übergabeparameter, wird in Klasse berechnet # "Hauptschalter_Ein-Meldung_Korrektur":0,
#"Anzahl":0, # #"Werma_Rundumleuchte_Störung":0,
#"Turm":0, #äquivalent zu Anzahl # "Werma_Rundumleuchte_Störung_Korrektur":0,
#"Anzahl_Wendlungen":0, #äquivalent zu Anzahl_Staustrecken # }
#"Anzahl_Staustrecken":0, # flyer_eingabe = {
#"Sensor_optisch_Traverse":0, # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet
#"Weiche":0, # #"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, # "RA_bi":0,
"RA_bi_Korrektur":0, # #"Doppelstreckenantrieb":0,
#"RA_bi_ohne_SPS":0, # "RA_bi_abhebbar_unger_Schiene":0,
"RA_bi_ohne_SPS_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,
# }
# verbindungsstrecken_w_eingabe = {
# #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet
# "Sensor_optisch_Traverse":0,
# "Bedientableau_1fach":0,
# "Bedientableau_2fach":0, # "Bedientableau_2fach":0,
} # "Bedientableau_14fach":0,
mg = MG(Anzahl_MG, # "Weiche":0,
rsm_direct=rsm_direct_eingabe, # "Dreifachweiche":0,
rsm_fa=rsm_fa_eingabe, # "Kreuzungsweiche":0,
flyer_f40=flyer_f40_eingabe, # "Werma_Rundumleuchte_Störung":0,
neuenhauser=neuenhauser_eingabe, # "RA_uni":0,
flyer=flyer_eingabe, # "RA_uni_ohne_SPS_Ansteuerung":0,
verbindungsstrecken_w=verbindungsstrecken_w_eingabe, # "RA_bi":0,
puffer=puffer_eingabe, # "RA_bi_ohne_SPS-Ansteuerung":0,
turm=turm_eingabe) # "Doppelstreckenantrieb":0
# }
#mg.tofile() # puffer_eingabe = {
#mg.ztofile() # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet
Anzahl_EAS = { # #"Anzahl":0,
"bedienstation_einfach_Zug_Wechseln": 1, # #"Puffer":0, #äquivalent zu Anzahl
"Weiche": 2, # #"Anzahl_Pufferstrecken":0, #äquivalent zu Anzahl_Staustrecken
"RA_unidirektional": 1 # #"Anzahl_Staustrecken":0,
} # #"Sensor_optisch_Traverse":0,
Anzahl_HW = { # "Sensor_optisch_Traverse_Korrektur":0,
"hauptschalter": 2, # #"Weiche":0,
"panel_pc": 1, # "Weiche_Korrektur":0,
"antrieb_unidirektional_halbleiter": 1, # "RA_bi_ungerade_Schiene":0,
} # #"Doppelstreckenantrieb":0,
eas = EA(Anzahl_EAS, mg) # #"Meldelampe_Überstrom":0,
hw = HW(Anzahl_HW, mg, eas) # "Meldelampe_Überstrom_Korrektur":0,
emo_eingabe = { # #"Hauptschalter_Ein_Meldung":0,
"Schaltschrank_aufstellen": 1, # "Hauptschalter_Ein-Meldung_Korrektur":0,
"Unterverteiler_montieren": 4, # }
"Pritsche_montieren_umbauen_demontieren": 66, # turm_eingabe = {
"Pritsche_in_RSM_montieren": 0, # #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet
"Motor_verdrahten_und_anschliessen": 97, # #"Anzahl":0,
"Tableau_befestigen_und_anschliessen": 15, # #"Turm":0, #äquivalent zu Anzahl
"Schnittstelle_Flyer_Putzmaschine": 1, # #"Anzahl_Wendlungen":0, #äquivalent zu Anzahl_Staustrecken
"Sensoren_montieren": 84, # #"Anzahl_Staustrecken":0,
"Seilzugschalter_installieren": 0, # #"Sensor_optisch_Traverse":0,
"Blitzleuchte_installieren": 3, # #"Weiche":0,
"Weiche_Stopper_anschliessen": 244, # #"RA_bi":0,
"Erdung": 40, # "RA_bi_Korrektur":0,
} # #"RA_bi_ohne_SPS":0,
emo = EMO(eas, hw, mg) # "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)