Reporting Collector Time
Der Reporting Collector Time sammelt die Daten der Eingangskanäle und sendet die Daten je nach Konfiguration nach einem Ereignis oder nach dem Befüllen des Buffers an den Reporting Server. Ein Ereignis wird ausgelöst, wenn die konfigurierte Einschaltzeit erreicht wird. Die Einschaltzeit und die Tage der Wochen lassen sich konfigurieren.
Syntax
Definition:
FUNCTION_BLOCK FB_Rpt_CollectorTime
VAR_OUTPUT
ipResultMessage: Tc3_EventLogger.I_TcMessage;
bError: BOOL;
bNewResult: BOOL;
bConfigured: BOOL;
fbTimeLastEvent: FB_ALY_DateTime;
fbTimeUntilNextSwitch: FB_ALY_Timespan;
nBufferCount: UDINT;
END_VAR
Ausgänge
Name | Typ | Beschreibung |
---|---|---|
ipResultMessage | Beinhaltet nähere Informationen zum aktuellen Rückgabewert. Für diesen speziellen Schnittstellenzeiger ist intern sichergestellt, dass er immer gültig/zugewiesen ist. | |
bError | BOOL | Der Ausgang ist |
bNewResult | BOOL | Wenn ein neues Ergebnis berechnet wurde, ist der Ausgang |
bConfigured | BOOL | Zeigt |
fbTimeLastEvent | FB_ALY_DateTime | Speichert den Zeitstempel der zuletzt versendeten Nachricht an den Reporting-Server. |
fbTimeUntilNextSwitch | FB_ALY_Timespan | Gibt die Zeitspanne bis zum nächsten Event an. |
nBufferCount | UDINT | Gibt die Anzahl an Elementen im Buffer an. |
Methoden
Name | Typ | Beschreibung |
---|---|---|
Call() | Local | Methode zur Berechnung der Ausgänge für eine bestimmte Konfiguration. |
Configure() | Local | Allgemeine Konfiguration des Algorithmus mit seinen parametrisierten Bedingungen. |
Reset() | Local | Setzt alle internen Zustände oder die bisher durchgeführten Berechnungen zurück. |
SetChannelValue() | Local | Methode zur Übergabe von Werten an den Algorithmus. |
SetDisplayName() | Local | Methode zur Beschreibung des Eingangskanals. |
Beispiel
VAR
fbRpt_CollectorTime: FB_Rpt_CollectorTime(sNetID:='', nNumChannels:=3);
fbSystemTime : FB_ALY_GetSystemTime;
fDataInCh1: LREAL;
fDataInCh2: LREAL;
fDataInCh3: LREAL;
tTimeOn : LTIME;
nDayOfWeekMask : WORD;
sReportName: STRING(255);
sDataKey: STRING(255);
nBufferSize: UDINT;
bIncludeTimestamps: BOOL;
aChannelNames: ARRAY [1..3] OF STRING(255);
END_VAR
// Configure algorithm
IF bConfigure THEN
bConfigure := FALSE;
sReportName:= 'Beckhoff Report Template';
sDataKey:= 'DataKey101';
nBufferSize:= 1;
bIncludeTimestamps:= TRUE;
aChannelNames[1]:= 'Min';
aChannelNames[2]:= 'Max';
aChannelNames[3]:= 'Avg';
tTimeOn := LTIME#5H;
nDayOfWeekMask := 2#0011_0101;
fbRpt_CollectorTime.Configure(
sConfigId:= sReportName,
sDataKey:= sDataKey,
tTimeOn:= tTimeOn,
nDayOfWeekMask:= nDayOfWeekMask,
nBufferSize:= nBufferSize,
bBufferOnEvent:= bBufferOnEvent
bIncludeTimestamps:= bIncludeTimestamps);
fbRpt_CollectorTime.SetDisplayName(nChannel:= 1, sDisplayName:= aChannelNames[1]);
fbRpt_CollectorTime.SetDisplayName(nChannel:= 2, sDisplayName:= aChannelNames[2]);
fbRpt_CollectorTime.SetDisplayName(nChannel:= 3, sDisplayName:= aChannelNames[3]);
END_IF
// Get current system time
fbSystemTime.Call();
// Call algorithm
fbRpt_CollectorTime.SetChannelValue(nChannel:= 1, Input:= fDataInCh1);
fbRpt_CollectorTime.SetChannelValue(nChannel:= 2, Input:= fDataInCh2);
fbRpt_CollectorTime.SetChannelValue(nChannel:= 3, Input:= fDataInCh3);
fbRpt_CollectorTime.Call(fbSystemTime.tSystemTime);
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken |
---|---|---|
TwinCAT v3.1.4024.0 | PC oder CX (x64, x86) | Tc3_Analytics |