WinCC 6.0: Funktion für einen Button zu einer bestimmten Zeit sperren

Garog

Level-1
Beiträge
197
Reaktionspunkte
32
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallöchen zusammen.

Wie kann ich eine Funktion für einen Button zu bestimmten Zeiten. z.b. jede Stunde, für 5 Minuten deaktivieren.
Der Knopf soll ruhig weiter betätigt werden können aber die Funktionen die diesem Knopf zugeteilt sind sollen nicht gehen.

Danke
 
Hallo, es sollte doch möglich sein per C Script (mit der richtigen Triggereinstellung) eine Freigabe Variable (intern) auf "True" und auf "False" Zu setzen und diese dann mit der eigentlichen Funktion verknüpfen.
Aber einfacher ist es sicherlich, wenn man es in der SPS löst!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ich kenne mich so garnicht mit scripten oder c aus...
leider darf es nicht über die sps laufen.

habe auch vorher nie groß etwas mit wincc gemacht. nur sehr viel mit flexible.
 
Wie zeitgenau soll die Abschaltung funktionieren?
Relativ einfach aber nicht so performant wäre ein C-Skript das als Trigger einen zyklischen Minuten Takt hat in dem die Funktion ausgeführt wird.

Man kann sich den Systemzeitstempel einlesen und in einer internen Variable abspeichern womit man dann abfragen kann wann die Funktion deaktiviert ist.

Sollen mehrere Buttons deaktiviert werden dann am besten die Funktion in einem Objekt "verstecken" das immer aufgerufen ist (je nach Projektierung gibt es eventuell eine startup.PDL oder in PCS7 @1001.PDL). Dort dann in eine WinCC Variable schreiben und in den jeweiligen Skripten nur auf diese Variable als Trigger verweisen.

Intern würde ich dann den Zeitstempel in eine Puffervariable schreiben und abprüfen ob die aktuelle Zeit Puffer+5min ist.

Das ist aber wirklich eine Bastellösung. Timer... sind eigentlich Sache des PLC. Je zeitkritischer die Deaktivierung ist desto kleiner den Triggerwert des zyklischen Aufrufs setzen.

Hoffe das hilft ein wenig. Ansonsten nochmal fragen ;-)
 
Hallöchen zusammen.

Wie kann ich eine Funktion für einen Button zu bestimmten Zeiten. z.b. jede Stunde, für 5 Minuten deaktivieren.
Der Knopf soll ruhig weiter betätigt werden können aber die Funktionen die diesem Knopf zugeteilt sind sollen nicht gehen.

Danke

Schau dir mal unter Projekt-Geräteeinstellungen den Aufgabenplaner an. Dort gibt es einen 1-Minuten- und einen 1-Std.-Trigger.
Mit dem 1-Std.-Trigger sperrst du deine Taste (SetzeWert Variable xy...)und aktivierst ein 2.Script, in dem über den 1-min-Trigger bis 5 hochgezählt und dann die Taste wieder entsperrt wird (RueckSetzeWert Variable xy...)

Variable xy tackerst du an "Animation - Bedienbarkeit" deiner Taste

Achtung:Trigger werden zur vollen Stunde bzw. Minute aktiv

Vielleicht hilft das schon weiter.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
...noch was vergessen!

Im Allgemeinen würde ich vom Gebrauch umfangreicher Scripte abraten, da die Performance der meisten Panels in den Keller geht. (Leidige Erfahrung mit MP270).
 
Der 1-Stunden Trigger wird wohl keine Lösung sein da er ja wohl definiert zu einer gewissen Zeit (z.B. immer um x.15h bis x.20h) den Button sperren will. Also muss das Skript die Uhrzeit pollen um am x.15 zu reagieren.

So weit ich das verstanden habe geht es um das native WinCC und nicht um Flex, oder?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Oder so?

Hier mein Lösungsvorschlag:

- Variablentreiber Systeminfo hinzufügen
- Variable "Minuten" anlegen
- mit der Variablen "Minuten" globale Aktion triggern
- in der globalen Aktion Minutenwert abfragen, wenn =0, dann interne Variable "Bedienfreigabe" rücksetzen, wenn =5, dann interne Variable "Bedienfreigabe" setzen
- interne Variable "Bedienfreigabe" an die Bedienfreigabe des Buttons tackern
- fertig

Ebenfalls beachten: nach Anlauf von WinCC Variable "Bedienfreigabe" durch Anlaufskript passend initialisieren

Gruß
Flinn
 
Zurück
Oben