Layer Setting Services (LSS)

Interconnectie in een CANopen netwerk

Zoals reeds eerder vermeld, er moet aan twee voorwaarden worden voldaan voor de interconnectie van CANopen-apparaten binnen een netwerk:

  • Alle apparaten moet dezelfde baudrate gebruiken, en
  • Alle CANopen node-id’s moet uniek zijn.

In de begintijd van CANopen konden het node-ID en de baudrate met DIP-switches op apparaten ingesteld worden. Tegenwoordig liggen dergelijke instelling natuurlijk in non-volatile geheugen vast. De CANopen-specificatie DS-306: Layer Setting Services (LSS) beschrijft hoe deze belangrijke waarden kunnen worden ingesteld via de bus met behulp van een eenvoudig protocol. Voorwaarde voor het gebruik van LSS, naast de softwareondersteuning door de node zelf, een 1:1 bedrading vast met de node. De baudrate en het node-ID kunnen dan worden ingesteld via dialoogvorm. De COB-ID 0x7E5 wordt gebruikt voor CAN-berichten naar het apparaat, het apparaat reageert hierop via COB-ID 0x7E4. LSS berichten zijn altijd de volle 8 bytes lang. Ongebruikte bytes zijn gereserveerd en moeten worden geïnitialiseerd met 0.

Om contact met het te configureren CANopen apparaat te maken, wordt het "Global Switch Mode" commando verzonden:

CANopen LSS bericht: Start global switch ON

Dit commando brengt het apparaat in de LSS configuratie-modus. Helaas vind op dit commando geen antwoord bevestiging plaats. De systeem integrator kan dus alleen uit vinden of het apparaat heeft gereageerd door het volgende commando te verzenden. Vervolgens wordt de node-ID opegevraagd via het "Inquire Node-ID" bericht:

CANopen LSS bericht: Inquire Node-ID

Als dat lukt, bericht het apparaat terug:

CANopen LSS bericht: Inquire Node-ID acknowledge

Als er geen reactie volgt, dan ondersteunt het apparaat LSS niet of de baudrate is niet correct. Indien namelijk de baudsnelheid bij aanvang niet bekend is, moet de bovengenoemde berichtenvolgorde herhaald worden voor alle mogelijke CANopen baudrates tot het apparaat een geldige terugmelding stuurt. Het "Configure Node-ID"-bericht wordt gebruikt om de nieuwe node-ID te configureren:

CANopen LSS bericht: Configure Node-ID

Een mogelijk fout code is onderdeel van de node-reactie:

CANopen LSS bericht: Configure Node-ID acknowledge

Error code 0 betekent succesvol gewijzigd; error code 1 betekent een niet-ontvankelijke CANopen node-ID, de overige fout codes zijn voorbehouden. De “Error Extension” bevat leverancier-specifieke informatie, maar deze is enkel geldig bij fout code 0xFF. De baudrate is geconfigureerd met het "Configure Bit Timing Parameters" bericht:

CANopen LSS bericht: Configure Bit Timing

De gestandaardiseerde CANopen bautrates zijn als volgt:

Baudrate table 0x00
Table index Baudrate
0 1000 kBit/s
1 800 kBit/s
2 500 kBit/s
3 250 kBit/s
4 125 kBit/s
5 Gereserveerd
6 50 kBit/s
7 20 kBit/s
8 10 kBit/s

Opnieuw meldt de node terug:

CANopen LSS bericht: Configure Bit Timing acknowledge

Error code 0 betekent succesvol gewijzigd; error code 1 betekent een niet-ontvankelijke baudrate, de andere foutcodes zijn voorbehouden. De “Error Extension” bevat leverancier-specifieke informatie, maar deze is enkel geldig bij fout code 0xFF. Nu de CANopen node-ID en de baudrate zijn geconfigureerd, dienen deze instellingen te worden opgeslagen met behulp van het "Store Configuration" bericht:

CANopen LSS bericht: Store Configuration

Ook nu is een mogelijk fout code onderdeel van de node-reactie:

CANopen LSS bericht: Store Configuration acknowledge

Error code 0 betekent succesvol opgeslagen; error code 1 betekent dat het apparaat geen ondersteuning biedt voor het opslaan van waarden; error code 2 betekent dat er een probleem is met de toegang tot het opslagmedium, de andere foutcodes zijn voorbehouden. De “Error Extension” bevat leverancier-specifieke informatie, maar deze is enkel geldig bij fout code 0xFF. Tot slot wordt het apparaat teruggebracht van de configuratie-modus naar de normale modus via “Switch Mode Global":

CANopen LSS bericht: Stop global switch OFF

Nadat de CANopen node fysiek uit en weer ingeschakeld is, zal het apparaat met de nieuwe instellingen werken.