WinCC Unified Druckbefehl anstoßen

KarlMeier

Level-2
Beiträge
218
Reaktionspunkte
33
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen!
Beim WinCC Advanced gab es die Rubrik „Protokolle“, wo man sich verschiedene Daten zusammenbasteln und dann über eine Triggervariable ausdrucken konnte.

Im Unified suche ich genau diese Funktion, kann aber nichts dergleichen finden. Hat da jemand eine Idee?

Konkret möchte ich folgendes realisieren:
Alle 3 Minuten entlädt die Maschine einen Posten. Jedesmal wenn das passiert sollen die Postendaten automatisch über einen Ticketdrucker ausgedruckt werden. Der Bediener soll nichts drücken oder bestätigen müssen. Er soll von der ganzen Sache noch nichtmal was mitbekommen. Hat da jemand eine Idee?
 
Hallo miteinander,
nun werde ich selbst auf meine Frage antworten, da ich Nachricht vom Siemens Support bekommen hab. Vielleicht hilft es dem ein oder anderen, der vor der gleichen Problematik steht. Eins vorneweg, es ist ziemlich umständlich und offenbar (derzeit) die einzige Möglichkeit um aus WinCC Unified irgendwelche Daten an einen Drucker schicken zu können. Das ist für mich persönlich absolut nicht nachvollziehbar, dass da Siemens keine bessere Lösung anbietet, denn so praxisfremd kann doch das Ausdrucken von irgendwelchen Daten für einen Weltkonzern und Marktführer auch nicht sein...

Aber der Reihe nach.
Um das Ganze zu realisieren wird zwingend Excel benötigt!
Man lädt sich auf der Siemens Netzseite ein Unified-Excel-Plugin herunter und installiert dieses. Anschließend hat man in Excel einen neuen Reiter, nämlich das Unified-Plugin. Drückt man dort drauf öffnet sich am rechten Fensterrand eine Konfigurationseite. Dort muss nun die Verknüpfung mit dem Unified-Panel oder der Unified-Runtime vollzogen werden. Das Ganze natürlich mit IP, Benutzername, Passwort und ggf. einer Zertifikatsdatei. Wer bis hier hin die Verbindung erfolgreich hinbekommen hat ist nicht nur um ein paar graue Haare reicher, sondern auch schonmal einen Schritt weiter.
Als nächstes müssen die Variablen (Tags) oder andere Datenpunkte hinzugefügt werden. Hierfür sucht man sich in besagtem Konfigurationsfenster rechts die entsprechenden Punkte. Im Hauptfenster kann nun das Dokument frei gestaltet werden. Spalten, Zeilen, Tabellen und Diagramme können beliebig eingefügt und beschrieben werden. Die gewählten Tags und Datenpunkte werden einfach per Drag&Drop in ein beliebiges Feld auf dem Excel-Dokument gezogen. Hat man seine Vorlage fertig gestaltet kann die Datei gespeichert und Excel geschlossen werden.

Nun muss man im Bildeditor von WinCC Unified ein Berichtsfeld erstellen. Dieses findet man rechts unter der Rubrik "Eigene Controls". Dieses zieht man sich in ein beliebiges Bild und lädt das Projekt in die Runtime. Nun wendet man sich dem Unified-Panel bzw. der Runtime zu und öffnet das konfigurierte Bild mit dem Berichtsfeld. Unter Auftragsparameter legt man eine neue Vorlage an. Hier wählt man dann die zuvor gespeicherte Excel-Datei, welche man vorher auf einen USB-Stick oder auf ein Netzlaufwerk gespeichert hat. Anschließend geht man auf "Berichtsaufträge" und legt dort einen neuen Berichtsauftrag an. Man wählt die Excel-Vorlage aus und konfiguriert die restlichen Parameter. Die Ausführung kann man triggern oder manuell ausführen. Man kann auswählen ob der Bericht als Email versendet oder auf irgendein Speichermedium gespeichert wird. Beim Dateiformat kann man zwischen XLSX oder PDF wählen. Für meinen Anwendungsfall muss ich PDF wählen und wähle einen Ordner aus, wo die Berichte getriggert durch eine SPS-Variable als PDF hingespeichert werden.

Als nächstes benötige ich noch ein weiteres Programm, welches mir die erstellten PDFs dann an den Ticketdrucker sendet. Es gibt sicherlich mehrere Programme mit ähnlicher Funktionsweise, hier nenne ich einfach mal PDF2Printer. Das ist ein Dienst für Windows, welcher einen konfigurierten Ordner überwacht und immer wenn dort eine neue PDF reingeflattert kommt, wird diese dann an den eingestellten Drucker gesendet. Das funktioniert vollautomatisch, ohne dass irgendjemand was von diesem Hintergrundprozess mitbekommt. Wahlweise können die PDFs dann auch nach dem Ausdruck gelöscht und/oder in ein Archiv verschoben werden.

Ich konnte das leider nur teilweise testen, da ich kein Excel habe. Und genau das ist mein Hauptkritikpunkt. Denn diese offenbar einzige Lösung ist für mich absolut nicht zufriedenstellend. Natürlich hat man wesentlich mehr Gestaltungsmöglichkeiten und ist auch insgesamt am Ende flexibler, aber der Aufwand und auch die Kosten für einen, meiner Meinung nach absoluten Standard-Anwendungsfall, stehen in keinem Verhältnis.

Die Lizenz für PDF2Printer kostet 300€ und die Excel-Lizenz kostet auch je nach Version und Variante nochmal bisschen was.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Da ich mich nochmal mit dem Thema befasst habe, möchte ich etwas ergänzen.
Zunächst einmal, ich finde dass das „Reportsystem“ grundsätzlich eine sehr gute und vielseitige Idee ist, aber der Weg bis es funktioniert ist wirklich abenteuerlich. Es ist meiner Meinung nach noch unausgereifter als WinCC Unified insgesamt.

Ich habe mir eine Excel-Lizenz gegönnt und mir Office auf meinem PG installiert. Voller Euphorie hab ich mich erstmal 2 Std. damit beschäftigt das Unified AddOn ins Excel zu bekommen. Irgendwann war es geschafft und ich möchte mich mit der Runtime verbinden, jedoch war das nicht möglich. Nach einiger Zeit der Recherche hab ich herausgefunden, dass man sich nur mit der Runtime verbinden kann, wenn Excel und die Runtime selbst auf dem gleichen System laufen. Eine Onlineverbindung ist also nicht möglich, dafür gibt es aber eine Offlineverbindung. Hierfür muss man in der Unified-Runtime eine Report-Konfigurationsdatei exportieren, auf einem USB-Stick speichern und diesen dann in Excel hinzufügen. Das Problem hierbei ist, wenn sich an der Runtime variablenmäßig etwas ändert, wenn man neue Variablen zur Vorlagendatei hinzufügen will, welche es vorher noch nicht gab, dann muss das Ganze neu gemacht werden.

Nun hab ich mich offline mit der Runtime „verbunden“ und ich erstelle meine Vorlagendatei. Diese habe ich erstmal ganz einfach gehalten. In der ersten Spalte steht die Bezeichnung, in die zweite Spalte sollen die Werte aus der Runtime rein. Erstmal musste ich die Datenpunkte finden, erstellen und letztlich in die Spalte 2 in die jeweilige Zeile einfügen. Das Schulungsvideo hat geholfen…
In der entsprechenden Zeile sieht man dann aber leider nichts von einer Verknüpfung zu einer HMI-Variable. Man kann es auch durch die fehlende Online-Funktion nicht testen. Also vertraue ich erstmal darauf dass alles passt und speichere mir die Excel-Datei auf einem USB-Stick. Dann gehe ich an den Runtime-PC, füge dort die Vorlagendatei hinzu und erstelle mir einen Bericht, den ich manuell auslöse. Bei der Einstellung gibt es schon wieder das nächste Problem, denn ich kann den Ziel-Speicherort nicht verändern. Ich kann nur zwischen C:\Reports wählen oder ich wähle das Projektverzeichnis. Später habe ich entdeckt, dass man in einem anderen Reiter Ziele festlegen kann, die man später auswählen kann, allerdings kann ich bei diesen Zielen keinen eigenen Dateipfad angeben. Offenbar noch ein Fehler im Programm. Also speichere ich auf C:\Reports, konfiguriere, dass mein Bericht als PDF gespeichert wird und führe das Ganze manuell aus. Der nächste Fehler lässt nicht lange auf sich warten, denn die PDF kann nicht erstellt werden, weil der Dienst nicht gestartet wurde. Nachdem ich ne Stunde rumgedoktert habe suchte ich im Netz nach einer Lösung. Bei Siemens findet man hierzu natürlich nichts, auch über Google fand man nichts zu diesem Problem. Nachdem ich alle YouTube-Videos durchgeschaut habe, welche die Suche ausgespuckt hat fand ich dann doch nach einer Stunde den richtigen Hinweis. Man muss die WinCC-Unified-Konfiguration starten. Dort kommt man dann zur Einstellung für die Reports und muss das Programm auswählen mit welchem die PDF erstellt wird. Hier habe ich die Wahl zwischen Excel und LibreOffice. Man benötigt also eines dieser beiden Programme. Kein Spaß, das ist Ernst! Da ich nun nicht noch ne zweite Excel-Lizenz kaufen wollte, hab ich mir halt das kostenlose LibreOffice runtergeladen und installiert und mülle meinen Runtime-PC mit einem weiteren Programm voll, wo ich nur 0,1% des Funktionsumfangs benötige. Nachdem ich nun die Unified-Konfiguration abgeschlossen hab testete ich erneut den Bericht zu erstellen. Und siehe da, es funktioniert, die PDF wurde im richtigen Ordner erstellt. Ich hab die PDF geöffnet und es standen sogar die richtigen Variablenwerte in den zuvor leer gebliebenen Feldern. Allerdings war alles ziemlich verschoben und zu klein. Und so begann die Anpassungsphase. Excel-Datei am PG geöffnet, Anpassungen vorgenommen, auf USB-Stick gespeichert, hin zum Runtime-PC, Vorlagendatei hochgeladen, neuer Bericht erstellt. PDF begutachtet, passt immer noch nicht. Nachdem ich die Prozedur 5x wiederholt habe, sag es in der PDF halbwegs brauchbar aus.

Nun legte ich die Datei in den Ordner ab, welchen ich mit der Demoversion von PDF2PRINTER definiert hab. Die Demoversion bietet 30 Tage den vollen Funktionsumfang. Der Druckauftrag startete wie gewünscht, aber der Ausdruck selbst hatte nichts mit dem zu tun was ich vorher bei der PDF gesehen hab. Es war wieder alles total verschoben, die Schrift viel zu klein usw. Auch wurden bei jedem Ausdruck 15cm vom Bon unbedruckt rausgelassen, bevor der eigentliche Druck begann. Egal was ich eingestellt hab, es hat sich nichts daran geändert. Zwischenzeitlich hab ich gelesen, dass die Einstellung, welche man in Excel bei der Druckansicht bzw. Druckvorschau einstellt beim Speichern in der Datei mitgespeichert wird. Diese Einstellung wird wiederum herangezogen, um die PDF zu erstellen. Also hab ich erstmal hier herumgebastelt. Immer wieder die Prozedur öffnen der Datei am PG, speichern auf Stick, hochladen am Runtime-PC usw. Irgendwann hatte ich es geschafft, dass der Ausdruck auch brauchbar aussah. Aber die 15cm Leerfläche hab ich nicht wegbekommen. Hier habe ich herausgefunden, dass es an PDF2PRINTER lag, also suchte ich ein Alternativprogramm. Das war vom gleichen Hersteller nur mit größerem Funktionsumfang, aber das funktionierte überhaupt nicht. Also weitersuchen…..ich wurde fündig. „FolderMill“ nennt sich das Programm und gibt es auch erstmal als kostenlose Demoversion zum Testen. Programm installiert, alles konfiguriert und den ersten Testausdruck gestartet. Wieder ein komplett anderes Druckbild. Also fing die Prozedur wieder von vorne an. Diesmal ging es aber bisschen schneller.
Jetzt passt es zumindest so weit dass ich einen lesbaren Ticket-Ausdruck bekomme. Man müsste sich diesen jetzt nochmal verfeinern und bis dann alles so passt wie es sein soll rechne ich nochmal 1-2 Tage Arbeit.

Dieser Aufwand macht jetzt das Projekt nicht unmöglich, aber jemand der damit sein Geld verdienen will sollte besser die Finger davon lassen. Die Idee dahinter ist super, die Umsetzung ist hingegen mangelhaft bis ungenügend. Es wird sicherlich noch 4-5 Hauptversionen dauern bis man damit effektiv arbeiten kann.
 
Zuletzt bearbeitet:
Nochmal eine schnelle Ergänzung…

Die Thematik Ordnerüberwachung und automatisches Drucken im Hintergrund wenn eine neue Datei im Ordner hinzugefügt wird inkl. Verschieben in einen Erledigt-Ordner und löschen der Druckdatei kann man auch über ein PowerShell-Skript realisieren. Meine EDV-Kollegen haben mir da heute schnell was gebastelt. Funktioniert grundsätzlich für jede druckbare Datei, vorausgesetzt man hat ein Programm installiert welches die Datei öffnen kann. Das funktioniert dann auf die gleiche Weise wie ein „stiller Druck“, welchen man über den Dateiexplorer -> Rechtsklick auf die zu druckende Datei -> Drucken auslöst.

Bei geöffneter Visualisierung bekommt man davon überhaupt nichts mit.
 
Moin, ich stehe momentan vor einer ähnlichen Problematik.
Gibt es mittlerweile eine einfachere Möglichkeit, Protokolle zu drucken?
 
Zurück
Oben