FB_WriteDWordOnDelta
Ereignisgesteuertes 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 Ü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, dass der aktuelle Wert um nUpperLimit größer ist oder um den Wert nLowerLimit kleiner ist, so wird der Wert des Signals an das angegebene 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;
nSignal : DWORD;
nLowerLimit : DWORD;
nUpperLimit : DWORD;
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 : DWORD;
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 |