Diese Funktionalität ist nur in bestimmten Ausbaustufen verfügbar.

Sie befinden sich hier: Tutorial > Projekterzeugung per Import > Teil 3 – Durch Importieren einer CSV-Datei Werte in einzelne Parameter schreiben > Durch Importieren einer CSV-Datei Werte in einzelne Parameter schreiben

Durch Importieren einer CSV-Datei Werte in einzelne Parameter schreiben

Voraussetzungen:

Der Bibliotheks-Katalog enthält neben den Systembibliotheken die Architektur T_Mechatronic_Architecture und den Baukasten T_Mechatronic_ModularSystem.

Im Projekt-Katalog ist das Projekt Feeder vorhanden.

Um Parameterwerte in der bestehenden Konfiguration zu setzen wird die CSV-Datei Parameter.csv importiert. Dazu wird noch die Vorlagen-Datei Template_CSV.imx benötigt.

Hinweis:

Mit den identischen Vorlagen- und Schema-Dateien können identisch aufgebaute Excel-Dateien importiert werden.

So werden Parameterwerte gesetzt:

  1. Wählen Sie den Menüpunkt Datei > Importieren....
  2. Der Import-Assistent öffnet sich mit der Seite Auswählen.

  3. Navigieren Sie zu Projekt > Import.
  4. Bestätigen Sie mit [Weiter >].
  5. Der Import-Assistent öffnet die Seite Importiere Datei.

  6. Geben Sie im Feld Quell-Dateiname die Datei Parameter.csv an.
  7. Die Datei befindet sich im folgenden Verzeichnis:

    <EEC installation path>\resources\Import\CSV

    Nutzen Sie [Durchsuchen...] um zur Datei zu navigieren. Wählen Sie gegebenenfalls den Dateifilter Excel Arbeitsmappen (*.xls, *.xlsx, *.xlsm).

  8. Wählen Sie aus der aufklappbaren Liste Default:Parameter.xsl. Das Eingabefeld wird dadurch ausgegraut.
  9. Geben Sie im Feld Dateiname der Vorlage die Datei Template_CSV.imx an.
  10. Die Datei befindet sich im folgenden Verzeichnis:

    <EEC installation path>\resources\Import\IMX

    Nutzen Sie [Durchsuchen...] um zur Datei zu navigieren. Wählen Sie gegebenenfalls den Dateifilter IMX-Dateien (*.imx).

  11. Entfernen Sie die Option Neues Projekt anlegen und markieren Sie in der Liste darunter das Projekt Feeder.
  12. Bestätigen Sie mit [Fertigstellen].

Ergebnis:

Im Projekt-Katalog wird die Konfiguration mit dem Namen Feeder angezeigt.

  1. Öffnen Sie die Komponente Feeder.
  2. Öffnen Sie den Editor Parameter (Parameters).

In der Spalte Wert (Value) ist zu erkennen, dass alle Werte aus der CSV-Datei als String importiert worden sind.

Der Parameter ParameterBoolean ist mit dem Wert ='true' befüllt. Da dies kein gültiger boolescher Wert ist, wird als Ergebnis false eingetragen.

Für die Parameter ParameterDouble und ParameterInteger werden Formelfehler angezeigt, da die importierten Werte nicht als Double, bzw. Integer interpretiert werden können.

Der Parameter ParameterMap ist durch den Import nicht befüllt worden und ist deshalb <<null>>.

Einzig der Parameter ParameterString ist mit dem Wert Hello World korrekt gesetzt.

Fazit:

Die dritte Spalte der CSV-Datei wurde bei Konvertierung nicht erfasst und in der Folge wurden alle importierten Werte als String interpretiert.

Sollen die Parameter typgerecht importiert werden, muss die Schemadatei für die Transformation der CSV-Datei in ein Fragment angepasst werden.

So ändern Sie die XSL-Datei:

  1. Kopieren Sie die Datei <EEC installation path>\install\importschemas\Parameter.xsl in den folgenden Ordner:
  2. <EEC installation path>\resources\Import\XSL
  3. Benennen Sie die Datei um zu ParameterWithType.xsl.
  4. Öffnen Sie die Datei ParameterWithType.xsl mit einem beliebigen Editor, beispielsweise Notepad++.
  5. Navigieren Sie in der Datei zum Tag <xsl:template match="row" >.

Aussehen vor der Änderung:

<xsl:template match="row" >
	<xsl:choose>
		<xsl:when test="@number > $LineEndHeader ">
			<xsl:element name="parameter">
				<xsl:attribute name="name">
					<xsl:value-of select="col[@number='1']"/>
				</xsl:attribute>
				<xsl:attribute name="value">
					<xsl:value-of select="col[@number='2']"/>
				</xsl:attribute>
			</xsl:element>
		</xsl:when>
		<xsl:otherwise>
		</xsl:otherwise>
		</xsl:choose>
</xsl:template>

Fügen Sie die folgenden Zeilen am Ende des Blocks von <xsl:element name="parameter"> ein:

<xsl:attribute name="type">
	<xsl:value-of select="col[@number='3']"/>
</xsl:attribute>

Das Ergebnis sollte so aussehen:

<xsl:template match="row" >
	<xsl:choose>
		<xsl:when test="@number > $LineEndHeader ">
			<xsl:element name="parameter">
				<xsl:attribute name="name">
					<xsl:value-of select="col[@number='1']"/>
				</xsl:attribute>
				<xsl:attribute name="value">
					<xsl:value-of select="col[@number='2']"/>
				</xsl:attribute>
				<xsl:attribute name="type">
					<xsl:value-of select="col[@number='3']"/>
				</xsl:attribute>
			</xsl:element>
		</xsl:when>
		<xsl:otherwise>
		</xsl:otherwise>
		</xsl:choose>
</xsl:template>

Import mit der geänderten Schemadatei ParameterWithType.xsl:

  1. Wählen Sie den Menüpunkt Datei > Importieren....
  2. Der Import-Assistent öffnet sich mit der Seite Auswählen.

  3. Navigieren Sie zu Projekt > Import.
  4. Bestätigen Sie mit [Weiter >].
  5. Der Import-Assistent öffnet die Seite Importiere Datei.

  6. Geben Sie im Feld Quell-Dateiname die Datei Parameter.csv an.
  7. Die Datei befindet sich im folgenden Verzeichnis:

    <EEC installation path>\resources\Import\CSV

    Nutzen Sie [Durchsuchen...] um zur Datei zu navigieren. Wählen Sie gegebenenfalls den Dateifilter Excel Arbeitsmappen (*.xls, *.xlsx, *.xlsm).

  8. Wählen Sie aus der aufklappbaren Liste Kunden-Schema. Geben Sie die geänderte Schema-Datei an.
  9. <EEC installation path>\resources\Import\XSL\ParameterWithType.xsl

    Nutzen Sie [Durchsuchen...] um zur Datei zu navigieren. Wählen Sie gegebenenfalls den Dateifilter Schema-XSL-Dateien (*.xsl, *.xslt).

  10. Geben Sie im Feld Dateiname der Vorlage die Datei Template_CSV.imx an.
  11. Die Datei befindet sich im folgenden Verzeichnis:

    <EEC installation path>\resources\Import\IMX

    Nutzen Sie [Durchsuchen...] um zur Datei zu navigieren. Wählen Sie gegebenenfalls den Dateifilter IMX-Dateien (*.imx).

  12. Entfernen Sie die Option Neues Projekt anlegen und markieren Sie in der Liste darunter das Projekt Feeder.
  13. Bestätigen Sie mit [Fertigstellen].

Ergebnis:

Im Projekt-Katalog wird die Konfiguration mit dem Namen Feeder angezeigt.

  1. Öffnen Sie die Komponente Feeder.
  2. Öffnen Sie den Editor Parameter.

In der Spalte Wert ist zu erkennen, dass alle Werte aus der CSV-Datei mit ihren eigenen Typen importiert worden sind.

Der Parameter ParameterMap ist durch den Import nicht befüllt worden und ist deshalb <<null>>.