FB_ALY_XyGateMonitor_2Ch
XY Gate Monitor 2Ch zählt die Anzahl der Schnittpunkte eines XY-Eingangs mit einem bestimmten Gate oder seiner Projektion (gerade Linie zwischen den Gate-Punkten) abhängig vom konfigurierten Gate Mode. Die Analyseperiode kann mit den Eingängen Start und Stop gestartet werden. Der Algorithmus ist richtungsempfindlich, d. h. es werden nur Schnittpunkte in der richtigen Richtung gezählt. Die Richtungsauslegung hängt von der Reihenfolge der Gate-Punkte (X1/Y1) und (X2/Y2) ab. Die möglichen Richtungen der Schnittpunkte sind nachstehend veranschaulicht.
Richtungen der Schnittpunkte:
Der blaue Pfeil stellt die Signalrichtung dar und die schwarzen Linien veranschaulichen das Gate mit seinen Gate-Punkten (X1/Y1) und (X2/Y2). Die Richtung der Schnittpunkte wird gezählt, wenn sich das Signal gegen den Uhrzeigersinn um den ersten Gate-Punkt (X1/Y1) dreht.

Syntax
Definition:
FUNCTION_BLOCK FB_ALY_XyGateMonitor_2Ch
VAR_OUTPUT
ipResultMessage: Tc3_EventLogger.I_TcMessage;
bError: BOOL;
bNewResult: BOOL;
bConfigured: BOOL;
bExecuting: BOOL;
bGateIntersection: BOOL;
bOutlierIntersection: BOOL;
fPosIntersectionX: LREAL;
fPosIntersectionY: LREAL;
nCountGateIntersections: ULINT;
nCountOutlierIntersections: ULINT;
fbTimeLastIntersection: FB_ALY_DateTime;
eClassification: E_ALY_Classification_2Cls;
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 |
bExecuting | BOOL |
|
bGateIntersection | BOOL |
|
bOutlierIntersection | BOOL |
|
fPosIntersectionX | LREAL | X-Koordinate des letzten Schnittpunkts. |
fPosIntersectionY | LREAL | Y-Koordinate des letzten Schnittpunkts. |
nCountGateIntersections | ULINT | Anzahl der erkannten Schnittpunkte. |
nCountOutlierIntersections | ULINT | Anzahl der erkannten Ausreißer. |
fbTimeLastIntersection | FB_ALY_DateTime | Zeitstempel des letzten Schnittpunkts. |
eClassification | E_ALY_Classification_2Cls | Einstufungsergebnis. Abhängig vom konfigurierten Gate Mode. |
Methoden
Name | Definitionsort | 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. |
Beispiel
VAR
fbXyGateMonitor : FB_ALY_XyGateMonitor_2Ch;
fbSystemTime : FB_ALY_GetSystemTime;
eGateMode : E_ALY_GateMode := E_ALY_GateMode.IntersectGate;
stGatePos1 : ST_ALY_XyPosition := ( X:= 0.0, Y := 0.0);
stGatePos2 : ST_ALY_XyPosition := ( X:= 0.0, Y := 4.0);
bConfigure : BOOL := TRUE;
fInputChX : LREAL;
fInputChY : LREAL;
bStart : BOOL;
bStop : BOOL;
END_VAR
// Configure algorithm
IF bConfigure THEN
bConfigure := FALSE;
fbXyGateMonitor.Configure(eGateMode, stGatePos1, stGatePos2);
END_IF
// Get current system time
fbSystemTime.Call();
// Call algorithm
fbXyGateMonitor.SetChannelValue(1, fInputChX);
fbXyGateMonitor.SetChannelValue(2, fInputChY);
fbXyGateMonitor.Call(bStart, bStop, fbSystemTime.tSystemTime);
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken |
---|---|---|
TwinCAT v3.1.4024.0 | PC oder CX (x64, x86) | Tc3_Analytics |