IPS-Variablen bei Systemstart initialisieren

Hallo,

wie werden eigentlich die IPS-Variablen beim Systemstart (Dienst startet) behandelt ? Werden alle Variabeln zurückgesetzt ? Oder bleibt der letzte Wert erhalten ?

Wie könnten über ein Start-Up-Script die Variablen initialisiert werden ?

Gruß
zkra

Oder bleibt der letzte Wert erhalten ?

So ist es, macht ja auch Sinn. Eine Aktualisierung erfolgt nur durch gestarteten Dienst und Änderung durch z.B. Aktoren, Scripte oder Rückmeldungen von I/O Instanzen etc.

Wie könnten über ein Start-Up-Script die Variablen initialisiert werden ?

Das hängt vom System ab. Welche Variablen sollen denn initialisiert werden.
Ich habe z.B. ein Script geschrieben, welches nach einem Systemreset die BiDi Aktoren abfragt und z.B. alle FS20 Aktoren abschaltet und die Vars zurücksetzt.

Hallo Thomas,

wie kann ein Script bei Start des IPS-Dienstes aufgerufen werden ? Du sprichst von einem Systemreset, was ist damit gemeint ?

Ich möchte einfach bei Neustart von IPS bestimmte IPS-Variablen zurücksetzen.

Wo werden denn die Variableninhalte zwischengespeichert damit sie dann bei einem IPS-Neustart wieder zur Verfügung stehen ?

Gruß
zkra

Hallo Zkra,

Instace wie im Bild zu sehen anlegen. Dann kannst Du in der Eigenschaftsseite ein Start und ein Stop Script zuweisen.

Die Anleitung ist in diesem Fall ein wenig „dünn“ geraten :wink:
Event Control - IP-Symcon :: Automatisierungssoftware

Gruß

Wähle in der Verwaltungskonsole folgende Punkte aus:

Kern Instanzen
Event Handler
Start Skript

Im Start Skript (von Dir natürlich vorher zu definieren) kannst Du dann alle Aktionen durchführen, die Du mit den globalen Variablen machen möchtest. Alles andere natürlich auch.

Gruss
Icey

Du sprichst von einem Systemreset, was ist damit gemeint ?

Ein Systemreset ist bei mir ein Script welches ich im Dashboard über einen Button aufrufe und welches alle möglichen Einstellungen macht und Variablen auf einen von mir gewollten Urzustand zurücksetzt.

wie kann ein Script bei Start des IPS-Dienstes aufgerufen werden ?

Das wurde ja schon schön erläutert.

Im Start Skript (von Dir natürlich vorher zu definieren) kannst Du dann alle Aktionen durchführen, die Du mit den globalen Variablen machen möchtest. Alles andere natürlich auch.

Das ist leider nicht ganz so einfach, leider sind einige globale Variablen „read only“ d.h. diese müssen erst wieder durch z.B. einen Aktor geändert werden. Bestes Beispiel ist ein Bewegungsmelder, der Umweg über Hilfsvariablen wurde des öfteren aber schon im Forum besprochen.

Jetzt komme ich, glaube ich, weiter …

Besten Dank für die promte Unterstützung.

Gruß
zkra

Hallo,
ihr habt mich neugirig gemacht und habe daher mal einen Test durchgeführt wann nun die Scripts genau aufgerufen werden.

Dabei ist mir jetzt aufgefallen,
das der STARTUP-Script bei mir immer ca. 5 Sekunden nach den „Initialisierung abgeschlossen“ aufgrufen wird !!! ==> da läuft aber bereits die zyklische Bearbeitung !!!
(Ich beschiesse IPS ganz bewusst bei Start schon mit Anfragen bzw. Timerevents in Sekundentakt)

… bei SHUTDOWNSCRIPT ist alles in Ordnung, nach den letzten Timerevent läuft noch der Script und dann werden alle Module entladen

@paresy,
ist das im Sinne des Erfinders ???

==> sollte nicht ein Startupscript vor der „zyklischen Bearbeitung“ aufgerufen werden, dann ansonsten bringt ja dieser Script nichts mehr, wie in den Vorpostings gewünscht eine Initialisierung durchzuführen

tgusi74

logfile1245103922.txt (78 KB)

Da die meisten Schnittstellen erst nach dem Start geöffnet werden, startet das Startupskript verzögert, damit diese zu dem Zeitpunkt bereits geöffnet sind. Ansonsten wäre gar keine Kommunikation Möglich. Ich würde die Variablen beim Shutdown bereits auf den gewünschten Wert zurücksetzen.

paresy

Hallo paresy,
eigentlich würde ich mir das STARTSCRIPT als erstes Event nach dem laden der Module von IPS wünschen (Variablen und Modulinstanzen ansprechbar)

… das Startupscript sollte doch die Möglichkeit geben, Timer abzuschiessen („das diese nicht einfach so uninizialisiert losfeuern“) bzw. Modulinstanzen auf DISCONNECTED zu stellen und dann eben ganz bewusst „geordnet“ durch das Startscript einzuplanen

so wie ich es mir wünschen würde

  • Module laden

  • Variablen laden

  • Eventtrigger laden

  • Startupscript starten (hier können nun noch Eventtrigger gelöscht werden, Verbindungen gestoppt, Timer gestoppt/gelöscht werden)

  • 1 Sekunden dannach die Module verbinden welche noch auf „CONNECT“ stehen und die Timersteuerung starten

(sollte man im Startupscript noch eine „aktive Timersteuerung“ wünschen kann man ja das Startupscript mit IPS_SLEEP warten lassen und dann noch die gewünschten Aktionen starten)

… das mit dem inizialisieren beim Shutdown ist so eine Sache, werde stellt sicher das IPS auch wirklich zuvor über den SHUTDWON-Script beendet wurde und nicht über den Taskmanager abgeschossen wurde :wink:

Soll ja nur ein Vorschlag sein, benötige den Script im Moment nicht :slight_smile:

Danke
tgusi74