|
//-----------------------------------------------------------------------------
// Datalogger testprogram
//-----------------------------------------------------------------------------
INCLUDE rtcu.inc
VAR
LogWriter : logWrite; // FB used for writing log entries
LogReader : logRead; // FB used for reading entry at current read position
END_VAR;
//---------------------------------------------------------------------------
// Mainprogram
//---------------------------------------------------------------------------
PROGRAM test;
// Test if the Datalogger is initialized
IF NOT logIsInitialized(key:=4712) THEN
// Initialize datalogger system, 2 values per record, 10 records in total
logInitialize(key:=4711, numlogvalues:=2, numlogrecords:=10);
DebugMsg(Message:="Log initialized");
ELSE
DebugMsg(Message:="Log was already initialized");
END_IF;
// Check how many records we have room for in the datalogger
// Should be 10
DebugFmt(Message:="(a) LogMaxNumOfRecords() = \4", v4:=logMaxNumOfRecords());
// Check how many values in each record
// Should be 2
DebugFmt(Message:="(b) LogValuesPerRecord() = \1", v1:=logValuesPerRecord());
// Make an entry in the datalogger
LogWriter(tag:=1, value[1]:=10, value[2]:=20);
// And another
LogWriter(tag:=2, value[1]:=11, value[2]:=21);
// Check how many records present in the datalogger
// Should be 2
DebugFmt(Message:="(c) LogNumOfRecords() = \4", v4:=logNumOfRecords());
// Set read position to the oldest (first) record
logFirst();
// Fetch data from read position
LogReader(); // LogReader.tag is 1, value[1] is 10, value[2] is 20
// Advance read position (forward in time)
logNext();
LogReader(); // LogReader.tag is 2, value[1] is 11, value[2] is 21
// LogReader.tag should be 2
DebugFmt(Message:="(d) LogReader.tag = \1", v1:=LogReader.tag);
// Advance read position (backward in time)
// We are now back to the first record
logPrev();
LogReader(); // LogReader.tag is 1, value[1] is 10, value[2] is 20
// LogReader.tag should be 1
DebugFmt(Message:="(e) LogReader.tag = \1", v1:=LogReader.tag);
// Modify the current record
logRewriteTag(tag:=123); // This will change the tagvalue of the current record to 123
// Now read record
LogReader(); // LogReader.tag is now 123, value[1] is 10, value[2] is 20
// LogReader.tag should be 123
DebugFmt(Message:="(f) LogReader.tag = \1", v1:=LogReader.tag);
DebugFmt(Message:="(f) LogReader.year = \1", v1:=LogReader.year);
DebugFmt(Message:="(f) LogReader.month = \1", v1:=LogReader.month);
DebugFmt(Message:="(f) LogReader.day = \1", v1:=LogReader.day);
DebugFmt(Message:="(f) LogReader.hour = \1", v1:=LogReader.hour);
DebugFmt(Message:="(f) LogReader.minute = \1",v1:=LogReader.minute);
DebugFmt(Message:="(f) LogReader.second = \1",v1:=LogReader.second);
BEGIN
END;
END_PROGRAM;
|