CCS Modul   E_PATCH
 
   $Id: e_patch.C,v 1.8 2005/02/24 17:41:27 lehmann Exp $
   ---------------------------------------------------------------------
   Kurzbeschreibung: 	Aufruf des Prozesses EL_LOAD
   ---------------------------------------------------------------------
   Projekt:		CCS
   Sourcefile:		e_patch.C
   Autor:		RtW/TEF72-Rapp (26.08.2004)
   Zielsystem:		Linux
   Sprache:		C++
   ---------------------------------------------------------------------
   Prototyp:
   void e_patch(shm_stringpointer *zeilen_infof
	   ,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:
   
   Beschreibung der Moduluebergabeparameter:      
   Je nach Modus besitzen die Parameter PARAM1 bis PARAM6 unterschiedliche
   Bedeutung (siehe MODE_PATCH). 
   Das Modul interpretiert diese Parameter und generiert ein oder mehrer Strings. 
   Der String im Parameter PATCH_0 wird mit den generierten Strings gepatched und 
   im Parameter RETURN_WERT zurueckgeggeben. 
   Die Platzhalter fuer die zu patchenden Strings ist #n wobei n den gewuenschten 
   String selektiert (von 0 bis n, wobei n Mode spezifisch ist)
1 PRUEFSCHRITT
   	GAUDI Pruefschritt
   ------------------------------
2 POSITION
   	PAV- Position
   ------------------------------
3 MODE_PATCH
        Je nach Modus besitzen die nachfolgenden Parameter eine andere Bedeutung

        VALUE : Ueberpruefung eines Wertes auf den uebergebenen Bereich, ist
                er nicht innerhalb des Bereichs wird eine Warnung in der Logdatei
                ausgegeben und der Wert auf die Grenze gesetzt.
                Ist Param5 auf YES gesetzt wird der String "auto" zurueckgegeben,
                falls Param1 0 ist.
            Param1 = Wert
            Param2 = Mimimalwert des Geraetes
            Param3 = Maximalwert des Geraetes
            Param4 = Nachkommastellen
            Param5 = Hier koennen mehrere Ausdruecke durch "|" getrennt angegeben werden.
                     Ein Ausdruck besteht aus einem Operator (>=, <=, ==, !=) einem Wert
                     und einem String, wobei mit "->" der Wert vom String getrennt wird.
                     z.B. "==0->OFF:>=0->ON #0"   Param1=1.23
                     d.h. ist der Wert 0 wird OFF in den String gepatched, ist er groesser
                          0 wird "ON 1.23".
            #0     = Wert
            #1     = Wert Aus Param5
                  
        NPLC: Die uebergebene Integrationszeit wird in Anzahl von Netzzyklen 
              umgerechnet. 
              Der Rueckgabewert entspricht dem naechst hoeheren Wert in der
              uebergebenen Liste.
            Param1 = Integrationszeit [sek]
            Param2 = Periodendauer der Netzfrequenz [ms]
            Param3 = moegliche Werte in aufsteigender Reihenfolge durch
                     ":" getrennt.
            #0     = Integrationszeit in Netzzyklen
            
        SCANNER : die Messkanaele werden ueberprueft und in eine Scannernummer
                  gewandelt, dabei gilt, dass der High-Pin = Low-Pin + 1. 
                  Die Kanalnummer ist dann Low-Pin / 2. 
                  z.B.
                     Param3 = 40  Offset = 100  Kanalnummer = 10 -> Kanal = 110
                     Param3 = 40  Offset = 100  Kanalnummer = 61 -> Kanal = 221
            Param1 = High-Pin
            Param2 = Low-Pin
            Param3 = Maximalanzahl der Kanaele pro Einschub
            Param4 = Offset Kanalnummer 
                     Die Kanalnummer ist intern von 1 bis Maximalanzahl Kanaele, die
                     Darstellung vom Geraet kann z.B. fuer Kanal 1 z.B 101 sein
            #0     = Kanal
        DIM: Belegung eines Faktors anhand der uebergebenen Dimension
            Param1 = Dimension
                      MV   fuer Millivolt   -> Faktor = 0.001 
                      V    fuer Volt        -> Faktor = 1
                      UV   fuer Mikrocvolt  -> Faktor = 0.000001
                      A    fuer Ampere      -> Faktor = 1
                      MA   fuer Milliampere -> Faktor = 0.001 
                      KOHM fuer KilloOhm    -> Faktor = 1000
            #0     = Faktor

   ------------------------------
4 PARAM1
    	siehe Parameter MODE_PATCH
   ------------------------------
5 PARAM2
    	siehe Parameter MODE_PATCH
   ------------------------------
6 PARAM3
    	siehe Parameter MODE_PATCH
   ------------------------------
7 PARAM4
    	siehe Parameter MODE_PATCH
   ------------------------------
8 PARAM5
    	siehe Parameter MODE_PATCH
   ------------------------------
9 PARAM6
    	siehe Parameter MODE_PATCH
   ------------------------------
10 PATCH_0
    	String der gepatched wird
   -------------------------------
11 RETURN_WERT
        gepatchter String
   -------------------------------
11 ERRORFLAG
        Rueckgabe des Status
        0 = Ok  0 <> Fehler