FB_WriteLRealOnDelta

FB_WriteLRealOnDelta 1:

Der Funktionsbaustein ermöglicht das ereignisgesteuerte Schreiben einer Variablen vom Typ LREAL.

Der Funktionsbaustein FB_WriteLRealOnDelta prüft zyklisch, ob sich der Wert am Eingang fSignal geändert hat. Die Zykluszeit für die Prüfung wird durch den Parameter tCycleTime bestimmt. Wird für tCycleTime 0 s angegeben, so wird das Eingangssignal in jedem SPS-Zyklus überprüft. Wird bei dem Vergleich festgestellt, dass der aktuelle Wert um den Wert fUpperLimit größer oder um den Wert fLowerLimit kleiner ist, so wird der Wert des Signals an das angegebene ADS-Gerät geschickt. Der Empfänger wird durch die AMS-NetId und durch die Portnummer adressiert (siehe auch Identifikation ADS-Gerät). Die Position innerhalb des Empfängers wird durch die Index-Group/Index-Offset oder den Symbolnamen angegeben. Üblicherweise ist dieses das Eingangsabbild oder der Merkerbereich.

Wird der Eingang bEnable auf FALSE gesetzt, so erfolgt keine weitere Übertragung des Signals.

FB_WriteLRealOnDelta 2: Eingänge

VAR_INPUT
    bEnable          :  BOOL := FALSE;
    sNetId           :  T_AmsNetId;
    nPort            :  T_AmsPort;
    nIdxGrp          :  UDINT;
    nIdxOffs         :  UDINT;
    sVarName         :  STRING;
    fSignal          :  LREAL;
    fLowerLimit      :  LREAL;
    fUpperLimit      :  LREAL;
    tCycleTime       :  TIME := t#0s;
    bSendNow         :  BOOL;
END_VAR

Name

Typ

Beschreibung

bEnable

BOOL

Baustein freischalten.

sNetId

T_AmsNetID

AMS-NetId des ADS-Gerätes, in das der Wert übertragen werden soll.

nPort

T_AmsNetID

AMS-Portnummer des ADS-Gerätes, in das der Wert übertragen werden soll.

nIdxGrp

UDINT

Index-Group innerhalb des ADS-Gerätes, in der der Wert übertragen werden soll.

nIdxOffs

UDINT

Index-Offset innerhalb des ADS-Gerätes, in dem der Wert übertragen werden soll.

sVarName

STRING

Symbolname innerhalb des ADS-Gerätes, in dem der Wert übertragen werden soll.

fSignal

LREAL

Variable, deren Wert übertragen werden soll.

nLowerLimit

LREAL

Unterer Grenzwert.

nUpperLimit

LREAL

Oberer Grenzwert.

tCycleTime

TIME

Zykluszeit, in der überprüft wird, ob das Eingangssignal die Grenzwerte überschritten hat.

bSendNow

BOOL

Durch eine positive Flanke wird der Wert unmittelbar übertragen.

FB_WriteLRealOnDelta 3: Ausgänge

VAR_OUTPUT
    bBusy            :  BOOL := FALSE;
    fLastSignal      :  LREAL;
    bError           :  BOOL := FALSE;
    nErrorId         :  UDINT := 0;
    nErrorCnt        :  UDINT := 0;
END_VAR

Name

Typ

Beschreibung

bBusy

BOOL

Die Übertragung ist aktiv.

fLastSignal

LREAL

Zuletzt übertragender Wert.

bError

BOOL

Bei der Übertragung ist ein Fehler aufgetreten.

nErrorId

UDINT

ADS-Fehlernummer, falls ein Fehler aufgetreten ist.

nErrorCnt

UDINT

Anzahl der fehlerhaften Übertragungsversuche.

Voraussetzungen

Entwicklungsumgebung

erforderliche TC3 SPS-Bibliothek

TwinCAT v3.0.0

Tc2_DataExchange