WinCC HMI beenden von der SPS aus

Maddie

Level-1
Beiträge
17
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
habe meiner Steuerung einen FB eingebaut der die Anlage per Button aus der HMI herraus beendet. Habe auch am Ende eine Variable eingefügt die gesetzt wird wenn das abschalten aller gesteuerten Komponenten beendet ist und mit dieser würde ich jetzt gern damit nun die HMI beenden. Habe überlegt ob ich mit einer Aufgabe ein Script aufrufe was die Variable abfragt und dann irgentwie die HMI beendet.

MfG Maddie
 
Um was für ein HMI handelt es sich denn.

Bei WinCC flex und TIA gibt es die Funktion "Beende Runtime", welche du z.B. auf einen Taster legen kannst. Oder du nimmst eine Variable und sagst bei "Wertänderung" => beende Runtime.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
TIA Portal V13 SP1 und WinCC Professional V13 SP1 läuft auf einen Panel-PC. Mit der Taste hatte ich mir auch schon überlegt würde aber gern das nicht extra noch was geklickt werden muss außer den Button den ich schon zum abschalten der Anlagenkomponenten einsetzt.
 
Zuletzt bearbeitet:
Das will ich ja auch aber ich bin nicht so firm in VBScript oder C-Script das ich auf anhieb weis wie ich das richtig schreiben kann.
 
Sorry aber ich finde bei Eigenschaften der Variablen eine Möglichkeit bei "Wertänderung" irgentwelche Funktionen an zu hängen.

Güße Maddie
 
Ja mit Scripten habe ich leider noch nicht so die Erfahrung gibt es da irgentwelche Vorlagen oder kennt sich einer von euch da gut aus und könnte mir helfen?

Gruß
Maddie
 
Keiner der mir da weiter helfen kann?

Gruß
Maddie

Hi,
habe kurz im Internet geschaut und (vielleicht) genau die Antwort auf deine Frage gefunden.
Schau mal hier: https://sie.ag/2Tg4iqz

Hier gibt es den Abschnitt: [h=2]Wie wird über ein Skript die WinCC Runtime beendet und ggf. im Anschluss der PC bzw. das Panel heruntergefahren?[/h]und als Antwort:
StopRuntime 1

Vielleicht hilft dir das weiter.
 
Ich kenne TIA WinCC Professional nicht, doch gibt es da keine Hilfefunktion?
Suche mal nach "Runtime, beenden", "beenden", "Runtime", "Beispiele" ...

In WinCC Prof. V7.x gibt es in VBS die Anweisung "HMIRuntime.Stop", und für C-Aktionen gibt es im Dynamic Wizard die Wizards "WinCC Runtime beenden" und "WinCC beenden".

(Ganz früher gab es ein WinCC Add-on Shutdown-WinCC, das wird vermutlich nicht mehr benötigt, weil die Shutdown-Funktion in WinCC Prof nun eingebaut ist?)

Eventuell gibt es externe Tools im Umfeld von USV, die vor dem Shutdown von Windows auch die TIA-WinCC-RT beenden können? Eventuell reagiert die WinCC-RT sogar schon auf Shutdown-Nachrichten?

Harald
 
Moin

Also die Funktion habe jetzt schon mal gefunden es ist StopRuntime (hmiStopRuntime). Habe mir jetzt auch schon ein script dazu geschrieben und auch im Aufgabenplaner ein Aufgabe hinzugefügt die die Variable in der SPS beobachter und auf Wertänderung achtet. Aber wenn sich der Wert der Variablen in der SPS ändert reagiert die HMI nicht darauf. Kann euch ja mal mein Script zeigen eventuell seht ihr ja meinen fehler.
Code:
Dim RTStopTag
Set RTStopTag = HMIRuntime.Tags("xStopRuntime")
If (RTStopTag.Read = True) Then
StopRuntime (hmiStopRuntime)
End If

Gruß Maddie
 
Jetzt solltest Du erst mal zweifelsfrei klären, welche WinCC Runtime genau Du verwendest. Dein VBS-Code wird meines Wissens nicht in einer WinCC Professional RT funktionieren.

Und der Aufgabenplaner ist vermutlich auch der falsche Ort für die Aufgabe, wenn das Skript bei Wertänderung einer Variable angetriggert werden soll. Welchen Trigger hast Du denn im Aufgabenplaner eingestellt? Und wie wird die HMI-Variable "xStopRuntime" aktualisiert? Wird sie sonst noch irgendwo verwendet?

Falls Du in Wirklichkeit eine WinCC Advanced Runtime betreibst, dann muß vermutlich die Erfassungsart der HMI-Variable "xStopRuntime" auf "zyklisch fortlaufend" eingestellt werden und das Skript muß bei Wertänderung der Variable aufgerufen werden. Und das Skript muß nicht so verschwuchtelt formuliert werden sondern einfach:
Code:
If SmartTags("xStopRuntime") Then
  StopRuntime (hmiStopRuntime)
End If

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Jetzt solltest Du erst mal zweifelsfrei klären, welche WinCC Runtime genau Du verwendest. Dein VBS-Code wird meines Wissens nicht in einer WinCC Professional RT funktionieren.

Und der Aufgabenplaner ist vermutlich auch der falsche Ort für die Aufgabe, wenn das Skript bei Wertänderung einer Variable angetriggert werden soll. Welchen Trigger hast Du denn im Aufgabenplaner eingestellt? Und wie wird die HMI-Variable "xStopRuntime" aktualisiert? Wird sie sonst noch irgendwo verwendet?

Falls Du in Wirklichkeit eine WinCC Advanced Runtime betreibst, dann muß vermutlich die Erfassungsart der HMI-Variable "xStopRuntime" auf "zyklisch fortlaufend" eingestellt werden und das Skript muß bei Wertänderung der Variable aufgerufen werden. Und das Skript muß nicht so verschwuchtelt formuliert werden sondern einfach:
Code:
If SmartTags("xStopRuntime") Then
  StopRuntime (hmiStopRuntime)
End If

Harald

mit SmartTags hat es funktioniert danke allen die mir geholfen haben:D

Gruß Maddie
 
Zurück
Oben