CCS Modul   P_VERFOLGUNG
 
   $Id: p_verfolgung.C,v 1.9 2005/09/01 07:11:40 sniff Exp $
   ---------------------------------------------------------------------
   Kurzbeschreibung: 	PrÏfvortschrittskontrolle durch Fertigung
   ---------------------------------------------------------------------
   Projekt:		CCS
   Sourcefile:		p_verfolgung.C
   Autor:		RtW/TEF72-Keppler (10.12.97)
   Zielsystem:		HP9000/V743 (HP-RT 2.0x), /Sxxx (HP-UX 9.0x)
   Sprache:		C++
   ---------------------------------------------------------------------
   Prototyp:
   MPI Schnittstelle
   void p_verfolgung(shm_stringpointer *zeilen_info
   ,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:
   
   Aufgabe des Moduls ist, die Fertigungfortschrittskontrolle fÏr die 
   SteuergerÌte zu gewÌhrleisten. Mit diesem Modul kÎnnen StandtypabhÌngig
   verschiedene Aktionen durchgefÏhrt werden, wobei der volle Funktionsumfang
   der SKM und PSS bereitgestellt ist.
   Die Aktion wird nur ausgefÏhrt, wenn 
   	- die PrÏfliste bisher FEHLERFREI durchlaufen wurde
	- der Schrittbetrieb NICHT aktiviert wurde
	
   
   Ûbergabeparameter    
   
   
   MD,P_VERFOLGUNG
   ,PRUEFSCHRITT	1
   ,POSITION		2
   ,MODUS		3
   ,BEFEHL		4
   ,DATUM0		5
   ,STANDTYP_1_8	6
   ,OFFSET_1_8		7
   ,DATUM1		8
   ,DATUM2		9
   ,DATUM3		10
   ,DATUM4		11
   ,DATUM5		12
   ,DATUM6		13
   ,DATUM7		14
   ,DATUM8		15
   ,TUG_S1		16
   ,TOG_S1		17
   ,TUG_S2		18
   ,TOG_S2		19
   ,TUG_S3		20
   ,TOG_S3		21
   ,TUG_S4		22
   ,TOG_S4		23
   ,TUG_S5		24
   ,TOG_S5		25
   ,TUG_S6		26
   ,TOG_S6		27
   ,TUG_S7		28
   ,TOG_S7		29
   ,TUG_S8		30
   ,TOG_S8		31
   ,CODE_WAHL		32
   ,ZEIGER_ANF		33
   ,ZEIGER_END		34
   ,ERGEBNIS		35
   ,FEHLERFLAG		36
   
 ----- Eingabeprameter ------------
3 MODUS:
                                      
   	SCHREIB: Hiermit kann Komunikation mit dem SG auf-
   		genommen werden. Der Sendestring zum SG, setzt
   		sich aus DATUM0 und DATUMx wie unter DATUM0
   		beschrieben, zusammen.
		Evtl. mit SAMMLE eingestellte Daten werden hiermit
		ebenfalls Ïbertragen.
   		Die vom SG als Antwort kommenden Daten kÎnnen
   		auf ihre Richtigkeit ÏberprÏft werden.
   		Um den zurÏckgekommenen String auswerten zu 
   		kÎnnen, muÞ der ZEIGER_ANF auf den Anfang der
   		auszuwertenden Daten zeigen.
   		Der ZEIGER_END zeigt bis an welche Stelle der 
   		String ausgewertet werden soll.
   		Die Differenz von ZEIGER_ANF und ZEIGER_END
   		darf maximal 3 betragen.
   		Die Art der Auswertung wird unter CODE_WAHL
   		eingetragen.
	SAMMLE:
		Hiermit kÎnnen beliebig Strings zusammengebaut 
		werden mittels mehrfachem Aufruf dieses Moduls.
		Es gilt wie unter modus SCHREIB, daÞ die unter DATUM0
		stehenden Daten StandtypunabhÌngig in den String eingebaut
		werden.
   	INCR_ERRCOUNTER: 
	        Mit diesem Modus kann z.B. ein Fehlerflag im SG 
   		inkrementiert werden. Hierzu muÞ das Fehlerflag in einem
		frÏheren PrÏfschritt mit diesem Modul oder p_auftrag ausgelesen
		werden und per Variable an DATUM1 || ... || DATUM8 Ïbergeben 
		werden. Jetzt wird dieser Wert um 1 inkrementiert, und wie mit 
		Modus SAMMLE in den Datenstring zum SG eingebaut.
4 BEFEHL:
Siehe p_auftrag:
6 STANDTYP_1_8:
Hier wird die Standtypen eingetragen, bei denen das 
   		entsprechende Datum eingetragen wird.
   		Z.B. (HT||EP||TT||AB||TT||TT||TT||TT)
   		Taucht ein Standtyp mehr als 1 mal auf, so wird bei 
   		jeder zugehÎrigen Toleranz geprÏft ob der Messwert
   		innerhalb dieser Toleranz ist.
7 OFFSET_1_8:
  Offset zum ZEIGER_ANF und ZEIGER_END abhaengig vom 
   		Standtyp. Z.B. (00||04||00||00||00||00||00||00)
5 DATUM0:
 	    Die hier eingetragenen Daten wie Befehlsbyte
   		(Blocktitel) oder Adressen werden StandtypunabhÌngig  
   		zum SG gesendet. Der Datenstring zum SG
   		wird wie folgt zusammengesetzt.       
   		Zuerst alle DATUM0 bis XX
   		Dann der StandtpabhÌngige String (z.b. DATUM1)
8 DATUM1
  :  Daten an das SteuergerÌt               
       DATUM1 - DATUM4 werden abhÌngig vom Standtyp
   		an das SG gesendet. NÌmlich DATUM1 bei STANDTYP1
   		usw.
   
   	:
15 DATUM8:
16 TUG_S1:
Toleranz fÏr Standtyp 1                  
   	:
31 TOG_S8:
Toleranz fÏr Standtyp 8
33 ZEIGER_ANF:
    Zeigt auf den Anfang des RÏckgabestrings nach
   		dem Antwortblocktitel (sofern forhanden) wenn
   		er auf 1 gesetzt ist.
34 ZEIGER_END:
    Die Auswertung ergfolgt bis zu diesem Zeiger-
   		stand. Er darf maximal 3 grÎÞer sein als
   		ZEIGER_ANF wenn in CODE_WAHL nichts eingetragen
   		ist.
		
 ----- Rueckgabeparameter ------------
35 ERGEBNIS:
Hier wird das Ergebnis innerhalb der Zeiger (Hexstring)
   		im Gutfall,
   		oder eine Fehlermeldung im Schlechtfall zurÏckgegeben.
36 TUG_RET:
Hier wird die verwendete Toleranzuntergrenze zurueckgegeben.
   		(Fuer gleiche Standtypen koennen verschieden Toleranzen 
		verwendet werden. ACHTUNG: Statistik)
37 TOG_RET:
Hier wird die verwendete Toleranzobergrenze zurueckgegeben.
   		(Fuer gleiche Standtypen koennen verschiedene Toleranzen
		verwendet werden. ACHTUNG: Statistik)
38 FEHLERFLAG:
 Wird kein Messwert innerhalb der Toleranz gefunden, oder tritt
   		ein anderer Fehler auf, so wird dieses Flag gesetzt.