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 TwinSAFE-Bibliothek beinhaltet Funktionsbausteine, mit denen Dienste/Funktionen in Zusammenhang mit den TwinSAFE Klemmen KL1904, KL2904 und KL6904 ausgeführt werden können.

TwinSAFE Funktionen

Name | Beschreibung
F_GetVersionTcTwinSAFE | Versionsnummer der Bibliothek
FB_TwinSAFE_connection | Auswertung der TwinSAFE Daten, welche von einem TwinSAFE Teilnehmer (KLx904) zu einem anderen TwinSAFE Teilnehmer (KLx904), welche im selben System Manager oder auch über RT Ethernet verbunden sind, gesendet werden

Beispiel

Name | Beschreibung
ExampleTcTwinSAFE.zip | TwinCAT PLC Projekt mit dem Aufruf und der Verarbeitung der Bausteininstanzen FB_TwinSAFE_connection und TwinCAT System Manager Konfiguration welche die Verknüpfungen zu den TwinSAFE Klemmen zeigt.

PLC Control Exportdatei

Name | Beschreibung
ST_TWINSAFE_MESSAGE.EXP | TwinCAT PLC Control Exportdatei, welche den Datentyp ST_TWINSAFE_MESSAGE zur Verfügung stellt. Dieser Datentyp kann ab der TwinCAT Version 2.10 Build 1334 benutzt werden, um TwinSAFE Daten auf SPS Variablen zu mappen.
FSoE_Types_EL6900.EXP | TwinCAT PLC Control Exportdatei, welche die Datentypen FSoE_xxBytes zur Verfügung stellt. Diese Datentypen können über die Adressierung im PLC Control dem System Manager zur Verfügung gestellt werden. Diese Variablen können dann für eine TwinSAFE Verbindung zwischen zwei EL6900 Klemmen verwendet werden.


F_GetVersionTcTwinSAFE

TwinCAT PLC Library: TwinSAFE

FUNCTION F_GetVersionTcTwinSAFE

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

FUNCTION F_GetVersionTcTwinSAFE : 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 | IO-Hardware | Einzubindende SPS-Bibliotheken
TwinCAT v2.10.0 | PC (i386) | - | TcTwinSAFE.Lib ( Standard.Lib; TcBase.Lib; TcSystem.Lib werden automatisch eingebunden )


FB_TwinSAFE_connection

FUNCTION_BLOCK FB_TwinSAFE_connection

Mit dem Funktionsbaustein FB_TwinSAFE_connection kann eine Auswertung der TwinSAFE Daten, welche zwischen 2 TwinSAFE Teilnehmern ausgetauscht werden, durchgeführt werden. Die Eingangsparameter werden mit den SafetyQBx oder SafetyIn Daten der jeweiligen Klemme im System Manager doppelt verknüpft.
Werden TwinSAFE Daten über RT Ethernet und Netzwerkvariablen gesendet, wird der eine Bausteinparameter mit SafetyQBx und der andere Parameter mit der Subscriber Variablen VarData doppelt verknüpft.

VAR_INPUT

VAR_INPUT
    TwinSAFETerminal AT %I* : TwinSAFE_Data; (* Additional link to "SafetyIn" e.g. KL1904, KL2904, networkvariable subscriber *)
    TwinSAFELogic AT %I* : TwinSAFE_Data; (* Additional link to "SafetyQBx" e.g. KL6904 *)
END_VAR

TwinSAFETerminal: TwinSAFE Telegramm, welches von einem TwinSAFE Teilnehmer zu einem anderen TwinSAFE Teilnehmer gesendet wird. Dieser Parameter wird im System Manager auf SafetyIn (Ausgangsdaten einer KL1904 oder KL2904) doppelt verknüpft.

TwinSAFELogic: TwinSAFE Telegramm, welches von einem TwinSAFE Teilnehmer zu einem anderen TwinSAFE Teilnehmer gesendet wird. Dieser Parameter wird im System Manager auf SafetyQBx (Ausgangsdaten der KL6904) doppelt verknüpft.

VAR_OUTPUT

VAR_OUTPUT
    nSafeTerminalData 		: BYTE;
    nSafeLogicData 		: BYTE;
    tCycleTime		: TIME;
    bConnectionInRun 		: BOOL;
    nFirstError		: WORD;
    nLastError		: WORD;
END_VAR

nSafeTerminalData: Liefert die sicheren Daten, welche in TwinSAFETerminal enthalten sind.

nSafeTerminalData | Beschreibung
.0 | Kanal 1 der sicheren Daten (KL1904 Eingang 1, KL6904 Kanal 1)
.1 | Kanal 2 der sicheren Daten (KL1904 Eingang 2, KL6904 Kanal 2)
.2 | Kanal 3 der sicheren Daten (KL1904 Eingang 3, KL6904 Kanal 3)
.3 | Kanal 4 der sicheren Daten (KL1904 Eingang 4, KL6904 Kanal 4)
.4 | Kanal 5 der sicheren Daten (KL6904 Kanal 5)
.5 | Kanal 6 der sicheren Daten (KL6904 Kanal 6)
.6 | Kanal 7 der sicheren Daten (KL6904 Kanal 7)
.7 | Kanal 8 der sicheren Daten (KL6904 Kanal 8)

nSafeLogicData: Liefert die sicheren Daten, welche in TwinSAFELogic enthalten sind.

nSafeLogicData | Beschreibung
.0 | Kanal 1 der sicheren Daten (KL2904 Ausgang 1, KL6904 Kanal 1)
.1 | Kanal 2 der sicheren Daten (KL2904 Ausgang 2, KL6904 Kanal 2)
.2 | Kanal 3 der sicheren Daten (KL2904 Ausgang 3, KL6904 Kanal 3)
.3 | Kanal 4 der sicheren Daten (KL2904 Ausgang 4, KL6904 Kanal 4)
.4 | Kanal 5 der sicheren Daten (KL6904 Kanal 5)
.5 | Kanal 6 der sicheren Daten (KL6904 Kanal 6)
.6 | Kanal 7 der sicheren Daten (KL6904 Kanal 7)
.7 | Kanal 8 der sicheren Daten (KL6904 Kanal 8)

tCycleTime: Liefert die Zykluszeit in ms, die benötigt wird um das TwinSAFE Telegramm zwischen den Teilnehmern auszutauschen.

bConnectionInRun: Liefert ein TRUE wenn kein Fehler in der Verbindung zwischen den Teilnehmern ansteht. Ist der Wert FALSE, werden nSafeTerminalData und nSafeLogicData auf 0 gesetzt.

nFirstError: Liefert den ersten aufgetretenen Fehler in der Verbindung. Der Fehler wird zurückgesetzt, sobald bConnectionINRun wieder TRUE ist.

nLastError: Liefert den letzten aufgetretenen Fehler in der Verbindung. Der Fehler wird zurückgesetzt, sobald bConnectionINRun wieder TRUE ist.

Fehlerwert | Beschreibung für nFirstError und nLastError
0x0001 | Watchdog in TwinSAFETerminal
0x0002 | Watchdog in TwinSAFELogic
0x0004 | CRC Error in TwinSAFETerminal
0x0008 | CRC Error in TwinSAFELogic
0x0010 | Slave Error in TwinSAFETerminal
0x0020 | Slave Error in TwinSAFELogic
0x4000 | allgemeiner Fehler in TwinSAFETerminal
0x8000 | allgemeiner Fehler in TwinSAFELogic

Beispiel für einen Aufruf im FUP:

PROGRAM MAIN
VAR
    fbTwinSAFE_connection	: FB_TwinSAFE_connection;
    nSafeKL1904_data		: BYTE;
    nSafeKL6904_data		: BYTE;
    CycleTime			: TIME;
    bConnectioninRun		: BOOL;
    nFirstErr			: WORD;
    nLastErr			: WORD;
    KL1904_input_1		: BOOL;
END_VAR

Im obigem Beispiel werden die Daten einer Connection auf die angeschlossenen Variablen geschrieben. Ist der Ausgang bConnectionInRun auf FALSE werden die Ausgänge nSafeTerminalData und nSafeLogicData auf 0 gesetzt.

Zur Verknüpfung der Eingangsdaten der Connection markieren Sie den Parameter TwinSAFETerminal und wählen aus dem Kontext Menü "Verknüpfung ändern..."

und wählen im folgenden Dialog die entsprechende SafetyIn Variable

Bei Verwendung von RT Ethernet für die Kommunikation zu einer entfernten KL6904 ist die entsprechende Subscriber Variable auszuwählen.

Zur Verknüpfung der Ausgangsdaten der Connection markieren Sie den Parameter TwinSAFELogic und wählen aus dem Kontext Menü "Verknüpfung ändern..." und wählen im folgenden Dialog die entsprechende SafetyQBx Variable

Entwicklungsumgebung | Zielplattform | IO-Hardware | Einzubindende SPS-Bibliotheken
TwinCAT v2.10.0 Build > 914 | PC (i386) | KLx904 | TcTwinSAFE.Lib ( Standard.Lib, TcBase.Lib und TcSystem.Lib werden automatisch eingebunden )


ITcUserManager:CreateProcessAsUserDlg

TYPE ST_FSoE_xxBytes

TYPE ST_FSoE_xxBytes :
STRUCT
    CMD : BYTE;
    SafeData1 : WORD;
    CRC1 : WORD;
    SafeData2 : WORD;
    CRC2 : WORD;
    ...
    SafeData7 : WORD;
    CRC7 : WORD;
    ConnID : WORD;
END_STRUCT

ST_FSoE_xxBytes: Enthält das Safety-over-EtherCAT Telegramm mit einer Länge der sicheren Nutzdaten von 2, 4, 6, 8, 10, 12 oder 14 Bytes (xx wird dabei durch 02 bis 14 ersetzt).

Strukturelement | Beschreibung
CMD | Command ID. Eine detaillierte Beschreibung ist in der Safety-over-EtherCAT Spezifikation zu finden
SafeData1 | Sichere Nutzdaten. Eine detaillierte Beschreibung ist in der Safety-over-EtherCAT Spezifikation zu finden
CRC1 | CRC Prüfsumme. Eine detaillierte Beschreibung ist in der Safety-over-EtherCAT Spezifikation zu finden
SafeData2 | Sichere Nutzdaten. Eine detaillierte Beschreibung ist in der Safety-over-EtherCAT Spezifikation zu finden
CRC2 | CRC Prüfsumme. Eine detaillierte Beschreibung ist in der Safety-over-EtherCAT Spezifikation zu finden
... |
SafeData7 | Sichere Nutzdaten. Eine detaillierte Beschreibung ist in der Safety-over-EtherCAT Spezifikation zu finden
CRC7 | CRC Prüfsumme. Eine detaillierte Beschreibung ist in der Safety-over-EtherCAT Spezifikation zu finden
ConnID | ID der Verbindung. Eine detaillierte Beschreibung ist in der Safety-over-EtherCAT Spezifikation zu finden


ITcUserManager:CreateProcessAsUserDlg

TYPE ST_TWINSAFE_MESSAGE

TYPE ST_TWINSAFE_MESSAGE :
STRUCT
    Data: ARRAY[0..5] OF BYTE;
END_STRUCT

ST_TWINSAFE_MESSAGE: Enthält das TwinSAFE Telegramm mit einer Länge von 6 Bytes.

Bytenummer | Beschreibung
0 | Eine detaillierte Beschreibung ist in der Safety-over-EtherCAT Spezifikation zu finden
1 | Eine detaillierte Beschreibung ist in der Safety-over-EtherCAT Spezifikation zu finden
2 | Eine detaillierte Beschreibung ist in der Safety-over-EtherCAT Spezifikation zu finden
3 | Eine detaillierte Beschreibung ist in der Safety-over-EtherCAT Spezifikation zu finden
4 | Eine detaillierte Beschreibung ist in der Safety-over-EtherCAT Spezifikation zu finden
5 | Eine detaillierte Beschreibung ist in der Safety-over-EtherCAT Spezifikation zu finden


ITcUserManager:CreateProcessAsUserDlg

TYPE TwinSAFE_Data

TYPE TwinSAFE_Data :
    ARRAY[0..5] OF BYTE;
END_TYPE

TwinSAFE_Data : Enthält das TwinSAFE Telegramm mit einer Länge von 6 Bytes.

Bytenummer | Beschreibung
0 | Eine detaillierte Beschreibung ist in der Safety-over-EtherCAT Spezifikation zu finden
1 | Eine detaillierte Beschreibung ist in der Safety-over-EtherCAT Spezifikation zu finden
2 | Eine detaillierte Beschreibung ist in der Safety-over-EtherCAT Spezifikation zu finden
3 | Eine detaillierte Beschreibung ist in der Safety-over-EtherCAT Spezifikation zu finden
4 | Eine detaillierte Beschreibung ist in der Safety-over-EtherCAT Spezifikation zu finden
5 | Eine detaillierte Beschreibung ist in der Safety-over-EtherCAT Spezifikation zu finden