FB_ALYC_MqttStreamHelper

Dieser Funktionsbaustein repräsentiert einen Analytics Stream Helper im MQTT-Modus. Über die ObjectId als Eingangsvariable kann der Zusammenhang zu einem bestehenden Stream Helper hergestellt werden. Dieser muss im MQTT-Modus konfiguriert sein. Über die Methoden Start/Stop kann der Stream gesteuert werden und mit Reconfigure rekonfiguriert werden. Dazu wird der Methode eine Struktur des Typs ST_ALYC_MqttStreamHelperConfig übergeben, die die neuen Konfigurationsparameter enthält. Bei der Rekonfiguration werden, ausgehend vom OP-Zustand die TcCom-Zustände SAFEOP, PREOP, SAFEOP, OP in dieser Reihenfolge durchlaufen. Da alle Zustände unterhalb von SAFEOP nicht mehr im Echtzeit-Modus laufen, die restliche TwinCAT-Laufzeit aber schon, muss die Rekonfiguration asynchron zum Task-Zyklus erfolgen, wobei die Methode Reconfigure zyklisch aufgerufen werden soll, solange nicht der OP-Zustand wieder erreicht ist. Die Eigenschaften bConnected, bStarted etc. geben Auskunft über den aktuellen Zustand des Stream Helpers. Fehler können über den Ausgang bError und die dazugehörige ipResultMessage erfasst werden.

Definition:

FUNCTION_BLOCK FB_ALYC_MqttStreamHelper
VAR_INPUT
     {attribute 'tcinitsymbol'}
     nObjectID : OTCID := 0;
     nNumInputBuffer : UDINT := 20;
END_VAR
VAR_OUTPUT
     ipResultMessage : I_TcMessage := fbResult;
     bError : BOOL := FALSE;
     bNewResult : BOOL := FALSE;
     bInitialized : BOOL := FALSE;
     nNumElements : UDINT;
     eReconfigState : E_ALYC_ReconfigState := E_ALYC_ReconfigState.DONE;
END_VAR

FB_ALYC_MqttStreamHelper 1: Eingänge

Name

Typ

Beschreibung

nObjectID

OTCID

TcCom-Object ID des referenzierten StreamHelpers. Diese kann unter dem Reiter ‚Init-Symbole‘ des entsprechenden PLC-Instanz Knotens im System Manager Projektbaum initialisiert werden.

nNumInputBuffer

UDINT

Maximale Anzahl an gepufferten Symbol-Werten (Samples) in den Symbol Queues.

FB_ALYC_MqttStreamHelper 2:Ausgänge

Name

Typ

Beschreibung

bInitialized

BOOL

TRUE, wenn der Funktionsbaustein initialisiert ist und benutzt werden kann. Die Initialisierung erfolgt automatisch nach dem Setzen von TwinCAT in den Run Mode.

bError

BOOL

TRUE, wenn ein Fehler aufgetreten ist.

ipResultMessage

I_TcMessage

Nachricht EventLogger

eReconfigState

E_ALYC_ReconfigState

Der Zustand der Zustandsmaschine während der Rekonfiguration.

bNewResult

BOOL

TRUE, wenn neue Werte in die Symbol Queues eingelesen wurden.

nNumElements

UDINT

Anzahl an neuen Werten, in den Symbol Queues

FB_ALYC_MqttStreamHelper 3:Methoden

Name

Rückgabe Typ

Beschreibung

Reconfigure

BOOL

Reconfigure the stream helper with a ST_ALYC_MqttStreamHelperConfig as parameter. Rückgabe von TRUE, wenn erfolgreich.

Call

BOOL

Hauptmethode, die stets zyklisch aufgerufen werden sollte. TRUE, wenn erfolgreich.

AddIotSymbol

BOOL

Füge ein Symbol des Typs I_ALYC_IotSymbol zur internen Symbol-Liste hinzu, dessen Werte empfangen werden sollen. TRUE, wenn erfolgreich.

ReleaseIotSymbol

BOOL

Entferne ein Symbol des Typs I_ALYC_IotSymbol von internen Symbol-Liste. TRUE, wenn erfolgreich.

ReleaseAllIotSymbols

BOOL

TRUE, wenn erfolgreich.

ContainsIotSymbol

BOOL

TRUE, wenn Symbol des Typs I_ALYC_IotSymbol in der internen Symbol-Liste.

FB_ALYC_MqttStreamHelper 4:Eigenschaften

Name

Typ

Richtung

Beschreibung

bConnected

BOOL

get

TRUE , wenn eine MQTT-Verbindung besteht.

bReconnect

BOOL

get/set

Wenn TRUE, unterbreche die MQTT-Verbindung, wenn FALSE, erneuere die MQTT-Verbindung.

sStream

STRING(255)

get/set

MQTT-Empfangs-Topic im Format <MainTopic>/<StreamTopic>

nNumIotSymbolsRegistered

UDINT

get/set

Anzahl der hinzugefügten Iot-Symbole.