Hinweise zur Dokumentation

Diese Beschreibung wendet sich ausschließlich an ausgebildetes Fachpersonal der Steuerungs- und Automatisierungstechnik, das mit den geltenden nationalen Normen vertraut ist.
Zur Installation und Inbetriebnahme der Komponenten ist die Beachtung der nachfolgenden Hinweise und Erklärungen unbedingt notwendig.

Das Fachpersonal hat sicherzustellen, dass die Anwendung bzw. der Einsatz der beschriebenen Produkte alle Sicherheitsanforderungen, einschließlich sämtlicher anwendbaren Gesetze, Vorschriften, Bestimmungen und Normen erfüllt.

Disclaimer

Diese Dokumentation wurde sorgfältig erstellt. Die beschriebenen Produkte werden jedoch ständig weiter entwickelt.
Deshalb ist die Dokumentation nicht in jedem Fall vollständig auf die Übereinstimmung mit den beschriebenen Leistungsdaten, Normen oder sonstigen Merkmalen geprüft.
Falls sie technische oder redaktionelle Fehler enthält, behalten wir uns das Recht vor, Änderungen jederzeit und ohne Ankündigung vorzunehmen.
Aus den Angaben, Abbildungen und Beschreibungen in dieser Dokumentation können keine Ansprüche auf Änderung bereits gelieferter Produkte geltend gemacht werden.

Marken

Beckhoff®, TwinCAT®, EtherCAT®, Safety over EtherCAT®, TwinSAFE®, XFC® und XTS® sind eingetragene und lizenzierte Marken der Beckhoff Automation GmbH.
Die Verwendung anderer in dieser Dokumentation enthaltenen Marken oder Kennzeichen durch Dritte kann zu einer Verletzung von Rechten der Inhaber der entsprechenden Bezeichnungen führen.

Patente

Die EtherCAT Technologie ist patentrechtlich geschützt, insbesondere durch folgende Anmeldungen und Patente:
EP1590927, EP1789857, DE102004044764, DE102007017835
mit den entsprechenden Anmeldungen und Eintragungen in verschiedenen anderen Ländern.

Die TwinCAT Technologie ist patentrechtlich geschützt, insbesondere durch folgende Anmeldungen und Patente:
EP0851348, US6167425 mit den entsprechenden Anmeldungen und Eintragungen in verschiedenen anderen Ländern.

Copyright

© Beckhoff Automation GmbH, Deutschland.
Weitergabe sowie Vervielfältigung dieses Dokuments, Verwertung und Mitteilung seines Inhalts sind verboten, soweit nicht ausdrücklich gestattet.
Zuwiderhandlungen verpflichten zu Schadenersatz. Alle Rechte für den Fall der Patent-, Gebrauchsmuster- oder Geschmacksmustereintragung vorbehalten.


Einleitung

Die vorliegenden Funktionsbausteine vereinfachen den ereignisgesteuerten Datenaustausch zwischen Busklemmen Controllern und/oder anderen ADS-Geräten (TwinCAT NC, Busklemmen Controller, ...).
Die Funktionsbausteine FB_WriteXXXOnDelta() führen einen Schreibvorgang aus, wenn das Eingangssignal einen bestimmten Grenzwert über-/ bzw. unterschritten hat. Wie oft das Eingangssignal überprüft werden soll, kann eingestellt werden. Durch das ereignisgesteuerte Schreiben der Daten wird die Belastung der Feldbusses minimiert. Tritt bei der Übertragung ein Fehler auf, so wird der Vorgang solange wiederholt, bis die Verbindung wieder vorhanden ist. Als Quell- und Zielvariablen sind alle, in der TwinCAT PLC unterstützten Datentypen zugelassen. Symbolnamen werden ebenfalls unterstützt.
Zur Überwachung einzelner Kommunikationspartner stehen Watchdog-Bausteine zur Verfügung. Der zu überwachende Teilnehmer versendet zyklisch einen inkrementierenden Zähler. Bei dem Empfänger wird überprüft, ob sich der Zählerstand innerhalb einer bestimmten Zeit ändert.

Schreib-/Lesebausteine

Name | Beschreibung
FB_WriteBoolOnDelta | Schreibt ereignisgesteuert eine Variable vom Typ BOOLEAN
FB_WriteByteOnDelta | Schreibt ereignisgesteuert eine Variable vom Typ BYTE
FB_WriteWordOnDelta | Schreibt ereignisgesteuert eine Variable vom Typ WORD
FB_WriteDWordOnDelta | Schreibt ereignisgesteuert eine Variable vom Typ DWORD
FB_WriteRealOnDelta | Schreibt ereignisgesteuert eine Variable vom Typ REAL

Überwachungsbausteine

Name | Beschreibung
FB_WriteWatchdog | Schreibt zyklisch ein Watchdogsignal (inkrementierender Zähler)
FB_CheckWatchdog | Überwacht das empfangende Watchdogsignal


FB_WriteBoolOnDelta

TwinCAT PLC Library: Datenaustausch Busklemmen Controller <-> ADS-Gerät

FUNCTION_BLOCK FB_WriteBoolOnDelta

Ereignisgesteuertes Schreiben einer Variablen vom Typ BOOLEAN.

Interface

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

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

Parameter

Eingänge

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.
bSignal
Variable, dessen Wert übertragen werden soll.
tCycleTime
Zykluszeit, in der überprüft wird, ob sich das Eingangssignal geändert hat.
bSendNow
Durch eine positive Flanke wird der Wert unmittelbar übertragen.

Ausgänge

bBusy
Übertragung ist aktiv.
bLastSignal
zuletzt übertragender Wert.
bError
Bei der Übertragung ist ein Fehler aufgetreten.
nErrorId
Fehlernummer, falls ein Fehler aufgetreten ist.
nErrorCnt
Anzahl der fehlerhaften Übertragungsversuche.

Beschreibung

Der Funktionsbaustein FB_WriteBoolOnDelta() überprüft zyklisch, ob sich der Wert am Eingang bSignal 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. Wurde eine Änderung erkannt, 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.

Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken
TwinCAT v2.8 Build > 733 | BC9000 (165) | TcDataExchangeBC.Lb6


FB_WriteByteOnDelta

FUNCTION_BLOCK FB_WriteByteOnDelta

Ereignisgesteuertes Schreiben einer Variablen vom Typ BYTE.

Interface

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

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

Parameter

Eingänge

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.

Ausgänge

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.

Beschreibung

Der Funktionsbaustein FB_WriteByteOnDelta() ü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 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.

Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken


FB_WriteWordOnDelta

FUNCTION_BLOCK FB_WriteWordOnDelta

Ereignisgesteuertes Schreiben einer Variablen vom Typ WORD.

Interface

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

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

Parameter

Eingänge

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.

Ausgänge

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.

Beschreibung

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.

Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken


FB_WriteDWordOnDelta

FUNCTION_BLOCK FB_WriteDWordOnDelta

Ereignisgesteuertes Schreiben einer Variablen vom Typ DWORD.

Interface

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

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

Parameter

Eingänge

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.

Ausgänge

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.

Beschreibung

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, das der aktuelle Wert um nUpperLimit größer ist oder um den Wert nLowerLimit 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.

Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken


FB_WriteRealOnDelta

FUNCTION_BLOCK FB_WriteRealOnDelta

Ereignisgesteuertes Schreiben einer Variablen vom Typ REAL.

Interface

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

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

Parameter

Eingänge

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.
bSwapLowHighWord
Das niederwertige und das höherwertige WORD werden gedreht.

Ausgänge

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.

Beschreibung

Der Funktionsbaustein FB_WriteRealOnDelta() ü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.
Je nach verwenderter Hardware ist die interne Darstellung von Fließkommazahlen unterschiedlich. Während Intel das 'little endian'-Format benutzt, wird bei Motorola-basierter Hardware das 'big-endian'-Format angewendet. Um einen Austausch von Fließkommazahlen zu ermöglichen, kann durch die Eingangsvariable bSwapLowHighWord eine Anpassung durchgeführt werden. Dieses ist z.B. nötig, wenn zwischen der TwinCAT SPS auf einem PC und einen BC9000 Fließkommazahlen ausgetauscht werden sollen.
Wird der Eingang bEnable auf FALSE gesetzt, so erfolgt keine weitere Übertragung des Signals.

Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken


FB_CheckWatchdog

FUNCTION_BLOCK FB_CheckWatchdog

Überwachen eines Watchdogsignals, welches mit dem Baustein FB_WriteWatchdog() übertragen wird.

Interface

VAR_INPUT
    bEnable          :  BOOL := FALSE;
    tWatchdogTime    :  TIME := t#0s;
    nCnt             :  UDINT;
END_VAR

VAR_OUTPUT
    bWatchdog        :  BOOL := FALSE;
    nLastCnt         :  UDINT;
END_VAR

Parameter

Eingänge

bEnable
Baustein Freischalten.
tWatchdogTime
Zeitdauer, in der sich nCnt ändern muß.
nCnt
aktueller Zählerstand des Watchdogsignals

Ausgänge

bWatchdog
FALSE signalisiert ein gültiges Überwachungssignal. Wird für die Zeitdauer tWatchdogTime keine Änderung von nCnt erkannt, so geht der Ausgang auf TRUE.
nLastCnt
letzter, erfolgreich übertragender Zählerstand des Überwachungssignals.

Beschreibung

Das zu überwachende Gerät verschickt regelmäßig einen sich ändernen Zählerstand an das Gerät, welches die Übertragung kontrollieren soll. Dort wird mit Hilfe des Funktionsbausteins FB_CheckWatchdog() der Zählerstand überwacht. Ändert sich dieser innerhalb einer bestimmten Zeit nicht, so wird der Ausgang bWatchdog auf TRUE gesetzt. Wird für tWatchdogTime ein Wert von 0 sec angegeben, so wird das Signal bWatchdog auf FALSE gesetzt. Die Zeit tWachtdogTime sollte ein vielfaches (5-10fach) der Zeit sein, in der das Überwachungssignal zugeschickt wird.

Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken


FB_WriteWatchdog

FUNCTION_BLOCK FB_WriteWatchdog

Schreiben eines Watchdogsignals in ein anderes ADS-Gerät (TwinCAT PLC, Busklemmen Controller, ...).

Interface

VAR_INPUT
    bEnable          :  BOOL := FALSE;
    sNetId           :  T_AmsNetId;
    nPort            :  T_AmsPort;
    nIdxGrp          :  UDINT;
    nIdxOffs         :  UDINT;
    sVarName         :  STRING;
    tWatchdogTime    :  TIME := t#0s;
    bSendNow         :  BOOL;
END_VAR

VAR_OUTPUT
    bBusy            :  BOOL := FALSE;
    nLastCnt         :  UDINT := 0;
    bError           :  BOOL := FALSE;
    nErrorId         :  UDINT := 0;
END_VAR

Parameter

Eingänge

bEnable
Baustein Freischalten.
sNetId
AMS-NetId des ADS-Gerätes, an dem das Watchdogsignal übertragen werden soll.
nPort
AMS-Portnummer des ADS-Gerätes, an dem das Watchdogsignal übertragen werden soll.
nIdxGrp
Index-Group innerhalb des ADS-Gerätes, in der das Watchdogsignal übertragen werden soll.
nIdxOffs
Index-Offset innerhalb des ADS-Gerätes, in der das Watchdogsignal übertragen werden soll.
sVarName
Symbolname innerhalb des ADS-Gerätes, in der das Watchdogsignal übertragen werden soll.
tWatchdogTime
Zykluszeit, in der das Watchdogsignal übertragen wird.
bSendNow
Durch eine positive Flanke wird das Watchdogsignal unmittelbar übertragen.

Ausgänge

bBusy
Übertragung ist aktiv.
nLastCnt
zuletzt übertragender Zählerstand.
bError
Bei der Übertragung ist ein Fehler aufgetreten.
nErrorId
Fehlernummer, falls ein Fehler aufgetreten ist.

Beschreibung

Der Funktionsbaustein FB_WriteWatchdog() schreibt zyklisch einen 32-Bit Zähler in einen anderes ADS-Gerät. Bei jeder erfolgreichen Übertragung wird der Zähler inkrementiert. Beim Empfänger kann mit Hilfe des Bausteine FB_CheckWatchdog() dieses Signal ausgewertet werden. 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.
Damit der Zählerstand nicht zu häufig übertragen wird, sollte die Zeit tWachtdogTime nicht kleiner als 1 sec sein. Wird für tWatchdogTime 0 sec angegeben, so wird die Übertragung des Signals gesperrt. Beachten sie bitte auch die Beschreibung vom Baustein FB_CheckWatchdog().
Wird der Eingang bEnable auf FALSE gesetzt, so erfolgt keine weitere Übertragung des Watchdogsignals.

Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken