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]
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:
'''verbindet die Sensoren mit den Racks.
die Rückgabe enthält ein Tuple, welche Sensoren keinem Rack zugeordnet werden konnten
@@ -599,6 +602,7 @@ class Anlage():
ld = dict()
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["length"]= round(pfad_length,1)
#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)
# Verbinde Racks miteinander (ggf. verlängere ungenaue Racks)
an.join_racks()
# Füge Sensoren als Knoten hinzu
an.add_sensors(sensors)
# Füge Sensoren als Knoten hinzu und speichere Sensoren mit deren Artikelnummern
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
errors_sensors = an.connect_sensors_to_racks()
# Füge UV hinzu
@@ -111,7 +112,10 @@ def prepare_data(rawdata:dict):
sensors = rawdata["sensors"]
dsensors = dict()
for sname, sdata in sensors.items():
dsensors[sname] = Point(sdata["pos"])
dsensors[sname] = {
"point": Point(sdata["pos"]),
"artinr": sdata.get("ARTINR","")
}
subdists = rawdata["distributors"]
dsubdists = dict()