FB_WriteWordOnDelta

FB_WriteWordOnDelta 1:

Ereignisgesteuertes Schreiben einer Variablen vom Typ WORD.

Der Funktionsbaustein FB_WriteWordOnDelta() überprüft zyklisch, ob sich der Wert am Eingang nSignal geändert hat. Die Zykluszeit, für die Überprüfung wird durch den Parameter tCycleTime bestimmt. Wird für tCycleTime 0 sec angegeben, so wird in jedem SPS-Zyklus das Eingangssignal überprüft. Wird bei dem Vergleich festgestellt, das der aktuelle Wert um nUpperLimit größer ist oder um den Wert nLowerLimit kleiner ist, so wird der Wert des Signal an das angegebende ADS-Gerät verschickt. Adressiert wird der Empfänger durch die AMS-NetId und durch die Portnummer (siehe auch Identifikation ADS-Gerät). Die Position innerhalb des Empfängers wird durch die Index-Group/Index-Offset oder dem Symbolnamen angegeben. Üblicherweise ist dieses das Eingangsabbild oder der Merkerbereich.

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

VAR_INPUT

bEnable      : BOOL := FALSE;
sNetId       : T_AmsNetId;
nPort        : T_AmsPort := AMSPORT_R0_PLC_RTS1;
nIdxGrp      : UDINT;
nIdxOffs     : UDINT;
sVarName     : STRING;
nSignal      : WORD;
nLowerLimit  : WORD;
nUpperLimit  : WORD;
tCycleTime   : TIME := t#0s;
bSendNow     : BOOL;

bEnable: Baustein Freischalten.

sNetId: AMS-NetId des ADS-Gerätes, nach dem der Wert übertragen werden soll.

nPort: AMS-Portnummer des ADS-Gerätes, nach dem der Wert übertragen werden soll.

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

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

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

nSignal: Variable, dessen Wert übertragen werden soll.

nLowerLimit: unterer Grenzwert.

nUpperLimit: oberer Grenzwert.

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

bSendNow: Durch eine positive Flanke wird der Wert unmittelbar übertragen.

VAR_OUTPUT

bBusy        : BOOL;
nLastSignal  : WORD;
bError       : BOOL;
nErrorId     : UDINT;
nErrorCnt    : UDINT;

bBusy: Übertragung ist aktiv.

nLastSignal: zuletzt übertragender Wert.

bError: Bei der Übertragung ist ein Fehler aufgetreten.

nErrorId: Fehlernummer, falls ein Fehler aufgetreten ist.

nErrorCnt: Anzahl der fehlerhaften Übertragungsversuche.

Voraussetzungen

Entwicklungsumgebung

Zielsystem

erforderliche Bibliotheken

TwinCAT 2.11 R3/x64

PC/CX, BX oder BC

TcDataExchange-Bibliothek ab V1.0.0