PD4-E CANopen Online-Handbuch

LSS-Protokoll

Mit den Diensten des LSS-Protokolls (Layer Settings Services) erfolgt die Vergabe der Node-ID und/oder Baudrate der Steuerung direkt über den CANopen-Bus. Dies ist besonders nützlich bei Geräten, die über keine Möglichkeit zur mechanischen Konfiguration (z.B. Drehschalter) der Parameter verfügen.

Note: Falls ein Drehschalter zum Konfigurieren der Node-ID und der Baudrate vorhanden ist, müssen Sie ihn auf die Position stellen, in der diese beiden Werte aus den jeweiligen Objekten gelesen werden. Siehe Kapitel Drehschalter.

Allgemeines

Das LSS-Protokoll benötigt ein CANopen-Gerät im Netzwerk, das die Rolle des LSS-Masters einnimmt. Alle anderen Geräte haben die Rolle des LSS-Slaves.

Jeder LSS-Slave verfügt über eine eindeutige LSS-Adresse, die aus den vier 32-Bit-Einträgen des Objekts 1018h Identity Object besteht.

Ein LSS-Slave darf entweder im Konfigurationsmodus oder im Wartemodus sein. Der LSS-Master ist zuständig für das Umschalten zwischen den beiden Modi. Manche LSS-Dienste (Configuration, Inquiry) sind nur im Konfigurationsmodus verfügbar.

LSS-Nachricht

Alle Nachrichten des LSS-Protokolls bestehen aus 8 Bytes (DLC=8), wobei Byte 0 immer den Command Specifier (CS) des Dienstes enthält.

Zwei CAN-ID sind für das LSS-Protokoll reserviert:

  • 7E5h: für die Nachrichten vom LSS-Master an die LSS-Slaves (Request)
  • 7E4h: für die Nachrichten von den LSS-Slave an den LSS-Master (Response)

LSS-Dienste

Es werden vier Kategorien von Diensten unterstützt:

Switch state services

Mit diesen Diensten kann der LSS-Master die LSS-Slaves in den Konfigurationsmodus oder in den Wartemodus versetzen.

Das Ändern der Node-ID und Baudrate mittels Configuration services und die Inquiry services sind nur im Konfigurationsmodus zugelassen.

Switch state global service

Mit diesem Dienst versetzt der LSS-Master alle LSS-Slaves im Netzwerk in den Konfigurationsmodus oder in den Wartemodus.

Byte 0 : CS (Command Specifier)
Wert = "04h"
Byte 1: mode
Wert = "00h": schaltet in den Wartemodus
Wert = "01h": schaltet in den Konfigurationsmodus
Bytes 2-7 :
reserviert (=0h)

Switch state selective service

Mit diesem Dienst versetzt der LSS-Master die LSS-Slaves mit der (oder Teilen der) entsprechenden LSS-Adresse in den Konfigurationsmodus.

Der LSS-Master sendet vier Nachrichten, welche die LSS-Adresse enthalten:

1. Nachricht: Der LSS-Master setzt die LSS-Slaves mit der entsprechenden Vendor-ID in den Konfigurationsmodus:

Byte 0 : CS (Command Specifier)
Wert = "40h"
Bytes 1-4: Vendor-ID
Vendor-ID: siehe 1018h:01h
Bytes 5-7 :
reserviert (=0h)

2. Nachricht: Der LSS-Master setzt die LSS-Slaves mit dem entsprechenden Product Code in den Konfigurationsmodus:

Byte 0 : CS (Command Specifier)
Wert = "41h"
Bytes 1-4: Product Code
Product Code: siehe 1018h:02h
Bytes 5-7 :
reserviert (=0h)

3. Nachricht: Der LSS-Master setzt die LSS-Slaves mit der entsprechenden Revision Number in den Konfigurationsmodus:

Byte 0 : CS (Command Specifier)
Wert = "42h"
Bytes 1-4: Revision Number
Revision Number: siehe 1018h:03h
Bytes 5-7 :
reserviert (=0h)

4. Nachricht: Der LSS-Master setzt die LSS-Slaves mit der entsprechenden Serial Number in den Konfigurationsmodus:

Byte 0 : CS (Command Specifier)
Wert = "43h"
Bytes 1-4: mode
Serial Number: siehe 1018h:04h
Bytes 5-7 :
reserviert (=0h)

Der LSS-Slave mit der entsprechenden LSS-Adresse wurde in den Konfigurationsmodus gesetzt und sendet eine Bestätigung:

Byte 0 : CS (Command Specifier)
Wert = "44h"
Bytes 1-7 :
reserviert (=0h)

Configuration services

Mit diesen Diensten kann der LSS-Master die Node-ID oder Baudrate der LSS-Slaves ändern und ggf. abspeichern.

Note: Die LSS-Slaves müssen sich im Konfigurationsmodus befinden. Siehe Kapitel Switch state services.

Configure node-ID service

Der LSS-Master sendet eine Nachricht mit der neuen Node-ID an einen LSS-Slave:

Byte 0 : CS (Command Specifier)
Wert = "11h"
Byte 1: N-ID (Node-ID)
gültige Node-ID zwischen 01h und 7Fh
Bytes 2-7 :
reserviert (=0h)

Der LSS-Slave antwortet mit einer Bestätigung/einem Error-Code:

Byte 0 : CS (Command Specifier)
Wert = "11h"
Byte 1: Error Code
Wert = "00h": kein Fehler
Wert = "01h": ungültige Node-ID
Bytes 2-7 :
reserviert (=0h)

Configure bit timing parameters service

Der LSS-Master sendet eine Nachricht mit der neuen Baudrate an einen LSS-Slave:

Byte 0 : CS (Command Specifier)
Wert = "13h"
Byte 1: Table Selector
Wert = "00h": die Tabelle für die Baudrate aus dem CiA 301 Standard wird benutzt.
Byte 2: Table Index
Der Wert für den Index wird der nachfolgenden Tabelle entnommen.
Bytes 3-7 :
reserviert (=0h)

Folgende Werte werden für den Table Index unterstützt:

Table Index

Baudrate in kBd

0 1000
2 500
3 250
4 125
6 50
7 20
8 10

Der LSS-Slave antwortet mit einer Bestätigung/einem Error-Code:

Byte 0 : CS (Command Specifier)
Wert = "13h"
Byte 1: Error Code
Wert = "00h": kein Fehler
Wert = "01h": ungültiger Table Index/ Baudrate wird nicht unterstützt
Bytes 2-7 :
reserviert (=0h)

Activate bit timing parameters service

Der LSS-Master aktiviert mit diesem Kommando die eingestellte Baudrate aller LSS-Slaves im Netzwerk gleichzeitig:

Byte 0 : CS (Command Specifier)
Wert = "51h"
Bytes 1-2: Switch Delay

Verzögerung in ms. Dadurch wird gewährleistet, dass alle LSS-Slaves im Netzwerk die gleiche Baudrate haben, bevor Nachrichten wieder gesendet werden dürfen.

Nach dem Empfang dieser Nachricht von jedem LSS-Slave wird die Zeit abgewartet, die hier hinterlegt wird. Erst danach wird die neue Baudrate übernommen.

Die gleiche Zeit wird ein zweites Mal abgewartet, erst danach darf ein LSS-Slave wieder Nachrichten senden.

Bytes 3-7 :
reserviert (=0h)

Store configuration service

Der LSS-Master speichert mit diesem Kommando die eingestellte Node-ID und Baudrate eines LSS-Slaves ab. Der LSS-Master muss gewährleisten, dass in dem Moment nur ein LSS-Slave im Netzwerk sich im Konfigurationsmodus befindet.

Byte 0 : CS (Command Specifier)
Wert = "17h"
Bytes 1-7 :
reserviert (=0h)

Der LSS-Slave antwortet mit einer Bestätigung/einem Error-Code:

Byte 0 : CS (Command Specifier)
Wert = "17h"
Byte 1: Error Code
Wert = "00h": kein Fehler
Wert = "02h": Zugriff auf den nichtflüchtigen Speicher fehlgeschlagen
Bytes 2-7 :
reserviert (=0h)

Inquiry services

Mit diesen Diensten kann der LSS-Master die LSS-Adresse oder die Node-ID eines LSS-Slaves abfragen. Der LSS-Master muss gewährleisten, dass nur ein LSS-Slave im Netzwerk sich im Konfigurationsmodus befindet.

Inquire LSS address service

Mit diesem Dienst fragt der LSS-Master die LSS-Adresse eines Slaves ab.

  1. Der LSS-Master fragt die Vendor-ID ab:

    Byte 0 : CS (Command Specifier)
    Wert = "5Ah"
    Bytes 1-7 :
    reserviert (=0h)

    Der LSS-Slave sendet seine Vendor-ID zurück:

    Byte 0 : CS (Command Specifier)
    Wert = "5Ah"
    Bytes 1-4: Vendor-ID
    Vendor-ID: siehe 1018h:01h
    Bytes 5-7 :
    reserviert (=0h)
  2. Der LSS-Master fragt den Product Code ab:

    Byte 0 : CS (Command Specifier)
    Wert = "5Bh"
    Bytes 1-7 :
    reserviert (=0h)

    Der LSS-Slave sendet seinen Product Code zurück:

    Byte 0 : CS (Command Specifier)
    Wert = "5Bh"
    Bytes 1-4: Produt Code
    Product Code: siehe 1018h:02h
    Bytes 5-7 :
    reserviert (=0h)
  3. Der LSS-Master fragt die Revision Number ab:

    Byte 0 : CS (Command Specifier)
    Wert = "5Ch"

    Der LSS-Slave sendet seine Revision Number zurück:

    Byte 0 : CS (Command Specifier)
    Wert = "5Ch"
    Bytes 1-4: Revision Number
    Revision Number: siehe 1018h:03h
    Bytes 5-7 :
    reserviert (=0h)
  4. Der LSS-Master fragt die Serial Number ab:

    Byte 0 : CS (Command Specifier)
    Wert = "5Dh"
    Bytes 1-7 :
    reserviert (=0h)

    Der LSS-Slave sendet seine Serial Number zurück:

    Byte 0 : CS (Command Specifier)
    Wert = "5Dh"
    Bytes 1-4: Serial Number
    Serial Number: siehe 1018h:04h
    Bytes 5-7 :
    reserviert (=0h)

Inquire node-ID service

Mit diesem Dienst fragt der LSS-Master die Node-ID eines Slaves ab.

Der LSS-Master fragt die Node-ID ab:

Byte 0 : CS (Command Specifier)
Wert = "5Eh"
Bytes 1-7 :
reserviert (=0h)

Der LSS-Slave antwortet mit seiner Node-ID:

Byte 0 : CS (Command Specifier)
Wert = "5Eh"
Byte 1: Node-ID
Node-ID des LSS-Slaves
Bytes 2-7 :
reserviert (=0h)

Identification services

Mit diesen Diensten kann der LSS-Master die LSS-Slaves anhand ihrer LSS-Adresse sich identifizieren lassen.

LSS identify remote slave service

Mit diesem Dienst fordert der LSS-Master die LSS-Slaves mit der (oder Teilen der) entsprechenden LSS-Adresse an, sich mit dem Dienst LSS identify slave service zu identifizieren.

Dabei kann ein Bereich für die Revision Number und Serial Number definiert werden. Alle LSS-Slaves, deren Nummern sich im jeweiligen Bereich befinden, müssen sich identifizieren. Es ist die Aufgabe des LSS-Masters, den Bereich so zu verkleinern, dass schlussendlich nur ein LSS-Slave antwortet.

  1. Der LSS-Master definiert die Vendor-ID der LSS-Slaves, die sich identifizieren sollen:

    Byte 0 : CS (Command Specifier)
    Wert = "46h"
    Bytes 1-4: Vendor-ID
    Vendor-ID: siehe 1018h:01h
    Bytes 5-7 :
    reserviert (=0h)
  2. Der LSS-Master definiert den Product Code der LSS-Slaves, die sich identifizieren sollen:

    Byte 0 : CS (Command Specifier)
    Wert = "47h"
    Bytes 1-4: Product Code
    Product Code: siehe 1018h:02h
    Bytes 5-7 :
    reserviert (=0h)
  3. Der LSS-Master definiert die niedrigste und höchste Revision Number eines Bereichs. Alle LSS-Slaves, deren Revision Number innerhalb dieses Bereichs ist, sollen sich identifizieren:

    Byte 0 : CS (Command Specifier)
    Wert = "48h"
    Bytes 1-4: Revision Number low
    niedrigste Revision Number des Bereichs: siehe 1018h:03h
    Bytes 5-7 :
    reserviert (=0h)

    Byte 0 : CS (Command Specifier)
    Wert = "49h"
    Bytes 1-4: Revision Number high
    höchste Revision Number des Bereichs: siehe 1018h:03h
    Bytes 5-7 :
    reserviert (=0h)
  4. Der LSS-Master definiert die niedrigste und höchste Serial Number eines Bereichs. Alle LSS-Slaves, deren Serial Number innerhalb dieses Bereichs ist, sollen sich identifizieren:

    Byte 0 : CS (Command Specifier)
    Wert = "4Ah"
    Bytes 1-4: Serial Number low
    niedrigste Serial Number des Bereichs: siehe 1018h:04h
    Bytes 5-7 :
    reserviert (=0h)

    Byte 0 : CS (Command Specifier)
    Wert = "4Bh"
    Bytes 1-4: Serial Number high
    höchste Serial Number des Bereichs: siehe 1018h:04h
    Bytes 5-7 :
    reserviert (=0h)

LSS identify slave service

Der LSS-Slave, dessen LSS-Adresse mit dem Dienst LSS identify remote slave service vom LSS-Master definiert wurde, identifiziert sich:

Byte 0 : CS (Command Specifier)
Wert = "4Fh"
Bytes 1-7 :
reserviert (=0h)

Beispiel

Die Steuerung (LSS-Slave) wird mit folgenden Parametern ausgeliefert:

  • Node-ID = 7Fh (=127d)
  • Baudrate = 1000 kBd

Die Parameter sollen wie folgt eingestellt werden:

  • Node-ID = 05h (=5d)
  • Baudrate = 125 kBd

Es wird angenommen, dass momentan nur ein LSS-Slave im Netzwerk vorhanden ist.

  1. Der LSS-Master versetzt den LSS-Slave in den Konfigurationsmodus (siehe Switch state global service):

    7E5 | 04 01 00 00 00 00 00 00

  2. Der LSS-Master fragt die Node-ID des LSS-Slaves ab (siehe Inquire node-ID service):

    7E5 | 5E 00 00 00 00 00 00 00

    Der LSS-Slave antwortet mit seiner Node-ID:

    7E4 | 5E 7F 00 00 00 00 00 00

  3. Der LSS-Master setzt die Node-ID auf "05h" (siehe Configure node-ID service):

    7E5 | 11 05 00 00 00 00 00 00

    Der LSS-Slave bestätigt (Error-Code=00h):

    7E4 | 11 00 00 00 00 00 00 00

  4. Der LSS-Master setzt die Baudrate auf 125 kBd (Table Index=4) (siehe Configure bit timing parameters service):

    7E5 | 13 00 04 00 00 00 00 00

    Der LSS-Slave bestätigt (Error-Code=00h):

    7E4 | 13 00 00 00 00 00 00 00

  5. Der LSS-Master sendet den Befehl zum Abspeichern der Änderungen (siehe Store configuration service):

    7E5 | 17 00 00 00 00 00 00 00

  6. Der LSS-Master versetzt den LSS-Slave in den Wartemodus (siehe Switch state global service):

    7E5 | 04 00 00 00 00 00 00 00

    Der LSS-Slave bestätigt (Error-Code=00h):

    7E4 | 17 00 00 00 00 00 00 00

  7. Die neuen Parameter werden nach einem Neustart der Steuerung übernommen.

Die Steuerung meldet sich mit der Node-ID 5 und Baudrate 125KBd:

705 | 00

▶   next

Contents





Privacy settings
We use cookies to personalise content and ads, to provide social media features and to analyse our traffic. We also share information about your use of our site with our social media, advertising and analytics partners who may combine it with other information that you’ve provided to them or that they’ve collected from your use of their services. Use necessary cookies only.