CCS Modul   F_RDEK_ZUSATZ
 
 Funktionsbeschreibung:                                                         
                                                                                
                                                                                
 - Beschreibung der Moduluebergabeparameter anhand der Modglobal.stl :          
                                                                                
   MD,f_rdek_zusatz                                                                   
            ,PRUEFSCHRITT      1                                                
            ,POSITION          2                                                
            ,ANST_UNIT         3                                                
            ,FUNK_UMPROG       4                                                
            ,MESSKANAL_HIGH    5                                                
            ,MESSKANAL_LOW     6                                                
            ,SENSE_HIGH        7                                                
            ,SENSE_LOW         8
1 PRUEFSCHRITT:
                                                              
      Prueflisten Schrittnummer
2 POSITION:
                                                                  
      PAV Position fuer diesen Pruefschritt
3 ANST_UNIT:
                                                                 
      Symbolischer Name aus dem HW-Beschreibungsfile                            
      fuer R-Dekade
4 FUNK_UMPROG:
                                                               
      Auswahl des Schaltverhalten beim Umprogrammieren der R-Dekade.            
      Parameter: "HIGH"  -> Widerstand wird beim Umprogrammieren hochohmiger.   
                 "-"     ->      "       "    "         "             "         
                 "LOW"   ->      "       "    "         "        niederohmiger. 
                                                                                
                 Die Default-Einstellung ist "-"
5 MESSKANAL_HIGH:
                                                            
      Angabe des Messkanal zum Ruecklesen des eingestellten Widerstand.         
      Eingabe: SG-PIN z.B. 55 oder PIN-Nummer der 6070 z.B. >a31                
               "-" fuer don't care
6 MESSKANAL_LOW:
                                                             
      Angabe des Messkanal zum Ruecklesen des eingestellten Widerstand.         
      Eingabe: SG-PIN z.B. 73 oder PIN-Nummer der 6070 z.B. >c31                
               "-" fuer don't care
7 SENSE_HIGH:
                                                                
      Angabe des Sensekanal zum Ruecklesen des eingestellten Widerstand.        
      Mit der Angabe des Sensekanal wird eine 4-Draht-Messung realisiert.       
      Eingabe: SG-PIN z.B. 12 oder PIN-Nummer der 6070 z.B. >a32                
               "-" fuer don't care
8 SENSE_LOW:
                                                                 
      Angabe des Sensekanal zum Ruecklesen des eingestellten Widerstand.        
      Mit der Angabe des Sensekanal wird eine 4-Draht-Messung realisiert.       
      Eingabe: SG-PIN z.B. 24 oder PIN-Nummer der 6070 z.B. >c32                
               "-" fuer don't care                                              
                                                                                
                                                                                
 - SW technische Beschreibung                                                   
                                                                                
 Aufgabe dieses Modules ist es, die Modulparameter fuer eine 6070 FU-Karte      
 an den Hardwaretreiberprozess zu geben.                                        
 Die Ansteuerwerte werden per F_ANSTEUER Modul an den Hardwaretreiber gegeben.  
 Die Modulparameter sind in der Regel kein Bestandteil der Std.-PAV und werden  
 ueber dieses spezielle GAUDI-Modul eingestellt.                                
                                                                                
                                                                                
 -----------------------------------------------------------                    
 Input:                                                                         
 shm_stringpointer *zeilen_info - dieser Pointer liefert den                    
                                  Zugriff auf die komplette                     
                                  Parameterzeile;                               
 shm_stringpointer *zeilen_wert - hierueber erhaelt die Funktion                
                                  den Zugriff auf den tatsaechl.                
                                  Inhalt, naemlich den Wert,                    
                                  in der Parameterzeile;                        
 long        index_oePrfL - die Positionsangabe der Parameter im                
                            Parameterarray des SHM;                             
 long        anzahl - die Anzahl der fuer dieses Modul                          
                      relevanten Parameter;                                     
                                                                                
 Output:                                                                        
    none                                                                        
                                                                                
 ----------------------------------------------------------                     
 Return Value:                                                                  
   = 0:   normaler Durchlauf oder der Schrittbetrieb ist                        
          aktiviert und die Pruefschrittnummer ungleich 1;                      
   > 1:                                                                         
 ----------------------------------------------------------                     
 Beispiel (optional):                                                           
                                                                                
 <\userdoc> 
 ----------------------------------------------------------                     
 History:                                                                       
    $Log: f_rdek_zusatz.C,v $
    Revision 1.4  2004/12/23 10:33:40  jsj3rt
    _VI_5.2.0_R5200000_TT945_JU_GCC3 Portabel

    Revision 1.3  2003/04/17 09:36:11  wiese
    $Head -> $Id wegen log_message

 *    Revision 1.2  2002/02/14 08:04:40  PIJ3SA
 *    userdoc for html-page inserted
 *
 *    Revision 1.1  2001/12/18 10:17:07  sgc3sa
 *    Anpassungen fuer Linux und QT
 *
 *    Revision 1.5  2001/06/12 10:27:02  lehmann
 *    Put_unitaenderung eingefuegt
 *
 *    Revision 1.4  2000/02/15 11:18:10  KLM3SA
 *    Sourcen aus testsystem_21 kopiert.
 *                                                            
    Revision 1.0  97/03/19 lea3sa                                               
    Erstellt                                                                    
                                                                                
 ----------------------------------------------------------                     
 C4                                                                             
int f_rdek_zusatz ( shm_stringpointer  *zeilen_wert
                   ,long               index_on_expPrfLst
                   ,long               anzahl_parameter )
{
	
	 define lokale Variablen 	
	char          ident[] = "@(#)f_rdek_zusatz.C lea3sa ";    // modul identification
	
	long          index_oePL;                       // Zeiger in die expandierte Pruefliste
	long          unit_indexPtr;                    // Index Zeiger auf Unit   
	// long          unitnummer;     
	   
	STRING        wert[ANZAHL_PARAMETER+ 1];           // Werte fuer Modulparameter 
	
	
	long          i;                                // Laufvariable fuer Parameteruebergabe 
	int           schritt;                          // Step-Betrieb ja/nein         
	
	int           ret_val = 0;                      // Returnparameter des Gaudi-Modul 
	
	
	 Umladen der Modulparameter aus dem Shared Memorybereich in den lokalen Bereich; 	
	index_oePL = index_on_expPrfLst;
	
	for ( i = 1; i <= (anzahl_parameter + 1); i++ ) {
		wert[i] = *zeilen_wert->ptr[index_oePL];
		index_oePL++;
	
	}
	
	 Modul-Parameter fuer eine R-Dekade der 6070 werden in den Stringspeicher umgeladen. 	
	// unit_indexPtr = suche_unit_index( wert[ANST_UNIT],unitnummer );
	unit_indexPtr = suche_unit_index( wert[ANST_UNIT] );
	
	if ( unit_indexPtr < 0 )  {
		 ret_val = -1;
	
	}
	else {
		Ssp_pp_verwaltung->unit_ablage[unit_indexPtr].put_unit_aenderung(1);
		i = get_platzmemory( STRING_VERWALTUNG
		                    ,unit_indexPtr
		                    ,ANZ_MODPAR         ); 
		  
		Ssp_pp_verwaltung->string_f[i + 0] = wert[FUNK_UMPROG];
		Ssp_pp_verwaltung->string_f[i + 1] = wert[MESSKANAL_HIGH];
		Ssp_pp_verwaltung->string_f[i + 2] = wert[MESSKANAL_LOW];
		Ssp_pp_verwaltung->string_f[i + 3] = wert[SENSE_HIGH];
		Ssp_pp_verwaltung->string_f[i + 4] = wert[SENSE_LOW];
		
		
		debug_message( __FILE__, __LINE__, DEB_GAUDI
		        ,"\nf_rdek_zusatz Unit-Indexpointer: %d\
          \nF-rdek_zusatz anzahl_parameter : %d\
          \nf_rdek_zusatz PRUEFSCHRITT     : %s\
          \nf_rdek_zusatz PRUEFPOSITION    : %s\
          \nf_rdek_zusatz ANST_UNIT        : %s\
          \nf_rdek_zusatz FUNK_UMPROG      : %s\
          \nf_rdek_zusatz MESSKANAL_HIGH   : %s\
          \nf_rdek_zusatz MESSKANAL_LOW    : %s\
          \nf_rdek_zusatz SENSE_HIGH       : %s\
          \nf_rdek_zusatz SENSE_LOW        : %s\n"
		        ,unit_indexPtr 
		        ,anzahl_parameter
		        ,wert[PRUEFSCHRITT].get_string()
		        ,wert[PRUEFPOSITION].get_string()
		        ,wert[ANST_UNIT].get_string()
		        ,wert[FUNK_UMPROG].get_string()
		        ,wert[MESSKANAL_HIGH].get_string()
		        ,wert[MESSKANAL_LOW].get_string()
		        ,wert[SENSE_HIGH].get_string()
		        ,wert[SENSE_LOW].get_string() );
	
	}
	
	 Pruefprogramm Stepbetrieb 	
	schritt = schrittbetrieb( zeilen_wert, index_oePL );
	
	if ( schritt != 1 ) {
		return( ret_val );
	
	}
	return( ret_val );

}