# WinCC Flexible / Schaltfläche verwendung SETZE / RÜCKSETZE USW? Was nimmt man an bes



## Benedikt (10 Februar 2012)

Servus alle zusammen,

bin mal wieder am rumbasteln und bin auf folgendes problem gestoßen: 

Hab WinCC flexible in Runtime laufen, mit meiner Oberfläche, wo einige Schaltfläche sich darauf befinden. Eine einfache EIN / AUS Schaltung (bsp. Motor EIN/AUS oder Ventil AUF / ZU)

Meine Frage nun:

- Wie macht ihr das mit diesen Schaltfläche zum Beispiel  MOTOR AN / AUS, Zwei Schaltflächen mit 2 Variablen oder eine Schaltfläche mit einer Variablen.

-wie definiert ihr das ganze dann? "KLICKEN" "LOSLASSEN" "DRÜCKEN" usw, dann SETZE BIT, INVENTIERE BIT, RÜCKSETZE, wie sieht sowas professionell aus????

BRAUCH MAL EINE GUTE FUNKTIONIERENDE RICHTLINIE.... LIKE A PRO  

BIN GRAD AUF DER MEISTERSCHULE


----------



## Lupo (10 Februar 2012)

Ich nehme an der Schaltfläche immer nur die Events "Drücken" und "Loslassen".
Die Funktion "SetzeBit" setzt eine Bool-Variable, "RücksetzeBit" löscht sie wieder.
"InvertiereBit" ändert den Zustand dieser Variablen in den jeweils anderen - also wie ein Stromstossschalter.

Ich mache es so, wenn ich eine Tipp- oder Tast-Funktion brauche, dass ich das Bit mit "Drücken" setze und mit "Loslassen" wieder Rücksetze.
In dem Fall einer Taste für EIN würde ich dort setzen und bei der AUS-Taste rücksetzen - jeweils mit dem Event "Drücken".

Nun alles klar ?


----------



## PN/DP (10 Februar 2012)

Bei mir: (Fast) alle Schaltsignale vom HMI zur SPS setzen nur Bits in der SPS. Jede Funktion eine eigene Schaltfläche mit einer eigenen Variable. Am Ende des OB1 (und bei SPS-Neustart als erstes im OB1) werden diese Bits dann in der SPS gelöscht. Ein Tipp-Betrieb ist so allerdings nicht möglich, für Tipp-Betrieb sollten DP-Direkttasten genutzt werden. Sollen mit dem Panel auch Antriebe gestoppt/ausgeschaltet werden, dann muß man sich Gedanken machen, wie man die Abschaltung auch bei ausgefallenem Panel oder Kommunikation oder Fehlfunktionen ermöglicht.

Ereignisse, die mit dem Loslassen von Bedienobjekten zu tun haben, nutze ich generell nicht zur Anlagenbedienung. Das ist mir zu unsicher.

Ich verwende bei Schaltflächen lieber "bei Klicken", da kann der Operator es sich bei der Fingerbedienung nochmal überlegen, ob er die Schaltfläche tatsächlich bedienen will. Versehentliches Wischen über den Touchscreen löst dann die Schaltflächen auch seltener aus.

Harald


----------



## DiX (10 Februar 2012)

Für Die Bedienung von Bewegungen wie z.B. Vor/Rück hoch/runter nehme ich auch immer 2 Tasten für jede Funktion eine auch meistens mit Drücken -> Setze Bit und Loslassen -> Rücksetze Bit. Nur Bit setzen bei klicken und in der SPS rücksetzen hab ich hin und wieder auch schon eingesetzt. Für Vor- An- bzw. Abwahlen nehme ich meistens nur eine Taste mit Textliste damit sich der Text entsprechend dem Zustand ändert. Um auf dein Beispiel zurück zu kommen drückst Du auf die Taste "Ventil ein" das Ventil wird eingeschaltet und der Text ändert sich auf "Ventil aus" Taste nochmal betätigen Ventil wieder aus. Ein Farbumschlag  der Schrift von grün auf rot und umgekehrt sieht dann auch noch ganz gut aus. 

Gruß DiX


----------



## Approx (10 Februar 2012)

@PN/DP: Danke für den Tipp mit den DP-Direkttasten! :s12:
Habe zufällig auch grade ein Flex-Projekt am Start (mein allererstes), wo teilweise Tippbetrieb mit gedrückter (Key-)Taste gefahren werden muss (hoch, runter, vor, zurück). Hatte mir bereits einen FC für sämtliche MP277-Bedienungen geschrieben, und am Ende dieses FC mache ich den Befehls-Variablen-DB per SFC21 platt. Somit hatte ich aber ein Problem mit den Tipp-Funktionen. Habe schon mit "SetzeBitWährendTasteGedrückt" probiert und den FILL deaktiviert, das gefällt mir aber auch nicht so recht, weil mit FILL ist's irgendwie eleganter.
Werde die DP-Direkttasten mal nä. Woche probieren! Da muss man erstmal drauf kommen...

Gruß Approx


----------



## van (11 Februar 2012)

ich verwende für Tippen immer die Funktion  "SetzeBitWährendTasteGedrückt"
Wenn ich über zwei Buttons etwas Ein- Ausschalte hat der eine Drücken->SetzteBit und der andere Drücken->RücksetzeBit




			
				DB/PN schrieb:
			
		

> Bei mir: (Fast) alle Schaltsignale vom HMI zur SPS setzen nur Bits  in der SPS. Jede Funktion eine eigene Schaltfläche mit einer eigenen  Variable. Am Ende des OB1 (und bei SPS-Neustart als erstes im OB1)  werden diese Bits dann in der SPS gelöscht.


Willst du damit den Ausfall des OPs abfangen? oder den Befehl quittieren? ...



Lupo schrieb:


> Ich  mache es so, wenn ich eine Tipp- oder Tast-Funktion brauche, dass ich  das Bit mit "Drücken" setze und mit "Loslassen" wieder  Rücksetze.


entspricht das nicht genau der Funktion  "SetzeBitWährendTasteGedrückt"


----------



## Lipperlandstern (11 Februar 2012)

van schrieb:


> ich verwende für Tippen immer die Funktion  "SetzeBitWährendTasteGedrückt"




Ich hatte jetzt in letzer Zeit schon 2x das Phänomen das das Bit zwar gesetzt wurde allerdings nicht zurückgesetzt wurde. Erst beim erneuten Antippen der Taste wurde es dann zurückgesetzt. So ganz vertrauenerweckend ist das nicht. Bisher habe ich auch immer diese Funktion genutzt und nie damit Probleme gehabt. Jetzt bin ich auch auf der Suche nach einer neuen Lösung. Leider gibt es nur 32 Direkttasten. Das ist leider zu wenig bzw. ich müsste meine ganze Bedienphilosophi ändern


----------



## PN/DP (11 Februar 2012)

van schrieb:


> DB/PN schrieb:
> 
> 
> > Bei mir: (Fast) alle Schaltsignale vom HMI zur SPS setzen nur Bits in der SPS. Jede Funktion eine eigene Schaltfläche mit einer eigenen Variable. Am Ende des OB1 (und bei SPS-Neustart als erstes im OB1) werden diese Bits dann in der SPS gelöscht.
> ...


Ja, Ausfall oder Fehlfunktionen des OP, Ausfall der Kommunikation, ...
Das OP ist ja im Gegensatz zur SPS-CPU nur ein relativ unzuverlässiger Windows- oder Linux-PC  Das sollte man bei der Gefährdungs-Analyse berücksichtigen ...
Wir hatten das Problem schon mal thematisiert.

Zu "SetzeBitWaehrendTasteGedrueckt": ich erinnere mich, daß Siemens in der WinCC flex Hilfe und anderswo extra vor der Verwendung dieser Funktion warnt, habe aber gerade keine entsprechenden Links.

Harald


----------



## van (12 Februar 2012)

PN/DP schrieb:


> Zu "SetzeBitWaehrendTasteGedrueckt": ich erinnere mich, daß Siemens in der WinCC flex Hilfe und anderswo extra vor der Verwendung dieser Funktion warnt, habe aber gerade keine entsprechenden Links.



Ich habe mal in der WinCCflex Hilfe nachgeschaut
http://www.automation.siemens.com/m...ionId=37364590091&TopicId=34550334859&Lang=de


> ... sollten Sie mit dieser Funktion ausschließlich auf Variablen vom Typ BOOL zugreifen
> 
> Hinweis
> Durch einen für eine Taste projektierten Bildwechsel werden alle Funktionen am Ereignis "Loslassen" sofort ausgeführt, auch wenn die Taste noch gedrückt ist.
> ...


Man soll die Funktion nur mit Bool Variablen verwenden aber nicht wenn die SPS Bool Variablen unterstützt ...
... Siemens was willst du mir damit sagen ???


----------



## Matze001 (12 Februar 2012)

Mit so ner Aussage sind die fein raus. Da kann man viel interpretieren, und sie schieben es sich, wie sie es brauchen


----------

