FB_WriteLRealOnDelta

FB_WriteLRealOnDelta 1:

Ereignisgesteuertes Schreiben einer Variablen vom Typ LREAL.

Der Funktionsbaustein FB_WriteLRealOnDelta() überprüft zyklisch, ob sich der Wert am Eingang fSignal 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 fUpperLimit größer ist oder um den Wert fLowerLimit kleiner ist, so wird der Wert des Signals 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 Signals.

VAR_INPUT

bEnable      : BOOL := FALSE;
sNetId       : T_AmsNetId;
nPort        : T_AmsPort := AMSPORT_R0_PLC_RTS1;
nIdxGrp      : UDINT;
nIdxOffs     : UDINT;
sVarName     : STRING;
fSignal      : LREAL;
fLowerLimit  : LREAL;
fUpperLimit  : LREAL;
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.

fSignal: Variable, dessen Wert übertragen werden soll.

fLowerLimit: unterer Grenzwert.

fUpperLimit: 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;
fLastSignal  : LREAL;
bError       : BOOL;
nErrorId     : UDINT;
nErrorCnt    : UDINT;

bBusy: Übertragung ist aktiv.

fLastSignal: 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

TcDataExchange-Bibliothek ab V1.0.0