|
CCS Modul M_DMM |
$Id: m_dmm.C,v 1.8 2006/01/09 16:04:14 gef1sa Exp $
---------------------------------------------------------------------
Kurzbeschreibung: Aufruf des Prozesses VXI_DMM
---------------------------------------------------------------------
Projekt: CCS
Sourcefile: m_dmm.C
Autor: RtW/TEF72-Juilfs (12.12.95)
Zielsystem: HP9000/V743 (HP-RT 2.0x), /Sxxx (HP-UX 9.0x)
Sprache: C++
---------------------------------------------------------------------
Prototyp:
MPI Schnittstelle
void m_dmm(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:
Dieses Modul Ïbergibt seine Parameter an den Prozess VXI_DMM.
Im Prozess VXI_DMM werden dann die Messungen durchgefÏhrt.
Das MeÞergebnis wird per Returnparameter aus diesem Modul weiter
an das Modul M_AUSWERTEN gegeben. Die FunktionalitÌt des Multimeters
wird mit den Ûbergabeparametern eingestellt.
Beschreibung der ModulÏbergabeparameter:1 PRUEFSCHRITTGAUDI PrÏfschritt ------------------------------2 POSITION
PAV- Position ------------------------------3 VXI_GERAET
Name des GerÌtes laut PAM Beschreibungsfile :DVM_01 :DVM_02 ------------------------------4 DMM_FUNKTION
MeÞfunktion :DCV :ACV :RESISTANCE ------------------------------5 DMM_RANGE
Messbereich in Volt Kohm 0.0 Autorange (Sonderfunktion) ------------------------------6 DMM_APER_TIME
Integrationszeit in s
Folgende Integrationszeiten können eingestellt werden.
10 us, 100us, 2,5 ms, 266, ms
sollte ein Integrationswerteingabe zwischen 2 Werten liegen, wird immer der nähere
verwendet.
------------------------------7 DMM_TRG_SOURCETriggerart :IMMEDIATE interner Trigger :EXT externer Trigger :HOLD Halten des MeÞergebnisses ------------------------------8 DMM_TRG_COUNT
Anzahl der Triggerimpulse ------------------------------9 DMM_TRG_DELAY
Delay zwischen 1. Trigger und 1.Messung ------------------------------10 DMM_SMP_SOURCE
Quelle des Triggerimpulses :IMMEDIATE Interner Trigger :TIMER Keine Beschreibung :SOFTWARE :CONTROLREG ------------------------------11 DMM_SMP_COUNT
Anzahl von Messungen per Trigger -------------------------------12 DMM_SMP_PERIOD
Zeitdauer zwischen 2 Messungen -------------------------------13 DMM_AUTOZERO
:ON :OFF :ONCE -------------------------------14 DMM_OFFSET_COM
:TRUE :FALSE -------------------------------15 DMM_INTERRUPT
-------------------------------16 DMM_MASKE
-------------------------------17 DMM_MODUS
Steuerfunktion des DMM Einstellen Arm Lesen INIT + ARM + READ + S + + AR (fÏr ACV) + + M (= NORM) + + + -------------------------------18 R_MESSWERT
RÏckgabe des Messwertes -------------------------------19 TIMEOUT20 DIMENSION21 MESSTEILERFAKTOR
######################################################################
Status:
Bisher wurden beim Aufruf von ACVINIT 2 Sekunden gewartet. Dies
soll mit einer neuen Prozessstruktur geändert werden. Die Funktion
RACV war dann relativ schnell <200 ms.
Die Prüfzeit erhöhte sich dadurch um 2 Sekunden
Änderung des Ablauf:
Ab der CCS Release 5.2 wird ist es möglich für das 2. DVM einen eigenen Prozess
aufzusetzen. Hiermit sollen die ACVINIT Aufrufe in den Backround Prozess
abgearbeitet werden.
Hieraus ergeben sich folgende Fälle.
1.) Es gibt nur einen Prozess VD
Bei Aufruf des ACVINIT wird der VI sofort wieder freigegeben und beim nächsten
Aufruf von M_DMM die restliche Initialisierunszeitzeit gewartet.
Dies bedeutet, dass ggf. beim nächsten DVM Aufruf DCV 2 Sekunden gewartet wird.
Grund: Die ACVINIT ist noch nicht abgeschlossen.
2.) Es gibt einen weiteren Prozess VD ---> V2
Bei Aufruf des ACVINIT wird der VI sofort wieder freigegeben und beim nächsten
Aufruf von M_DMM die restliche Initialisierunszeitzeit gewartet.
Da die DCV Messungen klassisch mit dem DVM_01 durchgeführt werden,
und das DVM_01 über dem Prozess VD gesteuert wird, gibt es keinen
Performance Verlust. Beim Aufsetzen des RACV wird eventuell die Initialisierung
Zeit des ACVINIT noch abgewartet.
Der Prüflisten Autor muß darauf achten das zwischen Aufruf ACVINIT und RACV
ca 2 Sekunden in der Prüfung verbraucht werden.
bei diesem Verfahren geht die InitialisierungsZeit nicht in die Prüfzeit ein,
da der Prozess V2 eigenständig das DVM_02 initialisiert, und vor der Initialisierung
den VI freigegeben hat.
Beim Umschalten des V2 Prozesses auf DCV Messungen muß natürlich wieder mit
einer uminitialisierungszeit von ca 300 ms gerechnet werden. Dies war aber
auch schon vorher der Fall.