einige Teile von EA an Excel angepasst. An HW weiter gearbeitet
This commit is contained in:
+201
-268
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user