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 Dokumentation und der nachfolgenden Hinweise und Erklärungen unbedingt notwendig.
Das Fachpersonal ist verpflichtet, für jede Installation und Inbetriebnahme die zu dem Zeitpunkt veröffentlichte Dokumentation zu verwenden.

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.
Wir behalten uns das Recht vor, die Dokumentation jederzeit und ohne Ankündigung zu überarbeiten und zu ändern.
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®, EtherCAT G®, EtherCAT G10®, EtherCAT P®, Safety over EtherCAT®, TwinSAFE®, XFC®, XTS® und XPlanar® 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, EP1456722, EP2137893, DE102015105702
mit den entsprechenden Anmeldungen und Eintragungen in verschiedenen anderen Ländern.

EtherCAT® ist eine eingetragene Marke und patentierte Technologie lizenziert durch die Beckhoff Automation GmbH, Deutschland.

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.


Übersicht

Die SPS-Bibliothek TcCPLink3.Lib gehört zum Produkt CP-Link 3 und wird während der CP-Link 3 Installation in den Ordner ..\TwinCAT\Lib kopiert. Die SPS-Bibliothek beinhaltet CP-Link 3 Funktionen und Funktionsbausteine.


FB_CPLink3_AcquireHIDFocus

TwinCAT PLC Library: CP-Link 3

FUNCTION_BLOCK FB_CPLink3_AcquireHIDFocus

Dieser Funktionsbaustein wird benutzt um den HID-Fokus anzufordern oder abzugeben.

VAR_IN_OUT

VAR_IN_OUT
    hFocus 	: T_HCPLink3HidFocus;(* CPLink3 HID focus handle *)
END_VAR

hFocus: Internes CP-Link3 HID Fokus-Handle.

VAR_INPUT

VAR_INPUT
    bEnable 	: BOOL := FALSE;(* TRUE = Acquire, FALSE = Release focus *)
    setIP 	: T_IPv4Addr := '';
END_VAR

bEnable: TRUE = Fokus anfordern, FALSE = Fokus abgeben.

setIP: IP-Adresse des Clients.

VAR_OUTPUT

VAR_OUTPUT
    bAcquired 	: BOOL := FALSE;(* Focus status information *)
    bLED 		: BOOL := FALSE;(* LED control output *)
    bBusy 		: BOOL;(* TRUE => function in progress *)
    bError 		: BOOL;(* Error flag *)
    nErrID 		: UDINT;(* Error code *)
END_VAR

bAcquired: Dieser Ausgang wird gesetzt wenn der Client den Fokus besitzt und zurückgesetzt, wenn er ihn verliert.

bLED: Dieser Ausgang hat je nach Modus folgende Bedeutung:

Modus | Bedeutung
Konstant TRUE | Der Client besitzt den Fokus.
Konstant FALSE | Der Client besitzt den Fokus nicht.
Toggelt | Der Client wartet darauf den Fokus zu bekommen.

bBusy: Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eine Rückmeldung erfolgt.

bError: Sollte ein ADS-Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausgang gesetzt, nachdem der bBusy-Ausgang zurückgesetzt wurde.

nErrID: Liefert bei einem gesetzten bError-Ausgang die ADS-Fehlernummer.

Beispiel: HID-Focus über Sondertaste steuern

Das manuelle Setzen des HID-Focus kann z.B. über eine Sondertaste des Client gesteuert werden. Über den TwinCAT System Manager wird die Sondertaste mit der entsprechenden Input-Variable des PLC Programms verknüpft. Pro Client wird eine FB_CPLink3_AcquireHidFocus Instanz erzeugt und mit der IP Adresse des Clients konfiguriert. Nach Drücken der Sondertaste an einem Client, wobei der Baustein R_TRIG die steigende Flanke detektiert, versucht das PLC Programm über die entsprechende FB_CPLink3_AcquireHidFocus Instanz den HID-Focus zu setzen. Der Funktionsbaustein kann außerdem einen Ausgang ansteuern (z.B. eine LED) die signalisiert, ob der HID-Focus erfolgreich gesetzt wurde oder ob noch versucht wird den Focus zu holen. Erneutes Drücken der Sondertaste setzt den HID-Focus wieder zurück.

Die drei Instanzen des Funktionsblocks FB_CPLink3_AcquireHidFocus nutzen die Variable hFocus um untereinander Informationen auszutauschen. Damit wird z.B. gewährleistet, dass nur die Instanz, die den HID-Focus erfolgreich gesetzt hat, diesen auch wieder zurücksetzen kann.

Das PLC-Programm sieht für drei Clients folgendermaßen aus:

PROGRAM MAIN
VAR
    button1 AT%IX0.0 : BOOL;
    button2 AT%IX0.1 : BOOL;
    button3 AT%IX0.2 : BOOL;

    led1 AT%QX0.0 : BOOL;
    led2 AT%QX0.1 : BOOL;
    led3 AT%QX0.2 : BOOL;

    hFocus : T_HCPLink3HidFocus;
    fbPanel1 : FB_CPLink3_AcquireHidFocus := ( setIP := '192.168.1.1' );
    fbPanel2 : FB_CPLink3_AcquireHidFocus := ( setIP := '192.168.1.2' );
    fbPanel3 : FB_CPLink3_AcquireHidFocus := ( setIP := '192.168.1.3' );

    trigger1 : R_TRIG;
    trigger2 : R_TRIG;
    trigger3 : R_TRIG;
END_VAR
(* Panel 1 *)
trigger1( CLK := button1 );
IF trigger1.Q THEN
    fbPanel1.bEnable := NOT fbPanel1.bEnable;
END_IF
fbPanel1( hFocus:= hFocus, bLED=>LED1);

(* Panel 2 *)
trigger2( CLK := button2 );
IF trigger2.Q THEN
    fbPanel2.bEnable := NOT fbPanel2.bEnable;
END_IF
fbPanel2( hFocus:= hFocus, bLED=>LED2 );

(* Panel 3 *)
trigger3( CLK := button3 );
IF trigger3.Q THEN
    fbPanel3.bEnable := NOT fbPanel3.bEnable;
END_IF
fbPanel3( hFocus:= hFocus, bLED=>LED3 );

Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken
TwinCAT v2.10.0 und höher | PC | TcCPLink3.Lib


F_GetVersionTcCPLink3

TwinCAT PLC Library: CP-Link 3

FUNCTION F_GetVersionTcCPLink3

Mit dieser Funktion können Versionsinformationen der SPS-Bibliothek ausgelesen werden.

FUNCTION F_GetVersionTcCPLink3 : UINT

VAR_INPUT
    nVersionElement : INT;
END_VAR

nVersionElement: Versionselement, das gelesen werden soll. Mögliche Parameter:

  • 1: major number
  • 2: minor number
  • 3: revision number
Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken
TwinCAT v2.10.0 und höher | PC | TcCPLink3.Lib


T_HCPLink3HidFocus

TwinCAT PLC Library: CP-Link 3

TYPE T_HCPLink3HidFocus

CPLink3 HID Fokus-Handle: wird von mehreren Instanzen des Funktionsbausteins FB_CPLink3_AcquireHIDFocus verwendet um untereinander Informationen auszutauschen.

TYPE T_HCPLink3HidFocus:
END_TYPE
Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken
TwinCAT v2.10.0 Build und höher | PC | TcCPLink3.Lib