CCS Modul   L_ZUSATZ
 
   
   -----------------------------------------------------------------------------
   Funktionsbeschreibung:
   
   Ûbergabeparameter anhand der Modglobal.stl
   MD,L_ZUSATZ
1 ,PRUEFSCHRITT
2 ,POSITION
3 ,ANST_UNIT
4 ,MESS_ART
         Auswahl der Messart/des Messkanals fuer
	                          den gewaehlten Lastzweig:
		                    Strommessung:                "I"
				    Spannungsmessung:            "U"
				    Strom- und Spannungsmessung: "I;U"/"U;I"
				    keine Messung:               "AUS"/"-"
				  soll der Lastzweig abgeschaltet werden,
				  wird der Inhalt ignoriert;
5 ,MESS_HIGH
        bei Spannungsmessung wird hiermit der auf den
		                  Pruefling bezogene Anschalte-Pin ausgewaehlt;
				  die Pin-Bezeichnung wird intern auf den 
				  entsprechenden Kartenpin transformiert 
				  (z.B.: d28 );
				  soll der Lastzweig abgeschaltet oder
				  keine entspr. Messung ausgefuehrt werden,
				  wird der Inhalt ignoriert;
6 ,MESS_LOW
         bei Spannungsmessung wird hiermit der auf den
		                  Pruefling bezogene Messbezugs-Pin ausgewaehlt;
                                  die Pin-Bezeichnung wird intern auf den 
				  entsprechenden Kartenpin transformiert;
				  ( moeglich sind UB- oder Masse-Bezug )
				  soll der Lastzweig abgeschaltet oder
				  keine entspr. Messung ausgefuehrt werden,
				  wird der Inhalt ignoriert;
7 ,MESS_MODE
        Karten-spezif. Sondereinstellungen:
		                  KSM_6269 - zur Anschaltung eines alternativen 
				    Spannungsmesskanals / Parameter: "U_MESSKA_B"
		                  MSM_6270 - zur Anschaltung eines alternativen 
				    Strom- oder/und Spannungs-Messkanals
		                     arameter: "I_MESSKA_A"/"U_MESSKA_B"
				                "IU_MESSKA_AB"
			            (z.Zt. ist implementiert, dass - unabhaengig 
				     vom gewaehlten Parameter - die Messkanaele
				     stets gemeinsam geschaltet werden, um die
				     Fehler-/Kollisionsmoeglichkeiten zu 
				     minimieren )
				   
				  soll der Lastzweig abgeschaltet oder
				  keine entspr. Messung ausgefuehrt werden,
				  wird der Inhalt ignoriert;

   ---------------------------------------------------------------------------
 <\userdoc> 

-- pragmas -----------------------------------------------------------------
#pragma  COPYRIGHT "Robert Bosch GmbH Reutlingen, SaW/TEF72"
#pragma  VERSIONID "$Id: l_zusatz.C,v 1.3 2003/04/17 09:36:11 wiese Exp $"


-- defines -----------------------------------------------------------------

#define EXTERN extern	                              Bei allen Subroutinen 
#define HEADER "$Id: l_zusatz.C,v 1.3 2003/04/17 09:36:11 wiese Exp $" 

#ifndef ret_val_OK
#  define ret_val_OK                          (int)0
#endif

//#define                PRUEFSCHRITT	   1
//#define                POSITION	   2

#define                ANST_UNIT	   (3 - 1)
#define                MESS_ART	           (4 - 1)
#define                MESS_HIGH  	   (5 - 1)
#define                MESS_LOW	           (6 - 1)
#define                MESS_MODE  	   (7 - 1)

#define                ANZAHL_ZUSATZDATEN   4

#define                INT_VERWALTUNG      3
#define                STRING_VERWALTUNG   2


-- includes ----------------------------------------------------------------
#include "shm_syscom.H"
#include "libccs.H"	// Zentrale Lib
#include "libtestmodul_pool.H"	// Modul Lib



-- external functions / variables ------------------------------------------

-- global variables (nur im  "main" erlaubt) -------------------------------

 Whatstring 
static char ident[] = "@(#)$Header: /rweglobal/cvs/testsystem/ccs/6_testmodul_pool/bosch_bus_qt/module/l_lastmodule/s/src/l_zusatz.C,v 1.3 2003/04/17 09:36:11 wiese Exp $";


int l_zusatz( shm_stringpointer  *zeilen_wert
	     ,long               index_on_expPrfLst
	     ,long               anzahl_parameter )
{
   -- local variables ------------------------------------------------------- 
  
   long    i;				// Laufvariable fÏr ParameterÏbergabe
   
   int	   schritt;			// Schritt ausfÏhren   
   long	   unit_index;          	// Index Zeiger auf Unit   

   int     ret_val = ret_val_OK;
   
   
   //---------------------------------------------------------------------------
   // Die Zusatzdaten werden in den Stringspeicher umgeladen
   //---------------------------------------------------------------------------
   unit_index = suche_unit_index( *zeilen_wert->ptr[index_on_expPrfLst + ANST_UNIT] );
   
   if( unit_index < 0 ) 
   {
      ret_val = -1;
   }
   else
   {
      i = get_platzmemory( STRING_VERWALTUNG
  			  ,unit_index
			  ,ANZAHL_ZUSATZDATEN );
    
      Ssp_pp_verwaltung->unit_ablage[unit_index].put_unit_aenderung(1);
      Ssp_pp_verwaltung->string_f[i+0] = *zeilen_wert->ptr[index_on_expPrfLst + MESS_ART];
      Ssp_pp_verwaltung->string_f[i+1] = *zeilen_wert->ptr[index_on_expPrfLst + MESS_HIGH]; 
      Ssp_pp_verwaltung->string_f[i+2] = *zeilen_wert->ptr[index_on_expPrfLst + MESS_LOW];
      Ssp_pp_verwaltung->string_f[i+3] = *zeilen_wert->ptr[index_on_expPrfLst + MESS_MODE];   
   
   
      ----------------------------------------------------------------------
      debug_message( __FILE__, __LINE__, DEB_GAUDI
		    ,"Unitindex: %d - L_ZUSATZ"
		     "\nMESS_ART:   %s"
		     "\nMESS_HIGH:  %s"
		     "\nMESS_LOW:   %s"
		     "\nMESS_MODE:  %s"
		    ,unit_index
		    ,(const char *)*zeilen_wert->ptr[index_on_expPrfLst + MESS_ART]
		    ,(const char *)*zeilen_wert->ptr[index_on_expPrfLst + MESS_HIGH]
		    ,(const char *)*zeilen_wert->ptr[index_on_expPrfLst + MESS_LOW]
		    ,(const char *)*zeilen_wert->ptr[index_on_expPrfLst + MESS_MODE] );
      ----------------------------------------------------------------------
     
      
      ----------------------------------------------------------------------      
      
      *                    Schrittbetriebshandler starten 
      
      schritt = schrittbetrieb( zeilen_wert, index_on_expPrfLst );      
      if ( schritt != 1 ) 
         ret_val = ret_val_OK;         
   }
   
     
   return( ret_val );
   
}   Ende von 'l_zusatz ()' 



-- un_defines --------------------------------------------------------------

#undef  ANST_UNIT		
#undef  MESS_ART
#undef  MESS_HIGH
#undef  MESS_LOW
#undef  MESS_MODE

#undef  ANZAHL_ZUSATZDATEN

#undef  INT_VERWALTUNG
#undef  STRING_VERWALTUNG



 - End of file ---------------------------------------------------------------
   Historie:
   $Log: l_zusatz.C,v $
   Revision 1.3  2003/04/17 09:36:11  wiese
   $Head -> $Id wegen log_message

   Revision 1.2  2002/02/14 08:03:52  PIJ3SA
   userdoc for html-page inserted

   Revision 1.1  2001/12/18 10:39:34  sgc3sa
   Anpassungen fuer Linux und QT

   Revision 1.8  2001/06/19 09:14:26  lehmann
   wegen linux von OK -> ret_val_OK

   Revision 1.7  2001/06/12 10:27:02  lehmann
   Put_unitaenderung eingefuegt

   Revision 1.6  2001/05/23 13:00:25  lehmann
   put_unit_aenderung eingeführt

   Revision 1.5  2000/02/16 12:13:52  klm3sa
   *** empty log message ***

   Revision 1.4  2000/02/15 11:24:08  KLM3SA
   Sourcen aus testsystem_21 kopiert.

   Revision 1.2 ohm3sa/19970910: Umstellung der Debug-Ausgabe auf 'DEB_GAUDI';
                                 Verzicht auf das Umladen der Shared Memory-Daten
                                 in lokalen Speicher; 
   Revision 1.1 satef70h/19960514: Aenderung des Funktionstyps von "void" auf 
                                   "int" nach Absprache mit RtW;
   Revision 1.0 satef7oh/19960523: Initial revision

   ---------------------------------------------------------------------------