Compare commits

...

7 Commits

7 changed files with 800 additions and 3 deletions
+33 -1
View File
@@ -8,11 +8,20 @@ Diese soll in einer config-Datei für die Berechnung der rieter-eKalkulation ver
Den Parametern der rieter_ekalk werden die entsprechenden Sivas-Nummern zugewiesen, und damit die aktuellen Preise.
Diese Zuordnung von Parametern und ihren aktuellen Preisen wird wieder in eine config-Datei geschrieben, die mit den Preisen der Daten_cfg.txt-Datei abzugleichen ist, auf die rieter_ekalk zugreift.
"""
faktoren_sivas_Nummern = {
"zuleitung_75_m_unterverteiler_4x4mm2_400vac":75,
"zuleitung_75_m_unterverteiler_12x4mm2_24_vdc":75,
"zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc":75,
"zuleitung_55_m_klemmkasten_rsm_mitte_14g1_5_mm":55,
"zuleitung_55_m_klemmkasten_rsm_mitte_14g1_0_mm":55,
"schnittstellen_8x1mm2_30m":30
}
class Kosten():
"""
Liest die Sivas-Excel-Liste ein und schreibt eine neue config Datei mit den aktuellen Preisen der in rieter-ekalk verwendeten Sivas-IDs.
"""
def __init__(self, pathNew="Zuordnung_Teilenummern.txt", pathOld="Daten_cfg.txt", sivasData="grid_export.xlsx"):
"""
:param pathNew: cfg-Datei, die den Bauteilen ihre Sivas-Nummern zuweist z.B. "schaltschrankgehaeuse_b2x800_zubehoer = 790821101"
@@ -33,7 +42,10 @@ class Kosten():
self._default = configparser.ConfigParser(inline_comment_prefixes="#")
self._default.read_file(open(pathOld))
# wird verwendet, um die Werte der alten config zu speichern
self._HW_Einzelpreise = None
def exists(self):
return self._given
@@ -114,8 +126,28 @@ class Kosten():
with open(name, 'w') as configfile:
config.write(configfile)
def writePriceIncrements(self, name='Preis_Increments.xlsx'):
not_found_in_sivas = dict()
latest_costs = self.getNewPricesAsDict(not_found_in_sivas)
sivas_numbers = list()
old_prices = list()
new_prices = list()
for sivas_number in latest_costs.keys():
sivas_numbers.append(sivas_number)
old_prices.append(self.getDefaultDictAsFloat().get(sivas_number))
new_prices.append(latest_costs.get(sivas_number))
data = {"Sivas-Nummern":sivas_numbers, "Alte Preise":old_prices, "Neue Preise":new_prices}
df = pd.DataFrame.from_dict(data)
df.to_excel(name, sheet_name="Preisänderungen", index_label="Sivas-Nummern")
# lies die alte config und die Excel-Liste mit den Sivas-Daten
costs = Kosten()
not_found_in_sivas = dict()
latest_costs = costs.getNewPricesAsDict(not_found_in_sivas)
# schreibe die neue config mit den aktuellen Preisen
costs.writeNewConfig('Sivas_Abgleich.cfg')
# schreibe die Preisänderungen in eine Excel-Datei
costs.writePriceIncrements('Preis_Increments.xlsx')
+272
View File
@@ -0,0 +1,272 @@
# HARDWARE
[HW_Einzelpreise]
# Schaltschrank Einzelpreis
schaltschrankgehaeuse_b1x800_zubehoer = 2000 #
schaltschrankgehaeuse_b2x800_zubehoer = 4663.45 # 790821101
schaltschrankgehaeuse_b1x1200+1x800_zubehoer = 5720.94 # 790821102
sps_simatic_s7_cpu315_2_pn_dp = 2237.25 # 708003004
speicherkarte_fuer_sps_512_kb = 172.5 # 708003012
sps_simatic_s7_cpu317_2_pn_dp = 3957 # 708003007
speicherkarte_fuer_sps2_mb = 246 # 708003027
sps_simatic_s7_1515_2 = 2173.9 # 790008100
sps_simatic_s7_1517_3 = 3827.8 # 790008101
sps_simatic_s7_1518_4 = 5892 # 6ES7518-4AP00-0AB0
sps_et200_1512sp = 705.75 # 709000003
memory_card_256_mb = 0 # 708015093
memory_card_2_gb = 515.9 # 708015094
et200_sp_ea_ebene = 0 # 790009001
netzwerk_fernwartung = 750 # 790011001
abgang_400v = 250 # ----
abgang_24_v = 250 # ----
anlagenrechner = 1657 # 790011000
anlagenrechner_ohne_bildschirm = 1487 # 1x 711003025 PC; 1x 711003026 Filter; 1x 711003111Softnet; 1x711003049 UPS
pulteinbau_monitor_srline_rflat_24fhd = 1200 # 400009058
kurzhubtastatur_kbt06_mit_touchpad_uslayout = 350 # 400009057
netzwerk_display_adapter_lindy = 650 #
zusaetzlicher_bildschirm = 1100 #
unterverteiler_fuer_1neuenhauser_pm = 1000 # 790820210
unterverteiler_fuer_1flyer = 1000 # 790820207_A
unterverteiler_fuer_2flyer = 1000 # 790820209_A
unterverteiler_fuer_1flyer_f40_mit_integrierter_putzmaschine = 1000 # 790820210
unterverteiler_fuer_2flyer_f40_mit_integrierter_putzmaschine = 1000 # 790820210
unterverteiler_fuer_puffer = 1000 # 790820210_F
unterverteiler_fuer_5_rsm_fa = 1000 # 790820210_D
unterverteiler_fuer_10_rsm_fa = 1000 # 790820210_F
unterverteiler_fuer_3_rsm_fa_mit_umfahrung_steckbar = 1000 # 790820209_C
unterverteiler_fuer_4_rsm_direct = 5584 # 790820300
unterverteiler_fuer_12_rsm_direct = 8258 # 790820302
unterverteiler_fuer_8_rsm_direct = 6736 # 790820301
busverteiler_6_rsm_direct = 1747.53 # 790801002
busverteiler_8_rsm_direct = 2052.26 # 790801001
antrieb_unidirektional_halbleiter = 90
antrieb_bidirektional_halbleiter = 105
antrieb_unidirektional_schuetz = 0
antrieb_bidirektional_schuetz = 0
motorschutzschalter = 0
wendeschuetzschaltung = 75
frequenzumrichter = 250
bedienstation_1fach_kpl = 59
bedienst_2fach_wechs_bcd_10f = 105 # 790002024
bedienstation_2fach_kpl = 65.63 # 790000020
halter_bedientableau_2fach = 42 # 825304006
bedienstation_3fach_kpl = 99 # 790000040
halter_bedientableau_3fach = 46 # 825304007
bedienstation_4fach_kpl = 121 # 790000045
halter_bedientableau_4fach = 52 # 825304003
bedienstation_6fach_kpl = 145.8 # 790000033
halter_bedientableau_6fach = 56 # 825304002
drucktaster_automatische_umfahrung = 28
halter_fuer_drucktaster = 33
# ET200_SP
et_200sp_bundle_profinet_im_155_6pn_st_ba_2xrj45 = 198.90 # 709000006
et200_sp_eingangskarte_8_de = 35 # 709000021
et200_sp_eingangskarte_16_de = 58 # 709000022
et200_sp_eingangskarte_8_do = 46 # 709000031_A
et200_sp_eingangskarte_16_do = 66.30 # 709000032
et200_sp_base_unit_neue_last_mit_potKlemmen = 23 # 709000014
et200_sp_base_unit_links_gebrueckt_mit_pot_klemmen = 15 # 709000015
et200_sp_base_unit_neue_last = 19 # 709000011
et200_sp_base_unit_links_gebrueckt = 11 # 709000010
# SLIO
et_200sp_bundle_profinet_im_155_6pn_st_ba_2xrj45_SLIO = 175 # 709000500
slio_eingangskarte_4_de = 31 # 709000510
slio_eingangskarte_8_de = 38 # 709000511
slio_ausgangskarte_4_do = 39 # 709000021
slio_ausgangskarte_8_do = 46 # 709000021
slio_power_modul = 18.22 # 709000014
slio_4_x_dc_24v_4_x_dc_0v = 18 # 709000015
slio_8_x_dc_24v = 18 # 709000011
slio_8_x_dc_0v = 13 # 709000010
# MATERIAL VOR ORT
movimot_fu_mit_anschaltung = 550
sensor_optisch_traverse = 27 # 827072200
sensorhalter_ohne_sensor = 8 # 827072xxx
reflexionslichtschranke_rsm_direct = 45 # 827072207
stoppersensor_induktiv_mit_halter = 63 # 827072205
sensor_spulenpruefung_voll_leer = 126 # 827072204 + 721000041
seilzugschalter = 150
seil_fuer_seilzugschalter = 0.40
blitzleuchte = 72 # 790000006
spulenumsetzstation = 0
sensorkabel_je_20m = 25 # 722001xxx
stopper_weichenkabel_je_5m = 20 # 722001xxx
motorkabel_je_30m = 26
kabelpritschen_leitern_200_60 = 15
kabelpritsche_rsm_100_60 = 12 # 715000020
kabelpritsche_rsm_50_35 = 9 # 715003010
klemmkasten_rsm = 120
klemmkasten_direct_in_rsm = 122 # 790000703
erdung = 13
kleinteile_rohre_schellen_kabelbinder_ect = 750
kabel_fuer_klemmkasten_und_bts_60m = 145
kabel_fuer_1fach_bts_zug_wechseln = 50
zuleitung_75_m_unterverteiler_4x4mm2_400vac = 146 # 725000050
zuleitung_75_m_unterverteiler_12x4mm2_24_vdc = 450 # 725000057
zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc = 280 # 725000057
zuleitung_55_m_klemmkasten_rsm_mitte_14g1_5_mm = 145 # 725000007
zuleitung_55_m_klemmkasten_rsm_mitte_14g1_0_mm = 136 # 725000004
profinetkabel = 42 # 726001xxx
schnittstellen_8x1mm2_30m = 35.4 # 725000019
[HW_Zeiten Hardwareplanung]
# pro Einheit in min
schaltschrankgehaeuse_b1x1200_zubehoer = 4200
schaltschrankgehaeuse_b2x800_zubehoer = 4200
schaltschrankgehaeuse_b1x1200+1x800_zubehoer = 4800
sps_simatic_s7_cpu315_2_pn_dp = 0
speicherkarte_fuer_sps_512_kb = 0
sps_simatic_s7_cpu317_2_pn_dp = 0
speicherkarte_fuer_sps2_mb = 0
sps_simatic_s7_1515_2 = 0
sps_simatic_s7_1517_3 = 0
sps_simatic_s7_1518_4 = 0
sps_et200_1512sp = 0
memory_card_256_mb = 0
memory_card_2_gb = 0
et200_sp_ea_ebene =60
netzwerk_fernwartung =0
abgang_400v =60
abgang_24_v =60
anlagenrechner =0
anlagenrechner_ohne_bildschirm = 0
pulteinbau_monitor_srline_rflat_24fhd = 60
kurzhubtastatur_kbt06_mit_touchpad_uslayout = 0
netzwerk_display_adapter_lindy = 30
zusaetzlicher_bildschirm =0
schaltschrank =0
unterverteiler_fuer_1neuenhauser_pm =1200
unterverteiler_fuer_1flyer =720
unterverteiler_fuer_2flyer =1020
unterverteiler_fuer_1flyer_f40_mit_integrierter_putzmaschine =810
unterverteiler_fuer_2flyer_f40_mit_integrierter_putzmaschine =1110
unterverteiler_fuer_puffer =1200
unterverteiler_fuer_5_rsm_fa =960
unterverteiler_fuer_10_rsm_fa =1020
unterverteiler_fuer_3_rsm_fa_mit_umfahrung_steckbar =1200
unterverteiler_fuer_4_rsm_direct =3000
unterverteiler_fuer_12_rsm_direct =4800
unterverteiler_fuer_8_rsm_direct =3900
busverteiler_6_rsm_direct =600
busverteiler_8_rsm_direct =960
[HW_Zeiten Elektro-Werkstatt]
# pro Einheit in min
schaltschrankgehaeuse_b1x1200_zubehoer = 2400
schaltschrankgehaeuse_b2x800_zubehoer = 4800
schaltschrankgehaeuse_b1x1200+1x800_zubehoer = 5160
sps_simatic_s7_cpu315_2_pn_dp = 0
speicherkarte_fuer_sps_512_kb = 0
sps_simatic_s7_cpu317_2_pn_dp = 0
speicherkarte_fuer_sps2_mb = 0
sps_simatic_s7_1515_2 = 0
sps_simatic_s7_1517_3 = 0
sps_simatic_s7_1518_4 = 0
sps_et200_1512sp = 0
memory_card_256_mb = 0
memory_card_2_gb = 0
et200_sp_ea_ebene =120
netzwerk_fernwartung =0
abgang_400v =90
abgang_24_v =90
anlagenrechner =0
anlagenrechner_ohne_bildschirm = 0
pulteinbau_monitor_srline_rflat_24fhd = 240
kurzhubtastatur_kbt06_mit_touchpad_uslayout = 0
netzwerk_display_adapter_lindy = 120
zusaetzlicher_bildschirm =0
schaltschrank =0
unterverteiler_fuer_1neuenhauser_pm =1200
unterverteiler_fuer_1flyer =1020
unterverteiler_fuer_2flyer =1200
unterverteiler_fuer_1flyer_f40_mit_integrierter_putzmaschine =1140
unterverteiler_fuer_2flyer_f40_mit_integrierter_putzmaschine =1200
unterverteiler_fuer_puffer =1200
unterverteiler_fuer_5_rsm_fa =1020
unterverteiler_fuer_10_rsm_fa =1140
unterverteiler_fuer_3_rsm_fa_mit_umfahrung_steckbar =1500
unterverteiler_fuer_4_rsm_direct =3600
unterverteiler_fuer_12_rsm_direct =4800
unterverteiler_fuer_8_rsm_direct =4200
busverteiler_6_rsm_direct =480
busverteiler_8_rsm_direct =480
antrieb_unidirektional_halbleiter =10
antrieb_bidirektional_halbleiter =10
antrieb_unidirektional_schuetz =0
antrieb_bidirektional_schuetz =0
motorschutzschalter =0
wendeschuetzschaltung =0
frequenzumrichter =0
bedienstation_1fach_kpl =25
bedienst_2fach_wechs_bcd_10f =90
bedienstation_2fach_kpl =30
halter_bedientableau_2fach =30
bedienstation_3fach_kpl =25
halter_bedientableau_3fach =30
bedienstation_4fach_kpl =30
halter_bedientableau_4fach =30
bedienstation_6fach_kpl =45
halter_bedienstation_6fach =30
drucktaster_automatische_umfahrung =15
halter_fuer_drucktaster =0
# ELEKTROMONTAGE
[Elektro-Montagezeiten]
Schaltschrank_aufstellen = 6.0 #(h/St)
Unterverteiler_montieren = 3.0 #(h/St)
Pritsche_montieren_umbauen_demontieren = 6.0 #(m/h)
Pritsche_in_RSM_montieren = 21.0
Motor_verdrahten_und_anschliessen = 0.9 #(h/Motor)
Tableau_befestigen_und_anschliessen = 0.75 #(h/St)
Schnittstelle_Flyer_Putzmaschine = 1.5 #(h/St)
Sensoren_montieren = 0.45 #(h/St)
Seilzugschalter_installieren = 4.0 #(h/St)
Blitzleuchte_installieren = 0.5 #(h/St)
Weiche_Stopper_anschliessen = 0.35 #(h/St)
Erdung = 0.5 #(h)
# ANSCHLUSSLEISTUNG
# Key ist die Leistung des jeweiligen Motors [kW]. Value ist der Leistungsfaktor
[cos phi]
0.09=0.77
0.12=0.77
0.18=0.77
0.37=0.7
0.55=0.77
0.75=0.73
1.1=0.81
# Key ist die Leistung des jeweiligen Motors [kW]. Value ist der Strom [A]
[Antriebsstrom]
0.09=0.4
0.12=0.55
0.18=0.75
0.37=1.24
0.55=1.62
0.75=1.75
1.1=2.55
# ERGEBNIS
[Kosten pro h] #[€/h] der jeweiligen Kostenart
E_Werkstatt = 32
Schaltschrankbau_extern_Mehrkosten = 0 #Wenn Schaltschrankbau extern die Mehrkosten eintragen Standard = 18 € Hier wird nur die Diverenz zwischen Kosten intern(32€) und dem externen Kosten eingetragen. Beispiel= extern = 50€ intern 32 € = Wert= 18€
Dienstleistung_in_LL = 45
Pflichtenheft = 60
SPS_Programmierung = 75
PC_Programmierung_Visualisierung = 75
Montage_elektrisch = 36
Inbetriebnahmetest_Hardware_durch_Montage = 36
SPS_Inbetriebsetzung = 75
PC_Inbetriebsetzung = 75
Inbetriebnahmeunterstützung_durch_Montage = 36
Dokumentation = 35
Bedienungsanleitung_Emmert = 75
Schulung_vor_Ort_beim_Kunden = 36
Abnahme = 36
SPS_Anlagenbetreuung = 75
PC_Anlagenbetreuung = 60
Anlagenbetreuung_durch_Montage = 36
File diff suppressed because one or more lines are too long
+19 -1
View File
@@ -1,3 +1,21 @@
# Rieter-EKalk
Umsetzung der Excel-Datei von Herrn Schellhammer und Boes in Python
*rieter_ekalk.py* : Umsetzung der Excel-Datei von Herrn Schellhammer und Boes in Python
*Abfrage_Sivas.py* : liest die aktuellen Preise der Bauteile aus einem Sivas_Export.xlsx aus und erzeugt eine config-Datei (Sivas_Abgleich.cfg) für einen Programmlauf mit den wahren Preisen
Bsp. für eine config-Datei mit den Sivas-Preisen in €:
```ini
[HW_Einzelpreise]
schaltschrankgehaeuse_b2x800_zubehoer = 9490.23
schaltschrankgehaeuse_b1x1200_plus_1x800_zubehoer = 10862.85
sps_simatic_s7_cpu315_2_pn_dp = 2237.25
speicherkarte_fuer_sps_512_kb = 172.5
sps_simatic_s7_cpu317_2_pn_dp = 3957.0
speicherkarte_fuer_sps2_mb = 246.0
sps_simatic_s7_1515_2 = 2162.35
sps_simatic_s7_1517_3 = 4328.65
sps_et200_1512sp = 705.75
memory_card_256_mb = 266.35
```
+123
View File
@@ -0,0 +1,123 @@
[HW_Einzelpreise]
# Schaltschrank Einzelpreis
schaltschrankgehaeuse_b1x800_zubehoer = ----
schaltschrankgehaeuse_b2x800_zubehoer = 790821101
schaltschrankgehaeuse_b1x1200+1x800_zubehoer = 790821102
sps_simatic_s7_cpu315_2_pn_dp = 708003004
speicherkarte_fuer_sps_512_kb = 708003012
sps_simatic_s7_cpu317_2_pn_dp = 708003007
speicherkarte_fuer_sps2_mb = 708003027
sps_simatic_s7_1515_2 = 790008100
sps_simatic_s7_1517_3 = 790008101
sps_simatic_s7_1518_4 = 6ES7518-4AP00-0AB0
sps_et200_1512sp = 709000003
memory_card_256_mb = 708015093
memory_card_2_gb = 708015094
et200_sp_ea_ebene = 790009001
netzwerk_fernwartung = 790011001
abgang_400v = ----
abgang_24_v = ----
anlagenrechner = 790011000
anlagenrechner_ohne_bildschirm = 711003025 + 711003026 + 711003111 + 711003049
pulteinbau_monitor_srline_rflat_24fhd = 400009058
kurzhubtastatur_kbt06_mit_touchpad_uslayout = 400009057
netzwerk_display_adapter_lindy = ----
zusaetzlicher_bildschirm = ----
unterverteiler_fuer_1neuenhauser_pm = 790820210
unterverteiler_fuer_1flyer = 790820207_A
unterverteiler_fuer_2flyer = 790820209_A
unterverteiler_fuer_1flyer_f40_mit_integrierter_putzmaschine = 790820210
unterverteiler_fuer_2flyer_f40_mit_integrierter_putzmaschine = 790820210
unterverteiler_fuer_puffer = 790820210_F
unterverteiler_fuer_5_rsm_fa = 790820210_D
unterverteiler_fuer_10_rsm_fa = 790820210_F
unterverteiler_fuer_3_rsm_fa_mit_umfahrung_steckbar = 790820209_C
unterverteiler_fuer_4_rsm_direct = 790820300
unterverteiler_fuer_12_rsm_direct = 790820302
unterverteiler_fuer_8_rsm_direct = 790820301
busverteiler_6_rsm_direct = 790801002
busverteiler_8_rsm_direct = 790801001
antrieb_unidirektional_halbleiter = ----
antrieb_bidirektional_halbleiter = ----
antrieb_unidirektional_schuetz = ----
antrieb_bidirektional_schuetz = ----
motorschutzschalter = ----
wendeschuetzschaltung = ----
frequenzumrichter = ----
bedienstation_1fach_kpl = ----
bedienst_2fach_wechs_bcd_10f = 790002024
bedienstation_2fach_kpl = 790000020
halter_bedientableau_2fach = 825304006
bedienstation_3fach_kpl = 790000040
halter_bedientableau_3fach = 825304007
bedienstation_4fach_kpl = 790000045
halter_bedientableau_4fach = 825304003
bedienstation_6fach_kpl = 790000033
halter_bedientableau_6fach = 825304002
drucktaster_automatische_umfahrung = ----
halter_fuer_drucktaster = ----
# ET200_SP
et_200sp_bundle_profinet_im_155_6pn_st_ba_2xrj45 = 709000006
et200_sp_eingangskarte_8_de = 709000021
et200_sp_eingangskarte_16_de = 709000022
et200_sp_eingangskarte_8_do = 709000031_A
et200_sp_eingangskarte_16_do = 709000032
et200_sp_base_unit_neue_last_mit_potKlemmen = 709000014
et200_sp_base_unit_links_gebrueckt_mit_pot_klemmen = 709000015
et200_sp_base_unit_neue_last = 709000011
et200_sp_base_unit_links_gebrueckt = 709000010
# SLIO
et_200sp_bundle_profinet_im_155_6pn_st_ba_2xrj45_SLIO = 709000500
slio_eingangskarte_4_de = 709000510
slio_eingangskarte_8_de = 709000511
slio_ausgangskarte_4_do = 709000021
slio_ausgangskarte_8_do = 709000021
slio_power_modul = 709000014
slio_4_x_dc_24v_4_x_dc_0v = 709000015
slio_8_x_dc_24v = 709000011
slio_8_x_dc_0v = 709000010
# MATERIAL VOR ORT
movimot_fu_mit_anschaltung = ----
sensor_optisch_traverse = 827072200
sensorhalter_ohne_sensor = 827072xxx
reflexionslichtschranke_rsm_direct = 827072207
stoppersensor_induktiv_mit_halter = 827072205
sensor_spulenpruefung_voll_leer = 827072204 + 721000041
seilzugschalter = ----
seil_fuer_seilzugschalter = ----
blitzleuchte = 790000006
spulenumsetzstation = ----
sensorkabel_je_20m = 722001xxx
stopper_weichenkabel_je_5m = 722001xxx
motorkabel_je_30m = ----
kabelpritschen_leitern_200_60 = ----
kabelpritsche_rsm_100_60 = 715000020
kabelpritsche_rsm_50_35 = 715003010
klemmkasten_rsm = ----
klemmkasten_direct_in_rsm = 790000703
erdung = ----
kleinteile_rohre_schellen_kabelbinder_ect = ----
kabel_fuer_klemmkasten_und_bts_60m = ----
kabel_fuer_1fach_bts_zug_wechseln = ----
zuleitung_75_m_unterverteiler_4x4mm2_400vac = 725000050
zuleitung_75_m_unterverteiler_12x4mm2_24_vdc = 725000057
zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc = 725000057
zuleitung_55_m_klemmkasten_rsm_mitte_14g1_5_mm = 725000007
zuleitung_55_m_klemmkasten_rsm_mitte_14g1_0_mm = 725000004
profinetkabel = 726001xxx
schnittstellen_8x1mm2_30m = 725000019
@@ -0,0 +1,32 @@
[Preise durch Sivas nicht ermittelbar]
schaltschrankgehaeuse_b1x800_zubehoer = ----
sps_simatic_s7_1518_4 = 6ES7518-4AP00-0AB0 ### Siemens Bestellnummer Artikel nicht in Sivas geführt
abgang_400v = ---- ### 703000192 + 703000201 + 703001022 * 2 + 700004301 * 3 + 700004304 + 700004207 + 700004053 + 700004042 + 700004035
abgang_24_v = ---- ### 400009208 + 705002010 + 700004053 + 700004042 + 700004035 * 2 + 700004301 * 10 + 700004304 * 2 + 700004207
netzwerk_display_adapter_lindy = ---- ### 790011002
zusaetzlicher_bildschirm = ---- ### 711003028
antrieb_unidirektional_halbleiter = ---- ### 703001070
antrieb_bidirektional_halbleiter = ---- ### 703001075
antrieb_unidirektional_schuetz = ---- ### 703001049
antrieb_bidirektional_schuetz = ---- ### 703001058
motorschutzschalter = ---- ### 703001007
wendeschuetzschaltung = ---- ### 703001026 * 2 + 703001029
frequenzumrichter = ---- ### nicht mehr verwendet
bedienstation_1fach_kpl = ---- ### 790002022
drucktaster_automatische_umfahrung = ---- ### 400102435
halter_fuer_drucktaster = ---- ### fällt raus rsm fa mit drucktaster * 4 statt * 8
movimot_fu_mit_anschaltung = ---- ### fällt raus
sensorhalter_ohne_sensor = 827072xxx ### fällt raus
seilzugschalter = ---- ### 827336009 rsm fa seilzugschalter wenn deckblatt d5 ja *1 nicht mehr *2
seil_fuer_seilzugschalter = ---- ### 719001012 pro maschinenlänge doppelte länge(dann muss die Maschinenlänge aber noch angegeben werden)
spulenumsetzstation = ---- ### fällt raus
sensorkabel_je_20m = 722001xxx ### 722001022 (je 40m)
stopper_weichenkabel_je_5m = 722001xxx ### 722001040 (je 50m)
motorkabel_je_30m = ---- ### 725000015 (1 m)
kabelpritschen_leitern_200_60 = ----
klemmkasten_rsm = ----
erdung = ----
kleinteile_rohre_schellen_kabelbinder_ect = ----
kabel_fuer_klemmkasten_und_bts_60m = ----
kabel_fuer_1fach_bts_zug_wechseln = ----
profinetkabel = 726001xxx
+20
View File
@@ -7,7 +7,15 @@ JSON_IDENT = 5
class cfg():
"""
Liest die config-Datei ein, in der Stückpreise und Zeiteinheiten pro Bauteil wie in der rieter_ekalk Excel-Datei verwendet angegeben sind, und schreibt sie in ein Dictionary.
"""
def __init__(self, path="Daten_cfg.txt"):
"""
:param path: Die config-Datei, in der Stückpreise und Zeiteinheiten der jeweiligen Bauteile aufgelistet sind z.B.[HW_Einzelpreise]
# Schaltschrank Einzelpreis
schaltschrankgehaeuse_b1x800_zubehoer = 2000
"""
self._hasConfig = True
if os.path.exists(path):
self._cfg = configparser.ConfigParser(inline_comment_prefixes="#")
@@ -20,6 +28,10 @@ class cfg():
return self._hasConfig
def getDictAsFloat(self, section):
"""
Schreibt die Zuordnungen von Bauteil:Stückpreis/Zeiteinheit (je nach gewählter Überschrift) aus der config-Datei in ein Dictionary.
:param section: Überschrift in der config-Datei z.B. "HW_Einzelpreise"
"""
res = dict()
for key, val in self._cfg.items(section):
res[key] = float(val)
@@ -171,9 +183,17 @@ class MG():
def get_deckblatt_value(self, key):
"""
Gibt eingegebenen Wert des Eingabeparameters zurück.
:param key: Name eines Eingabeparameters im Deckblatt z.B. "Begegnungsstrecke_Bypass"
"""
return self._deckblatt.get(key, 0)
def get_value_of_object(self, objectname, key):
"""
:param objectname: Name der Klasse, zu der das Bauteil gehört, dessen Wert man wissen will z.B. "puffer"
:param key: Name des Bauteils, dessen Wert ermittelt werden soll z.B. "Sensor_optisch_Traverse"
"""
# Deckblatt
if (objectname.lower() == "deckblatt"):
return self._deckblatt.get(key)