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
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 ) |