FB_TwinSAFE_connection

FB_TwinSAFE_connection 1:

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
FB_TwinSAFE_connection 2:

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..."

FB_TwinSAFE_connection 3:

 

und wählen im folgenden Dialog die entsprechende SafetyIn Variable

FB_TwinSAFE_connection 4:

 

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

FB_TwinSAFE_connection 5:

 

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

FB_TwinSAFE_connection 6:

Voraussetzungen

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 )