CCS Modul   R_AB9_RECHNE
 
   $Id: r_ab9_rechne.C,v 1.2 2006/01/31 15:29:02 nit3an Exp $
   ---------------------------------------------------------------------
   Kurzbeschreibung: 	Auswertung eines Pulszuges
   ---------------------------------------------------------------------
   Projekt:		CCS
   Sourcefile:		r_ab9_rechne.C
   Autor:		Rtp/TEF32-Rapp (04.08.2005)
   Zielsystem:		Linux
   Sprache:		C++ 
   ---------------------------------------------------------------------
   Prototyp:
   
   void r_ab9_rechne(
	   ,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:
   Das Modul wertet ein Datenfeld anhand der vorgegebenen Funktion aus.

   Beschreibung der Moduluebergabeparameter:
1 PRUEFSCHRITT
   GAUDI Pruefschritt
   ------------------------------
2 POSITION
   PAV- Position
   ------------------------------
3 AB9_FUNCTION
   Angabe der Funktion die zu dem Berechnen des Ergebnisses verwendet 
   werden soll.
   PEGEL1:
                                    Mittelwert
                             10%  -|<------>| 10%
                                +-------------+
                                /             /             
                    AB9_START ->/             / <- AB9_STOP            
                                /             /             
          ----------------------+             +--------------------
      Mittlerer Pegel des ersten Impulses (10% vom 1. relevanten Abtastwert
      bis 10% vor dem letzten relevanten Abtastwert.
      
   DAUER1:
                                    Dauer
                                <------------->
                                +-------------+
                                /             /             
                    AB9_START ->/             / <- AB9_STOP            
                                /             /             
          ----------------------+             +--------------------
      Dauer des ersten Impulses

   DAUER:
                                            Dauer
                                <--------------------------->
                                +---+   +---+   +---+   +---+
                                /   /   /   /   /   /   /   /       
                    AB9_START ->/   /   /   /   /   /   /   /<- AB9_STOP            
                                /   /   /   /   /   /   /   /       
          ----------------------+   +---+   +---+   +---+   +--------------
      Dauer des gesamten Pulszuges

   INTEGRAL:
      Integral ueber den gesamten Pulszug
   ------------------------------
4 ARRAY_1
   Variablenname in der die gesampelte Werte gespeichert sind
   ------------------------------
5 SAMPLE_RATE
   Abtastrate in us der gesampelten Daten.
   ------------------------------
6 AB9_START
   Pulsauswertung beginnt beim ersten Ueberschreiten von AB9_START
   ------------------------------
7 AB9_STOP
   Pulsauswertung wird beendet beim letzmaligen ueberschreiten von AB9_STOP
   ------------------------------
8 AB9_EINHEIT
   Messwert wird in der gewaehlten Einheit zurueckgegeben,
   moegliche Werte:
      DAUER/DAUER1: US,MS
      PEGEL1:       A
      INTEGRAL:     UAS
   ------------------------------
9 AB9_SHUNT
   Widerstandswert in Ohm, wird zur Umrechnung von Spannung auf Strom benoetigt.
   ------------------------------
10 ERGEBNIS
   errechnetes Ergebnis, falls ein Fehler aufgetreten ist wird -1234567890
   zurueckgegeben.
   ------------------------------
11 FEHLERFLAG
   Fehlerflag 0= ok