TIA VBS: Skripte Global und im Bild parallel abarbeiten lassen möglich

fabey

Level-2
Beiträge
114
Reaktionspunkte
7
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich wollte nur kurz fragen ob ich das folgende so richtig verstanden habe. Bisher habe ich immer nur gelesen "Es kann immer nur ein Skript gleichzeitig abgearbeitet werden. Wenn ein Skript hängen bleibt (wegen einem Fehler oder einer MsgBox) bleibt alles hängen.".

Aber ein Skript in einem Bild scheint trotzdem noch von einem globalen Skript getrennt zu sein und beide können gleichzeitig laufen. Richtig?

Habe im Aufgabenplaner alle 2s einen Test ausgegben und gleichzeitig eine MsgBox in einem Bild per Skript geöffnet und das geht.
Wenn natürlich im globalen Skript eine MsgBox ist, laufen die 2s nicht weiter und auch kein weiteres Skript im Aufgabenplaner.

1624007313257.png
 
Habe im Aufgabenplaner alle 2s einen Test ausgegben und gleichzeitig eine MsgBox in einem Bild per Skript geöffnet und das geht.
Wie gibst Du denn den Text aus? Rufst Du im Aufgabenplaner ein VBS-Skript auf oder eine Systemfunktion? Wie erzeugst Du die 2s?
Hast Du mal mehr Details, was Du wie machst?

Ganz wichtig: um welche WinCC Runtime auf welchem HMI-Gerät geht es bei Dir überhaupt?!

WinCC Comfort/Advanced: Während ein Skript läuft (und z.B. in einer Schleife auf etwas wartet) läuft die Runtime weiter. EA-Felder werden aktualisiert, Objekte animiert, man kann auch Bilder wechseln, aber kein weiteres Skript starten. Zu startende Skripte werden in eine Warteschlange gestellt, die dann irgendwann mit Fehlermeldung überläuft.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Sorry ich mache mir immer nur Gedanken um das Kernproblem und vergesse dann die weiteren wichtigen Infos.

Es handelt sich um eine TIA RT Prof v16.

Im Button auf dem Bild war ein lokales VBS Skript dass einfach eine MsgBox anzeigt. Im Aufgabenplaner war zeitgesteuert alle 2s ein VBS-Skript dass einfach nur über Trace die Nachricht ausgibt, nur um zu sehen ob das weiter läuft wenn die MsgBox offen ist oder nicht.
 
Ja, das ist also WinCC Professional. Und was Du bisher gelesen hast, das bezog sich auf WinCC Comfort/Advanced. Daher immer genau angeben bzw. hinsehen, um welches WinCC es sich handelt.

Mit WinCC Prof V1x (TIA) habe ich noch gar keine Erfahrungen (nur WinCC V4.x ... V7.5) - da können wohl anscheinend mehrere VBS-Skripte gleichzeitig ausgeführt werden.

Harald
 
Wenn man z.B. ein Skript über den Aufgabenplaner eine MsgBox aufruft, dann läuft ein zweites Skript aus dem Aufgabenplaner nicht mehr weiter. Ebenso mit dem Skripten die aus dem Bild getriggert werden.

Daher würde ich vermuten, dass jeweils ein Skript aus dem Aufgabenplaner und Bild parallel laufen können. So richtig konkret konnte ich das aber noch nicht in der Doku finden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ich wollte nur kurz fragen ob ich das folgende so richtig verstanden habe. Bisher habe ich immer nur gelesen "Es kann immer nur ein Skript gleichzeitig abgearbeitet werden. Wenn ein Skript hängen bleibt (wegen einem Fehler oder einer MsgBox) bleibt alles hängen.".

Aber ein Skript in einem Bild scheint trotzdem noch von einem globalen Skript getrennt zu sein und beide können gleichzeitig laufen. Richtig?
Ja. Tatsächlich gibt es bei WinCC Professional und bei WinCC Unified mehrere Threads für die Script-Abarbeitung die parallel ablaufen können:
1. Global Script Aktionen
2. Aktionen im Grafiksystem
3. Dynamisierungen im Grafiksystem

Hintergrund ist genau, dass eine Messagebox die typischerweise in einer Grafiksystem Aktion aufgerufen wird, die Dynamisierungen nicht blockiert. Es können aber gleichzeitig keine weiteren Aktions-Scripts (z.B. über Button-Click getriggert) ausgeführt werden.

In WinCC UA gibt es zusätzlich noch viele asynchrone Funktionen von denen viele gleichzeitig aktiv sein können (z.B. Datei einlesen).

Michael
 
Hallo,

ich wollte nur kurz fragen ob ich das folgende so richtig verstanden habe. Bisher habe ich immer nur gelesen "Es kann immer nur ein Skript gleichzeitig abgearbeitet werden. Wenn ein Skript hängen bleibt (wegen einem Fehler oder einer MsgBox) bleibt alles hängen.".

Aber ein Skript in einem Bild scheint trotzdem noch von einem globalen Skript getrennt zu sein und beide können gleichzeitig laufen. Richtig?
Ja. Tatsächlich gibt es bei WinCC Professional und bei WinCC Unified mehrere Threads für die Script-Abarbeitung die parallel ablaufen können:
1. Global Script Aktionen
2. Aktionen im Grafiksystem
3. Dynamisierungen im Grafiksystem

Hintergrund ist genau, dass eine Messagebox die typischerweise in einer Grafiksystem Aktion aufgerufen wird, die Dynamisierungen nicht blockiert. Es können aber gleichzeitig keine weiteren Aktions-Scripts (z.B. über Button-Click getriggert) ausgeführt werden.

In WinCC UA gibt es zusätzlich noch viele asynchrone Funktionen von denen viele gleichzeitig aktiv sein können (z.B. Datei einlesen).

Michael
 
Es können aber gleichzeitig keine weiteren Aktions-Scripts (z.B. über Button-Click getriggert) ausgeführt werden.
... Was ja eh nicht geht wenn eine MsgBox geöffnet ist.

Sehr gute Antwort, vielen Dank. Genau darauf hatte ich gehofft. Vielen Dank.
Das einzige wäre noch wenn jemand einen Link zur Doku posten könnte in der das beschrieben steht, das wäre super.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
... Was ja eh nicht geht wenn eine MsgBox geöffnet ist.

Sehr gute Antwort, vielen Dank. Genau darauf hatte ich gehofft. Vielen Dank.
Das einzige wäre noch wenn jemand einen Link zur Doku posten könnte in der das beschrieben steht, das wäre super.

Gehe auf die Einstiegsseite https://support.industry.siemens.com und suche nach "WinCC Professional"
Suchbereich einschränken auf "Handbuch"
Da findest du "SIMATIC STEP 7 Basic/Professional V16 und SIMATIC WinCC V16"

oder direkt:

Auf Seite 1507:
9.9.3 Abarbeitung von Funktionen und lokalen Skripten in Runtime (RT Professional)
"Zwei lokale Skripte vom gleichen Typ können in Runtime nicht gleichzeitig ausgeführt werden. Damit z. B. zyklische Skripte nicht durch ein Skript behindert werden, das auf Mausklick ausgeführt wird, werden ereignisgetriggerte Skripte und zyklische/variablengetriggerte Skripte in Bildern unabhängig voneinander ausgeführt."


Michael
 
Zurück
Oben