FB_HandshakeHmi

FB_HandshakeHmi 1:

Implements a general handshake procedure with life sign mechanism and companion identification.

FB_HandshakeHmi 2:

Class is abstract

Since the class is defined as ABSTRACT, the class cannot be instantiated and must be implemented using inheritance.

Syntax:

FUNCTION_BLOCK ABSTRACT FB_HandshakeHmi EXTENDS FB_BaseHmi

FB_HandshakeHmi 3: Handshake signal properties

Name

Type

Access

Initial value

Description

PLC / HMI1

Reset

BOOL

Get, Set

FALSE

Request to reinitialize the communication.

HMI

FB_HandshakeHmi

CompanionID

UINT

Get, Set

0

ID of the currently connected HMI Companion.

HMI

LiveSignHMI

UINT

Get, Set

0

Changing value of the HMI client to signal an active connection.

HMI

1The PLC/HMI column describes the assignment of the write access.

FB_HandshakeHmi 4: Properties

Name

Type

Access

Initial value

Description

Name

STRING

Get, Set

<SourceName>

Specifies the name of the class instance.

FB_HandshakeHmi

CompanionTimeout

LREAL

Get, Set

5.0

Time after which the Companion is considered disconnected (no longer connected) if there is no sign of life.

Disconnected

BOOL

Get

FALSE

The connection to the Companion has been lost.

FB_Base

BaseState

E_BaseState

Get

eNotHandled

Initialization state of the class instance.

Error

BOOL

Get

FALSE

Class is in an error state.

ResultMessage

I_AppMessage

Get

-

Access to the class-internal EventLogger.

[PROTECTED] _Name

STRING

Get

<SourceName>

.Name without leading 'fb'.

FB_HandshakeHmi 5: Methods

Name

Description

Reset()

Resets the error state of the class.

FB_HandshakeHmi

Cyclic()

Cycle method

FB_Base

GetHMI()

Returns the assigned HMI object.

The method is not implemented in the FB_Base class. If the method is not overwritten by inheritance, a pseudo variable is always returned.

SetHMI(ipBase)

General assignment method for an FB_BaseHmi extending class as a local HMI.

The method is not implemented in the FB_Base class. If the method is not overridden by inheritance, it always fails.

[PROTECTED] _IsMyself(iCmp)

Identifies whether the transferred object corresponds to its own instance.

[PROTECTED] _QueryNamespace()

Extracts the first part of the instance path as an object namespace.

[PROTECTED] _QueryObjectName()

Extracts the last part of the instance path as the object name.

FB_HandshakeHmi 6: Interfaces

Type

Description

I_Base

Standard interface on FB_Base.

I_HandshakeHmi

Standard interface on FB_HandshakeHmi

I_BaseDev

Covers all methods and properties of the base class.

I_Comparable

Enables comparisons via _IsMyself() or F_IsSameInstance().

Requirements

Development environment

Target platform

PLC libraries to include

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

PC or CX (x64, x86)

Tc3_PlasticBaseApplication (>= v12.16.0.0)