Projekte automatisch nach XML exportieren

logi.CAD 3 bietet ein Werkzeug für das automatisierte Exportieren von Projekten bzw. deren ST-/FBS-Objekte in eine XML-Datei (= Textdatei im XML-Format).
Zusammen mit dem Werkzeug für das automatisierte Importieren können Sie Vorlagen durch den Export von bestehenden Objekten erzeugen und diese Vorlagen anschließend in bestehenden Projekten importieren.

Gut zu wissen

(grey lightbulb) Das Werkzeug ist zur Verwendung durch einen fortgeschrittenen Anwender von logi.CAD 3 vorgesehen.

(grey lightbulb)Bedingung für die erfolgreiche Verwendung des Werkzeugs sind Kenntnisse über die durchzuführende Aktion, wie sie in der grafischen Benutzeroberläche von logi.CAD 3 ausgeführt werden würde.

(grey lightbulb)Die Ausgaben des Werkzeugs erfolgen nur in englischer Sprache.

Inhalt dieses Artikels:

Vorbereitungen

  1. Stellen Sie sicher, dass logi.CAD 3 installiert ist. Halten Sie die folgenden Informationen bereit:  
    • der Pfad zum Installationsverzeichnis von logi.CAD 3 
    • der Pfad zu einem Verzeichnis, das als Arbeitsbereich verwendet wird
      Falls das Verzeichnis nicht existiert, wird es vom Werkzeug erstellt. Falls der optionale Parameter
       -checkEmptyWorkspace verwendet wird (siehe die Beschreibung dieses Parameters weiter unten), muss das Verzeichnis leer sein.
       
    • der Pfad zum Projekt, das exportiert werden soll
    • der Pfad zur Konfigurationsdatei für das Protokoll (siehe unten für weitere Informationen)
      Eine Datei mit einer Beispielkonfiguration ist in der Installation von logi.CAD 3 enthalten.
       
  2. Öffnen Sie eine Befehlszeile: z.B. cmd.exe unter Windows und wechseln Sie in das Installationsverzeichnis von logi.CAD 3  

Aufruf

Parameter, die innerhalb von [] stehen, sind optional. Das heißt, wenn Sie den Parameter auslassen, wird das Standardverhalten angewendet (siehe unter "Beschreibung der Parameter" weiter unten). Wenn Sie den Parameter verwenden möchten, geben Sie das Zeichen [ und ] nicht ein (siehe die nachfolgenden Beispiele). 

logiCAD3c --launcher.ini logiCAD3.ini -application com.logicals.lc32.export.application [-noSplash] -projectPath <PROJECTPATH> [-objectToExport <OBJECT_TO_EXPORT> -outputPath <OUTPUT_PATH> -outputFile <OUTPUT_FILE>]|[-workpackagePath  <WORKPACKAGE_PATH>] [-checkEmptyWorkspace] -vmargs -Dlog4j.configuration=file:<LOG-CONFIGURATION>

(warning) Der Aufruf des Werkzeugs wird nicht offiziell für Linux unterstützt. Wenn Sie dennoch versuchen wollen, das Werkzeug unter Linux aufzurufen, ersetzen Sie den Teil logiCAD3c --launcher.ini logiCAD3.ini -application des oben genannten Aufrufs durch logiCAD3 -application. Der restliche Teil des Aufrufs ist identisch mit dem oben genannten Aufruf.

Beschreibung der Parameter:

ParameterBeschreibungBeispiel

<PROJECTPATH>

absoluter Pfad zum Projekt
Falls das Projekt bereits innerhalb des Arbeitsbereichs existiert (z.B. aufgrund eines früheren automatischen Imports des Projekts), ist es auch möglich, nur den Projektnamen anzugeben.

C:\LC3Projects\MyProject
<OBJECT_TO_EXPORT>
<OUTPUT_FILE>
<OUTPUT_PATH>

die folgenden Daten für die XML-Datei:

  1. das zu exportierende Objekt (inkl. projektrelativen Pfad)
    (warning) Das Werkzeugt unterstützt derzeit ST-Objekte und FBS-Objekte für den Export. Andere Objekte werden nicht exportiert.
    (warning) Falls Sie ein ST-Objekt als zu exportierendes Objekt angeben und dieses ST-Objekt enthält mehrere Sprachelemente (z.B. einen Datentyp und einen Funktionsbaustein oder 2 Datentypen), beachten Sie, dass nur das jeweils letzte Sprachelement im ST-Objekt exportiert wird.
    (warning) Weitere Einschränkungen: Diese Elemente bzw. Einstellungen werden nicht exportiert:
  2. absoluter Pfad, in dem die XML-Datei zu erstellen ist
  3. Name der XML-Datei, die zu erstellen ist

(info) Verwenden Sie diese 3 Parameter immer gemeinsam. Oder verwenden Sie den folgende Parameter -workpackagePath <WORKPACKAGE_PATH> als Alternative.

(info) Falls Sie diese 3 Parameter oder -workpackagePath <WORKPACKAGE_PATH> nicht angeben, wird nichts exportiert.

src\program.iecst
C:\lc3
program.xml
<WORKPACKAGE_PATH>

absoluter Pfad zu einer CSV-Datei
Diese CSV-Datei ist eine Alternative zu den 3 Parametern, die gemeinsam zu verwenden sind – das sind: -objectToExport <OBJECT_TO_EXPORT> -outputPath <OUTPUT_PATH> -outputFile <OUTPUT_FILE>. Mit Hilfe der CSV-Datei können Sie außerdem mehrere Objekte für den Export angeben.
Die CSV-Datei muss die folgenden Daten (in dieser Reihenfolge) pro Zeile enthalten – jeweils durch , voneinander getrennt:

  1. das zu exportierende Objekt (inkl. projektrelativen Pfad)
  2. absoluter Pfad, in dem die XML-Datei zu erstellen ist
  3. Name der XML-Datei, die zu erstellen ist
Beispiel für den Inhalt einer CSV-Datei: 2 ST-Objekte werden exportiert.
src\program.iecst,C:\lc3,program.xml
src\EnumType.iecst,C:\lc3,EnumType.xml
c:\LC3\workpackage.csv

<LOG-CONFIGURATION>

Pfad zur Konfigurationsdatei für das Protokoll
Alle Meldungen des Werkzeugs werden an das Gerät ausgegeben, das in der Konfigurationsdatei für das Protokoll angegeben ist.

C:\LC3LogConfig\log4j.xml

  • Der Parameter -noSplash ist optional. Wird er nicht angegeben, wird der Startbildschirm von logi.CAD 3 nach dem Aufruf angezeigt.
     
  • Der Parameter -checkEmptyWorkspace ist ebenfalls optional. Geben Sie diesen Parameter an, um zu prüfen, ob der angegebene Arbeitsbereich leer ist. Das logi.CAD 3-Projekt wird nur importiert, falls der Arbeitsbereich leer ist.
    Beim Standardaufruf (wenn dieser Parameter nicht angegeben wird) wird das logi.CAD 3-Projekt immer in den Arbeitsbereich importiert – unabhängig davon, ob der Arbeitsbereich leer ist oder nicht. Ist das logi.CAD 3-Projekt bereits im Arbeitsbereich vorhanden, wird das logi.CAD 3-Projekt neu importiert.
     
  • Der Parameter -Dlog4j.configuration ist ebenfalls optional. logi.cals empfiehlt jedoch, diesen Parameter anzugeben, damit Protokoll-Ereignisse ausgegeben werden.
     
Beispiel 1 für Aufruf: Ein ST-Objekt wird in eine XML-Datei exportiert.
logiCAD3c --launcher.ini logiCAD3.ini -application com.logicals.lc32.export.application -noSplash -projectPath C:\LC3Projects\MyProject -objectToExport src\program.iecst -outputPath C:\lc3 -outputFile program.xml -vmargs -Dlog4j.configuration=file:C:\LC3LogConfig\log4j.xml
Beispiel 2 für Aufruf: Die Objekte werden laut der CSV-Datei exportiert. Die CSV-Datei spezifiziert auch die erstellten XML-Dateien.
logiCAD3c --launcher.ini logiCAD3.ini -application com.logicals.lc32.export.application -noSplash -projectPath C:\LC3Projects\MyProject -workpackagePath c:\LC3\workpackage.csv -vmargs -Dlog4j.configuration=file:C:\LC3LogConfig\log4j.xml

Konfigurationsdatei für das Protokoll 

Diese Datei wird zur Konfiguration des log4j-Protokollierungsmechanismus benötigt. Die Datei gibt an, wie Protokoll-Ereignisse ausgegeben werden.

Konfigurationsdatei für das Protokoll (Beispiel)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration debug="false" xmlns:log4j='http://jakarta.apache.org/log4j/'>
 
  <!-- This configuration logs to console. -->
  <appender name="console" class="org.apache.log4j.ConsoleAppender">
    <param name="target" value="System.out"/>
    <param name="immediateFlush" value="true"/>
    <param name="encoding" value="UTF-8"/>
    <param name="threshold" value="info"/>
    <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p:  %m%n" />
    </layout>
  </appender>

  <!-- This configuration logs to a file, with more information than for the console. -->
  <appender name="file" class="org.apache.log4j.DailyRollingFileAppender">
    <param name="file" value="C:\\temp\\logfile.log" />
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%d{HH:mm:ss} %-5p [THREAD ID=%t] [Method:%M] %c{1}:%L - %m%n" />
    </layout>
  </appender>
  <root>
    <level value="INFO" />
    <appender-ref ref="console" />
    <appender-ref ref="file" />
  </root>
</log4j:configuration>

Fehlerbehebung

Die Datei, die in der Konfigurationsdatei für das Protokoll angegeben ist, enthält Informationen über das Exportieren. Falls das Exportieren nicht erfolgreich war, beheben Sie das Problem gemäß der folgenden Tabelle.

Rückgabe-CodeMeldung (ausgegeben auf STDOUT oder STDERR)UrsacheLösung
0Export successful (0)

-1Export failed (Parameter Error, -1): NameEin Argument oder Parameter fehlt.Rufen Sie das Werkzeug wie oben angegeben auf.
-2Export failed (-2): Project not foundDas angegebene Projekt existiert nicht.Geben Sie ein vorhandenes Projekt an. Oder rufen Sie das Werkzeug mit dem absoluten Pfad für das Projekt auf.
-6Export failed (-6): Workspace not empty

Der Arbeitsbereich enthält bereits Daten (z.B. ein oder mehrere logi.CAD 3-Projekte).

Verwenden Sie einen leeren Arbeitsbereich oder entfernen Sie alle vorhandenen Daten aus dem aktuellen Arbeitsbereich.
Alternative: Rufen Sie das Werkzeug ohne den Parameter -checkEmptyWorkspace auf.
-127Export (Details: exception message)Ein unerwarteter Fehler ist aufgetreten.

Kontaktieren Sie logi.cals.