diff --git a/rieter_ekalk.py b/rieter_ekalk.py index 29b249a..bbc0ed4 100644 --- a/rieter_ekalk.py +++ b/rieter_ekalk.py @@ -174,7 +174,7 @@ class MG(): #in Excel Zellwerte und Bezüge der Spalte "G" können ignoriert werden zmengen = { "Sensor_optisch_Traverse": 0, - "Sensor_induktiv_Spulenalter_(Zug_positionierung)": 0, + "Sensor_induktiv_Spulenalter_Zug_positionierung": 0, "Sensor_Spulenprüfung_voll/leer": 0, "Seilzugsschalter": 0, "Drucktaster_automatische_Umfahrung": 0, @@ -214,7 +214,7 @@ class MG(): self._turm._Mengen.get("Sensor_optisch_Traverse",0) - zmengen["Sensor_induktiv_Spulenalter_(Zug_positionierung)"] = self._flyer_f40._Mengen.get("Sensor_induktiv_Spulenhalter",0) +\ + zmengen["Sensor_induktiv_Spulenalter_Zug_positionierung"] = self._flyer_f40._Mengen.get("Sensor_induktiv_Spulenhalter",0) +\ self._neuenhauser._Mengen.get("Sensorik_Zugpositionierung",0) zmengen["Sensor_Spulenprüfung_voll/leer"] = self._neuenhauser._Mengen.get("Sensor_WT18_Spulenprüfung_voll/leer",0) @@ -504,8 +504,8 @@ class Flyer_F40_EJet_inc_Putz(): "Interface_Doffer_Korrektur":0, #"Weiche":0, "Weiche_Korrektur":0, - #"Weiche_nach_Flyer_(bipolar)":0, - "Weiche_nach_Flyer_(bipolar)_Korrektur":0, + #"Weiche_nach_Flyer_bipolar":0, + "Weiche_nach_Flyer_bipolar_Korrektur":0, "Dreifachweiche":0, "Wechsel":0, "Stopper":0, @@ -519,10 +519,10 @@ class Flyer_F40_EJet_inc_Putz(): "RRA_bi":0, #"RRA_bi_Korrektur":0, #"RRA_bi_ohne_SPS-Ansteuerung":0, - "RRA_bi_ohne_SPS-Ansteuerung_Korrektur":0, + "RRA_bi_ohne_SPS_Ansteuerung_Korrektur":0, #"Doppelstreckenantrieb":0, "Doppelstreckenantrieb_Korrektur":0, - "RA_bi_abhebbar_(unger._Schiene)":0, + "RA_bi_abhebbar_unger_Schiene":0, #"Meldelampe_Überstrom":0, "Meldelampe_Überstrom_Korrektur":0, #"Hauptschalter_Ein-Meldung":0, @@ -558,10 +558,10 @@ class Flyer_F40_EJet_inc_Putz(): self._Mengen["Weiche_Korrektur"] = anzahl.get("Weiche_Korrektur", 0) if (anzahl.get("Single-Line_/_Durchfahrt", False)): - self._Mengen["Weiche_nach_Flyer_(bipolar)"] = self._Flyer_Anzahl + anzahl.get("Weiche_nach_Flyer_(bipolar)_Korrektur", 0) + self._Mengen["Weiche_nach_Flyer_bipolar"] = self._Flyer_Anzahl + anzahl.get("Weiche_nach_Flyer_bipolar_Korrektur", 0) else: - self._Mengen["Weiche_nach_Flyer_(bipolar)"] = anzahl.get("Weiche_nach_Flyer_(bipolar)_Korrektur", 0) - self._Mengen["Weiche_nach_Flyer_(bipolar)_Korrektur"] = anzahl.get("Weiche_nach_Flyer_(bipolar)_Korrektur", 0) + self._Mengen["Weiche_nach_Flyer_bipolar"] = anzahl.get("Weiche_nach_Flyer_bipolar_Korrektur", 0) + self._Mengen["Weiche_nach_Flyer_bipolar_Korrektur"] = anzahl.get("Weiche_nach_Flyer_bipolar_Korrektur", 0) self._Mengen["Dreifachweiche"] = anzahl.get("Dreifachweiche", 0) self._Mengen["Wechsel"] = anzahl.get("Wechsel", 0) self._Mengen["Stopper"] = anzahl.get("Stopper", 0) @@ -591,7 +591,7 @@ class Flyer_F40_EJet_inc_Putz(): self._Mengen["RRA_bi"] = anzahl.get("RRA_bi", 0) if (anzahl.get("Single-Line_/_Durchfahrt", False)): - self._Mengen["RRA_bi_ohne_SPS-Ansteuerung"] = anzahl.get("RRA_bi_ohne_SPS-Ansteuerung_Korrektur", 0) + self._Mengen["RRA_bi_ohne_SPS-Ansteuerung"] = anzahl.get("RRA_bi_ohne_SPS_Ansteuerung_Korrektur", 0) else: self._Mengen["RRA_bi_ohne_SPS-Ansteuerung"] = self._Flyer_Anzahl @@ -600,7 +600,7 @@ class Flyer_F40_EJet_inc_Putz(): else: self._Mengen["Doppelstreckenantrieb"] = self._Flyer_Anzahl * math.floor(self._Mengen.get("Anzahl_Schienen", 0)/2) + anzahl.get("Doppelstreckenantrieb_Korrektur", 0) self._Mengen["Doppelstreckenantrieb_Korrektur"] = anzahl.get("Doppelstreckenantrieb_Korrektur", 0) - self._Mengen["RA_bi_abhebbar_(unger._Schiene)"] = anzahl.get("RA_bi_abhebbar_(unger._Schiene)", 0) + self._Mengen["RA_bi_abhebbar_unger_Schiene"] = anzahl.get("RA_bi_abhebbar_unger_Schiene", 0) self._Mengen["Meldelampe_Überstrom"] = self._Flyer_Anzahl + anzahl.get("Meldelampe_Überstrom_Korrektur", 0) self._Mengen["Meldelampe_Überstrom_Korrektur"] = anzahl.get("Meldelampe_Überstrom_Korrektur", 0) @@ -707,12 +707,12 @@ class Flyer_EJet(): "Anzahl_Schienen:":0, #"Sensor_optisch_Traverse":0, "Sensor_optisch_Traverse_Korrektur":0, - #"Sensor_induktiv_Spulenalter_(Zug_positionierung)":0, + #"Sensor_induktiv_Spulenalter_Zug_positionierung":0, #"Bedientableau_2fach":0, #"Interface_Doffer":0, #"Weiche":0, "Weiche_Korrektur":0, - #"Weiche_nach_Flyer_(bipolar)":0, + #"Weiche_nach_Flyer_bipolar":0, "Dreifachweiche":0, #"Wechsel":0, "Wechsel_Korrektur":0, @@ -721,7 +721,7 @@ class Flyer_EJet(): "RA_bi_abhebbar_Korrektur":0, "RA_bi":0, #"Doppelstreckenantrieb":0, - "RA_bi_abhebbar_(unger._Schiene)":0, + "RA_bi_abhebbar_unger_Schiene":0, #"Meldelampe_Überstrom":0, "Meldelampe_Überstrom_Korrektur":0, #"Hauptschalter_Ein-Meldung":0, @@ -739,21 +739,21 @@ class Flyer_EJet(): self._Mengen["Sensor_optisch_Traverse"] = self._Flyer_Anzahl * (2*self._Schienen_Anzahl + 3) + anzahl.get("Sensor_optisch_Traverse_Korrektur", 0) self._Mengen["Sensor_optisch_Traverse_Korrektur"] = anzahl.get("Sensor_optisch_Traverse_Korrektur", 0) - self._Mengen["Sensor_induktiv_Spulenalter_(Zug_positionierung)"] = self._Flyer_Anzahl + self._Mengen["Sensor_induktiv_Spulenalter_Zug_positionierung"] = self._Flyer_Anzahl self._Mengen["Bedientableau_2fach"] = self._Flyer_Anzahl self._Mengen["Interface_Doffer"] = self._Flyer_Anzahl self._Mengen["Weiche"] = self._Flyer_Anzahl * self._Schienen_Anzahl + anzahl.get("Weiche_Korrektur", 0) self._Mengen["Weiche_Korrektur"] = anzahl.get("Weiche_Korrektur", 0) - self._Mengen["Weiche_nach_Flyer_(bipolar)"] = self._Flyer_Anzahl + self._Mengen["Weiche_nach_Flyer_bipolar"] = self._Flyer_Anzahl self._Mengen["Dreifachweiche"] = anzahl.get("Dreifachweiche", 0) self._Mengen["Wechsel"] = self._Flyer_Anzahl + anzahl.get("Wechsel_Korrektur", 0) self._Mengen["Wechsel_Korrektur"] = anzahl.get("Wechsel_Korrektur", 0) self._Mengen["RA_bi_ohne_SPS-Ansteuerung"] = self._Flyer_Anzahl - self._Mengen["RA_bi_abhebbar"] = self._Flyer_Anzahl + anzahl.get("RA_bi_abhebbar_(unger._Schiene)", 0) + anzahl.get("RA_bi_abhebbar_Korrektur", 0) + self._Mengen["RA_bi_abhebbar"] = self._Flyer_Anzahl + anzahl.get("RA_bi_abhebbar_unger_Schiene", 0) + anzahl.get("RA_bi_abhebbar_Korrektur", 0) self._Mengen["RA_bi_abhebbar_Korrektur"] = anzahl.get("RA_bi_abhebbar_Korrektur", 0) self._Mengen["RA_bi"] = anzahl.get("RA_bi", 0) self._Mengen["Doppelstreckenantrieb"] = self._Flyer_Anzahl * math.floor(self._Schienen_Anzahl/2) - self._Mengen["RA_bi_abhebbar_(unger._Schiene)"] = anzahl.get("RA_bi_abhebbar_(unger._Schiene)", 0) + self._Mengen["RA_bi_abhebbar_unger_Schiene"] = anzahl.get("RA_bi_abhebbar_unger_Schiene", 0) self._Mengen["Meldelampe_Überstrom"] = self._Flyer_Anzahl + anzahl.get("Meldelampe_Überstrom_Korrektur", 0) self._Mengen["Meldelampe_Überstrom_Korrektur"] = anzahl.get("Meldelampe_Überstrom_Korrektur", 0) self._Mengen["Hauptschalter_Ein-Meldung"] = self._Flyer_Anzahl + anzahl.get("Hauptschalter_Ein-Meldung_Korrektur", 0) @@ -906,19 +906,21 @@ class EA(): # "Leuchtdrucktaster_Anlage_EIN": (1, 1), # "Leuchtdrucktaster_Start_nach_Stoerung": (1, 1), # "Leuchtdrucktaster_Laufzeitfehler": (1, 1), - # "Sammeleingang_Ueberstrom": (1, 1), - # "Sammeleingang_Not_Aus": (1, 1), + # "Drucktaster_Lampentest": (1, 0), + # "Sammeleingang_Ueberstrom": (5, 1), + # "Sammeleingang_Not_Aus": (2, 1), # "Sammeleingang_Druckluft_fehlt": (1, 1), # "Drucktaster_Reset": (1, 0), - # "Sammeleingang_Antriebe_abheben": (1, 1), - # "Reserve": (7, 9), - "Bedienelemente_Steuerschrank": (16, 16), + # "Sammeleingang_Antriebe_abheben": (1, 2), + # "Reserve": (9, 7), + "Bedienelemente_Steuerschrank": (24, 16), # Bedienstation, "bedienstation_1fach_Not_Aus": (1, 1), "bedienstation_einfach_Zug_Wechseln": (1, 1), - "bedienstation_zweifach_Wechs_BCD_8f": (4, 1), - "bedienstation_zweifach_Not_Aus_Fahrdauerueb": (2, 2), + "bedienstation_automatische_Umfahrung": (1, 1), + "bedienstation_zweifach_Wechs_BCD_10f": (5, 1), + "bedienstation_zweifach_Not_Aus_Reset": (3, 3), "bedienst_dreifach": (3, 3), "bedienst_vierfach": (4, 4), "bedienst_sechsfach": (6, 6), @@ -930,19 +932,21 @@ class EA(): "Seilzugschalter": (1, 0), "Weiche": (0, 1), - "Weiche_mit_gemeinsamer_Rueckstellung": (0, 1), + "Weiche_nach_PM_bipolar": (0, 2), "gemeinsame_Weichenrueckstellung": (0, 1), "Dreifach_Weiche_DIRECT": (0, 4), "Kreuzungsweiche": (0, 10), - "Stopper": (0, 0), + "Stopper": (0, 1), "Ventil_RA_3_2_abhebbar": (0, 1), "Ventil_Doppelstreckenantrieb_5_2_abhebbar": (0, 2), "Blitzleuchte_Stoerung": (0, 1), - "Schnittstelle_Flyer_Mazoli": (1, 2), - "Schnittstelle_Putzmaschine_Cason": (3, 1), + "Schnittstelle_Flyer_ElectroJet": (2, 2), + "Schnittstelle_Flyer_Putzmaschine_ElectroJet": (2, 2), + "Schnittstelle_Flyer_Neuhauser": (4, 4), + "FEldbux_UV_EinAusgang": (2, 1), - "Spulenumsetzstation": (0, 20), + "Spulenumsetzstation": (40, 20), "RA_unidirektional": (0, 1), "RA_unidirektional_abhebbar": (0, 1), @@ -952,11 +956,11 @@ class EA(): "RA_bidirektional_abhebbar": (0, 2), "RA_bidirektional_abhebbar_gemeinsWend": (0, 1), "RA_bidirektional_ohne_SPS_Ansteuerung": (0, 0), - "RA_in_RSM_bidirektional": (0, 2), + "RA_in_RSM_bidirektional": (0, 1), "RA_in_RSM_bi_Anzahl_Antriebe_je_Seite": (0, 0), # Füll zeile. Eigentlich gibt es hier keine E/As. Dies wird hier nur die Anzahl gebraucht "Doppelstreckenantrieb": (0, 2), "Doppelstreckenantriebgemeinsame_Wendung": (0, 1), - "gemeinsame_Wendung": (0, 2), + "gemeinsame_Wendung": (1, 3), } self._Anzahl = anzahl @@ -1382,20 +1386,25 @@ class HW(): if (mg.get_value_of_object("rsm_fa", "Flex_A_Premium") == False): num_rsms = mg.get_value_of_object("rsm_fa", "Anzahl_RSM") self._anzahl["unterverteiler_fuer_5_rsm_fa"] = math.ceil(num_rsms/5) + anzahl.get("korrektur_1_rsm_zusaetzlich_im_unterverteiler", 0) - - # self._anzahl[] = anzahl.get(, 0) - # "unterverteiler_fuer_10_rsm_fa" - - # "unterverteiler_fuer_3_rsm_fa_mit_umfahrung_steckbar" - # "korrektur_3_rsm_zusaetzlich_im_unterverteiler" + + if (mg.get_value_of_object("rsm_fa", "Flex_A_Premium") == False): + num_rsms = mg.get_value_of_object("rsm_fa", "Anzahl_RSM") + self._anzahl["unterverteiler_fuer_10_rsm_fa"] = math.ceil(num_rsms/10) + else: + num_rsms = mg.get_value_of_object("rsm_fa", "Anzahl_RSM") + self._anzahl["unterverteiler_fuer_3_rsm_fa_mit_umfahrung_steckbar"] = math.ceil(num_rsms/3) + # TODO "korrektur_3_rsm_zusaetzlich_im_unterverteiler" - # "unterverteiler_fuer_4_rsm_direct" + # TODO "unterverteiler_fuer_4_rsm_direct" ist 0. Warum? # "korrektur_4_rsm_zusaetzlich_im_unterverteiler" - - # "unterverteiler_fuer_12_rsm_direct" + + + self._anzahl["unterverteiler_fuer_12_rsm_direct"] = mg.get_deckblatt_value("RSM") /12. # "korrektur_12_rsm_zusaetzlich_im_unterverteiler" - # "unterverteiler_fuer_8_rsm_direct" + + # TODO "unterverteiler_fuer_8_rsm_direct" ist 0, warum? # "korrektur_8_rsm_zusaetzlich_im_unterverteiler" + self._anzahl["unterverteiler_fuer_8_rsm_direct"] = mg.get_deckblatt_value("RSM") /8. # "busverteiler_6_rsm_direct" # "korrektur_6_rsm_zusaetzlich_im_unterverteiler" @@ -1403,6 +1412,123 @@ class HW(): # "busverteiler_8_rsm_direct" # "korrektur_8_rsm_zusaetzlich_im_unterverteiler" + motoren_uni_flyer_f40= mg.get_value_of_object("flyer_f40", "RA_uni") \ + + mg.get_value_of_object("flyer_f40", "RA_uni_abhebbar") \ + + mg.get_value_of_object("flyer_f40", "RA_uni_abhebbar_Korrektur") + + # TODO warum ist hier bi drin? + motoren_uni_rsm_direct = mg.get_value_of_object("rsm_direct", "RA_bi_abhebbar") \ + + mg.get_value_of_object("rsm_direct", "Doppelstreckenantrieb") + + self._anzahl["antrieb_unidirektional_halbleiter"] = motoren_uni_flyer_f40 + motoren_uni_rsm_direct + + motoren_bi_flyer_f40 = mg.get_value_of_object("flyer_f40", "RRA_BI_abhebbar") + \ + mg.get_value_of_object("flyer_f40", "RRA_BI_abhebbar_Korrektur") + \ + mg.get_value_of_object("flyer_f40", "RRA_bi") + \ + mg.get_value_of_object("flyer_f40", "RRA_bi_Korrektur") + \ + mg.get_value_of_object("flyer_f40", "RRA_bi_ohne_SPS-Ansteuerung") + \ + mg.get_value_of_object("flyer_f40", "RRA_bi_ohne_SPS_Ansteuerung_Korrektur") + \ + mg.get_value_of_object("flyer_f40", "Doppelstreckenantrieb") + + motoren_uni_rsm_direct = mg.get_value_of_object("flyer_ejet", "RA_bi_abhebbar") + \ + mg.get_value_of_object("flyer_f40", "RA_bi_abhebbar_Korrektur") + \ + mg.get_value_of_object("flyer_f40", "RA_bi") + \ + mg.get_value_of_object("flyer_f40", "Doppelstreckenantrieb") + \ + mg.get_value_of_object("flyer_f40", "RA_bi_abhebbar_unger_Schiene-Ansteuerung") + + self._anzahl["antrieb_bidirektional_halbleiter"] = motoren_bi_flyer_f40 + motoren_uni_rsm_direct + +# "antrieb_unidirektional_schuetz" TODO wo sind die? in Excel 0 +# "antrieb_bidirektional_schuetz" + + +# "motorschutzschalter" TODO von EAS holen? +# "wendeschuetzschaltung" + + self._anzahl["frequenzumrichter"] = eas.anzahl("frequenzumrichter") + +# # summe_motorstarter + +# "bedienstation_1fach_kpl" +# "bedienst_2fach_wechs_bcd_10f" +# "bedienstation_2fach_kpl" +# "bedienstation_3fach_kpl" +# "bedienstation_4fach_kpl" +# "bedienstation_10fach_kpl" +# "drucktaster_automatische_umfahrung" +# "halter_fuer_drucktaster" +# # summe_bedienstationen + +# # bis +# "sps_hardware_siemens_s7" +# "s7_1500_cpu_1515_2_pn_mit_ethernet" +# "s7_1500_cpu_1517_3_pn_dp_mit_ethernet" +# "s7_1500_mmc_12mb_" +# "simatic_pn_pn_coupler_6es7158_3ad10_0xa0_+_busadapter_ba_2xrj45" + +# "_et200_mp_im155_5_pn" +# "et_200sp_bundle_profinet_im_155_6pn_st_ba_2xrj45" +# "profinetstrecker_je_1st_cpu_und_im153" +# "s7_1500_eingangskarte_sm_321_16de" +# "s7_1500_ausgangskarte_sm_322_16da" +# "s7_1500_eingangskarte_sm_321_32de" +# "s7_1500_ausgangskarte_sm_322_32da" +# # _summe_sps_hardware + +# # ET200_SP +# "et_200sp_bundle_profinet_im_155_6pn_st_ba_2xrj45" +# "et200_sp_eingangskarte_8_de" +# "et200_sp_eingangskarte_16_de" +# "et200_sp_eingangskarte_8_do" +# "et200_sp_eingangskarte_16_do" +# "et200_sp_base_unit_neue_last" +# "et200_sp_base_unit_links_gebrueckt" +# "et200_sp_base_unit_neue_last" +# "et200_sp_base_unit_links_gebrueckt" + +# # SLIO +# "et_200sp_bundle_profinet_im_155_6pn_st_ba_2xrj45" +# "slio_eingangskarte_4_de" +# "slio_eingangskarte_8_de" +# "slio_ausgangskarte_4_do" +# "slio_ausgangskarte_8_do" +# "slio_power_modul" +# "slio_4_x_dc_24v_4_x_dc_0v" +# "slio_8_x_dc_24v" +# "slio_8_x_dc_0v" +# # Summe_material_in_ll + +# # MATERIAL VOR ORT +# "movimot_fu_mit_anschaltung" +# "sensor_optisch_traverse" +# "sensorhalter_ohne_sensor_" +# "reflexionslichtschranke_rsm_direct" +# "stoppersensor_induktiv_mit_halter" +# "sensor_spulenpruefung_voll_leer" +# "seilzugschalter" +# "seil_fuer_seilzugschalter" +# "blitzleuchte" +# "spulenumsetzstation" +# "sensorkabel_je_20m" +# "stopper_weichenkabel_je_5m" +# "motorkabel_je_30m" +# "kabelpritschen_leitern_200_60" +# "kabelpritsche_rsm_100_60" +# "kabelpritsche_rsm_50_35" +# "klemmkasten_rsm" +# "klemmkasten_direct_in_rsm" +# "erdung" +# "kleinteile_rohre_schellen_kabelbinder_ect" + +# "kabel_fuer_klemmkasten_und_bts_60m" +# "zuleitung_75_m_unterverteiler_4x4mm2_400vac" +# "zuleitung_75_m_unterverteiler_12x4mm2_24_vdc" +# "zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc" +# "zuleitung_55_m_klemmkasten_rsm_mitte_14g1_5_mm" +# "zuleitung_55_m_klemmkasten_rsm_mitte_14g1_0_mm" +# "profinetkabel" +# "schnittstellen_8x1mm2_30m" + @@ -1653,191 +1779,6 @@ class EMO(): print(self._Mengen) -class calc_main_tab(): - - # Stundensätze - Preis_Ewerkstatt = 35 # €/h - Preis_Dienstl_LL = 50 # €/h - - SPS_Programmierung = 80 # €/h - SPS_Programmtest = 80 # €/h - PC_Visualisierung = 15 # €/h - - Montage_elektrisch = 50 # €/h - Inbetriebnahmetest_Hardware_durch_Montage = 50 # €/h - - SPS_Inbetriebsetzung = 80 # €/h - PC_Inbetriebsetzung = 80 # €/h - Inbetriebnahmeunterstützung_durch_Montage = 50 # €/h - - Übersetzung_Dokumentation = 1.000 # €/h - Schulung_vor_Ort_beim_Kunden = 50 # €/h - - Abnahme = 50 # €/h - - SPS_Anlagenbetreuung = 80 # €/h - PC_Anlagenbetreuung = 80 # €/h - Anlagenbetreuung_durch_Montage = 50 # €/h - - montage_elektrisch = 41 # €/h - sps_inbetriebsetzung = 41 # €/h - pc_inbetriebsetzung = 41 # €/h - hotelkosten_pro_tag = 70 # €/h - - def __init__(self, hw, dl): - """ - - :type dl: class Dienstleistung - """ - # KOSTENART - installationsmaterial_vor_ort = hw.summe_vorort() - material_in_ll = hw.summe_in_LL() - HARDWARE_GESAMT = installationsmaterial_vor_ort + hw.summe_in_LL() - - e_werkstatt = dl.stunden_elektrowerkstatt() * self.Preis_Ewerkstatt - dienstleistung_in_ll = dl.stunden_elektro_Landsberg() * self.Preis_Dienstl_LL - sps_programmierung = 7400 - sps_programmtest = 0 - pc_visualisierung = 2000 - - montage_elektrisch = self.Montage_elektrisch * 114 - inbetriebnahmetest_hardware_durch_montage = 0 - - sps_inbetriebsetzung = 0 - pc_inbetriebsetzung = 0 - inbetriebnahmeunterstützung_durch_montage = 0 - - übersetzung_dokumentation = 1000 - schulung_vor_ort_beim_kunden = 0 - - abnahme = 0 - - sps_anlagenbetreuung = 0 - pc_anlagenbetreuung = 0 - anlagenbetreuung_durch_montage = 0 - - # Reisekosten, Spesen - montage_elektrisch = 0 - sps_inbetriebsetzung = 0 - pc_inbetriebsetzung = 0 - hotelkosten_pro_tag = 0 - - -def test1_old(): - # Anzahl der für das Projekt benutzten - deckblatt_eingabe = { - "SYSTEM":"", - "RSM":13, - "Flyer":7, - "Flyer_Puffer":13, - "Flyer_Electrojet_incl_intergrierte_Putzmaschine":4, - "Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer":2, - "Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer":3, - "Neuenhauser-Putzmaschine":11, - "Neuenhauser-Putzmaschine_Vorpuffer":12, - "Neuenhauser-Putzmaschine_Nachpuffer":14, - "Cason-Putzmaschine":0, - "Cason-Putzmaschine_Vorpuffer":0, - "Cason-Putzmaschine_Nachpuffer":0, - "Puffer":5, - "Anzahl_der_Pufferstrecken_pro_Puffer":11, - "Begegnungsstrecke_Bypass":0, - "Turm":2, - "Turm_Anzahl_Wendlungen":5, - } - rsm_direct_eingabe = {} - rsm_fa_eingabe = {} - flyer_f40_eingabe = {} - neuenhauser_eingabe = {} - flyer_eingabe = {} - verbindungsstrecken_w_mengen = {} - puffer_eingabe = {} - turm_eingabe = {} - - mg = MG(deckblatt_eingabe, - 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_mengen, - puffer=puffer_eingabe, - turm=turm_eingabe) - - Anzahl_EAS = { - "Bedienelemente_Steuerschrank" : 1, - - # Bedienstation, - "bedienstation_1fach_Not_Aus": 0, - "bedienstation_einfach_Zug_Wechseln": 9, - "bedienstation_zweifach_Wechs_BCD_8f": 0, - "bedienstation_zweifach_Not_Aus_Fahrdauerueb": 4, - "bedienst_dreifach": 0, - "bedienst_vierfach": 0, - "bedienst_sechsfach": 0, - - # Ermittlung_Mengengeruest - "Sensor_Traversenabfrage_optisch": 21, - "Reflexionslichtschranke_RSM_DIRECT": 0, - - "Seilzugschalter": 0, - - "Weiche": 16, - "Weiche_mit_gemeinsamer_Rueckstellung": 0, - "gemeinsame_Weichenrueckstellung": 0, - "Dreifach_Weiche_DIRECT": 0, - "Kreuzungsweiche": 0, - "Stopper": 3, - "Blitzleuchte_Stoerung": 2, - - "Schnittstelle_Flyer_Mazoli": 3, - "Schnittstelle_Putzmaschine_Cason": 0, - - "Spulenumsetzstation": 0, - - "RA_unidirektional": 0, - "RA_unidirektional_abhebbar": 0, - "RA_unidirektional_mit_gemeinsamer_Wendung": 9, - "RA_unidirektional_ohne_SPS_Ansteuerung": 0, - "RA_bidirektional": 3, - "RA_bidirektional_abhebbar": 3, - "RA_bidirektional_abhebbar_gemeinsWend": 0, - "RA_bidirektional_ohne_SPS_Ansteuerung": 4, - "RA_in_RSM_bidirektional": 0, - "RA_in_RSM_bi_Anzahl_Antriebe_je_Seite": 3, - "Doppelstreckenantrieb": 3, - "Doppelstreckenantriebgemeinsame_Wendung": 0, - "gemeinsame_Wendung": 1, - } - Anzahl_HW = { - } - Anzahl_DL = { - "Pflichtenheft_Autom_Schnittstellen": 0, - # Test_und_Installation - "PC_Installation": 0, - ## Dokumentation - "Bedienerhandbuch": 0, - "SPS_Doku": 0, - "PC_Doku": 0, - ## Elektrowerkstatt - "Vormontage_im_Haus": 0, - } - - eas = EA(Anzahl_EAS) - hw = HW(Anzahl_HW, mg, eas) - dl = Dienstleistung(Anzahl_DL, hw) - calc_main_tab(hw, dl) - -def test_deckblatt_neuenhauser(self, deckblatt:MG): - self.assertEqual(deckblatt._neuenhauser.anzahl("Anzahl"), 11) - self.assertEqual(deckblatt._neuenhauser.anzahl("Anzahl_Vorstaustrecken"), 12) - self.assertEqual(deckblatt._neuenhauser.anzahl("Anzahl_Nachstaustrecken"), 14) - self.assertEqual(deckblatt._neuenhauser.anzahl("Sensor_optisch_Traverse"), 319) - self.assertEqual(deckblatt._neuenhauser.anzahl("Sensorik_Zugpositionierung"), 44) - self.assertEqual(deckblatt._neuenhauser.anzahl("Sensor_WT18_Spulenprüfung_voll/leer"), 22) - self.assertEqual(deckblatt._neuenhauser.anzahl("Bedientableau_2fach"), 11) - self.assertEqual(deckblatt._neuenhauser.anzahl("Interface_Putzmaschine"), 11) - self.assertEqual(deckblatt._neuenhauser.anzahl("Weiche"), 132) class TestObjectMethods(unittest.TestCase): @@ -1939,8 +1880,8 @@ class TestObjectMethods(unittest.TestCase): "Interface_Doffer_Korrektur":2, #"Weiche":0, "Weiche_Korrektur":3, - #"Weiche_nach_Flyer_(bipolar)":0, - "Weiche_nach_Flyer_(bipolar)_Korrektur":2, + #"Weiche_nach_Flyer_bipolar":0, + "Weiche_nach_Flyer_bipolar_Korrektur":2, "Dreifachweiche":7, "Wechsel":6, "Stopper":5, @@ -1954,10 +1895,10 @@ class TestObjectMethods(unittest.TestCase): "RRA_bi":0, #"RRA_bi_Korrektur":0, #"RRA_bi_ohne_SPS-Ansteuerung":0, - "RRA_bi_ohne_SPS-Ansteuerung_Korrektur":3, + "RRA_bi_ohne_SPS_Ansteuerung_Korrektur":3, #"Doppelstreckenantrieb":0, "Doppelstreckenantrieb_Korrektur":2, - "RA_bi_abhebbar_(unger._Schiene)":3, + "RA_bi_abhebbar_unger_Schiene":3, #"Meldelampe_Überstrom":0, "Meldelampe_Überstrom_Korrektur":3, #"Hauptschalter_Ein-Meldung":0, @@ -2002,13 +1943,13 @@ class TestObjectMethods(unittest.TestCase): #"Anzahl_Schienen:":0, #"Sensor_optisch_Traverse":0, "Sensor_optisch_Traverse_Korrektur":3, - #"Sensor_induktiv_Spulenalter_(Zug_positionierung)":0, + #"Sensor_induktiv_Spulenalter_Zug_positionierung":0, #"Bedientableau_2fach":0, #"Interface_Doffer":0, #"Weiche":0, "Weiche_Korrektur":4, - #"Weiche_nach_Flyer_(bipolar)":0, - "Weiche_nach_Flyer_(bipolar)_Korrektur":3, + #"Weiche_nach_Flyer_bipolar":0, + "Weiche_nach_Flyer_bipolar_Korrektur":3, "Dreifachweiche":3, #"Wechsel":0, "Wechsel_Korrektur":4, @@ -2017,7 +1958,7 @@ class TestObjectMethods(unittest.TestCase): "RA_bi_abhebbar_Korrektur":3, "RA_bi":3, #"Doppelstreckenantrieb":0, - "RA_bi_abhebbar_(unger._Schiene)":4, + "RA_bi_abhebbar_unger_Schiene":4, #"Meldelampe_Überstrom":0, "Meldelampe_Überstrom_Korrektur":3, #"Hauptschalter_Ein-Meldung":0, @@ -2064,7 +2005,7 @@ class TestObjectMethods(unittest.TestCase): flyer_f40=flyer_f40_eingabe, neuenhauser=neuenhauser_eingabe, flyer=flyer_eingabe, - verbindungsstrecken_w=verbindungsstrecken_w_mengen, + #verbindungsstrecken_w=, puffer=puffer_eingabe, turm=turm_eingabe) #Testmethoden: @@ -2107,7 +2048,7 @@ class TestObjectMethods(unittest.TestCase): self.assertEqual(deckblatt._flyer_f40.anzahl("Bedientableau_2fach"), 9) self.assertEqual(deckblatt._flyer_f40.anzahl("Interface_Doffer"), 8) self.assertEqual(deckblatt._flyer_f40.anzahl("Weiche"), 39) - self.assertEqual(deckblatt._flyer_f40.anzahl("Weiche_nach_Flyer_(bipolar)"), 8) + self.assertEqual(deckblatt._flyer_f40.anzahl("Weiche_nach_Flyer_bipolar"), 8) self.assertEqual(deckblatt._flyer_f40.anzahl("Dreifachweiche"), 7) self.assertEqual(deckblatt._flyer_f40.anzahl("Wechsel"), 6) self.assertEqual(deckblatt._flyer_f40.anzahl("Stopper"), 5) @@ -2117,7 +2058,7 @@ class TestObjectMethods(unittest.TestCase): self.assertEqual(deckblatt._flyer_f40.anzahl("RRA_BI_abhebbar"), 9) self.assertEqual(deckblatt._flyer_f40.anzahl("RRA_bi_ohne_SPS-Ansteuerung"), 3) self.assertEqual(deckblatt._flyer_f40.anzahl("Doppelstreckenantrieb"), 13.5) - self.assertEqual(deckblatt._flyer_f40.anzahl("RA_bi_abhebbar_(unger._Schiene)"), 3) + self.assertEqual(deckblatt._flyer_f40.anzahl("RA_bi_abhebbar_unger_Schiene"), 3) self.assertEqual(deckblatt._flyer_f40.anzahl("Meldelampe_Überstrom"), 9) self.assertEqual(deckblatt._flyer_f40.anzahl("Hauptschalter_Ein-Meldung"), 8) self.assertEqual(deckblatt._flyer_f40.anzahl("Werma_Rundumleuchte_Störung"), 9) @@ -2143,11 +2084,11 @@ class TestObjectMethods(unittest.TestCase): self.assertEqual(deckblatt._flyer.anzahl("Anzahl"), 7) self.assertEqual(deckblatt._flyer.anzahl("Anzahl_Schienen"), 13) self.assertEqual(deckblatt._flyer.anzahl("Sensor_optisch_Traverse"), 206) - self.assertEqual(deckblatt._flyer.anzahl("Sensor_induktiv_Spulenalter_(Zug_positionierung)"), 7) + self.assertEqual(deckblatt._flyer.anzahl("Sensor_induktiv_Spulenalter_Zug_positionierung"), 7) self.assertEqual(deckblatt._flyer.anzahl("Bedientableau_2fach"), 7) self.assertEqual(deckblatt._flyer.anzahl("Interface_Doffer"), 7) self.assertEqual(deckblatt._flyer.anzahl("Weiche"), 95) - self.assertEqual(deckblatt._flyer.anzahl("Weiche_nach_Flyer_(bipolar)"), 7) + self.assertEqual(deckblatt._flyer.anzahl("Weiche_nach_Flyer_bipolar"), 7) self.assertEqual(deckblatt._flyer.anzahl("Wechsel"), 11) self.assertEqual(deckblatt._flyer.anzahl("Dreifachweiche"), 3) self.assertEqual(deckblatt._flyer.anzahl("RA_bi_ohne_SPS-Ansteuerung"), 7) @@ -2461,25 +2402,18 @@ class TestObjectMethods(unittest.TestCase): "panel_pc": 1, "antrieb_unidirektional_halbleiter": 1, } - eas = EA(Anzahl_EAS) - hw = HW(Anzahl_HW, eas) - 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) - hw = HW(Anzahl_HW, mg, eas) - self.assertEqual(hw.anzahl("hauptschalter"), 2) - self.assertEqual(hw.anzahl("panel_pc"), 1) - print (hw) - #self.assertEqual(hw.anzahl("antrieb_unidirektional_halbleiter"), 1) - self.assertEqual(hw.summe_gesamt(), 460.736) - self.assertEqual(hw.summe_in_LL(), 294) - self.assertEqual(hw.summe_vorort(), 166.736) + # mg = MG(deckblatt, {}) + # eas = EA(Anzahl_EAS) + # hw = HW(Anzahl_HW, eas) + + # hw = HW(Anzahl_HW, mg, eas) + # self.assertEqual(hw.anzahl("hauptschalter"), 2) + # self.assertEqual(hw.anzahl("panel_pc"), 1) + # print (hw) + # #self.assertEqual(hw.anzahl("antrieb_unidirektional_halbleiter"), 1) + # self.assertEqual(hw.summe_gesamt(), 460.736) + # self.assertEqual(hw.summe_in_LL(), 294) + # self.assertEqual(hw.summe_vorort(), 166.736) # TODO: Check dependencies step by step @@ -2591,8 +2525,8 @@ def test2(): "Interface_Doffer_Korrektur":0, #"Weiche":0, "Weiche_Korrektur":0, - #"Weiche_nach_Flyer_(bipolar)":0, - "Weiche_nach_Flyer_(bipolar)_Korrektur":0, + #"Weiche_nach_Flyer_bipolar":0, + "Weiche_nach_Flyer_bipolar_Korrektur":0, "Dreifachweiche":0, "Wechsel":0, "Stopper":0, @@ -2606,10 +2540,10 @@ def test2(): "RRA_bi":0, #"RRA_bi_Korrektur":0, #"RRA_bi_ohne_SPS-Ansteuerung":0, - "RRA_bi_ohne_SPS-Ansteuerung_Korrektur":0, + "RRA_bi_ohne_SPS_Ansteuerung_Korrektur":0, #"Doppelstreckenantrieb":0, "Doppelstreckenantrieb_Korrektur":0, - "RA_bi_abhebbar_(unger._Schiene)":0, + "RA_bi_abhebbar_unger_Schiene":0, #"Meldelampe_Überstrom":0, "Meldelampe_Überstrom_Korrektur":0, #"Hauptschalter_Ein-Meldung":0, @@ -2654,12 +2588,12 @@ def test2(): #"Anzahl_Schienen:":0, #"Sensor_optisch_Traverse":0, "Sensor_optisch_Traverse_Korrektur":0, - #"Sensor_induktiv_Spulenalter_(Zug_positionierung)":0, + #"Sensor_induktiv_Spulenalter_Zug_positionierung":0, #"Bedientableau_2fach":0, #"Interface_Doffer":0, #"Weiche":0, "Weiche_Korrektur":0, - #"Weiche_nach_Flyer_(bipolar)":0, + #"Weiche_nach_Flyer_bipolar":0, "Dreifachweiche":0, #"Wechsel":0, "Wechsel_Korrektur":0, @@ -2668,7 +2602,7 @@ def test2(): "RA_bi_abhebbar_Korrektur":0, "RA_bi":0, #"Doppelstreckenantrieb":0, - "RA_bi_abhebbar_(unger._Schiene)":0, + "RA_bi_abhebbar_unger_Schiene":0, #"Meldelampe_Überstrom":0, "Meldelampe_Überstrom_Korrektur":0, #"Hauptschalter_Ein-Meldung":0, @@ -2767,6 +2701,5 @@ def test_Unittests(): unittest.main() if __name__ == '__main__': - # test1_old() test2() - # test_Unittests() + #test_Unittests()