TOS Gruppen json Datei vervollständigt. Nur TOS Ids mit Referenzen werden jetzt mit rausgeschrieben. Falls eine reference Id existiert, welche nicht verwendet wird, wird diese weggelassen.

This commit is contained in:
2023-12-01 15:03:34 +01:00
parent fbdff4d3bb
commit 640bbe716e
2 changed files with 334 additions and 3 deletions
+327
View File
@@ -94,5 +94,332 @@
"330": "TOS_Trolley",
"331": "TOS_Trolley_Projekte"
}
},
"TOS_ILS_2": {
"TOS-level": 4,
"children": {
"3000": "Modul",
"3001": "Modul-Komponente",
"3002": "Kreisel-Komponente",
"3003": "Laufprofil 2.0",
"3004": "Gefälle",
"3005": "Be-/Entladung"
},
"reference-ids": {}
},
"TOS_ILS_Foerderer": {
"TOS-level": 4,
"children": {
"3100": "Aluschiene",
"3101": "Bogen",
"3102": "Weiche",
"3103": "Zubehör",
"3104": "Ladeschleife",
"3105": "Türlösung",
"3106": "Einhängeschiene"
},
"reference-ids": {}
},
"TOS_Trolley": {
"TOS-level": 4,
"children": {
"3300": "Omniflo",
"3301": "Spinnerei",
"3302": "ILS",
"3303": "CDDC",
"3304": "CPC"
},
"reference-ids": {
"3300": "TOS_Trolley_Omniflo",
"3301": "TOS_Trolley_Spinnerei",
"3302": "TOS_Trolley_ILS"
}
},
"TOS_Trolley_Omniflo": {
"TOS-level": 5,
"children": {
"33000": "Trolley-V",
"33001": "Trolley Hängeware",
"33002": "Trolley Träger TT f. versch. Anwendungen",
"33003": "Trolley für Liegeware",
"33004": "Trolley Accessoires",
"33005": "Spulenzüge für diverse Anwendungen",
"33006": "Trolley/Trolley-V in Altanlagen"
},
"reference-ids": {}
},
"TOS_Trolley_Spinnerei": {
"TOS-level": 5,
"children": {
"33010": "Spulenzug",
"33011": "Zubehör"
},
"reference-ids": {}
},
"TOS_Trolley_ILS": {
"TOS-level": 5,
"children": {
"33020": "Single carrier SC",
"33021": "Minitrolley MT",
"33022": "Tasche"
},
"reference-ids": {}
},
"TOS_Trolley_Projekte": {
"TOS-level": 4,
"children": {
"3310": "Liegeware",
"3311": "diverse Anwendungen",
"3312": "Träger TT",
"3313": "ILS",
"3314": "CDDC"
},
"reference-ids": {}
},
"TOS_Geruest": {
"TOS-level": 3,
"children": {
"340": "Rohrträger",
"341": "Abhänger",
"342": "Säule",
"343": "Gatterträger",
"344": "Verbindungselement",
"345": "DRT-Kleinteil",
"346": "Fangnetz, Bühne, Treppe"
},
"reference-ids": {}
},
"TOS_FremdTransport": {
"TOS-level": 3,
"children": {
"350": "PIN & Klinke",
"351": "CDDC",
"352": "Andere Kleiderbügelsysteme"
},
"reference-ids": {}
},
"TOS_MAS_Konfig": {
"TOS-level": 3,
"children": {
"360": "Farbe / EL / H"
},
"reference-ids": {}
},
"TOS_Automation": {
"TOS-level": 2,
"children": {
"40": "Schaltschrank",
"41": "Schaltschrank Einbaumaterial",
"42": "Dezentrale Hardware",
"43": "Sensorik",
"44": "Kabel",
"45": "Installationsmaterial",
"46": "Frei",
"47": "Frei",
"48": "Frei",
"49": "Sonstiges"
},
"reference-ids": {
"40": "TOS_Schaltschrank",
"41": "TOS_Schalt_Einbau",
"42": "TOS_Dezentral",
"43": "TOS_Automation_Sensorik",
"44": "TOS_Kabel",
"45": "TOS_Installation",
"49": "TOS_Automation_Sonstiges"
}
},
"TOS_Schaltschrank": {
"TOS-level": 3,
"children": {
"400": "Stand Schaltschrank",
"401": "Kompakt Schaltschrank",
"402": "Klemmkasten",
"403": "Anzeige und Bedienelement",
"404": "Kabeleinführung",
"405": "Anbau/Einbau Gerät"
},
"reference-ids": {}
},
"TOS_Schalt_Einbau": {
"TOS-level": 3,
"children": {
"410": "Einbaumaterial",
"411": "Netzteil",
"412": "Sicherheitstechnik",
"413": "SPS",
"414": "Netzwerk Komponente",
"415": "Schütz",
"416": "Sicherung",
"417": "Motorschutzschalter",
"418": "Frequenzumrichter"
},
"reference-ids": {}
},
"TOS_Dezentral": {
"TOS-level": 3,
"children": {
"420": "Bedientableau",
"421": "I/O - Modul IP65/IP67"
},
"reference-ids": {}
},
"TOS_Automation_Sensorik": {
"TOS-level": 3,
"children": {
"430": "Induktiv",
"431": "Optisch",
"432": "Lichtschranke",
"433": "Mechanischer Schalter",
"434": "Frei",
"435": "Frei",
"436": "Zubehör Sensorik",
"437": "Druckwächter",
"438": "Reedkontakte",
"439": "Scanner / Kamera"
},
"reference-ids": {}
},
"TOS_Kabel": {
"TOS-level": 3,
"children": {
"440": "Steuerleitung",
"441": "Anschlussleitung",
"442": "Feldbusleitung",
"443": "Zubehör"
},
"reference-ids": {}
},
"TOS_Installation": {
"TOS-level": 3,
"children": {
"450": "Kabelpritsche",
"451": "Kabelkanal",
"452": "Installationsrohr",
"453": "Anlagenerdung"
},
"reference-ids": {}
},
"TOS_Automation_Sonstiges": {
"TOS-level": 3,
"children": {
"490": "Beschriftung",
"491": "Schüttgut"
},
"reference-ids": {}
},
"TOS_Maschinenelement": {
"TOS-level": 2,
"children": {
"50": "Verbindungselement",
"51": "Lager",
"52": "Kraft-/Drehmomentübertragungselement",
"53": "Dichtung",
"54": "Sicherungselement",
"55": "Bedienungselement",
"56": "Transportelement",
"57": "Abschlusselement"
},
"reference-ids": {
"50": "TOS_Verbindungselement",
"51": "TOS_Lager",
"52": "TOS_Kraft_Drehmoment",
"54": "TOS_Sicherungselement",
"55": "TOS_Bedienungselement",
"56": "TOS_Transportelement"
}
},
"TOS_Verbindungselement": {
"TOS-level": 3,
"children": {
"500": "Schraube",
"501": "Mutter",
"502": "Scheibe",
"503": "Stift, Bolzen",
"504": "Boden-/ Wandanker",
"505": "Nutenstein",
"506": "Niete",
"507": "diverse Maschinenelemente"
},
"reference-ids": {}
},
"TOS_Lager": {
"TOS-level": 3,
"children": {
"510": "Gleitlager",
"511": "Wälzlager"
},
"reference-ids": {}
},
"TOS_Kraft_Drehmoment": {
"TOS-level": 3,
"children": {
"520": "Zahntriebelement",
"521": "Kettentriebelement",
"522": "Riemen, Spannbuchse",
"523": "Spannelement",
"524": "Kupplung",
"525": "Feder",
"526": "Passfeder"
},
"reference-ids": {}
},
"TOS_Sicherungselement": {
"TOS-level": 3,
"children": {
"540": "Schraubensicherung",
"541": "Wellen-/Bohrungssicherung",
"542": "Achsensicherung"
},
"reference-ids": {}
},
"TOS_Bedienungselement": {
"TOS-level": 3,
"children": {
"550": "Griffe",
"551": "Hebel",
"552": "Arretierer",
"553": "Gestänge"
},
"reference-ids": {}
},
"TOS_Schoenenberger_Komponenten": {
"TOS-level": 2,
"children": {
"60": "frei",
"61": "frei",
"62": "frei",
"63": "frei",
"64": "frei",
"65": "frei",
"66": "frei",
"67": "frei",
"68": "frei",
"69": "frei"
},
"reference-ids": {}
},
"TOS_Pneumatik": {
"TOS-level": 2,
"children": {
"70": "Pneumatische Antriebe und Zylinder",
"71": "Ventil",
"72": "Sensoren und Leitungen",
"73": "Schlauch",
"74": "Verbindungselement",
"75": "Verteiler",
"76": "Zubehör (Dichtung, Muffe usw.)"
},
"reference-ids": {}
},
"TOS_Konfig": {
"TOS-level": 2,
"children": {
"80": "Texte",
"81": "Band-Konfiguration",
"82": "STL-Konfiguration",
"83": "Kalkulation"
},
"reference-ids": {}
}
}
+7 -3
View File
@@ -14,13 +14,16 @@ Codebereich liegt bei Calk Link 10
"""
def get_children_keys(tos_hierarchy, currentId, result):
# wenn eine Referenz nicht weiter in der TOS Hierarchy vorkommt, dann nicht mit einsammeln
if currentId not in tos_hierarchy:
return None
childIds = tos_hierarchy[currentId]["reference-ids"].values()
level = tos_hierarchy[currentId]["TOS-level"]
if len(childIds) > 0:
for cId in childIds:
result[cId] = level
# prüfen, ob die Referenz sonst noch verwendet wird
if cId in tos_hierarchy:
result[cId] = level
for cId in childIds:
get_children_keys(tos_hierarchy, cId, result)
@@ -30,6 +33,8 @@ def get_all_keywords(tos_hierarchy):
rootid = tos_hierarchy["root"]
# und von dort aus alle Referenzen
result = dict()
# root als Nullte Ebene dazu
result[rootid] = 0
get_children_keys(tos_hierarchy, rootid, result)
return result
@@ -51,9 +56,8 @@ def create_tos_string(config_path):
allKeywords = get_all_keywords(tos_hierarchy)
myIds = list()
for level in range(1,5):
for level in range(0,5):
myIds.extend(get_keywords_of_level(allKeywords, level))
print(myIds)
res += '")&EdmCodVal("'.join(myIds)
res += '")'