<< 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
-