ich habe ein Python Programm geschrieben was sich mittels eines OPCUA Clients mit einer Siemens Steuerung (1515F) verbindet und relativ viele Daten abfragen muss.
Nun Frage ich von einem Datenbaustein alle Daten einzeln ab. Dies dauert aber für einen Durchlauf in meinem Programm ca 30 Sekunden.
Ich muss jede Minute von der Steuerung gut 1000 Daten abfragen. Zur Zeit sieht meine Abfrage so aus. Oder ist das zu umständlich
Code: Alles auswählen
if Sensoren_Kr > 0:
for sensKr in range(0, Sensoren_Kr):
sens1 = str(sensKr)
minimumKr, minimumKrReal = leseWert('ns=3;s="Daten_Raspberry"."Pufferspeicher_Sensorwerte"."Puffer"[%s]."Kran"."Sekunde"[%s]."Sensor"[%s]."minimum"' % (PufferStr, sek1, sens1))
mittelKr, mittelKrReal = leseWert('ns=3;s="Daten_Raspberry"."Pufferspeicher_Sensorwerte"."Puffer"[%s]."Kran"."Sekunde"[%s]."Sensor"[%s]."mittel"' % (PufferStr, sek1, sens1))
maximumKr, maximumKrReal = leseWert('ns=3;s="Daten_Raspberry"."Pufferspeicher_Sensorwerte"."Puffer"[%s]."Kran"."Sekunde"[%s]."Sensor"[%s]."maximum"' % (PufferStr, sek1, sens1))
minimumKrListe.append(round(minimumKr, 3))
mittelKrListe.append(round(mittelKr, 3))
maximumKrListe.append(round(maximumKr, 3))
minimumKrTemp, minimumKrTempReal = leseWert('ns=3;s="Daten_Raspberry"."Pufferspeicher_Sensorwerte"."Puffer"[%s]."Kran"."Sekunde"[%s]."Sensor"[%s]."minimum_Temp"' % (PufferStr, sek1, sens1))
mittelKrTemp, mittelKrTempReal = leseWert('ns=3;s="Daten_Raspberry"."Pufferspeicher_Sensorwerte"."Puffer"[%s]."Kran"."Sekunde"[%s]."Sensor"[%s]."mittel_Temp"' % (PufferStr, sek1, sens1))
maximumKrTemp, maximumKrTempReal = leseWert('ns=3;s="Daten_Raspberry"."Pufferspeicher_Sensorwerte"."Puffer"[%s]."Kran"."Sekunde"[%s]."Sensor"[%s]."maximum_Temp"' % (PufferStr, sek1, sens1))
minimumKrTempListe.append(round(minimumKrTemp, 3))
mittelKrTempListe.append(round(mittelKrTemp, 3))
maximumKrTempListe.append(round(maximumKrTemp, 3))