Sie sind auf Seite 1von 24

EDIABAS — STEUERGERÄTE-SIMULATOR

EDIABAS
Elektronik Diagnose Basissystem

STEUERGERÄTE-SIMULATOR

VERSION 6a

Copyright BMW AG, created by Softing AG

SIMULATE.DOC
EDIABAS — STEUERGERÄTE-SIMULATOR

INHALT

INHALT ............................................................................................................2

1. Änderungshistorie .................................................................................4

2. Einführung ..............................................................................................5
2.1. Über diese Dokumentation......................................................5
2.2. Konventionen ..........................................................................5
2.3. Besonderheiten, Begriffe, Akronyme.......................................6

3. Allgemeines ............................................................................................7

4. Übersicht ................................................................................................8

5. Steuerung ...............................................................................................10
5.1. Die EDIABAS-Konfigurationen zur Simulation.........................10
5.2. Die Interface Simulationsdatei.................................................10
5.3. Die Steuergeräte Simulationsdatei ..........................................10

6. Fehlermeldungen ...................................................................................11

7. Syntax und Inhalt der Simulationsdateien. ..........................................12


7.1. Syntax .....................................................................................12
7.2. Die Funktionsblöcke ................................................................13
7.2.1. VERSION............................................................................14
7.2.2. POWERSUPPLY ................................................................14
7.2.3. IGNITION ............................................................................15
7.2.4. PORT ..................................................................................16
7.2.5. REQUEST...........................................................................16
7.2.6. RESPONSE ........................................................................16
7.2.7. LOOPTEST.........................................................................17
7.2.8. KEYBYTES .........................................................................17

8. Die Simulationsdateien..........................................................................18
8.1. Die Interface Simulationsdatei.................................................18

2
EDIABAS — STEUERGERÄTE-SIMULATOR

8.2. Die Steuergeräte Simulationsdatei ..........................................22

A. LITERATURVERZEICHNIS.....................................................................23

B. INDEX ......................................................................................................24

3
EDIABAS — STEUERGERÄTE-SIMULATOR

1. Änderungshistorie

Version 3.0 Ersterstellung


Version 3.0A Überarbeitung
Version 4.1 Überarbeitung für EDIABAS V4.1.0
Version 5 Überarbeitung für EDIABAS V5.1.0
Version 5a Erweitert für EDIABAS V5.5.0
Version 5b Erweitert für QNX
Version 6 EDIABAS V6.0.0
Version 6a Überarbeitung für EDIABAS V6.4.0

4
EDIABAS — STEUERGERÄTE-SIMULATOR

2. Einführung

2.1. Über diese Dokumentation

Diese Dokumentation beschreibt die Benutzung des im EDIABAS enthaltenen


Steuergerätesimulators. Allgemeines über EDIABAS und über
Steuergerätebeschreibungsdateien wird in [1] beschrieben.

2.2. Konventionen

Diese Dokumentation verwendet die folgenden typographischen Konventionen:

Beispiel Beschreibung
SAMPLE.B2V Großschrift kennzeichnet Dateinamen, Register und
Betriebssystemkommandos.
job, string, Fettschrift kennzeichnet Schlüsselwörter und
while Operatoren der Sprachen BEST/2 und BEST/1
sowie der API-Funktionen.
In Beschreibungen der Syntax müssen diese Wörter
wie angegeben geschrieben werden.
ausdruck Kursivschrift kennzeichnet Platzhalter für vom
Programmierer einzutragende Werte, wie z.B.
Dateinamen.
[option] Wörter in eckigen Klammern bedeuten optionale
Angaben.
{ result | Geschweifte Klammern und senkrechte Striche
argument } kennzeichnen Eingaben, von denen jeweils eine
gewählt werden muß, außer wenn sie in eckigen
Klammern steht.
[constant...] job... Drei Punkte, die direkt einem Ausdruck folgen,
kennzeichnen, daß mehrere Ausdrücke der selben
Form folgen können.
hallo="Test"; Diese Schriftart kennzeichnet Beispiele,
Benutzereingaben, Programmausgaben und
Fehlermeldungen.
while() { Eine Spalte oder eine Zeile aus drei Punkten
. kennzeichnet, daß ein Teil eines Beispiels
.} absichtlich weggelassen wurde.
[1] Verweis auf ein Dokument aus dem
Literaturverzeichnis.

5
EDIABAS — STEUERGERÄTE-SIMULATOR

2.3. Besonderheiten, Begriffe, Akronyme

Eine Erklärung der in dieser und allen anderen EDIABAS-Dokumentationen


verwendeten Abkürzungen finden Sie in der Dokumentation "EDIABAS
Benuterhandbuch" im Kapitel "GLOSSAR".

6
EDIABAS — STEUERGERÄTE-SIMULATOR

3. Allgemeines

Im EDIABAS kann das Antwortverhalten des Diagnosebus-Interface und der


Steuergeräte simuliert werden. Dieser Funktionsumfang wird Steuergeräte-Simulator
genannt. Der Simulator ist ein fester Bestandteil des EDIABAS. Aus der Sicht des
Benutzers und des Anwendungsprogramms verhält sich das EDIABAS im
Simulationsmodus genauso wie im normalen Modus. Die Steuerung des Simulators
erfolgt über Dateien, die sogenannten Simulationsdateien. Der Simulator ist ein
Hilfsmittel für die Entwicklung und den Test von Steuergerätebeschreibungsdateien
und Anwendungsprogrammen, da im Simulationsmode Jobs von
Steuergerätebeschreibungsdateien ohne reales Diagnosebus-Interface und
Steuergerät ausgeführt werden können.

7
EDIABAS — STEUERGERÄTE-SIMULATOR

4. Übersicht

Der Simulator steht für alle Betriebssystemumgebungen, für die EDIABAS


ausgeliefert wird, zur Verfügung. Dies sind zur Zeit:
MS-WINDOWS 95/98/ME/NT4/2000/XP (WIN32)
MS-WINDOWS 3.11/95/98/ME (WIN16)
SCO-UNIX
QNX

Der Simulator ist ein Teil des Interfacehandlers (IFH) und somit des EDIABAS. Der
Zugriff auf den Simulator erfolgt EDIABAS-intern über die allgemeine prozedurale
Schnittstelle zum IFH. Es gibt keine speziellen Zugriffsfunktionen für den Simulator,
die über den normalen Funktionsumfang der API-Schnittstelle hinausgehen, das
heißt es brauchen keine speziellen Anpassungen des Anwendungsprogramms
vorgenommen werden. Die Steuerung des Simulators geschieht über eine Reihe von
Simulationsdateien, die festlegen, wie der Simulator auf Anforderungen von Jobs an
das Diagnosebus-Interface oder Steuergeräten antworten soll.

Für die Simulation werden weder Gerätetreiber noch Diagnosebus-Interface und


Steuergerät benötigt.

8
EDIABAS — STEUERGERÄTE-SIMULATOR

EDIABAS

Schnittstelle zum Interfacehandler

Interfacehandler

Simulator

Gerätetreiber

Interface
Simulationsfile
Interface

Steuergeräte
Steuergerät Simulationsfile

9
EDIABAS — STEUERGERÄTE-SIMULATOR

5. Steuerung

Die Steuerung des Simulators erfolgt über drei verschieden Arten von
Simulationsdateien. Diese Dateien sind Textdateien und können somit mit jedem
Text-Editor editiert werden. Da die Simulationsdateien nach jedem Zugriff wieder
geschlossen werden, ist es möglich in der Entwicklungsumgebung unter Windows
eine Steuergerätebeschreibungsdatei zu debuggen und parallel dazu eine
Simulationsdatei zu editieren.

5.1. Die EDIABAS-Konfigurationen zur Simulation

Mit dem EDIABAS-Konfigurationselement Simulation wird der Simulator ein- und


ausgeschaltet:

Simulation = 0 (Simulation ist ausgeschaltet)


Simulation = 1 (Simulation ist eingeschaltet)

Der Pfad mit den Steuergeräte-Simulationsdateien wird mit dem EDIABAS-


Konfigurationselement SimulationPath bestimmt:

SimulationPath = <Verzeichnis>

Das zu simulierende Interface ist durch das Konfigurationselement Interface


festgelegt:

Interface = <Name des Hardwareinterfaces>

5.2. Die Interface Simulationsdatei

Für jedes von EDIABAS unterstützte Diagnosebus-Interface gibt es eine Interface


Simulationsdatei, mit der das Verhalten des Interfaces simuliert werden kann (siehe
Kapitel "Die Simulationsdateien/Die Interface Simulationsdatei").

5.3. Die Steuergeräte Simulationsdatei

Für jedes Steuergerät können vom Benutzer Steuergeräte Simulationsdateien


angelegt werden. Mit diesen Dateien kann das Antwortverhalten der Steuergeräte
simuliert (siehe Kapitel "Die Simulationsdateien/Die Steuergeräte Simulationsdatei")
werden.

10
EDIABAS — STEUERGERÄTE-SIMULATOR

6. Fehlermeldungen

Im Simulationsmodus haben eine Reihe von Fehlermeldungen eine andere Ursache


als im normalen Betrieb des EDIABAS. Dies sind die Fehlermeldungen:

IFH-0002: NO RESPONSE FROM INTERFACE

Diese Fehlermeldung wird ausgegeben, wenn beim Zugriff auf eine Interface
Simulationsdatei versucht wird auf Daten zuzugreifen, die nicht in der Datei stehen
(z.B. wenn ein bestimmtes Telegramm oder Label nicht gefunden wird).

IFH-0009: NO RESPONSE FROM CONTROLUNIT

Dieser Fehlermeldung wird ausgegeben, wenn beim Zugriff auf eine Steuergeräte
Simulationsdatei versucht wird auf Daten zuzugreifen, die nicht in der Datei stehen
(z.B. wenn ein bestimmtes Telegramm oder Label nicht gefunden wird).

IFH-0026: SIMULATION ERROR

Diese Fehlermeldung wird ausgegeben, wenn


die Interface-Simulationsdatei nicht gefunden wird,
die Steuergeräte-Simulationsdatei nicht gefunden wird,
die Simulationsdateien unter Unix nicht kleingeschrieben sind,
die Simulationsdatei nicht im richtigen Dateiformat vorliegt (z.B. CR-LF statt nur LF
am Zeilenende unter Unix),
beim Zugriff (z.B. Öffnen, Schließen, Lesen, Syntax) auf eine Simulationsdatei ein
Fehler auftritt,
ein bestimmter Block in einer Simulationsdatei nicht gefunden wird.
Im normalen Betrieb des EDIABAS tritt diese Fehlermeldung nicht auf.

11
EDIABAS — STEUERGERÄTE-SIMULATOR

7. Syntax und Inhalt der Simulationsdateien.

Jede Simulationsdatei besteht aus Funktionsblöcken, in denen mehrere Labels


(Textmarken) stehen können, und aus Kommentaren. Die Beschreibung der
Funktionsblöcke erfolgt im übernächsten Kapitel.
Jeder Funktionsblock beginnt mit einer Überschrift, die in eckigen Klammern stehen
muß und endet vor dem Beginn eines neuen Funktionsblocks oder mit dem
Dateiende. Zusammengehörende Daten (z.B. Anforderungstelegramme an ein
Steuergerät oder Antworttelegramme eines Steuergerätes) werden in jeweils einem
Funktionsblock zusammengefaßt.
Jedem Datum (z.B. ein Telegramm, eine Versionsnummer oder eine Spannung) wird
ein Label zugewiesen. Das Label stellt sozusagen den "Namen" des Datums dar.

;Dies ist ein Kommentar


;Funktionsblock:

[Funktionsblock]

Label1 = 10000 ;Kommentar zu Label1


Label2 = 00,01,02 ;Kommentar zu Label2

7.1. Syntax

Die Namen von Funktionsblocküberschriften und von Labels dürfen aus folgenden
Zeichen bestehen:

"A"-"Z", "a"-"z", "0"-"9" ,"_"

Alle Namen, sowohl der Name einer Blocküberschrift als auch der Name eines
Labels, können sowohl groß als auch klein geschrieben werden (z.B. "Version" oder
"version"). Ein Name darf maximal aus 63 Zeichen bestehen.

Jedem Label (außer im Block Response) muß eine Zuweisung folgen (z.B. UBatt =
13000).

Gültige Trennzeichen sind das Leerzeichen und das Tabulatorzeichen.

Binärdaten (Interfacetelegramme oder Steuergerätetelegramme) werden in


hexadezimaler Schreibweise geschrieben und werden durch Komma getrennt (z.B.
"01,02,0A,0a,FF"). Innerhalb des Binärdatenstrings darf kein Trennzeichen stehen.

12
EDIABAS — STEUERGERÄTE-SIMULATOR

Eine Ausnahme bilden die Zeichen "X" oder "x" (sowohl Groß- als auch
Kleinschreibweise ist erlaubt) und "_". Die Zeichen "X" oder "x" dürfen im Block
"REQUEST" stellvertretend für eine Zahl in einem Binärdatenstrings stehen. (z.B. 0X
für 00 bis 0F, XA für 0A bis FA und XX für 00 bis FF). In Blöcken die Daten vom
Interfacehandler zum Interface bzw. Steuergerät repräsentieren, können mittels
dieser 'X'-Zeichen Übereinstimmungen mit beliebigen Zeichen herbeigeführt werden.
Das Zeichen "_" steht für ein Telegramm mit der Länge Null.

Beispiel:

[REQUEST] ;Blockueberschrift

;Label mit Zuweisung eines Telegramms


id_lesen = 06,00,01,00,07,00
;Label mit Zuweisung eines Telegramms
ram_lesen = 06,00,01,XX,XX,XX
; es wird auf alle Telegramme die mit
; 06,00,01 beginnen und 6 Zeichen lang sind
; geantwortet.
;Fuer Telegramm der Laenge 0
empty = _
;Label mit Zuweisung einer Spannung (in mV))
spannung = 12000

Kommentare beginnen mit einem Semikolon (";"). Danach gehören alle Zeichen bis
zum Zeilenende zum Kommentar. Im Kommentar sind alle Zeichen erlaubt.

Beispiel:

;ganzzeiliger Kommentar
[BLOCK] ;Kommentar nach einer Blockueberschrift
Label = 1234 ;Kommentar nach einer Zuweisung

7.2. Die Funktionsblöcke

Der Name einer Funktionsblocküberschrift steht in eckigen Klammern. Innerhalb der


Klammern dürfen keine Trennzeichen stehen. Die Reihenfolge der Blöcke innerhalb
der Simulationsdatei ist beliebig. Welche Funktionsblöcke in welchen
Simulationsdateien eingetragen werden müssen ist im Kapitel "Die
Simulationsdateien" beschrieben.

Beispiel:

13
EDIABAS — STEUERGERÄTE-SIMULATOR

[BLOCK]

Es gibt folgende Funktionsblöcke:

7.2.1. VERSION
Blocktitel: VERSION

Beschreibung: In diesem Block steht die Versionsnummer der Interface-


Firmware (EDIC und IDBSS) in Form von 2 Bytes in
hexadezimaler Schreibweise, getrennt durch Komma.
Vom Interface kommen 2 Bytes in der Reihenfolge <lowByte>
<highByte>. Das <highByte> hat den Wert 00, im <lowByte>
steht die Versionsnummer.

Label: Version

Beispiel:

lowByte highByte dez. Wert Versionsnummer

1E 00 30 3.0

Version = 1E,00

7.2.2.POWERSUPPLY
Blocktitel: POWERSUPPLY

Beschreibung: In diesem Block steht der Wert für die Batteriespannung in


Millivolt in dezimaler Schreibweise. Die Werte der
Systemergebnisse UBATTCURRENT und UBATTHISTORY
können ebenfalls in diesem Block bestimmt werden.

Label: Ubatt

Beispiel:

Ubatt = 12000 ;Millivolt

14
EDIABAS — STEUERGERÄTE-SIMULATOR

Label: UbattCurrent

Beispiel:

UbattCurrent = 1 ; Ubatt ist ein

Label: UbattHistory

Beispiel:

UbattHistory = 0 ; Ubatt war aus

7.2.3.IGNITION
Blocktitel: IGNITION

Beschreibung: In diesem Block steht der Wert für die Spannung an der Zündung
in Millivolt in dezimaler Schreibweise. Die Werte der
Systemergebnisse IGNITIONCURRENT und
IGNITIONHISTORY können ebenfalls in diesem Block bestimmt
werden.

Label: Ignition

Beispiel:

Ignition = 12000 ;Millivolt

Label: IgnitionCurrent

Beispiel:

IgnitionCurrent = 0 ; Zündung ist aus

Label: IgnitionHistory

Beispiel:

IgnitionHistory = 0 ; Zündung war aus

15
EDIABAS — STEUERGERÄTE-SIMULATOR

7.2.4.PORT
Blocktitel: PORT

Beschreibung: In diesem Block stehen die Werte, die an den einzelnen Ports
anliegen. Die Werte an den Ports null bis acht sind die
Spannungen an den analogen Eingängen in Millivolt (EDIC), der
Wert am Port neun ist der digitale Wert des Jumperfelds (EDIC).

Labels: Port_0 bis Port_9

Beispiel:

Port_5 = 5000 ;Millivolt

7.2.5.REQUEST
Blocktitel: REQUEST

Beschreibung: In diesem Block stehen die Anfragen (Telegramme) an das


Interface oder ein Steuergerät. Jede Anfrage ist einem Label
zugewiesen. Die Namen der Labels in diesem Block sind frei
wählbar. Für jedes Label muß im Block mit dem Namen
"RESPONSE" ein Label mit dem selben Namen stehen, dem die
Antwort auf die entsprechende Anfrage zugewiesen ist. Steht ein
"X" in der Anfrage, steht dieses Zeichen stellvertretend für jede
beliebige Zahl. Steht ein "_ in der Anfrage, steht dieses Zeichen
stellvertretend für ein Telegramm der Länge 0.

Label: beliebig

Beispiel:

Telegramm1= _
Telegramm2= 01,02,XX,03

7.2.6.RESPONSE
Blocktitel: RESPONSE

Beschreibung: In diesem Block stehen die Antworten auf die Anfragen, die in
Block "REQUEST" stehen. In diesem Block dürfen auch Label

16
EDIABAS — STEUERGERÄTE-SIMULATOR

ohne Zuweisung stehen, dann werden 0 Bytes als (gültiges)


Antworttelegram zurückgegeben.

Label: siehe REQUEST

Beispiel:

Telegramm1= 11,22,33,44
Telegramm2= 55,66,77,88
diagEnde =

7.2.7.LOOPTEST
Blocktitel: LOOPTEST

Beschreibung: In diesem Block steht das Ergebnis des Leitungstests. 0


bedeutet, der Test ist nicht in Ordnung, 1 bedeutet, der Test ist in
Ordnung.

Label: Looptest

Beispiel:

Looptest = 1 ;Test in Ordnung

7.2.8.KEYBYTES
Blocktitel: KEYBYTES

Beschreibung: In diesem Block werden die Keybytes und die


Identifikationsdaten eines Steuergerätes (wenn im Steuergeräte-
Konzept vorgesehen) geliefert.

Label: Keybytes

Beispiel:

Keybytes = 01,02,04,07 ;....

17
EDIABAS — STEUERGERÄTE-SIMULATOR

8. Die Simulationsdateien

8.1. Die Interface Simulationsdatei

Für jedes Interface, das simuliert werden soll, gibt es ein eigene Simulationsdatei.
Der Dateiname besteht aus dem Namen des Interfaces mit der Endung ".SIM" (z.B.
EDIC.SIM). Unter Unix muß der Name der Simulationsdatei kleingeschrieben sein.
Die Simulationsdatei muß im richtigen Dateiformat vorliegen (unter MS-
DOS/WINDOWS CR-LF, unter UNIX nur LF am Zeilenende). Als Interfacename wird
die Einstellung des EDIABAS-Konfigurationselements Interface verwendet. In den
Interface-Simulationsdateien stehen die interfacespezifischen Rückgabewerte. In
dieser Datei sind folgende Funktionsblöcke einzutragen:
„ VERSION
„ POWERSUPPLY
„ IGNITION
„ PORT
„ LOOPTEST
„ REQUEST
„ RESPONSE

Für das Senden und Empfangen eines Steuergerätetelegramms im Rawmode, das


heißt die Daten werden ohne Interpretation 1:1 an das Diagnosebus-Interface
übermittelt, wurde für das Interface EDIC und IDBSS ein besonderer Mechanismus
implementiert. Das Senden und Empfangen eines Steuergerätetelegramms läuft
dabei folgendermaßen ab:
1. Senden eines Telegramms an ein Steuergerät (Controllbytes 04,00 +
Telegramdaten). Dafür wird im Block REQUEST das Anforderungstelegramm mit
führendem Unterstrich eingetragen.

[REQUEST] ;Anforderungstelegramme an das Interface


_send_id_lesen = 04,00,01,00,00,03,00,00
Zur Quittierung antwortet das Interface mit BUSY (Controllbytes 01,00). Diese
Antwort wird unter RESPONSE eingetragen.

[RESPONSE] ;Antworten vom Interface


_send_id_lesen = 01,00
2. Um die Steuergeräteantwort vom Diagnosbus-Interface auszulesen muß der
Interfacestatus abgefragt werden (Controllbytes 07,00). Diese Anforderung wird
wieder unter REQUEST eingetragen.

[REQUEST] ;Anforderungstelegramme an das Interface

18
EDIABAS — STEUERGERÄTE-SIMULATOR

_send_id_lesen = 04,00,01,00,00,03,00,00
requestState = 07,00
Werden die Controllbytes 07,00 direkt nach einer Steuergerätetelegramm-
anforderung geschickt, dann steht die Antwort darauf nicht unter dem selbem Label
wie die Anforderung (im Beispiel "requestState") sondern unter dem Label der
Steuergerätetelegrammanforderung, jetzt aber mit einem führendem "X" (im Beispiel
"Xsend_id_lesen").

[RESPONSE] ;Antworten vom Interface


_send_id_lesen = 01,00
Xsend_id_lesen =
02,00,0D,01,F6,30,32,38,35,30,30,36,30,30,34;,...
requestState = 00,00
Nur wenn die Controllbytes 07,00 ohne vorherige Steuergerätetelegramm-
anforderung geschickt werden, dann steht die Antwort darauf unter dem selbem
Label wie die Anforderung (im Beispiel "requestState").

19
EDIABAS — STEUERGERÄTE-SIMULATOR

Beispiel:
;*************************************************
;******** Simulationsdatei fuer das EDIC *********
;*************************************************

[VERSION] ;Versionsnummer des Interfaces


Version = 5

[POWERSUPPLY] ;Versorgungsspannung
Ubatt = 12000 ;Versorgungsspannung in Millivolt
UbattCurrent = 1 ;Versorgungsspannung ist ein
UbattHistory = 1 ;Versorgungsspannung war ein

[IGNITION] ;Zuendung
Ignition = 12000 ;Zündungsspannung in Millivolt
IgnitionCurrent = 1 ;Zündung ist ein
IgnitionHistory = 0 ;Zündung war aus

[PORT] ;Eingangswerte fuer die Ports 0 bis 8


Port_0 = 10
Port_1 = 21
Port_2 = 32
Port_3 = 43
Port_4 = 54
Port_5 = 65
Port_6 = 76
Port_7 = 87
Port_8 = 98

[REQUEST] ;Anforderungstelegramme an das Interface


reset = 01,00
resetParameter = 02,00
setParameter = 03,00,03,00,02,10,01,00,00,D0,07,F4,01,01
stopFrequent = 06,00
requestState = 07,00
requestIdent = 08,00
requestLastMsg = 09,00
version = 0A,00
loopTest = 0B,00
baudrate = 20,00,00 ;Baudrate ist 9600 Baud
readJumper = 21,00
setDigiOut = 22,00,FF,FF ;Setzen alle Ausgaenge
setProgVlt = 23,00,10,27,01 ;Spannung auf 10 Volt
getAnalog = 24,00,00 ;Analogeingang 0
switchSiR = 26,00,E8,03 ;1000 ms
_send_id_lesen = 0X,00,01,00,00,03,00,00
_send_fs_loeschen = 0X,00,01,00,00,03,00,05
_send_diagende = 0X,00,01,00,00,03,00,06
_send_fs_lesen = 0X,00,0A,00,00,03,00,07
_send_ack = 0X,00,01,00,00,03,00,09

[RESPONSE] ;Antworten vom Interface


reset = 00,00
resetParameter = 00,00
setParameter = 00,00

20
EDIABAS — STEUERGERÄTE-SIMULATOR

stopFrequent = 00,00
requestState = 00,00
requestIdent = 00,00,04,01,09,03,0D,01,F6,30,32,38,31,30,30;,...
requestLastMsg = 00,00
version = 00,00,03,00
loopTest = 0A,00
baudrate = 00,00
readJumper = 00,00,3F
setDigiOut = 00,00
setProgVlt = 00,00
getAnalog = 00,00,E8,03 ;1000 Millivolt
switchSiR = 00,00
_send_id_lesen = 01,00
Xsend_id_lesen = 02,00,0D,01,F6,30,32,38,35,30,30,36,30,30,34;,...
_send_fs_loeschen = 01,00
Xsend_fs_loeschen = 02,00,03,00,09
_send_diagende = 01,00
Xsend_diagende = 02,00
_send_fs_lesen = 01,00
Xsend_fs_lesen = 02,00,10,DB,FC,B2,04,8A,00,05,A5,03,1A,01,02;,...
_send_ack = 01,00
Xsend_ack = 02,00,03,00,09

[LOOPTEST] ;Ergebnis des Looptest


Looptest = 1

21
EDIABAS — STEUERGERÄTE-SIMULATOR

8.2. Die Steuergeräte Simulationsdatei

Für jedes Steuergerät, das auf einer eigenen Diagnosebusadresse liegt, gibt es eine
Simulationsdatei. In diesem File stehen die Anforderungs- und die
Antworttelegramme des Steuergerätes. Dieses File hat den gleichen Namen wie die
Steuergerätebeschreibungsdatei, jedoch die Endung ".SIM" (z.B. DME31.SIM). Unter
Unix muß der Name der Simulationsdatei kleingeschrieben sein. Die
Simulationsdatei muß im richtigen Dateiformat vorliegen (unter MS-DOS/WINDOWS
CR-LF, unter UNIX nur LF am Zeilenende). In diesen Dateien sind folgende
Funktionsblöcke einzutragen:

„ REQUEST
„ RESPONSE
„ KEYBYTES

Beispiel:
;****************************************************
;******** Simulationsdatei fuer die DME31 **********
;****************************************************

[REQUEST] ;Anforderungstelegramm an das Steuergeraet

empty = _
id_lesen = 03,00,00
ram_lesen = 06,00,01,00,00,00
fs_loeschen = 03,00,05
diagende = 03,00,06
fs_lesen = 03,00,07
ack = 03,00,09
adr_lesen = 03,00,0B

[RESPONSE] ;Antwort vom Steuergeraet

empty =
id_lesen = 0D,00,F6,31,31,31,31,31,31,31,31,31,31,0D,00,F6,32;,...
ram_lesen = 04,00,FE,64
fs_loeschen = 03,00,09
diagende = ;bei der DME kommt keine Antwort
fs_lesen = 04,00,FC,00,03,00,09 ;kein Fehler
ack = 03,00,09
adr_lesen = 0F,00,FA,5E,88,FF,FF,FF,FF,FF,FF,FF,FF,E5,0E,0F,00;,...

[KEYBYTES] ;Keybytes des Steuergeraets


keybytes= 01,02,00,00,0D,00,F6,31,31,31,31,31,31,31,31,31,31,03;,...

22
EDIABAS — STEUERGERÄTE-SIMULATOR

A. LITERATURVERZEICHNIS

[1] EDIABAS: BEST/2 Funktionsreferenz

[2] EDIABAS: Steuergeräte-Simulator

[3] EDIABAS: BEST/1 - Sprache und Interpreter

[4] EDIABAS: Benutzerhandbuch

[5] EDIABAS: BEST/2 - Sprachbeschreibung

[6] EDIABAS: API Benutzerhandbuch

23
EDIABAS — STEUERGERÄTE-SIMULATOR

B. INDEX

Binärdaten 13

Fehlermeldungen 11
Funktionsblock 12, 13

IGNITION 15

KEYBYTES 17
Kommentar 13
Konfigurationen 10

Label 12
LOOPTEST 17

Namen 12

PORT 16
POWERSUPPLY 14

REQUEST 16
RESPONSE 17

Simulationsdatei 7, 10, 11, 12, 18, 22


Simulationsmodus 7
Simulator 7, 8
Steuerung 10
Syntax 12

Trennzeichen 12

VERSION 14

24