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 & Co. KG, 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.


Tc PLC Library: TcTestAndSet

Tc PLC Library: TestAndSet

Übersicht

In dieser Bibliothek ist eine Funktion TestAndSet enthalten, mit der nicht unterbrechbar ein boolsches Flag geprüft und gesetzt werden kann.

Funktion

Name | Beschreibung
TestAndSet | Nicht unterbrechbares Prüfen und Setzen eines Flags

Anforderungen

Komponente | Version
TwinCAT auf dem Entwicklungsrechner | 2.10 Build 1335 oder höher
TwinCAT auf dem Windows CE-Image | 2.10 Build 1333 oder höher
TwinCAT auf dem Windows XP-Image | 2.10 Build 1333 oder höher


TestAndSet

Tc PLC Library: TestAndSet

FUNCTION TestAndSet : BOOL

Mit der Funktion TestAndSet kann eine Flag nicht unterbrechbar geprüft und gesetzt werden.

VAR_IN_OUT

VAR_IN_OUT
    Flag : BOOL; (* Flag to check if TRUE or FALSE *)
END_VAR

Flag: Ist ein boolsches Flag, das geprüft wird
- war es FALSE, dann war das Flag frei und wird gesetzt (blockiert von nun an), die Funktion liefert TRUE
- war es TRUE, dann war das Flag bereits belegt (blockiert), die Funktion liefert FALSE

Beispiel

VAR_GLOBAL
bGlobalTestFlag : BOOL;
END_VAR

VAR
iLocalBlockedCounter : DINT;
END_VAR

IF TestAndSet(bGlobalTestFlag) THEN
(* bGlobalTestFlag was FALSE, nobody was blocking, NOW bGlobalTestFlag is set to TRUE and blocking others *)
(* ... *)
;

(* remove blocking by resetting the flag *)
bGlobalTestFlag := FALSE;
ELSE
(* bGlobalTestFlag was TRUE, somebody is blocking *)
iLocalBlockedCounter := iLocalBlockedCounter + 1;

(* ... *)
;
END_IF