:Revision=8
:html
<<
128.114
AIDA - Automotive and Industrial Diagnostic Assistance|AIDA
--
>>

<<
128.114.1
Funktionen des AIDA-Objekts|Funktionen
--
>>

<<
128.114.1.1
AIDA.Error|Error
!128.114.1.2 - Message
--
<!DEF>
function <!TW>AIDA.Error (rNr : real) : real;
<!TXT>
Liefert das Ergebnis der letzten Aktion auf dem AIDA-Stack <!PW>rNr. (0=ok)
>>
<<
128.114.1.2
AIDA.Message|Message
!128.114.1.1 - Error
--
<!DEF>
function <!TW>AIDA.Message (rCode : real) : string;
<!TXT>
Liefert den Fehlertext zum AIDA-Fehlercode <!PW>rCode.
>>

<<
128.114.1.3
AIDA.Get|Get
--
<!DEF>
function <!TW>AIDA.Get (rNr : real  [; rTimeout : real [; sLayer : string]]) : vector;
<!TXT>
Wartet maximal <!PW>rTimeout ms (Default=2000) auf einen Frame auf dem Layer <!PW>sLayer (Default ist der oberste Layer bzw. '').

Wird nichts empfangen, so ist der Vektor leer. 

Frames auf anderen Layern werden ignoriert.

Der Frame kann nach erfolgreichem <!RW>Get auch ber <!RW>AIDA.Received abgeholt werden.
>>

<<
128.114.1.4
AIDA.Received|Received
--
<!DEF>
function <!TW>AIDA.Received (rNr : real [; var rFlags : real]) : vector;
<!TXT>
Liefert den beim letzen <!RW>Send bzw. <!RW>Get empfangenen Frame zurck.
Wenn nichts empfangen wurde, so ist der Vektor leer.

Ist die Variable <!PW>vrFlags angegeben, so werden die Flags dort zurck gegeben.
Wurde nichts empfangen, ist der Wert 0.
>>

<<
128.114.1.5
AIDA.IsActive|IsActive
--
<!DEF>
function <!TW>AIDA.IsActive : real;
<!TXT>
Liefert <!RW>TRUE, wenn AIDA global aktiviert ist

<!DEF>
function <!TW>AIDA.IsActive (rNr : real) : real;
<!TXT>
Liefert <!RW>TRUE, wenn AIDA global aktiviert und der AIDA-Stack <!PW>rNr auch aktiv ist.
>>

<<
128.114.1.6
AIDA.IsOpen|IsOpen
--
<!DEF>
function <!TW>AIDA.IsOpen (rNr : real) : real;
<!TXT>
Liefert <!RW>TRUE, wenn der AIDA-Stack <!PW>rNr geffnet ist.
>>

<<
128.114.1.7
AIDA.Check|Check
--
<!DEF>
function <!TW>AIDA.Check (vFrame, vTest : vector [; rMode : real]) : real;
<!TXT>
Vergleicht den Frame im Vektor <!PW>vFrame mit dem Frame im Vektor <!PW>vTest.

 <!PW>vFrame darf nur Werte 0..255 enthalten (die Bytes des Frames)

 <!PW>vTest darf Werte im Bereich -1..255 enthalten, -1=Don't care

 <!PW>rMode legt das Verhalten bei bezglich der Lngen fest,
<!STBL>
<!+>rMode<!+>Verhalten<!>
<!c>0<!>Lnge muss identisch sein (default)<!>
<!c>1<!><!PW>vFrame darf krzer als <!PW>vTest sein<!>
<!c>2<!><!PW>vFrame darf lnger als <!PW>vTest sein,<br>kein Test der 'berstehenden' Bytes<!>
<!c>3<!><!PW>vFrame darf lnger oder krzer sein<!>
<!ETBL>

Rckgabe: 0 = alles okay, sonst die Position in <!PW>vFrame, die von <!PW>vTest abweicht.
>>

<<
128.114.1.8
AIDA.RcvFlags|RcvFlags
--
<!DEF>
function <!TW>AIDA.RcvFlags (rNr : real) : real;
<!TXT>
Liefert die beim letzen <!RW>Send bzw. <!RW>Get eingelesenen Flags zurck.
Wenn nichts empfangen wurde, so ist das Ergebnis 0.
>>

<<
128.114.2
Prozeduren des AIDA-Objekts|Prozeduren
--
>>

<<
128.114.2.1
AIDA.Open|Open
--
<!DEF>
procedure <!TW>AIDA.Open (rNr : real);
<!TXT>
ffnet den AIDA-Stack <!PW>rNr.

<!DEF>
procedure <!TW>AIDA.Open (rNr : real; sStackFile : string);
<!TXT>
Ldt das Stack-Confuguration-File <!PW>sStackFile in den AIDA-Stack <!PW>rNr und ffnet ihn. Falls der Stack offen war, wird er zuvor geschlossen. Wenn <!PW>sStackFile keine Pfadangabe enthlt, wird es im AIDA-Pfad gesucht.
>>

<<
128.114.2.2
AIDA.Close|Close
--
<!DEF>
procedure <!TW>AIDA.Close (rNr : real);
<!TXT>
Schliet den AIDA Stack <!PW>rNr.
>>
<<
128.114.2.3
AIDA.Send|Send
--
<!DEF>
procedure <!TW>AIDA.Send (rNr : real; vFrame : vector [; rTimeout : real [; sLayer : string]]);
<!TXT>
Sendet den Frame im Vektor <!PW>vFrame auf den AIDA-Stack <!PW>rNr und wartet auf Antwort. <!PW>rTimeout ist als Default 2000ms. Als Default-Layer wird '<System>' bzw. '' benutzt (Zugriff ber oberste Ebene).

Fr <!PW>sLayer kann der Name eines tieferen Layers angegeben werden, wenn direkt ber diese Komponente kommuniziert werden soll. Die Antwort wird ebenfalls ber diesen Layer zurckerwartet. Es wird jeweils der zuerst empfangene Frame benutzt.

Der Frame kann ber <!RW>AIDA.Received abgeholt werden. <!RW>AIDA.Send arbeitet wie <!RW>AIDA.Put, gefolgt von <!RW>AIDA.Get mit identischen <!PW>sLayer-Angaben.
>>

<<
128.114.2.4
AIDA.Put|Put
!128.114.2.3
--
<!DEF>
procedure <!TW>AIDA.Put (rNr : real; vFrame : vector [; sLayer : string]);
<!TXT>
Wie <!RW>AIDA.Send, lediglich wird nicht auf eine Antwort gewartet.
>>

<<
128.114.2.5
AIDA.SetFlags|SetFlags
--
<!DEF>
procedure <!TW>AIDA.SetFlags (rNr, rFlags : real);
<!TXT>
Legt die Flags fest, die der AIDA-Stack <!PW>rNr beim Aufruf der DLL-Funktion <!SW>AIDA_boSendEvent benutzt.

Mgliche Werte (Oder-verknpft, aus AIDA-Doku):
<!STBL>
<!>AIDA_nStartCommu<!c>1<!>
<!>AIDA_nStopCommu <!c>2<!>
<!>AIDA_nSendBreak<!c>4<!>
<!ETBL>
>>

<<
128.114.2.6
AIDA.Parameter.Set|Parameter.Set
--
<!DEF>
procedure <!TW>AIDA.Parameter.Set (rNr : real; sLayer, sParameter : string; Value : string|real);
<!TXT>
Erlaubt es, einen Parameter einer AIDA-Component des AIDA-Stacks <!PW>rNr, angesprochen ber den Namen der Component und des Parameters auf einen neuen Wert zu setzen.

Dieser Befehl arbeitet nur, wenn der Stack geffnet ist, da sonst die entsprechenden Datenstrukturen nicht im Speicher vorhanden sind.

Ein Erfolg kann ber <!RW>AIDA.Error abgefragt werden. Die nderung ist nicht permanent, wird nicht im Configuration-File gespeichert und beim nchsten <!RW>AIDA.Open wieder zurckgesetzt.
>>
