Instanzen aus Datei erzeugen
Wenn Sie viele Instanzen aus einer Vorlage erzeugen möchten, können Sie die Werte für die Vorlagenvariablen gesammelt importieren. Dafür können Sie
- eine vorbereitete Excel- oder CSV-Datei importieren
- oder im OPC Router selbst eine entsprechende Tabelle ausfüllen
Folgen die Werte einem Muster – fortlaufende Nummern, ein Zahlenbereich, eine Liste im Wechsel –, lassen Sie die Tabelle statt aus einer Datei als Serie füllen: Instanzen als Serie erzeugen.
Die Namen der Vorlagenvariablen in Datei und Vorlage müssen exakt übereinstimmen. Die Spalten in der CSV-Datei können mit Semikolon oder Komma getrennt sein.
Werte exportieren und wieder importieren
Sie müssen die Datei nicht von Hand aufbauen: Der Dialog „Mehrere Instanzen erstellen“ liefert sie in der passenden Form.
- Wählen Sie unter „Variablenwerte aus Datei“ die Schaltfläche „Vorlage herunterladen“ und darin „Als CSV“ oder „Als XLSX“. Die Datei enthält eine Spalte je Vorlagenvariable und alle Zeilen, die bereits in der Tabelle stehen – bei leerer Tabelle nur die Kopfzeile.
- Tragen Sie die Werte in der Datei ein, eine Zeile je Instanz.
- Wählen Sie „Import“ und die ausgefüllte Datei. Die Zeilen erscheinen in der Tabelle und lassen sich dort noch ändern.
Derselbe Weg sichert einen Stand: Was in der Tabelle steht, lässt sich jederzeit als Datei herunterladen und später wieder importieren.
„Vorlage herunterladen“, „Import“ und „Instanzen erzeugen“ wirken immer auf alle Zeilen der Tabelle. Passen nicht alle Zeilen in die Höhe des Dialogs, scrollen Sie in der Tabelle; die gerade nicht sichtbaren Zeilen werden trotzdem mit verarbeitet.
Aufbau der Importdatei
Die CSV-Datei hat folgende Struktur:
| InstanceName | Variable1 | Variable2 | ... |
|---|---|---|---|
| Flow-Name1 | Wert | Wert | Wert |
| Flow-Name2 | Wert | Wert | Wert |
| <Unterordner>\Flow-Name3 | Wert | Wert | Wert |
| ... | Wert | Wert | Wert |
Die Angabe eines Unterordners ist optional. Sie können die Flows so auf mehrere Ordner und Unterordner verteilen.
Zeitangaben in Vorlagenvariablen
Für Zeitwerte gelten folgende TimeOffsets:
1msfür Millisekunden1sfür Sekunden1mfür Minuten1hfür Stunden1dfür Tage1monthfür Monate1yearfür Jahre
Die ausgeschriebenen Einheiten millisecond, second, minute, hour und day sind ebenfalls zulässig, etwa 2hour; Groß- und Kleinschreibung spielt keine Rolle. Zwischen Zahl und Einheit darf kein Leerzeichen stehen.
Mehrere Instanzen aus Datei erzeugen

- Wählen Sie im Snap-in „Vorlagen“ oder „Flows“ den Drop-down-Button „Instanz erstellen“ und darin dann „Mehrere Instanzen erstellen“.
- Wählen Sie unter „Verwendete Vorlage:“ die Vorlage aus. Über dem Baum steht ein Filterfeld mit dem Platzhalter „Filter...“: Ab dem ersten Zeichen bleiben nur die Treffer mitsamt ihrem Zweig stehen.
- Wählen Sie unter „Ablegen in Flow-Gruppe:“ den Zielordner aus; auch über diesem Baum steht ein Filterfeld.
- Füllen Sie die Tabelle unter „Vorlagen-Variablen:“ (sie erscheint, sobald eine Vorlage gewählt ist): Die Schaltfläche mit dem Plus-Zeichen in der Kopfzeile hängt unten eine leere Zeile an, das Papierkorb-Symbol am Zeilenanfang entfernt die Zeile nach einer Rückfrage, „Import“ liest eine CSV- oder Excel-Datei ein (Aufbau s. o.) und „Serie erzeugen“ füllt die Tabelle nach Regeln, siehe Instanzen als Serie erzeugen.
- Legen Sie neben der Schaltfläche fest, was mit Instanzen gleichen Namens geschieht: „Existierende Flows nicht verändern“ lässt sie stehen, „Existierende Flows überschreiben“ ersetzt sie durch die neuen Werte.
- Wählen Sie „Instanzen erzeugen“.
- Schalten Sie die neuen Instanzen produktiv.
Ändern Sie die Vorlage später, folgen alle Instanzen; was dabei mit den Werten ihrer Variablen geschieht, steht unter Vorlage ändern, wenn es schon Instanzen gibt.
Wenn etwas nicht passt
Beim Erzeugen mehrerer Instanzen prüft der OPC Router jede Zeile der Tabelle einzeln. Nach dem Lauf meldet der Dialog „Erstellung abgeschlossen“, wie viele Flows erstellt und wie viele übersprungen wurden („Flows erstellt: … Flows übersprungen: …“; bei fehlerhaften Zeilen ergänzt um „(davon … fehlerhaft)“); welche Zeile warum übersprungen wurde, zeigt der Fortschrittsdialog dahinter mit Flow-Name und Meldung. Eine Zeile mit einem fehlerhaften Wert wird übersprungen, alle übrigen Instanzen entstehen trotzdem. Ein vorhandener Flow gleichen Namens bleibt dabei erhalten, auch wenn Sie „Existierende Flows überschreiben“ gewählt haben: gelöscht und ersetzt wird er erst, wenn die Werte seiner Zeile fehlerfrei sind.
| Meldung | Ursache | Abhilfe |
|---|---|---|
| „Fehler in der Instanzerstellung: … Der Wert … für die Variable … im Flow … konnte nicht konvertiert werden. Meldung: …“ | Der Wert in der Zelle passt nicht zum Typ der Vorlagenvariablen, zum Beispiel Text in einer Variablen vom Typ Int32. Die Meldung enthält zusätzlich technische Angaben zur Fehlerstelle; maßgeblich ist der Teil nach „Meldung:“. | Wert korrigieren oder der Vorlagenvariablen den passenden Typ geben. |
| „Der Wert … ist keine gültige Zeitangabe.“ | Bei einer Variablen vom Typ TimeOffset fehlt die Einheit oder sie ist unbekannt. | Zeitangabe wie unter Zeitangaben in Vorlagenvariablen schreiben, zum Beispiel 30s. Eine leere Zelle ist erlaubt; dann gilt der Standardwert aus der Vorlage. |
| „Ein PlugIn mit dem Namen … existiert nicht.“ | Bei einer Variablen vom Typ eines Plug-ins steht in der Zelle keine vorhandene Anbindung. | Den Namen der Anbindung eintragen, so wie er im Bereich Plug-ins steht. Eine leere Zelle ist erlaubt; dann gilt der Standardwert aus der Vorlage. |
| „Der Flow existiert bereits“ | Ein Flow dieses Namens ist schon vorhanden und Sie haben „Existierende Flows nicht verändern“ gewählt. Die Instanz wird nicht erzeugt, der vorhandene Flow bleibt unverändert. | Instanz umbenennen oder den Vorgang mit „Existierende Flows überschreiben“ wiederholen. |
| „Eine Flow-Gruppe mit gleichem Namen existiert bereits“ · „Der Flow-Name enthält ungültige Zeichen.“ · „Der Flow-Name überschreitet die maximal zulässige Länge.“ | Der Instanzname aus der Spalte InstanceName ist an dieser Stelle nicht verwendbar. | Namen in der Tabelle oder in der Importdatei ändern. |
Meldet der Dialog vor dem Lauf „Folgende Variablen existieren nicht im Template: …“, trägt eine Spalte einen Namen, den die Vorlage nicht als Vorlagenvariable kennt. Passen Sie die Spaltenüberschrift an den Variablennamen an – am einfachsten über die Datei, die Sie mit „Vorlage herunterladen“ erhalten.