In prepare_data() in routing nun auch die atikelnummer des Sensors übergeben. Zusatzfunktion set_sensor_atnrs() in plant erstellt und in routing aufgerufen. Resultat: Sensor-Atikelnummer nun in todraw.json Übergabe

This commit is contained in:
2025-06-11 13:25:31 +02:00
parent 4eb574b39c
commit 731dd3dda6
2 changed files with 11 additions and 3 deletions
+4
View File
@@ -367,6 +367,9 @@ class Anlage():
return self._sensors[sname] return self._sensors[sname]
raise Exception("Sensor not found") raise Exception("Sensor not found")
def set_sensor_artnrs(self, artnr_dict: dict):
self._sensor_artnrs = artnr_dict
def connect_sensors_to_racks(self) -> list: def connect_sensors_to_racks(self) -> list:
'''verbindet die Sensoren mit den Racks. '''verbindet die Sensoren mit den Racks.
die Rückgabe enthält ein Tuple, welche Sensoren keinem Rack zugeordnet werden konnten die Rückgabe enthält ein Tuple, welche Sensoren keinem Rack zugeordnet werden konnten
@@ -599,6 +602,7 @@ class Anlage():
ld = dict() ld = dict()
ld['id'] = f"{dname}-{sname}" ld['id'] = f"{dname}-{sname}"
ld['s_artinr'] = self._sensor_artnrs.get(sname, "")
ld["coords"]= [{"x":round(p.x,1), "y":round(p.y,1)} for p in pfad_coords] ld["coords"]= [{"x":round(p.x,1), "y":round(p.y,1)} for p in pfad_coords]
ld["length"]= round(pfad_length,1) ld["length"]= round(pfad_length,1)
#ld["nodes"]=pfad_nodes #ld["nodes"]=pfad_nodes
+7 -3
View File
@@ -63,8 +63,9 @@ def create_plant(racks:dict, sensors:dict, distributors:dict, mapping:dict, tunn
an.set_racks(racks) an.set_racks(racks)
# Verbinde Racks miteinander (ggf. verlängere ungenaue Racks) # Verbinde Racks miteinander (ggf. verlängere ungenaue Racks)
an.join_racks() an.join_racks()
# Füge Sensoren als Knoten hinzu # Füge Sensoren als Knoten hinzu und speichere Sensoren mit deren Artikelnummern
an.add_sensors(sensors) an.add_sensors({sname: sdata["point"] for sname, sdata in sensors.items()}) # nur Punkte zu jeweiligem sname übergeben
an.set_sensor_artnrs({sname: sdata["artinr"] for sname, sdata in sensors.items()}) # nur Artikelnummern zu jeweiligem sname übergeben
# Verbinde Sensoren mit deren naheliegendsten Racks # Verbinde Sensoren mit deren naheliegendsten Racks
errors_sensors = an.connect_sensors_to_racks() errors_sensors = an.connect_sensors_to_racks()
# Füge UV hinzu # Füge UV hinzu
@@ -111,7 +112,10 @@ def prepare_data(rawdata:dict):
sensors = rawdata["sensors"] sensors = rawdata["sensors"]
dsensors = dict() dsensors = dict()
for sname, sdata in sensors.items(): for sname, sdata in sensors.items():
dsensors[sname] = Point(sdata["pos"]) dsensors[sname] = {
"point": Point(sdata["pos"]),
"artinr": sdata.get("ARTINR","")
}
subdists = rawdata["distributors"] subdists = rawdata["distributors"]
dsubdists = dict() dsubdists = dict()