Zugriff auf IO-Link Parameter

Über den Parameterdaten-Block erfolgt der Zugriff auf die Parameter der KL6224 IO-Link Master Klemme. In Folgenden sind der Schreibzugriff und der Lesezugriff mit Beispielen dokumentiert.

Schreiben eines Parameters

Um einen Parameter zu schreiben ist folgende Sequenz einzuhalten:

Überprüfen Sie Zunächst, ob der vorherige Zugriff vollständig abgeschlossen wurde. Werten Sie hierzu Status-Byte 1 aus: Bits 4 bis 7 müssen 0bin sein. Falls nicht, sind Control-Byte 0 und Control-Byte 1 auf 0 zu setzen bis die Bits 4 bis 7 im Status-Byte 1 auf 0bin gesetzt sind.

Schreibzugriff (SPS->KL6224): Parameterdaten-Block

Byte

Byte 0

Byte 1

Byte 2

Byte 3

Byte 4

Byte 5

Name

Control-Byte 0

Control-Byte 1

ParaOut0

ParaOut1

ParaOut2

ParaOut3

Wert

01binA5A4 A3A2A1A0

0100bin A9A8A7A6

P0...P7

P8...P15

P16...P23

P24...P31

A0 bis A9: Bits der Parameteradresse
P0 bis P31: Bits des Parameter-Werts

Antwort auf Schreibzugriff (KL6224->SPS): Parameterdaten-Block

Byte

Byte 0

Byte 1

Byte 2

Byte 3

Byte 4

Byte 5

Name

Status-Byte 0

Status-Byte 1

ParaIn0

ParaIn1

ParaIn2

ParaIn3

Wert

xxxx xxxxbin

01F1 xxx1bin

Error-Code

Error-Code

Error-Code

Error-Code

x: Bits können beliebige Werte annehmen
F: Fehler-Bit.
F=0bin: Schreibzugriff war erfolgreich.
F=1bin: Schreibzugriff war nicht erfolgreich. Die Bytes 2 bis 5 enthalten einen Error-Code, der Aufschluss über die Fehlerursache gibt.

Die Schreib-Sequenz wird durch Nullsetzen der Control-Bytes abgeschlossen:

Abschluss Schreibzugriff (SPS->KL6224): Parameterdaten-Block

Byte

Byte 0

Byte 1

Byte 2

Byte 3

Byte 4

Byte 5

Name

Control-Byte 0

Control-Byte 1

ParaOut0

ParaOut1

ParaOut2

ParaOut3

Wert

0000 0000bin

0000 0000bin

x

x

x

x

x: Die Parameterwerte werden nicht ausgewertet wenn die Control-Bytes 0x00 sind.

Beispiel

Die Liste der projektierten Slaves (LPS) soll beschrieben werden. Der IO-Link Master soll gezielt mit den IO-Link Slaves mit den Knoten-Nummern 1, 2, 3, 4, 12, 16, 17 und 30 kommunizieren. Es soll also der Wert 0x4003101E (0100 0000 0000 0011 0001 0000 0001 1110bin) auf den Parameter 0xA8 (1010 1000bin) geschrieben werden.

Schreibzugriff (SPS->KL6224): Parameterdaten-Block

Byte

Byte 0

Byte 1

Byte 2

Byte 3

Byte 4

Byte 5

Name

Control-Byte 0

Control-Byte 1

ParaOut0

ParaOut1

ParaOut2

ParaOut3

Wert

0110 1000bin (0x68)

0100 0010bin (0x42)

0x1E

0x10

0x03

0x40

Im Parameterdaten-Block zur KL6224 muss also die Bytefolge 0x68 42 1E 10 03 40 geschrieben werden.

Die Klemme antwortet mit folgenden Daten:

Antwort auf Schreibzugriff (KL6224->SPS): Parameterdaten-Block

Byte

Byte 0

Byte 1

Byte 2

Byte 3

Byte 4

Byte 5

Name

Status-Byte 0

Status-Byte 1

ParaIn0

ParaIn1

ParaIn2

ParaIn3

Wert

xxxx xxxxbin

0101 xxx1bin

0

0

0

0

Die Schreib-Sequenz wird mit dieser Bytefolge abgeschlossen: 0x00 00 00 00 00 00

Lesen eines Parameters

Um einen Parameter zu lesen ist folgende Sequenz einzuhalten:

Zunächst überprüfen, ob vorheriger Zugriff vollständig abgeschlossen wurde. Hierzu muss Status1 ausgewertet werden, Bits 4 bis 7 müssen 0 sein. Falls nicht, sind Control-Byte 0 und Control-Byte 1 auf 0 zu setzen bis die Bits 4 bis 7 im Status1 auf 0 gesetzt sind.

Lesezugriff (SPS->KL6224): Parameterdaten-Block

Byte

Byte 0

Byte 1

Byte 2

Byte 3

Byte 4

Byte 5

Name

Control-Byte 0

Control-Byte 1

ParaOut0

ParaOut1

ParaOut2

ParaOut3

Wert

00bin A5A4 A3A2A1A0

0100bin A9A8A7A6

x

x

x

x

A0 bis A9: Bits der Parameteradresse

x: Die Parameterwerte werden nicht ausgewertet

Antwort auf Lesezugriff (KL6224->SPS): Parameterdaten-Block

Byte

Byte 0

Byte 1

Byte 2

Byte 3

Byte 4

Byte 5

Name

Status-Byte 0

Status-Byte 1

ParaIn0

ParaIn1

ParaIn2

ParaIn3

Wert

xxxx xxxxbin

01F1 xxx0bin

P0...P7

P8...P15

P16...P23

P24...P31

x: Bits können beliebige Werte annehmen
F: Fehler-Bit.
F=0bin: Lesezugriff war erfolgreich. Die Bytes 2 bis 5 enthalten den Parameterwert.
F=1bin: Lesezugriff war nicht erfolgreich. Die Bytes 2 bis 5 enthalten einen Error-Code, der Aufschluss über die Fehlerursache gibt.
P0 bis P31: Bits des Parameter-Werts oder Error-Codes

Die Lese-Sequenz wird durch Null-setzen der Control-Bytes abgeschlossen:

Abschluss Lesezugriff (SPS->KL6224): Parameterdaten-Block

Byte

Byte 0

Byte 1

Byte 2

Byte 3

Byte 4

Byte 5

Name

Control-Byte 0

Control-Byte 1

ParaOut0

ParaOut1

ParaOut2

ParaOut3

Wert

0000 0000bin

0000 0000bin

x

x

x

x

x: Die Parameterwerte werden nicht ausgewertet wenn die Control-Bytes 0x00 sind.

Beispiel

Die Liste der erkannten Slaves (LES) soll ermittelt werden. Hierfür muss der Parameter 0xB0 (1011 0000bin) gelesen werden.

Lesezugriff (SPS->KL6224): Parameterdaten-Block

Byte

Byte 0

Byte 1

Byte 2

Byte 3

Byte 4

Byte 5

Name

Control-Byte 0

Control-Byte 1

ParaOut0

ParaOut1

ParaOut2

ParaOut3

Wert

0011 0000bin (0x30)

0100 0010bin (0x42)

0x00

0x00

0x00

0x00

Im Parameterdaten-Block zur KL6224 muss also die Bytefolge 0x30 42 00 00 00 00 geschrieben werden. Die Klemme antwortet mit folgenden Daten:

Antwort auf Schreibzugriff (KL6224->SPS): Parameterdaten-Block

Byte

Byte 0

Byte 1

Byte 2

Byte 3

Byte 4

Byte 5

Name

Status-Byte 0

Status-Byte 1

ParaIn0

ParaIn1

ParaIn2

ParaIn3

Wert

xxxx xxxxbin

0101 xxx0bin

0x4C

0x02

0x80

0x83

Der IO-Link Master soll in diesem Beispiel die Slaves mit den Knoten-Nummern 2, 3, 6, 9, 23, 24, 25 und 31 erkannt haben. Er antwortet also mit den Parameterdaten 0x8380024C (1000 0011 1000 0000 0000 0010 0100 1100bin)

Die Lese-Sequenz wird mit der Bytefolge 0x00 00 00 00 00 00 abgeschlossen.