Beruflich Dokumente
Kultur Dokumente
UVI
Interfacebeschreibung
Historie
Verfasser Datum Version Geändert
Thomas Falschebner 04.07.2002 1.00 Erstellung
Thomas Falschebner 25.07.2002 1.10 Aktualisiert und Erweitert
Thomas Falschebner 11.09.2002 1.20 Releaseversion
Tadeusz Rzedkowski 10.12.2003 1.30 Start/StoppComm
Tadeusz Rzedkowski 11.02.2004 1.40 ReadIdInformation, VarCoding
Tadeusz Rzedkowski 16.12.2004 1.50 Hinweis zu Parametern für DoFlash
Tadeusz Rzedkowski 29.05.2007 1.60 Erweiterung Ver. 3.1.1:
DoFlash – erweitert
FindECU() – neue Funktion
Dok-Ref: UVIInterfacebeschreibung.doc
T-Systems GEI GmbH UNIPAS
Geschäftsstelle Ulm Vediamo
Interface
Seite 2
Inhaltsverzeichnis
1 Beschreibung ................................................................................................................................................ 3
1.1 Installation............................................................................................................................................. 3
4 Fehlerbehandlung....................................................................................................................................... 21
Dok-Ref: UVIInterfacebeschreibung.doc
T-Systems GEI GmbH UNIPAS
Geschäftsstelle Ulm Vediamo
Interface
Seite 3
1 Beschreibung
Diese Dokument beschreibt die Schnittstelle zwischen UVI und dem Prüfsystem UNIPAS.
Die Methoden werden in COM/DCOM realisiert. Die Unterfaceklasse die die Methoden zur
Verfügung stellt heißt IVI.
1.1 Installation
Wichtig:Unbedingdt zuerst VediamoSetupV.exe ausführen, um Vediamo zu installieren. An-
schließend UviSetup.exe ausführen. Die Reihenfolge ist unbedingt einzuhalten, da UVI auf
Vediamo basiert und diese Komponenten unbedingt zu Installationszeitunkt vorhanden sein
müssen. Da UVI und Vediamo unterschiedliche Version von Microsoft dlls verwenden, ist es
unbedingt notwendig die beiden Programme in unterschiedliche Verzeichnisse zu installie-
ren.
Nach der Installation müssen in der Vediamo.ini noch einige Änderungen vorgenommen
werden damit UVI korrekt arbeiten kann.
Der Eintrag SystemConsistencyCheck muss auf 0 gesetzt werden.
[SERVER]
SystemConsistencyCheck= 0
Name Kommentar
Init Initialisierung der Komponente
Reset Temporäre Einstellungen zurücksetzen
DoFlash SG Flashen
GetFlashProgress Liefert den Flashfortschritt
DoDiagService Symbolischen Diagnosedienst ausfüh-
ren
ReadECUErrors Lesen des Steuergeräte Fehlerspei-
chers
ClearECUErrors Löschen des Steuergeräte Fehlerspei-
chers
TransferData Dient zur Übergabe neuer Diagnose-
und Flashdaten
DeleteData Dient zum Löschen von Diagnose- und
Flashdaten.
GetVersionInfo Liefert die Versionen der einzelnen
Komponenten (UVI,Vediamo und CAE-
SAR)
FindECU Identifizierung des angeschlossenen
ECU
Dok-Ref: UVIInterfacebeschreibung.doc
T-Systems GEI GmbH UNIPAS
Geschäftsstelle Ulm Vediamo
Interface
Seite 4
3.1 Init
Mit der Methode Init nimmt UVI Verbindung mit dem Vediamo-Server auf und lädt das in der
Vediamo.ini abgelegte System. Diese Funktion muß vor dem Aufruf aller anderen Methoden
des Interfaces erfolgen. Ein Aufruf einer anderen Methode vor INIT führt zu einem Fehler.
Der Name der Vediamo Systembeschreibung kann entweder bei der Init-Methode mitgege-
ben werden oder wird aus der Vediamo.ini gelesen. Wird die zweite Möglichkeit gewählt,
muß die Vediamo.ini um folgenden Eintrag ergänzt werden:
[UVI]
System = Name der gewünschten Vediamo-Systembeschreibung.
<DATA>
Dok-Ref: UVIInterfacebeschreibung.doc
T-Systems GEI GmbH UNIPAS
Geschäftsstelle Ulm Vediamo
Interface
Seite 5
3.2 Reset
Die Resetmethode schließt alle noch aktiven Verbindungen zu Steuergeräten und versetzt
UVI in den Zustand nach Aufruf der Init-Methode.
Dok-Ref: UVIInterfacebeschreibung.doc
T-Systems GEI GmbH UNIPAS
Geschäftsstelle Ulm Vediamo
Interface
Seite 6
3.3 DoFlash
Mit der Methode DoFlash wird das Steuergerät mit der in sXML-Input angegebenen Flash-
ware geflasht. Dabei werden die einzelnen Flashkeys gemäß der in den *.cff files angegebe-
nen Prioritäten sortiert. Zur Ermittlung der richtigen Diagnosedaten kann entweder die
Sachnummer und der ZGS der Diagnosedaten oder der Steuergerätequalifier übergeben
werden. Wird Sachnummer und ZGS übergeben, muß im Attribut ECUQUALIFIER ein Leer-
string übergeben werden und umgekehrt.
Die Flashware und die Diagnosedaten muß an Vediamo auf eine der folgenden Methoden
übergeben werden:
• von Anfang an im Datenverzeichnis von DiagServer vorhanden
• vor DoFlash() mit TransferData() übermittelt
• vor dem Aufruf als Datei kopiert und bei DoFlash() als FlashFile (gesamter Pfad) mit-
geteilt.
Wird bei DoFlash() ein FlashFile übergeben, so werden alle bisher im DiagServer vorhande-
nen Flashdaten entladen und nur die angegebene Datei geladen.
Der Parameter (Attribut) FWZGS wird nicht verwendet und kann ausgelassen werden.
<DATA>
<FLASHWARE>
Dok-Ref: UVIInterfacebeschreibung.doc
T-Systems GEI GmbH UNIPAS
Geschäftsstelle Ulm Vediamo
Interface
Seite 7
</DATA>
2. Eine Flash-Datei mit mehreren Keys (z.B. 1 x Code, 1 x Data), alle vorhandenen Keys
sollen geflasht werden
<DATA DDSACHNR = "A7365298" DDZGS = "983" ECUQUALIFIER = "">
<FLASHWARE FLASHKEY=”ALL” FLASHFILE= "C:\Data\CFF\4711_0815.cff“ />
</DATA>
3. Eine Flashdatei mit vielen Flashkeys sowie eine Auswahl von Flashkeys, die geflasht wer-
den sollen. In diesem Fall müssen die angegebenen Flashkeys alle in dieser Datei stecken.
<DATA DDSACHNR = "" DDZGS = "" ECUQUALIFIER = "ME28AMG">
<FLASHWARE FLASHFILE= "C:\Data\Vediamodaten\CFF\4711_0815.cff“ />
<FLASHWARE FLASHKEY= "A1234527890“/>
<FLASHWARE FLASHKEY = "A1223467890“/>
<FLASHWARE FLASHKEY = "A1267867890“/>
</DATA>
4. Eine Auswahl von Flashkeys, die geflasht werden sollen, ohne dass eine Datei angegeben
wird. Die Flashdatei(en) müssen zu dem Zeitpunkt schon geladen sein.
<DATA DDSACHNR = "A7365298" DDZGS = "983" ECUQUALIFIER = "">
<FLASHWARE FLASHKEY= "A1234527890“/>
<FLASHWARE FLASHKEY = "A1223467890“/>
<FLASHWARE FLASHKEY = "A1267867890“/>
</DATA>
Wichtig. Bei Angabe einer Flashdatei müssen folgende Bedingungen erfüllt sein:
• Datei gilt für aktuelles ECU
• Datei enthält genau einen Flashkey.
In dem Falle werden bisherige CFFs entladen und die übermittelte Datei geladen und ins
ECU geflasht
Wichtig. Der unter FLASHKEY angegebene Parameter ist bei einem Teil der Bedatung mit
der Sachnummer identisch, es gibt aber seit 2004 auch Flashdaten, in denen der Flashkey
anders zusammengesetzt ist (z.B. Sachnr und ZGS). Da das System Vediamo keine Kennt-
nis über die Zusammensetzung des Flashkeys hat, muss der Client den korrekten Flashkey,
und nicht die Sachnummer, als Parameter mitgeben.
Dok-Ref: UVIInterfacebeschreibung.doc
T-Systems GEI GmbH UNIPAS
Geschäftsstelle Ulm Vediamo
Interface
Seite 8
3.4 GetFlashProgress
Mit der Methode GetFlashProgress kann der Fortschritt des Flashvorgangs in % abgefragt
werden. Diese Methode liefert –1 wenn nicht geflasht wird.
<DATA>
Beispiel:
<DATA FLASHPROGRESS= "23"/>
Dok-Ref: UVIInterfacebeschreibung.doc
T-Systems GEI GmbH UNIPAS
Geschäftsstelle Ulm Vediamo
Interface
Seite 9
3.5 DoDiagService
Mit der Methode DoDiagService kann ein beliebiger Service oder Variantenkodierung aus
der Steuergerätebeschreibungsdatei (*.cbf) ausgeführt werden. Zur Ermittlung der richtigen
Diagnosedaten kann entweder die Sachnummer und der ZGS der Diagnosedaten oder der
Steuergerätequalifier übergeben werden. Wird Sachnummer und ZGS übergeben, muß im
Attribut ECUQUALIFIER ein Leerstring übergeben werden und umgekehrt.
<DATA>
<INPARAMETER>
Beispiel:
<DATA DDSACHNR = "A7365298" DDZGS = "983" ECUQUALIFIER = "" SERVICEQUALI-
FIER= "Werte_setzen">
Dok-Ref: UVIInterfacebeschreibung.doc
T-Systems GEI GmbH UNIPAS
Geschäftsstelle Ulm Vediamo
Interface
Seite 10
Rückgabeparameter: XMLOUT
<DATA>
<OUTPARAMETER>
Beispiel:
<DATA SERVICEQUALIFIER= "read_values“ SERVICENAME = "Werte lesen“
Dok-Ref: UVIInterfacebeschreibung.doc
T-Systems GEI GmbH UNIPAS
Geschäftsstelle Ulm Vediamo
Interface
Seite 11
3.6 ReadECUErrors
Mit der Methode ReadECUErrors kann der Fehlerspeicher einer ECU ausgelesen werden.
Zur Ermittlung der richtigen Diagnosedaten kann entweder die Sachnummer und der ZGS
der Diagnosedaten oder der Steuergerätequalifier übergeben werden. Wird Sachnummer
und ZGS übergeben, muß im Attribut ECUQUALIFIER ein Leerstring übergeben werden und
umgekehrt.
<DATA>
Beispiel:
<DATA DDSACHNR = "A7365298" DDZGS = "983" ECUQUALIFIER = ""
ENVIRONMENTDATA = "yes" FILTERED = "no"/ >
Dok-Ref: UVIInterfacebeschreibung.doc
T-Systems GEI GmbH UNIPAS
Geschäftsstelle Ulm Vediamo
Interface
Seite 12
<ERROR>
<ERROR>
<ENVDATA>
Beispiel:
<DATA>
</DATA>
Dok-Ref: UVIInterfacebeschreibung.doc
T-Systems GEI GmbH UNIPAS
Geschäftsstelle Ulm Vediamo
Interface
Seite 13
3.7 ClearECUErrors
Mit der Methode ClearECUErrors kann der Fehlerspeicher einer ECU gelöscht werden.
Zur Ermittlung der richtigen Diagnosedaten kann entweder die Sachnummer und der ZGS
der Diagnosedaten oder der Steuergerätequalifier übergeben werden. Wird Sachnummer
und ZGS übergeben, muß im Attribut ECUQUALIFIER ein Leerstring übergeben werden und
umgekehrt.
<DATA>
Beispiel:
<DATA DDSACHNR = "A7365298" DDZGS = "983" ECUQUALIFIER = ""/>
Dok-Ref: UVIInterfacebeschreibung.doc
T-Systems GEI GmbH UNIPAS
Geschäftsstelle Ulm Vediamo
Interface
Seite 14
3.8 TransferData
Mit der Methode TransferData können UVI neue Diagnose- und Flashdaten übergeben wer-
den. Die Daten werden als Binärdaten übergeben und von UVI wieder als Datei auf dem
Filesystem gespeichert.
Für Diagnosedaten:
Zum momentanen Zeitpunkt(solange die Sachnummer an den Varianten hängt), können
Diagnosedaten nur mit dem ECUQUALIFIER (z.B. xyz) an UVI übergeben werden. Sie
werden dann mit dem Namen „xyz.cbf“ auf der Platte abgespeichert. Existiert bereits ei-
ne Datei mit diesem Namen, wird diese überschrieben. Wird bei ECUQUALIFIER ein
anderer ECUQUALIFIER übergeben als der, der sich im .cbf befindet, führt dies zu Fehl-
verhalten der UVI-Schnittstelle.
Für Flashdaten:
Flashdaten werden unter dem Namen „Sachnummer.cff“ auf der Festplatte abgelegt. E-
xistiert bereits eine datei diesen Namens, wird diese überschrieben. UVI kümmert sich
nicht um die ZGS, sondern geht davon aus, dass von UNIPAS für jede Sachnummer
immer die Datei mit dem aktuellen ZGS übergeben wird und zuvor die alte Datei mit De-
leteData gelöscht wird.
3.8.1 Übergabeparameter:
XMLIN:
Beschreibung der DATA:
<DATA>
TAG ATTRIBUTE Kommentar
FWSACHNR Sachnummer der Daten
FWZGS Zeichnungsgeometriestand
ECUQUALIFIER Steuergeräte-Qualifier
TYPE Typ des Files (Diagnose- oder Flashdaten)
TYPE kann die folgenden Werte annehmen = „DIAG“ und „FLASH“
Beispiel:
<DATA FWSACHNR = "A7365298" FWZGS = "" ECUQUALIFIER = "" TYPE = "FLASH"/>
DiagFlashData:
Array mit dem Inhalt einer .cbf oder.cff Datei.
Dok-Ref: UVIInterfacebeschreibung.doc
T-Systems GEI GmbH UNIPAS
Geschäftsstelle Ulm Vediamo
Interface
Seite 15
3.9 DeleteData
Mit der Methode DeleteData können bereits an UVI übergebene Daten wieder gelöscht wer-
den. UVI entfernt diese wieder vom Dateisystem.
Für Diagnosedaten:
Zum momentanen Zeitpunkt (solange die Sachnummer an den Varianten hängt), können
Diagnosedaten nur mit dem ECUQUALIFIER aus UVI gelöscht werden. UVI sucht nach
einem File „ecuqualifier.cbf in seinem Datenverzeichnis. Der ecuqualifier muß mit dem
der beim übergeben dieser Diagnosedaten mit Transferdata angegebenen Namen über-
einstimmen, damit die datei gelöscht werden kann.
Für Flashdaten:
Zum Löschen von Flashdaten wird nach einer Datei „Sachnummer.cff“ im Datenver-
zeichnis gesucht und dann gelöscht.
<DATA>
Beispiel:
<DATA FWSACHNR = "A7365298" FWZGS = "" ECUQUALIFIER = "" TYPE = "FLASH"/>
Dok-Ref: UVIInterfacebeschreibung.doc
T-Systems GEI GmbH UNIPAS
Geschäftsstelle Ulm Vediamo
Interface
Seite 16
3.10 GetVersionInfo
Mit der Methode GetVersionInfo können die versionen der verwendeten Module ausgelesen
werden. Es wird die Version von UVI, des Vediamo-Servers, sowie die CAESAR-Version
zurückgeliefert.
Beispiel:
<DATA UVIVERSION = "01.00.00" VEDIAMOVERSION = "02.00.02" CAESARVERSION =
"02.08.03"/>
Dok-Ref: UVIInterfacebeschreibung.doc
T-Systems GEI GmbH UNIPAS
Geschäftsstelle Ulm Vediamo
Interface
Seite 17
3.11 ReadIDInformation
Mit dieser Methode wird der Inhalt des ECU-ID-Blocks bzw. des Flash-ID-Blocks aus dem
ECU ausgelesen.
<DATA>
Beispiel:
<DATA DDSACHNR = "" DDZGS = "" ECUQUALIFIER = "SIM4" IDTYPE=“ECUID“ />
<IDBLOCK>
Dok-Ref: UVIInterfacebeschreibung.doc
T-Systems GEI GmbH UNIPAS
Geschäftsstelle Ulm Vediamo
Interface
Seite 18
<INFORMATION>
Je nach gewähltem IDTYPE kann das Attribut NAME die folgenden Werte enthalten:
1. IDTYPE = BOOTSWID, CODESWID oder DATASWID:
• SUPPLIERID
• DIAGID
• SWVERSION
• PARTNUMBER
2. IDTYPE = BOOTFPRINT, CODEFPRINT oder DATAFPRINT:
• SUPPLIERID
• PROGRAMMINGDATE
• TESTERSERIAL
3. IDTYPE = ECUIDINFO
• MBNUMBER
• HWVersion
• SWVersion
• MBSUPPLIER
• DIAGVERSION
• ECUIDENTIFIER
• DIAGSTAND
• MANUFACTURINGDATE
Beispiel:
<DATA ECUQUALIFIER=“nag2“ IDTYPE=“DATAFPRINT“>
<IDBLOCK>
<IDINFORMATION NAME=“SUPPLIERID“ VALUE=“2“ />
<IDINFORMATION NAME=“PROGRAMMINGDATE“ VALUE=“01/11/02“ />
<IDINFORMATION NAME=“TESTERSERIAL“ VALUE=“8468757“ />
</IDBLOCK>
</DATA>
3.12 FindECU
Mit der Methode FindECU wird überprüft, welches Steuergerät aus einer Liste von Steuerge-
räten angeschlossen ist. Als „erkannt“ bzw. „gefunden“ gilt ein ECU, das unter der (in der
Systembeschreibung) angegebenen Ressource kontaktiert werden konnte und dessen Vari-
ante erkannt wurde.
Dok-Ref: UVIInterfacebeschreibung.doc
T-Systems GEI GmbH UNIPAS
Geschäftsstelle Ulm Vediamo
Interface
Seite 19
Es werden nacheinander alle in der VSB angegebenen ECUs durchgetestet, die im Parame-
ter ECUQUALIFIER angegeben sind. Ist der Parameter leer, so werden alle ECUs aus der
VSB durchprobiert.
<DATA>
Die Liste der ECU-Qualifier ist eine kommagetrennte Liste. Groß/Kleinschreibung wird be-
achtet.
Wird kein ECU erkannt, so sind beide Parameter (ECU und VARIANT) leer.
Beispiel:
<DATA ECU="ME28" VARIANT=“M112_0245457032_E3“ />
Dok-Ref: UVIInterfacebeschreibung.doc
T-Systems GEI GmbH UNIPAS
Geschäftsstelle Ulm Vediamo
Interface
Seite 20
Dok-Ref: UVIInterfacebeschreibung.doc
T-Systems GEI GmbH UNIPAS
Geschäftsstelle Ulm Vediamo
Interface
Seite 21
4 Fehlerbehandlung
Im Fehlerfall liefern die Methoden einen XML-String mit folgendem Format:
<DATA>
Beispiel:
<DATA ERRORTEXT="ECU-Initialisierung fehlgeschlagen" ERRORTYPE="UVI_ERROR“/>
Dok-Ref: UVIInterfacebeschreibung.doc
T-Systems GEI GmbH UNIPAS
Geschäftsstelle Ulm Vediamo
Interface
Seite 22
Dok-Ref: UVIInterfacebeschreibung.doc