Sie sind auf Seite 1von 16

Technische Information

IO-Link KTSKTX
SPS Integration

IO-Link Servicedaten Funktionsbaustein + Prozessdaten


Parserfunktion für CoDeSys 3.x basierte SPS Systeme in
Verbindung mit einem EtherCAT IO-Link Master
IO-Link KTSKTX
Technische Information SPS Integration

Inhaltsverzeichnis
1. Zu diesem Dokument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Funktion dieses Dokuments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2. Zielgruppe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3. Geltungsbereich . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2. Servicedaten Funktionsbaustein . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1. Bausteinspezifikationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2. Arbeitsweise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3. Verhalten im Fehlerfall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.4. Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.5. Fehlerinformationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.5.1. Error code (ErrorCode) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.6. Einbindung in das Steuerungsprogramm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3. Prozessdaten Parserfunktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.1. Bausteinspezifikationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2. Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.3. Einbindung in das Steuerungsprogramm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2018-3-17 / V1.9.0.1000R ©SICK AG - All rights reserved 2


IO-Link KTSKTX
Technische Information SPS Integration

1. Zu diesem Dokument
Bitte lesen Sie dieses Kapitel sorgfältig, bevor Sie mit dieser Anleitung und dem SICK IO-Link Gerät
arbeiten.

1.1. Funktion dieses Dokuments


Diese Anleitung gilt nur in Verbindung mit den jeweiligen Geräte-Betriebsanleitungen. Sie leitet das
technisch geschulte Personal zur Projektierung und Inbetriebnahme der Funktionsbausteine an.

Diese Anleitung beschreibt nicht die Bedienung der Maschine, in der die IO-Link Geräte integriert sind,
sondern leitet lediglich durch die Nutzung der Bausteine im SPS Programm an.

1.2. Zielgruppe
Diese Anleitung richtet sich an Programmierer und Betreiber von Anlagen, in die IO-Link Geräte
integriert sind und die über ein IO-Link Master-Gateway Daten mit einer SPS-Steuerung austauschen
wollen.

1.3. Geltungsbereich
Die SPS Bausteine sind gerätespezifisch und sind somit nur für die folgenden SICK IO-Link Geräte
einsetzbar.

Gerätefamilie:
Device ID: 8388772

-KTS/KTX (see Index 219)

Der Funktionsbaustein "FB_SICK_KTSKTX_EC" übernimmt die Interpretation der azyklischen


Servicedaten.
Die Funktion "F_SICK_PDInParser_KTSKTX" interpretiert die vom IO-Link Gerät gesendeten
Prozessdaten.

Die Funktionalität der Bausteine ist abhängig von den in der IODD angegebenden IO-Link Parametern.
Dies bedeutet, dass die Bausteine auch für weitere SICK Geräte einsetzbar sind, sofern diese den
gleichen IO-Link Parametersatz unterstützen (z.B. zukünftige Gerätevarianten).

2018-3-17 / V1.9.0.1000R ©SICK AG - All rights reserved 3


IO-Link KTSKTX
Technische Information SPS Integration

2. Servicedaten Funktionsbaustein
Der Funktionsbaustein "FB_SICK_KTSKTX_EC" vereinfacht die Integration des SICK IO-Link Gerätes
in eine CoDeSys 3.x basierte SPS. Steuerung. Der FB unterstützt IO-Link Master die über EtherCAT
an die SPS angeschossen werden können.

Hinweis!

Für die Kommunikation mit dem IO-Link Master verwendet der FB die folgenden, von
CoDeSys (3S) bereitgestellten standard Bibliotheken. Bitte prüfen Sie, ob die
entsprechende Feldbus Bibliothek von Ihrem SPS-System unterstützt wird:
- PROFIBUS / PROFINET library: CommFB (CommFB)
- EtherCAT library: IODrvEtherCAT (IoDrvEthercatlib)
- EtherNet/IP library: [EtherNetIP Services (ENIP)]

Der Funktionsbaustein ist gerätespezifisch und ist somit nur für die dafür vorgesehenen SICK IO-Link
Geräte einsetzbar. Der FB übernimmt die Interpretation der azyklischen Servicedaten, die zwischen
der SPS und dem IO-Link Gerät ausgetauscht werden können.

Der FB ist ein asynchron arbeitender Funktionsbaustein, dies bedeutet, dass für die Bearbeitung eines
Auftrags mehrere SPS-Zyklen benötigt werden. Dies setzt vorraus, dass der Baustein zyklisch im
Anwenderprogramm aufgerufen wird.

Der IO-Link Funktionsbaustein kann nur in Verbindung mit den aufgeführten Hilfsfunktionen /
Bibliotheken verwendet werden kann.

2.1. Bausteinspezifikationen
Bausteinname: FB_SICK_KTSKTX_EC
Version: 1.9.0.0
Verwendete Bibliotheken: IO-Link Base (> V3.1.0.0)
Verwendete Strukturen: ST_SICK_KTSKTX
ST_IOL_Error
Bausteinaufruf: Zyklisch
Programmiersprache: Strukturierter Text (ST)
IODD: SICK-KTSKTX-20170515-IODD1.1xml (V1.0.838)

2018-3-17 / V1.9.0.1000R ©SICK AG - All rights reserved 4


IO-Link KTSKTX
Technische Information SPS Integration

Achtung!

Der Funktionsbaustein benötigt die Bibliothek "IO-Link Base (IOLBase)" in der Version
V3.1.0.0 oder höher. Bitte stellen Sie sicher, dass die Bibliothek installiert wurde. Die
IO-Link Base Bibliothek ist abwärtskompatibel und kann auch mit älteren IO-Link
Funktionsbausteinen eingesetzt werden.

"FB_SICK_KTSKTX_EC"
NumberECMaster - USINT
SlaveAddr - UINT
MasterType - E_IOL_MasterType_EC
PortNumber - USINT
TimeOut - TIME
Req - BOOL
RW - BOOL
ISDU Selection 1 - BOOL BOOL - Done
ISDU Selection 2 - BOOL BOOL - Busy
... - BOOL BOOL - Error
DeviceData - POINTER TO ST_IOL_Error - ErrorCode
ST_SICK_KTSKTX

2.2. Arbeitsweise
Der Funktionsbaustein verwendet zur Parameterspeicherung die Datenstruktur "ST_SICK_KTSKTX".
Die mitgelieferte Datenstruktur beinhaltet die Werte aller IO-Link Variablen. Vor der Benutzung muss
eine Variable vom Typ der Datenstruktur angelegt und dem Funktionsbaustein übergeben werden
(DeviceData).

Zu jedem IO-Link Parameter befindet sich in der Datenstruktur ein entsprechender Wert. Dieser wird
aktualisiert, sobald ein Leseauftrag erfolgreich abgeschlossen wurde. Über die Eingangsvariablen
lassen sich die gewünschten IO-Link Parameter auswählen, die geschrieben bzw. ausgelesen werden
sollen. Um einen Parameter auszulesen muss die Eingangsvariable "RW" = FALSE sein (zum
schreiben "RW" = TRUE). Der zu schreibende Wert muss zuvor in die oben beschriebenen
Datenstruktur geschrieben werden.

Sie starten jede Übertragung, indem Sie den "FB_SICK_KTSKTX_EC" mit "Req" = positive Flanke
aufrufen. Solange noch keine gültigen Antwortdaten eingetroffen sind, wird dies über den Parameter
"Busy" signalisiert. Überschreitet dieser Zeitraum die eingestellte Timeout Zeit, wird die Bearbeitung
mit einem Timeout Fehler "ErrorCode" abgebrochen. Der Ausgangsparameter "Done" zeigt an, ob die
Übertragung erfolgreich durchgeführt wurde (Done = TRUE). Die Status-Meldungen behalten solange
ihre Werte, bis erneut ein Auftrag gestartet wird.

Der Funktionsbaustein ermöglicht es mehrere IO-Link Parameter sequentiell zu schreiben bzw.


auszulesen (Mehrfach-Selektion). Beim sequenziellen schreiben wird das IO-Link Feature
"Blockparametrierung" verwendet. Dieses Feature überträgt den kompletten Schreibauftrag als
zusammenhängigen "Block", d.h. es werden alle Parameter konsistent geschrieben. Im Fehlerfall wird

2018-3-17 / V1.9.0.1000R ©SICK AG - All rights reserved 5


IO-Link KTSKTX
Technische Information SPS Integration

die Blockparametrierung abgebrochen, ohne das Geräteparameter verändert werden.

2.3. Verhalten im Fehlerfall


Bei einem fehlerhaften Eingabewert, oder einer fehlerhaften Eingangsbeschaltung des FBs, wird ein
Errorbit (Error) gesetzt und ein Fehlercode (ErrorCode) ausgegeben. In diesem Fall wird keine weitere
Bearbeitung durchgeführt. Die Diagnoseparameter (Error etc.) des FBs behalten solange ihren Wert,
bis ein neuer Auftrag gestartet wird.

2.4. Parameter
Parameter Name Deklaration Datentyp Beschreibung
NumberECMaster INPUT USINT Nummer des EtherCAT-Masters: Wenn nur ein
EtherCAT-Master verwendet wird ist
NumberECMaster = 1.

1..X: Verwendeter EtherCAT Master.


SlaveAddr INPUT UINT EtherCAT slave Adresse des IO-Link Masters
(siehe HW Konfiguration)
MasterType INPUT E_IOL_M Auswahl des IO-Link Masters
asterType
_EC
PortNumber INPUT USINT Portnummer an dem das IO-Link Gerät betrieben
wird.

1..255: Portnummer
TimeOut INPUT TIME Zeit nachdem ein Timeout-Fehler ausgelöst wird
Req INPUT BOOL Positive Flanke: Datenübertragung starten
RW INPUT BOOL Zugriffsart auf das IO-Link Gerät:

FALSE: Parameter lesen


TRUE: Parameter schreiben
VendorName INPUT BOOL Auswahl des IO-Link Parameters
"Herstellername"

===== IO-Link Parameter Informationen =====


IO-Link Index: 16
Zugriff: Lesen
ProductName INPUT BOOL Auswahl des IO-Link Parameters "Produktname"

===== IO-Link Parameter Informationen =====


IO-Link Index: 18
Zugriff: Lesen

2018-3-17 / V1.9.0.1000R ©SICK AG - All rights reserved 6


IO-Link KTSKTX
Technische Information SPS Integration

Parameter Name Deklaration Datentyp Beschreibung


SysCommand INPUT BOOL Auswahl des IO-Link Parameters
"Standardkommando"

===== IO-Link Parameter Informationen =====


IO-Link Index: 2
Zugriff: Schreiben

Gültige Parameterwerte in der Datenstruktur


(dez.):
128: Gerät rücksetzen
130: Auslieferungszustand wiederherstellen
65: 1 Point teach: Teach point 1 (CS-mode)
67: 2 Point teach: Teach point 1 / Mark (KT-mode)
68: 2 Point teach: Teach point 2 / Background
(KT-mode)
71: Start dynamic teach (KT-mode)
72: Stop dynamic teach (KT-mode)
79: Abort teach-in sequence
208: Restore / Activate job in ISDU 222
209: Renew / Update job in ISDU 222
ProductID1 INPUT BOOL Auswahl des IO-Link Parameters "Produkt-ID"

===== IO-Link Parameter Informationen =====


IO-Link Index: 19
Zugriff: Lesen
FWVersion INPUT BOOL Auswahl des IO-Link Parameters
"Firmwareversion"

===== IO-Link Parameter Informationen =====


IO-Link Index: 23
Zugriff: Lesen
AppliName INPUT BOOL Auswahl des IO-Link Parameters
"Anwendungsspezifische Markierung"

===== IO-Link Parameter Informationen =====


IO-Link Index: 24
Zugriff: Lesen/Schreiben
ProductText INPUT BOOL Auswahl des IO-Link Parameters "Produkttext"

===== IO-Link Parameter Informationen =====


IO-Link Index: 20
Zugriff: Lesen
SerialNumber INPUT BOOL Auswahl des IO-Link Parameters "Seriennummer"

===== IO-Link Parameter Informationen =====


IO-Link Index: 21
Zugriff: Lesen
HWVersion INPUT BOOL Auswahl des IO-Link Parameters
"Hardwareversion"

===== IO-Link Parameter Informationen =====


IO-Link Index: 22
Zugriff: Lesen

2018-3-17 / V1.9.0.1000R ©SICK AG - All rights reserved 7


IO-Link KTSKTX
Technische Information SPS Integration

Parameter Name Deklaration Datentyp Beschreibung


DeviceStatus INPUT BOOL Auswahl des IO-Link Parameters "Gerätestatus"

===== IO-Link Parameter Informationen =====


IO-Link Index: 36
Zugriff: Lesen

Gültige Parameterwerte in der Datenstruktur


(dez.):
0: Gerät ist OK
1: Wartung erforderlich
2: Außerhalb der Spezifikation
3: Funktionsprüfung
4: Fehler
5-255: Reserviert
DeviceAccessLocks INPUT BOOL Auswahl des IO-Link Parameters
"Gerätezugriffssperren"

===== IO-Link Parameter Informationen =====


IO-Link Index: 12
Zugriff: Lesen/Schreiben
VendorText INPUT BOOL Auswahl des IO-Link Parameters "Herstellertext"

===== IO-Link Parameter Informationen =====


IO-Link Index: 17
Zugriff: Lesen
DeviceSpecificName INPUT BOOL Auswahl des IO-Link Parameters "Device specific
name"

===== IO-Link Parameter Informationen =====


IO-Link Index: 64
Zugriff: Lesen/Schreiben
SICKprofileVersion INPUT BOOL Auswahl des IO-Link Parameters "SICK-profile
version"

===== IO-Link Parameter Informationen =====


IO-Link Index: 205
Zugriff: Lesen
TeachinChannel INPUT BOOL Auswahl des IO-Link Parameters "Teach-in
channel"

===== IO-Link Parameter Informationen =====


IO-Link Index: 58
Zugriff: Lesen/Schreiben

Gültige Parameterwerte in der Datenstruktur


(dez.):
0: default (Qint.1)
TeachinStatus INPUT BOOL Auswahl des IO-Link Parameters "Teach-in
status"

===== IO-Link Parameter Informationen =====


IO-Link Index: 59
Zugriff: Lesen
Qint1SP1SP2 INPUT BOOL Auswahl des IO-Link Parameters "Qint.1
SP1/SP2"

===== IO-Link Parameter Informationen =====


IO-Link Index: 60
Zugriff: Lesen/Schreiben

2018-3-17 / V1.9.0.1000R ©SICK AG - All rights reserved 8


IO-Link KTSKTX
Technische Information SPS Integration

Parameter Name Deklaration Datentyp Beschreibung


Qint1Configuration INPUT BOOL Auswahl des IO-Link Parameters "Qint.1
configuration"

===== IO-Link Parameter Informationen =====


IO-Link Index: 61
Zugriff: Lesen/Schreiben
FindMe INPUT BOOL Auswahl des IO-Link Parameters "Find me"

===== IO-Link Parameter Informationen =====


IO-Link Index: 204
Zugriff: Lesen/Schreiben

Gültige Parameterwerte in der Datenstruktur


(dez.):
0: Deactivated
1: Yellow LED blinks with 1 Hz
16: Yellow LED + Q (Pin 2) blink with 1 Hz
Sensitivity INPUT BOOL Auswahl des IO-Link Parameters "Sensitivity"

===== IO-Link Parameter Informationen =====


IO-Link Index: 73
Zugriff: Lesen/Schreiben

Gültige Parameterwerte in der Datenstruktur


(dez.):
0: Fine
1: Middle
2: Coarse
3: Auto
AutomaticDriftCorrec INPUT BOOL Auswahl des IO-Link Parameters "Automatic drift
correction"

===== IO-Link Parameter Informationen =====


IO-Link Index: 75
Zugriff: Lesen/Schreiben

Gültige Parameterwerte in der Datenstruktur


(dez.):
0: Deactivated
1: Activated
TeachModeSelectionFo INPUT BOOL Auswahl des IO-Link Parameters "Teach mode
selection for external lines"

===== IO-Link Parameter Informationen =====


IO-Link Index: 116
Zugriff: Lesen/Schreiben
Pin2Configuration INPUT BOOL Auswahl des IO-Link Parameters "Pin 2
configuration"

===== IO-Link Parameter Informationen =====


IO-Link Index: 121
Zugriff: Lesen/Schreiben

Gültige Parameterwerte in der Datenstruktur


(dez.):
0: Deactivated
17: External teach
18: Light/Dark
19: Fine/Coarse
20: Blanking
32: Switching Output Q
48: Auto

2018-3-17 / V1.9.0.1000R ©SICK AG - All rights reserved 9


IO-Link KTSKTX
Technische Information SPS Integration

Parameter Name Deklaration Datentyp Beschreibung


EmissionColor INPUT BOOL Auswahl des IO-Link Parameters "Emission color"

===== IO-Link Parameter Informationen =====


IO-Link Index: 208
Zugriff: Lesen/Schreiben

Gültige Parameterwerte in der Datenstruktur


(dez.):
0: Fix Red
1: Fix Green
2: Fix Blue
3: Defined by teach (auto)
JobAssurance INPUT BOOL Auswahl des IO-Link Parameters "Job assurance"

===== IO-Link Parameter Informationen =====


IO-Link Index: 222
Zugriff: Lesen/Schreiben
QualOfTeach INPUT BOOL Auswahl des IO-Link Parameters "Quality of
teach"

===== IO-Link Parameter Informationen =====


IO-Link Index: 114
Zugriff: Lesen

Gültige Parameterwerte in der Datenstruktur


(dez.):
0-100: Qualitiy level in percent
QualOfRun INPUT BOOL Auswahl des IO-Link Parameters "Quality of run"

===== IO-Link Parameter Informationen =====


IO-Link Index: 175
Zugriff: Lesen

Gültige Parameterwerte in der Datenstruktur


(dez.):
0-255: Quality level in percent
QualOfRunAlarmThres INPUT BOOL Auswahl des IO-Link Parameters "Quality of run
alarm threshold"

===== IO-Link Parameter Informationen =====


IO-Link Index: 176
Zugriff: Lesen/Schreiben

Gültige Parameterwerte in der Datenstruktur


(dez.):
0-90: Threshold position in percent
SystemStatus INPUT BOOL Auswahl des IO-Link Parameters "System status"

===== IO-Link Parameter Informationen =====


IO-Link Index: 226
Zugriff: Lesen

Gültige Parameterwerte in der Datenstruktur


(dez.):
0: Q not active
1: Q active
Temperature INPUT BOOL Auswahl des IO-Link Parameters "Temperature"

===== IO-Link Parameter Informationen =====


IO-Link Index: 153
Zugriff: Lesen

2018-3-17 / V1.9.0.1000R ©SICK AG - All rights reserved 10


IO-Link KTSKTX
Technische Information SPS Integration

Parameter Name Deklaration Datentyp Beschreibung


SenderConfiguration INPUT BOOL Auswahl des IO-Link Parameters "Sender
configuration"

===== IO-Link Parameter Informationen =====


IO-Link Index: 97
Zugriff: Lesen/Schreiben

Gültige Parameterwerte in der Datenstruktur


(dez.):
0: Sensor active
1: Sender not active
NotificationHandling INPUT BOOL Auswahl des IO-Link Parameters "Notification
handling"

===== IO-Link Parameter Informationen =====


IO-Link Index: 227
Zugriff: Lesen/Schreiben

Gültige Parameterwerte in der Datenstruktur


(dez.):
0: All enabled
1: All disabled
Timer1Mode INPUT BOOL Auswahl des IO-Link Parameters "Timer 1 mode"

===== IO-Link Parameter Informationen =====


IO-Link Index: 1085
Zugriff: Lesen/Schreiben

Gültige Parameterwerte in der Datenstruktur


(dez.):
0: Deactivated
1: Ton delay
2: Toff delay
3: Ton + Toff delay
4: Impulse
Timer1Setup INPUT BOOL Auswahl des IO-Link Parameters "Timer 1 setup"

===== IO-Link Parameter Informationen =====


IO-Link Index: 1087
Zugriff: Lesen/Schreiben

Gültige Parameterwerte in der Datenstruktur


(dez.):
1-30000
QualOfAlignment INPUT BOOL Auswahl des IO-Link Parameters "Quality of
alignment"

===== IO-Link Parameter Informationen =====


IO-Link Index: 177
Zugriff: Lesen

Gültige Parameterwerte in der Datenstruktur


(dez.):
-1: Quality of alignment not available
0-100: Quality value in percent

2018-3-17 / V1.9.0.1000R ©SICK AG - All rights reserved 11


IO-Link KTSKTX
Technische Information SPS Integration

Parameter Name Deklaration Datentyp Beschreibung


Pin5Configuration INPUT BOOL Auswahl des IO-Link Parameters "Pin 5
configuration"

===== IO-Link Parameter Informationen =====


IO-Link Index: 122
Zugriff: Lesen/Schreiben

Gültige Parameterwerte in der Datenstruktur


(dez.):
0: Deactivated
17: External teach
18: Light/Dark
19: Fine/Coarse
20: Blanking
48: Auto
OutputInversion INPUT BOOL Auswahl des IO-Link Parameters "Output
inversion"

===== IO-Link Parameter Informationen =====


IO-Link Index: 80
Zugriff: Lesen

Gültige Parameterwerte in der Datenstruktur


(dez.):
0: Dark switching
1: Light switching
ShowRGBValues INPUT BOOL Auswahl des IO-Link Parameters "Show RGB
values"

===== IO-Link Parameter Informationen =====


IO-Link Index: 71
Zugriff: Lesen/Schreiben

Gültige Parameterwerte in der Datenstruktur


(dez.):
0: RGB Measurement monitoring mode inactive
1: RGB Measurement monitoring mode active
DisplayDirectionSwit INPUT BOOL Auswahl des IO-Link Parameters "Display
direction switch"

===== IO-Link Parameter Informationen =====


IO-Link Index: 117
Zugriff: Lesen/Schreiben

Gültige Parameterwerte in der Datenstruktur


(dez.):
0: Reading direction not turned
1: Reading direction upside-down
TeachData INPUT BOOL Auswahl des IO-Link Parameters "Teach data"

===== IO-Link Parameter Informationen =====


IO-Link Index: 82
Zugriff: Lesen/Schreiben
ProductID INPUT BOOL Auswahl des IO-Link Parameters "Product ID"

===== IO-Link Parameter Informationen =====


IO-Link Index: 219
Zugriff: Lesen

2018-3-17 / V1.9.0.1000R ©SICK AG - All rights reserved 12


IO-Link KTSKTX
Technische Information SPS Integration

Parameter Name Deklaration Datentyp Beschreibung


DeviceData INPUT POINTER Pointer zu einer Instanz der zu verwendende
TO Datenstruktur FB_SICK_KTSKTX_EC.
ST_SICK
_KTSKTX Beispiel:
VAR
stDeviceData: ST_SICK_KTSKTX;
END_VAR

DeviceData:= ADR(stDeviceData);
Done OUTPUT BOOL Bearbeitung abgeschlossen
Busy OUTPUT BOOL Auftrag in Bearbeitung
Error OUTPUT BOOL Fehler Status

FALSE: Kein Fehler


TRUE: Abbruch mit Fehler
ErrorCode OUTPUT ST_IOL_ Fehlercode (siehe Dokumentation)
Error

2.5. Fehlerinformationen

2.5.1. Error code (ErrorCode)


Der Parameter "ErrorCode" kann mit Hilfe des Datentypes ST_IOL_Error interpretiert werden. Der
Datentyp beinhaltet die folgenden Fehlerinformationen:

Parameter Name Datentyp Beschreibung


nCommunicationError DWORD SICK IOLG2: EtherCAT CoE Kommunikationsfehler (siehe
Hilfesystem zum Thema ETC_CO_SdoRead bzw.
ETC_CO_SdoWrite)

Beckhoff 6224 / Phoenix Axioline: EtherCAT ADS


Kommunikationsfehler (siehe Hilfesystem zum Thema
ETC_ADS_IoLinkRead bzw. ETC_ADS_IoLinkWrite)
nBlockError DWORD Funktionsbausteinfehler
nIOLMError WORD Dieser Fehlercode wird vom IO-Link Master nicht unterstützt
nIOLError WORD IO-Link Fehler. Beinhaltet den IOL Error_Code und den IOL
Add_Error_Code (siehe IO-Link Spezifikation) sowie
Gerätespezifische Fehlercodes
iISDUIndex UINT IO-Link Index (ISDU) auf dem sich der Fehlercode bezieht

Fehlercode (nBlockError) Fehlercode


0x0000 Kein Fehler
0x0001 Reserviert
0x0002 Kein Baustein Parameter ausgewählt
0x0003 Ausgewählte Parameter können nicht ausgelesen werden. Es wurde
mindestens ein Parameter mit Write-only Zugiff ausgewählt (siehe
"ErrorCode.iISDUIndex").
0x0004 Ausgewählte Parameter können nicht geschrieben werden. Es wurde
mindestens ein Parameter mit Read-only Zugriff ausgewählt (siehe
"ErrorCode.iISDUIndex").
0x0005 ... 0x0008 Reserviert
0x0009 Timeout

2018-3-17 / V1.9.0.1000R ©SICK AG - All rights reserved 13


IO-Link KTSKTX
Technische Information SPS Integration

Fehlercode (nBlockError) Fehlercode


0x000A Blockparameter Übertragung fehlerhaft. Gerät befindet sich im
Blockparametrierungs-Modus. Bitte führen Sie erneut eine Lese- oder
Schreibanfrage aus, um den Blockparametrierungs-Modus zu
verlassen.
0x0100 (IOL_Call): IO-Link Index > 32767
0x0200 (IOL_Call): Ungültiger Parameter (Length > 232 oder 0)
0x0300 (IOL_Call): Ungültige IO-Link Portnummer (PortNumber < 1)
0x0400 (IOL_Call): Timeout
0x0500 (IOL_Call): Ungültiger IO-Link MasterTyp
0x0600 (IOL_Call): Ungültige IO-Link Portnummer (PortNumber > 8) [nur bei
SICK IOLG2 IOLM]

Fehlercode (nIOLError) Fehlercode


0x0000 Kein Fehler
0x1000 Master Kommunikationsfehler
0x1100 ISDU Timeout / Device event error
0x5200 Device Speicherfehler
0x5600 Device Checksum-Fehler
0x5700 Master ISDU illegaler Service
0x5800 Bytelänge passt nicht zum IO-Link Index
0x8000 Angeforderter Dienst wurde vom Gerät abgelehnt
0x8011 Gewählter IO-Link Index nicht verfügbar
0x8012 Gewählter IO-Link Sub-Index nicht verfügbar
0x8020 Service kann zurzeit nicht ausgeführt werden
0x8021 Service kann zurzeit nicht ausgeführt werden
0x8022 Service kann zurzeit nicht ausgeführt werden
0x8023 Parameter kann nicht beschrieben werden (nur Lesezugriff)
0x8030 Eingabewert liegt außerhalb der Parameter Grenze
0x8031 Eingabewert liegt überhab der Parameter Grenze
0x8032 Eingabewert liegt unterhalb der Parameter Grenze
0x8033 Die Länge des Eingabewert ist zu groß
0x8034 Die Länge des Eingabewert ist zu klein
0x8035 Kommandofunktion nicht vorhanden
0x8036 Kommandofunktion kann zurzeit nicht ausgeführt werden
0x8040 Ungültiger Parameterinhalt
0x8041 Inkonsistenter Parameterinhalt (mindestens eine ISDU kann nicht
geschrieben werden)
0x8082 Gerätefunktion kann vorübergehend nicht verwendet werden
0x8100 Unspezifiziert
0x8101 ... 0x81FF IO-Link Device spezifisch (siehe Gerätebeschreibung)
Zusätzliche Informationen zu den Fehlercodes finden Sie in der Spezifikation "IO-Link Communication"
(www.IO-Link.com).

2.6. Einbindung in das Steuerungsprogramm


Der Funktionsbaustein "FB_SICK_KTSKTX_EC" ist ein Bestandteil der CoDeSys V3.x Bibliothek "" .
Die Bibliothek muss zunächst mit Hilfe des Library Repositories installiert werden. Anschließend kann
die Bibliothek zum Steuerungsprojekt hinzugefügt werden (Library Manager --> Bibliothek

2018-3-17 / V1.9.0.1000R ©SICK AG - All rights reserved 14


IO-Link KTSKTX
Technische Information SPS Integration

hinzufügen...).

Der Funktionsbaustein verwendet intern die Kommunikationsbibliothek "IO-Link Base (IOLBase)". Bitte
stellen Sie sicher, dass die Bibliothek mit Hilfe des Bibiotheksverwalters installiert wurde. Die IO-Link
Base Bibliothek steht zum download auf www.sick.com zur Verfügung.

2018-3-17 / V1.9.0.1000R ©SICK AG - All rights reserved 15


IO-Link KTSKTX
Technische Information SPS Integration

3. Prozessdaten Parserfunktion
Die Funktion F_SICK_PDInParser_KTSKTX interpretiert das IO-Link Prozessdatum und stellt die darin
enthaltenden Informationen auf der Steuerung zur Verfügung.

Die Funktion ist gerätespezifisch und ist somit nur für die dafür vorgesehenen SICK IO-Link Geräte
einsetzbar.

3.1. Bausteinspezifikationen
Bausteinname: F_SICK_PDInParser_KTSKTX
Version: 1.9.0.0
Verwendete Strukturen: ST_SICK_PDInParser_KTSKTX
Programmiersprache: Strukturierter Text (ST)
IODD: SICK-KTSKTX-20170515-IODD1.1xml (V1.0.838)

"F_SICK_PDInParser_KTSKTX"
PDInput - ARRAY[0..1] OF BYTE

ST_SICK_PDInParser_K - RET_VAL
TSKTX

3.2. Parameter
Parameter Name Deklaration Datentyp Beschreibung
PDInput INPUT ARRAY[0. Rohdaten des IO-Link Geräts. Es ist zu beachten,
.1] OF dass die Bytereihenfolge der Rohdaten nicht
BYTE verändert werden darf.
RET_VAL OUTPUT ST_SICK Referenz zu der Instanz der Datenstruktur
_PDInPar ST_SICK_PDInParser_KTSKTX. Die Struktur
ser_KTSK enthält die aus dem Prozessdatum
TX entschlüsselten Werte.

3.3. Einbindung in das Steuerungsprogramm


Die Funktion "F_SICK_PDInParser_KTSKTX" ist Bestandteil der IO-Link Bibliothek, die mit Hilfe des
Bibliotheksverwalter eingebunden werden kann. Als Eingangswert benötigt die Funktion das
Prozessdatum des IO-Link Gerätes. Das Prozessdatum erhält man, indem man eine Variable in
CoDeSys mittels AT-Deklaration mit dem Prozesswert des IO-Link Gerätes verknüpft. Hierbei ist zu
beachten, dass die Bytereihenfolge nicht verändert werden darf. Der Ausgabewert der Funktion ist
eine Struktur, die die aufgeschlüsselten Werte des Prozessdatums enthält.

2018-3-17 / V1.9.0.1000R ©SICK AG - All rights reserved 16