HowTo: Fertigungsdaten mit dem ADEX Exceliser auslesen und automatisch drucken
14. Juni 2010 von Dominique Römer · Gelesen: 1931 · heute: 1In diesem Artikel werden die einzelnen Schritte zur automatischen Protokollierung von Prozessdaten aus einer Simatic S7 SPS mit Hilfe des ADEX Excelisers und Microsoft Excel anhand eines Beispiels näher erläutert.
Problemstellung
Eine Maschine fertigt Werkstücke, die jeweils über eine Seriennummer identifiziert werden können. Während der Fertigung der einzelnen Werkstücke werden automatisierte Tests und Messungen durchgeführt. Die Fertigstellung eines Werkstückes wird von der SPS durch Setzen eines Bits signalisiert. Daraufhin sollen alle erfassten Daten automatisch aus dem Datenbaustein ausgelesen und als formatiertes Protokoll ausgedruckt werden. Erst nach dem erfolgreichen Druck und dem Setzen eines Handshake-Bits soll die Fertigung fortgesetzt werden.
Die Lösung
Zur Lösung des Problems werden grundsätzlich drei Dinge benötigt:
- Eine ethernetfähige Simatic S7-300/400 SPS,
- Der Sternico ADEX Exceliser (Standard oder Professional Lizenz)
- Microsoft Excel (2000 oder höher).
Die Software Sternico ADEX Exceliser kann unter folgendem Link heruntergeladen werden: ADEX Exceliser 2010
Der ADEX Exceliser kann im Demo-Modus ohne zeitliche Begrenzung getestet und - falls gewünscht - über das Kundenportal erworben werden.
1. Protokollvorlage mit Microsoft Excel erstellen
Zunächst muss die Vorlage für den automatischen Bericht in Microsoft Excel erstellt werden. In Abbildung 1 ist die hier verwendete Vorlage dargestellt. Die Beispielvorlage kann über den unten stehenden Link heruntergeladen werden:
Excel-Vorlage zum Beispiel

Abbildung 1: Excel-Vorlage für den automatischen Report
Die Vorlage besteht aus einem Anzeigebereich für die Seriennummer des Werkstücks, einer Tabelle mit den Messwerten, deren Ober- und Untergrenzen und einer Bewertung der Messwerte in Abhängigkeit der jeweiligen Grenzen. Zusätzlich werden die Messwerte in einem Diagramm dargestellt. In dieser Vorlage müssen zur Erstellung eines Berichts nur noch die Felder B3 – für die Seriennummer des Werkstücks - und B6 bis B10 - für die Messwerte 1 bis 5 - eingetragen werden.
2. Neuen Vorgang im ADEX Exceliser erstellen
Zur Erstellung des gewünschten Berichts wird über das Menü „Vorgang“ und den Menüeintrag „Neu“ im ADEX Exceliser ein neuer Vorgang erstellt. Da Daten aus einer SPS-ausgelesen werden sollen, muss als Richtung „Upload (SPS => Excel)“ eingestellt werden. Neben einem eindeutigen Vorgangsnamen müssen die Verbindungsdaten zur SPS und der Datenbaustein mit den auszulesenden Prozessdaten angegeben werden. Für das vorliegende Beispiel ist die Konfiguration des Vorgangs unter Abbildung 2 beispielhaft dargestellt.

Abbildung 2: SPS-Einstellungen im ADEX Exceliser
Bei der Eingabe der Verbindungsdaten muss beachtet werden, dass beim „Slot“ der Slot der CPU gemeint ist, aus der die Daten ausgelesen werden sollen.
3. Datenbaustein mit Fertigungsdaten aus Step 7 importieren
Im nächsten Schritt müssen die Variablendefinitionen aus dem gewünschten Datenbaustein im ADEX Exceliser unter „Felddefinitionen“ eingetragen werden. Diese Daten können entweder manuell eingetragen werden oder aus Step 7 importiert werden. An dieser Stelle wird der Datenimport veranschaulicht, auch wenn für das vorliegende Beispiel lediglich 6 Variablen im Baustein definiert wurden.
Zunächst wird die Bausteindefinition aus Step 7 in eine Textdatei exportiert. Dazu muss der entsprechende Baustein im SIMATIC Manager geöffnet und alle gewünschten Zeilen selektiert werden. Zur Auswahl der Zeilen muss auf die Adresse „0.0“ geklickt, die Shift-Taste gedrückt und die „Pfeil nach unten“ Taste so lange gedrückt werden, bis alle gewünschten Zeilen markiert sind. Anschließend muss die Tastenkombination „Strg+c“ gedrückt werden um die Daten in die Zwischenablage zu kopieren.
Falls der ADEX Exceliser nicht auf demselben Computer wie der SIMATIC Manager läuft, müssen die Daten in eine Textdatei zwischengespeichert werden. Dazu muss der Windows Text Editor (siehe Windows Startmenü „Start“ => „Programme“ => „Zubehör“) gestartet werden und die Daten durch „Strg+v“ eingefügt werden. Die Datei muss an einem, für den ADEX Exceliser erreichbaren, Ort gespeichert werden.

Abbildung 3: Beispiel-Datenbaustein als Textdatei
Jetzt können die Daten in den ADEX Exceliser importiert werden. Um möglichst viele Variablen des Datenbausteins automatisch mit der entsprechenden Excel-Zelle zu verbinden, ist es für das vorliegende Beispiel ratsam, im Feld „Start bei“ die Zelle B5 als Startzelle einzutragen und alle Daten „als Spalte“ anzuordnen. Anschließend können die zuvor exportierten Variablen über die Schaltflächen „Aus Datei lesen“ oder „Aus Zwischenablage lesen“ importiert werden. Abschließend muss nur noch die XLS-Zelle der Seriennummer auf „B3“ geändert werden, sodass die unter Abbildung 4 abgebildete Felddefinition für den Vorgang im ADEX Exceliser vorliegt.

Abbildung 4: Felddefinition im ADEX Exceliser
4. Konfiguration der Protokolldateien
Der Vorgang ist jetzt prinzipiell soweit konfiguriert, dass die gewünschten Daten aus der SPS ausgelesen werden können. Allerdings wurde noch nicht konfiguriert, wie und wohin die Daten ausgegeben werden sollen. Die dazu entsprechenden Parameter werden unter der Registerkarte „SPS => Excel“ eingestellt, die in der nachfolgenden Abbildung dargestellt ist.

Abbildung 5: Konfiguration der Datenausgabe im ADEX Exceliser
Unter „XLS-Template“ muss die in Schritt 1 erstellte Excel-Vorlage eingetragen werden. In dem darunter liegenden Feld muss die Ausgabedatei des Vorgangs, hier der gewünschte Report, eingetragen werden. In dem Dateinamen können auch variable Bestandteile enthalten sein. Für den hier automatisch generierten Bericht bietet sich zum Beispiel die Seriennummer an, die aus der SPS als Feld „Seriennummer“ (siehe Felddefinition) ausgelesen wird. Zur Verwendung einer Variablen als Namensbestandteil, muss der Variablenname in geschweiften Klammern gesetzt und unter „Speichern unter:“ an der gewünschten Position eingetragen werden. So erzeugt der ADEX Exceliser für den Pfad „c:\Temp\Report_{Seriennummer}.xls“ für jedes Werkstück genau einen Report, beispielsweise „Report_4711.xls“ für das Werkstück mit der Seriennummer „4711“.
Neben den Variablennamen aus der Registerkarte „Felddefinition“ können auch Zeitstempel als Namensbestandteil, beispielsweise „{$Date}“ für das aktuelle Datum, eingetragen werden. Eine vollständige Auflistung möglicher Variablen kann dem Handbuch des ADEX Excelisers entnommen werden.
Abschließend muss auf dieser Registerkarte nur noch die Auswahlbox „Automatisch drucken“ ausgewählt werden, damit der Bericht vom ADEX Exceliser automatisch ausgedruckt wird. Der Druckvorgang wird dabei immer auf dem Standarddrucker ausgeführt.
Der erstellte Vorgang ist jetzt bereit für einen ersten optionalen Test. Die aktuellen Einstellungen müssen mit der Schaltfläche „OK“ im unteren Bereich des Dialogfensters gespeichert werden. Anschließend muss der Vorgang im Hauptfenster des ADEX Excelisers ausgewählt und über die Schaltfläche „Ausführen“ in der Menüleiste des Hauptfensters gestartet werden. Jetzt sollte der Bericht im Zielverzeichnis als Excel-Datei vorliegen und über den Standarddrucker ausgedruckt worden sein. Das Ergebnis sollte, je nach aktuell vorliegenden Messwerten, analog zu Abbildung 6 aussehen.

Abbildung 6: Der fertige Beispiel-Bericht
Anschließend muss der Vorgang zur Konfiguration der automatischen Ausführung wieder mit Hilfe eines Doppelklicks geöffnet werden.
5. Konfiguration der automatischen Ausführung
Der Vorgang muss noch zur automatischen Ausführung konfiguriert werden, damit die Berichte nach der Signalisierung durch die SPS automatisch generiert werden. Dazu muss die Registerkarte „Automatische Ausführung“ geöffnet werden. Bei der Auslösungsart muss für das vorliegende Beispiel das „Handshake-Verfahren“ ausgewählt werden.

Abbildung 7 - Konfiguration der automatischen Ausführung
Im Feld „Auslösungsvariable“ wird die Variable der SPS eingetragen, die die Ausführung des Vorgangs signalisiert. Die Variablen können als Pointer gemäß der nachfolgenden Tabelle definiert werden:

Tabelle 1: Beispielhafte Variablendeklaration im ADEX Exceliser
Im Feld „Auslösungswert“ wird der Wert der Auslösungsvariablen angegeben, der vorliegen muss, damit der ADEX Exceliser den Vorgang automatisch ausführt. In der darunterliegenden Tabelle können auf die gleiche Weise beliebig viele Quittungsvariablen definiert werden, die vom ADEX Exceliser nach der erfolgreichen Vorgangsausführung in der SPS gesetzt werden. Zum Speichern der vorgenommenen Einstellungen muss die Taste „OK“ betätigt werden.
Jetzt ist der Vorgang auch für die automatische Ausführung vollständig konfiguriert. Die automatische Ausführung des Vorgangs wird über die Schaltfläche „Automatik Ein“ im Hauptmenü des ADEX Excelisers gestartet. Alle Vorgänge, die sich im Automatik-Modus befinden, werden in der Prozessübersicht mit dem Zusatz „(Automatik)“ gekennzeichnet.
6. Automatischer Start
Falls Vorgänge automatisch beim Neustart des Rechners ausgeführt werden sollen, muss der automatische Start im ADEX Exceliser aktiviert werden. Dazu muss die automatische Ausführung der gewünschten Vorgänge über die Schaltfläche „Automatik Ein“ in der Menüleiste des ADEX Excelisers gestartet werden. Dabei können auch mehrere Prozesse gleichzeitig aktiviert werden. Nachdem alle Vorgänge in den Automatik-Betrieb versetzt wurden, beenden wir die Anwendung. Anschließend muss die darauf erscheinende Rückfrage, ob die aktuell im Automatik-Modus befindlichen Vorgänge beim nächsten Start automatisch gestartet werden sollen, mit „Ja“ bestätigt werden. Jetzt werden alle zuvor ausgewählten Vorgänge bei jedem Start des ADEX Excelisers im Automatik-Modus gestartet, bis der Modus für die einzelnen Vorgänge über die Schaltfläche „Automatik Aus“ beendet wird.

Abbildung 8 - Rückfrage zum automatischen Start von Vorgängen
Damit der ADEX Exceliser nach einem Neustart des Computers automatisch gestartet wird, muss das Programm in den Autostart von Windows eingetragen werden. Dazu muss eine Verknüpfung vom ADEX Exceliser im Windows Startmenü („Start“=> „Programme“=> „Sternico ADEX“ => „ADEX Exceliser“) in das Autostart-Menü („Start“ => „Autostart“) gezogen werden. Hierdurch wird bei jedem Systemstart automatisch der ADEX Exceliser gestartet (sofern für das Betriebssystem die automatische Anmeldung aktiviert ist) und der Vorgang zur Generierung von Berichten ausgeführt.