|
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 STARTLISTE14 STARTLISTE15 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.