127 lines
7.2 KiB
HTML
127 lines
7.2 KiB
HTML
<HTML>
|
|
<HEAD>
|
|
<TITLE>R_PAS4_RPULSE</TITLE>
|
|
<META NAME="Generator" CONTENT="KDOC ">
|
|
</HEAD>
|
|
<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
|
|
|
|
<table BORDER=0 COLS=1 WIDTH="100%" BGCOLOR="#FFFFCC" NOSAVE >
|
|
<tr ALIGN=CENTER VALIGN=CENTER NOSAVE>
|
|
<td NOSAVE><font face="Arial,Helvetica"><font size=+2></font></font>
|
|
<br><font face="Arial,Helvetica"><font size=+2>CCS Modul <b>R_PAS4_RPULSE</b></font></font>
|
|
<br> </td>
|
|
</tr>
|
|
</table>
|
|
<PRE>
|
|
$Id: r_pas4_rpulse.cpp,v 1.5 2005/09/21 12:28:57 pv73rt Exp $
|
|
---------------------------------------------------------------------
|
|
Kurzbeschreibung: Auswertung des Leseimpuls bei PAS4/Zapper
|
|
---------------------------------------------------------------------
|
|
Projekt: CCS
|
|
Sourcefile: r_pas4_rpulse.C
|
|
Autor: Rtp/TEF32-Rapp (06.06.2005)
|
|
Zielsystem: Linux
|
|
Sprache: C++
|
|
---------------------------------------------------------------------
|
|
Prototyp:
|
|
MPI Schnittstelle
|
|
void r_pas4_rpulse(
|
|
,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 Leseimpulses 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 Leseimpuls durchsucht.
|
|
Um Fehler durch Ausreisser auszuschliessen, wurde eine erlaubte Anzahl
|
|
von Ausreissern definiert (zurzeit 1).
|
|
Für die Pulserkennung wird ein Bereich von Messwerten ausgewertet
|
|
(erlaubte Ausreisser+2), ist in diesem Bereich die Anzahl erlaubter
|
|
Ausreisser nicht ueberschritten worden, wird dieser Bereich als
|
|
innerhalb des Leseimpulses gewertet.
|
|
Ein Messwert ist ein Ausreisser falls er ausserhalb den Bereichen
|
|
MIN_IMP1 und MAX_IMP1 bzw. MIN_IMP2 und MAX_IMP2 liegt.
|
|
2. Startflanke des Leseimpulses suchen.
|
|
3. DELTA_T wird zur Startzeit des Leseimpulses hinzugefügt und über die
|
|
Messzeit MEASURE_T werden die Stromdaten gemittelt. Liegt der
|
|
gemittelte Stromwert in den Grenzen CUR_0_MIN - CUR_0_MAX wird
|
|
das Bit als 0 interpretiert, liegt er in den Grenzen
|
|
CUR_1_MIN - CUR_1_MAX dann wird das Bit als 1 interpretiert, liegt
|
|
er ausserhalb beider Bereiche wird eine Fehlermeldung erzeugt.
|
|
4. Vergleich der Bitmaske mit den ermittelten Bits.
|
|
5. Wandlung der ermittelten Bits in ein Hexstring.
|
|
|
|
ARRAY_1 --> PULSE_WIDTH <--
|
|
10V (MIN_IMP2 bzw. MAX_IMP2) +------------------------+
|
|
| |
|
|
----+ | |
|
|
| | |
|
|
+----------+ +----------------
|
|
|
|
ARRAY_2
|
|
+-------------+
|
|
/ /
|
|
LEVEL -> / /
|
|
/ /
|
|
----------------------+ +--------------------
|
|
|
|
DELTA_T -> <-
|
|
MEASURE_T -> <-
|
|
|
|
|
|
|
|
Beschreibung der Modulübergabeparameter:</pre><b><a name="param1">1</a> PRUEFSCHRITT</b><pre>
|
|
GAUDI Pruefschritt
|
|
------------------------------</pre><b><a name="param2">2</a> POSITION</b><pre>
|
|
PAV- Position
|
|
------------------------------</pre><b><a name="param3">3</a> ARRAY_1</b><pre> Variablen Name in der die gesampelte Lesesapannung gespeichert ist
|
|
------------------------------</pre><b><a name="param4">4</a> ARRAY_2</b><pre> Variablen Name in der der gesampelte Strom gespeichert ist
|
|
------------------------------</pre><b><a name="param5">5</a> SAMPLE_RATE</b><pre> Abtastrate in us der gesampelten Daten.
|
|
------------------------------</pre><b><a name="param6">6</a> MIN_IMP1</b><pre> Untere Grenze der ersten Lesespannung, wird zur Erkennung eines Leseimpulses
|
|
verwendet.
|
|
------------------------------</pre><b><a name="param7">7</a> MAX_IMP1</b><pre> Obere Grenze der ersten Lesespannung, wird zur Erkennung eines Leseimpulses
|
|
verwendet.
|
|
------------------------------</pre><b><a name="param8">8</a> MIN_IMP2</b><pre> Untere Grenze der zweiten Lesespannung, wird zur Erkennung eines Leseimpulses
|
|
verwendet.
|
|
------------------------------</pre><b><a name="param9">9</a> MAX_IMP2</b><pre> Obere Grenze der zweiten Lesespannung, wird zur Erkennung eines Leseimpulses
|
|
verwendet.
|
|
------------------------------</pre><b><a name="param10">10</a> PULSE_WIDTH</b><pre> Erwartete Pulsbreite des Leseimpulses, damit bei hohen Abtastraten nicht jeder
|
|
Messwert überprueft werden muss, wird 0.75 * PULSE_WIDTH als Schrittweite fuer
|
|
die Erkennung des Leseimpulses verwendet.
|
|
------------------------------</pre><b><a name="param11">11</a> BITMASK</b><pre> Bitmaske die mit der aus den Daten ermittelten Bits verglichen wird. Mögliche
|
|
Werte sind 01X, wobei das Bit mit X nicht überprüft wird.
|
|
------------------------------</pre><b><a name="param12">12</a> CUR_0_MIN</b><pre> Untere Grenze bis zu der der Stromwert als 0 erkannt wird.
|
|
------------------------------</pre><b><a name="param13">13</a> CUR_0_MAX</b><pre> Obere Grenze bis zu der der Stromwert als 0 erkannt wird.
|
|
------------------------------</pre><b><a name="param14">14</a> CUR_1_MIN</b><pre> Untere Grenze bis zu der der Stromwert als 1 erkannt wird.
|
|
------------------------------</pre><b><a name="param15">15</a> CUR_1_MAX</b><pre> Obere Grenze bis zu der der Stromwert als 1 erkannt wird.
|
|
------------------------------</pre><b><a name="param16">16</a> DELTA_T</b><pre> Zeit vom Start des Leseimpulses bis zur Auswertung des Stromimpulses
|
|
------------------------------</pre><b><a name="param17">17</a> MEASURE_T</b><pre> Waehrend der Messzeit wird der Stromimpuls ausgewertet
|
|
------------------------------</pre><b><a name="param18">18</a> HEX_STRING</b><pre> Rueckgabe des erkannten Bitmusters als Hexstring
|
|
------------------------------</pre><b><a name="param19">19</a> ERGEBNIS</b><pre> 100 = Ergebnis Ok
|
|
0-n = bei Bit Sollwert = 1 und der Stromwert für dieses Bit 0 ist bzw.
|
|
nicht in den definierten Grenzen liegt, wird die Adresse des Bits
|
|
zurueckgegeben.
|
|
-1 = Anzahl der gelesenen Bits unterscheidet sich von der vorgegebenen
|
|
-2 = die Bits mehrerer Adressen sind nicht mit der Bitmaske identisch
|
|
-3 = Soll Bit = 0 Strom nicht innerhalb der Grenzen fuer 0 Wert
|
|
-4 = Strommittelwert nicht innerhalb der vorgegebenen Grenzen
|
|
-5 = Die Spannung des Leseimpuls ist innerhalb der vorgegebenen
|
|
Messzeit ausserhalb der vorgegebenen Grenzen.
|
|
-6 = Start des Leseimpulses nicht gefunden
|
|
------------------------------</pre><b><a name="param20">20</a> FEHLERFLAG</b><pre> Fehlerflag
|
|
</PRE>
|
|
</BODY>
|
|
</HTML>
|