KL6201/KL6211 an CANopen-Kopplern
Kapitelübersicht
Dieses Kapitel besteht aus den Unterkapiteln:
- Auswahl der Größe des Prozessabbilds
- Mapping der Prozessdaten
- 6 Byte Prozessabbild
- 12 Byte Prozessabbild
- 22 Byte Prozessabbild
- 38 Byte Prozessabbild
- Zugriff auf Parameter
Auswahl der Größe des Prozessabbilds
Die Größe des Prozessabbilds der AS-i Master-Klemme kann auf 6, 12, 22 oder 38 Byte eingestellt werden. Dies kann mit Hilfe der Konfigurations-Software KS2000 oder über den Feldbus erfolgen. Hierzu muss der Parameter 0x20 über den Parameterdatenblock verändert werden (siehe AS-i Parameter 0x20). Anschließend muss ein Reset des Buskopplers erfolgen - der Koppler startet dann mit der zuletzt gewählten Prozessabbildgröße auf.
Prozessabbilder Für die Verwendung des 22 Byte oder des 38 Byte Prozessabbilds unter CANopen kann auf dem Buskoppler ein bestimmter Firmware-Stand erforderlich sein (siehe Kapitel Firmware-Stand der Buskoppler). Der ausgelieferte Firmware-Stand ist auf der Rückseite des Buskopplers angegeben (siehe untenstehendes Beispiel). Bei Bedarf kann ein Firmware-Update über die serielle Schnittstelle (KS2000-Kabel erforderlich) oder über CANopen (mit der Feldbuskarte FC5101, wenn auf dem Buskoppler bereits die Firmware C2 vorhanden ist) erfolgen. |
Mapping der Prozessdaten
Das Prozessabbild der KL6201/KL6211 wird bei den CANopen Buskopplern auf mehrere 8-Byte Datenobjekte abgebildet. Die 8-Byte Datenobjekte finden sich im CANopen Objektverzeichnis bei Index 0x3000 (Eingangsdaten) bzw. Index 0x3100 (Ausgangsdaten). Der Koppler mappt diese Objekte beim Aufstarten automatisch in das jeweils erste freie PDO (ab PDO3).
6 Byte Prozessabbild
Parameterdatenblock
Das 6 Byte Prozessabbild besteht nur aus dem Parameterdatenblock ergänzt um 2 Dummy-Bytes. Dieser Block findet sich bei Index 0x3000 und wird komplett in ein PDO gemappt.
Das 6 Byte Prozessabbild unterstützt im Gegensatz zu den anderen Prozessabbildern keinen direkten Zugriff auf die Prozessdaten der AS-i Slaves! Der Prozessdatenzugriff muss über die AS-i Parameter 0x80 bis 0x87 (digitale Slaves) oder 0x204 bis 0x27F (analoge Slaves) erfolgen.
Das TxPDO (KL6201/KL6211 -> SPS) mit den Eingangsdaten (Index 0x3000) hat folgende Struktur:
Dummy-Bytes | |||||||
---|---|---|---|---|---|---|---|
Byte 0 | Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 | Byte 7 |
SB0 | SB1 | Para In 0 | Para In 1 | Para In 2 | Para In 3 | reserviert | reserviert |
Das RxPDO (SPS -> KL6201/KL6211) mit den Ausgangsdaten (Index 0x3100) hat folgende Struktur:
Dummy-Bytes | |||||||
---|---|---|---|---|---|---|---|
Byte 0 | Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 | Byte 7 |
CB0 | CB1 | Para Out 0 | Para Out 1 | Para Out 2 | Para Out 3 | reserviert | reserviert |
Legende
SB n: Status-Byte n
CB n: Control-Byte n
Para Out n: Ausgangsparameter, Byte n
Para In n: Eingangsparameter, Byte n
12 Byte Prozessabbild
Parameterdatenblock
Im ersten 8-Byte Objekt findet sich der Parameterdatenblock, ergänzt um 2 Dummy-Bytes. Dieser Block findet sich bei Index 0x3000 und wird komplett in ein PDO gemappt.
Das TxPDO (KL6201/KL6211 -> SPS) mit den Eingangsdaten (Index 0x3000) hat folgende Struktur:
Dummy-Bytes | |||||||
---|---|---|---|---|---|---|---|
Byte 0 | Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 | Byte 7 |
SB0 | SB1 | Para In 0 | Para In 1 | Para In 2 | Para In 3 | reserviert | reserviert |
Das RxPDO (SPS -> KL6201/KL6211) mit den Ausgangsdaten (Index 0x3100) hat folgende Struktur:
Dummy-Bytes | |||||||
---|---|---|---|---|---|---|---|
Byte 0 | Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 | Byte 7 |
CB0 | CB1 | Para Out 0 | Para Out 1 | Para Out 2 | Para Out 3 | reserviert | reserviert |
Legende
SB n: Status-Byte n
CB n: Control-Byte n
Para Out n: Ausgangsparameter, Byte n
Para In n: Eingangsparameter, Byte n
Prozessdaten-Block
Das nächste 8-Byte Objekt enthält den Prozessdatenblock mit AS-i Status-Nibble (ASI SN)sowie die AS-i Eingangsdaten. Das nächste TxPDO (KL6201/KL6211 -> SPS) hat also folgende Belegung:
Prozessdatenblock | Dummy-Bytes | ||||||
---|---|---|---|---|---|---|---|
Byte 0 | Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 | Byte 7 |
ASiSN + | ASiIn | ASiIn | ASiIn | ASiIn | ASiIn | reserviert | reserviert |
Das nächste RxPDO (SPS -> KL6201/KL6211) enthält das AS-i Command-Nibble (ASI CN) und die AS-i Ausgangsdaten:
Prozessdatenblock | Dummy-Bytes | ||||||
---|---|---|---|---|---|---|---|
Byte 0 | Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 | Byte 7 |
ASiCN + | ASiOut | ASiOut | ASiOut | ASiOut | ASiOut | reserviert | reserviert |
Legende
ASiSN: AS-i Status-Nibble
ASi CN: AS-i Command-Nibble
ASiIn Slave x+y: Eingangsdaten der AS-i Slaves x und y (ein Nibble pro Slave)
ASiOut Slave x+y: Ausgangsdaten der AS-i Slaves x und y (ein Nibble pro Slave)
Die Abbildung der AS-i Daten auf die CANopen-Prosessdatenobjekte (PDO) sieht also beim12 Byte Prozessabbild wie folgt aus:
22 Byte Prozessabbild
Parameterdatenblock
Siehe 12 Byte Prozessabbild.
Prozessdatenblock
Falls das 22 Byte Prozessabbild angewählt wurde (AS-i-Slave Adressen > 11 in Benutzung), so werden die Dummy Bytes für weitere Prozessdaten genutzt (Slave-Adressen 12 bis 31). Außerdem wird jeweils ein weiteres 8 Byte Objekt mit Prozessdaten für die Slaves 16 bis 31 in Index 0x3000 bzw. 0x3100 angelegt und in das nächste freie PDO gemappt.
Prozessdatenblock | |||||||
---|---|---|---|---|---|---|---|
Byte 0 | Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | ... | Byte 15 |
ASiSN + | ASiIn | ASiIn | ASiIn | ASiIn | ASiIn | ... | ASiIn |
Das nächste RxPDO (SPS -> KL6201/KL6211) enthält das AS-i Command-Nibble (ASI CN) und die AS-i Ausgangsdaten:
Prozessdatenblock | |||||||
---|---|---|---|---|---|---|---|
Byte 0 | Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | ... | Byte 15 |
ASiCN + | ASiOut | ASiOut | ASiOut | ASiOut | ASiOut | ... | ASiOut |
Legende
Siehe 12 Byte Prozessabbild.
Entsprechend stellt sich die Abbildung der AS-i Daten auf die CANopen-Prosessdatenobjekte (PDO) beim 22 Byte Prozessabbild dar:
38 Byte Prozessabbild
Parameterdatenblock
Siehe 12 Byte Prozessabbild.
Prozessdatenblock
Falls das 38 Byte Prozessabbild angewählt wurde (AS-i Slave-Adressen > 32 in Benutzung), so wird jeweils ein weiteres 8 Byte Objekt mit Prozessdaten für die AS-i Slaves 33 bis 63 in Index 0x3000 bzw. 0x3100 angelegt und in das nächste freie PDO gemappt.
Entsprechend sieht die Abbildung der AS-i Daten für Slave-Adressen oberhalb von 32 auf das zusätzliche CANopen PDO beim 38 Byte Prozessabbild aus (PDO n, PDO n+1, PDO n+2 wie beim 22 Byte Prozessabbild):
Mapping Beispiel
Ein BK5120 (Buskoppler für CANopen) hat
- 78 digitale Ein- und 48 digitale Ausgänge
- 6 analoge Eingänge und 4 analoge Ausgänge
- eine KL5001 (SSI-Geber Interface: per default 4 Byte Eingänge)
- eine KL6001 (serielle Schnittstelle: per default 4 Byte Eingänge und 4 Byte Ausgänge)
- eine KL5111 (Inkrementalenkoder-Interface) (6 Byte Eingänge und 6 Byte Ausgänge)
- eine KL6201/KL6211 AS-i Masterklemme mit Default-Einstellung (22 Byte Prozessabbild)
PDO | Dateninhalt (Mapping) | Objektver- | PDO | Dateninhalt (Mapping) | Objektver- |
---|---|---|---|---|---|
RxPDO1 | 5 Bytes digitale Ausgänge 1..48 | 0x6200, | TxPDO1 | 8 Bytes digitale Eingänge 1...64 | 0x6000, |
RxPDO2 | 8 Bytes analoge Ausgänge 1..4 | 0x6411, | TxPDO2 | 4 Bytes analoge Eingänge 1...4 | 0x6401, |
RxPDO3 | 4 Bytes serielle Schnittstelle | 0x2900, | TxPDO3 | 2 Bytes digitale Eingänge 65...78 | 0x6000, |
RxPDO4 | 6 Byte Encoder Ausgänge | 0x2D00, | TxPDO4 | analoge Eingänge 5 und 6 | 0x6401, |
RxPDO5 | 8 Byte AS-i Master 1: Parameterdaten-Block | 0x3100, | TxPDO5 | 8 Bytes: 4 Bytes SSI und 4 Bytes serielle Schnittstelle | 0x2800, |
RxPDO6 | 8 Byte AS-i Master 1: Prozessdaten-Block Outputs AS-i Slave 1...15 | 0x3100, | TxPDO6 | 6 Byte Encoder Ein | 0x2C00, |
RxPDO7 | 8 Byte AS-i Master 1: Prozessdaten-Block Outputs AS-i Slave 16...31 | 0x3100, | TxPDO7 | 8 Byte AS-i Master 1: Parameterdaten-Block | 0x3000, |
|
|
| TxPDO8 | 8 Byte AS-i Master 1: Prozessdaten-Block Inputs AS-i Slave 1...15 | 0x3000, |
|
|
| TxPDO9 | 8 Byte AS-i Master 1: Prozessdaten-Block Inputs AS-i Slave 16...31 | 0x3000, |
Zugriff auf Parameter der KL6201/KL6211
Die Parameter der KL6201/KL6211 sind über den Parameterdaten-Block im jeweils ersten Receive-Prozessdatenobjekt (RxPDO) und Transmit-Prozessdatenobjekt (TxPDO) erreichbar.
Allgemeine Beispiele für den Zugriff auf die Parameter finden Sie im Kapitel Zugriff auf AS-i Parameter.