CCS Modul   E_OUT
 
   $Id: e_out.C,v 1.21 2006/01/30 08:24:04 gef1sa Exp $
   ---------------------------------------------------------------------
   Kurzbeschreibung: 	Starten der Prozesse laut Beschreibungsfile
   ---------------------------------------------------------------------
   Projekt:		CCS
   Sourcefile:		e_out.C
   Autor:		RtW/TEF72-Juilfs (10.03.97)
   Zielsystem:		HP9000/V743 (HP-RT 2.0x), /Sxxx (HP-UX 9.0x)
   Sprache:		C++
   ---------------------------------------------------------------------
   Prototyp:
   MPI Schnittstelle
   void e_out(shm_stringpointer   *zeilen_wert
	   ,long index1
	   ,long anzahl)
   
   ---------------------------------------------------------------------
   Aufruf: im Vectorinterpreter
   
	 (*funktionen[modulnummer])
	    (Ssp_expand_wert
	     ,p_verwaltung->begin_modulblock
	     ,p_verwaltung->anzahl_modulparameter);

   

   
   ---------------------------------------------------------------------
   Funktionsbeschreibung:
   
   Ûbergabeparameter anhand der Modglobal.stl
   MD,e_out
   ,PRUEFSCHRITT
   ,POSITION
   ,STARTLISTE1		Nickname der Prozesse
   ,STARTLISTE1   	Nickname der Prozesse
   ,STARTLISTE3      	Nickname der Prozesse
   ,E_OUT_FUNKTION      Steuerung des E_OUT Modules

   Aufgabe des Modules ist es, die Hardware zum PrÏfling durchzuschalten,
   die vorher in Modulen (F_ANSTEUER) initialisiert worden ist.
   Dies geschieht in verschiedene Prozesse.
3 STARTLISTE1
4 STARTLISTE1
5 STARTLISTE3
   Die Reihenfolge der Starts der Prozesse wird im Hardwarebeschreibungsfile
   "Default_e_out.cnf" festgelegt.
   Es ist mÎglich diese Standard Reihenfolge im Modul abzuÌndern.
   Dazu dienen die Parameter STARTLISTE1 - STARTLISTE3. In Normallfall
   sind diese Parameter mit dem "-" Zeichen besetzt. Es gilt in diesem Fall die
   Defaultreihenfolge lt. Hardwarebeschreibungsfile. 
   Im Gegensatz zu dem "-" Zeichen kÎnnen die Nicknames der Prozesse 
   eingegeben werden. Diese mÏssen per ";" Zeichen voneinander getrennt werden.
   Reicht ein Parameter (STARTLISTE1) nicht aus um alle Prozesse anzugeben, 
   so kann der nÌchste Parameter (STARTLISTE2-STARTLISTE3) angegeben werden.
   Es wird nun beim Starten der Prozesse genau diese Reihenfolge
   durchgefÏhrt.
   Die Nicknames der Prozesse mÏssen den PrÏflistenautor bekannt sein.

   Beispiel: 
   STARTLISTE1=HT;KO;BO;
6 E_OUT_FUNKTION
	   -			E_OUT wird immer durchlaufen
	   CHANGE_ANST		E_OUT wird nur durchlaufen wenn sich
				ein Ansteuerparameter ändert.
                                Die Wartezeit wird aber immer berücksichtigt

   WARTEZEIT:
   ----------
   Die Wartezeit schlieÞt sich nach dem Starten aller E_OUT Prozesse
   an. Sie wird aus dem Ansteuerparameter gewonnen der im E_WAIT 
   spezifiziert worden ist.
   ZusÌtzlich kann es sein, das noch eine Hardwarewartezeit hinzu kommt.
   Diese Wartezeit kommt aber nur zum Einsatz, wenn die Hardwarezeit
   grÎÞer als die in der PrÏfliste eingegebene Wartezeit ist.
   GRUND: Lastrelais haben z.B. ein Anzugszeit von ca. 10 ms.