:Revision=2
:html
<<
128.128
DAS4020-Objekt|DAS4020
--
Das IP-Objekt <!RW>DAS4020 erlaubt den Zugriff auf die DAS4020 High Speed AD Karte

Die einzelnen Hardwaremodule der Multifunktionskarte werden als Unterobjekte des DAS4020-Objektes angesprochen.

Von den Hardwaremodulen der Karte (ADC, DAC, IO) wird derzeit allerdings nur der AD-Wandler untersttzt.
>>

<<
128.128.3
DAS4020.ADC|ADC
--
Analoge Eingnge
>>

<<
128.128.3.1
DAS4020.ADC.Setup|Setup
--
<!DEF>
procedure <!TW>DAS4020.ADC.Setup (rChannel, rRange : real);
<!TXT>
Legt die Charakteristik des AD-Kanals <!PW>rChannel (0..3) fest.

Diese Bereichswahl gilt nur fr nachfolgende <!RW>DAS4020.ADC.Get Operationen. Sample-Operationen bentigen eine eigene Bereischsangabe.

<!STBL>
<!+>rRange<!+>Eingangsbereich<!>
<!c>0<!> 1 V<!>
<!c>1<!> 5 V<!>
<!ETBL>
>>
<<
128.128.3.2
DAS4020.ADC.Get|Get
--
<!DEF>
function <!TW>DAS4020.ADC.Get (rChannel : real [; rAverages : real]) : real;
<!TXT>
Liefert den Wert den AD-Kanals <!PW>rChannel (0..3).

Wenn <!PW>rAverages (1..1024) angegeben ist, dann wird aus entsprechend vielen Einzelwerten der Mittelwert gebildet.
>>

<<
128.128.3.3
DAS4020.ADC.Sample|Sample
--
<!DEF>
<!TW>DAS4020.ADC.Sample.....
<!TXT>
Sampling - Aufzeichnung von analogen Signalen
>>
<<
128.128.3.3.1
DAS4020.ADC.Sample.Check|Check
--
<!DEF>
function <!TW>DAS4020.ADC.Sample.Check : real;
<!TXT>
Prfen, ob mit den getroffenen Einstellungen (Kanle, Frequenz, Anzahl) der Start des Samplings mglich ist, bzw. ob ein bereits begonnenes Sampling noch luft oder schon beendet ist.

<!STBL>
<tr align=center bgcolor=f0f0f0><td><b>Wert</b><!><b>Bedeutung</b><!>
<!c>1<!>Sampling luft schon/noch</b><!>
<!c>0<!>alles in Ordnung, Start mglich</b><!>
<!c>-1<!>20MHz Sampling Rate ist mit 4 Kanlen nicht mglich</b><!>
<!c>-2<!>Anzahl Samples ist 0</b><!>
<!c>-3<!>Samplefrequenz zu hoch</b><!>
<!c>-4<!>zu viele Kanle fr die Frequenz</b><!>
<!c>-5<!>Start war unmglich</b><!>
<!c>-6<!>DAS4020 Karte nicht aktiv</b><!>
<!ETBL>
>>
<<
128.128.3.3.2
DAS4020.ADC.Sample.Setup|Setup
!128.128.3.5
--
<!DEF>
procedure <!TW>DAS4020.ADC.Sample.Setup (rFrequency, rSamples, rTrigger : real [; rTriggerLevel : real]);
<!TXT>
Legt die Eckdaten fr den Sampling-Vorgang fest.

 <!PW>rFrequency : Abtastrate in Hz (nicht Summenabtastrate!)
Minimalwert : 1000 Hz
Maximalwert : 20MHz (1 oder 2 Kanle), 10MHz (4Kanle)

 <!PW>rSamples : Anzahl Samples je Kanal
Maximalwert 1.000.000 bzw. abhngig vom Speicher
Speicher muss mit Instacal reserviert worden sein!

 <!PW>rTrigger : Art der Auslsung:
<!STBL>
<!>0<!>sofort bei ADC.Sample.Start / Scan<!>
<!>1<!>steigende Flanke des digitalen Triggereinganges<!>
<!>2<!>fallende Flanke des digitalen Triggereinganges<!>
<!>3<!>steigende Flanke des analogen Triggerkanals<!>
<!>4<!>fallende Flanke des analogen Triggerkanals<!>
<!ETBL>
Der Triggerkanal muss mit Instacal oder dem Befehl <!RW>Trigger.SetChannel ausgewhlt werden.

 <!PW>rTriggerLevel :
Schwellwert fr die Trigger-Modi 3 und 4 (Trigger auf analogen Triggerkanal). Erlaubter Bereich je nach bei <!RW>ADC.Sample.Start/<!RW>Scan verwendetem Eingangsbereich  1 oder  5. Der Triggerpegel kann bei allen Triggermodi angegeben werden, wird aber nur bei den Modi 3 und 4 benutzt.
>>
<<
128.128.3.3.3
DAS4020.ADC.Sample.Start|Start
!128.128.3.3.3 - Scan
--
<!DEF>
procedure <!TW>DAS4020.ADC.Sample.Start (rCurveSet, rChannelFrom, rChannelTo, rRange : real);
<!TXT>
Startet den Sampling-Vorgang.
Vorher mit <!RW>DAS4020.ADC.Sample.Check prfen, ob alle Parameter fr das Sampling gltig sind.
Siehe auch <!RW>DAS4020.ADC.Sample.Scan - ein anderes Verfahren.

Das Sampling luft unabhngig vom Interpreter im Hintergrund. Mit <!RW>DAS4020.ADC.Sample.Check kann geprft werden, ob das Sampling bereits beendet wurde.

 <!PW>rCurveSet gibt das Kurven-Set an, in das die aufgenommenen Kurven bertragen werden.
Im Moment muss immer 1 angegeben werden.

 <!PW>rChannelFrom, <!PW>rChannelTo (je 0..3) geben den ersten bzw. letzten gesampelten Kanal an. Bei nur einem Kanal sind beide Werte gleich. <!PW>rChannelTo muss grer oder gleich <!PW>rChannelFrom sein. Es ist nicht erlaubt, 3 Kanle zu samplen!

 <!PW>rRange gibt den Eingangsbereich der Kanle an. Es ist nicht mglich, z.B Kanal 1 mit 1V und Kanal 2 mit 5V zu samplen.
<!STBL>
<!+>rRange<!+>Eingangsbereich<!>
<!c>0<!> 1 V<!>
<!c>1<!> 5 V<!>
<!ETBL>
>>
<<
128.128.3.3.4
DAS4020.ADC.Sample.Stop|Stop
--
<!DEF>
procedure <!TW>DAS4020.ADC.Sample.Stop
<!TXT>
Bricht einen laufenden Sampling-Vorgang ab.

Bereits aufgelaufene Werte werden nicht an das Kurven-Set bertragen.

<font color=#cc0000>
<h3>Attention!</h3>
Wenn eine Einstellung der Karte (Triggerkanal, Kannel, Eingangsbereich, Sample-Kanle etc.) gendert und ein Samplen gestartet wurde, kann es bis zu 4 Sekunden dauern, bis die Karte mit den Werten initialisiert ist und die Erfassung startet. Wenn in dieser Zeit ein <!RW>DAS4020.ADC.Sample.Stop gemacht wird, kann dies zum Absturz des Rechners und zu Datenverlust fhren. 
Daher empfehlen wir den Einsatz der Karte nicht. Der Interpreter muss mindestens 5 Sekunden warten, bevor er ein gestartetes Samplen abbricht.
</font>
>>

<<
128.128.3.3.5
DAS4020.ADC.Sample.Scan|Scan
!128.128.3.3.3 - Start
--
<!DEF>
procedure <!TW>DAS4020.ADC.Sample.Scan (rCurveSet, rChannelFrom, rChannelTo, rRange : real);
<!TXT>
Startet den Sampling-Vorgang.

Vorher mit <!RW>DAS4020.ADC.Sample.Check prfen, ob alle Parameter fr das Sampling gltig sind.
 <!RW>DAS4020.ADC.Sample.Scan unterscheidet sich von <!RW>DAS4020.ADC.Sample.Start in der Art, wie die Scanzeit auf die einzelnen Kanle verteilt wird. Bei nur einem Kanal in der Kanalliste sind beide Verfahren identisch.
Eine Grafik soll dies verdeutlichen. Die X auf der Zeitachse geben den gewhlten Sampleabstand an. Bei <!RW>Start werden alle gewhlten Kanle (hier 4) so schnell wie mglich hintereinander abgetastet - also mglichst zeitgleich. Dies erlaubt fr die Kanle 2-4 nur eine sehr kurze Einschwingzeit des Multiplexers. Bei <!RW>Scan werden die Kanle mglichst gleichmig auf die Samplezeit verteilt. Hierdurch haben alle Kanle die gleiche Einschwingzeit, werden aber versetzt abgetastet.

<!CODE>
Zeit-> X---------------X---------------X-------------->
Start: 1234------------1234------------1234------------
Scan : 1---2---3---4---1---2---3---4---1---2---3---4---
<!TXT>

Das Sampling luft unabhngig vom Interpreter im Hintergrund. Mit <!RW>DAS4020.ADC.Sample.Check kann geprft werden, ob das Sampling bereits beendet wurde.

 <!PW>rCurveSet gibt das Kurven-Set an, in das die aufgenommenen Kurven bertragen werden.
Im Moment muss immer 1 angegeben werden.

 <!PW>rChannelFrom, <!PW>rChannelTo (je 0..3) geben den ersten bzw. letzten gesampelten Kanal an. Bei nur einem Kanal sind beide Werte gleich. <!PW>rChannelTo muss grer oder gleich <!PW>rChannelFrom sein. Es ist nicht erlaubt, 3 Kanle zu samplen!

 <!PW>rRange gibt den Eingangsbereich der Kanle an. Es ist nicht mglich, z.B Kanal 1 mit 1V und Kanal 2 mit 5V zu samplen.
<!STBL>
<tr align=center bgcolor=f0f0f0><td><b>rRange</b><!><b>Eingangsbereich</b><!>
<tr align=center><td>0<!> 1 V<!>
<tr align=center><td>1<!> 5 V<!>
<!ETBL>
>>
<<
128.128.3.5
DAS4020.ADC.Trigger.SetChannel|Trigger.SetChannel
--
<!DEF>
procedure <!TW>DAS4020.ADC.Trigger.SetChannel (rAnalogTriggerChannel : real);
<!TXT>
Setzt den analogen Trigger-Kanal (0..3) durch nderung der Konfigurationsdatei und Neuladen derselben. Nur im Notfall einsetzen!

Der gesetzte Kanal ist nur fr die Triggermodi 3 (steigende Flanke des analogen Triggerkanals) und 4 (fallende Flanke des analogen Triggerkanals) interessant.
>>
<<
128.128.6
DAS4020.IsActive|IsActive
--
<!DEF>
function <!TW>DAS4020.IsActive : real;
<!TXT>
Liefert <!RW>TRUE, wenn die DAS4020 freigegeben und betriebsbereit ist.
>>
