|
CCS Modul E_AWG |
*
* Revision 1.1 2001/12/18 10:52:19 sgc3sa
* Anpassungen fuer Linux und QT
*
* Revision 1.5 2001/06/19 14:42:58 lehmann
* Linux ändeungen
*
* Revision 1.4 2000/02/16 12:15:28 klm3sa
* *** empty log message ***
*
* Revision 1.3 1999/12/22 10:06:01 keppler
* $ID -> $Id
*
* Revision 1.2 1999/12/22 09:12:30 keppler
* $Header -> $Id
*
* Revision 1.1 1999/12/20 15:47:02 juilfs
* Init
*
* Revision 1.1 1999/11/23 14:23:40 katzenma
* Initial Version by Sniff
*
Revision 1.0 1999/05/05 mr/SSE (M.Riethmueller)
Erstellt
Includes
!! changed code will be overwritten!!
-- pragmas -----------------------------------------------------------
#pragma COPYRIGHT "Robert Bosch GmbH Salzgitter, SaW/TEF7.2"
#pragma VERSIONID "$Id: e_awg.C,v 1.4 2004/03/23 15:53:45 lehmann Exp $"
-- defines -----------------------------------------------------------
#define HEADER "$Id: e_awg.C,v 1.4 2004/03/23 15:53:45 lehmann Exp $"
#define EXTERN extern Bei allen Subroutinen
-- includes ----------------------------------------------------------
//#include "unit_nummern.H"
#include "shm_syscom.H"
#include "ccl_defines.H"
#include "libccs.H"
#include "libtestmodul_pool.H"
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
-- external functions / variables ------------------------------------
extern struct Pruefprogramm_verwaltung *Ssp_pp_verwaltung;
-- global variables (nur im "main" erlaubt) -------------------------
locale variables
static const unsigned short PRUEFSCHRITT = 1;
static const unsigned short POSITION = 2;
static const unsigned short ANSTEUER_UNIT = 3;
<userdoc>
Funktionsbeschreibung:
Index der expandierten Pruefliste, und der Name der
anzusteuerenden Unit werden ermittelt und via Message-Queue
an den Prozess AWG uebermittelt.
Beschreibung der Moduluebergabeparameter:1 PRUEFSCHRITT
GAUDI Pruefschritt
------------------------------2 POSITION
PAV- Position
------------------------------3 ANSTEUER_UNIT
z.B.: GEN_AMPL1_1 (siehe aktuelles HW-Config-File)
------------------------------4 SIGNALFILE
Name der Signaldatei ohne Extension (".cnf")
------------------------------5 START_SIGNAL
Name des zu startenden Signals falls nicht gleich wie P4
------------------------------6 CLOCK
INT|INTERN / EXTERN: Grundtakt
------------------------------7 OUTPUT
ON / OFF: Signal soll am Ausgang anliegen ja/Nein
------------------------------8 IMPEDANCE
NORM|50 / LOW: Impedanz des Ausgangs
------------------------------9 ATTENUATOR
ON / OFF: Abschwaecher ein/aus
------------------------------10 TIEFPASS
ON / OFF: Tiefpass ein/aus
------------------------------11 RUN_MODE
SINGLE / LOOP: Signal als 'Single Shot' oder kontinuierlich
------------------------------12 RUN_STOP
RUN / SYN / STOP / -
RUN: Signal sofort starten
SYN: Beide Kanaele starten (vorher anderen Kanal mit '-'
programmieren)
STOP: Signal stoppen
'-': nur Signal programmieren (spaeter mit SYN starten)
------------------------------13 IN_TR_MODE
SOF|SOFTWARE/FRONT/TTL/NONE/FREE
------------------------------14 IN_TTL_TR
OFF/0/1/2/3/4/5/6/7
------------------------------15 IN_TR_ART
OFF/EDGE/LEVEL
------------------------------16 IN_TR_FLAN
OFF/POS/NEG
------------------------------17 OU_TR_MODE
OFF/MARKER/FRONT
------------------------------18 OU_TTL_TR
OFF/0/1/2/3/4/5/6/7
------------------------------19 FREQ_PREC
Maximal erlaubte Frequenzabweichung in Promille, sonst
Fehlermeldung
------------------------------20 AMPL_PREC
Maximal erlaubte Amplitudenabweichung in Promille, sonst
Fehlermeldung
------------------------------
Input:
shm_stringpointer *zeilen_wert - hierueber erhaelt die Funktion
den Zugriff auf den tatsaechl.
Inhalt, naemlich den Wert,
in der Parameterzeile;
long index_oePrfL - die Positionsangabe der Parameter im
Parameterarray des SHM;
long anzahl - die Anzahl der fuer dieses Modul
relevanten Parameter;
Output: none
----------------------------------------------------------
Return Value:
= 0: normaler Durchlauf oder der Schrittbetrieb ist
aktiviert und die Pruefschrittnummer ungleich 1;
= -1: die Funktion "msg_send_wait" meldete einen Fehler,
der auf ein Kommunikationsproblem oder einen Timeout
hindeutet;
die Interprozess-Kommunikation zum AWG-Prozess wurde
mit einer Fehlermeldung beendet;
----------------------------------------------------------
Beispiel (optional):
----------------------------------------------------------