FB_HandshakeHmi

FB_HandshakeHmi 1:

Implementiert eine allgemeine Handshake-Prozedur mit Lebenzeichen-Mechanismus und Companion-Identifikation.

FB_HandshakeHmi 2:

Klasse ist abstrakt

Da die Klasse als ABSTRACT definiert ist, kann die Klasse nicht instanziiert werden und muss mittels Vererbung implementiert werden.

Syntax:

FUNCTION_BLOCK ABSTRACT FB_HandshakeHmi EXTENDS FB_BaseHmi

FB_HandshakeHmi 3: Handshake-Signal-Eigenschaften

Name

Typ

Zugriff

Initialwert

Beschreibung

PLC / HMI1

Reset

BOOL

Get, Set

FALSE

Anfrage zur Reinitialisierung der Kommunikation.

HMI

FB_HandshakeHmi

CompanionID

UINT

Get, Set

0

ID des aktuell verbundenen HMI-Companions.

HMI

LiveSignHMI

UINT

Get, Set

0

Wechselnder Wert des HMI-Clients zur Signalisierung einer aktiven Verbindung.

HMI

1Die Spalte PLC/HMI beschreibt die Zuordnung des Schreibzugriffs.

FB_HandshakeHmi 4: Eigenschaften

Name

Typ

Zugriff

Initialwert

Beschreibung

Name

STRING

Get, Set

<SourceName>

Gibt den Namen der Klasseninstanz an.

FB_HandshakeHmi

CompanionTimeout

LREAL

Get, Set

5.0

Zeit nach der bei ausbleibendem Lebenzeichen der Companion als getrennt (nicht mehr verbunden) gewertet wird.

Disconnected

BOOL

Get

FALSE

Die Verbindung zum Companion ist getrennt.

FB_Base

BaseState

E_BaseState

Get

eNotHandled

Initialisierungszustand der Klasseninstanz.

Error

BOOL

Get

FALSE

Klasse befindet sich in einem Fehlerzustand.

ResultMessage

I_AppMessage

Get

-

Zugriff auf den Klassen-internen EventLogger.

[PROTECTED] _Name

STRING

Get

<SourceName>

.Name ohne führendes ‚fb‘.

FB_HandshakeHmi 5: Methoden

Name

Beschreibung

Reset()

Setzt den Fehlerzustand der Klasse zurück.

FB_HandshakeHmi

Cyclic()

Zyklusmethode

FB_Base

GetHMI()

Gibt das zugewiesene HMI-Objekt zurück.

In der FB_Base-Klasse ist die Methode nicht implementiert. Wird die Methode nicht durch Vererbung überschrieben, wird immer eine Pseudovariable zurückgegeben.

SetHMI(ipBase)

Allgemeine Zuweisungsmethode für eine FB_BaseHmi erweiternde Klasse als lokale HMI-Schnittselle.

In der FB_Base-Klasse ist die Methode nicht implementiert. Wird die Methode nicht durch Vererbung überschrieben, schlägt diese immer fehl.

[PROTECTED] _IsMyself(iCmp)

Identifiziert, ob das übergebene Objekt der eigenen Instanz entspricht.

[PROTECTED] _QueryNamespace()

Extrahiert den ersten Teil des Instanz-Pfades als Objektnamensraum.

[PROTECTED] _QueryObjectName()

Extrahiert den letzten Teil des Instanz-Pfades als Objektnamen.

FB_HandshakeHmi 6: Schnittstellen

Typ

Beschreibung

I_Base

Standardschnittstelle auf FB_Base.

I_HandshakeHmi

Standardschnittstelle auf FB_HandshakeHmi

I_BaseDev

Deckt alle Methoden und Properties der Basisklasse ab.

I_Comparable

Ermöglicht Vergleiche per _IsMyself() oder F_IsSameInstance().

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS-Bibliotheken

TwinCAT 4026 >= v3.1.4026.19
TwinCAT 4024 >= v3.1.4024.71

PC oder CX (x64, x86)

Tc3_PlasticBaseApplication (>= v12.16.0.0)