WinCC Unified Skripte aufrufen

Bautschi01

Level-2
Beiträge
8
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
Hab ein Problem mit den Skripten... Zur info ich hab leider quasie null Ahnung von java skript. Wir haben bei den TP Panel verschiedene VB-Skripte verwendet um Stationen zu deaktivieren wenn man von einer anderen Station bedienen möchte. Wir möchten dies bei den MTP auch wieder so umsetzen da wir noch keine andere Möglichkeit gefunden hab dies anders zu lösen. Konkret geht es darum dass ich irgentwie die Skripte nicht aufrufen kann. Ich hab im Auftragsplaner jetzt eine Aufgabe erstellt welche ein Skript, das alle 100ms aufgerufen werden soll, mithilfe des 100ms Zyklus als Trigger aufzurufen. Leider funktioniert das glaub ich nicht, hätte eine Variable eingebaut welche auf 1 gesetzt wird wenn das skript beendet wird, diese wird aber nicht gesetzt. Die anderen Skripte hab ich bei den Schaltflächen bei Ereignisse eingefügt, jedoch werden diese vermute ich auf nicht gesetzt. Wenn ich im Runtime manager den Skript debugger aktiviere sehe ich in der console leider auch nichts...

Vielleicht hab dieses Problem schon mal wer gehabt und kann mir helfen. Oder die Umschaltung mehrerer Stationen schon anderes gelöst.

Mfg
Dominik
 
Hi,

Ist ein bisschen schwierig so ganz ohne Screenshots oder deinem Skript-Code da Ideen zu liefern. Du kannst das ja noch posten
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,

Ist ein bisschen schwierig so ganz ohne Screenshots oder deinem Skript-Code da Ideen zu liefern. Du kannst das ja noch posten
1737377988703.png
Dieses skript soll durch drücken einer Schaltfläche den Startwert der Internen HMI Variable "StationNo" in den "DB203_HmiSetpoints.14.ReqStation" schreiben.
1737378029084.png
Dieses dient zum Ablehnen der Steuerung in Abhängigkeit von der Stationsnummer
1737378046630.png
Dient zur Bestätigung der Steuerung in Abhängigkeit von der Stationsnummer
1737378088537.png
Dient zum Anzeigen/Ausblenden der HMI-Anforderungsschaltfläche abhängig von der Stationsnummer
1737378128737.png
Zyklisches skript welches alle 100ms aufgerufen werden soll, wollte ich eigentlich über den aufgabenplaner erledigen, funktioniert aber denk ich nicht...

Ich hab irgentwie die vermutung dass die skripte ein problem haben den Startwert aus der Internen Variable "StationNo" zu lesen..
 

Anhänge

  • 1737378015659.png
    1737378015659.png
    16,6 KB · Aufrufe: 1
Hab jetzt nochmal ein bisschen mit den Snippets gespielt, es scheint als hätten die skripte wirklich ein Problem mit dem Befehl let StationNo = Tags("StationNo") den Startwert zu lesen, wenn ich einen Festwert rein schreibe funktionierts nämlich...
 
Du muss jeweils Tags("$VARIABLENNAME").Read() bzw. Tags("$VARIABLENNAME").Write($VARIABLENWERT) aufrufen, sonst passiert nichts. Du hast dir quasi nur einen Variablenhandle angelegt, aber ihm keine Lese- oder Schreibbefehle gegeben.
Schnau dir mal die Snippets zu Read tag und Write tag genau an.

Hier mal aus der Hilfe

 
Du muss jeweils Tags("$VARIABLENNAME").Read() bzw. Tags("$VARIABLENNAME").Write($VARIABLENWERT) aufrufen, sonst passiert nichts. Du hast dir quasi nur einen Variablenhandle angelegt, aber ihm keine Lese- oder Schreibbefehle gegeben.
Schnau dir mal die Snippets zu Read tag und Write tag genau an.

Hier mal aus der Hilfe

Habs jetzt mal wies in den Hilfen steht probiert, funktioniert aber auch nicht, in der Hilfe stehts ja mit Tag.read("Variablenname");... Habs auch mit Tags("Variablenname").Read probiert, klappt aber auch nicht... Aus den Hilfen werd ich irgentwie auch nicht wirklich schlauer😬

Kann es wirklich sein dass ich den Startwert einer HMI Internen Variable nicht auslesen kann? In der Variable StationNo steht als Startwert welche Station dass ist, wir verwenden je nach Anlage 2-3 HMI, darum müssen wir diese irgentwie deaktivieren da es zu keiner zeit möglich sein darf von mehrerern HMI zu bedienen.

*Kommando zurück, habs noch ein paar mal probiert, habs jetzt geschafft die StationNo auszulesen...
 
Zuletzt bearbeitet:
Zurück
Oben