IRHL_DynReadValueArray

<< Click to Display Table of Contents >>

Navigation:  MscDll Referenzhandbuch > HighLevel-Funktionen (Optional) >

IRHL_DynReadValueArray

Über diese Funktion können die dynamischen Messwerte als Array ausgelesen werden.

 

Definition


MSC_STATUS

IRHL_DynReadValueArray(unsigned long ulDynNo, signed long aslValues[], unsigned long ulMaxValues, unsigned long ulIdxFirstValue, unsigned long ulChannelNo, unsigned long *pulValuesCopied);

 

Parameter


ulDynNo

Nummer der dynamischen Messung (1 oder 2)

aslValues

Array, in welches die Messwerte geschrieben werden sollen.

ulMaxValues

Größe des Arrays aslValues (Anzahl der Array-Elemente, NICHT Anzahl der Bytes)

ulIdxFirstValue

Index des ersten Wertes, der kopiert werden soll (beginnend bei 0). 0 kopiert alle Werte.

ulChannelNo

Nummer des Messkanals, dessen dynamische Messwerte kopiert werden sollen.

pulValuesCopied

Anzahl der tatsächlich kopierten Messwerte.

 

Rückgabewert


Die Funktion gibt im Erfolgsfall MSC_STATUS_SUCCESS zurück, bei Fehlern wird der Fehlercode zurückgegeben.

 

Kommentare


 

Diese Funktion muss für jeden Messkanal der dynamischen Messung separat aufgerufen werden. Wenn beispielsweise die Messkanäle 3, 4 und 9 in der dynamischen Messung verwendet werden, so muss diese Funktion 3x aufgerufen werden. Beim ersten Aufruf ist der Parameter ulChannelNo 3, beim zweiten Aufruf 4 und beim dritten Aufruf 9.

 

Es ist möglich die Messwerte auch blockweise auszulesen. So können während einer noch aktiven dynamischen Messung die bereits verfügbaren dynamischen Messwerte ausgelesen und sofort angezeigt werden, während weitere Messwerte noch folgen werden. Relevant hierfür sind die Parameter ulIdxFirstValue sowie pulValuesCopied. In folgendem Pseudo-Code werden die Messwerte blockweise in einer Timer-Routine ausgelesen:

unsigned long ulValuesCopied = 0;        // Diese Variable beim Start einer dynamischen Messung zurücksetzen
signed long aslValues[1000];
 
void TimerEvent(void)
{

 unsigned long ulTemp = 0;
 IRHL_DynReadValueArray(1, aslValues, 1000, ulValuesCopied, 3, &ulTemp);
 ulValuesCopied = ulValuesCopied + ulTemp;
 // Update GUI
}

 

Intern verwendete Funktionen der MscDLL


-