NEWS
Verständnisfrage Abarbeitung eines Skriptes
-
Guten Tag,
ich habe eine Verständnisfrage zu der Abarbeitung von Skripten.
Ich selbst komme aus der SPS-Welt. Hier wird das Programm zyklisch von oben oben nach unten abgearbeitet.
Habe jetzt mit Hilfe dieses Videos
Link
die Benachrichtigung umgesetzt wenn die Waschmaschine fertig ist.
Das Skript sieht man im Bild...
Wann wird die Variable Waschmaschine am Anfang mit dem Wert 0 beschrieben?
Nur beim erstmaligen starten? Wird die Variable also mit 0 initialisiert?
Danach wird ja nur auf die Änderung der Waschmaschine Power reagiert und der Teil darin bei jeder Änderung abgearbeitet, oder?
Vielen Dank! -
@fredfesl sagte in Verständnisfrage Abarbeitung eines Skriptes:
Ich selbst komme aus der SPS-Welt.
da wird ein Skript meines Wissens auch immer neu gestartet, das ist in js anders
@fredfesl sagte in Verständnisfrage Abarbeitung eines Skriptes:
Hier wird das Programm zyklisch von oben oben nach unten abgearbeitet.
wird es in js auch, außer...
@fredfesl sagte in Verständnisfrage Abarbeitung eines Skriptes:
Wann wird die Variable Waschmaschine am Anfang mit dem Wert 0 beschrieben?
Nur beim erstmaligen starten? Wird die Variable also mit 0 initialisiert?Bestandteile außerhalb des Triggers werden nur bei Skriptstart ausgeführt
@fredfesl sagte in Verständnisfrage Abarbeitung eines Skriptes:
Danach wird ja nur auf die Änderung der Waschmaschine Power reagiert und der Teil darin bei jeder Änderung abgearbeitet, oder?
jepp - aber Achtung js arbeitet asynchron und wartet nicht immer auf ein Ergebnis bevor es den nächsten Schritt abarbeitet.
-
Ok vielen Dank für die schnelle Antwort. Dann lag ich mit meiner Vermutung schon richtig.
@homoran sagte in Verständnisfrage Abarbeitung eines Skriptes:
jepp - aber Achtung js arbeitet asynchron und wartet nicht immer auf ein Ergebnis bevor es den nächsten Schritt abarbeitet.
Kannst du das noch etwas näher erläutern, was bedeutet es wird nicht immer auf ein Ergebnis gewartet...
-
@fredfesl sagte in Verständnisfrage Abarbeitung eines Skriptes:
Kannst du das noch etwas näher erläutern, was bedeutet es wird nicht immer auf ein Ergebnis gewartet...
ich bin ein Javascript Legatheniker.
Wirklich erklären kann ich das nicht. Da sind andere wesentlich befugter drin.Ganz deutlich, dass sogar ich es verstanden habe ist es, wenn du einen Wert in einen Datenpunkt schreibst und diesen sofort wieder verarbeiten willst.
Dann bekommst du noch den alten Wert zurück, weil der Schreibvorgang noch nicht fertig ist.Ähnliche Fallen soll es aber auch innerhalb von Skripten geben. Aber warte da lieber auf eine kompetentere Antwort
-
@fredfesl wenn du mit tiemout oder verzögerung arbeitest, wird nicht gewartet bis der timeout oder die verzögerung eintritt, das script läuft weiter ab
-
@fredfesl sagte: was bedeutet es wird nicht immer auf ein Ergebnis gewartet...
"steuere" / "aktualisiere" wird asynchron ausgeführt, was bedeutet, dass der Datenpunkt nicht anschließend gleich wieder eingelesen werden kann, da "steuere" zu dem Zeitpunkt noch nicht fertig ist. Deshalb verwendet man innerhalb des Skriptes besser Variablen.
-
@paul53 ist das wirklich alles?
oder fällt auch die Schleife unter den begriff asynchron?
"Mache bis..." feuert doch auch die Befehle nacheinender ab und wartet nicht bis der erste abgearbeitet ist. -
@homoran sagte: fällt auch die Schleife unter den begriff asynchron?
Nein. Eine Schleife wird synchron abgearbeitet. Natürlich muss man in einer Schleife die Abbruch-Bedingung beherrschen.
Allgemein: Callback-Funktionen werden asynchron ausgeführt.
-
@paul53 Und woher weiß man dann, wann der Wert geschrieben wurde und man den neu geschriebenen Wert wieder einlesen kann?
Wie kann man das im Programm abfangen?
Mit Variablen innerhalb eines Skriptes hat man hier also kein Problem...
Sollte man dann Anfang Datenpunkte auf Variablen schreiben und am Ende die Variablen auf Datenpunkte? -
@fredfesl sagte: Sollte man dann Anfang Datenpunkte auf Variablen schreiben und am Ende die Variablen auf Datenpunkte?
Ja.
-
@paul53 Ok vielen Dank soweit!