FB_BA_Object

FB_BA_Object 1:

Der Funktionsbaustein FB_BA_Object stellt die Grundlage zur Entwicklung weiterer Objekte dar.

Diese Objekte müssen im Projekt zyklisch aufgerufen werden, hierbei verhindert das Aussetzen von Aufrufen ( z. B. innerhalb von IF-Bedingungen) eine korrekte Initialisierung.

FB_BA_Object 2:

Objekte sollten in einem VAR oder VAR_INPUT CONSTANT Bereich deklariert werden.
Persistente Deklarationsbereiche müssen vermieden werden!

FB_BA_Object 3:

Innerhalb von geerbten FBs muss der Basis-FB mit "SUPER^()" aufgerufen werden!

Initialisierung

Während ein Objekt initialisiert wird, durchläuft es nacheinander mehrere Zustände:

Vererbungshierarchie

FB_BA_BasePublisher

    FB_BA_Object

Illustration

FUNCTION_BLOCK ABSTRACT FB_BA_Object EXTENDS FB_BA_BasePublisher IMPLEMENTS I_BA_Object, I_BACnet_ObjectOwner
VAR_INPUT CONSTANT PERSISTENT
  {region 'Fixed Parameters'}
    nInstanceID          : UDINT;
    sDeviceType          : T_BA_SmallString := XBA_Globals.sPlaceholder_Empty;

    eAssignAsTrendRef    : E_BA_AssignRefMode := E_BA_AssignRefMode.eInitByProfile;
  {endregion}
  {region 'Variable Parameters'}
    sObjectName          : T_MaxString := XBA_Globals.sPlaceholder_Empty;
    sDescription         : T_MaxString := XBA_Globals.sPlaceholder_Empty;
    sTag                 : STRING(XBA_Param.nTag_Length);
  {endregion}
END_VAR
VAR PERSISTENT
  {region 'General'}
    sInstObjectName      : STRING;
    sInstDescription     : STRING;
  {endregion}
END_VAR
VAR
  {region 'Fixed Variables'}
    iParent              : I_BA_View;
    iLabel               : I_BA_Label;
    iProfile             : I_BA_Profile;
  {endregion}
  {region 'SubInit'}
    eObjectType          : E_BA_ObjectType := E_BA_ObjectType.eObject;
    stAttributes         : ST_BA_ObjectAttributes;
  {endregion}
END_VAR
VAR
  {region 'General'}
    nLevel               : UINT := 0; // Current hierarchy level according to root object (which hast level 0)
    eState               : E_BA_ObjectState := E_BA_ObjectState.First;
    sFmtPresentValue     : STRING;// Present value in a formated string
  {endregion}
END_VAR

FB_BA_Object 4: Eingänge CONSTANT PERSISTENT

Name

Typ

Beschreibung

nInstanceID

UDINT

Diese Eigenschaft ist ein numerischer Code, zur Identifizierung des Objekts. Er muss eindeutig innerhalb des Gerätes sein.

sDeviceType

T_BA_SmallString

Diese Eigenschaft ist eine Textbeschreibung des physischen Geräts, das an den Analogausgang angeschlossen ist.

eAssignAsTrendRef

E_BA_AssignRefMode

Referenzmodus.

sDescription

T_MaxString

Diese Eigenschaft stellt einen Beschreibungstext für das Objekt dar.

Im Grundgerüst von TF8040 kann jede Ebene einen Teil-String erhalten. Die Teil-Strings der Ebenen werden von dem DPAD-Mechanismus verkettet, sodass mittels dieses Algorithmus der komplette Name des Objektes entsteht (siehe DPAD).

sTag

STRING

Diese Eigenschaft stellt einen zusätzlichen Beschreibungstext für das Objekt dar.

Der String sTag kann nutzer- bzw. projektspezifisch angewendet werden. Zum Beispiel zum Eintrag der Schaltschrankgerätekennzeichnung.

FB_BA_Object 5: Eingänge PERSISTENT

Name

Typ

Beschreibung

sInstObjectName

STRING

Objektname der Instanz.

sInstDescription

STRING

Beschreibung der Instanz.

VAR

Name

Typ

Beschreibung

iParent

I_BA_Parent

Schnittstelle Elternobjekt.

iLabel

I_BA_Label

Schnittstelle Beschreibung.

iProfile

I_BA_Profile

Schnittstelle Profil.

eObjectType

E_BA_ObjectType

Auswahl der Objekttyps.

stAttributes

ST_BA_ObjectAttributes

Definition der Attribute.

nLevel

UINT

Aktuelle Hierarchieebene gemäß dem Grundobjekt (Ebene 0).

eState

E_BA_SubscriberState

Auswertung des Subscriberstatus.

sFmtPresentValue

STRING

Aktueller Wert in einem formatierten String.

Voraussetzungen

Entwicklungsumgebung

Erforderliche SPS-Bibliothek

TwinCAT ab v3.1.4024.35

Tc3_XBA ab v5.3.0.0