From 455c44ce30f62d8ea04e94e2b3a45adb9de711f3 Mon Sep 17 00:00:00 2001 From: "m.stangl" Date: Tue, 13 Sep 2022 10:28:09 +0200 Subject: [PATCH] test aJayJay dazu gemacht. --- rieter_ekalk.py | 844 +++++++++++++++++++++++++++++++----------------- 1 file changed, 549 insertions(+), 295 deletions(-) diff --git a/rieter_ekalk.py b/rieter_ekalk.py index a384d48..e3c03bd 100644 --- a/rieter_ekalk.py +++ b/rieter_ekalk.py @@ -1,13 +1,11 @@ #from distutils.log import debug -from logging import raiseExceptions + import math -import sys -#from pickle import FALSE + import unittest import json JSON_IDENT =5 -# Press Umschalt+F10 to execute it or replace it with your code. -# Press Double Shift to search everywhere for classes, files, tool windows, actions, and settings. + class MG(): def __init__(self, deckblatt:dict, **kwargs): """ @@ -128,12 +126,14 @@ class MG(): #überprüfe welche Art von System, setze dict der unrelevanten klasse = 0 system = deckblatt.get("SYSTEM", "") - self._rsm_direct = RSM_direct({}) - self._rsm_fa = RSM_FA({}) if (system.lower() == "direct"): + self._rsm_fa = RSM_FA({}) self._rsm_direct = RSM_direct(rsm_direct_mengen) elif (system.lower() == "fa"): self._rsm_fa = RSM_FA(rsm_fa_mengen) + self._rsm_direct = RSM_direct({}) + else: + raise Exception("unkown Flyer. Either direct or fa") self._flyer_f40 = Flyer_F40_EJet_inc_Putz(flyer_f40_mengen) self._neuenhauser = Putzmaschine_Neuenhauser(neuenhauser_mengen) @@ -1055,6 +1055,11 @@ class EA(): res += self.EAs[k][1] * n return res + def Anzahl_notwendigen_Siemens_EAKarten(self): + SiemensS7_32DE = math.ceil(self.gesamt_E()/32) + SiemensS7_32DA = math.ceil(self.gesamt_A()/32) + + class HW(): mengen = { #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet @@ -1102,13 +1107,13 @@ class HW(): "unterverteiler_fuer_12_rsm_direct":0, "korrektur_12_rsm_zusaetzlich_im_unterverteiler":0, "unterverteiler_fuer_8_rsm_direct":0, - "korrektur_8_rsm_zusaetzlich_im_unterverteiler":0, + "korrektur_8_rsm_direct_zusaetzlich_im_unterverteiler":0, "busverteiler_6_rsm_direct":0, "korrektur_6_rsm_zusaetzlich_im_unterverteiler":0, "busverteiler_8_rsm_direct":0, - "korrektur_8_rsm_zusaetzlich_im_unterverteiler":0, + "korrektur_busverteiler_8_rsm_zusaetzlich_im_unterverteiler":0, "antrieb_unidirektional_halbleiter":0, "antrieb_bidirektional_halbleiter":0, @@ -1122,29 +1127,17 @@ class HW(): "bedienstation_1fach_kpl":0, "bedienst_2fach_wechs_bcd_10f":0, "bedienstation_2fach_kpl":0, + "halter_bedienstation_2fach":0, "bedienstation_3fach_kpl":0, + "halter_bedienstation_3fach":0, "bedienstation_4fach_kpl":0, - "bedienstation_10fach_kpl":0, + "halter_bedienstation_4fach":0, + "bedienstation_6fach_kpl":0, + "halter_bedienstation_6fach":0, "drucktaster_automatische_umfahrung":0, "halter_fuer_drucktaster":0, # summe_bedienstationen - # bis:0, - "sps_hardware_siemens_s7":0, - "s7_1500_cpu_1515_2_pn_mit_ethernet":0, - "s7_1500_cpu_1517_3_pn_dp_mit_ethernet":0, - "s7_1500_mmc_12mb_":0, - "simatic_pn_pn_coupler_6es7158_3ad10_0xa0_+_busadapter_ba_2xrj45":0, - - "_et200_mp_im155_5_pn":0, - "et_200sp_bundle_profinet_im_155_6pn_st_ba_2xrj45":0, - "profinetstrecker_je_1st_cpu_und_im153":0, - "s7_1500_eingangskarte_sm_321_16de":0, - "s7_1500_ausgangskarte_sm_322_16da":0, - "s7_1500_eingangskarte_sm_321_32de":0, - "s7_1500_ausgangskarte_sm_322_32da":0, - # _summe_sps_hardware - # ET200_SP "et_200sp_bundle_profinet_im_155_6pn_st_ba_2xrj45":0, "et200_sp_eingangskarte_8_de":0, @@ -1157,7 +1150,7 @@ class HW(): "et200_sp_base_unit_links_gebrueckt":0, # SLIO - "et_200sp_bundle_profinet_im_155_6pn_st_ba_2xrj45":0, + "et_200sp_bundle_profinet_im_155_6pn_st_ba_2xrj45_SLIO":0, "slio_eingangskarte_4_de":0, "slio_eingangskarte_8_de":0, "slio_ausgangskarte_4_do":0, @@ -1166,7 +1159,6 @@ class HW(): "slio_4_x_dc_24v_4_x_dc_0v":0, "slio_8_x_dc_24v":0, "slio_8_x_dc_0v":0, - # Summe_material_in_ll # MATERIAL VOR ORT "movimot_fu_mit_anschaltung":0, @@ -1270,8 +1262,11 @@ class HW(): "bedienstation_1fach_kpl": 51, "bedienst_2fach_wechs_bcd_10f": 90, "bedienstation_2fach_kpl": 92, # 790002021_A + "halter_bedienstation_2fach":0, "bedienstation_3fach_kpl": 104, + "halter_bedienstation_3fach":0, "bedienstation_4fach_kpl": 116, + "halter_bedienstation_4fach":0, "bedienstation_10fach_kpl": 380, "drucktaster_automatische_umfahrung": 28, "halter_fuer_drucktaster": 33, @@ -1823,7 +1818,7 @@ class TestObjectMethods(unittest.TestCase): def test_deckblatt(self): deckblatt_eingabe = { - "SYSTEM":"", + "SYSTEM":"fa", "RSM":13, "Flyer":7, "Flyer_Puffer":13, @@ -2671,278 +2666,537 @@ class TestObjectMethods(unittest.TestCase): pass -def test2(): - # 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, - } + def test_A_JayJay(self): + # Anzahl der für das Projekt benutzten + Anzahl_MG = { + "SYSTEM": "FA", + "RSM":14, + "Flyer":4, + "Flyer_Puffer":2, + "Flyer_Electrojet_incl_intergrierte_Putzmaschine":0, + "Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer":0, + "Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer":0, + "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":5, + "Begegnungsstrecke_Bypass":2, + "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, + rsm_direct_eingabe = { } - 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, + rsm_fa_eingabe = { + "Flex_A_Premium":False, + "Getriebe_in_der_Mitte":False, + "RSM_Einfahrt_Ein_Beidseitig":False, + "Sensor_optisch_Traverse_zusätzlich":6, + "Bedientableau_1fach_Korrektur":0, + "Bedientableau_2fach_Korrektur":0, + "Weiche_Korrektur":0, + "RRA_bi_Korrektur":0, + "RRA_bi_auf_Haupstrecke":0, + "gemeinsame_Wendung":0, + "Mit_Drucktaster_Korrektur":0, + "Meldelampe_Überstrom_Korrektur":0, + "Hauptschalter_Ein-Meldung_Korrektur":0, + "Werma_Rundumleuchte_Störung_Korrektur":0, } - emo = EMO(eas, hw, mg) + 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) + 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) + + 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) + + def test_Unittests(): unittest.main() if __name__ == '__main__': - #test2() + # test2() test_Unittests()