Eigenschaften von CANopen

Transcription

Eigenschaften von CANopen
Insert picture
and click “Align Title
Graphic”.
Werkzeugeinsatz bei CANopen
Systemeigenschaften und Testbarkeit
CANopen Techdays 26./28.01.09, München/Hamburg
© 2009. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector.
V 1.00
2009-01-21
Agenda
> Einführung
Eigenschaften von CANopen
Konformitätstest des CiA e.V.
Was muss man hier noch tun?
© 2009. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector. V 1.00. 2009-01-21.
Slide: 2
Einführung
Motivation
T
CANopen wird heute in vielen verschiedenen Anwendungen
(Maschinensteuerungen, Fahrzeugaufbauten, Sensorsysteme)
eingesetzt.
T
Die Nutzung in stark unterschiedlichen Anwendungs-Szenarien ist
nur möglich, wenn ein CANopen-Gerät auch an den jeweiligen
Anwendungsfall angepasst werden kann.
T
Diese Anpassbarkeit stellt hohe Anforderungen an das
Detailwissen der Entwickler, Integratoren und Anwender.
T
Der Einsatz von Softwarewerkzeugen kann hier unterstützen.
© 2009. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector. V 1.00. 2009-01-21.
Slide: 3
Einführung
Was definiert CANopen?
Device
Profile A
Device
Profile B
Device
Profile C
ISO/OSI Layer 7: Application - CANopen
Communication Profile
T
Funktionalität von
Geräteklassen
T
Verwendung von
Nachrichten
T
Konfigurationsschnittstelle
T
Netzwerkmanagement
T
Fehlerbehandlung
T
elektrisches Interface,
Baudraten, Steckverbinder
ISO/OSI Layer 2: Data Link
ISO/OSI Layer 1: Physical
CAN
© 2009. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector. V 1.00. 2009-01-21.
Slide: 4
Einführung
Und wer legt das alles fest?
T
T
Die Spezifikationen im Umfeld von CANopen werden vom CiA e.V. (CAN in
Automation - Nürnberg) gepflegt und weiterentwickelt.
Definiert werden die Dokumente von den Mitgliedsfirmen (im Rahmen von
Special Interest Groups)
© 2009. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector. V 1.00. 2009-01-21.
Slide: 5
Agenda
Einführung
> Eigenschaften von CANopen
Konformitätstest des CiA e.V.
Was muss man hier noch tun?
© 2009. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector. V 1.00. 2009-01-21.
Slide: 6
Eigenschaften von CANopen
Struktur eines CANopen-Netzwerks
120
T
In einem Netzwerk sind bis zu
127 Geräte an einen Bus
angeschlossen. Jedem Gerät
wird eine eindeutig Knoten-ID
[1..127] zugewiesen.
T
Die Übertragung erfolgt gemäß
ISO 11898-2:2003 (CAN Highspeed medium access unit).
T
Der Bus wird an den Enden
jeweils mit 120 Ohm
abgeschlossen.
T
Die maximale Ausdehnung des
Busses wird durch die
verwendete Baudrate
bestimmt.
CANopen device 1
CAN low
CAN high
CANopen device 2
CANopen device
127
120
© 2009. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector. V 1.00. 2009-01-21.
Slide: 7
Eigenschaften von CANopen
Werkzeuge/Testbarkeit
T
Grundsätzlich nutzt CANopen die von CAN auf Frame-Ebene
verfügbaren Kommunikationsmechanismen.
T
Wenn im Rahmen der Entwicklung oder Integration Probleme
auftauchen, deren Ursache möglicherweise in einer fehlerhaften
CAN-Kommunikation liegt, wird i.d.R. ein Busmonitor benötigt:
T
Busanalyse
T
T
T
elektrische Ebene Æ Oszilloskop (Überprüfung d. Pegel,
Nachrichtenverkehr ja/nein)
logische Ebene Æ Welche Nachrichten werden auf dem Bus
transportiert (Hier ist auch Domäneninformation wichtig Æ
Protokollinterpretation)?
Logging Æ Aufzeichnung des Busverkehrs (Nachweis,
Dokumentation)
© 2009. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector. V 1.00. 2009-01-21.
Slide: 8
Eigenschaften von CANopen
Objektverzeichnis
T
Sammlung von Parametern für Kommunikation und Applikation
T
Standardisierter Aufbau der Struktur des Objektverzeichnisses
T
Zugriffsmöglichkeit auf strukturierte Parameter (Arrays, Records)
T
Referenz auf Datentypen
Index (hex)
Object
0000
not used
0001-025F
Data Types
0260-0FFF
Reserved for further use
1000-1FFF
Communication Profile Area
2000-5FFF
Manufacturer Specific Profile Area
6000-9FFF
Standardized Device Profile Area
A000-AFFF
Reserved for further use
© 2009. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector. V 1.00. 2009-01-21.
Slide: 10
Eigenschaften von CANopen
Objektadressierung im Objektverzeichnis
Main
Index
Sub
Index
Object meaning
Data Type
6092
0
Number of Entries
Unsigned8
1
Baud Rate
Unsigned16
2
Number of Data Bits
Unsigned8
3
Number of Stop Bits
Unsigned8
4
Parity
Unsigned8
T
T
T
typedef struct
{
unsigned char Number_of_Entries;
unsigned short BaudRate;
unsigned char Number_of_DataBits;
unsigned char Number_of_StopBits;
unsigned char Parity;
} RS232;
T
Jedes Objekt im Objektverzeichnis
wird über einen Index (16 Bit) und
einen Sub-Index (8 Bit)
angesprochen.
Der Sub-Index ist beim Zugriff auf
Einzelobjekte immer 0.
Nutzung des Sub-Index zur
Adressierung eines Feldes
Beispiel: Abbildung der Parameter
einer seriellen Schnittstelle
RS232 rs232;
© 2009. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector. V 1.00. 2009-01-21.
Slide: 11
Eigenschaften von CANopen
Elektronische Beschreibung des Objektverzeichnisses
T
Gerätebeschreibung
‰
standardisierte
Gerätebeschreibung
‰
herstellerunabhängiges Format
‰
Standard-Tools einsetzbar
‰
beschreibt
Kommunikationsfähigkeiten
‰
listet zugreifbare Objekte mit
ihren Attributen
T
Electronic Data Sheet (DS306)
‰
XML Device Description (DSP311)
© 2009. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector. V 1.00. 2009-01-21.
Slide: 12
Eigenschaften von CANopen
Werkzeuge/Testbarkeit
T
Für die Erstellung von elektronischen Gerätebeschreibungen ist
die Nutzung eines Werkzeugs wünschenswert. Damit ist
gewährleistet, dass die erzeugten Dateien konsistent sind und
dem spezifizierten Format entsprechen.
T
Selbst bei ausschließlichem Lesezugriff ist eine strukturierte
Darstellung einer Rohdarstellung (Interpretation z.B. von
Einzelbits innerhalb eines Parameters) vorzuziehen.
T
Weiterhin sollte es möglich sein, Dateien zwischen den
unterschiedlichen Formaten (DS306 ÅÆ DSP311) konvertieren zu
können.
T
Getestet werden kann hier insbesondere, ob eine CANopenImplementierung der elektronischen Beschreibung entspricht
(Konformitätstest).
© 2009. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector. V 1.00. 2009-01-21.
Slide: 13
Eigenschaften von CANopen
Zugriff auf das Objektverzeichnis
T
Über Service-Daten-Objekte
(SDO) erfolgt der Zugriff auf
das Objektverzeichnis eines
CANopen-Gerätes.
T
Jedes CANopen-Gerät muss
über mindestens ein SDO
(Standard SDO) verfügen.
SDO client
CAN-Id:
0x600 + Node-Id
CAN-Id:
0x580 + Node-Id
Pre-defined connection set
SDO server
object
dictionary
Communication object
CAN identifier
NMT
0x0
SYNC
0x80
:
:
RPDO4
0x501 – 0x57F
SDO (Server->Client)
0x581 – 0x5FF
SDO (Client->Server)
0x601 – 0x67F
Error control / boot up
0x701 – 0x77F
© 2009. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector. V 1.00. 2009-01-21.
Slide: 14
Eigenschaften von CANopen
SDO-Protokolle
Server
(Node-ID)
Client
Server
(Node-ID)
Client
Initiate Block Upload
Initiate Upload
1st Block Upload
:
Server
(Node-ID)
Client
Next Block Upload
Initiate Upload
:
Upload Segment
:
:
End Block Upload
Upload Segment
© 2009. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector. V 1.00. 2009-01-21.
Slide: 15
Eigenschaften von CANopen
Werkzeuge/Testbarkeit
T
Über das SDO ist der Zugriff auf das komplette Objektverzeichnis
eines Gerätes möglich. Mit einem entsprechenden Werkzeug
können die Objektverzeichniseinträge gelesen und geändert
werden.
T
Das SDO-Protokoll (Protokollvarianten) ist ein sehr wichtiger
Bestandteil eines CANopen-Gerätes und muss dementsprechend
auch getestet werden.
T
Getestet werden muss u.a.
T
Korrekter Ablauf
T
Zeitverhalten (Antwortzeit, Time-Out)
T
Erreichbarkeit von Objekten im Objektverzeichnis
T
Auswirkung auf Applikation (Test ist nicht immer möglich)
© 2009. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector. V 1.00. 2009-01-21.
Slide: 16
Interne Struktur eines CANopen-Gerätes
Pflicht oder Kür?
Index
Object Type
Description
1000
VAR
device type
M
1001
VAR
error register
M
1002
VAR
manufacturer status register
O
1003
ARRAY
pre-defined error field
O
1005 - 1007
VAR
COB-ID SYNC-message, communication cycle period, synchronous window
length
1008 - 100A
VAR
device name, hardware version, software version
O
100C, 100D
VAR
guard time, life time factor
C
1010 - 1011
ARRAY
store/restore parameters
O
1012 - 1015
VAR
1016
ARRAY
consumer heartbeat time
O
1017
VAR
producer heartbeat time
C
1018
RECORD
Identity object
M
1200 - 127F
RECORD
Server SDO parameter
C/O
1280 - 12FF
RECORD
Client SDO parameter
C
1400 - 17FF
RECORD
Receive PDO Communication and Mapping Parameter for 512 RPDOs
(M)
1800 – 1BFF
RECORD
Transmit PDO Communication and Mapping Parameter for 512 TPDOs
(M)
COB-ID TIME, high resolution time stamp, COB-ID EMCY, Inhibit time EMCY
© 2009. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector. V 1.00. 2009-01-21.
Slide: 17
Category
C/O
C/O
Interne Struktur eines CANopen-Gerätes
Testbarkeit
T
Viele Eigenschaften, die in den CANopen-Spezifikationen
beschrieben sind, müssen nicht verpflichtend implementiert
werden.
T
Das betrifft sowohl Objekte im Objektverzeichnis, als auch die
damit verbundene Funktionalität.
T
Obwohl viel aus dem Objektverzeichnis (auch aus der elektr.
Beschreibung) ausgelesen werden kann, sind hier Grenzen
gesetzt.
T
z.B.
T
Übertragungsvarianten für PDO
T
Unterstützte Protokolle bei SDO
T
Zusammenhänge zwischen Applikationsobjekten
© 2009. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector. V 1.00. 2009-01-21.
Slide: 18
Eigenschaften von CANopen
Austausch von Prozessdaten
T
object
dictionary
Input
T
PDO producer
(TPDO)
Austausch von Prozeßdaten
zwischen CANopen-Geräten
Beschreibung/Konfiguration jeweils
lokal im Gerät
CAN-Nachricht:
ID + Daten
PDO
consumer
(RPDO)
Output
object
dictionary
Pre-defined connection set
Communication object
CAN identifier
:
:
TPDO1
0x181 – 0x1FF
RPDO1
0x201 – 0x27F
TPDO2
0x281 – 0x2FF
RPDO2
0x301 – 0x37F
TPDO3
0x381 – 0x3FF
RPDO3
0x401 – 0x47F
TPDO4
0x481 – 0x4FF
RPDO4
0x501 – 0x57F
:
:
© 2009. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector. V 1.00. 2009-01-21.
Slide: 19
Eigenschaften von CANopen
Konfiguration von PDO
Index
Description
Sub-Index
Description
0
Number of entries
1
COB-ID
2
Transmission Type
3
Inhibit Time
1400/1800
RPDO/TPDO 1 Communication Parameter
4
Reserved
1401/1801
RPDO/TPDO 2 Communication Parameter
5
Event Timer
6
SYNC start value
Sub-Index
Description
0
Number of entries
1
1th mapped object
2
2th mapped object
:
:
64
64th mapped object
:
15FF/19FF
RPDO/TPDO 512 Communication Parameter
1600/1A00
RPDO/TPDO 1 Mapping Parameter
1601/1A01
RPDO/TPDO 2 Mapping Parameter
:
17FF/1BFF
RPDO/TPDO 512 Mapping Parameter
CAN-Nachricht
ID
Data
© 2009. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector. V 1.00. 2009-01-21.
Slide: 20
CAN-Identifier
Beschreibung
der CAN-Daten
Eigenschaften von CANopen
Verbindung von PDOs (Kommunikation)
0
1
2
:
6
Gerät 1
Gerät 2
PDO producer
PDO consumer
Object dictionary
6
:
0x00000181
COB-ID
transmission type
:
SYNC start value
Object dictionary
1400 (RPDO1)
:
:
COB-ID
0x00000181
2
transmission type
:
:
6
CAN-ID
data
© 2009. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector. V 1.00. 2009-01-21.
6
1
1800 (TPDO1)
PDO
Slide: 21
0
:
SYNC start value
Eigenschaften von CANopen
Verbindung von PDOs (Mapping)
Gerät 1
Gerät 2
PDO producer
PDO consumer
0
0
2
1
0x60000108
2
:
0x60000208
Object dictionary
Object dictionary
:
:
1A00 (TPDO1)
1600 (RPDO1)
:
:
6000
64
0
6200
0
1
1
2
2
:
:
PDO
© 2009. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector. V 1.00. 2009-01-21.
Slide: 22
0
0
2
1
0x62000108
2
0x62000208
:
64
Eigenschaften von CANopen
Werkzeuge
T
T
Um PDO zwischen CANopen-Geräten auszutauschen, müssen
diese PDO korrekt konfiguriert werden (Entwickler, Integrator).
T
Der (gemeinsam zu nutzende) CAN-Identifier muss für jede
PDO-Verbindung festgelegt werden.
T
Die Mapping-Tabellen (Interpretationsvorschrift für CANNachrichten) müssen für jedes PDO gefüllt/abgeglichen
werden.
T
Fehler bei dieser Konfiguration führen zu fatalen Auswirkungen.
Hier ist ein Werkzeug sinnvoll, dass eine konsistente Berechnung
des Mappings (abhängig von der elektronischen
Gerätebeschreibung) zulässt. Damit wird vor allem die
Konfiguration von kompletten Netzwerken vereinfacht.
© 2009. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector. V 1.00. 2009-01-21.
Slide: 23
Eigenschaften von CANopen
Testbarkeit
T
PDO lassen sich nur testen, wenn entsprechende Vorkehrungen
für die Auslösung und Interpretation getroffen wurden. Die
übertragenen Daten werden immerhin direkt in der Applikation
ausgewertet.
T
Folgende Eigenschaften lassen sich gut testen:
T
T
PDO-Konfiguration (über SDO und Gerätebeschreibung)
T
Auslösung über Timer und SYNC-Nachricht
Dynamische Anforderungen an die PDO-Kommunikation sind in
den CANopen-relevanten Dokumenten nur in Ausnahmefällen
festgelegt. Hier muss auf jeden Fall ein Testszenario festgelegt
werden.
© 2009. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector. V 1.00. 2009-01-21.
Slide: 24
Eigenschaften von CANopen
Netzwerkmanagement/Statusmaschine
Power on or
T
Hardware Reset
Initialisation
T
T
PreOperational
T
Stopped
Jedes Gerät verfügt über eine
Statusmaschine, die das Verhalten
der CANopen-Funktionalität
kontrolliert.
Interne Initialisierung der
Kommunikation
Betriebsbereit - (LED „RUN LED“
oder „STATUS LED“ blinkt grün)
Der NMT-Master steuert die
Statusmaschine über eine CANNachricht.
Operational
© 2009. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector. V 1.00. 2009-01-21.
Slide: 25
Eigenschaften von CANopen
Fehlererkennung - Heartbeat
T
CANopen
device A
T
Der Ausfall von Geräten im Netz
kann nicht direkt erkannt werden –
„D“ erkennt nicht, dass „A“ keine
Nachrichten mehr empfängt.
Die Ausfallerkennung kann nur
über Time-Out erfolgen:
T
CANopen
device B
CANopen
device D
T
[Guarding] Request + Warten
auf Response
[Heartbeat] Warten auf
zyklische Nachricht
CANopen
device C
© 2009. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector. V 1.00. 2009-01-21.
Slide: 26
Eigenschaften von CANopen
Testbarkeit
T
Die Statusmaschine lässt sich nur indirekt testen (Reaktion über
gesendete Nachrichten). Der Zustand des Gerätes wird
umgeschaltet und es wird über die Fehlerüberwachung oder die
PDO-Kommunikation geprüft, ob intern diese Umschaltung
vorgenommen wurde.
T
Für den Integrator und den Anwender sind hier auch quantitative
Aussagen von großer Bedeutung:
‰
T
Wie lange dauert der Start eines Gerätes?
T
Wie lange dauert eine Statusumschaltung (z.B. nach
Operational)?
Zeitliche Anforderungen sind im Standard nicht berücksichtigt.
Hier muss der CANopen-Nutzer selbst Vorgaben machen, die für
sein System wichtig sind.
© 2009. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector. V 1.00. 2009-01-21.
Slide: 27
Agenda
Einführung
Eigenschaften von CANopen
> Konformitätstest des CiA e.V.
Was muss man hier noch tun?
© 2009. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector. V 1.00. 2009-01-21.
Slide: 28
Konformitätstest des CiA e.V.
Prinzipien
T
Die Konformität einer bestehenden Applikation bezüglich des DS301 kann mit einem Konformitätstest (EN 50325-4, DS 301
V4.02) nachgewiesen werden
T
T
Das Tool sowie das Zertifikat wird vom CiA e.V. angeboten
(http://www.can-cia.org)
T
T
Der Test soll die Interoperabilität zwischen CANopen Geräten
sicherstellen
Das Test-Labor befindet sich in den Büroräumen des CiA e.V. in
Nürnberg
Besteht ein Gerät den Test, wird die Bezeichnung „CANopen
certified“ erteilt (Liste zertifizierter Geräte ist im Internet
einsehbar)
© 2009. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector. V 1.00. 2009-01-21.
Slide: 29
Konformitätstest des CiA e.V.
Ablauf
T
EDS Datei
Der Konformitätstest umfasst
T
die Überprüfung der EDS Datei
T
T
Konsistenz, Wertebereiche,
vorgeschriebene Einträge, interne
Referenzen
die Überprüfung des Gerätes
T
SDO Protokoll, PDO (nur TPDO),
EMCY, SYNC Verhalten
T
Vergleich des
Objektverzeichnisses gegen die
Einträge in der EDS Datei
T
Überprüfung der internen
Statusmaschine in Kombination
mit den Fehlererkennungsmechanismen
CiA e.V.
Conformance
Test
CANopen
Gerät
© 2009. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector. V 1.00. 2009-01-21.
Slide: 30
Konformitätstest des CiA e.V.
Was wird vom Konformitätstest nicht abgedeckt?
T
Generell werden keine Zeitvorgaben überprüft
T
T
Es wird kein Last-Test durchgeführt
T
T
die individuelle Leistungsfähigkeit eines Gerätes wird nicht
berücksichtigt (z.B. die Boot-Up Zeit, SDO Antwortzeiten,
kritische Frequenz der Prozessdaten).
der Konformitätstest wird ohne vordefinierte HintergrundBuslast ausgeführt
Das physikalische Interface wird nicht überprüft
T
Das elektrische Interface wird nicht getestet. Somit kann das
Verhalten in einem realen Netzwerk vom erwarteten Verhalten
abweichen.
© 2009. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector. V 1.00. 2009-01-21.
Slide: 31
Agenda
Einführung
Eigenschaften von CANopen
Konformitätstest des CiA e.V.
> Was muss man hier noch tun?
© 2009. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector. V 1.00. 2009-01-21.
Slide: 32
Was muss man hier noch tun?
Weitere Testumfänge
T
Der Konformitätstest des CiA e.V. prüft einige grundlegende
CANopen-Eigenschaften. Um wirklich Interoperabilität in einem
System gewährleisten zu können, sind aber weitergehende Tests
erforderlich.
T
Prüfung dynamischer Größen (z.B. Umschaltzeiten sind je nach
Prozessorplattform unterschiedlich)
T
Negativ-Tests (bewusste Protokollverletzungen, um die
Stabilität des CANopen-Gerätes zu beeinflussen)
T
Applikative Tests (Prüfung der ausgetauschten
Applikationsdaten Æ ist natürlich nur mit Anwender Know-How
möglich)
© 2009. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector. V 1.00. 2009-01-21.
Slide: 33
Vielen Dank für Ihre Aufmerksamkeit.
Weitere Infos unter:
www.vector.com
Autor: Mirko Tischer
Vector Informatik GmbH
Ingersheimer Str. 24
70499 Stuttgart
© 2009. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector. V 1.00. 2009-01-21.
Slide: 34