FB_WriteDWordOnDelta

FB_WriteDWordOnDelta 1:

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

Der Funktionsbaustein FB_WriteDWordOnDelta überprüft zyklisch, ob sich der Wert am Eingang nSignal 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 nUpperLimit größer oder um den Wert nLowerLimit 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_WriteDWordOnDelta 2: Eingänge

VAR_INPUT
    bEnable          :  BOOL := FALSE;
    sNetId           :  T_AmsNetId;
    nPort            :  T_AmsPort;
    nIdxGrp          :  UDINT;
    nIdxOffs         :  UDINT;
    sVarName         :  STRING;
    nSignal          :  BYTE;
    nLowerLimit      :  BYTE;
    nUpperLimit      :  BYTE;
    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.

nSignal

BYTE

Variable, deren Wert übertragen werden soll.

nLowerLimit

BYTE

Unterer Grenzwert.

nUpperLimit

BYTE

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_WriteDWordOnDelta 3: Ausgänge

VAR_OUTPUT
    bBusy            :  BOOL := FALSE;
    nLastSignal      :  DWORD;
    bError           :  BOOL := FALSE;
    nErrorId         :  UDINT := 0;
    nErrorCnt        :  UDINT := 0;
END_VAR

Name

Typ

Beschreibung

bBusy

BOOL

Die Übertragung ist aktiv.

nLastSignal

DWORD

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