Der Umgang mit Exceldateien ist in zwei Bereiche aufgeteilt (Lesen und Schreiben). In diesem Kapitel wird das Lesen von Werten aus einer Exceldatei behandelt.
Im Kapitel Excel, CSV, PDF Dateien finden Sie Informationen zum Anlegen und Umgang mit Excel Dateien.
Um Werte aus einer Exceldatei verwenden zu können, muss die Datei zuvor eingelesen werden. Nach dem Einlesen der Datei werden alle Werte im Arbeitsspeicher gehalten und es erfolgt kein erneuter Zugriff auf die Datei.
Eine Exceldatei kann entweder explizit durch die Datei einlesen Aktion gelesen werden oder wird automatisch beim ersten Zugriff auf einen Wert (Zelle) automatisch eingelesen.
Tabellenblätter
Sie können pro Aktion (Exceldatei einlesen ausgenommen) ein Tabellenblatt angeben. Wenn Sie kein Tabellenblatt angeben, wird automatisch das erste Tabellenblatt verwendet.
Zur Identifikation des Tabellenblattes dient der Name (nicht Index). Dieser wird in Excel unten angezeigt.
Name des Tabellenblattes: Produkt B
Wenn Sie in einem Trigger mehrere Tabellenblätter verwendet möchten, können Sie für jedes Tabellenblatt eine eigene Aktion im Trigger anlegen.
Datei einlesen #
Beschreibung | Mit dieser Aktion lesen Sie eine Exceldatei ein. Anschließend können die Werte (Zellen) der Datei in Variablen geschrieben werden. |
Benötigte Lizenz | CSV Feature oder XLSX Feature abhängig vom Dateiformat. |
1 | Datei | Wählen Sie die Datei aus, die Sie einlesen möchten. Zur Konfiguration von Dateien: siehe Excel, CSV, PDF Dateien. |
Bitte beachten Sie:
Dateien automatisch einlesen: Wenn Sie eine Aktion ausführen, die auf den Inhalt einer Exceldatei zugreift (z. B. Excel – Zelle lesen) ohne zuvor die Datei Einlesen Aktion explizit auszuführen, wird die Datei beim ersten Zugriff automatisch eingelesen. Alle Inhalte der Exceldatei werden so lange im Arbeitsspeicher gehalten, bis eine neue Datei eingelesen wird.
Zellen lesen #
Beschreibung | Mit dieser Aktion können Sie die Werte einzelner Zellen einer zuvor eingelesenen Exceldatei in Variablen schreiben. |
Benötigte Lizenz | CSV Feature oder XLSX Feature abhängig vom Dateiformat. |
1 | Datei | Wählen Sie die Exceldatei aus (siehe Excel, CSV, PDF Dateien). |
2 | Tabellenblatt | Geben Sie den Namen des Tabellenblattes ein. Diese Option gibt es nur bei Dateien im XLSX Format. Weitere Informationen zur Verwendung von Tabellenblättern: siehe Trigger Aktionen |
3 | Zuweisungen | In dieser Tabelle können Sie definieren, welche Zellenwerte (rechts) in welche Variablen (links) geschrieben werden sollen. |
Zeile / Spalte lesen #
Beschreibung | Mit dieser Aktion können Sie eine Zeile oder Spalte (z. B. einen Datensatz) lesen. Bei mehrfacher Ausführung wird immer der nächste Datensatz verwendet. |
Benötigte Lizenz | CSV Feature oder XLSX Feature abhängig vom Dateiformat. |
1 | Datei | Wählen Sie die Exceldatei aus (siehe Excel, CSV, PDF Dateien). |
2 | Tabellenblatt | Geben Sie den Namen des Tabellenblattes ein. Diese Option gibt es nur bei Dateien im XLSX Format. Weitere Informationen zur Verwendung von Tabellenblättern: siehe Trigger Aktionen. |
1 | Ausrichtung | Geben Sie an wie die Datensätze in der Exceldatei angeordnet sind. Zeilenweise: Jeder Datensatz steht in einer Zeile und die Datensätze stehen untereinander. Spaltenweise: Jeder Datensatz steht in einer Zeile und die Datensätze stehen nebeneinander. |
2 | Zeile des ersten Datensatzes | Geben Sie die Zeile oder Spalte (je nach Ausrichtung) an, in der der erste Datensatz steht. |
3 | Auswahl des nächsten Datensatzes | Wählen Sie aus, wie der nächste Datensatz ausgewählt werden soll. Automatisch: Wenn Sie den Trigger das erste Mal ausführen, wird der erste Datensatz eingelesen, bei der zweiten Ausführung der zweite Datensatz und so weiter. Sie erhalten also bei Ausführung automatisch immer den nächsten Datensatz. Manuell: Wenn Sie die Auswahl des Datensatzes selbst bestimmen wollen, können Sie eine Variable angeben. In dieser Variable muss dann der Index des nächsten Datensatzes stehen. Index beginnt immer bei 1 für den ersten Datensatz. |
1 | Zuweisungen | In dieser Tabelle legen Sie fest, in welche Variable der Wert welcher Spalte oder Zeile (je nach Ausrichtung) geschrieben werden soll. |
Anschließend haben Sie noch die Möglichkeit, drei Variablen mit Werten zu beschreiben.
1 | Gesamtanzahl | Gibt die Anzahl der verfügbaren Datensätze an. |
2 | Aktueller Index | Gibt den Index des aktuellen Datensatzes an. Index des ersten Datensatzes ist immer 1. |
3 | Nächster Index | Gibt den Index des nächsten Datensatzes an. Nächster Index = Aktueller Index + 1 Wenn der letzte Datensatz gelesen wurde, wird eine 1 in den Index des nächsten Datensatzes geschrieben. |
Datenblock lesen #
Beschreibung | Mit dieser Aktion können Sie eine mehrere Datensatz (Block) in einem Vorgang lesen. Für diesen Vorgang wird eine Variable vom Typ: Array of Struct benötigt. |
Benötigte Lizenz | CSV Feature oder XLSX Feature abhängig vom Dateiformat. |
Bitte beachten Sie:
Nur vorhandene Datensätze werden in die SPS geschrieben: Wenn Sie Daten aus einer Exceldatei in Ihre SPS schreiben möchten, benötigten Sie dafür eine Strukturvariable (Array[0..199] of Struct). Diese Variable in der SPS hat eine bestimmte Länge. Wenn in der Exceldatei z. B. 100 Datensätze stehen und die SPS Variable 200 lang ist, werden nur die ersten 100 Structs im Array der SPS überschrieben (0 bis 99). Die Adressen 100 bis 199 werden nicht überschrieben. Sollten noch Daten von einer vorherigen Datei mit mehr Datensätzen in der SPS stehen, werden diese nicht überschrieben. Deshalb sollten Sie, bevor Sie Daten aus einer Datei anfordern, in der SPS die gesamte Strukturvariable mit Standardwerten beschreiben.
Alle Variablen des Structs verwenden: Um die Daten als Block in die SPS zu schreiben, wird empfohlen alle Variablen des Structs durch die DataSuite in die SPS schreiben zu lassen.
OPC UA überschreibt nicht verwendete Variablen: Sollten Sie Variablen des Structs nicht von der DataSuite in die SPS schreiben lassen, werden diese bei einer OPC UA Verbindung dennoch überschrieben!
1 | Datei | Wählen Sie die Exceldatei aus (siehe Excel, CSV, PDF Dateien). |
2 | Tabellenblatt | Geben Sie den Namen des Tabellenblattes ein. Diese Option gibt es nur bei Dateien im XLSX Format. Weitere Informationen zur Verwendung von Tabellenblättern: siehe Trigger Aktionen. |
1 | Ausrichtung | Geben Sie an wie die Datensätze in der Exceldatei angeordnet sind. Zeilenweise: Jeder Datensatz steht in einer Zeile und die Datensätze stehen untereinander. Spaltenweise: Jeder Datensatz steht in einer Zeile und die Datensätze stehen nebeneinander. |
2 | Zeile des ersten Datensatzes | Geben Sie die Zeile oder Spalte (je nach Ausrichtung) an, in der der erste Datensatz steht. |
1 | Struktur der Datenquelle | Wählen Sie hier die Option aus, die Ihrer Datenstruktur entspricht. Array von Strukturen: Z.B. ein “Array[0..99] of Struct”. Ein Array pro Wert: Z.B. mehrere „Array[0.99] of Byte“. |
Array von Strukturen #
Wählen Sie diese Option, wenn Sie in Array verwenden, in dem jeder Datensatz als eine Struktur gespeichert wird.
1 | Strukturvariable | Wählen Sie eine Variable vom Typ Array of Struct (Array von Strukturen) aus. |
2 | Zuweisungen | In dieser Tabelle können Sie die einzelnen Spalten oder Zeilen den Elementen (Variablen) des Structs zuweisen. |
Ein Array pro Wert #
Wählen Sie diese Option, wenn Sie für jeden Parameter ein eigenes Array verwenden.
1 | Zuweisung | Hier können Sie den einzelnen Arrays die jeweiligen Spalten oder Zeilen der Exceldatei zuweisen. |
1 | Anzahl der verfügbaren Datensätze | Wenn die Anzahl der Datensätze in Ihrer Datei variiert, können Sie mit dieser Option die Anzahl der geschriebenen Datensätze in eine Variable schreiben lassen. |
2 | Keine Daten vorhanden | Sollten Sie eine Datei einlesen, welche keine Daten enthält, können Sie mit dieser Option auswählen, ob der Trigger dann mit einem Fehler abgebrochen werden soll oder nicht. |