CCS Modul   E_KOPPELFELD
 
   $Id: e_koppelfeld.C,v 1.5 2005/09/01 07:11:40 sniff Exp $
   ---------------------------------------------------------------------
   Kurzbeschreibung: 	Anschaltung des Koppelfeldes
   ---------------------------------------------------------------------
   Projekt:		CCS
   Sourcefile:		e_koppelfeld.C
   Autor:		RtW/TEF72-Juilfs (31.1.97)
   Zielsystem:		HP9000/V743 (HP-RT 2.0x), /Sxxx (HP-UX 9.0x)
   Sprache:		C++
   ---------------------------------------------------------------------
   Prototyp:
   MPI Schnittstelle
   void m_dmm(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:
   
   MD,E_KOPPELFELD
   ,PRUEFSCHRITT	1
   ,POSITION		2
   ,KOPPELFELD_ART	3
   ,ELEMENT_NUMMER	4   
   ,PIN_HIGH		5
   ,PIN_LOW		6
   ,SCHALTER_FUNKT	7   

   
   Das CCS Koppelfeld ist in der Lage, 5 verschiedene Arten von Anschaltungen
   vorzunehmen. Dies wird mit dem Parameter "KOPPELFELD_ART" realisiert.
   
   1. -  Anschaltung Messkoppelfeld		MESS_KF
   2. -  Anschaltung Stimulikoppelfeld		STIMULI_KF  oder LOCAL_BUS
   3. -  Anschaltung Schalterkoppelfeld		SCHALTER_KF
   4. -  Anschaltung FU-Koppelfeld		FU_KF
   5. -  Anschaltung Sonderkoppelfeld   	SONDER_KF
   6. -  Anschaltung Lastkoppelfeld   		LAST_KF   
   
   Die Koppelfeldanschaltungen werden mit Hilfe von 5 Structs realisiert. Diese
   Structs werden in dieser Routine besetzt.         
   Jeder Struct besteht aus n-Elementen die wiederum in 3 Einzelelementen
   gesplittet sind. Die Einzelelemente verwalten folgende Information.
   
   - Element1    Pinnumer
   - Element2    Bezugspin
   - Element3    Funktion der Schalter ON oder OFF
   
   Beispiel: Belegung eines Structs
   
   Elementnr.   
            ------
   1        | UB |      Pinnumer 
            |----|   
            | UZ |      Bezugspin  
            |----|
            | ON |      Anschaltungsfunktion
   ---------|----|   
   2        | 23 |      Pinnumer    
            |----|   
            | 44 |      Bezugspin  
            |----|   
            | OFF|      Anschaltungsfunktion   
   ---------|----|
   3        | 55 |      Pinnumer 
            |----|   
            | 66 |      Bezugspin  
            |----|   
            | ON |      Anschaltungsfunktion	 
   ---------|----|   
   4        |    |	
               .
               .
               .
               .
            ------   
   
   
   Der Koppelfeldprozess erkennt nun an den Informationen der einzelnen
   Structs welche Verbindungen benÎtigt werden.

   
   Ûbergabeparameter:
3 KOPPELFELD_ART
     : Welche Koppelfeldeinheit soll angesprochen werden
   
   			 MESS_KF		Messkoppelfeld
			 STIMULI_KF		Stimulikoppelfeld
			 SCHALTER_KF		Schalterkoppelfeld
			 FU_KF			FU-Koppelfeld
			 SONDER_KF		Sonderkoppelfeld 
			 LAST_KF		Lastkoppelfeld
4 ELEMENT_NUMMER
     : Welches Element vom Struct soll besetzt werden
                     fÏr  MESS_KF
                         >1   20
			 oder Eingabe der symbolischen Namen
                         TRIG_01_A
                         TRIG_01_B
                         TRIG_01_C
                         TRIG_01_D
                         DVM_01_MESS
                         DVM_01_MESS_R	
                         COUN_01_A
                         COUN_01_B
                         COUN_01_GATE
                         EXT_CLOCK2
			 
		     fÏr  STIMULI_KF 	 
                         >1   20
			 oder Eingabe der symbolischen Namen
			 U_GEBER_31
			 U_GEBER_32	
			 I_GEBER_15
			 R_DEK_100
			 
                    fÏr  SCHALTER_KF   
                         >1  200
		    fÏr  FU_KF   	 
                         >1   10
		    fÏr  SONDER_KF      	 
                         >1   10
5 PIN_HIGH
           :High Pin vom SteuergerÌt (Codiert im Adapterfile)
                        >MK1 - >MK200
                        >SK1 - >SK200
                        >SK1 - >SK200
                        >SK1 - >SK200
                        >SK1 - >SK200
			- oder 0 keine Angabe
			
                        Highkanal der Anschaltung Bereich 0 - 200
6 PIN_LOW
            :Low  Pin vom SteuergerÌt (Codiert im Adapterfile) 
                        >MK1 - >MK200
                        >SK1 - >SK200
                        >SK1 - >SK200
                        >SK1 - >SK200
                        >SK1 - >SK200
			- oder 0 keine Angabe   
                        Lowkanal  der Anschaltung Bereich 0 - 200
7 SCHALTER_FUNKT
     :Mit der Schalterfunktion werden die Schalter  
                        ein oder ausgeschaltet.
			
                        SCHALTER_FUNKT=ON	Einschalten der Scanner.
                        SCHALTER_FUNKT=OFF	Ausschalten der Scanner.
                        SCHALTER_FUNKT=>xx;yy;	Einschalten der Scanner
						 auf Zwischenkanal xx und
						 yy (High/Low-Kanal).
						Bei SCHALTER_KF wird nur eine
						Angabe benÎtigt.
   
   !!!!!!!!!!! Wichtig !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   
   Dieses Modul bedient sich der selben Ûbergabestructs an den
   Koppelfeldprozess wie das Modul E_SCANNER in den Funktionsmakros.
   D.h. Sollte in Modul E_KOPPELFELD ein MeÞscanner besetzt werden
   und anschlieÞend ein Funktionsmakro gerufen  wird, gewinnt immer
   der Aufruf im Funktionsmakro. Das selbe gilt fÏr den Schalterstuct.
   

   Revision 1.1  2001/12/18 10:28:09  sgc3sa
   Anpassungen fuer Linux und QT

   Revision 1.3  1999/12/22 10:06:30  keppler
   $ID -> $Id

   Revision 1.2  1999/12/22 09:17:15  keppler
   $Header -> $Id

   Revision 1.1  1999/11/23 14:15:24  katzenma
   Initial Version by Sniff

Revision 1.1  97/12/02  14:24:45  14:24:45  juilfs (Joerg Juilfs)
Initial revision

   Revision 1.1  96/07/10  10:26:27  10:26:27  keppler (Fritz Keppler)
   Initial revision
   
   ---------------------------------------------------------------------