möchte ich gerne den Clientsocket für die PV-Anlage regelhaft alle 3 Stunden neustarten, damit der Fehler „Slave_Device_Busy“ verschwindet und die Daten aktualisiert werden.
Hierbei müsste zwischen deaktivieren und aktivieren 3 Sekunden liegen, damit die Fehlermeldung verschwindet.
Könnte mir jemande den entsprechenden Code für ID 39367 zur Verfügung stellen? Per Chat-GPT bekomme ich irgendwie nur Grütze, welche mir nicht weiterhilft.
vielen Dank für die Hilfe!!
Mit dem obigen Coding funktioniert es so wie ich es mir gedacht habe
Jetzt noch ein zyklisches Ereignis und ich habe hoffentlich deutlich weniger Fehler von meiner PV-Anlage
Ich lass die Schnittstelle mit dem obigen Skript alle 3h deaktivieren und dann nach 3 Sekunden wieder aktivieren.
So habe ich eigentlich keine Dauerschleife.
Das ganze ist zyklisch so eingestellt, dass es jeden Tag alle 3 Stunden ausgeführt wird.
Das Problem bei mir ist, dass der Socket keinen Fehler hat und nur die Meldung „SLAVE_DEVICE_BUSY“ ausgegeben wird.
Nach dem deaktivieren und aktivieren der Schnittstelle läuft es wieder fehlerfrei und bisher auch ohne irgendwelche anderen Fehler
Wenn du das Event Control nutzen willst, musst du im Script den aktuellen Zustand aus der dazugehörigen Systemvariable berücksichtigt.
Wenn nicht, dann ist klar das du eine Endlosschleife gebaut hast.
Die Variable $_IPS[‚STATUS‘] liefert den Wert vom Zustand der Instanz durch welchen das EventControl das Script gestartet hat.
Wobei du eigentlich, wenn die Instanz ClientSocket rot wird, du gar nix machen musst. Das muss IPS selbst reparieren.
Michael
Hier habe ich oft Probleme wenn ich an meinen SPS, n Änderungen mache, das sich die nicht mehr verbinden, oder es eben lange dauert.
Jetzt mal mit 1 Minute getestet und es funktioniert.
Bei Voip muss ich mir noch was überlegen, weil die Voip Instanzen sind aus irgendwelchen Gründen in letzter Zeit immer wieder mal „grau“ geworden.
Da muss ich aber mit einem Script arbeiten, weil wenn ich per Console die Instanz deaktiviere dann soll die Instanz ja nicht durch das Skript wieder aktiviert werden.
Teste ich mal aus…