|
CCS Modul R_PAS4_WPULSE |
$Id: r_pas4_wpulse.cpp,v 1.2 2005/09/07 11:04:10 pv73rt Exp $
---------------------------------------------------------------------
Kurzbeschreibung: Auswertung des Schreibimpulses bei PAS4/Zapper
---------------------------------------------------------------------
Projekt: CCS
Sourcefile: r_pas4_wpulse.C
Autor: Rtp/TEF32-Rapp (06.06.2005)
Zielsystem: Linux
Sprache: C++
---------------------------------------------------------------------
Prototyp:
MPI Schnittstelle
void r_pas4_wpulse(
,shm_stringpointer *zeilen_wert
,long index1
,long anzahl)
---------------------------------------------------------------------
Aufruf: im Vectorinterpreter
(*funktionen[modulnummer])
(Ssp_expand_zeile
,Ssp_expand_wert
,p_verwaltung->begin_modulblock
,p_verwaltung->anzahl_modulparameter);
---------------------------------------------------------------------
Funktionsbeschreibung:
Auswertung des Schreibimpulses des PAS4 Zappers ueber die gesampelten Daten
von Spannung und Strom.
Auswertung:
1. Die Spannungdaten werden mit der Schrittweite 0.75 * PULSE_WIDTH nach
einem Schreibimpuls durchsucht. Dieser wird erkannt falls die Spannung
in den Grenzen MIN_IMP1 und MAX_IMP1 liegt.
2. Startflanke des Schreibimpulses suchen.
3. Der Start der Auswertung erfolgt wenn der Stromwert LEVEL ueberschreitet
und gestoppt wenn der Stromwert LEVEL unterschreitet.
ARRAY_1 --> PULSE_WIDTH <--
40V (MIN_IMP1 bzw. MAX_IMP1) +------------------------+
| |
----+ | |
| | |
+----------+ +----------------
ARRAY_2
+-----+ +--+
/ / / /
LEVEL -> / / / /
/-----+ +-+ /
-------------------+ +--------------------
DELTA_T -> <-
MEASURE_T -> <-
Ergebnis Offset -> <-
Ergebnis t_diff -> <-
Ergebnis t_puls -> <-
Beschreibung der Modulübergabeparameter:1 PRUEFSCHRITTGAUDI Prüfschritt ------------------------------2 POSITION
PAV- Position ------------------------------3 ARRAY_1
Variablen Name in der die gesampelte Schreibsapannung gespeichert ist ------------------------------4 ARRAY_2
Variablen Name in der der gesampelte Strom gespeichert ist ------------------------------5 SAMPLE_RATE
Abtastrate in us der gesampelten Daten. ------------------------------6 MIN_IMP1
Untere Grenze der ersten Schreibspannung, wird zur Erkennung eines Schreibimpulses verwendet. ------------------------------7 MAX_IMP1
Obere Grenze der ersten Schreibspannung, wird zur Erkennung eines Schreibimpulses verwendet. ------------------------------8 PULSE_WIDTH
Erwartete Pulsbreite des Schreibimpulses, damit bei hohen Abtsatraten nicht jeder Messwert überprüft werden muss, wird 0.75 * PULSE_WIDTH_V als Schrittweite für die Erkennung des Schreibimpulses. ------------------------------9 LEVEL
Schwelle ab dem die Auswertung der Stromwerte gestartet bzw. gestoppt wird ------------------------------10 DELTA_T
Zeit vom Start des Schreibimpulses bis zur Auswertung des Stromoffsets ------------------------------11 MEASURE_T
Messzeit des Stromoffsets. Ueber diese Zeit wird der Mittelwert gebildet ------------------------------12 ARRAY_3
Fuer jeden Schreibimpuls werden die Ergebnisdaten in der nachfolgende Reihenfolge
gespeichert:
t_diff[us] = Zeitdifferenz zwischen dem Start des Schreibimpulses und
der Überschreitung des Stromwertes von LEVEL
t_puls[us] = Länge des Stromimpulses zwischen Überschreiten bzw. Unterschreiten
von LEVEL.
min[Volt] = Minimalwert des Stromes
max[Volt] = Maximalwert des Stromes
mittel[Volt] = Mittelwert des Strompulses
Offset[Volt] = Stromoffset
(dieser Offset wird bei der Berechnung von min/max/mittel sowie
dem Parameter LEVEL beruecksichtigt)
------------------------------13 ERGEBNISn = Anzahl der gefundenen Schreibimpulse -1 = allgemeiner Fehler -2 = Anzahl der erkannten Schreibimpulse uebersteigt die Kapazität im ARRAY_3 ------------------------------14 FEHLERFLAG
Fehlerflag