FB_MTP_OpcUaSessionMonitoring

FB_MTP_OpcUaSessionMonitoring 1:

Der Funktionsbaustein FB_MTP_OpcUaSessionMonitoring kann für die Überwachung der aktuellen Verbindungen (Sitzungen) zu einem OPC UA-Server verwendet werden.

Verbindungseinstellungen zum OPC UA-Server

Mit der Eingangsvariablen sOpcUaServerUrl wird die Adresse des Servers angegeben. Standardmäßig ist der lokale OPC UA-Server opc.tcp://localhost:4840 ausgewählt.

Die Variable stOpcUaSessionConnectInfo beschreibt die Sicherheitseinstellungen des Servers (siehe Infosys). Die Standardeinstellungen sind:

OpcUaSessionConnectInfo     : ST_UASessionConnectInfo := (
      sApplicationName      := 'MTP Client',
      eSecurityMode         := E_UASecurityMsgMode.eUASecurityMsgMode_None,
      eSecurityPolicyUri    := E_UASecurityPolicy.eUASecurityPolicy_None
      eTransportProfileUri  := eUATransportProfileUri_UATcp,
      tConnectTimeout       := T#1M,
      tSessionTimeout       := T#1M,
      stUserIdentTokenType  := (
         eUserIdentTokenType := E_UAUserIdentityTokenType.eUAUITT_Anonymous,
         sTokenParam1        := '',
         sTokenParam2        := '')
      );

FB_MTP_OpcUaSessionMonitoring 2:

Für den Funktionsbaustein wird der TwinCAT OPC UA Client benötigt. Für die Verbindung muss nach dem ersten Verbindungsaufbau mit dem OPC UA-Server das Zertifikat auf Dateiebene verschoben werden:

Für Client Version < 2

Von

C:/ProgramData/Beckhoff/TF6100-OPC UA/TcOpcUaClient/PKI/CA/rejected/Certs

Nach

C:/ProgramData/Beckhoff/TF6100-OPC UA/TcOpcUaClient/PKI/CA/trusted/Certs

Ab Client Version 2

Von

C:\Program Files (x86)\Beckhoff\TwinCAT\3.1\Target\OpcUa\Client\PKI\CA/rejected

Nach

C:\Program Files (x86)\Beckhoff\TwinCAT\3.1\Target\OpcUa\Client\PKI\CA\trusted\certs


Ab der Client Version 2 benötigt der FB_MTP_OpcUaSessionMonitoring ein OPC UA Virtual Device:

Fügen Sie dem TwinCAT-Projekt ein neues I/O‑Gerät hinzu.
Als Gerätetyp verwenden Sie OPC UA Virtual Device:

FB_MTP_OpcUaSessionMonitoring 3:


Verbindungen überwachen

Über die Variable MonEn wird die Überwachung des OPC UA-Servers gestartet. Für jede Verbindung wird ein Eintrag im Ausgabearray Sessions erstellt. Das Array besteht aus Elementen des Typs ST_MTP_OpcUaSession.

FB_MTP_OpcUaSessionMonitoring 4:

Das Ausgabearray Sessions wird nur bei aktiver Überwachung aktualisiert!

Das Array Sessions hat eine Größe von 100 Einträgen. IndexMin ist mit 1 fest vorgegeben und beschreibt den Anfang des verwendeten Array Bereichs. Der Wert IndexMax entspricht der Anzahl der aktuellen Verbindungen und somit das Ende des verwendeten Bereichs.

Schließt ein OPC UA-Client seine Verbindung zum Server, wird dieser aus der Liste entfernt und IndexMax wird reduziert. Verliert der Client hingegen seine Verbindung zum Server wird dieser weiterhin in der Liste aufgeführt.

IndexCur beschreibt den aktuellen Eintrag innerhalb dieser Liste. Die Werte dieses Eintrags werden auf die Ausgangsvariablen SessionName, SessionLastContact, SessionTimeout, SesSessionMonAct und SessionMonErr zyklisch geschrieben.

Der aktuelle Eintrag IndexCur der Liste kann über die Variable IndexExt geändert werden. IndexExt muss dabei innerhalb der Arraygrenzen IndexMin und IndexMax liegen. Sollte der Wert außerhalb dieser Grenzen liegen wird IndexMin als aktueller Eintrag gewählt

Die Verbindungsüberwachung des aktuellen Verbindung kann über die Variable SessionMonOn eingeschaltet bzw. über die Variable SessionMonOff ausgeschaltet werden. Bei eingeschalteter Überwachung ist SessionMonAct = TRUE.

Bei eingeschaltet Überwachung MonEn = TRUE muss mindestens eine Verbindung überwacht werde. Ist dies nicht der Fall so wird die Variable MonErr = TRUE gesetzt. Die Anzahl der Überwachten Verbindungen wird über die Variable MonCnt dargestellt.

Ein Verbindungsfehler liegt vor, wenn die Überwachung eingeschaltet ist SessionMonAct = TRUE und Differenz zwischen der Serverzeit ServerTime und dem letzten Kontakt SessionLastContact größer ist als SessionTimeout. Wenn mindestens eine Verbindung einen Verbindungsfehler hat ist MonErr = TRUE.

FB_MTP_OpcUaSessionMonitoring 5: Eingänge

Name

Typ

Beschreibung

OPC UA Zugriff

TagName

STRING

Name der Schnittstelle

-

TagDescription

STRING

Beschreibung der Schnittstelle

-

ServerUrl

STRNG

Url des zu überwachenden OPC UA-Servers

-

SessionConnectInfo

ST_UASessionConnectInfo

Verbindungseinstellungen zum Server

-

MonEn

BOOL

Aktivieren des SessionMonitorings

Lesen/schreiben

IndexExt

UINT

Externe Indexanfrage in der Liste der verfügbaren Verbindungen

Lesen

SessionMonOn

BOOL

1: Monitoring für aktuelle Verbindung einschalten.

Lesen/schreiben

SessionMonOff

BOOL

1: Monitoring für aktuelle Verbindung ausschalten.

Lesen/schreiben

SessionTimeOut

LREAL

Zulässiger Timeout für aktuelle Verbindung (ms).

Lesen/schreiben

FB_MTP_OpcUaSessionMonitoring 6:

Die Variablen ServerUrl und SessionConnectInfo sind nicht Bestandteil der MTP-Richtlinie. Sie stellen die Parameter für die Verbindung zum OPC UA Server dar.

FB_MTP_OpcUaSessionMonitoring 7: Ausgänge

Name

Typ

Beschreibung

OPC UA Zugriff

MonErr

BOOL

1: Eine der überwachten Verbindungen hat einen Timeout.

Lesen

IndexMin

UINT

Kleinster Eintrag in der Liste aller verfügbaren Verbindungen

Lesen

IndeMax

UINT

Größter Eintrag in der Liste aller verfügbaren Verbindungen

Lesen

IndexCur

UINTUINT

Aktueller Index in der Liste der verfügbaren Verbindungen

Lesen

SessionName

STRING

Name der aktuellen Verbindung (Wird vom Server ausgelesen)

Lesen

SessionLastContact

Date_AND_TIME

Letzter Kontakt der aktuellen Verbindung (Wird vom Server ausgelesen)

Lesen

SessionMonAct

BOOL

1: Aktuelle Verbindung wird überwacht

0: Aktuelle Verbindung wird nicht überwacht.

Lesen

SessionMonErr

BOOL

Aktuelle Verbindung hat einen Timeout.

Lesen

MonCnt

SINT

Anzahl der überwachten Verbindungen

Lesen

Sessions

ST_OpcUa_SessionMonitoring

Liste der aktuellen Verbindungen zum OPC UA Server.

-

ServerTime

T_FileTime64

Aktuelle Serverzeit (UCT)

-

FB_MTP_OpcUaSessionMonitoring 8:

Die Variablen Sessions und ServerTime sind nicht Bestandteil der MTP-Richtlinie und können als zusätzliche Information verwendet werden.

Externe Variablen

Name

Typ

Beschreibung

OPC UA Zugriff

fbOpenConnection

UA_Connect

Funktionsbaustein für den Verbindungsaufbau (Zur Laufzeit kann hier der Zustand des Verbindungsaufbaus zum Server gesehen werden.)