Voraussetzungen:
- Die vorbereitenden Schritte auf Dateiebene wurden durchgeführt.
- EEC ist gestartet.
- Der Bibliotheks-Katalog enthält neben den Systembibliotheken die Architektur T_Mechatronic_Architecture und den Baukasten T_Mechatronic_ModularSystem.
- Der Projekt-Katalog enthält das Projekt Feeder.
- Abschnitt Konfiguration durch Import einer IMX-Datei erzeugen ist durchgeführt.
Um den Parameter ParameterMap in der bestehenden Konfiguration mit Schlüssel-Wert-Paaren zu befüllen wird die CSV-Datei ParameterMap.csv mit Hilfe einer Action importiert. Dazu wird noch die Vorlagen-Datei Template_CSV.imx und die Schema-Datei KeyValue.xsl benötigt.
Mit der gleichen Action wird die CSV-Datei Parameter.csv importiert, um die Werte der Parameter ParameterBoolean, ParameterInteger, ParameterDouble und ParamterString zu setzen. Dazu wird noch die Vorlagen-Datei Template_CSV.imx und die Schema-Datei ParameterWithType.xsl benötigt.
Beschreibung der CSV-Datei:
Die CSV-Datei besteht aus 9 Zeilen und 3 Spalten.
Die Spalten haben keine Überschriften.
Über den auszuwertenden Daten wird mit einer Zelle, die den Text Header enthält, ein Bereich für Kopdaten eingeleitet. Die Kopfdaten enden in der Zeile, in der eine Zelle mit dem Text LineEndHeader enthalten ist.
Die auszuwertenden Daten sind über 3 Spalten verteilt:
A = Name des Parameters
B = Wert des Parameters
C = Typ des Parameters
Diese Angaben werden mit Hilfe der XSL-Datei KeyValue.xsl intern in ein Fragment im IMX-Format konvertiert. Das Fragment wird in der Vorlagendatei Template_CSV.imx anstelle des Tags <importFragment/> eingefügt.
<?xml version="1.0" encoding="utf-8"?>
<imx xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xi="http://www.w3.org/2001/XInclude" version="1.0">
<project name="Feeder" save="true">
<libraries>
<add type="String" value="T_Mechatronic_ModularSystem"/>
</libraries>
<mo name="Feeder" typeClass="T_Mechatronic_ModularSystem.Mechatronic.Stations.Feeder" >
<importFragment/>
</mo>
</project>
</imx>
Beschreibung der CSV-Datei:
Die CSV-Datei besteht aus 8 Zeilen und 3 Spalten.
Die Spalten haben keine Überschriften.
Über den auszuwertenden Daten wird mit einer Zelle, die den Text "Header" enthält, ein Bereich für Kopfdaten eingeleitet. Die Kopfdaten enden in der Zeile, in der eine Zelle mit dem Text "LineEndHeader" enthalten ist.
Die auszuwertenden Daten sind über 3 Spalten verteilt:
A = Name des Parameters
B = Wert des Parameters
C = Typ des Parameters
Diese Angaben werden mit Hilfe der XSL-Datei Parameter.xsl intern in ein Fragment im IMX-Format konvertiert. Das Fragment wird in der Vorlagendatei Template_CSV.imx anstelle des Tags <importFragment/> eingefügt.
Um eine Action auszuführen wird ein Link in einem Form-UI der Komponente Feeder eingefügt. Die Action wird das Command Engineering.ImportCsvCommand starten.
Erstellen Sie eine Unit für Actions:
- Markieren Sie im Bibliotheks-Katalog die Bibliothek T_Mechatronic_ModularSystem.
- Wählen Sie aus dem Kontextmenü Neu > Unit.
- Geben Sie im Feld Name Actions ein.
Erstellen Sie die Action ImportCsvAction:
- Markieren Sie im Bibliotheks-Katalog in der Bibliothek T_Mechatronic_ModularSystem die Unit Actions.
- Wählen Sie aus dem Kontextmenü Neu > Objekt....
- Wählen Sie Objekt > Action.
- Bestätigen Sie mit [Fertigstellen].
- Geben Sie im Feld Name ImportCsvAction ein.
- Öffnen Sie den Editor Methoden.
- Klicken Sie auf das Symbol (Methode hinzufügen).
- Geben Sie im Feld Name run ein.
- Markieren Sie gegebenenfalls die Option Klassenmethode.
- Wählen Sie gegebenenfalls die Sprache Folge.
- Klicken Sie auf das Symbol (Einzelnes Argument hinzufügen).
- Geben Sie für das neue Argument den Namen xslt ein.
- Geben Sie für das neue Argument den Typ Engineering String ein.
- Wiederholen Sie die Schritte 11 bis 13 mit den folgenden Angaben:
- Klicken Sie auf das Symbol (Aufgerufene Methode hinzufügen).
- Wählen Sie Object > Command > FrameworkCommand > ImportCSVCommand.
- Markieren Sie in der Liste Passende Methoden die Methode mit den Argumenten String pathToXslt, String pathtoTemplate, Object projectOrMo, String pathToCsv, String delimiter.
- Bestätigen Sie mit [Fertigstellen].
Name | Typ |
---|---|
template | Engineering.String |
project | Engineering.Object |
csv | Engineering.String |
delimiter | Engineering.String |
Das Ergebnis sollte dieses Aussehen haben:
Erstellen Sie ein Form-UI für die Komponente Feeder:
- Öffnen Sie im Bibliotheks-Katalog in der Bibliothek T_Mechatronic_ModularSystem die Komponente Feeder.
- Öffnen Sie den Editor UI-Konfiguration.
- Öffnen Sie gegebenenfalls die Ansicht Quelle.
- Geben Sie die folgenden UI-Konfiguration ein.
<?xml version="1.0" encoding="UTF-8"?>
<uis xmlns="http://www.mind8.com/FormUI"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<form title="Import" id="import">
<action type="link" name="T_Mechatronic_ModularSystem.Actions.ImportCsvAction"
arguments="=List{
'install\\importschemas\\KeyValue.xsl',
'resources\\Import\\IMX\\Template_CSV.imx',
'resources\\Import\\CSV\\ParameterMap.csv',
';',
this}">
Import CSV Data as key-value pairs
</action>
<action type="link" name="T_Mechatronic_ModularSystem.Actions.ImportCsvAction"
arguments="=List{
'resources\\Import\\XSL\\ParameterWithType.xsl',
'resources\\Import\\IMX\\Template_CSV.imx',
'resources\\Import\\CSV\\Parameter.csv',
';',
this}">
Import CSV Data as single parameter values
</action>
</form>
</uis>
Action "Import CSV Data as key-value pairs" in Form-UI ausführen:
Das erstellte Form-UI ist direkt nach dem Speichern in der Projektkomponente Feeder unter dem Namen Import verfügbar.
- Öffnen Sie im Projekt-Katalog die Komponente Feeder.
- Öffnen Sie den Editor Import.
- Klicken Sie auf den Link Import CSV Data as key-value pairs.
Ergebnis:
Das Ergebnis kann in der Projektkomponente Feeder direkt kontrolliert werden.
- Öffnen Sie den Editor Parameter (Parameters).
In der Spalte Wert (Value) ist zu erkennen, dass die Werte aus den Spalten A und B der CSV-Datei als Schlüssel-Wert-Paare in den Parameter ParameterMap geschrieben worden sind.
Action "Import CSV Data as single parameter values" in Form-UI ausführen:
- Öffnen Sie den Editor Import.
- Klicken Sie auf den Link Import CSV Data as single parameter values.
Ergebnis:
Das Ergebnis kann in der Projektkomponente Feeder direkt kontrolliert werden.
- Öffnen Sie den Editor Parameter (Parameters).
In der Spalte Wert (Value) ist zu erkennen, dass alle Werte aus der CSV-Datei mit ihren eigenen Typen importiert worden sind.