Flexible Grafikanzeige in WinCC Flexible

bang_jamal

Level-2
Beiträge
14
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten morgen,

für ein Projekt benötige ich eine flexible Grafikanzeige, mit anderen Worten: Ich zeige in der Visu über das Werkzeug "Grafikanzeige" zB. das Bild "Picture1.bmp" an. Nun soll der Kunde über ein externes Programm, welches über den Simatic PC aufgerufen wird, dieses Bild bearbeiten und die Datei/das Bild überschreiben.

Meine Frage dazu:
Gibt es die Möglichkeit, dass diese Grafik dann "aktualisiert", sprich immer das aktuelle "Picture1.bmp" angezeigt wird? Ändere ich die Grafik und überschreibe diese wird stets die alte Datei angezeigt.

Ich hoffe ich konnte mich verständlich ausdrücken.

LG und danke im voraus!
 
So einfach wird das nicht. Die Grafik einer Grafikanzeige wird in die Projektierung eingebettet und kann nicht nachträglich verändert werden.

Du kannst evtl. (je nach verwendetem Zielgerät) eine Objekt "HTML-Browser" einbauen und den mit einem Bild verlinken... sowas hab ich mal gesehen, weiß aber grad nicht mehr wie es geht.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Gelt vielleicht nur für PC RT:
Wenn es nur handelt um ein Übersichtsbild z.B, dann kann man auch ein PDF Dokument anzeigen. Das PDF Dokument wird nicht "eingebettet" sondern geladen von ein Ordner auf das Zielsystem. Also kann man das PDF ändern und die Änderungen wird in WinCC Flexible angezeigt.
 
Hallo,
so, wie es Aventinus beschreibt, müßte es gehen.
Wichtig dafür ist, dass die Datei in einem freigegebenen Ordner steht. Den Aufruf der Seite in dem Browser-Fenster kann man sehr schön im Internet-Explorer simulieren - mit der Eingabe, mit der es dort funktioniert, würde es auch in der Visu gehen. man muß dann den Browser nur noch triggern ...

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Vielen dank schon mal für die schnellen und hilfreichen Antworten.

Die Methode mit dem Browser funktioniert soweit. Leider aktualisiert sich der Browserinhalt erst nach erneuten Aufruf des Bildes in der RT.

Für mich ergeben sich nun 2 Folgefragen:
1.Wie erreiche ich, dass der Browser automatisch nach Änderung des Bildes den Browserinhalt aktualisiert?
2.Ist es möglich, sofern mehrere Bilddateien in einem Ordner sind, die Bilder einzeln auszuwählen, also mehrere Bilder gleichzeitig darzustellen und auswählen zu können?
 
Ein Nachteil mit den von mir bescheibene Verfahren mit PDF:
Wenn der PDF angezeigt wird, übernimmt Adobe Reader der Tastatur Belegung.
Es bedeutet das die F-Tasten bekommen die Funktionen die Adobe Reader verwendet.
Und das bedeutet das die Funktionen die man in WinCC Flexible definiert haben sind nicht aktiv. Das ist normalerweise die Bild-Navigation.
Auf disen Grund bin ich nicht begeistert von das einbetten von der PDF Reader in WinCC Flexible.

edit: Es wurde mich interessieren was passiert mit der Tastatur Belegung wenn man den eingebettete Webbrowser in ein Bild hat.
 
Meine beiden letzten Fragen haben sich erledigt.
Ich denke das Projekt wird jedoch so nicht funktionieren. Es soll bei Bildanwahl eine Datei auf der internen Festplatte des Simatic PC überschrieben werden.


Konkret geht es um folgendes:

Der Kunde möchte in der VISU ein Programm (in diesem Fall Bartender) zum ändern von Etiketten aufrufen, in der er neue Etiketten erstellt und einpflegt.
Dieses Etikett soll dann mit den dazugehörigen Variablen (Datum, Variantencode etc.) bedruckt werden. Diese Stammen von der SPS. Ich finde selbst mit viel Bastelei keine zufriedenstellende Lösung. Vielleicht wisst ihr ja was?
 
Zuletzt bearbeitet:
Der Kunde möchte in der VISU ein Programm (in diesem Fall Bartender) zum ändern von Etiketten aufrufen, in der er neue Etiketten erstellt und einpflegt.
Dieses Etikett soll dann mit den dazugehörigen Variablen (Datum, Variantencode etc.) bedruckt werden. Diese Stammen von der SPS. Ich finde selbst mit viel Bastelei keine zufriedenstellende Lösung. Vielleicht wisst ihr ja was?

Ich kenne es nur so (so habe ich es mal gemacht), dass ich in der Layout-Datei die Platzhalter gesucht habe und die durch die Werte der benötigten SPS-Variablen ersetzt habe. Dann das Ganze per "COPY Datei LPT1" zum Drucker geschickt. Die ganze Geschichte ist in der Visu (in dem PC-Runtime) abgelaufen.

Gruß
Larry
 
Mit welchem Dateityp hast du damals gearbeitet? An diesen Weg habe ich auch schon gedacht, Problem hierbei ist jedoch das Bartender prn bzw. Zpl Dateien erstellt. Je nach Etikett unterscheiden sich diese wie Tag und Nacht, sodass es sehr problematisch ist, dort die Platzhaltervariablen zu "erwischen".

Gruß
Jamal
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ist die Verwendung von Bartender zwingend notwendig? Es gibt Software zum Etikettendruck, denen du beim Aufruf Parameter übergeben kannst. Externe Programme starten mit Parameterübergabe ist in Flexible möglich.

Auf die Schnelle habe ich mal das hier gefunden:
Kommandozeilen Reporting Software


Gruß, Onkel
 
Mit welchem Dateityp hast du damals gearbeitet? An diesen Weg habe ich auch schon gedacht, Problem hierbei ist jedoch das Bartender prn bzw. Zpl Dateien erstellt. Je nach Etikett unterscheiden sich diese wie Tag und Nacht, sodass es sehr problematisch ist, dort die Platzhaltervariablen zu "erwischen".

Hallo,
der Dateityp war vom Grundsatz her eine ASCII-Datei, das heißt, dass die Zeichenbefehle und die Layout-Information in einer Art Klartext da drin standen. Da war es dann relativ einfach, die Datei als Vorlage zu nehmen und sie nach Bedarf zu ändern.
Wie siegt denn deine ZPL-datei innen drin aus wenn du die z.B. mit dem Windows-Editor aufmachst ? Vielleicht kannst du das Ding ja mal posten ...

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

hier zwei Beispiele einer von Bartender generierten ZPL-Datei mit dazugehörigem Etikett ( Anmerkung: die "eigentliche" Befehlskette beginnt mit "^XA" und endet mit "^XZ") Der Teil darüber ist mir unbekannt, wird aber stets mitgeneriert.

(da zu viele Zeichen für einen Beitrag hab ich sie mal als .rar hochgeladen)


LG


PS.:

Um Missverständnissen vorzubeugen konkretisiere ich den Kundenwunsch:

Die Anlage druckt für jedes Produzierte Teil ein bestimmtes Etikett.
Konstant sind hierbei die Koordinaten & Fonts von 3 Variablen (2x Zahlenfolge 1x Datum)
Der ursprüngliche Vorgang war:Ein DB sendet eine Befehlskette von CHAR's an den Drucker, die beinhaltet die .zpl zu öffnen und entsprechende Variablen zu senden. Die zpl war konstant und bediente den Zweck eines "Rahmens" für die Etiketten, in dem die Koordinaten/Fonts der Variablen sowie Kundenname+ Font gespeichert waren. Dieser hat sich nicht verändert. Soweit alles kein Problem. Fertiges Etikett + ändernde Variablen->Druck.

Die Änderung beinhaltet nun, dass eben diese .zpl, die vorher von Hand geschrieben war, nun von Bartender generiert wird. Problem hierbei: Die Koordinaten/Fonts für die Variablen sind nicht mehr vorhanden, sodass die SPS auch nicht weiß, wo sie diese hinschreiben soll.

2. Problem hierbei:
In der Visu dafür sorgen, dass je nach angewähltem Bild entsprechend die dazugehörige zpl. generiert und in (zB.) "Daten:E" überschrieben wird.

Ich poste gleich mal ein Beispiel vom ursprünglichen Vorgang.
 

Anhänge

  • Bsp_sps.rar
    157,2 KB · Aufrufe: 5
Zuletzt bearbeitet:
Den zpl-viewer benutze ich bereits. Dieser kommt aber nicht mit den automatisch generierten zpl-Dateien zurecht, sondern nur mit den von Hand geschriebenen.

Larry:
Nein, konstant sind die Koordinaten und Fonts von 3 Zahlenfeldern mit variablem Inhalt.

Was Bartender ausspuckt hängt ganz vom Anlagenbediener ab, der die Etiketten erstellt. Es kann also ein X-beliebieges Etikett dabei herumkommen, jedoch sollen diese 3 Zahlenfelder immer an die gleiche Stelle und in gleicher Größe gedruckt werden.

Hier das alte System:

"Rahmen"/ZPL:
^XA

^FX Befehl zum Speichern des Etikettenformats im Drucker
^DFE:Format1.ZPL^FS

^FX Befehl für Etikettendrehung (hier: 0°)
^PON

^FX Befehle zum Druck von Feldnummer 3
^FT90,194^A0N,87,46^FN2^FS

^FX Befehle zum Druck von Feldnummer 2
^FT57,194^A0N,85,64^FN2^FS

^FX Befehl für das variable Datums-Feld (Feldnummer: 1)
^FT320,352^A0N,66,69^FN1^FS

^XZ



FT gibt hierbei Font, A0N die Koordinaten an.

DB:

Der DB sendet folgende CHAR an den Drucker, in der die ZPL gespeichert ist:
SEND_TEXT[1]CHAR' ''^'
SEND_TEXT[2]CHAR' ''X'Befehlsanfang
SEND_TEXT[3]CHAR' ''A'
SEND_TEXT[4]CHAR' ''^'
SEND_TEXT[5]CHAR' ''X'Datei öffnen in "E"
SEND_TEXT[6]CHAR' ''F'
SEND_TEXT[7]CHAR' ''E'
SEND_TEXT[8]CHAR' '':'
SEND_TEXT[9]CHAR' ''F'Dateiname
SEND_TEXT[10]CHAR' ''o'
SEND_TEXT[11]CHAR' ''r'
SEND_TEXT[12]CHAR' ''m'
SEND_TEXT[13]CHAR' ''a'
SEND_TEXT[14]CHAR' ''t'
SEND_TEXT[15]CHAR' ''1'
SEND_TEXT[16]CHAR' ''.'
SEND_TEXT[17]CHAR' ''Z'
SEND_TEXT[18]CHAR' ''P'
SEND_TEXT[19]CHAR' ''L'
SEND_TEXT[20]CHAR' ''^'
SEND_TEXT[21]CHAR' ''F'
SEND_TEXT[22]CHAR' ''S'
SEND_TEXT[23]CHAR' ''^'
SEND_TEXT[24]CHAR' ''F'Angabe der Feldnummer
SEND_TEXT[25]CHAR' ''N'
SEND_TEXT[26]CHAR' ''1'
SEND_TEXT[27]CHAR' ''^'
SEND_TEXT[28]CHAR' ''F'Beschreibe Feldnummer mit
SEND_TEXT[29]CHAR' ''D'
SEND_TEXT[30]CHAR' ''$00'Variable der SPS
SEND_TEXT[31]CHAR' ''$00'
SEND_TEXT[32]CHAR' ''$00'
SEND_TEXT[33]CHAR' ''$00'
SEND_TEXT[34]CHAR' ''$00'
SEND_TEXT[35]CHAR' ''$00'
SEND_TEXT[36]CHAR' ''$00'
SEND_TEXT[37]CHAR' ''$00'
SEND_TEXT[38]CHAR' ''^'
SEND_TEXT[39]CHAR' ''F'Ende Feldbeschreibung
SEND_TEXT[40]CHAR' ''S'
SEND_TEXT[41]CHAR' ''^'
SEND_TEXT[42]CHAR' ''F'usw
SEND_TEXT[43]CHAR' ''N'
SEND_TEXT[44]CHAR' ''2'
SEND_TEXT[45]CHAR' ''^'
SEND_TEXT[46]CHAR' ''F'
SEND_TEXT[47]CHAR' ''D'
SEND_TEXT[48]CHAR' ''$00'
SEND_TEXT[49]CHAR' ''$00'
SEND_TEXT[50]CHAR' ''$00'
SEND_TEXT[51]CHAR' ''$00'
SEND_TEXT[52]CHAR' ''$00'
SEND_TEXT[53]CHAR' ''$00'
SEND_TEXT[54]CHAR' ''$00'
SEND_TEXT[55]CHAR' ''$00'
SEND_TEXT[56]CHAR' ''$00'
SEND_TEXT[57]CHAR' ''$00'
SEND_TEXT[58]CHAR' ''^'
SEND_TEXT[59]CHAR' ''F'
SEND_TEXT[60]CHAR' ''S'
SEND_TEXT[61]CHAR' ''^'
SEND_TEXT[62]CHAR' ''F'
SEND_TEXT[63]CHAR' ''N'
SEND_TEXT[64]CHAR' ''3'
SEND_TEXT[65]CHAR' ''^'
SEND_TEXT[66]CHAR' ''F'
SEND_TEXT[67]CHAR' ''D'
SEND_TEXT[68]CHAR' ''$00'
SEND_TEXT[69]CHAR' ''$00'
SEND_TEXT[70]CHAR' ''$00'
SEND_TEXT[71]CHAR' ''$00'
SEND_TEXT[72]CHAR' ''$00'
SEND_TEXT[73]CHAR' ''^'
SEND_TEXT[74]CHAR' ''F'
SEND_TEXT[75]CHAR' ''S'
SEND_TEXT[76]CHAR' ''^'
SEND_TEXT[77]CHAR' ''X'Ende der Befehlskette
SEND_TEXT[78]CHAR' ''Z'



Problem beim neuen System ist hierbei, das die automatisch generierten .zpl ganz anders aussehen, siehe Beispiel in der .rar
LG

PS.:

Kleine Anmerkung, das einzige an Daten was von der SPS kommt, sind die Variablen, für den "Rest" steht ein Simatic PC zur verfügung, der direkt an den Drucker sendet.
 

Anhänge

  • Bsp_sps.rar
    157,2 KB · Aufrufe: 5
Zuletzt bearbeitet:
Keiner mehr eine Idee?

Tut mir leid, das sagen zu müssen ... aber dazu fällt mir so nichts mehr ein ...
Ich hatte es mir so vorgestellt wie bei dem, was du "das alte System" nennst. Da würde ich einfach die Vorgabe-Datei nach den jeweiligen Schlüsseln durchsuchen und den entsprechenden Variablen-Wert ersatzweise (im richtigen Format) dort einsetzen und dann schluss-endlich die so modifizierte Variante der Ursprungsdatei an den Drucker schicken.
In deinem RAR habe ich nicht wirklich etwas in dieser Art gefunden.

Wie willst du nun weiter vorgehen ?

Gruß
Larry
 
Ist ja kein Problem, ich danke Dir trotzdem für deine Mühen.

Leider würde das Prinzip mit dem richtigen Schlüssel suchen nicht funktionieren, da automatisch generierte .zpl keine Möglichkeit bietet, noch irgendwo Feldnummern zu deklarieren.
Es hilft also auch kein richtiges Format o.Ä.

Mein weiteres Vorgehen sieht nun so aus, dass ich mit 3 .zpl-Dateien auf "E:\" arbeite:
"nutzdaten.zpl" Enthält die Befehlskette, die von Bartender generiert wird (variabel, von Bartender generiert)
"pflichtrahmen.zpl" Enthält die Koordinaten/Fonts (Konstant) der Feldnummern (variabel, von SPS beschrieben)
"format1.zpl" Datei die an den Drucker geschickt wird.

Idee ist, nach einem bestimmten Ereignis (in diesem Fall: Datei "nutzdaten.zpl" wird überschrieben) fügt eine batch den Inhalt der beiden zpl in format1 ein.

So wäre das Problem, dass Bartender nicht den geeigneten Rahmen erstellt gelöst.
Jedoch muss ich noch herausfinden, ob man dem Drucker Problemlos 2 Befehlsketten hintereinander schicken kann. Ich hoffe, dass Montag die ersten Praxisversuche laufen werden.
 
Zuletzt bearbeitet:
Zurück
Oben