:html
<<
128.132
KBus-Objekt|KBus
--
Die KBus-Implemetierung ist noch vorlufig und wird in Zukunft gendert!
>>

<<
128.132.1
Funktionen des KBus-Objekts|Funktionen
--
>>
<<
128.132.1.1
KBus.Error|Error
--
<!DEF>
function <!TW>KBus.Error (rNr : real) : real;
<!TXT>
Liefert das Ergebnis der letzten Aktion auf den KBus <!PW>rNr. (0=ok)

Fehlercodes kommen direkt aus der DLL. Bedeutung bitte der DLL-Dokumentation entnehmen.
>>
<<
128.132.1.2
KBus.Received|Received
--
<!DEF>
function <!TW>KBus.Received (rNr : real) : real;
<!TXT>
Liefert den beim letzen Senden empfangenen Frame zurck. Erster Wert im Vektor ist die Empfangs SId, dann folgen die Datenbytes. Wenn nichts empfangen wurde, so ist der Vektor leer.
>>
<<
128.132.1.3
KBus.IsActive|IsActive
--
<!DEF>
function <!TW>KBus.IsActive : real;
<!TXT>
Liefert <!RW>TRUE, wenn KBus global aktiviert ist

<!DEF>
function <!TW>KBus.IsActive (rNr : real) : real;
<!TXT>
Liefert <!RW>TRUE, wenn KBus global aktiviert und der KBus <!PW>rNr auch aktiv ist.
>>
<<
128.132.1.5
KBus.IsOpen|IsOpen
--
<!DEF>
function <!TW>KBus.IsOpen (rNr : real) : real;
<!TXT>
Liefert <!RW>TRUE, wenn der Port von KBus <!PW>rNr geffnet ist.
>>
<<
128.132.1.6
KBus.Check|Check
--
<!DEF>
function <!TW>KBus.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.132.2
Prozeduren des KBus-Objekts|Prozeduren
--
>>

<<
128.132.2.1
KBus.Open|Open
--
<!DEF>
procedure <!TW>KBus.Open (rNr : real);
<!TXT>
ffnet den KBus <!PW>rNr. bergibt zuvor den mit SetFlags gesetzten Wert an die DLL.

War der Bus bereits geffnet, so geschieht nichts.
>>

<<
128.132.2.2
KBus.Close|Close
--
<!DEF>
procedure <!TW>KBus.Close (rNr : real);
<!TXT>
Schliet den KBus <!PW>rNr.
>>

<<
128.132.2.3
KBus.SetFlags|SetFlags
--
<!DEF>
procedure <!TW>KBus.SetFlags (nByte : real);
<!TXT>
Setzt die DLL-KWP_Flags auf <!PW>nByte (0..255).
Der Wert wird erst beim ffnen des Ports aktiviert.
>>
<<
128.132.2.4
KBus.Send|Send
--
<!DEF>
procedure <!TW>KBus.Send (rNr : real; vFrame : vector [; nPSId, nNSId : real]);
<!TXT>
Sendet den Frame im Vektor <!PW>vFrame auf den KBus <!PW>rNr.

 <!PW>nPSId und <!PW>nNSId knnen optional angegeben werden, als erwartete SIDs fr positive und negative Antworten. 

Wenn nicht angegeben, wird als PSId die gesendete SId or $40 benutzt und als NSId $7F. 

 <!PW>vFrame muss als ersten Wert die SId enthalten und danach die Daten, so wie der spezielle Rahmen sie verlangt. Alle Werte 0..255.
>>
<<
128.132.2.5
KBus.Start|Start
--
<!DEF>
procedure <!TW>KBus.Start (rNr, nDiagnosticMode : real);
<!TXT>
Ruft die DLL-Routine <!SW>StartDiagnosticSession mit dem Modus <!PW>nDiagnosticMode (0..255) fr den KBus <!PW>rNr auf.
>>

