WinCC flexible, ereignissgesteuert bild öffnen

Lord Cartman

Level-1
Beiträge
71
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

hab momentan ein kleines Problem bei der Visualisierung mit WinnCC flexible. Das ganze läuft auf einer S7-1200 ab mit dem Tia Portal V10.5.
In der HMI Projektierung befinden sich 2 Bilder. Das erste Bild (Startbild) wird nach jedem Neustart angezeigt. Über einen Barcodescanner wird ein Code eingelesen der anschließend hier angezeigt wird. Nachdem dort eine Code erscheint, soll ein neues Bild geöffnet werden, auf dem andere Barcodes eingescannt werden.
Das Problem hierbei ist, das ich zwar über einen Button in das nächste Bild springen kann, jedoch ist das auch möglich, wenn noch kein Code eingelesen wurde.

Hat jemand vlt eine Idee wie man eine Art Bedingung dazu definieren kann?

Bin dankbar über jeden Vorschlag :)
 
Lass das umschalten des Bildes doch über deine SPS laufen und setze dann einen Merker oder was dir beliebt in eine UND-Verknüpfung vor den Schritt, um das nächste Bild aufzurufen.

Ansonsten gibt es ja gewiss noch irgendwelche Skripts, wobei ich da leider nicht so bewandert bin, die diesen Vorgang innerhalb des TP´s tätigen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
... es ist immer schön, wenn man weiß, womit der Andere arbeitet - Bediengerät ?

Aber generell ... dein gescannter Barcode landet doch wohl in einem Eingabefeld. Hier kannst du "bei Wertänderung" z.B. auch das nächste Bild aufrufen ...

Gruß
Larry
 
Die zweite Frage die du uns beantworten solltest wäre die, ob das Bild von alleine wechseln soll, so wie Larry es Vorgeschlagen hat oder ob es zusätzlich noch eine Schaltfläche gibt um auf das nächste Bild zu springen.
 
Zuerst mal danke für die schnelle antworten.
Die Idee mit einer UND verknüpfung kam mir auch schon, nur weis ich nich wie ich das in die Visualisierung reinbringen kann, hab mit WinCC noch nich so viel erfahrung sammeln können.
Ein Merker is dafür schon angelegt, nur wie kann ich den mit dem Bild verknüpfen?

... es ist immer schön, wenn man weiß, womit der Andere arbeitet - Bediengerät ?

Aber generell ... dein gescannter Barcode landet doch wohl in einem Eingabefeld. Hier kannst du "bei Wertänderung" z.B. auch das nächste Bild aufrufen ...
also die sonstige hard-und software besteht aus einem Barcodescanner vom Typ Motorrola LS3408 und einem Laptop mit WindowsXP.
Der Barcode landet in einem Ausgabefeld,da er die Daten aus einem DB liest und nur ausgeben muss. Theoretisch könnt das Feld auch auf Eingabe/Ausgabe gestellt werden. Wo lässt sich anschließend dann die Funktion "bei Wetränderung" finden? Ich such immer unter Erreignisse und "Aktiviere Bild".

Der Idealfall wäre, wenn das Bild automatisch bei Wertänderung wechselt. Den Button hatte ich nur hinzgefügt, da mir sonst keine andere idee kam das bild überhaupt zu wechseln. wie gesagt: mangelnde erfahrung:confused:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich wollte wissen, welches Bediengerät du verwendest - liest du die Beiträge nicht richtig ?

Das Ereignis geht IMMER von von der Quelle aus und nicht von dem Ziel ... es wird also von der Variablen (die an dem Eingabefeld hängt) ausgelößt ...

Gruß
Larry
 
Theoretisch könnt das Feld auch auf Eingabe/Ausgabe gestellt werden. Wo lässt sich anschließend dann die Funktion "bei Wetränderung" finden? Ich such immer unter Erreignisse und "Aktiviere Bild".

Der Idealfall wäre, wenn das Bild automatisch bei Wertänderung wechselt. Den Button hatte ich nur hinzgefügt, da mir sonst keine andere idee kam das bild überhaupt zu wechseln. wie gesagt: mangelnde erfahrung:confused:

Idealfall sollte doch funktionieren:

HMI >>
HMI-Variablen >>
"Barcodevariable" anklicken >>
im Eigenschaftsfenster "Ereignisse" >>
Wertänderung >>
unter Funktion hinzufügen "AktiviereBild"
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Supi, das wars schon. Hatte vorher immer in der grafischen Programmierung versucht das Ereigniss zuzuweisen, was ja nich ging.
Auf die Idee in den HMI-Variablen was zuweisen zu können bin ich leider nich gekommen.

Vielen Dank
 
Muss leider noch eine Frage hinterherlegen:

Ich wollts jetzt so machen, dass die CPU nach einem Neustart automatisch wieder in das erste Bild wechselt. Das Panel zeigt nach dem Neustart ja immernoch das zweite Bild, in das wir vorher gesprungen sind.

Dachte mir dafür in einem Anlauf OB100 ein Merker zu setzen und bei dessen Wertänderung wieder das startbild aufrufen zu lassen.
Das Panel ruft bei Neustart das Startbild zwar auf, jedoch kommt kurz darauf wieder sofort das zweite Bild. Der notwendige Merker um das zweite Bild zu setzen, ist nach dem Neustart aber noch '0'.

*Nachdem die HMI-Projektierung erneut geladen wurde, erscheint zwar auch das Startbild, wirft aber "unnötigen" Aufwand auf.


Bin wieder über jede Idee dankbar :)
 
Wahrscheinlich lese ich falsch, aber wie setzt du das Bild am Anfang denn?

Hast du einen Bereichszeiger angelegt in einem Db (oder dergleichen) und rufst dann in deinem SPS Programm darüber ein neues Bild auf.

Oder

Fragst du in deinen Variablen ab ob der Bit "0" oder "1" ist und setzt demnach das neue Bild?

Evtl. Wird das "Startbild" ja nur für die Sekunden aufgerufen wie der Wert 1 ist und nicht dauerhaft.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
also das Bild wird gesetzt, indem der HMI-Variablen ein ereigniss bei wertänderung zugewiesen wird.
Also zweite variante^^

das startbild erhält dauerhaft den wert '1', da das bit erst gesetzt wird, wenn der anwender einen barcode abscannt.
 
... ich weiß nicht, was du dir da zurecht gebastelt hast ... aber eine Wertänderung ist nicht nur "von 0 -> 1" sondern auch "von 1 -> 0" ...!!!
Vielleicht liegt es ja da dran ...

Gruß
Larry
 
nimm doch nur eine Variabel für die Bildansteuerung. Da nimmst du dann
eine INT Varariabel. Da schreibst du dann die Bild Nr. rein die du aufrufen
möchtest und machst in Flex bei dieser Variabeln die Funktion "Bildaufruf
mit Bild Nr.", diese Nr ist dann gleichzeitig deine Variabel.
So hast du den Vorteil das du da keine überschneidung bekomst, da nur
eine wertänderung durchgeführt wird.
 
Da schreibst du dann die Bild Nr. rein die du aufrufen möchtest und machst in Flex bei dieser Variabeln die Funktion "Bildaufruf mit Bild Nr.", diese Nr ist dann gleichzeitig deine Variabel.

Hab jetz mal ein Netzwerk erstellt was 3 verschiedene Integer generiert. Die Werte werden auch wie geplant erzeugt und ggf geändert.
Unter den HMI-Variablen hab ich dann dieser Variable das ereigniss "AktiviereBildMitNummer" zugefügt. Als Bildnummer wird die obige integer-variable eingefügt.
Die integer werte die generiert werden entsprechen auch den bildnummern die aufgerufen werden soll, trotzdem tut sich beim durchlauf anschließend nichts.

Muss man vlt noch in den bildern selber die variable mit einbinden oder sonstige einstellungen vornehmen?
 
Ach dort. Da hatte ich schon "Zyklisch im Betrieb". Die Einstellung bringt ja aber nur was wenn die variable auch in dem bild verwendet wird (ist aber nicht der fall).
Mit Zyklisch fortlaufend gehts endlich :D

Vielen Dank für die Hilfe
 
Zurück
Oben