Manual
Den OID dataStore.queryCommandAndStatus.0 lesen, bis der Wert
nicht mehr 2 (runQuery) ist. Der neue Wert zeigt an ob die Abfrage erfolgreich
war oder nicht. Ein Wert von 3 (dataReady) oder 4 (dataPartialReady) gibt an,
dass die Abfrage erfolgreich war, und das Ergebnis in der queryResultsTable
abgerufen werden kann.
Hinweis: je größer der Wert für das Abfrage-Intervall (reportingInterval) ist, und
je mehr OIDs im Messwertspeicher gespeichert sind, desto länger dauert es
das Ergebnis der Abfrage aufzubereiten. Dies kann u.U. mehrere Minuten in
Anspruch nehmen!
Die maximale Anzahl von Zeilen in der resultsTable ist 255. Wird bei der
Abfrage also ein größerer Zeitraum abgedeckt als hier dargestellt werden
kann, wird als Status der Wert 4 (dataPartialReady) ausgegeben
e) Die Anzahl der Zeilen in der resultsTable über den OID
dataStore.numRowsInResult.0 auslesen.
Hinweis: wenn die Abfrage erfolgreich war (d.h. kein Fehler aufgetreten ist),
aber im gegebeben Zeitintervall keine Messwerte zur Verfügung stehen, wird
hier ein Wert von 0 ausgegeben.
f) Die resultsTable auslesen –
dataStore.queryResultsTable.queryResultsEntry.rowMeasureT
ime.x enthält den UTC Zeitstempel zu den Messwerten die in
dataStore.queryResultsTable.queryResultsEntry.rowValues.x
.ausgegeben werden.
g) Den OID "dataStore.resultEndTime.0" auslesen. Hier wird das Ende des in der
Abfrage analysierten Zeitraumes ausgegeben. Wenn die gelieferten Daten
nicht den gewünschten Zeitraum umfassen (und
dataStore.queryCommandAndStatus.0 den Wert dataPartialReady
(4) geliefert hat), berechnet man daraus den neuen queryStartTime
Zeitstempel und wiederholt die Abfrage ab Schritt c) !
h) Die Abfrage (d.h. die Parameter und das Ergebnis) durch Schreiben eines
Werted 7 (done) auf dataStore.queryCommandAndStatus.0
zurücksetzen.
LCom
Seite 78 von 159