User Documentation

Datenrekorder
Systemhandbuch
2696780000/02/04.2020
91
snprintf(varPath, sizeof varPath, "APPL.MEM.%s", scVarNamePres);
rc = DataRecApiAddVar(sP1Id, varPath, 0, &sPresId);
ReturnIfNot(rc == DataRecApiResultOk && sPresId != DataRecApiNoId);
}
/
****************************************************************************/
void ModuleExit() {
MemApiRemoveVar(scVarNamePres);
MemApiRemoveVar(scVarNameTemp);
MemApiExit();
LogApiTrace(traceid, "TestDataRecApp unloaded");
LogApiRemoveId(traceid);
}
/
****************************************************************************/
void ModuleStart() {
DataRecApiResult rc;
LogApiTrace(traceid, "Starting TestDataRecApp");
rc = DataRecApiStartRecording(sP1Id);
ReturnIfNot(rc == DataRecApiResultOk);
}
/
****************************************************************************/
void ModuleStop() {
DataRecApiResult rc;
LogApiTrace(traceid, "Stopping TestDataRecApp");
rc = DataRecApiStopRecording(sP1Id);
ReturnIfNot(rc == DataRecApiResultOk);
}
/
****************************************************************************/
void ModuleCallback(UserFuncParam *arg, uint32_t provArg) {
DataRecApiResult rc;
rc = DataRecApiSampleValues(sP1Id);
ReturnIfNot(rc == DataRecApiResultOk);
sTemp += 1;
sPres += 0.1;
}
14.7.2 Profil mit automatischer Aufzeichnung
Das folgende Beispiel erweitert das Vorangegangene in zwei Punkten: Zum
einen erfolgt die Aufzeichnung automatisch. Dazu wird mit DataRecApiSet-
RecContext eine Abtastung im Abstand von 10ms eingestellt, weiters mit
DataRecApiSetRecCount ein Startverzug von 2 Sekunden und eine Auf-
zeichnungsdauer von 5 Sekunden. Zum anderen wird ein Rückruf aus der
Aufzeichnung in die Applikation zwecks Minimum-Maximum-Ermittlung konfi-
guriert.
void ModuleInit() {
DataRecApiInfo info;
DataRecApiResult rc;
char varPath[80];
DataRecApiContext ctx;
DataRecApiCount cnt;
/* for comitted lines see example "manual recording" */
snprintf(varPath, sizeof varPath, "APPL.MEM.%s", scVarNamePres);
rc = DataRecApiAddVar(sP1Id, varPath, 0, &sPresId);
ReturnIfNot(rc == DataRecApiResultOk && sPresId != DataRecApiNoId);
ctx.intervalUs = 10000;
ctx.priority = 16;