Beruflich Dokumente
Kultur Dokumente
3.5 openDiagnosticConnection
Manueller Modus anstelle
automatischer Modus
Konkretisierung 6.1.3
FaultMemoryElement
13.1 checkFlashProgramming
Konkretisierung
18.3 DiagLibResultAllFaultMemories
Änderung Fehlertext.
Referenzierte Dokumente
Änderungsverfolgung.............................................................................................................. 2
Referenzierte Dokumente.......................................................................................................5
1. Allgemein......................................................................................................................... 8
1.1 Gliederung des Dokumentes...................................................................................9
1.2 Festlegung von Konstanten.....................................................................................9
1.3 Behandlung von Exceptions..................................................................................10
2. Abbildungen der Ein- / Ausgabestrukturen.....................................................................10
2.1 Behandlung der Rückgabe von übersetzten Texten..............................................10
2.2 Schlüssel für Sequenzparameter...........................................................................10
2.3 Vorgehen bei Baumstrukturen...............................................................................11
2.4 Standard Eingabeparameter..................................................................................12
2.5 Standard Ergebniswerte........................................................................................12
2.5.1 Wertemenge für Attribut type.............................................................................12
2.5.2 DiagLibResultPlain............................................................................................12
2.5.3 StdValue............................................................................................................ 13
2.5.4 DiagLibResultStdValueSeq................................................................................14
2.6 Abbildung der Systemnamen auf EXAM-Namen...................................................15
2.6.1 EXAM-Namen für die Identifikation....................................................................15
2.6.2 EXAM-Namen für Ereignisspeichereinträge.......................................................16
2.6.3 EXAM-Namen für den Status eines Stellgliedtests............................................16
2.7 Multilink-Aufrufe.....................................................................................................17
2.7.1 Allgemeines.......................................................................................................17
2.7.2 DiagLibEcuBase................................................................................................17
2.7.3 Behandlung von Exceptions..............................................................................17
2.7.4 DiagLibEcuResults............................................................................................18
3. Verbindungen.................................................................................................................19
3.1 init.......................................................................................................................... 19
3.2 switchECU.............................................................................................................21
3.3 deinit...................................................................................................................... 23
3.4 exit......................................................................................................................... 23
3.5 openDiagnosticConnection....................................................................................23
3.6 closeDiagnosticConnection...................................................................................24
3.7 switchSession........................................................................................................24
3.8 getCurrentConfiguration........................................................................................25
4. Konfiguration..................................................................................................................26
4.1 getPluginInfo..........................................................................................................26
4.2 getMemoryInformation...........................................................................................27
4.3 callReadParametersOnService..............................................................................27
4.4 getSupportedFunctions..........................................................................................30
4.5 getSystemInformation............................................................................................31
5. Identifikation................................................................................................................... 32
5.1 readIdentification...................................................................................................32
5.2 DiagLibResultIdentification....................................................................................33
5.3 IdentService........................................................................................................... 34
5.4 Beispiele................................................................................................................ 36
5.5 readIdentificationMultilink......................................................................................39
499725995.doc Seite 6 von 101
Version 4.2.0 Stand: 05.11.2018 Status: in Arbeit
Abbildung der EXAM-IDL auf die Web-Service
Schnittstelle von ODIS-Engineering
5.5.1 DiagLibResultIdentifications...............................................................................40
5.5.2 EcuIdentificationItem.........................................................................................41
6. Ereignisspeicher............................................................................................................41
6.1 readFaultMemory..................................................................................................41
6.1.1 DiagLibResultFaultMemory................................................................................42
6.1.2 FaultMemoryElementList...................................................................................42
6.1.3 FaultMemoryElement.........................................................................................43
6.1.4 Art der Ereignisspeicherinformation...................................................................46
6.1.5 Werte für Standardumgebungsbedingungen.....................................................47
6.1.6 Dtc..................................................................................................................... 47
6.2 readListOfActiveFaultEntries.................................................................................48
6.3 readListOfUncheckedFaultPaths...........................................................................48
6.4 resetFaultMemory..................................................................................................49
6.5 readFaultMemoryWithoutEnvironmentData...........................................................49
6.6 readFaultMemoryMultilink......................................................................................50
6.6.1 DiagLibResultFaultMemories.............................................................................51
6.6.2 EcuFaultMemoriesItem......................................................................................51
6.7 resetFaultMemoryMultilink.....................................................................................52
7. Messwerte..................................................................................................................... 52
7.1 readMeasuredValue(String, String).......................................................................52
7.2 DiagLibResultMeasuredValue...............................................................................53
7.3 readMeasuredValueMultilink.................................................................................54
8. Codierung...................................................................................................................... 55
8.1 readCodingECU....................................................................................................55
8.1.1 Beispiele............................................................................................................ 56
8.2 writeCodingECU....................................................................................................56
8.3 readCodingGateway..............................................................................................58
8.4 writeCodingGateway.............................................................................................58
8.5 readGatewayEquipmentList...................................................................................59
8.5.1 StdValue............................................................................................................ 59
8.5.2 Beispiele............................................................................................................ 61
8.6 writeGatewayEquipmentList..................................................................................62
8.7 readCodingMultilink...............................................................................................63
8.7.1 DiagLibResultCodings.......................................................................................64
8.7.2 DiagLibResultEcuCodingItem............................................................................64
8.7.3 DiagLibResultSystemCodingItem......................................................................65
8.8 writeCodingMultilink...............................................................................................66
8.8.1 DiagLibEcuCodingParamValuesItem.................................................................67
8.8.2 DiagLibCodingParamValuesItem.......................................................................67
8.8.3 DiagLibCodingType...........................................................................................68
9. Stellglieddiagnose.......................................................................................................... 68
9.1 actuatorDiagnosis..................................................................................................68
9.2 DiagLibResultActuatorDiagnosis...........................................................................69
9.3 selectiveActuatorDiagnosis....................................................................................71
10. Anpassung................................................................................................................ 73
10.1 readConditioning...................................................................................................73
10.1.1 DiagLibResultConditioning.............................................................................74
499725995.doc Seite 7 von 101
Version 4.2.0 Stand: 05.11.2018 Status: in Arbeit
Abbildung der EXAM-IDL auf die Web-Service
Schnittstelle von ODIS-Engineering
10.1.2 ConditioningElement......................................................................................74
10.1.3 Beispiele........................................................................................................75
10.2 writeConditioning...................................................................................................77
10.3 readLongConditioning............................................................................................78
10.4 writeLongConditioning...........................................................................................78
10.5 readAdaptionMultilink............................................................................................78
10.5.1 DiagLibEcuFuncParamNamesItem................................................................79
10.5.2 DiagLibResultFuncValues..............................................................................80
10.5.3 DiagLibResultEcuFuncValuesItem.................................................................80
10.5.4 DiagLibResultFuncValuesItem.......................................................................81
10.5.5 StdFuncValue................................................................................................82
10.6 writeAdaptionMultilink............................................................................................83
10.6.1 DiagLibEcuAdaptionParamValuesItem..........................................................83
10.6.2 DiagLibAdaptionParamValuesItem................................................................84
11. Grundeinstellung.......................................................................................................84
11.1 basicSettings.........................................................................................................84
11.2 basicSettingStop Aufruf mit leerer Liste.................................................................86
11.3 basicSettingCheck Aufruf mit leerer Liste..............................................................86
11.4 DiagLibResultBasicSettings...................................................................................87
12. Hex-Service...............................................................................................................89
12.1 sendRawService....................................................................................................89
13. Flashen..................................................................................................................... 89
13.1 checkFlashProgramming.......................................................................................89
13.2 flashProgramming.................................................................................................91
14. Datensatz.................................................................................................................. 91
14.1 dataSetDownload..................................................................................................91
15. Transportmodus........................................................................................................92
15.1 enableTransportMode............................................................................................92
15.2 disableTransportMode...........................................................................................93
16. Versionen.................................................................................................................. 93
16.1 getODXVersions....................................................................................................93
17. Zugriffsberechtigung..................................................................................................94
17.1 logInECU............................................................................................................... 94
18. Sammeldienst Ereignisspeicher................................................................................95
18.1 eraseAllFaultMemories..........................................................................................95
18.2 interrogateAllFaultMemories..................................................................................95
18.3 DiagLibResultAllFaultMemories.............................................................................96
18.4 CollectiveFaultMemoryItem...................................................................................97
18.5 eraseAllOBDFaultMemories..................................................................................98
19. switchSession............................................................................................................98
20. Implementierung nicht erforderlich............................................................................99
21. Vorlage...................................................................................................................... 99
1. Allgemein
Textmarke Wert
EMPTY_STRING „“
EMPTY_LIST Leere Liste bzw. leeres Array
EMPTY_LIBRESULTBASE public final class
DiagLibResultBase {
public String errorMessage =
EMPTY_STRING;
public String reserved =
EMPTY_STRING;
}
TYPE_BYTEFIELD „bytefield“
MASTER_ECU „master“
TYPE_STRING „string“
TYPE_HEX „hex“
TYPE_FLOAT „float“
TYPE_INT „int“
TYPE_BYTEFIELD „bytefield“
ACTION_START „start“
ACTION_STOP „stop“
ACTION_NEXT „next“
ACTION_CHECK „check“
VALUE_CODED „coded“
VALUE_NOTCODED „notCoded“
STATE_RUNNING „1“
STATE_NOT_RUNNING „-1“
DIAG_SERVICE_ADAPTION „Adaption“
DIAG_SERVICE_BASIC_SETTINGS „BasicSettings“
DIAG_SERVICE_CODING „Coding“
DIAG_SERVICE_FINAL_CONTROL_DIAGNOSTI “FinalControlDiagnosis”
CS
DIAG_SERVICE_IDENTIFICATION “Identification”
DIAG_SERVICE_MEASURED_VALUES “MeasuredValues”
DIAG_SERVICE_SECURITY_ACCESS “SecurityAccess”
DIAG_SERVICE_SUPPORTED_FUNCTIONS “SupportedFunctions”
DIAG_SERVICE_FAULT_MEMORY “FaultMemory”
DIAG_SERVICE_SUPPORTED_FUNCTIONS “SupportedFunctions”
499725995.doc Seite 9 von 101
Version 4.2.0 Stand: 05.11.2018 Status: in Arbeit
Abbildung der EXAM-IDL auf die Web-Service
Schnittstelle von ODIS-Engineering
DIAG_SERVICE_UPDATE_PROGRAMMING “UpdateProgramming”
DIAG_SERVICE_TRANSPAREN_SERVICE “TransparentService”
DIAG_SERVICE_CODINGEQUIPMENTLIST “CodingEquipmentList”
DIAG_SERVICE_SUPPORTED_SESSIONS “SupportedSessions”
Der Integer errorCode der PluginBaseException wird von EXAM ausgewertet. Der Wert 0
bedeutet einen schwerwiegenden Fehler, der den Abbruch der Tests und die Unterstützung
des Supports bedeutet. Bei allen anderen Werten können die verbleibenden Testfälle weiter
durchgeführt werden. Dies ist bei der Vergabe des errorCodes zu beachten.
NRCs die in Teiloperationen einer Anfrage vorkommen, dürfen nicht zu einer Exception
führen, da damit dann alle Ergebnisse der Abfrage verworfen würden. Beispiel
Stellglieddiagnose, Anpassung. In diesen Fällen müssen die NRCs in den jeweils
vorhandenen und zur Teiloperation gehörigen Rückgabeattributen gespeichert werden
(jeweils in sErrorMessage). NRCs die als Exception (Gesamtergebnis) einer Operation der
Web-Service-Schnittstelle geliefert werden, werden auch als PluginBaseException an EXAM
geliefert. Beispiel: Schreiben der Klartextcodierung.
Wenn die Übersetzung nicht verfügbar ist, wird in ODIS-Engineering bei Werten aus dem
ODX eine Long- /Shortname Ersetzung durchgeführt. Es werden dann die Elemente mit
entsprechendem Prefix ausgegeben, [LO]_, [LN]_, [SO]_, [SN]_, [VN]_, [VO]_, [UN]_, [UO]_.
Es werden bei Baumstrukturen nur die Blätter in der Ergebnisliste verwendet. Damit wird die
eventuelle Strukturierungsinformation für ODX Werte nicht weiter gegeben.
type Datentyp des Wertes, folgende Werte sind definiert, für die konkreten
Werte siehe Abschnitt 1.2.
TYPE_STRING für String
TYPE_INT für Integer
TYPE_FLOAT für Float, bzw. Double
TYPE_HEX für Hexedezimal
TYPE_BYTEFIELD für ein Byte-Array
2.5.2 DiagLibResultPlain
Beschreibung
Allgemeine Rückgabestruktur zur Rückgabe eine typisierten Wertes
Verweis IDL
Plateau.DiagLibResultPlain
Java-Signatur
public final class DiagLibResultPlain{
public String value;
public String type;
public String reserved;
public StringsErrorMessage
}
Attribute
value Ausgelesener Wert. Wenn möglich als übersetzter Wert. Dies ist
aber abhängig vom Kontext der ausführenden Funktion.
type Siehe Abschnitt 2.5.1
reserved Reserviertes Feld zur Rückgabe von funktionsspezifischen
Werten. Im Normalfall EMPTY_STRING.
sErrorMessage Fehlermeldung, siehe Abschnitt 1.3
2.5.3 StdValue
Beschreibung
Allgemeine Abbildung eines IDiagResultValue auf einen StdValue.
Verweis IDL
Plateau#StdValue
Java-Signatur
public final class StdValue {
public String param;
public String value;
public String unit;
public String text;
public String type;
public String number;
public String reserved;
public String tableKey;
public String tableKeyText;
public String errorMessage;
}
Attribute
param ODX-ShortName des Parameters (falls vorhanden).
value Wert der Parameters als String
unit Einheit falls vorhanden, ansonsten EMPTY_STRING
text Übersetzung zum param falls vorhanden, ansonsten EMPTY_STRING
type Siehe Abschnitt 2.5.1
number EMPTY_STRING
reserved Reserviertes Feld zur Rückgabe von funktionsspezifischen Werten. Im
Normalfall EMPTY_STRING. Gesetzt wird der Wert z.B. in 16.1
getODXVersions
tableKey ODX-ShortName des TableKeys (falls vorhanden).
tableKeyTe Übersetzter Text des TableKeys (falls vorhanden).
xt
errorMessa Feld für Fehlertexte
ge
</xs:complexType>
2.5.4 DiagLibResultStdValueSeq
Beschreibung
Beschreibung der Struktur zur Rückgabe einer Liste von StdValue.
Verweis IDL
Plateau#DiagLibResultStdValueSeq
Java-Signatur
public final class DiagLibResultStdValueSeq{
public exam.Plateau.DiagLibResultBase sErrorMessage;
public exam.Plateau.StdValue sAllStdValues[];
}
Attribute
sErrorMessage Reserviertes Feld für Fehlermeldungen oder negative Antworten vom
Steuergerät.
sAllStdValues Array von StdValues
[]
Param_VWSlaveSoftwVersiNumbe IdentResultComposite.vw_slave_sw_version
_number
Param_VWSlaveHardwVersiNumbe IdentResultComposite.vw_slave_hw_version
_number
Param_VWSlaveCodinValue IdentResultComposite.vw_slave_coding_val
ue
Es wurden hier nur die Einträge aufgelistet, die auch in der VAS5163-Mapping.xml
vorkommen. Die ODIS-Mapping.xml kann weitere Abbildungen enthalten.
Der ODIS-Name UDS für die Status-Bits wird im Plateau aus der dort definierten Konstante
„Param_StatuOfDTCBit“ und der Bit-Nummer gebildet.
2.7 Multilink-Aufrufe
2.7.1 Allgemeines
Über Multilink-Aufrufe kann Funktionalität, die bisher schon für einzelne Steuergeräte zur
Verfügung steht, gebündelt für mehrere Steuergeräte parallel genutzt werden. Dabei können
dort, wo es fachlich sinnvoll ist, unterschiedliche Parameter für die verschiedenen
Steuergeräte verwendet werden.
Alle Multilink-Aufrufe erwarten als Aufrufparameter eine Liste, die für jedes angeforderte
Steuergerät einen Eintrag enthält. Die Rückgabe ist ebenfalls eine Liste mit einem
Ergebniseintrag für jedes angeforderte Steuergerät.
Die allgemeinen Multilinkeinstellungen werden in der init-Methode gesetzt (Beschreibung
siehe Kapitel 3.1 init).
2.7.2 DiagLibEcuBase
Beschreibung
Allgemeine Struktur zur Definition eines angeforderten Steuergeräts. Diese Struktur wird als
Eingabe bei jedem Multilink-Aufruf verwendet, ggf. in Verbindung mit weiteren Parametern. In
jeder Rückgabestruktur identifiziert sie das Ergebniselement für ein Steuergerät.
Verweis IDL
Plateau.DiagLibEcuBase
Java-Signatur
public final class DiagLibEcuBase implements
org.omg.CORBA.portable.IDLEntity
{
public String sEcuId = null;
public String sEcuLogicalLink = null;
}
Attribute
sEcuId Steuergeräteadresse als hexadezimaler Wert, ohne Präfix.
Führende Nullen werden akzeptiert.
sEcuLogicalLink Name des Logical Links. Wird in der Eingabe ignoriert, sofern
sEcuId nicht leer ist.
2.7.4 DiagLibEcuResults
Beschreibung
Allgemeine Struktur zur Rückgabe einfacher Ergebnisse mehrerer Steuergeräte. Diese
Struktur wird als Rückgabe bei mehreren Multilink-Aufrufen verwendet.
Verweis IDL
Plateau.DiagLibEcuResults
Java-Signatur
public final class DiagLibEcuResults
{
DiagLibResultBase sErrorMessage = null;
DiagLibEcuResultItem sDiagLibEcuResults[] = null;}
Attribute
sErrorMessage Fehlermeldung (Steuergeräte-übergreifend).
sDiagLibEcuResults Liste der Ergebnisse der einzelnen angeforderten
Steuergeräte.
Nach dem Löschen der Ereignisspeicher enthält diese Liste
genau 1 Eintrag für jedes im Aufruf angeforderte Steuergerät.
Nach dem Schreiben von Codierung oder Anpassung enthält
sie für jedes im Aufruf genannte Subsystem / jeden
Anpassungsnamen einen Eintrag. Struktur s. Kap. 2.7.4.1
2.7.4.1 DiagLibEcuResultItem
Beschreibung
Einzelelement in der allgemeinen Rückgabestruktur. Enthält das Ergebnis für ein einzelnes
Steuergerät bzw. die darunter liegende Ebene (Subsystem / Anpassung)..
Verweis IDL
Plateau.DiagLibEcuResultItem
Java-Signatur
public final class DiagLibEcuResultItem
{
public DiagLibResultBase sErrorMessage = null;
public DiagLibEcuBase sEcuBase = null;
public String sFuncName = null;
}
Attribute
sErrorMessage Fehlermeldung (spezifisch für diesen Eintrag).
sEcuBase Identifiziert das Steuergerät
sFuncName Subsystem / Anpassungsname. Bleibt leer beim Löschen der
Ereignisspeicher.
3. Verbindungen
3.1 init
Beschreibung
Initialisierungsroutine mit der Möglichkeit Projekt, Steuergerät und Sprache zu setzen.
Wenn bei einem nachfolgenden Aufruf der init / switchECU Methode nur eine
Untermenge der Parameter anders gesetzt werden, so werden auch nur die
notwendigen Aufrufe in der Web-Service Schnittstelle ausgeführt. Für EXAM muss
dieser Spezialfall nicht betrachtet werden, da aus EXAM heraus immer alle
Initialisierungs-Parameter übergeben werden [DEXAM]. So wird bei Wechsel des
Steuergerätes und Beibehaltung des Projektes das Projekt nicht erneut geladen. Bei
Änderung des Projektes wird das Steuergerät in jedem Fall neu identifiziert. Hier erfolgt
noch kein Verbindungsaufbau auf das konkrete Steuergerät. Dies geschieht im Falle
des impliziten Verbindungsaufbau vor dem nächsten Diagnose-Zugriff bzw. im Falle
des expliziten Verbindungsaufbaus durch den Aufruf der Operation
openDiagnosticConnection.
Verweis IDL
Plateau#init
Java-Signatur
boolean init(keyValue[] seq) throws PluginBaseException
Parameter
seq Sequenz mit Schlüssel / Wert Paaren aus Abschnitt 2.2. Die Reihenfolge der
Parameter ist nicht definiert und trägt keine semantische Bedeutung.
configureSetting
Web-Service-Signatur
<message name="setVehicleProject">
<part name="parameters" element="tns:setVehicleProject" />
</message>
<message name="setTraceLevel">
<part name="parameters" element="tns:setTraceLevel" />
</message>
<message name="setLocale">
<part name="parameters" element="tns:setLocale" />
</message>
<message name="configureSetting">
<part name="parameters" element="tns:configureSetting" />
</message>
„Multilink.MaxNumberOfLogicalLinks" 8
„Multilink.ConsiderRestrictionsOfVRTVPT" TRUE
Wenn in der VRT/VPT die maximale LL-Anzahl 5 enthalten ist, dann wird in diesem Bsp.
die maximale LL-Anzahl von 5 verwendet
2. Beispiel
„Multilink.MaxNumberOfLogicalLinks" 3
„Multilink.ConsiderRestrictionsOfVRTVPT" TRUE
Wenn in der VRT/VPT die maximale LL-Anzahl 5 enthalten ist, dann wird in diesem Bsp.
die maximale LL-Anzahl von 3 verwendet
3. Beispiel
„Multilink.MaxNumberOfLogicalLinks" 10
„Multilink.ConsiderRestrictionsOfVRTVPT" FALSE
Hier wird immer die LL-Anzahl 10 verwendet, weil die VRT/VPT-Einstellung nicht
berücksichtigt wird.
3.2 switchECU
Beschreibung
Initialisierungsroutine mit der Möglichkeit Projekt, Steuergerät und Sprache zu setzen.
Wenn bei einem nachfolgenden Aufruf der init / switchECU Methode nur eine
Untermenge der Parameter anders gesetzt werden, so werden auch nur die
notwendigen Aufrufe in der Web-Service Schnittstelle ausgeführt. Für EXAM muss
dieser Spezialfall nicht betrachtet werden, da aus EXAM heraus immer alle
Initialisierungs-Parameter übergeben werden [DEXAM]. So wird bei Wechsel des
Steuergerätes und Beibehaltung des Projektes das Projekt nicht erneut geladen. Bei
Änderung des Projektes wird das Steuergerät in jedem Fall neu identifiziert. In dieser
Operation erfolgt sowohl ein expliziter Verbindungsaufbau auf das konkrete
Steuergerät als auch ein darauf folgender Verbindungsabbau. Dieser Verbindungsauf-
und –abbau dient dazu, die Eingabeparameter zu prüfen und dem Tester das
Feedback zu geben, ob das Steuergerät mit den übergebenen Daten erreichbar ist. Zur
Einhaltung der Busruhe muss die Diagnoseverbindung wieder geschlossen werden, da
ein Öffnen der Diagnoseverbindung ausschließlich über den expliziten
Verbindungsaufbau mittels openDiagnosticConnection geschieht oder im Rahmen des
impliziten Verbindungsaufbaus beim Aufruf der nächsten Diagnose-Operation.
Verweis IDL
Plateau#init
Java-Signatur
boolean init(keyValue[] seq) throws PluginBaseException
Parameter
seq Sequenz mit Schlüssel / Wert Paaren aus Abschnitt 2.2. Die Reihenfolge der
3.3 deinit
Beschreibung
Freigeben möglicher Ressourcen. Diagnoseverbindung abbauen.
Verweis IDL
Plateau#deinit
Java-Signatur
boolean deinit() throws PluginBaseException
Rückgabe
boolean Es wird immer der Wert true geliefert. Im negativen Fall wird eine
PluginBaseException geworfen.
Verweis Web-Service Schnittstelle
closeConnection
Web-Service-Signatur
<message name="closeConnection">
<part name="parameters" element="tns:closeConnection" />
</message>
3.4 exit
Beschreibung
Beendet die ODIS-Serveranwendung sowie das ODIS-Plateau-Plugin und löscht die
zugehörigen Einträge aus dem CORBA-Nameserver.
Verweis IDL
Plateau#exit
Java-Signatur
void exit() throws PluginBaseException
Verweis Web-Service Schnittstelle
Exit
Web-Service-Signatur
<message name="exit">
<part name="parameters" element="tns:exit" />
</message>
3.5 openDiagnosticConnection
Beschreibung
Diese Methode stellt (beim nächsten Zugriff) explizit die Verbindung zum Steuergerät
her und setzt den Modus für den Diagnoseverbindungsaufbau und –abbau auf den
manuellen Modus.
Verweis IDL
Plateau#openDiagnosisConnection
Java-Signatur
DiagLibResultBase openDiagnosisConnection() throws PluginBaseException
Rückgabe
DiagLibResultBas Siehe 1.3 Behandlung von Exceptions
e
3.6 closeDiagnosticConnection
Beschreibung
Die Methode schließt explizit die Verbindung zum Steuergerät und setzt den Modus
für den Diagnoseverbindungsaufbau und –abbau auf den automatischen Modus.
Verweis IDL
Plateau#closeDiagnosisConnection
Java-Signatur
DiagLibResultBase closeDiagnosisConnection() throws
PluginBaseException
Rückgabe
DiagLibResultBas Siehe 1.3 Behandlung von Exceptions
e
3.7 switchSession
Beschreibung
Wechsel der aktiven Diagnosesession im Steuergerät.
499725995.doc Seite 24 von 101
Version 4.2.0 Stand: 05.11.2018 Status: in Arbeit
Abbildung der EXAM-IDL auf die Web-Service
Schnittstelle von ODIS-Engineering
Verweis IDL
Plateau#switchSession
Java-Signatur
DiagLibResultBase switchSession (String sDiagSession) throws
PluginBaseException;
Parameter
sDiagSession UDS: ODX-Shortname der Diagnosesession
KWP: Nummer der Diagnosesession
00 => VAS505x mode
83 => End of line within volkswagen
84 => End of line within control unit producer
85 => Update programming
86 => Developper mode
89 => Standard selfdiagnostics
Rückgabe
DiagLibResultBase Siehe 1.3 Behandlung von Exceptions
3.8 getCurrentConfiguration
Beschreibung
Liefert aktuelle Konfiguration bzgl. Projekt, Steuergerät, Sprache und Protokoll .
Verweis IDL
Plateau#getCurrentConfiguration
Java-Signatur
DiagLibResultConfiguration getCurrentConfiguration () throws
PluginBaseException;
499725995.doc Seite 25 von 101
Version 4.2.0 Stand: 05.11.2018 Status: in Arbeit
Abbildung der EXAM-IDL auf die Web-Service
Schnittstelle von ODIS-Engineering
Rückgabe
DiagLibResultConfigur Siehe 1.3 Behandlung von Exceptions
ation
StdValue.type = TYPE_STRING
StdValue.unit = EMPTY_STRING
StdValue.text = EMPTY_STRING
StdValue.number = EMPTY_STRING
StdValue.reserved = EMPTY_STRING
StdValue.tableKey = EMPTY_STRING
StdValue.tableKeyText = EMPTY_STRING
StdValue.errorMessage = EMPTY_STRING
EMPTY_LIBRESULTBASE DiagLibResultConfigurati
on.sErrorMessage
"vehicleProject" StdValue[].param
Aktuelles Project. Falls keins vorhanden StdValue[].value
PluginBaseException
"ecuName" StdValue[].param
Aktuelles Steuergerät. Falls keins StdValue[].value
vorhanden PluginBaseException
"protocol" StdValue[].param
Aktuelles Protokoll. Falls keins StdValue[].value
vorhanden PluginBaseException
"language" StdValue[].param
Aktuelle Sprache. Falls keine vorhanden StdValue[].value
PluginBaseException
4. Konfiguration
4.1 getPluginInfo
Beschreibung
Die Funktion liefert Informationen über die ODIS-Plateau Komponente sowie der
Version der Web-Service-Schnittstelle.
Verweis IDL
Plateau#getPluginInfo
Java-Signatur
PluginInfo getPluginInfo() throws PluginBaseException
Rückgabe
PluginInfo Informationen über die ODIS-Plateau Komponente.
499725995.doc Seite 26 von 101
Version 4.2.0 Stand: 05.11.2018 Status: in Arbeit
Abbildung der EXAM-IDL auf die Web-Service
Schnittstelle von ODIS-Engineering
4.2 getMemoryInformation
Beschreibung
Liefert den aktuellen Speicherverbrauch des ODIS Plateau-Plugins.
Verweis IDL
Plateau#getMemoryInformation
Java-Signatur
DiagLibResultStdValueSeq getMemoryInformation() throws
PluginBaseException
Rückgabe
DiagLibResultStdValueSeq Momentaner Speicherverbrauch des ODIS Plateau-
Plugins.
StdValue.type = TYPE_STRING
StdValue.unit = EMPTY_STRING
StdValue.text = EMPTY_STRING
StdValue.number = EMPTY_STRING
StdValue.reserved = EMPTY_STRING
StdValue.tableKey = EMPTY_STRING
StdValue.tableKeyText = EMPTY_STRING
StdValue.errorMessage = EMPTY_STRING
EMPTY_LIBRESULTBASE DiagLibResultStdValueSeq
"MaxAllowedMemoryKB" StdValue[].param
Runtime.getRuntime().maxMemory() / 1024 StdValue[].value
"AllocatedMemoryKB" StdValue[].param
(Runtime.getRuntime().maxMemory() – StdValue[].value
Runtime.getRuntime().freeMemory()) /
499725995.doc Seite 27 von 101
Version 4.2.0 Stand: 05.11.2018 Status: in Arbeit
Abbildung der EXAM-IDL auf die Web-Service
Schnittstelle von ODIS-Engineering
1024
4.3 callReadParametersOnService
Beschreibung
Auslesen der verfügbaren ODX-ShortNames zu einer Diagnosefunktion. Diese
Funktion ist nur für UDS-Steuergeräte definiert. Auf einem KWP-Steuergerät wird eine
PluginBaseException geworfen.
Verweis IDL
Plateau# callReadParametersOnService
Java-Signatur
DiagLibResultListOfParameterValues callReadParametersOnService (String
sService, String sCode) throws PluginBaseException;
Parameter
sService Diagnose-Service, für den die ODX-ShortNames ausgelesen werden
sollen. Folgende Werte sind als Eingabe definiert
DIAG_SERVICE_ADAPTION
DIAG_SERVICE_BASIC_SETTINGS
DIAG_SERVICE_CODING
DIAG_SERVICE_FINAL_CONTROL_DIAGNOSTICS
DIAG_SERVICE_IDENTIFICATION
DIAG_SERVICE_MEASURED_VALUES
DIAG_SERVICE_SECURITY_ACCESS
sCode ODX-ShortName der Anpassgruppen, der Grundeinstellungen, der
codierbaren Systeme, der Stellglieder, der Identifikationswerte, der
Messwertgruppen, der Zugriffsstufen.
Rückgabe
DiagLibResultLi Struktur zur Rückgabe der Shortnames. PluginBaseException, falls
stOfParameterVa sService nicht in der gültigen Eingabemenge vorhanden ist bzw.
lues wenn die Operation auf einem KWP-Steuergerät aufgerufen wird.
<message name="getShortNamesOfSubSystems">
<part name="parameters" element="tns:getShortNamesOfSubSystems" />
</message>
<message name="getShortNamesOfMeasurementsForActuatorDiagnostics">
<part name="parameters"
element="tns:getShortNamesOfMeasurementsForActuatorDiagnostics" />
</message>
<message name="getShortNamesOfActuators">
<part name="parameters" element="tns:getShortNamesOfActuators" />
</message>
<message name="getShortNamesOfStartParametersForActuator">
<part name="parameters"
element="tns:getShortNamesOfStartParametersForActuator" />
</message>
<message name="getShortNamesOfAdaptationChannels">
<part name="parameters"
element="tns:getShortNamesOfAdaptationChannels" />
</message>
<message name="getShortNamesOfAdaptationValues">
<part name="parameters" element="tns:getShortNamesOfAdaptationValues" />
</message>
<message name="getShortNamesOfBasicSettings">
<part name="parameters" element="tns:getShortNamesOfBasicSettings" />
</message>
<message name="getShortNamesOfMeasurementsForBasicSettings">
<part name="parameters"
element="tns:getShortNamesOfMeasurementsForBasicSettings" />
</message>
<message name="getShortNamesOfStartParametersForBasicSettings">
<part name="parameters"
element="tns:getShortNamesOfStartParametersForBasicSettings" />
</message>
<message name="getShortNamesOfCodingValues">
<part name="parameters" element="tns:getShortNamesOfCodingValues" />
</message>
<message name="getShortNamesOfMeasurementGroups">
<part name="parameters"
element="tns:getShortNamesOfMeasurementGroups" />
</message>
<message name="getShortNamesOfMeasurements">
<part name="parameters" element="tns:getShortNamesOfMeasurements" />
</message>
<message name="getShortNamesOfAccessModes">
<part name="parameters" element="tns:getShortNamesOfAccessModes" />
</message>
4.4 getSupportedFunctions
Beschreibung
Liefert alle möglichen Eingabewerte der Funktion callReadParametersOnService zurück.
Verweis IDL
Plateau.DiagnosticsOperations#getSupportedFunctions()
Java-Signatur
DiagLibResultStdValueSeq getSupportedFunctions() throws
PluginBaseException
Rückgabe
DiagLibResultStdValueS
eq
StdValue.type = TYPE_STRING
StdValue.value = EMPTY_STRING
StdValue.unit = EMPTY_STRING
StdValue.text = EMPTY_STRING
StdValue.number = EMPTY_STRING
StdValue.reserved = EMPTY_STRING
StdValue.tableKey = EMPTY_STRING
StdValue.tableKeyText = EMPTY_STRING
StdValue.errorMessage = EMPTY_STRING
Für KWP und UDS Steuergeräte werden folgende Einträge zurück gegeben
EMPTY_LIBRESULTBASE DiagLibResultStdValueSeq
DIAG_SERVICE_ADAPTION => StdValue[].param
DIAG_SERVICE_BASIC_SETTINGS => StdValue[].param
DIAG_SERVICE_CODING => StdValue[].param
DIAG_SERVICE_FINAL_CONTROL_DIAGNOSTICS => StdValue[].param
DIAG_SERVICE_IDENTIFICATION => StdValue[].param
DIAG_SERVICE_MEASURED_VALUES => StdValue[].param
DIAG_SERVICE_SECURITY_ACCESS => StdValue[].param
DIAG_SERVICE_SUPPORTED_FUNCTIONS => StdValue[].param
DIAG_SERVICE_UPDATE_PROGRAMMING => StdValue[].param
4.5 getSystemInformation
Beschreibung
Liefert Versionsinformationen der eingesetzten Komponenten.
Verweis IDL
Plateau.DiagnosticsOperations#getSystemInformation()
Java-Signatur
DiagLibResultStdValueSeq getSystemInformation() throws
PluginBaseException;
Rückgabe
DiagLibResultStdValueS
eq
StdValue.type = TYPE_STRING
StdValue.unit = EMPTY_STRING
StdValue.text = EMPTY_STRING
StdValue.number = EMPTY_STRING
StdValue.reserved = EMPTY_STRING
StdValue.tableKey = EMPTY_STRING
StdValue.tableKeyText = EMPTY_STRING
StdValue.errorMessage = EMPTY_STRING
EMPTY_LIBRESULTBASE DiagLibResultStdValueSeq
"ProductVersion" => StdValue[].param
diagResultVersionsImpl.productVersion => StdValue[].value
"AutomationAPIVersion" => StdValue[].param
diagResultVersionsImpl.automationAPIVer => StdValue[].value
sion
"MCDServerVersion" => StdValue[].param
diagResultVersionsImpl.mCDServerVersion => StdValue[].value
"MCDServerAPIVersion" => StdValue[].param
diagResultVersionsImpl.mCDServerAPIVers => StdValue[].value
ion
"PDUAPIVersion" => StdValue[].param
diagResultVersionsImpl.pDUAPIVersion => StdValue[].value
"PDUVersion" => StdValue[].param
diagResultVersionsImpl.pDUVersion => StdValue[].value
"ECFVersion" => StdValue[].param
diagResultVersionsImpl.eCFVersion => StdValue[].value
5. Identifikation
5.1 readIdentification
Beschreibung
Die Methode liest die Identifikationsdaten eines Steuergerätes aus und speichert diese
in der Ergebnisstruktur DiagLibResultIdentification ab.
Verweis IDL
Plateau.DiagnosticsOperations#readIdentification()
Java-Signatur
DiagLibResultIdentification readIdentification() throws
PluginBaseException;
Rückgabe
DiagLibResultIdentification
5.2 DiagLibResultIdentification
Beschreibung
Ergebnisstruktur der Identifikation.
Verweis IDL
Plateau#DiagLibResultIdentification
Java-Signatur
public final class DiagLibResultIdentification
{
public exam.Plateau.DiagLibResultBase sErrorMessage;
public exam.Plateau.IdentService sAllIdentServiceElements[];
}
Attribute
sErrorMessage Feld für Fehlermeldung.
sAllIdentServiceElements Liste der identifizierten Systeme. Diese beinhaltet das
[] Master-Steuergerät sowie alle Subsysteme des Masters.
Beschreibung eines Systems erfolgt in IdentService.
5.3 IdentService
Beschreibung
Verweis IDL
Plateau#IdentService
Java-Signatur
public final class IdentService{
public String param;
public String text;
public String errorMessage;
public String reserved;
public exam.Plateau.StdValue sAllResultDataElements[];
public exam.Plateau.IdentService sAllIdentServices[];
}
Attribute
param UDS: MASTER_ECU bzw. Shortname des Subsystems
KWP: MASTER_ECU bzw die Durchnummerierung der
Subsysteme sub1, sub2, … ,subN
text Übersetzter Text falls existent. Ansonsten
EMPTY_STRING.
errorMessage Fehlermeldungen
reserved EMPTY_STRING
sAllResultDataElements Ausgelesene Identifikationsdaten
[]
sAllIdentServices[] Hierarchiestufen siehe VAS_DIAG_XML
Verweis Automatisierungsschnittstelle
vaudas.vehiclefunction.automation.types#DiagResultIdentification
Java-Signatur
public interface IDiagResultIdentification{
Ansonsten gilt, dass die Diagnosedaten so übermittelt werden, wie sie im Tester
angezeigt werden, identStandard, identExtended, identSubSys0, identSubSysn.
UDS-Steuergeräte:
1. Hierarchie-Ebene: Identifikations-Dienste
identService: identMaster, identSubSystems, identStandard
identData: EMPTY_LIST
2. Hierarchie-Ebene: Subsysteme oder Ident-Daten
a. Falls identSubSystems
identService: ODX-ShortNames und Übersetzung der einzelnen Subsysteme
identData: EMPTY_LIST
b. Falls identMaster oder identStandard: Ident-Daten
identService: EMPTY_LIST
identData: ODX-ShortNames und Übersetzungen der einzelnen Ident-Daten
3. Hierarchie-Ebene (nur unterhalb von identSubSystems): Ident-Daten
identService: EMPTY_LIST
identData: ODX-ShortNames und Übersetzung der einzelnen Ident-Daten
KWP-Steuergeräte:
1. Hierarchie-Ebene: identStandard, identEcuS1A, identEcuS22, identLifecycleS1A,
identLifecycleS22, identDataS22
2. Hierarchie-Ebene: Subsysteme oder Ident-Daten
a. Falls identEcuS1A, identEcuS22, identDataS22
identService: Daten der einzelnen Diagnose-Services
identData: EMPTY_LIST
b. Falls identStandard, identLifecycleS1A, identLifecycleS22
identService: Daten der einzelnen Subsysteme
identData: EMPTY_LIST
3. Hierarchie-Ebene (nur unterhalb der Subsysteme)
a. für nicht strukturierte Identifikations-Daten
identService: EMPTY_LIST
identData: vom Steuergerät gelieferte Ident-Daten
b. für strukturierte Identifikations-Daten
identService: Strukturierungselemente (set0, set1, set2)
identData: EMPTY_LIST
4. Hierarchie-Ebene (nur für strukturierte Ident-Daten unterhalb der Subsysteme)
a. identService: EMPTY_LIST
identData: vom Steuergeräte gelieferte Ident-Daten
Zu klären durch Reengineering und VAS_DIAG_XML
499725995.doc Seite 36 von 101
Version 4.2.0 Stand: 05.11.2018 Status: in Arbeit
Abbildung der EXAM-IDL auf die Web-Service
Schnittstelle von ODIS-Engineering
Wie wird das Attribut „text“ mit dem übersetzten Namen des Systems befüllt?
5.4 Beispiele
// Identifikationsdaten: identSubsystems
sAllIdentServiceElements[0] =
public final class IdentService {
public String param = “identSubsystems”;
public String text = “identSubsystems”;
public String errorMessage = EMPTY_STRING;
public String reserved = EMPTY_STRING;
public StdValue sAllResultDataElements[] = EMPTY_LIST;
public IdentService sAllIdentServices[3];
// Identifikationsdaten: Master-Steuergerät
sAllIdentServices[0] =
public final class IdentService {
public String param = MASTER_ECU;
public String text = MASTER_ECU;
public String errorMessage = EMPTY_STRING;
public String reserved = EMPTY_STRING;
public StdValue sAllResultDataElements[] = EMPTY_LIST;
public IdentService sAllIdentServices[4];
}
// Identifikationsdaten: erstes Slave-Steuergerät
sAllIdentServices[1] = ...
499725995.doc Seite 37 von 101
Version 4.2.0 Stand: 05.11.2018 Status: in Arbeit
Abbildung der EXAM-IDL auf die Web-Service
Schnittstelle von ODIS-Engineering
}
// Identifikationsdaten: identMaster
sAllIdentServiceElements[1] = ...
// Identifikationsdaten: identStandard
sAllIdentServiceElements[1] =
public final class IdentService {
public String param = “identStandard”;
public String text = “identStandard”;
public String errorMessage = EMPTY_STRING;
public String reserved = EMPTY_STRING;
public StdValue sAllResultDataElements[7];
public IdentService sAllIdentServices[] = EMPTY LIST;
// Erstes Identifikationsdatum
sAllResultDataElements[0] =
public final class StdValue {
public String param = “Param_VWSeriaNumbe”;
public String value = “351JL067530621”;
public String unit = EMPTY_STRING;
public String text = EMPTY_STRING;
public String type = EMPTY_STRING;
public String number = EMPTY_STRING;
public String reserved = EMPTY_STRING;
public String tableKey = EMPTRY_STRING;
public String tableKeyText = EMPTRY_STRING;
public String errorMessage = EMTPRY_STRING;
}
// Zweites Identifikationsdatum
sAllResultDataElements[1] = ...
}
Lesen der Identifikation mit Subsystemen (KWP)
Rückgabe
public final class DiagLibResultIdentification
{
public DiagLibResultBase sErrorMessage = EMPTY_LIBRESULTBASE;
public sAllIdentServiceElements[3];
}
// Identifikationsdaten: identEcuS1A
sAllIdentServiceElements[0] =
public final class IdentService {
public String param = “identEcuS1A”;
public String text = “identEcuS1A”;
public String errorMessage = EMPTY_STRING;
public String reserved = EMPTY_STRING;
public StdValue sAllResultDataElements[] = EMPTY_LIST;
public IdentService sAllIdentServices[3];
// Identifikationsdaten: identSubsystem0
sAllIdentServices[0] =
public final class IdentService {
public String param = “identSubystem0”;
public String text = “identSubsystem0”;
public String errorMessage = EMPTY_STRING;
5.5 readIdentificationMultilink
Beschreibung
Lesen der Identifikationsdaten der angeforderten Steuergeräte.
Verweis IDL
Plateau.DiagnosticsOperations#readIdentificationMultilink()
Java-Signatur
DiagLibResultIdentifications
readIdentificationMultilink(DiagLibEcuBase[] lEcuList,
boolean bWithExtendedIdent,
boolean bWithSubsystems)
throws PluginBaseException
Parameter
lEcuList Liste der Steuergeräte, für die die Identifikation gelesen
werden soll. s. Kap. 2.7.2.
bWithExtendedIdent Erweiterte Identifikationsdaten lesen (true/false)
bWithSubsystems Identifikationsdaten für Subsysteme lesen (true/false)
Rückgabe
DiagLibResultIdentifications Struktur zur Rückgabe der Identifikationsdaten
mehrerer Steuergeräte, s. Kap. 5.5.1.
Verweis Automatisierungsschnittstelle
IIdentificationInterface#readMultilinkIdentification
Java-Signatur
List<IDiagResultIdentification> readMultilinkIdentification(
List<IMultilinkEcuHandle> ecuList,
boolean readExtendedIdent,
boolean readSubSystems)
throws DiagException;
5.5.1 DiagLibResultIdentifications
Beschreibung
499725995.doc Seite 40 von 101
Version 4.2.0 Stand: 05.11.2018 Status: in Arbeit
Abbildung der EXAM-IDL auf die Web-Service
Schnittstelle von ODIS-Engineering
5.5.2 EcuIdentificationItem
Beschreibung
Einzelergebnis der Multilink-Identifikation für ein einzelnes Steuergerät.
Verweis IDL
Plateau#EcuIdentificationItem
Java-Signatur
public final class EcuIdentificationItem
{
public DiagLibEcuBase sEcuBase = null;
public DiagLibResultIdentification sIdentification = null;
}
Attribute
sEcuBase Identifiziert das Steuergerät, von dem diese
Identifikationsdaten stammen.
sIdentification Die Identifikationsdaten, s. Kap. 5.2
6. Ereignisspeicher
6.1 readFaultMemory
Beschreibung
Lesen der Ereignisspeichereinträge
Verweis IDL
Plateau.DiagnosticsOperations#readFaultMemory()
Java-Signatur
DiagLibResultFaultMemory readFaultMemory() throws PluginBaseException
Rückgabe
DiagLibResultFaultMemo Struktur zur Rückgabe der Ereignisspeichereinträge
ry
Verweis Automatisierungsschnittstelle
IEventMemoryInterface#readEventMemory()
Java-Signatur
IDiagResultEventMemory readEventMemory() throws DiagException;
6.1.1 DiagLibResultFaultMemory
Beschreibung
Verweis IDL
Plateau# DiagLibResultFaultMemory
Java-Signatur
public final class DiagLibResultFaultMemory
{
public exam.Plateau.DiagLibResultBase sErrorMessage;
public exam.Plateau.FaultMemoryElementList sAllFaultMemoryElements[]
}
Attribute
sErrorMessage Feld für Fehlermeldung.
499725995.doc Seite 42 von 101
Version 4.2.0 Stand: 05.11.2018 Status: in Arbeit
Abbildung der EXAM-IDL auf die Web-Service
Schnittstelle von ODIS-Engineering
Verweis Automatisierungsschnittstelle
vehiclefunction.automation.types.IDiagResultEventMemory
Java-Signatur
public interface IDiagResultEventMemory{
public int getEcuId();
public String getErrorMessage();
public List<IDiagResultEventMemoryEntry> getEventMemoryEntries();
}
6.1.2 FaultMemoryElementList
Beschreibung
Verweis IDL
Plateau#FaultMemoryElementList
Java-Signatur
public final class FaultMemoryElementList{
public exam.Plateau.FaultMemoryElement sAllFaultMemoryElements[];
public exam.Plateau.StdValue sAllStdValues[];
public exam.Plateau.StdValue sAllMeasuredValues[];
public exam.Plateau.Dtc sAllDtcs[];
}
Attribute
sAllFaultMemoryElements[ Beschreibung des Ereignisspeichereintrags.
]
sAllStdValues[] Liste der Standardumgebungsbedingungen
sAllMeasuredValues[] Liste der Messwertumgebungsbedingungen
sAllDtcs[] Status Record Byte
Verweis Automatisierungsschnittstelle
IDiagResultEventMemoryEntry
Java-Signatur
public interface IDiagResultEventMemoryEntry{
public List<IDiagResultDtcState> getDtcStates();
public IDiagResultEnvironmentData getEnvironmentData();
public List<IDiagResultValue> getEventInfo();
public String getDevMemorySelection();
}
6.1.3 FaultMemoryElement
Beschreibung
Struktur zur Rückgabe eines Ereignisspeichereintrags. Die Art der Information, die
zurück gegeben wird, wird durch das Attribut param bestimmt.
Verweis IDL
Plateau#FaultMemoryElement
Java-Signatur
public final class FaultMemoryElemen{
public String param;
public String value;
public String type;
public String reserved;
}
Attribute
param Attribut zur Festlegung der Beschreibungsart. Der
Wertebereich ist in Abschnitt 6.1.4 festgelegt.
value Wert des Ereignisspeichereintrags
type Datentyp des Wertes, siehe Abschnitt 2.5.1
reserved Status Record Byte
Verweis Automatisierungsschnittstelle
IDiagResultEventMemoryElement
Java-Signatur
IDiagResultEventMemoryElement extends IDiagResultValue{
public DiagResultEventMemoryElementType getEventType();
}
Enum DiagResultEventMemoryElementType{
499725995.doc Seite 44 von 101
Version 4.2.0 Stand: 05.11.2018 Status: in Arbeit
Abbildung der EXAM-IDL auf die Web-Service
Schnittstelle von ODIS-Engineering
ERROR_CODE,
ERROR_TYPE_1,
ERROR_TYPE_2,
PCODE
}
getEventType == ERROR_CODE
=> param = “diagnosticTroubleCodeHex”
asHex(eme.getValue) => FaultMemoryElemen.value
=> FaultMemoryElemen.type = “hex”
=> param =
“diagnosticTroubleCodeTranslated”
eventInfo.getTranslatedValu => FaulMemoryElement.value
e
=> FaultMemoryElement.type = “string”
getEventType ==
ERROR_TYPE_1
=> param = “diagnosticTroubleCodeType”
EventInfo.getValue => FaulMemoryElement.value
=> FaultMemoryElement.type = “int”
=> param =
“diagnosticTroubleCodeTypeTranslated”
EventInfo.getTranslatedValu => value
e
=> type = “string”
getEventType ==
ERROR_TYPE_2
=> param =
“diagnosticTroubleCodeTypeState”
EventInfo.getValue => value
=> type = “int”
=> param =
“diagnosticTroubleCodeTypeStateTransla
ted”
EventInfo.getTranslatedValu => value
499725995.doc Seite 45 von 101
Version 4.2.0 Stand: 05.11.2018 Status: in Arbeit
Abbildung der EXAM-IDL auf die Web-Service
Schnittstelle von ODIS-Engineering
e
=> type = “string”
getEventType == PCODE
=> param = “displayTroubleCode”
eventInfo.getValue => value
=> type = ”string”
Beschreibung
Verwendete Werte für das Attribut FaultMemoryElement.param zur Typisierung einer
Ereignisspeicherinformation. Es werden die Werte aus DEXAM verwenden.
Information
Beschreibung
Verwendete Werte für das Attribut StdValue.param zur Typisierung einer
Standardumgebungsbedingung. Es werden die Werte aus DEXAM verwenden.
Information
'Param_DTCPrior' Priorität (Datentype: “int“)
'Param_KmMilea' Kilometerstand (Datentype: “int“)
'Param_OccurCount' Fehlerhäufigkeitszähler (Datentype: “int“)
'Param_CentrAgingCount' Verlernzähler / Fahrzyklus (Datentype: “int“)
'Param_Year’ Jahr (Datentype: “int“)
'Param_Month' Monat (Datentype: “int“)
’Param_Day' Tag (Datentype: “int“)
’Param_Hour' Stunden (Datentype: “int“)
’Param_Minut’ Minuten (Datentype: “int“)
’Param_Secon’ Sekunden (Datentype: “int“)
6.1.6 Dtc
Beschreibung
Struktur zur Rückgabe des Statusbytes.
Verweis IDL
Plateau#Dtc
Java-Signatur
public final class Dtc{
String bitNumber;
String bitValue;
String bitText;
String reserved;
;}
Attribute
bitNumber diagnosticTroubleCodeTypeState.
.
.
diagnosticWarningLamp
Siehe 2.6.2 EXAM-Namen für Ereignisspeicher
bitValue Übersetzter Wert des DtcStatus Bits aus
der ODIS GUI Anzeige. Dieser wird falls
vorhanden durch die Mapping-Datei
geändert.
bitText EMPTY_STRING
reserved EMPTY_STRING
6.2 readListOfActiveFaultEntries
Beschreibung
Lesen der aktiven Ereignisspeichereinträge
Verweis IDL
Plateau.DiagnosticsOperations#readListOfActiveFaultEntries()
Java-Signatur
DiagLibResultFaultMemory readListOfActiveFaultEntries() throws
PluginBaseException;
Rückgabe
DiagLibResultFaultMemo Struktur zur Rückgabe der Ereignisspeichereinträge.
ry Exception im Falle eines Aufrufes mit KWP Steuergerät.
Verweis Automatisierungsschnittstelle
IEventMemoryInterface # readListOfActiveFaultEntries()
Java-Signatur
IDiagResultEventMemory readListOfActiveFaultEntries () throws
DiagException;
6.3 readListOfUncheckedFaultPaths
Beschreibung
Lesen ungeprüfter Ereignisspeichereinträge.
Verweis IDL
Plateau.DiagnosticsOperations#readListOfUncheckedFaultPaths()
Java-Signatur
DiagLibResultFaultMemory readListOfUncheckedFaultPaths() throws
PluginBaseException;
Rückgabe
DiagLibResultFaultMemo Struktur zur Rückgabe der Ereignisspeichereinträge.
ry Exception im Falle eines Aufrufes mit KWP Steuergerät.
Verweis Automatisierungsschnittstelle
IEventMemoryInterface#readListOfUncheckedFaultPaths()
Java-Signatur
IDiagResultEventMemory readListOfUncheckedFaultPaths() throws
DiagException;
6.4 resetFaultMemory
Beschreibung
Verweis Automatisierungsschnittstelle
IEventMemoryInterface#resetEventMemory ()
Java-Signatur
void resetEventMemory() throws DiagException;
6.5 readFaultMemoryWithoutEnvironmentData
Beschreibung
Lesen der Ereignisspeichereinträge ohne Rückgabe der Umgebungsbedingungen
Verweis IDL
Plateau.DiagnosticsOperations#readFaultMemoryWithoutEnvironmentData()
Java-Signatur
DiagLibResultFaultMemory readFaultMemoryWithoutEnvironmentData() throws
PluginBaseException;
Rückgabe
DiagLibResultFaultMemo Struktur zur Rückgabe der Ereignisspeichereinträge
ry
Verweis Automatisierungsschnittstelle
IEventMemoryInterface#readEventMemory()
Java-Signatur
IDiagResultEventMemory readEventMemory() throws DiagException;
6.6 readFaultMemoryMultilink
Beschreibung
Lesen der Ereignisspeicher der angeforderten Steuergeräte.
Verweis IDL
Plateau.DiagnosticsOperations#readFaultMemoryMultilink()
499725995.doc Seite 50 von 101
Version 4.2.0 Stand: 05.11.2018 Status: in Arbeit
Abbildung der EXAM-IDL auf die Web-Service
Schnittstelle von ODIS-Engineering
Java-Signatur
DiagLibResultFaultMemories readFaultMemoryMultilink(
DiagLibEcuBase[] lEcuList)
throws PluginBaseException;
Parameter
lEcuList Liste der Steuergeräte, für die die Ereignisspeicher gelesen
werden soll. s. Kap. 2.7.2.
Rückgabe
DiagLibResultFaultMemories Struktur zur Rückgabe der Ereignisspeicher
mehrerer Steuergeräte, s. Kap. 6.6.1
Verweis Automatisierungsschnittstelle
IEventMemoryCompleteInterface#readMultilinkEventMemory
Java-Signatur
List<IDiagResultEventMemory> readMultilinkEventMemory(
List<IMultilinkEcuHandle> ecuList)
throws DiagException;
6.6.1 DiagLibResultFaultMemories
Beschreibung
Ergebnisstruktur des Lesens der Ereignisspeicher via Multilink.
Verweis IDL
Plateau#DiagLibResultFaultMemories
Java-Signatur
public final class DiagLibResultFaultMemories
{
public DiagLibResultBase sErrorMessage;
public EcuFaultMemoriesItem sEcuFaultMemories[];
}
Attribute
sErrorMessage Feld für Fehlermeldung (Steuergeräte-übergreifend).
sEcuFaultMemories[] Liste der Ereignisspeicher. Enthält einen Eintrag für
jedes angeforderte Steuergerät.
6.6.2 EcuFaultMemoriesItem
Beschreibung
Einzelergebnis des Multilink-Lesens der Ereignisspeicher für ein einzelnes Steuergerät.
Verweis IDL
Plateau#EcuFaultMemoriesItem
Java-Signatur
public final class EcuFaultMemoriesItem
{
public DiagLibEcuBase sEcuBase;
public DiagLibResultFaultMemory sFaultMemory;
}
Attribute
sEcuBase Identifiziert das Steuergerät, von dem diese
Ereignisspeicherdaten stammen.
sFaultMemory Die Ereignisspeicherdaten, s. Kap. 6.1.1
6.7 resetFaultMemoryMultilink
Beschreibung
Löschen der Ereignisspeichereinträge mehrerer Steuergeräte
Verweis IDL
Plateau.DiagnosticsOperations#resetFaultMemoryMultilink()
Java-Signatur
DiagLibEcuResults resetFaultMemoryMultilink(
DiagLibEcuBase[] lEcuList,
boolean bClearObdEcus)
throws PluginBaseException;
Parameter
lEcuList Liste der Steuergeräte, für die die Ereignisspeicher gelöscht
werden sollen. s. Kap. 2.7.2.
bClearObdEcus Wenn true, werden zusätzlich zu den genannten
Steuergeräten die Ereignisspeicher der OBD-Steuergeräte
mit einem funktionalen Aufruf gelöscht.
Rückgabe
DiagLibEcuResults Struktur zur Rückgabe einfacher Ergebnisse für Multilink-
Aufrufe, s. Kap. 2.7.4.
Verweis Automatisierungsschnittstelle
IEventMemoryCompleteInterface#resetMultilinkEventMemory()
Java-Signatur
List<IDiagResultMulti> resetMultilinkEventMemory(
List<IMultilinkEcuHandle> ecuList,
boolean clearOBD)
throws DiagException;
7. Messwerte
7.1 readMeasuredValue(String, String)
Beschreibung
Auslesen eines Messwertes.
Verweis IDL
Plateau.DiagnosticsOperations#readMeasuredValue()
Java-Signatur
DiagLibResultMeasuredValue readMeasuredValue (String sMeasurement,
String sParam) throws PluginBaseException;
Parameter
sMeasureme ODX-ShortName der Messwertgruppe bei UDS Steuergeräten.
nt Bei KWP Steuergeräten wird der auszulesende Messwertblock als
Dezimalwert angegeben, z.B. 80.
Rückgabe
DiagLibResultMeasuredVal Struktur zur Rückgabe der Messwerte
ue
Verweis Automatisierungsschnittstelle
ImeasurementInterface#readMeasurement
Java-Signatur
IDiagResultMeasurement readMeasurement
(String measurementGroup,String measurementParam) throws DiagException
Abbildung der Eingaben IDL -> Automatisierung
Der Parameter sMeasurement wird auf den Parameter measurementGroup abgebildet.
Für UDS-Messwerte wird der Parameter sParam auf measurementParam abgebildet
Für KWP-Steuergeräte wird sParam nicht weitergereicht. Falls dieser Parameter mit einem
Wert belegt ist wird eine PluginBaseException geworfen.
7.2 DiagLibResultMeasuredValue
Beschreibung
Struktur zur Rückgabe eines Messwertes-
Verweis IDL
Plateau#DiagLibResultMeasuredValue
Java-Signatur
public final class DiagLibResultMeasuredValue
{
public exam.Plateau.DiagLibResultBase sErrorMessage;
public exam.Plateau.StdValue sAllMeasuredValues[];
}
Attribute
sErrorMessage Attribut für Fehlermeldungen, siehe Abschnitt 1.3
sAllMeasuredValues Liste der Messwerte
Verweis Automatisierungsschnittstelle
IMeasurandInterface#readMeasuredValue()
Java-Signatur
List<IDiagResultValue> readMeasuredValue(String measurementGroup, String
measurementParam) throws DiagException;
7.3 readMeasuredValueMultilink
Beschreibung
Lesen von Messwerten der angeforderten Steuergeräte.
Verweis IDL
Plateau.DiagnosticsOperations#readMeasuredValueMultilink()
Java-Signatur
DiagLibResultFuncValues readMeasuredValueMultilink (
DiagLibEcuFuncParamNamesItem[] sMeasurementEcuParamNamesList)
throws exam.Plateau.PluginBaseException;
Parameter
sMeasurementEcuParamNamesList Liste der Steuergeräte mit den Messwerten, die
gelesen werden sollen. s. Kap.10.5.1.
Rückgabe
DiagLibResultFuncValues Struktur zur Rückgabe der Messwerte mehrerer
Steuergeräte. s. Kap. 10.5.2.
Verweis Automatisierungsschnittstelle
IMeasurementInterface#readMultilinkMeasurement
Java-Signatur
List<IDiagResultMeasurement> readMultilinkMeasurement(
List<IDiagMultiMeasurementDescriptor> measurementDescriptors)
throws DiagException;
8. Codierung
8.1 readCodingECU
Beschreibung
Lesen der Codierung.
Verweis IDL
Plateau#readCodingECU
Java-Signatur
DiagLibResultPlain readCodingECU(String sSubSystem, String sParam)
throws PluginBaseException
Parameter
sSubSystem Subsystem-Name. Für Mastersteuergeräte MASTER_ECU,
unabhängig, ob UDS oder KWP. Für das Mastersteuergerät
kann bei UDS auch der ODX-ShortName genutzt werden. Für
Subsysteme UDS der ODX-ShortName, für KWP „subSysXY“,
wobei XY für die Nummer des Subsystems steht, beginnend bei
0. Beispiel „subSys0“.
Wird EMPTY_STRING übergeben, so wird dies intern so wie
MASTER_ECU behandelt.
sParam Im Falle eines UDS-Steuergerätes der ODX-ShortName, für den
die Codierung gelesen wird. Für KWP EMPTY_STRING. Falls
für UDS die Binärcodierung gelesen werden soll, wird der Wert
ebenfalls mit EMPTY_STRING gesetzt.
Rückgabe
DiagLibResultPlain Gelesene Codierung, zur Beschreibung der Attribute siehe 2.5.2
Verweis Automatisierungsschnittstelle
ICodingInterface#readCoding()
Java-Signatur
List<IDiagResultCoding> readCoding() throws DiagException
Wenn kein Subsystem angegeben ist wird das IDiagResultCoding für das
Mastersteuergerätes zurück gegeben.
IDiagResultCoding.getSystemName() == MASTER_ECU.
sonst
IDiagResultCoding.getTextCoding()
.get(sParam)
IDiagResultCoding.getByteCodingTy => DiagLibResultPlain.type
pe()
EMPTY_STRING => DiagLibResultPlain.reserved
EMPTY_LIBRESULTBASE => DiagLibResultPlain.sErrorMessage
8.1.1 Beispiele
Lesen der Kodierung ohne Parameter (UDS)
Durch Aufruf der Funktion ohne Parameter wird die Binärkodierung des Mastersteuergerätes
ausgelesen
Aktion
readCodingECU(EMPTY_STRING, EMPTY_STRING)
Rückgabe
public final class DiagLibResultPlain{
public String value = „00 01 02 03 04“;
public String type = TYPE_BYTEFIELD;
public String reserved = EMPTY_STRING;
public DiagLibResultBase sErrorMessage = EMPTY_LIBRESULTBASE;
}
Lesen der kurzen Kodierung ohne Parameter (KWP)
Durch Aufruf der Funktion ohne Parameter wird die Binärkodierung des Mastersteuergerätes
ausgelesen
Aktion
readCodingECU(EMPTY_STRING, EMPTY_STRING)
Rückgabe
public final class DiagLibResultPlain{
public String value = „01 77 FC“ Immer als Bytearray zurückliefern
public String type= TYPE_BYTEFIELD;
public String reserved = EMPTY_STRING;
public DiagLibResultBase sErrorMessage = EMPTY_LIBRESULTBASE;
}
8.2 writeCodingECU
Beschreibung
Schreiben der Codierung.
Verweis IDL
Plateau#writeCodingECU
Java-Signatur
DiagLibResultBase writeCodingECU (String sCode, String sSubSystem,
String sParam) throws PluginBaseException;
Parameter
sCode Neuer Wert, der codiert werden soll. Für die kurze Codierung der KWP
499725995.doc Seite 57 von 101
Version 4.2.0 Stand: 05.11.2018 Status: in Arbeit
Abbildung der EXAM-IDL auf die Web-Service
Schnittstelle von ODIS-Engineering
Steuergeräte wird der Wert als TYPE_INT erwartet. Für die lange
Codierung KWP und binärcodierung UDS als TYPE_BYTEFIELD und für
die Klartextcodierung als TYPE_STRING.
sSubSyste Steuergerätemaster oder Subteilnehmer. Wird kein Subsystem angegeben
m (EMPTY_STRING) wird das Mastersteuergerät (MASTER_ECU) kodiert.
Ansonsten wird bei MASTER_ECU das Mastersteuergerät codiert (UDS
und KWP). Subsysteme werden bei KWP mittels „subSysXY“
angesprochen, wobei XY die Nummer des Subsystems, beginnend bei 0,
ist. Für UDS werden für Subsysteme die ODX- ShortNames verwendet.
Der ODX-ShortName kann bei UDS auch für den Master genutzt werden.
sParam ODX-Shortname des Codierparameters (UDS), für KWP-Steuergeräte
EMPTY_STRING
Rückgabe
DiagLibResultBase Fehlermeldungen siehe Abschnitt 1.3
Verweis Automatisierungsschnittstelle
ICodingInterface#writeByteCoding()
ICodingInterface#writeTextCoding()
Java-Signatur
void writeByteCoding(String systemName, String codingValues) throws
DiagException;
8.3 readCodingGateway
Beschreibung
Liest für KWP die Gatewayverbauliste in hexadezimaler Form aus. Für UDS-Steuergeräte wird
eine PluginBaseException geworfen.
Eigentlich sollte hier für UDS-Steuergeräte eine PluginBaseException geworfen werden =>
Change Request an EXAM Change Control Board.
Verweis IDL
Plateau#readCodingGateway
Java-Signatur
DiagLibResultPlain readCodingGateway() throws PluginBaseException;
Rückgabe
DiagLibResultPlain Gatewayverbauliste hexadezimal (EDIABAS)
Web-Service-Signatur
<message name="readGatewayComponentList">
<part name="parameters" element="tns:readGatewayComponentList" />
</message>
Abbildung der Ausgaben Web-Service -> IDL
Konvertiertes DiagLibResultPlain.value
diagResultComponentListImpl.byteCodin
g in einen String
TYPE_BYTEFIELD DiagLibResultPlain.type
EMPTY_STRING DiagLibResultPlain.reserved
EMPTY_LIBRESULTBASE DiagLibResultPlain.sErrorMe
ssage
8.4 writeCodingGateway
Beschreibung
Schreibt für KWP die Gatewayverbauliste in hexadezimaler Form aus. Für UDS-Steuergeräte
wird eine PluginBaseException geworfen.
Eigentlich sollte hier für UDS-Steuergeräte eine PluginBaseException geworfen werden =>
Change Request an EXAM Change Control Board.
Verweis IDL
Plateau# writeCodingGateway
Java-Signatur
DiagLibResultBase writeCodingGateway (String sCode) throws
PluginBaseException;
Parameter
sCode Neuer Wert der codiert werden soll
Rückgabe
DiagLibResultBase Siehe 1.3 Behandlung von Exceptions
Web-Service-Signatur
8.5 readGatewayEquipmentList
Beschreibung
Lesen der Gatewayverbauliste in textueller Form.
Verweis IDL
Plateau# readGatewayEquipmentList
Java-Signatur
DiagLibResultStdValueSeq readGatewayEquipmentList () throws
PluginBaseException;
Rückgabe
DiagLibResultStdValueSeq Liste der Steuergeräte, die im der Gatewayverbauliste
codiert sind.
Verweis Automatisierungsschnittstelle
IGatewayCodingInterface#readGatewayComponentList
Java-Signatur
public IDiagResultComponentList readGatewayComponentList() throws
DiagException;
8.5.1 StdValue
Beschreibung
Abbildung eines IDiagResultComponentListEntry auf einen StdValue.
Verweis
Zur Beschreibung der StdValue Struktur siehe Abschnitt 2.5.3
Verweis Automatisierungsschnittstelle
499725995.doc Seite 60 von 101
Version 4.2.0 Stand: 05.11.2018 Status: in Arbeit
Abbildung der EXAM-IDL auf die Web-Service
Schnittstelle von ODIS-Engineering
vehiclefunction.automation.types#IDiagResultComponentListEntry
Java-Signatur
public interface IDiagResultComponentListEntry{
public int getEcuId();
public getEcuIdInformation();
public long getNodeId();
public boolean isNodeIdAvailable();
public IDiagResultValue getNodeIdInformation();
public int getListPosition();
public boolean isCoded();
public IDiagResultValue getCodedState();
public IDiagResultValue getPresentState();
public IDiagResultValue getSleepBit();
public IDiagResultValue getDtcInfo();
public List<IDiagResultValue> getProtocolInformation();
public IDiagResultValue getTPIdentifier();
public IDiagResultValue getBusIdentifier();
public IDiagResultValue getEntryType();
}
8.5.2 Beispiele
Lesen der Busmasterkodierung (UDS und KWP)
Erfolgreiches Auslesen der Verbauliste. Annahme es sind nur die Steuergeräte
Gateway, Motorelektronik und Schalttafeleinsatz verbaut.
Aktion
499725995.doc Seite 61 von 101
Version 4.2.0 Stand: 05.11.2018 Status: in Arbeit
Abbildung der EXAM-IDL auf die Web-Service
Schnittstelle von ODIS-Engineering
readGatewayEquipmentList
Rückgabe
public final class DiagLibResultStdValueSeq {
public DiagLibResultBase sErrorMessage = EMPTY_LIBRESULTBASE;
public DiagLibResultStdValueSeq sAllStdValues [3];
}
sAllStdValues[0] =
public final class StdValue {
public String param = EMPTY_STRING;
public String value = “19”;
public String unit = EMPTY_STRING;
public String text = “Diagnoseinterface für Datenbus”
public String type = TYPE_STRING;
public String number = EMPTY_STRING;
public String reserved = “BUSMASTER_COMPONENT_ENTRY”;
public String tableKey = EMPTY_STRING;
public String tableKeyText = EMPTY_STRING;
public String errorMessage = EMPTY_STRING;
}
sAllStdValues[1] =
public final class StdValue {
public String param = EMPTY_STRING;
public String value = “01”
public String unit = EMPTY_STRING;
public String text = “Motorelektronik”
public String type = TYPE_STRING;
public String number = EMPTY_STRING;
public String reserved =“BUSMASTER_COMPONENT_ENTRY”;
public String tableKey = EMPTY_STRING;
public String tableKeyText = EMPTY_STRING;
public String errorMessage = EMPTY_STRING;
}
sAllStdValues[2] =
public final class StdValue {
public String param = EMPTY_STRING;
public String value = “17”
public String unit = EMPTY_STRING;
public String text = ”Schalttafeleinsatz”
public String type = TYPE_STRING;
public String number = EMPTY_STRING;
public String reserved = “BUSMASTER_COMPONENT_ENTRY”;
public String tableKey = EMPTY_STRING;
public String tableKeyText = EMPTY_STRING;
public String errorMessage = EMPTY_STRING;
}
}
8.6 writeGatewayEquipmentList
Beschreibung
Schreiben der Verbauliste
Verweis IDL
Plateau#writeGatewayEquipmentList
Java-Signatur
DiagLibResultBase writeGatewayEquipmentList (DictionaryEntry[]
equipmentList) PluginBaseException;
Parameter
DictionaryEntry Liste von Steuergeräten, die kodiert oder nicht kodiert werden
[] sollen. Alle Steuergeräte, welche nicht in dieser Liste angegeben
werden, behalten ihre derzeitige Codierung innerhalb der
Gatewayverbauliste. Ein Eintrag enthält die folgenden Attribute:
DictionaryEntry {
public String key = Steuergeräteadresse in hex
(ohne 0x als Prefix)
public String value = Steuerung der Kodierung,
es sind die Werte VALUE_CODED und
VALUE_NOTCODEDVALUE_NOTCODED definiert.
}
Rückgabe
DiagLibResultBase Rückgabe von Fehlermeldungen.
Verweis Automatisierungsschnittstelle
IGatewayCodingInterface#writeGatewayComponentListUds
IGatewayCodingInterface#createComponentListEntry
Java-Signatur
public void writeGatewayComponentList(List<IDiagComponentListEntry>
componentList) throws DiagException;
ecuId = dictionaryeEntry[i].key
codedValue = dictionaryeEntry[i].value
codedState = false;
if (codedValue == VALUE_CODED){
codedState = true;
}
listEntry = createComponentListEntry(ecuId, codedState);
}
componentList.add( listEntry );
writeGatewayComponentList(componentList);
8.7 readCodingMultilink
Beschreibung
Lesen der Codierung der angeforderten Steuergeräte.
Verweis IDL
Plateau.DiagnosticsOperations#readCodingMultilink ()
Java-Signatur
DiagLibResultCodings readCodingMultilink (DiagLibEcuBase[] lEcuList)
throws PluginBaseException;
Parameter
lEcuList Liste der Steuergeräte, für die die Codierung gelesen
werden soll. s. Kap. 2.7.2.
Rückgabe
DiagLibResultCodings Struktur zur Rückgabe der Codierungsdaten
mehrerer Steuergeräte
Verweis Automatisierungsschnittstelle
ICodingInterface#readMultilinkCoding
Java-Signatur
List<IDiagResultCoding> readMultilinkCoding(
List<IMultilinkEcuHandle> ecuList,
boolean readSubSystems)
throws DiagException;
8.7.1 DiagLibResultCodings
Beschreibung
Ergebnisstruktur des Multilink-Lesens der Codierung.
Verweis IDL
Plateau#DiagLibResultCodings
Java-Signatur
public final class DiagLibResultCodings
{
public DiagLibResultBase sErrorMessage;
public DiagLibResultEcuCodingItem sEcuCodings[];
}
Attribute
sErrorMessage Feld für Fehlermeldung (Steuergeräte-übergreifend).
sEcuCodings[] Liste der Codierungsdaten. Enthält einen Eintrag für
jedes angeforderte Steuergerät.
8.7.2 DiagLibResultEcuCodingItem
Beschreibung
Einzelergebnis des Multilink-Lesens der Codierung für ein einzelnes Steuergerät.
Verweis IDL
Plateau#DiagLibResultEcuCodingItem
Java-Signatur
public final class DiagLibResultEcuCodingItem
{
public DiagLibResultBase sErrorMessage;
public DiagLibEcuBase sEcuBase;
8.7.3 DiagLibResultSystemCodingItem
Beschreibung
Einzelergebnis des Multilink-Lesens der Codierung für ein einzelnes Subsystem eines
Steuergeräts.
Verweis IDL
Plateau#DiagLibResultSystemCodingItem
Java-Signatur
public final class DiagLibResultSystemCodingItem
{
public DiagLibResultBase sErrorMessage;
public String sSystemName;
public DiagLibCodingType eCodingType;
public DiagLibParamValueItem sTextCodings[];
public String sByteCoding;
}
Attribute
sErrorMessage Feld für Fehlermeldung zu diesem Subsystem
sSystemName Identifiziert das Subsystem, von dem diese
Codierungsdaten stammen.
eCodingType Typ der Codierung, s. Kap. 8.8.3
sTextCodings Liste von Name/Wert-Paaren im Fall der
Klartextcodierung
sByteCoding Bytecoding-String im Fall der Bytecodierung
8.8 writeCodingMultilink
Beschreibung
Schreiben der Codierung der angeforderten Steuergeräte.
Verweis IDL
Plateau.DiagnosticsOperations#writeCodingMultilink()
Java-Signatur
DiagLibEcuFuncResults writeCodingMultilink (
DiagLibEcuCodingParamValuesItem[] sCodingEcuParamValuesList,
boolean bEcuReset
) throws PluginBaseException;
Parameter
sCodingEcuParamValuesList Liste der Steuergeräte mit den zu schreibenden
Codierwerten. s. Kap. 8.8.1..
bEcuReset Wenn true, wird nach dem Schreiben ein Reset des
Steuergeräts durchgeführt..
Rückgabe
DiagLibEcuResults Struktur zur Rückgabe einfacher Ergebnisse für
Multilink-Aufrufe, s. Kap. 2.7.4.
Verweis Web-Service Schnittstelle
writeMultilinkCoding
Web-Service-Signatur
<message name="writeMultilinkCoding">
<part name="parameters" element="tns:writeMultilinkCoding"/>
</message>
Verweis Automatisierungsschnittstelle
ICodingInterface#writeMultilinkCoding
Java-Signatur
List<IDiagResultMulti> writeMultilinkCoding(
List<IDiagMultiCodingValueDescriptor> codingValueDescriptors)
throws DiagException;
8.8.1 DiagLibEcuCodingParamValuesItem
Beschreibung
Eingabestruktur für das Multilink-Schreiben von Codierwerten. Beschreibt ein einzelnes
Steuergerät und die dafür zu schreibenden Codierwerte.
Verweis IDL
Plateau#DiagLibEcuCodingParamValuesItem
Java-Signatur
public final class DiagLibEcuCodingParamValuesItem
{
public DiagLibEcuBase sEcuBase;
public DiagLibCodingParamValuesItem sFuncs[];
}
Attribute
sEcuBase Angabe des Steuergeräts, s. Kap. 2.7.2.
sFuncs[] Liste der Codierungen für die einzelnen Subsysteme, s.
Kap. 8.8.2.
8.8.2 DiagLibCodingParamValuesItem
Beschreibung
Eingabestruktur für das Multilink-Schreiben von Codierwerten. Beschreibt ein einzelnes
Subsystem und die dafür zu schreibenden Codierwerte.
Verweis IDL
Plateau#DiagLibCodingParamValuesItem
Java-Signatur
8.8.3 DiagLibCodingType
Beschreibung
Enum-Typ zur Angabe des Codierwert-Typs.
Gültige Werte
CODINGTYPE_TEXT Klartextcodierung
CODINGTYPE_BYTE_STRING Bytecodierung, Wert ist als String zu behandeln
CODINGTYPE_BYTE_HEX Bytecodierung, Wert ist als Hex-String zu behandeln
CODINGTYPE_BYTE_FLOAT Bytecodierung, Wert ist als Float zu behandeln
CODINGTYPE_BYTE_INT Bytecodierung, Wert ist als Int zu behandeln
CODINGTYPE_BYTE_BYTEFIELD Bytecodierung, Wert ist als Bytefield zu behandeln
CODINGTYPE_BYTE_DATETIME Bytecodierung, Wert ist als DateTime zu behandeln
9. Stellglieddiagnose
9.1 actuatorDiagnosis
Beschreibung
Ausführen der sequentiellen Stellglieddiagnose für KWP.
Verweis IDL
Plateau#actuatorDiagnosis
Java-Signatur
DiagLibResultActuatorDiagnosis actuatorDiagnosis (String sType) throws
PluginBaseException;
Parameter
sType Gibt an, welche Aktion der Stellglieddiagnose durchgeführt werden soll.
Es sind folgende Werte definiert:
ACTION_START
ACTION_NEXT
ACTION_STOP
ACTION_CHECK
Rückgabe
DiagLibResultActuatorDiagnos Messwerte und Statusmeldung der
is Stellglieddiagnose. PluginBaseException falls
diese Operation für ein UDS-Steuergerät
aufgerufen wird.
Verweis Automatisierungsschnittstelle
IActuatorDiagnosticInterface#actuatorDiagnosticsInit
IActuatorDiagnosticInterface#actuatorDiagnosticsStart
IActuatorDiagnosticInterface#actuatorDiagnosticsStop
IActuatorDiagnosticInterface#actuatorDiagnosticsNext
IActuatorDiagnosticInterface#actuatorDiagnosticsCheck
Java-Signatur
Void
actuatorDiagnosticsInit(List<IDiagDescriptorWithParametersAndMeasurement
s> actuators, List<String> measuredValues) throws DiagException;
List<IDiagResultStatus> actuatorDiagnosticsStart(List<String> actuators)
throws DiagException;
List<IDiagResultStatus> actuatorDiagnosticsStop(List<String> actuators)
throws DiagException;
List<IDiagResultStatus> actuatorDiagnosticsNext() throws DiagException;
List<IDiagResultStatus> actuatorDiagnosticsCheck(List<String> actuators)
throws DiagException;
9.2 DiagLibResultActuatorDiagnosis
Beschreibung
Abbildung des Stellgliedteststatus.
Verweis IDL
Plateau#DiagLibResultActuatorDiagnosis
Java-Signatur
public final class DiagLibResultActuatorDiagnosis{
public exam.Plateau.DiagLibResultBase sErrorMessage
public exam.Plateau.StdValue sOneStdValue
public exam.Plateau.StdValue sAllMeasuredValues[]
}
Attribute
sErrorMessage Attribut zur Rückgabe von negativen Antworten vom Steuergerät
sOneStdValue Status des Stellgliedtests und aktuelles Stellglied
sAllMeasuredValu Liste der Messwerte
es
Die Attribute sOneStdValue ist abweichend zu Abschnitt 2.5.3 für die Stellglieddiagnose wie
folgt definiert.
param Nummer des aktuellen Stellgliedes (KWP), bzw. Shortname des
Stellgliedes (UDS)
value Aktueller Status (1 oder -1)
unit Wird nicht verwendet EMPTY_STRING
text Status des Stellgliedes als Text. Im Fall eines UDS-Steuergerätes der
ODX-ShortName vom Gesamtstatus.
type Datentyp des Wertes, für diesen Fall immer TYPE_INT
number Wird nicht verwendet EMPTY_STRING
reserved Wird nicht verwendet EMPTY_STRING
tableKey Wird nicht verwendet EMPTY_STRING
tableKeyTe Wird nicht verwendet EMPTY_STRING
xt
errorMessa Wird nicht verwendet EMPTY_STRING
ge
Verweis Automatisierungsschnittstelle
vehiclefunction.automation.types#IDiagResultStatus
Java-Signatur
public interface IDiagResultStatus{
public String getName();
public String getStatus();
public List<IDiagResultValue> getMeasuredValues();
}
Status Beschreibung
Der Stellgliedtest läuft, im Fahrzeugsystem
SGT_LAEUFT
wird das Stellglied angesteuert.
Der Stellgliedtest läuft und kann vom
Anwendungsprogramm nicht unterbrochen
SGT_LAEUFT_NICHTUNTERBRECHBA
werden. Das Fahrzeugsystem wechselt
R
automatisch in den nächsten Zustand des
StellgliedTestStatus.
Der letzte Stellgliedtest wurde vom
Fahrzeugsystem beendet. Das
SGT_LAEUFT_NICHT Fahrzeugsystem wartet auf den Start des
nächsten Stellgliedtests. Auftrag mit
Steuerung = "NAECHSTER".
Die Stellglieddiagnose wurde vom
SGT_ABBRUCH Anwendungsprogramm oder von
Fahrzeugsystem abgebrochen.
Die Stellglieddiagnose wurde vom
SGT_ENDE
Fahrzeugsystem beendet.
9.3 selectiveActuatorDiagnosis
Beschreibung
Ausführen der selektiven Stellglieddiagnose.
499725995.doc Seite 72 von 101
Version 4.2.0 Stand: 05.11.2018 Status: in Arbeit
Abbildung der EXAM-IDL auf die Web-Service
Schnittstelle von ODIS-Engineering
Verweis IDL
Plateau#selectiveActuatorDiagnosis
Java-Signatur
DiagLibResultActuatorDiagnosis selectiveActuatorDiagnosis (String sType,
String sActuatorCode, DictionaryEntry[] sRequestStartParam, String[]
sRequestMeasuredValueList) throws PluginBaseException;
Parameter
sType Gibt an, welche Aktion der Stellglieddiagnose
durchgeführt werden soll. Es sind folgende Werte
definiert:
ACTION_START
ACTION_NEXT
ACTION_STOP
ACTION_CHECK
sActuatorCode Stellgliedcode (KWP) oder Shortname bei UDS
sRequestStartParam Startparameter (UDS)
sRequestMeasuredValueLis Liste von Messwerten die ausgelesen werden (UDS)
t
Rückgabe
DiagLibResultActuatorDiagnos Messwerte und Statusmeldung der
is Stellgliediagnose
Verweis Automatisierungsschnittstelle
IActuatorDiagnosticInterface#actuatorDiagnosticsInit
IActuatorDiagnosticInterface#actuatorDiagnosticsStart
IActuatorDiagnosticInterface#actuatorDiagnosticsStop
IActuatorDiagnosticInterface#actuatorDiagnosticsNext
IActuatorDiagnosticInterface#actuatorDiagnosticsCheck
IActuatorDiagnosticInterface#createDiagActuator
Java-Signatur
Void
actuatorDiagnosticsInit( List<IDiagDescriptorWithParametersAndMeasuremen
ts> actuators, List<String> measuredValues) throws DiagException;
List<IDiagResultStatus> actuatorDiagnosticsStart(List<String> actuators)
throws DiagException;
List<IDiagResultStatus> actuatorDiagnosticsStop(List<String> actuators)
throws DiagException;
List<IDiagResultStatus> actuatorDiagnosticsNext() throws DiagException;
List<IDiagResultStatus> actuatorDiagnosticsCheck(List<String> actuators)
throws DiagException;
IDiagDescriptorWithParametersAndMeasurements createDiagActuator(String
actuatorName, Map<String, String> parameters, List<String>
measurementValues) throws DiagException;;
10. Anpassung
10.1 readConditioning
Beschreibung
Auslesen eine Anpasskanals
Verweis IDL
Plateau#readConditioning
Java-Signatur
DiagLibResultConditioning readConditioning (String sAdaptionFunction,
String sAdaptionParam) throws PluginBaseException;
Parameter
sAdaptionFunctio ODX-ShortName der Anpassgruppe (UDS) oder Nummer des
n Anpasskanals (KWP) mit Prefix „value“. value1-value255
sAdaptionParam ODX-ShortName des Anpassparameters (UDS), für KWP nicht
notwendig. Bleibt dieser Parameter für UDS-Steuergeräte leer, so
werden alle Anpasswerte unterhalb der jeweiligen Anpassgruppe
zurückgeliefert.
Rückgabe
DiagLibResultConditioning Der ausgelesene Anpasskanal
10.1.1 DiagLibResultConditioning
Beschreibung
Objekt zur Rückgabe von Anpasswerten
Verweis IDL
Plateau#DiagLibResultConditioning
Java-Signatur
public final class DiagLibResultConditioning
{
public exam.Plateau.DiagLibResultBase sErrorMessage
public exam.Plateau.ConditioningElement sAllConditioningElements[]
}
Attribute
sErrorMessage Fehlermeldung, siehe Abschnitt 1.3
sAllConditioningElements Liste von Anpasswerten
maxOccurs="unbounded" />
</xs:sequence>
Zur Konvertierung des
Listenelments siehe Abschnitt
10.1.2
10.1.2 ConditioningElement
Beschreibung
Objekt zur Rückgabe eines Anpasswertes
Verweis IDL
Plateau#ConditioningElement
Java-Signatur
public final class ConditioningElement{
public exam.Plateau.StdValue sOneStdValue
public exam.Plateau.StdValue sAllMeasuredValues[]
}
Attribute
sOneStdValue Gelesener Anpasswert.
sAllMeasuredValues[] Liste von Messwerten zum Anpasswert
10.1.3 Beispiele
Lesen aller Anpasswerte eines Anpasskanals (UDS)
Aufruf der Funktion ohne Filterung
Aktion
readConditioning(“ ”, EMPTY_STRING)
Rückgabe
public final class DiagLibResultConditioning
{
public DiagLibResultBase sErrorMessage = EMPTY_LIBRESULTBASE
public sAllConditioningElements[2];
}
sAllConditioningElements[0] =
public final class ConditioningElement{
public final class StdValue {
public String param;
public String value;
public String unit;
public String text;
public String type;
public String number;
public String reserved = “”;
public String tableKey;
public String tableKeyText;
public String errorMessage;
}
public sAllMeasuredValues[] = EMPTY_LIST
}
sAllConditioningElements[1] =
public final class ConditioningElement{
public final class StdValue {
public String param;
public String value;
public String unit;
public String text;
public String type;
public String number;
public String reserved = “”;
public String tableKey;
public String tableKeyText;
public String errorMessage;
}
public sAllMeasuredValues[] = EMPTY_LIST
}
Aktion
readConditioning( “value1”, EMPTY_STRING)
Rückgabe
public final class DiagLibResultConditioning
{
public DiagLibResultBase sErrorMessage = EMPTY_LIBRESULTBASE
public sAllConditioningElements[1];
}
sAllConditioningElements[0] =
public final class ConditioningElement{
public final class StdValue {
public String param = “value1”;
public String value;
public String unit;
public String text;
public String type;
public String number;
public String reserved = “”;
public String tableKey;
public String tableKeyText;
public String errorMessage;
}
public sAllMeasuredValues[] = EMPTY_LIST
}
10.2 writeConditioning
Beschreibung
Schreiben eines Anpasswertes (KWP) bzw. mehrerer im Falle UDS. Nach der Durchführung
wird nicht automatisch ein Steuergerätereset durchgeführt.
Verweis IDL
Plateau#writeConditioning
Java-Signatur
DiagLibResultBase writeConditioning (String sAdaptionGroup,
DictionaryEntry[] adaptionParams, String sType) throws
PluginBaseException;
Parameter
sAdaptionGroup ODX-ShortName der Anpassgruppe (UDS). Für KWP wird der
Anpasskanal 1-255 gesetzt.
adaptionParams Dictionary mit zu schreibenden Anpasswerten. Für UDS
Steuergeräte ist der key eines Eintrags mit dem ODX-ShortName
des Anpasswertes zu belegen, value enthält den zu
schreibenden Wert.
KWP: Genau ein Eintrag mit key, value. Der Schlüssel hat die
Nummer des Anpasskanals aus sAdaptionGroup im Bereich 1-
255. value enthält den zu schreibenden Wert.
sType Typ des zu schreibenden Anpasswertes im Falle der Langen
10.3 readLongConditioning
Beschreibung
Lesen der langen Anpassung, nur für KWP Steuergeräte relevant. Wird diese Operation für
UDS-Steuergeräte aufgerufen, so wird eine PluginBaseException geworfen.
Verweis IDL
Plateau#readLongConditioning
Java-Signatur
DiagLibResultConditioning readLongConditioning (String sAdaptionParam)
throws PluginBaseException;
Parameter
sAdaptionParam Nummer des Anpasskanals (KWP). Für KWP können die Werte
value1 bis value255 angegeben werden.
Rückgabe
DiagLibResultConditioning Ausgelesener Anpasskanal
10.4 writeLongConditioning
10.5 readAdaptionMultilink
Beschreibung
Lesen der Anpassung der angeforderten Steuergeräte.
Verweis IDL
Plateau.DiagnosticsOperations#readAdaptionMultilink()
Java-Signatur
DiagLibResultFuncValues readAdaptionMultilink (
DiagLibEcuFuncParamNamesItem[] sAdaptionEcuParamNamesList)
throws PluginBaseException;;
Parameter
sAdaptionEcuParamNamesList Liste der Steuergeräte mit den Anpassungsnamen,
die gelesen werden sollen. s. Kap.10.5.1.
Rückgabe
DiagLibResultFuncValues Struktur zur Rückgabe der Anpassungsdaten
mehrerer Steuergeräte
Verweis Automatisierungsschnittstelle
IAdaptationInterface#readMultilinkAdaptation
Java-Signatur
List<IDiagResultAdaptation> readMultilinkAdaptation(
List<IDiagMultiAdaptionDescriptor> adaptionDescriptors)
throws DiagException;
10.5.1 DiagLibEcuFuncParamNamesItem
Beschreibung
Eingabestruktur für das Multilink-Lesen von Messwerten oder Anpassung. Beschreibt
ein einzelnes Steuergerät und die dafür zu lesenden Messwert- bzw.
Anpassungsnamen.
Verweis IDL
Plateau# DiagLibEcuFuncParamNamesItem
Java-Signatur
public final class DiagLibEcuFuncParamNamesItem
{
public DiagLibEcuBase sEcuBase;
public String sFuncParamNames[];
}
Attribute
sEcuBase Angabe des Steuergeräts, s. Kap. 2.7.2.
sFuncParamNames[] Liste der Messwert- bzw. Anpassungsnamen.
10.5.2 DiagLibResultFuncValues
Beschreibung
Ergebnisstruktur des Multilink-Lesens von Messwerten bzw. Anpassung.
Verweis IDL
Plateau#DiagLibResultFuncValues
Java-Signatur
public final class DiagLibResultFuncValues
{
public exam.Plateau.DiagLibResultBase sErrorMessage;
public exam.Plateau.DiagLibResultEcuFuncValuesItem sEcuFuncValues[]; }
Attribute
sErrorMessage Feld für Fehlermeldung (Steuergeräte-übergreifend).
sEcuFuncValues[] Liste der Messwert- bzw. Anpassungsdaten. Enthält
einen Eintrag für jedes angeforderte Steuergerät.
10.5.3 DiagLibResultEcuFuncValuesItem
Beschreibung
Ergebnis des Multilink-Lesens von Messwerten bzw. Anpassung für ein einzelnes
Steuergerät.
Verweis IDL
Plateau#DiagLibResultEcuFuncValuesItem
Java-Signatur
public final class DiagLibResultEcuFuncValuesItem
{
public DiagLibEcuBase sEcuBase;
public DiagLibResultBase sErrorMessage;
public DiagLibResultFuncValuesItem sFuncs[];
}
Attribute
sErrorMessage Feld für Fehlermeldung zu diesem Steuergerät
sEcuBase Identifiziert das Steuergerät, von dem diese Messwerte
bzw. Anpassungsdaten stammen.
sFuncs Die angeforderten Messwerte bzw. Anpassungsdaten
des Steuergeräts.
10.5.4 DiagLibResultFuncValuesItem
Beschreibung
Einzelergebnis des Multilink-Lesens von Messwerten oder Anpassung eines
Steuergeräts. Enthält die Daten für eine einzelne Messwertegruppe bzw. einen
Anpassungsnamen.
Verweis IDL
Plateau#DiagLibResultFuncValuesItem
Java-Signatur
public final class DiagLibResultFuncValuesItem
{
public exam.Plateau.DiagLibResultBase sErrorMessage;
public String sFuncName;
public exam.Plateau.StdFuncValue sStdFuncValues[];
}
Attribute
sErrorMessage Feld für Fehlermeldung zu dieser Messwertegruppe bzw.
diesem Anpassungsnamen.
sFuncName Messwertegruppe bzw. Anpassungsname.
sStdFuncValues Messwerte bzw. Anpassungswerte.
10.5.5 StdFuncValue
Beschreibung
Erweiterte Fassung des Typs StdValue (s. Kap. 2.5.3) zur Abbildung eines
IDiagResultValues. Der StdFuncValue enthält neben allen Attributen des StdValue
zusätzlich noch ein Attribut paramOdxPath. Da die IDL keine Vererbungsmöglichkeit für
Strukturen unterstützt, wurde StdFuncValue als erweiterte Kopie von StdValue
implementiert.
Verweis IDL
Plateau#StdFuncValue
Java-Signatur
public final class StdFuncValue
{
public String paramOdxPath;
public String param;
public String value;
public String unit;
public String text;
public String type;
public String number;
public String reserved;
10.6 writeAdaptionMultilink
Beschreibung
Schreiben der Anpassung der angeforderten Steuergeräte.
Verweis IDL
Plateau.DiagnosticsOperations#writeAdaptionMultilink()
Java-Signatur
DiagLibEcuFuncResults writeAdaptionMultilink (
DiagLibEcuAdaptionParamValuesItem[] sAdaptionEcuParamValuesList)
throws PluginBaseException;
Parameter
sAdaptionEcuParamValuesList Liste der Steuergeräte mit den zu schreibenden
Anpasswerten. s. Kap.10.6.1.
Rückgabe
DiagLibEcuResults Struktur zur Rückgabe einfacher Ergebnisse für
Multilink-Aufrufe, s. Kap. 2.7.4.
Verweis Web-Service Schnittstelle
writeMultilinkAdaptation
Web-Service-Signatur
<message name="writeMultilinkAdaptation">
<part name="parameters" element="tns:writeMultilinkAdaptation"/>
</message>
Verweis Automatisierungsschnittstelle
IAdaptationInterface# writeMultilinkAdaptation
Java-Signatur
List<IDiagResultMulti> writeMultilinkAdaptation(
List<IDiagMultiAdaptionValueDescriptor> adaptationValueDescriptors)
throws DiagException;
10.6.1 DiagLibEcuAdaptionParamValuesItem
Beschreibung
Eingabestruktur für das Multilink-Schreiben von Anpassungen. Beschreibt ein einzelnes
Steuergerät und die dafür zu schreibenden Anpassungen.
Verweis IDL
Plateau#DiagLibEcuAdaptionParamValuesItem
Java-Signatur
public final class DiagLibEcuAdaptionParamValuesItem
{
public DiagLibEcuBase sEcuBase;
public DiagLibAdaptionParamValuesItem sFuncs[];
}
Attribute
sEcuBase Angabe des Steuergeräts, s. Kap. 2.7.2.
sFuncs[] Liste der Anpassungen für die einzelnen Subsysteme, s.
Kap.10.6.2.
10.6.2 DiagLibAdaptionParamValuesItem
Beschreibung
Eingabestruktur für das Multilink-Schreiben von Anpassungen. Beschreibt eine einzelne
Anpassung und die dafür zu schreibenden Anpasswerte.
Verweis IDL
Plateau#DiagLibCodingParamValuesItem
Java-Signatur
public final class DiagLibAdaptionParamValuesItem
{
public String sAdaptionName;
DiagLibParamValueItem sParamValues[];
}
Attribute
sAdaptionName Name der Anpassung
sParamValues[] Die Anpasswerte als Liste von Name/Wert-Paaren.
11. Grundeinstellung
11.1 basicSettings
Beschreibung
Durchführen der Grundeinstellung
Verweis IDL
Plateau#basicSettings
Java-Signatur
DiagLibResultBasicSettings basicSettings(String sType, String sParam,
DictionaryEntry[] sRequestStartParam, String[]
sRequestMeasuredValueList) throws PluginBaseException
Parameter
sType Gibt an, welche Aktion der Grundeinstellung
durchgeführt werden soll. Es sind folgende Werte
definiert:
ACTION_START
ACTION_STOP
ACTION_NEXT
ACTION_CHECK
sParam ODX-ShortName (UDS) oder Nummer (KWP) der
Grundeinstellung. Für KWP sind die Nummern 1 – 255
definiert. Der Parameter ist nur relevant, wenn
sType == ACTION_START.
sRequestStartParam Schlüssel / Wert Paare der Startparameter, nur bei UDS
relevant und nur wenn sType == ACTION_START.
sRequestMeasuredValueLis Liste der Messwerte, die in der Rückgabestruktur
t geliefert werden sollen. Nur für UDS relevant und nur
wenn sType == ACTION_START.
Rückgabe
DiagLibResultBasicSettin Status der Grundeinstellung und gelesene Messwerte
gs
DiagLibResultBasicSettin Status der Grundeinstellung und gelesene Messwerte
gs2
(Messwerte enthalten zusätzlich SG-Adresse u. ODX-
Pfad)
basicSettingNext
basicSettingStop
basicSettingCheck
basicSettingAbort
Web-Service-Signatur
<message name="basicSettingInit">
<part name="parameters" element="tns:basicSettingInit" />
</message>
<message name="basicSetting2Init">
<part name="parameters" element="tns:basicSettingInit" />
</message>
<message name="basicSettingStart">
<part name="parameters" element="tns:basicSettingStart" />
</message>
<message name="basicSettingNext">
<part name="parameters" element="tns:basicSettingNext" />
</message>
<message name="basicSettingStop">
<part name="parameters" element="tns:basicSettingStop" />
</message>
<message name="basicSettingCheck">
<part name="parameters" element="tns:basicSettingCheck" />
</message>
<message name="basicSettingAbort">
<part name="parameters" element="tns:basicSettingAbort" />
</message>
<xs:complexType name="basicSettingInit">
<xs:sequence>
<xs:element name="basicSettings"
type="tns:diagDescriptorWithParametersAndMeasureme
ntsImpl" maxOccurs="unbounded" />
<xs:element name="measurements" type="xs:string"
maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
diagDescriptorWithParametersAndMeasurementsImpl
wird gefüllt mit sParam, sRequestStartParam und
einer leeren Messwertliste.
UDS:
Die Liste enthält immer zwei Elemente. Das erste Element enthält den Gesamtstatus der
Grundeinstellung, sowie die Ergebnisse der Messwerte aus sRequestMeasuredValueList.
Das zweite Element bezieht sich auf sParam und liefert den Einzelstatus der Grundeinstellung.
KWP:
Die Liste enthält genau ein Element, welches auf ein DiagLibResultBasicSettings
abgebildet wird
Für UDS und KWP gelten unterschiedliche Abbildungsvorschriften bedingt durch die Anzahl
der Rückgabeelemente. In Abschnitt 11.2 ist die Abbildung auf das
DiagLibResultBasicSettings unter Berücksichtigung der Listenelemente beschrieben.
11.2 DiagLibResultBasicSettings
Beschreibung
Objekt zur Rückgabe von Status und Messwerten der Grundeinstellung
Verweis IDL
Plateau#DiagLibResultBasicSettings
Java-Signatur
public final class DiagLibResultBasicSettings{
public DiagLibResultBase sErrorMessage;
public StdValue sOneStdValue;
public StdValue sAllMeasuredValues[];
}
499725995.doc Seite 88 von 101
Version 4.2.0 Stand: 05.11.2018 Status: in Arbeit
Abbildung der EXAM-IDL auf die Web-Service
Schnittstelle von ODIS-Engineering
Attribute
sErrorMessage Rückgabe einer negativen Antwort vom Steuergerät
sOneStdValue Statuswert der Grundeinstellung
sAllMeasuredValues[] Liste von Messwerten zur Grundeinstellung
Abweichen zu Abschnitt 2.5.3 sind für das Attribut sOneStdValue folgende Felder definiert.
sOneStdValue.param ODX-ShortName (UDS) oder Nummer (KWP) der
Grundeinstellung 1-255 ohne Prefix.
sOneStdValue.value Aktueller (Gesamt-)Status der Grundeinstellung. Keine
Abbildung auf die Werte -1 / 1.
Im Fall eines UDS-Steuergerätes der ODX-ShortName
vom Gesamtstatus.
sOneStdValue.unit EMPTY_STRING
sOneStdValue.text Im Fall eines UDS-Steuergerätes der ODX-ShortName
vom Gesamtstatus, ansonsten leer.
sOneStdValue.type TYPE_STRING (wird aber nicht ausgewertet)
sOneStdValue.number EMPTY_STRING
sOneStdValue.reserved EMPTY_STRING
sOneStdValue.tableKey EMPTY_STRING Table key der Grundeinstellung
(UDS)
sOneStdValue.tableKeyTex EMPTY_STRING Übersetzung des Table keys (UDS)
t
sOneStdValue.errorMessag EMPTY_STRING
e
Verweis Automatisierungsschnittstelle
vehiclefunction.automation.types#IDiagResultStatus
Java-Signatur
public interface IDiagResultStatus{
public String getName();
public String getStatus();
public List<IDiagResultValue> getMeasuredValues();
}
EMPTY_STRING sOneStdValue.text
EMPTY_STRING sOneStdValue.type
IDiagResultStatus[0].getMeasur sAllMeasuredValues[]
edValues()
Zur Konvertierung siehe 2.5.3
Status Beschreibung
ECU_InGE Das Fahrzeugsystem befindet sich in der Grundeinstellung.
ECU_InGE_Weite Das Fahrzeugsystem befindet sich in der Grundeinstellung. Der Tester
r muss die Gruppennummer um eins erhöhen.
ECU_NichtInGE Das Fahrzeugsystem befindet sich nicht in der Grundeinstellung.
ECU_Abgebroche
Die Grundeinstellung wurde vom Fahrzeugsystem abgebrochen.
n
12. Hex-Service
12.1 sendRawService
Beschreibung
Sendet Rohdaten an das Steuergerät.
Verweis IDL
Plateau#sendRawService
Java-Signatur
DiagLibResultPlain sendRawService(String sServiceID, String
sRdIdentifier, String sValue) throws PluginBaseException
Parameter
sServiceID Service Id des Diagnosedienstes
sRdIdentifie Routine Identifier zu dem Service
r
sValue Zusätzlicher Hex-Wert, Parameter des Hex-Services
Rückgabe
DiagLibResultPla Rückgabe der Antwort, zum Aufbau siehe Abschnitt 2.5.2
in
</message>
13. Flashen
13.1 checkFlashProgramming
Beschreibung
Prüfung, ob der angegebene Flashcontainer flashbar ist.
Verweis IDL
Plateau#checkFlashProgramming
Java-Signatur
public DiagLibResultPlain checkFlashProgramming(final String sLabelPath,
final String sContainerPath, final String sSession) throws
PluginBaseException
Parameter
sLabelPath Wird nicht ausgewertet (VAS5163-spezifischer Parameter).
sContainerPat Voll qualifizierter Dateiname.
h
sSession KWP: EMPTY_STRING
UDS: ODX-ShortName der Flash-Session
<message name="checkFlashProgramming">
<part name="parameters" element="tns:checkFlashProgramming" />
</message>
13.2 flashProgramming
Beschreibung
Flashen eines Flashcontainers.
Verweis IDL
Plateau#flashProgramming
Java-Signatur
DiagLibResultBase flashProgramming(final String sLabelPath, final String
sContainerPath, final String sSession) throws PluginBaseException
Parameter
sLabelPath Wird nicht ausgewertet (VAS5163-spezifischer Parameter).
sContainerPa Voll qualifizierter Dateiname.
th
sSession KWP: EMPTY_STRING
UDS: ODX-ShortName der Session
Wird als Wert ein Leerstring angegeben, so wird dies so interpretiert als
wenn keine Session übergeben wurde.
Rückgabe
DiagLibResultBa Rückgabe von Fehlermeldungen siehe Abschnitt 1.3
se
</message>
14. Datensatz
14.1 dataSetDownload
Beschreibung
Die Methode schreibt einen Datensatz in Form einer XML-Datei oder Zip-Archives auf
das Steuergerät.
Verweis IDL
Plateau#dataSetDownload
Java-Signatur
DiagLibResultBase dataSetDownload(String sDataSetFile) throws
PluginBaseException
Parameter
sDataSetFile Absolute Pfadangabe zur XML-Datei
Rückgabe
DiagLibResultBa Rückgabe von Fehlermeldungen siehe Abschnitt 1.3
se
Dabei enthält DiagLibResultBase.errorMessage den evtl. aufgetretenen Fehler im
Format: <Error-ID> - <Fehlertext>
15. Transportmodus
15.1 enableTransportMode
Beschreibung
Die Methode aktiviert den Transportmodus.
Verweis IDL
Plateau#enableTransportMode
Java-Signatur
DiagLibResultBase enableTransportMode() throws PluginBaseException
Rückgabe
DiagLibResultBa Rückgabe von Fehlermeldungen siehe Abschnitt 1.3
se
15.2 disableTransportMode
Beschreibung
Die Methode deaktiviert den Transportmodus.
Verweis IDL
Plateau#disableTransportMode
Java-Signatur
DiagLibResultBase disableTransportMode() throws PluginBaseException
Rückgabe
DiagLibResultBas Rückgabe von Fehlermeldungen siehe Abschnitt 1.3
e
16. Versionen
16.1 getODXVersions
Beschreibung
Liefert eine Liste von verfügbaren Projekten mit zugehörigen Versions-Informationen
Verweis IDL
Plateau#getODXVersions
Java-Signatur
DiagLibResultStdValueSeq getODXVersions() throws PluginBaseException
Rückgabe
DiagLibResultStdValueS Liste der verfügbaren Projekte. Zur Beschreibung siehe
eq des Typs siehe Abschnitt 2.5.4
Abweichend zu Abschnitt 2.5.3 wird ein StdValue wie folgt befüllt:
param Name des Projektes
value Version des Projektes
unit EMPTY_STRING
text Datum des Projektes
type Hier immer TYPE_STRING
number EMPTY_STRING
reserved Zustand des Projektes z.B. RELEASE
tableKey EMPTY_STRING
tableKeyTe EMPTY_STRING
xt
errorMessa Fehlermeldung
ge
17. Zugriffsberechtigung
17.1 logInECU
Beschreibung
Führt Zugriffsberechtigung durch.
Verweis IDL
Plateau#logInECU
Java-Signatur
DiagLibResultBase logInECU(String sLoginCode, String sAccessMode) throws
PluginBaseException
Parameter
sLoginCode Integer Logincode als String
sAccessMode Zugriffsstufe. Folgende Werte sind definiert:
UDS: { „Login“, „System Specific“}
Für UDS-Steuergeräte wird der ODX-ShortName der jeweiligen
Zugriffsmethode verwendet:
{ DiagnServi_SecurAccesRequeSeedLogin,
DiagnServi_SecurAccesRequeSeedSysteSpeci }
KWP: { „automatic“, „level34“, „level56“, „coding2“ }
Rückgabe
DiagLibResultBas Siehe 1.3 Behandlung von Exceptions (z.B. bei ungültigem
e sAccessMode)
Verweis IDL
Plateau#eraseAllFaultMemories
Java-Signatur
DiagLibResultBase eraseAllFaultMemories() throws PluginBaseException
Rückgabe
DiagLibResultBa Siehe 1.3 Behandlung von Exceptions
se
18.2 interrogateAllFaultMemories
Beschreibung
Lesen aller Ereignisspeichereinträge
Verweis IDL
Plateau#interrogateAllFaultMemories
Java-Signatur
DiagLibResultAllFaultMemories interrogateAllFaultMemories() throws
PluginBaseException
Rückgabe
DiagLibResultAllFaultMemorie Siehe 18.3 DiagLibResultAllFaultMemories
s
18.3 DiagLibResultAllFaultMemories
Beschreibung
Ergebnisstruktur zum Lesen aller Ereignisspeichereinträge
Verweis IDL
Plateau#DiagLibResultAllFaultMemories
Java-Signatur
public final class DiagLibResultAllFaultMemories
{
public exam.Plateau.DiagLibResultBase sErrorMessage;
public exam.Plateau.CollectiveFaultMemoryItem sAllFaultMemories[];
}
Attribute
sErrorMessage Feld für Fehlermeldung.
sAllFaultMemories[] Liste der Ereignisspeichereinträge
18.4 CollectiveFaultMemoryItem
Beschreibung
Ergebnisstruktur für einen Ereignisspeichereintrag des Sammeldienstes
Verweis IDL
Plateau#CollectiveFaultMemoryItem
Java-Signatur
public final class CollectiveFaultMemoryItem
{
public String ecuId;
public String ecuName;
public String subSystem;
499725995.doc Seite 98 von 101
Version 4.2.0 Stand: 05.11.2018 Status: in Arbeit
Abbildung der EXAM-IDL auf die Web-Service
Schnittstelle von ODIS-Engineering
Web-Service-Signatur
<xs:complexType name="diagResultEventMemoryImpl">
<xs:sequence>
<xs:element name="ecuId" type="xs:int" />
<xs:element name="errorMessage" type="xs:string" />
<xs:element name="eventMemoryEntries"
type="tns:diagResultEventMemoryEntryImpl" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
18.5 eraseAllOBDFaultMemories
Beschreibung
Löschten aller OBD Ereignisspeichereinträge.
Verweis IDL
Plateau#eraseAllOBDFaultMemories
Java-Signatur
DiagLibResultBase eraseAllOBDFaultMemories () throws PluginBaseException
Rückgabe
DiagLibResultBa Siehe 1.3 Behandlung von Exceptions
se
19. switchSession
Beschreibung
Sitzungswechsel.
Verweis IDL
Plateau#switchSession
Java-Signatur
public DiagLibResultBase switchSession(String sDiagSession) throws
PluginBaseException
Parameter
sDiagSess In die zu wechselnde Session.
ion
Rückgabe
DiagLibResultBase Siehe 1.3 Behandlung von Exceptions
createReporting(String[], boolean)
sendCommand(Plateau.keyValue[])
Any getData () throws PluginBaseException
byte[] fetchFile (String sFileName) throws PluginBaseException
DiagLibResultStdValueSeq getSGBDVersions() throws PluginBaseException
DiagLibResultStdValueSeq callFunctionOnService(String sService, String
sFunction) throws PluginBaseException
DiagLibResultDataSetSeq getConfiguration() throws PluginBaseException
DiagLibResultStdValueSeq getEcusInVehicleProject(String
sVehicleProject) throws PluginBaseException
String[] getVehicleProjects() throws PluginBaseException
DiagLibResultDataSetSeq transparentService (String sDiagService,
String sDiagServiceParam) PluginBaseException
21. Vorlage
Beschreibung
Verweis IDL
Plateau#
Java-Signatur
Parameter
Param1
Rückgabe
void
Verweis Automatisierungsschnittstelle
IConnectionInterface#
Java-Signatur
void setVehicleProject(final String projectName) throws DiagException