Anwenderhandbuch - TWK
Transcrição
Anwenderhandbuch - TWK
Winkelcodierer CRN als Teilnehmer im CANopen CRN/C 10750 AD Zugehöriges Datenblatt : CRN 10636 04 / 99 Anwenderhandbuch TWK-ELEKTRONIK GmbH · D-40041 Düsseldorf · PF. 10 50 63 · T. 02 11/63 20 67 · F. 02 11/63 77 05 · e-mail: [email protected] · http://www.twk.de 0. Gliederung Seite 0. Gliederung ....................................................................................................................... 2 - 4 1. Allgemeines ..................................................................................................................... 5 2. Kommunikationskonzept von CANopen ...................................................................... 5 - 6 3. CANopen Umfang des TWK-Winkelcodierers .............................................................. 6 4. Netzwerkmanagement .................................................................................................... 7 - 8 4.1 Minimum-Capability-Device Boot up ....................................................................... 7 4.2 Beschreibung der NMT- Kommandos ...................................................................... 8 5. Knotenüberwachung (Node Guarding) ......................................................................... 8 - 9 6. Bus Synchronisation ...................................................................................................... 10 7. Emergency Messages unterstützte Errorcodes ........................................................... 10 8. Installationshinweise ...................................................................................................... 11 - 12 9. 10. 8.1 Node - ID, Baudrate, Abschlußwiderstand .............................................................. 11 8.2 LED-Beschreibung .................................................................................................. 12 Das Objektverzeichnis ................................................................................................... 12 - 15 9.1 Gliederung des Objektverzeichnisses ..................................................................... 12 9.2 Dienste zum Schreiben und Lesen des Objektverzeichnisses ................................ 12 9.3 Aufbau COB-ID ........................................................................................................ 13 9.4 Nachrichtenobjekte und Funktionscodes ................................................................ 13 9.5 Das Kommandobyte beschreibt die Art der SDO-Nachricht ................................... 14 9.6 Beispiele für Service Daten Objekte ........................................................................ 15 Kommunikationsprofil .................................................................................................... 16 - 34 10.1 Object 1000H: Device Type ..................................................................................... 16 - 17 10.2 Object 1001H: Error Register .................................................................................. 17 10.3 Object 1002H: Manufacturer Status Register .......................................................... 18 10.4 Object 1003H: Predefined Error Field ..................................................................... 19 10.5 Object 1004H: Number of PDOs supported ............................................................ 20 10.6 Object 1005H: COB-ID SYNC-Message ................................................................. 21 10.7 Object 1006H: Communication Cycle Period .......................................................... 22 -2- 0. Gliederung 11. 10.8 Object 1007H: Synchronous Window Length ............................................ 22 10.9 Object 1008H: Device Name ..................................................................... 23 10.10 Object 1009H: Manufacturer Hardware Version ........................................ 23 10.11 Object 100AH: Manufacturer Software Version ......................................... 24 10.12 Object 100BH: Node-ID ............................................................................. 24 10.13 Object 100CH: Guard Time ....................................................................... 25 10.14 Object 100DH: Life Time Factor ................................................................. 25 10.15 Object 100EH: Node Guarding Identifier ................................................... 26 10.16 Object 100FH: Number of SDO´s supported ............................................ 26 - 27 10.17 Object 1010H: Store Parameters ............................................................... 27 10.18 Object 1011H: Restore Default Parameters .............................................. 28 10.19 Object 1014H: COB-ID Emergency Message ........................................... 29 10.20 Übersicht der Übertragungsarten .............................................................. 29 10.21 Object 1800H: 1st Transmit PDO (asynchronous transmission) ................ 30 - 31 10.22 Object 1A00H: 1st Transmit PDO (asynchronous transmission) Mapping. 32 10.23 Object 1802H: 2nd Transmit PDO (synchronous transmission)................. 33 10.24 Object 1A02H: 2nd Transmit PDO (asynchronous transmission) Mapping 34 Encoder Profile ...................................................................................................... 35 11.1 Encoder Parameter .................................................................................... 35 11.1.1 Object 6000H: Operating Parameters ........................................................ 35 - 36 11.1.2 Object 6001H: Measuring Units per Revolution ......................................... 36 11.1.3 Object 6002H: Total Measuring Range ...................................................... 37 11.1.4 Object 6003H: Preset Value ....................................................................... 38 11.1.5 Object 6004H: Position Value ..................................................................... 38 - 39 11.1.6 Object 6200H: Cyclic Timer ....................................................................... 39 11.1.7 Object 6400H: Area State Register ........................................................... 40 11.1.8 Object 6401H: Work Area low limit ............................................................ 41 -3- 11.1.9 Object 6402H: Work Area high limit .............................................................. 42 11.2. Encoder Diagnose .......................................................................................... 43 11.2.1 Object 6500H: Operating Status ................................................................... 43 11.2.2 Object 6501H: Single Turn Resolution ........................................................... 44 11.2.3 Object 6502H: Number of distinguishable Revolutions ................................. 44 - 45 11.2.4 Object 6503H: Alarms ................................................................................... 45 11.2.5 Object 6504H: Supported Alarms ................................................................. 45 11.2.6 Object 6505H: Warnings ............................................................................... 46 11.2.7 Object 6506H: Supported Warnings.............................................................. 46 11.2.8 Object 6507H: Profile and Software Version ................................................. 47 11.2.9 Object 6508H: Operating Time ...................................................................... 47 11.2.10 Object 6509H: Offset Value ......................................................................... 48 11.2.11 Object 650AH: Module Identification ........................................................... 49 11.2.12 Object 650BH: Serial Number ..................................................................... 50 11.3 Herstellerspezifischer Profilbereich ................................................................. 50 11.3.1 Object 2000H: Manufacturer Node ID ........................................................... 51 11.3.2 Object 2001H: Baudrate ............................................................................... 52 12. Defaultwerte für Programmierparameter .............................................................. 52 - 54 13. Store Parameters (Objekt 1010H) ............................................................................ 54 14. Literatur ...................................................................................................................... 54 COPYRIGHT: The Operating Instructions CRN/C 10750 is owned by TWK-ELEKTRONIK GMBH and is protected by copyright laws and international treaty provisions. © 1999 by TWK-ELEKTRONIK GMBH POB 10 50 63 n 40041 Düsseldorf n Germany Tel. +49/211/63 20 67 n Fax +49/211/63 77 05 e-mail: [email protected] n http://www.twk.de -4- 1. Allgemeines 2. Kommunikationskonzept von CANopen 1. Allgemeines Mit der Anwendung der CAN-Philosophie in der Industrieautomation entstand die Notwendigkeit Winkelcodierer mit dieser Schnittstelle auszurüsten. Resultierend aus den positiven Applikationsbeispielen der Autoindustrie sowie der Verfügbarkeit preiswerter IC's verschiedenster Hersteller waren die Grundvoraussetzungen für die rasche Verbreitung des CAN-Busses im Industriebereich gegeben. Auf der Basis des CAN-Applikation Layers (CAL); siehe auch OSI Modell, wurde das CANopen-Profil entwickelt. Dieses CAL basierende Kommunikationsprofil für industrielle Systeme ist im CiA Draft Standard 301 fixiert. An dieser Stelle sei darauf hingewiesen, dass es neben dem CANopen-Profil weitere auf dem Markt verfügbare ProfilDefinitionen gibt (z. B. DeviceNet, SDS, CANKingdom usw.) Nach der Definition des CANopen wurden die Profildefinitionen für die unterschiedlichsten Geräte erstellt. Für die Winkelcodierer wurde das Device Profile for Encoders im CiA Draft Standard Proposal 406 verabschiedet. Der TWK-Winkelcodier ist auf Basis des vorliegenden Standards erarbeitet wurden. Implementiert wurde jeweils die Class1 und die Class 2 Funktionalität. Letztere beinhaltet die programmierbare Version für Winkelcodierer. Im Anwenderhandbuch wird das Profil detailliert beschrieben. Voraussetzung sind aber die genaue Kenntnis des CAL und des CANopen-Profils. 2. Kommunikationskonzept von CANopen Im Communication Profile DS 301, CANopen, sind die verschiedenen Kommunikationsobjekte und Kommunikationsdienste sowie die verschiedenen Start- und Stopbedingungen für die Nachrichtenübertragung in einem CANopenNetzwerk beschrieben. CANopen unterstützt die Übertragung von synchronen und asynchronen Nachrichten. Durch synchrone Nachrichtenübertagung ist eine netzweite Datenerfassung und -verarbeitung mit einheitlichen Bezug möglich. Definierte Kommunikationsobjekte sind hierfür (SYNC-Message, Time Stamp Message). Die Übertagung des Synchronisationsobjektes erfolgt durch den SYNC-Master, welcher die netzweite, synchrone Datenerfassung, -verarbeitung und -übertragung steuert. Asynchrone Nachrichten sind ereignisabhängig und können zu jedem beliebigen Zeitpunkt übertragen werden. Es werden vier funktionsabhängige Nachrichtengruppen unterschieden: - Administration Messages (Layer Management, Network Management, Identifier Distribution Management) - Service Data Messages - Process Data Messages - Pre-defined Messages (Synchronisation, Time Stamp, Emergency) Unter Administration Messages werden jene Nachrichten verstanden, die bei der Benutzung der CAL-Dienste zur Netzwerkkonfiguration, Netzwerkverwaltung und Identifiervergabe ausgetauscht werden. Die Dienste und Protokolle beziehen sich auf LMT, NMT, DBT und CMS und sind im CAL-Standard enthalten. Die Service Data Messages werden beim direkten Schreib- bzw. Lesezugriff auf einzelne Objektverzeichniseinträge ausgetauscht. Die auszutauschenden Objekte werden als Service Data Object bezeichnet. Die Hauptanwendung dieses Nachrichtentyps liegt bei der Gerätekonfiguration. Mit den Process Data Messages wird die Echtzeitübertragung von aktuellen Prozeßdaten realisiert. Die übertragenen Objekte werden als Process Data Object bezeichnet. In nachfolgender Tabelle sind PDO ind SDO in ihren wesentlichen Eigenschaften gegenübergestellt. -5- 3. CANopen Umfang des TWK-Winkelcodierers Process Data Object PDO Service Data Object SDO Wird zum Echtzeit-Datenaustausch benutzt. Kein Echtzeit-Datenaustausch. Ermöglicht den Zugriff auf jeden beliebigen Objektverzeichnis-Eintrag. Die SDO stellt einen peer to peer Kommunikationskanal bereit. Ist in der Regel eine niederpriore Nachricht. Die Übertragung ist typischerweise asynchron und wird mit einem Dienst bestätigt. Azyklische Übertragung. Die Übertragung wird durch den Client initiiert. Die Nutzung des Datenfeldes wird durch das CMS Multiplexed Domain Protocol bestimmt. Ist typischerweise eine hochpriore Nachricht. Kann sowohl synchron wie auch asynchron übertragen werden. Es ist sowohl eine zyklische und azyklische Nachrichtenübertragung möglich. Der Dateninhalt der PDO ist im Objektverzeichnis definiert und kann durch eine SDO konfiguriert werden. Format des Datenfeldes ist festgelegt. Der Zugriff auf einen Objektverzeichnis-Eintrag eines Gerätes erfolgt über Angabe von Index und Subindex (direkte Adressierung). 3. CANopen Umfang des TWK-Winkelcodierers - Nach Device Profile DS 406 - NMT-Slave - Ein SDO je Kommunikationsrichtung zum Zugriff auf das Objektverzeichnis - Zwei PDO's je Kommunikationsrichtung - PDO - Modes: synchron / asynchron - Identifiereinstellung über Node-ID (default) - PDO-Identifier über SDO verstellbar - COB-IDDistribution: default - SYNC-Nachricht - EMERGENCY-Nachricht - Node-Guarding - Einfaches Boot-Up entsprechend DS 301 - Transmission Types einstellbar für alle PDO's - Unterstützung CAN-LED für Buszustand - Unterstützung für DIP-Switch für die Einstellung der Knotenadresse (6 Bit) und der Baudrate (2 Bit) für die Anschlußhaubenversion - Einstellung der Knotennummer und Baudrate über herstellerspezifischen Objektbereich mittels SDO - Programmierparameter Winkelcodierer: Codeverlauf, Auflösung, Gesamtschrittzahl, Referenzwert, unterer und obererer Arbeitsbereich Prinzipschaltbild CAN-TRANSCEIVER Foto GaAlAs Dioden transistoren CAN Controller µController-System Multi-Funktions ASIC CAN + CAN CAN GND DC DC + US - US Opto Analog Array Asic -6- 4. Netzwerkmanagement 4. Netzwerkmanagement 4.1 Minimum-Capability-Device Boot up Die Winkelcodierer sind als Minimum Capability Device nach CANopen (siehe CiA-DS 302) ausgelegt, das heißt sie verhalten sich nach folgendem Zustandsdiagramm: Für das Wechseln zwischen den verschiedenen Zuständen werden folgende Dienste des CANopen benötigt bzw. selbständig vom Winkelcodierer durchgeführt: power on Initialisation 5 6 4 Pre-Operation 3 5 3 1 5 (1) (2) (3) (4) (5) (6) Operational 2 Prepared 4 1 2 4 Start Remote Node (Starten des CANopen Knotens) Stop Remote Node (Stop des CANopen Knotens) Enter Pre-Operational (Umschalten nach Pre-Operational) Reset Node (gesamten CANopen Knoten zurücksetzen) Reset Communication (Kommunikation des CANopen Knotens zurücksetzen) Initialisation finished (Initialisierung beendet, automatischer Zustandswechsel nach Pre-Operational) Dabei ist zu beachten, dass der Zustand Prepared beim Boot up nicht benutzt werden muß. Die einzelnen Zustände lassen sich wie folgt beschreiben: Initialisierung Ausgangszustand nach Anlegen der Versorgungsspannung. Der Codierer wechselt nach Durchlauf der Initialisierungsroutinen automatisch in den Zustand Pre-Operational. Pre-Operational Der Knoten kann über SDO-Nachrichten unter dem Standard-Identifier angesprochen werden. Die Programmierung der Codierer- bzw. Kommunikationsparameter ist durchführbar. Operational Der Codierer ist aktiv. Der Positionswert des Codierers wird über die PDO's ausgegeben. Prepared: In diesem Zustand ist der Knoten nicht mehr aktiv, d. h. sowohl eine SDO- als auch eine PDOKommunikation ist nicht möglich. Der Codierer kann über die entsprechenden NMT-Kommandos in den Zustand Operational oder Pre-operational gesetzt werden. Die einfachste Art einen Winkelcodierer als CANopen-Teilnehmer zu starten, ist den Dienst Start Remot Node auszuführen. Dabei wird der Codierer in den Zustand Operational gebracht. -7- 4. Netzwerkmanagement 5. Knotenüberwachung (Node Guarding) 4.2 Beschreibung der NMT- Kommandos Das NMT-Objekt ist wie folgt aufgebaut: COB-ID = 0 Byte0 Byte1 Kommandobyte cs Knoten-Nummer* * Wird für die Knoten-Nummer eine 0 eingetragen, so wird der Dienst an alle Teilnehmer gesendet. Kommandobyte Beschreibung cs = 1 cs = 2 cs = 128 cs = 129 cs = 130 Start Remote Node: Wechsel zu Operational Stop Remote Node: Wechsel zu Prepared Enter Pre-Operational State: Wechsel zu Pre-Operational Reset Node: Reset Node1) Reset Communikation2) 1) Die Parameter des gesamten Objektverzeichnisses werden auf Power on-Werte gesetzt. 2) Die Paramter des Objektverzeichnises, Teil Kommunikationsprofil, werden auf Power on-Werte gesetzt. Beispiel für Knoten mit Knoten-Nummer 1 aktiv schalten: Master -> Slave ID DLC DATA Byte0 Byte1 Byte2 Byte3 NMTZeroMsg (=0) 2 1 Byte4 Byte5 Byte6 Byte7 Byte8 1 (Software: CANalyzer) Slave -> Master keine Bestätigung bzw. Quittierung 5. Knotenüberwachung (Node Guarding) Die Überwachung von Teilnehmern im Bus ist insbesondere bei ereignisgesteuerten Vorgängen ein sinnvolles Feature. Es wird zwischen Lifeguarding und Nodeguarding unterschieden. Beim Lifeguarding wird zusätzlich neben der Überwachung der Slaves durch den NMT-Master der NMT-Master durch die NMT-Slaves überwacht. Im Winkelcodierer ist ausschließlich das Nodeguarding implementiert. Das bedeutet, dass der NMT-Master über entsprechende Dienste den NMT-Slave überwacht. Bei Aktivierung des Nodeguardings sendet der Netzwerkmaster in regelmäßigen Abständen (Überwachungszeit) ein RTR-Telegramm mit der COB-ID für die Knotenüberwachung ( 700H + Knotennummer) an den Knoten. Der Slave-NMT antwortet unter COB-ID mit dem Status in Byte 0. -8- 5. Knotenüberwachung (Node Guarding) Byte0 Bit7 Bit6 Bit7: Bit0-6: Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 Toggle-Bit Ändert sich dieses Bit zwischen zwei aufeinanderfolgenden Response nicht, ist ein Fehler aufgetreten. Der Wert bei Start (1. Response) der Überwachung ist '0'. (Das Toggle Bit wird bei aufeinanderfolgenden Daten Frames umgeschaltet, um zu gewährleisten, dass wirklich die Applikation und nicht nur der CAN-Controller auf das Guarding antwortet.) Status 4: Prepared 5: Operational 127: Pre-Operational Die Überwachungszeit (Objekt 100CH) multipliziert mit dem Lebensdauerfaktor (Objekt 100DH) ergibt die Lebensdauerzeit für das Knotenüberwachungsprotokoll. Wenn der Teilnehmer nicht innerhalb der Lebensdauerzeit antwortet sind entsprechende applikationsspezifische Vorkehrungen zu treffen. Beispiel hierfür ist zum Beispiel ein Zustandswechsel von Operational zu Prepared für den fehlerhaften Knoten vorzunehmen. Beispiel: 1. Guard Time (100CH) und Life Time Factor (100DH) = 0 Encoder im Zustand: Operational NMT-Guarding (z. B. Id:702 DLC: R1 Data: 0 siehe CANalyzer) 1. Antwort: Data: 05H NMT-Guarding (z. B. Id:702 DLC: R1 Data: 0 siehe CANalyzer) 2. Antwort: Data: 85H NMT-Guarding (z. B. Id:702 DLC: R1 Data: 0 siehe CANalyzer) 3. Antwort: Data: 05H 2. Guard Time (100CH) =100H und Life Time Factor (100DH) = 1H Encoder im Zustand: Operational 1. NMT-Guarding (z. B. Id:702 DLC: R1 Data: 0 Lebensdauer 1. Antwort: Data: 05H 2. NMT-Guarding (z. B. Id:702 DLC: R1 Data: 0 Lebensdauer 2. Antwort: Data: 85H 3. NMT-Guarding (z. B. Id:702 DLC: R1 Data: 0 Lebensdauer 3. Antwort: Data: 05H 4. NMT-Guarding (z. B. Id:702 DLC: R1 Data: 0 Lebensdauer 4. Antwort: Data:FFH siehe CANalyzer) innerhalb der siehe CANalyzer) innerhalb der siehe CANalyzer) innerhalb der siehe CANalyzer) nicht innerhalb der Codierer schaltet selbständig in den Zustand Pre-Operational! Zustandsänderungen bei Ausbleiben des Guarding: Prepared Operational Pre-Operational -> -> -> Pre-Operational Pre-Operational Pre-Operational -9- 6. Bus Synchronisation 7. Emergency Messages unterstützte Errorcodes 6. Bus Synchronisation Das CANopen Kommunikatiosprofil bietet die Möglichkeit der Synchronisation von Teilnehmern im Bus. Die SYNCNachricht (siehe auch Objekt 1005H, Standardwert = 80H) dient dabei zur Synchronisation zwischen den unterschiedlichsten Bus-Teilnehmern. Für Echtzeitanwendungen müssen bestimmte Abläufe zeitsynchronsiert und in bestimmten vorgegebenen Zeitfenstern ablaufen. Dabei wird die Zeit zwischen zwei SYNC-Telegrammen als Kommunikationszyklus beschrieben. Innerhalb eines Kommunikationszyklus werden die Zeitfenster Report-Window (Istwerte: z. B. Positionsistwerte vom Codierer, E/ABaugruppe) und Command-Window (Sollwerte oder Ausgangswerte: z. B: Befehle an Antriebe, Stellbefehl für Aktoren) unterschieden. Die Sollwerte bzw. Befehle werden beim nächsten SYNC-Telegramm aktuell. Niederpriore Nachrichten können nach den dem SYNC-Fenster auf den Bus gelangen. Communication_Cycle_Period synchronous windows length SYNC Message SYNC Message Actual_ Messages Actual_ Messages Command Messages Samples taken at SYNC for ACTUAL message Command Messages Actuation based on COMMAND at next SYNC 7. Emergency Messages unterstützte Errorcodes Im Fehlerfall wird über die COB-ID Emergency Message (siehe Objekt: 1014H - Standard: 80H + Node-ID) ein Emergency Telegramm ausgegeben. Dieses beinhaltet den Emergency Error Code (Byte 0,1), siehe unten und das Errorregister (Byte 2). Das Errorregister ist unter dem Objekt 1001H beschrieben. Emergency Errorcode (hex) 0000 5000 5100 8100 Bezeichnung Bemerkung Error Reset or No Error Device Hardware Hardware Memory Error Communication FFFF Device specific Fehler-Reset oder kein Fehler vorhanden MSA- und/oder Expanderfehler ROM-Code-Fehler Kommunikationsfehler (Kommunikation Master - Encoder z. B. unterbrochen) herstellerspezifisch: s. Objekt 6503 Alarms Object 6503 Alarms Bedeutung bei Emergency Message FFFFH Bit Bit 11-0 Bit 12 Bit 13 Bit 14 Bit 15 Bezeichnung / Wert 0 EEPROM Fehler CRC-Fehler EEPROM XRAM-Fehler 0 supported nein ja ja ja nein Object 6504 Supported Alarms (siehe oben) - 10 - 8. Installationshinweise 8. Installationshinweise 8.1 Node - ID, Baudrate, Abschlußwiderstand Version Anschlußhaube: DIP-Schalter 1 On Off 2 3 4 5 6 7 8 x x x x x x x 9 10 x x x Konfiguration: Node-ID: Baudrate: Schalter 1-6 Schalter 7-8 Abschlußwiderstand: Schalter 9-10 Wertebereich 1-64 0x0 20kBaud 0x1 125kBaud 0x2 500kBaud 0x3 1MBaud On On Off Off Beispiel Wert + 1 = Node-ID= 3 20 kBaud Abschlußwiderstand eingeschaltet (siehe Beispiel) Abschlußwiderstand nicht eingeschaltet Steckerversion: Standardwerte (Auslieferungszustand): Baudrate: Defaultadresse: Wertebereich: 20kBaud 0x1 125kBaud 0x2 500kBaud 0x3 1MBaud Baudrate: 0x0 Knotenadresse: 20 kBaud 1 1 - 64 Ablauf bei Parameteränderung: 1. Parameter editieren (Objekt: 2000H Knotenadresse, 2001H Baudrate) 2. Parameter speichern (Objekt 1010H "SAVE") 3. Reset Knote 4.Neue Parameterwerte sind aktuell - 11 - 8. Installationshinweise 9. Das Objektverzeichnis 8.2 LED Beschreibung: UB Data COM Err grün grün grün rot Kommentar on Betriebsspannung vorhanden Prozessdatenkommunikation blink on CAN Kommunikation ok blink CAN Kommunikation Warning State off CAN Kommunikation BUS OFF Fehler der das Emergency auslöst bzw. SDO Abort Transfer Protocol on 9. Das Objektverzeichnis 9.1 Gliederung des Objektverzeichnisses Index(hex) Objekt 0000 0001-001F 0020-003F 0040-005F 0060-0FFF 1000-1FFF 2000-5FFF 6000-9FFF A000-FFFF unbenutzt statische Datentypen komplexe Datentypen herstellerspezifische Datentypen reserviert Kommunikationsprofil herstellerspezifisches Profil standardisiertes Geräteprofil reserviert 9.2 Dienste zum Schreiben und Lesen des Objektverzeichnisses Der Zugriff auf das Objektverzeichnis des Winkelcodierers erfolgt über SDO-Nachrichten. Im Objektverzeichnis sind die device- und kommunikationsspezifischen Parameter des Codierers beschrieben. Der Aufbau der SDO-Nachricht (Expedited SDO, max 4 Bytes) ist wie folgt: COB-ID 11 Bit Kommando Byte0 Index Byte1 Byte2 (LSB) (MSB) Subindex Byte3 Service Daten Byte4 Byte5 Byte6 Byte7 (LSB) (MSB) Folgend Identifier stehen standardmäßig für die SDO-Dienste zur Verfügung: SDO (tx) (Geber -> Master): 581H (1409) + Knotennummer SDO (rx) (Master -> Geber): 601H (1537) + Knotennummer (Hinweis: Die SDO- Identifier sind nicht änderbar) - 12 - 9. Das Objektverzeichnis 9.3 Aufbau COB-ID Der COB-ID - COB-Identifier dient zur eindeutigen Kennung einer CAN-Nachricht. Die Daten werden über Kommunikationsobjekte(COB) über das Netzwerk gesendet. Der Identifier ist 11 Bit breit und setzt sich aus einem 4 Bit Funktionscode und einer 7 Bit Knotennummer zusammen. Die Priorität einer Nachricht fällt mit steigendem COB-Identifier. Aufbau COB-ID, siehe Predefined Master/Slave Connection Set nach CANopen: Bit-Nr.: Belegung 10 9 8 Funktionscode x x x 7 x 6 5 Knoten-ID 0 x 4 3 2 1 0 x x x x x x - 0 oder 1 9.4 Nachrichtenobjekte und Funktionscodes Bei Verwendung des Predefined Master/Slave Connection Set (siehe DS 301 CANopen) sind die Nachrichten-Identifier wie folgt definiert: Objekt NMT SYNC Emergency PDO 1(tx) PDO 2(tx) SDO (tx) SDO (rx) Nodeguard Funktionscode (binär) 0000 0001 0001 0011 0101 1011 1100 1110 resultierender COB-ID hexadezimal dezimal Kommunikationsparameter ab Index (hexadezimal) CMS Prioritätsgruppe 0 80 81-FF 181-1FF 281-2FF 581-5FF 601-67F 701-77F 1005 1800 1802 100E 0 0 0,1 1,2 2,3 6 6,7 - 0 128 129-255 385-511 641-767 1409-1535 1537-1663 1793-1919 - 13 - 9. Das Objektverzeichnis 9.5 Das Kommandobyte beschreibt die Art der SDO-Nachricht (siehe Beispiele für SDOs) Kommando in Hex 22 Art Funktion SDO (rx) Parameter an den Winkelcodierer senden Initiate Download Request(Datenlänge max. 4 Byte) 23 SDO (rx) Parameter an den Winkelcodierer senden Initiate Download Request (Datenlänge = 4 Byte) 2B SDO (rx) Parameter an den Winkelcodierer senden Initiate Download Request (Datenlänge = 2 Byte) 2F SDO (rx) Parameter an den Winkelcodierer senden Initiate Download Request (Datenlänge = 1 Byte) 60 SDO (tx) Initiate Download Response Bestätigung der Übernahme an Master 40 SDO (rx) Initiate Upload Request Parameter vom Winkelcodierer anfordern 43 SDO (rx) Initiate Upload Response Parameter an Master mit Datenlänge =4Byte (Unsigned 32) 4B SDO (rx) Initiate Upload Response Parameter an Master mit Datenlänge =2Byte (Unsigned 16) 4F SDO (rx) Initiate Upload Response Parameter an Master mit Datenlänge =1Byte (Unsigned 8) 80 SDO (rx) Abort Domain Transfer Winkelcodierer meldet Fehlercode an Master - 14 - 9. Das Objektverzeichnis 9.6 Beispiele für Service Daten Objekte Lesen des Objektverzeichnisses Master -> Slave COB-ID+ NodeID 600H + Node-ID Byte0 Byte1 Byte2 Byte3 Byte4 Byte5 Byte6 Byte7 Index Subindex reserviert 40H LSB MSB Slave -> Master COB-ID + NodeID 580H + Node-ID Byte0 Byte1 Byte2 Byte3 Byte4 Byte5 Byte6 Byte Index Subindex reserviert 42H LSB MSB Beispiel: Lesen des Positionswertes (Objekt 6004H) COB-ID+ NodeID 601 581 Byte0 Byte1 Byte2 Byte3 40 04 60 00 43 04 60 00 Byte4 Byte5 Byte6 Byte7 00 00 00 00 34 12 Schreiben des Objektverzeichnisses Master -> Slave COB-ID + NodeID 600H + Node-ID Byte0 Byte1 Byte2 Byte3 Byte4 Byte5 Byte6 Byte7 Index Subindex reserviert 22H LSB MSB Slave -> Master COB-ID + NodeID 580H + Node-ID Byte0 Byte1 Byte2 Byte3 Byte4 Byte5 Byte6 Byte7 Index Subindex reserviert 60H LSB MSB Beispiel: Schreiben des Referenzwertes 1000H (Objekt 6003H) COB-ID+ NodeID 601 581 Byte0 Byte1 Byte2 Byte3 22 03 60 00 60 03 60 00 Byte4 Byte5 Byte6 Byte7 00 00 00 00 00 10 - 15 - 10. Kommunikationsprofil 10. Kommunikationsprofil Kommunikationsprofil Übersicht / Communication-Profile Index (hex) 1000 1001 1002 1003 1004 1005 1008 1009 100A 100B 100C 100D 100E 100F 1010 1011 1014 Object Code VAR VAR VAR ARRAY ARRAY VAR VAR VAR VAR VAR VAR VAR VAR VAR VAR VAR VAR ObjectName Type Attr. C1 C2 Device type Error register Manufacturer status register Pre-defined error field Number of PDOs supported COB-ID SYNC-message Device name Hardware version Software version Node-ID Guard time Life time factor COB-ID guarding protocol Number of SDO´s supported Store parameters Restore Default Parameters COB-ID Emergency message unsigned32 unsigned8 unsigned32 unsigned32 unsigned32 unsigned32 Vis-String Vis-String Vis-String unsigned32 unsigned32 unsigned32 unsigned32 unsigned32 unsigned32 unsigned32 unsigned32 const ro ro ro ro rw const const const ro rw rw rw ro rw rw rw m m o o o o o o o o o o o o m m o o o o o o o o o o o o o m m o 1 st Transmit PDO (asynchronous transmission) 1800 1st transmit PDO Parameter PDO COMMPAR rw 1A00 TxPDO 1 Mapping PDO Mappingro m o m o 2 nd Transmit PDO (synchronous transmission) 1802 2nd transmit PDO Parameter 1A02 TxPDO 2 Mapping m o m o PDO COMMPAR rw PDO Mappingro 10.1 Object 1000H: Device Type Objekt 1000H Gerätetyp / Device Type Das Objekt 1000H beinhaltet die Geräte-Profil-Nummer und den Encodertyp nach /1/. 1000H Objekt-Beschreibung INDEX Werte-Beschreibung Name Device Type Object Code VAR Data Type unsigned32 Access ro (const) Value Range unsigned32 Default Value no - 16 - 10. Kommunikationsprofil Struktur der Parameter Beschreibung Device Type Device Profile Number Encoder Type Byte 0 96H Byte 2 Byte 3 2H Multiturn absolute rotary encoder Byte 1 01 Winkelcodierer: 0x00020196 10.2 Object 1001H: Error Register Objekt 1001H Fehlerregister / Error Register Das Objekt Error Register zeigt Gerätefehler des Winkelcodierers an. 1001H Objekt-Beschreibung INDEX Werte-Beschreibung Beschreibung Beschreibung Name Error Register Object Code VAR Data Type unsigned8 Access ro Value Range unsigned8 Default Value 0x0 (no Error) Bit m/o Meaning supported 0 1 2 3 4 m o o o yes no no no yes 5 6 7 o o o generic error current voltage temperature communication error (overrun, error state, ...) device profile specific reserved manufacturer specific Defaultwert: 00H (kein Fehler) - 17 - no no yes 10. Kommunikationsprofil 10.3 Object 1002H: Manufacturer Status Register Objekt 1002H Hersteller Status Register / Manufacturer Status Register Dieses Objekt ist das Hersteller Statusregister. 1002H Objekt-Beschreibung INDEX Werte-Beschreibung Beschreibung Name Manufacturer Status Register Object Code VAR Data Type unsigned32 Access ro Value Range unsigned32 Default Value 00H wird zur Zeit nicht weiter unterstützt. - 18 - 10. Kommunikationsprofil 10.4 Object 1003H: Predefined Error Field Objekt 1003H Vordefiniertes Fehlerfeld / Predefined Error Field Objekt 1003H werden die Gerätefehler eingetragen. - Subindex 00H Anzahl der gespeicherten Fehler (max. 1) - Subindex 01H Jeder neue Fehler wird unter Subindex 01 abgespeichert. Die Fehleranzeige wird durch Schreiben des Wertes Null in den Subindex 00H gelöscht (nur wenn Fehlerzustand beseitigt ist). 1003H Objekt-Beschreibung INDEX Werte-Beschreibung Beispiel: Name Predefined error field Object Code Array Data Type unsigned32 Sub-Index 00H Description Number of Errors Access rw Value Range unsigned8 Sub-Index 01H Description Standard Error Field Access ro Value Range unsigned32 Default Value 0x0 z. B.: EEPROM-Fehler Errorregister Predefined Error Field Alarms z. B.: kein Fehler Errorregister Predefined Error Field Alarms - 19 - 1001H 1003,00H 1003,01H 6503H 0x81 0x1 0x81FFFF 0x1000 1001H 1003,00H 1003,01H 6503H 0x0 0x0 0x0 0x0 10. Kommunikationsprofil 10.5 Object 1004H: Number of PDOs supported Objekt 1004H Anzahl der PDO's / Number of PDOs supported Index 1004H beinhaltet die maximale Anzahl der vom Winkelcodierer unterstützten PDOs. Es wird hierbei zwischen synchronen/asynchronen und Sende/Empfangs-PDOs unterschieden. 1004H Objekt-Beschreibung INDEX Werte-Beschreibung Name Number of PDOs supported Object Code Array Data Type unsigned32 Sub-Index 00H Description Number of PDOs supported Access ro Value Range unsigned32 Default Value 0x2 Sub-Index 01H / 02H Description 01H: Number of synchronous PDOs 02H: Number of asynchronous PDOs Access ro Value Range unsigned32 Default Value 0x1 / 0x1 Beschreibung Sub-Index 00H 01H 02H Subindex 00 01 02 MSB Anzahl Empfangs-PDO's Anzahl synchr. Empfangs-PDO's Anzahl asynchr. Empfangs-PDO's Wert 02H 01H 01H LSB Anzahl der Sende-PDO's Anzahl synchroner Sende-PDO's Anzahl asynchroner Sende-PDO's Beschreibung 2 Transmit-PDO's 1 synchroner Transmit-PDO 1 asynchroner Transmit-PDO - 20 - 10. Kommunikationsprofil 10.6 Object 1005H: COB-ID SYNC-Message Objekt 1005H COB-ID SYNC-Message Das Objekt 1005H definiert die COB-ID für die SYNCMessage (Synchronisationsnachricht). Des weiteren wird definiert, ob der Teilnehmer Sync-Messages generiert bzw. nur auf SYNC's reagiert. 1005H Objekt-Beschreibung INDEX Werte-Beschreibung Name COB-ID SYNC-message Object Code VAR Data Type unsigned32 Access rw Value Range unsigned32 Default Value 80H Struktur der Parameter Bit Wert Bedeutung 31(MSB) 0 1 0 1 0 1 0 x x Device does not consume SYNC message Device consumes SYNC message Device does not generate SYNC message Device generates SYNC message 11-Bit ID (CAN 2.0A) 29-Bit ID (CAN 2.0B) if bit 29 = 0 if bit 29 = 1; Bits 28-11 of 29-bit-SYNC-COB-ID bits 10-0 of SYNC-COB-ID (Standard-ID = 80H) 30 29 28-11 10-0(LSB) Beispiel Winkelcodierer 0x80000080 (Beachte: Bei Änderung der COB-Id wird der aktuelle Wert erst nach Speichern (siehe Objekt 1010H) und anschließen dem Reset des Codierers gültig.) - 21 - 10. Kommunikationsprofil 10.7 Object 1006H: Communication Cycle Period Objekt 1006H Kommunikation Zyklus Periode / Communication Cycle Period Das Objekt 1006H definiert die Communication Cycle Period in µs. Ist der Wert 0, wird dieses Objekt nicht genutzt. 1006H Objekt-Beschreibung INDEX Werte-Beschreibung Name Communication Cycle Period Object Code VAR Data Type unsigned32 Access rw Value Range unsigned32 Default Value 0H 10.8 Object 1007H: Synchronous Window Length Objekt 1007H Sync Fensterlänge / Synchronous Window Length Das Objekt 1007H legt den Parameter Synchronous Window Length in µs fest. Ist der Wert 0, wird dieses Objekt nicht genutzt. 1007H Objekt-Beschreibung INDEX Werte-Beschreibung Name Communication Cycle Period Object Code VAR Data Type unsigned32 Access rw Value Range unsigned32 Default Value 0H - 22 - 10. Kommunikationsprofil 10.9 Object 1008H: Device Name Objekt 1008H Gerätename / Device Name Das Objekt 1008H enthält den herstellerspezifischen Gerätenamen. 1008H Objekt-Beschreibung INDEX Werte-Beschreibung Name Manufacturer Device Name Object Code VAR Data Type Visible String Access ro Default Value Encoder CRN 10.10 Object 1009H: Manufacturer Hardware Version Objekt 1009H Manufacturer Hardware Version Objekt 1009H enthält die Hardware-Versionsnummer. 1009H Objekt-Beschreibung INDEX Werte-Beschreibung Name Manufacturer Hardware Version Object Code VAR Data Type Visible String Access ro Default Value z. B. 01.00 - 23 - 10. Kommunikationsprofil 10.11 Object 100AH: Manufacturer Software Version Objekt 100AH Manufacturer Software Version Das Objekt 100A enthält die Software-Versionsnummer. 100AH Objekt-Beschreibung INDEX Werte-Beschreibung Name Manufacturer Software Version Object Code VAR Data Type Visible String Access ro Default Value z. B.: 01.40 10.12 Object 100BH: Node-ID Objekt 100BH Knotennummer / Node-ID Das Objekt 100BH enthält die Node-ID. Der Zugriff auf den Node-ID Eintrag ist vom Typ "read only" und kann nicht mittels SDO geändert werden. Dieser Eintrag liefert den im EEPROM abgespeicherten Wert. 100BH Objekt-Beschreibung INDEX Werte-Beschreibung Struktur der Parameter Beschreibung Name Node-ID Object Code VAR Data Type unsigned32 Access ro Default Value z. B.: 0x5 MSB reserved reserved reserved LSB Node-ID Die Knotennummer kann Werte von 1 bis 64 annehmen. Bei der Anschlußhaubenversion berechnet sich der Wert für die Knoten-Nummer wie folgt: Knoten-Nummer = DIP- Schalterwert + 1. Die Änderung der Node-ID erfolgt bei der Steckerversion über das Objekt 2000H. - 24 - 10. Kommunikationsprofil 10.13 Object 100CH: Guard Time Objekt 100CH Überwachungszeit / Guard Time Beinhaltet die Guard Time in ms. Der Life Time Factor (Objekt 100DH) multipliziert mit der Guard Time ergibt die Life Time für das Node Guarding. 100CH Objekt-Beschreibung INDEX Werte-Beschreibung Name Guard time Object Code VAR Data Type unsigned16 Access rw Value Range unsigned16 Default Value 0H 10.14 Object 100DH: Life Time Factor Objekt 100DH Lebenszeit Faktor / Life Time Factor Wird der Life Time Factor mit der Guard Time multipliziert, so ergibt sich die Lebenszeit für das Node Guarding. Beispiel: Guard Time: 100 ms Life Time Factor: 5 Die Guard Time von 100 ms läßt die Knoten im Netz alle 100 ms vom Master ein Guard Frame erwarten. Durch den Life Time Factor wird für jedes Modul eingestellt, wie oft ein Guard Frame vom Master ausbleiben darf, ohne dass ein Fehlerzustand erkannt wird. In diesem Beispiel wäre die betreffende Zeit also 500 ms. Erst nach den 500 ms würde die ausbleibende Meldung entsprechend ausgewertet werden. 100DH Objekt-Beschreibung INDEX Werte-Beschreibung Name Life Time Factor Object Code VAR Data Type unsigned8 Access rw Value Range unsigned8 Default Value 0H - 25 - 10. Kommunikationsprofil 10.15 Object 100EH: Node Guarding Identifier Objekt 100EH Node Guarding Identifier Das Objekt 100EH beinhaltet den Identifier für das Node Guarding. 100EH Objekt-Beschreibung INDEX Werte-Beschreibung (Beachte: Name Node Guarding Identifier Object Code VAR Data Type unsigned32 Access rw Value Range unsigned32 Default Value 700H + Node-ID / 1792 + Node-ID Bei Änderung der COB-Id wird der aktuelle Wert erst nach Speichern (siehe Objekt 1010H) und anschließendem Reset des Codierers gültig.) 10.16 Object 100FH: Number of SDO´s supported Objekt 100FH Number of SDO´s supported Das Objekt 100FH beinhaltet die Anzahl der SDO's, die unterstützt werden. 100FH Objekt-Beschreibung INDEX Werte-Beschreibung Name Number of SDO´s supported Object Code VAR Data Type unsigned32 Access ro Value Range unsigned32 Default Value 1H - 26 - 10. Kommunikationsprofil Struktur der Parameter MSB LSB Beispiel Winkelcodierer mit Knotennummer 1 SDO (tx) (Geber -> Master): 580H (1409) + Knotennummer: 581H SDO (rx) (Master -> Geber): 600H (1537) + Knotennummer: 601H Number of client SDO's Number of server SDO's (Hinweis: Die SDO- Identifier sind nicht änderbar) 10.17 Object 1010H: Store Parameters Objekt 1010H Speichern der Parameter / Store Parameters Über das Objekt 1010H können die Parameteränderungen abgespeichert werden. Parameter speichern: Subindex 01H: Zum Speichern der Parameter ist das Wort save einzutragen. Signatur ASCII hex Beispiel: MSB e v 65H 76H 0x65766173 a 61H LSB s 73H Die Werte werden erst nach dem Reset gültig! 1010H Objekt-Beschreibung INDEX Werte-Beschreibung Name Store parameters Object Code ARRAY Data Type unsigned32 Sub-Index 00H Description Largest supported Sub-Index Access ro Value Range unsigned8 Default Value 01H Sub-Index 01H Description Save all parameters Access rw Value Range unsigned32 Default Value 'save' beim Speichern - 27 - 10. Kommunikationsprofil 10.18 Object 1011H: Restore Default Parameters Objekt 1011H Standardparameter laden / Restore Default Parameters Über das Objekt 1011H können die Standardparameter geladen werden. Parameter speichern: Subindex 01H: Zum Laden der Parameter ist das Wort load einzutragen. Signatur MSB ASCII d a hex 64H 61H Beispiel: 0x64616F6C o 6FH LSB l 6CH Die Werte werden erst nach dem Reset gültig! 1011H Objekt-Beschreibung INDEX Werte-Beschreibung Name Restore default parameters Object Code ARRAY Data Type unsigned32 Sub-Index 00H Description Largest supported Sub-Index Access ro Value Range unsigned8 Default Value 01H Sub-Index 01H Description Restore all default parameters Access rw Value Range unsigned32 Default Value 'load' beim Laden - 28 - 10. Kommunikationsprofil 10.19 Object 1014H: COB-ID Emergency Message Objekt 1014H COB-ID Emergency Message Das Objekt 1014H beinhaltet die COB-ID für die Emergency Nachricht. 1014H Objekt-Beschreibung INDEX Werte-Beschreibung (Beachte: Name COB-ID Emergency Message Object Code VAR Data Type unsigned32 Access rw Value Range unsigned32 Default Value 80H + Node-ID Bei Änderung der COB-Id wird der aktuelle Wert erst nach Speichern (siehe Objekt 1010H) und anschließendem Reset des Codierers gültig.) 10.20 Übersicht der Übertragungsarten Transmission Type Code Übertagungsart zyklisch 0 1-240 241-251 252 253 254 255 x reserviert azyklisch synchron x x x asynchron x x x x nur RTR x x Bedeutung: 0: 1 - 240: 252: 253: 254: nach SYNC aber nur bei Wertänderung seit dem letzten SYNC Wert senden nach 1. bzw 240. SYNC - Message SYNC führt zu interner Wertespeicherung, Wert muß per RTR abgeholt werden Wert wird nach RTR aktualisiert und gesendet Wert wird aktualisiert und gesendet nach einer Wertänderung (wenn GeräteTimer (Cylic timer) = 0) oder nach Ablauf der Zykluszeit (Geräte-Timer > 0) - 29 - 10. Kommunikationsprofil 10.21 Object 1800H: 1st Transmit PDO (asynchronous transmission) Objekt 1800H Das Objekt 1800H beinhaltet die KommunikationsParameter für das Sende-PDO. Dieses PDO sendet die Positionsdaten des Winkelcodierers asynchron. Der Cyclic Timer wird im Objekt 6200H gespeichert. 1800H Objekt-Beschreibung INDEX Werte-Beschreibung Name Transmit PDO (asynchronous transmission) Object Code RECORD Data Type PDOCommPar Sub-Index 0H Description Number of supported entries, default: 3 Access ro Value Range unsigned8 Default Value 2-4 Sub-Index 1H Description COB-ID used by PDO und Freigabe Access rw Value Range unsigned32 Default Value Index 1800H: 180H + Node-ID Sub-Index 2H Description Transmission type default: 254 Access rw Value Range unsigned8 Default Value 0xFE - 30 - 10. Kommunikationsprofil Werte-Beschreibung Sub-Index 01: Sub-Index 3H Description Inhibit time, default: 0 Access rw Value Range unsigned16 Default Value 0x0 Bit 0 - 10 11 Bit ID: 180H + Node-ID Bit 11- 29 Bit 30 Bit 31 0 (reserviert 29-Bit-ID) 0 RTR erlaubt (nicht änderbar) 0 PDO enabled (Standard) 1 PDO disabled Index Sub-Index Bezeichnung Default Value 1800H 0 1 3 0x180 + Node-ID 2 3 Anzahl der Einträge COB-ID PDO 1 und Freigabe Transmission type Inhibit Time* 254 0 * Mindestwartezeit bevor dieses PDO erneut gesendet werden darf - 31 - 10. Kommunikationsprofil 10.22 Object 1A00H: 1st Transmit PDO (asynchronous transmission) Mapping Objekt 1A00H Das Objekt 1A00H beinhaltet die Parameter für das Mapping des 1. TxPDO's. In unserem Falle ist das der Parameter Positionswert. 1A00H Objekt-Beschreibung INDEX Werte-Beschreibung Name 1st Transmit PDO (asynchronous transmission) Mapping Object Code RECORD Data Type PDOMapping Sub-Index 0H Description Number of mapped objects Default: 1 Access ro Value Range unsigned8 Sub-Index 1H Description Position value Access ro Value Range unsigned32 Index Sub-Index Bezeichnung Default Value 1A00H 0 1 1 60040020H Anzahl der Einträge Positionswert Struktur der Parameter MSB LSB Index (16 Bit) Sub-Index (8 Bit) Objektlänge(8Bit) - 32 - 6004 00 20 (s. Tabelle 10-4, DS 301) 10. Kommunikationsprofil 10.23 Object 1802H: 2nd Transmit PDO (synchronous transmission) Objekt 1802H Das Objekt 1802H sendet die Positionsdaten des Winkelcodierers auf Anforderung zyklisch. Die Anforderung erfolgt durch ein Remote Frame und/ oder durch ein Sync-Telegramm. 1802H Objekt-Beschreibung INDEX Werte-Beschreibung Name Transmit PDO (synchronous transmission) Object Code RECORD Data Type PDOCommPar siehe vorher (Objekt 1800H) Index Sub-Index Bezeichnung Default Value 1802H 0 1 3 0x280 + Node-ID 2 3 *Sub-Index 01: Anzahl der Einträge COB-ID PDO 1 und Freigabe* Transmission type Inhibit Time Bit 0 - 10 Bit 11- 29 Bit 30 Bit 31 1 0 11 Bit ID: 280H + Node-ID 0 (reserviert 29-Bit-ID) 0 RTR erlaubt (nicht änderbar) 0 PDO enabled (Standard) 1 PDO disabled - 33 - 10. Kommunikationsprofil 10.24 Object 1A02H: 2nd Transmit PDO (asynchronous transmission) Mapping Objekt 1A02H Das Objekt 1A02H beinhaltet die Parameter für das Mapping des 2. TxPDO's. In unserem Falle ist das der Parameter Positionswert. 1A02H Objekt-Beschreibung INDEX Werte-Beschreibung Name 2nd Transmit PDO (asynchronous transmission) Mapping Object Code RECORD Data Type PDOMapping Sub-Index 0H Description Number of mapped objects default: 1 Access ro Value Range unsigned8 Sub-Index 1H Description Position value Access ro Value Range unsigned32 Index Sub-Index Comment Default Value 1A02h 0 1 Number of mapped objects Position value 1 60040020h (siehe vorher) - 34 - 11. Encoder -Pr ofile Encoder-Pr -Profile 11. Encoder-Profile 11.1 Encoder Parameter Encoder Parameter Übersicht Index Object ObjectName (hex) Code 6000 VAR Operating Parameters 6001 VAR Auflösung 6002 VAR Gesamtschrittzahl 6003 VAR Referenzwert 6004 VAR Positionswert 6200 VAR Cyclic Timer 6400 ARRAY Area State Register 6401 ARRAY Work Area low limit 6402 ARRAY Work Area high limit Type Attr. C1 C2 unsigned16 unsigned32 unsigned32 unsigned32 unsigned32 unsigned16 unsigned8 integer32 integer32 rw rw rw rw ro rw ro rw rw m/o m/o m m m m m o o o 11.1.1 Object 6000H: Operating Parameters Objekt 6000H Die Einstellung der Betriebsparameter des Winkelcodierers erfolgt unter dem Objekt 6000H - Operating Parameter. Operating Parameter sind: - der Codeverlauf CW/CCW - Diagnose Encoder (ja/nein) - Freigabe der Skalierungsfunktion. Der Codeverlauf CW (clockwise) bzw. CCW (counter clockwise) definier t, ob beim Drehen der Welle im Uhrzeigersinn (Blickrichtung auf die Welle) die Positionswer te steigen (CW) bzw fallen (CCW). Die Diagnose des Encoders wird z. Zt. nicht unterstützt. Die Skalierungsfunktion wird durch das Bit 2 gleich "1" freigegeben. Die Parameter Auflösung und Gesamtschrittzahl können applikatiosspezifisch geänder t werden. 6000H Objekt-Beschreibung INDEX Name Operating Parameters Object Code VAR Data Type unsigned16 Access rw Struktur der Parameter Bit Function 0 Code Sequence 1 2 3-15 Commissioning Diagnostic Control Scaling function control Reserved for further use - 35 - Bit = 0 Bit = 1 C1 CW Disa. Disa. CCW Enab. Enab. C2 support. m yes no yes m o 11. Encoder -Pr ofile Encoder-Pr -Profile Wer ertt Bedeutung 00H Codeverlauf CW Commissioning Diagnostic Control disable Scaling function control disable Codeverlauf CCW Commissioning Diagnostic Control disable Scaling function control disable z. Zt. nicht unterstützt z. Zt. nicht unterstützt Codeverlauf CW Commissioning Diagnostic Control disable Scaling function control enable Codeverlauf CCW Commissioning Diagnostic Control disable Scaling function control enable z. Zt. nicht unterstützt z. Zt. nicht unterstützt 01H 02H 03H 04H 05H 06H 07H 11.1.2 Object 6001H: Measuring Units per Revolution Objekt 6001H Auflösung / Measuring units per revolution Der Parameter Auflösung gibt die Anzahl der Schritte bezogen auf eine Umdrehung (360°) an. 6001H Objekt-Beschreibung INDEX Werte-Beschreibung Struktur der Parameter Name Measuring units per revolution Object Code VAR Data Type unsigned32 Access rw Access rw Value Range unsigned32 Default Value 1000H / 2000H Measuring units per revolution Byte 0 7 2 to 2 0 Byte 1 15 2 to 2 - 36 - Byte 2 8 23 2 to 2 Byte 3 16 231 to 224 11. Encoder -Pr ofile Encoder-Pr -Profile 11.1.3 Object 6002H: Total measuring range in measuring units Objekt 6002H Gesamtschrittzahl / Total measuring range in measuring units Das Objekt 6002H beinhaltet die Gesamtschrittzahl. Gesamtschrittzahl = Auflösung x Meßbereich Auflösung: Schritte pro Umdrehung Meßbereich: Anzahl der Umdrehungen 6002H Objekt-Beschreibung INDEX Werte-Beschreibung Name Total measuring range in measuring units Object Code VAR Data Type unsigned32 Access rw Value Range unsigned32 Default Value 1000000H / 2000000H Struktur der Parameter Total measuring range in measuring units Byte 0 Byte 1 Byte 2 Byte 3 27 to 20 215 to 28 223 to 216 231 to 224 Hinweis: Wird der Winkelcodierer im Endlosbetrieb eingesetzt, darf die Gesamtanzahl der Schritte nur in 2n-Potenzen angegeben werden (n = 1, 2, ... ,12). (Beispiel: Gesamtschrittzahl = 2n-Potenz Auflösung: Gesamtschrittzahl: Meßbereich: 1024 8192 8 0 ... 8191, 0 ... 8191, 0 ... 8191, usw. Gesamtschrittzahl # 2n-Potenz Auflösung: Gesamtschrittzahl: Meßbereich: 1024 3600 3.5156 0 ... 3599, 0 ... 3599, 0 ... 4563 * * Meßwert-Sprung abhängig von physikalischer Ist-Position des Codierers - 37 - 11. Encoder -Pr ofile Encoder-Pr -Profile 11.1.4 Object 6003H: Referenzwert Objekt 6003H Zum Abgleich des Maschinennullpunktes mit den Codierer-Nullpunkt nutzt man den Referenzwert. Dazu wird der Positionswert des Codierers auf den Referenzwert gesetzt. Intern wird im Codierer ein Offsetwert, der den Referenzwert berücksichtigt, berechnet. Werden die Werte für Codeverlauf und Auflösung, Gesamtschrittzahl geändert, so wird der Referenzwert gelöscht und mit dem Wert 0 vorbelegt. 6003H Objekt-Beschreibung INDEX Werte-Beschreibung Structure of Parameter Name Preset value Object Code VAR Data Type unsigned32 Access rw Default Value 0H Preset value Byte 0 27 to 20 Byte 1 215 to 28 Byte 2 223 to 216 Byte 3 231 to 224 11.1.5 Object 6004H: Position Value Objekt 6004H Positionswert / Position Value Das Objekt 6004H ist der Positionswert des Winkelcodierers . 6004H Objekt-Beschreibung INDEX Werte-Beschreibung Name Position value Object Code VAR Data Type unsigned32 Access ro PDO Mapping yes Value Range unsigned32 Default Value no - 38 - 11. Encoder -Pr ofile Encoder-Pr -Profile Struktur der Parameter Position value Byte 0 Byte 1 27 to 20 215 to 28 Byte 2 223 to 216 Byte 3 231 to 224 11.1.6 Object 6200H: Cyclic Timer Objekt 6200H Das Objekt 6200H beinhaltet den Parameter "Cylic Timer". Der Cyclic Timer definiert die Zykluszeit für alle asynchrone PDO's (siehe auch Objekt 1800H 1st Transmit PDO). Die zyklische Übertragung des Positionswertes des Winkelcodierers erfolgt bei einem Wert > 0. Der Wertebereich für den Cyclic Timer liegt zwischen 1 und 65535 ms. Beispiel: 1 ms = 1H 256 ms = 100H 6200H Objekt-Beschreibung INDEX Werte-Beschreibung Name Cyclic timer Object Code VAR Data Type unsigned16 Access rw Value Range unsigned16 Default Value 0H - 39 - 11. Encoder -Pr ofile Encoder-Pr -Profile 11.1.7 Object 6400H: Area State Register Objekt 6400H Das Objekt 6400H Area State Register zeigt die Lage des Positionswertes im Arbeitsbereich an. Dabei wird unterschieden zwischen einem unteren und oberen Arbeitsbereich und außerhalb des Arbeitsbereiches. 6400H Objekt-Beschreibung INDEX Werte-Beschreibung Struktur der Parameter Name Area state register Object Code ARRAY Data Type unsigned8 Sub-Index 00H Description Number of available channels Access ro Default Value 01H Sub-Index 01H Description Work area state channel 1 Access ro Value Range unsigned8 Default Value no Work area state Bit 7 6 5 4 3 2 1 0 reserved reserved reserved reserved reserved range underflow range overflow out of range (siehe auch Objekt 650A) Wert Bedeutung 0 1 2 4 Positionswert im Arbeitsbereich Positionswert außerhalb des Arbeitsbereiches Positionswert größer als der Arbeitsbereich Positionswert kleiner als der Arbeitsbereich - 40 - 11. Encoder -Pr ofile Encoder-Pr -Profile 11.1.8 Object 6401H: Work Area low limit Objekt 6401H Das Objekt 6401H "Work area low limit"ist die untere Grenze des Arbeitsbereiches. Bei Erreichen der unteren Grenze des Arbeitsbereiches wird das Bit 2 des Objektes 6400H/Subindex 01gesetzt. 6401H Objekt-Beschreibung INDEX Werte-Beschreibung Struktur der Parameter Name Work area low limit Object Code ARRAY Data Type Integer32 Sub-Index 00H Description Number of available channels Access ro Default Value 01H Sub-Index 01H Description Work area low limit channel 1 Access rw Value Range Integer32 Default Value 0xFFFFF Work area low limit Byte 0 Byte 1 7 2 to 2 0 15 2 to 2 Byte 2 8 - 41 - 23 2 to 2 Byte 3 16 231 to 224 11. Encoder -Pr ofile Encoder-Pr -Profile 11.1.9 Object 6402H: Work Area high limit Objekt 6402H Das Objekt 6402H "Work area high limit" ist die obere Grenze des Arbeitsbereiches. Bei Erreichen der oberen Grenze des Arbeitsbereiches wird das Bit 1 des Objektes 6400H/Subindex 01gesetzt. 6402H Objekt-Beschreibung INDEX Werte-Beschreibung Struktur der Parameter Name Work area high limit Object Code ARRAY Data Type Integer32 Sub-Index 00H Description Number of available channels Access ro Default Value 01H Sub-Index 01H Description Work area high limit channel 1 Access rw Value Range Integer32 Default Value 1F00000H Work area high limit Byte 0 27 to 20 Byte 1 215 to 28 - 42 - Byte 2 223 to 216 Byte 3 231 to 224 11. Encoder -Pr ofile Encoder-Pr -Profile 11.2 Encoder Diagnostics Index (hex) 6500 6501 6502 Object Code VAR VAR VAR ObjectName Type Attr. C1 6503 6504 6505 6506 6507 6508 6509 650A 650B C2 unsigned16 unsigned32 unsigned16 ro ro ro m m m VAR VAR VAR VAR VAR VAR VAR REC Operating Status Single Turn Resolution Number of distinguishable Revolutions Alarms Supported Alarms Warnings Supported Warnings Profile and Software version Operating Time Offset Value Module Identification unsigned16 unsigned16 unsigned16 unsigned16 unsigned32 unsigned32 integer32 integer32 ro ro ro ro ro ro ro ro m m m m m m m m VAR Serial Number unsigned32 ro m 11.2.1 Objekt 6500H: Operating Status Objekt 6500H 6500H Objekt-Beschreibung INDEX Name Operating Status Object Code VAR Data Type unsigned16 Access ro Struktur der Parameter Bit 0 1 2 3 - 15 Function Code Sequence Commissioning Diagnostic Control Scaling function control Reserved for further use Bit = 0 CW Not Supp. Disa. - 43 - Bit =1 CCW Supp. Enab. C1 m o C2 m Supp. yes no yes no 11. Encoder -Pr ofile Encoder-Pr -Profile 11.2.2 Object 6501H: Auflösung Objekt 6501H Der Parameter Auflösung gibt die Anzahl der Schritte bezogen auf eine Umdrehung (360°) an. 6501H Objekt-Beschreibung INDEX Werte-Beschreibung Struktur der Parameter Name SingleTurn resolution Object Code VAR Data Type unsigned32 Access ro Value Range unsigned32 Default Value 0x1000 / 0x2000 Single Turn resolution Byte 0 27 to 20 Byte 1 215 to 28 Byte 2 223 to 216 Byte 3 231 to 224 11.2.3 Object 6502H: Number of distinguishable Revolutions Objekt 6502H Das Objekt 6502H beinhaltet den Meßbereich. Gesamtschrittzahl = Auflösung x Meßbereich Auflösung: Schritte pro Umdrehung Meßbereich: Anzahl der Umdrehungen 6502H Objekt-Beschreibung INDEX Werte-Beschreibung Name Number of distinguishable revolutions Object Code VAR Data Type unsigned16 Access ro Value Range unsigned16 Default Value 1000H - 44 - 11. Encoder -Pr ofile Encoder-Pr -Profile Struktur der Parameter Number of distinguishable revolutions Byte 0 27 to 20 Byte 1 215 to 28 Byte 2 223 to 216 Byte 3 231 to 224 11.2.4 Object 6503H: Alarms Ein Alarm wird im Fehlerfall gemeldet. Die Meldung erlischt erst, wenn der Fehler nicht mehr ansteht. Object 6503H Alarms Objekt-Beschreibung Name Object Code VAR Data Type unsigned16 Access ro Struktur der Parameter Bit 0 1 2 - 11 12 13 14 15 Function Position error Commissioning diagnostics Reserved for further use EEPROM-Fehler CRC-Fehler EEPROM XRAM-Fehler Manufacturer specific (currently not assigned) unterstützt nein nein ja ja ja - 11.2.5 Object 6504H: Supported Alarms Das Objekt 6504H zeigt die Alarmmeldungen, die durch den Winkelcodierer unterstützt werden, an. (siehe auch Objekt 6503H) Objekt 6504H Supported alarms Objekt-Beschreibung Name Object Code VAR Data Type unsigned16 Access ro Struktur der Parameter siehe Objekt 6503H Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 - 45 - 0 7000H 11. Encoder -Pr ofile Encoder-Pr -Profile 11.2.6 Object 6505H: Warnings Das Überschreiten von Toleranzen relevanter interner Winkelcodiererparameter wird durch Warnungen angezeigt. Objekt 6505H 6505H Objekt-Beschreibung INDEX Name Warnings Object Code VAR Data Type unsigned16 Access ro Struktur der Paramter Bit 0 1 2 3 4 5 Function Frequency exceeded Ligh control reserve CPU watchdog status Operating time limit warning Battery charge Reference point 0 - reached 1 - not reached 6 - 11 Reserved for further use 12 - 15 Manufacturer specific functions unterstützt nein nein nein nein nein ja nein 11.2.7 Object 6506H: Supported warnings Das Objekt 6506H zeigt die Warnmeldungen, die durch den Winkelcodierer unterstützt werden, an (siehe auch Objekt 6505H). Object 6506H 6506H Objekt-Beschreibung INDEX Name Supported_warnings Object Code VAR Data Type unsigned16 Access ro Struktur der Parameter siehe Objekt 6505H Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 0 0 0 0 1 0 0 0 0 0 0 - 46 - 0 0 0 0 20H 11. Encoder -Pr ofile Encoder-Pr -Profile 11.2.8 Object 6507H: Profile and Software Version Objekt 6507H Das Objekt 6507H beinhaltet die Profil- und Softwareversion, die im Encoder implementiert ist. 6507H Objekt-Beschreibung INDEX Werte-Beschreibung Struktur der Parameter Name Profile and Software Version Object Code VAR Data Type unsigned32 Access ro Value Range unsigned32 Default Value 1000200H Profile version Byte 0 Byte 1 Software version Byte 2 Byte 3 27 to 20 27 to 20 215 to 28 215 to 28 11.2.9 Object 6508H: Operating Time Objekt 6508H Das Objekt 6508H beinhaltet den Betriebsstundenzähler des Codierers. Zur Zeit wird der Betriebsstundenzähler nicht unterstützt, deswegen ist der Wert mit FF FF FF FFH vorbelegt. 6508H Objekt-Beschreibung INDEX Werte-Beschreibung Name Operating time Object Code VAR Data Type unsigned32 Access ro Value Range unsigned32 Default Value FFFFFFFFH - 47 - 11. Encoder -Pr ofile Encoder-Pr -Profile 11.2.10 Object 6509H: Offset Value Objekt 6509H Das Objekt 6509H enthält den Parameter Offsetwert. Der Offsetwert ist der berechnete Positionswert unter Berücksichtigung des Referenzwertes. (Wird zur Zeit nicht unterstützt.) 6509H Objekt-Beschreibung INDEX Werte-Beschreibung Struktur der Parameter Name Offset value Object Code VAR Data Type signed32 Access ro Value Range signed32 Default Value no Offset value Byte 0 Byte 1 Byte 2 27 to 20 223 to 216 231 to 224 215 to 28 - 48 - Byte 3 11. Encoder -Pr ofile Encoder-Pr -Profile 11.2.11 Object 650AH: Module Identification Object 650AH Das Objekt 650AH enthält den Parameter Modul Identifikation. Dieser Parameter untergliedert sich wie folgt: SubIndex 00H - Manufacturer Offset Value ((Hersteller) - Offsetwert bezogen auf den mechanischen Nullpunkt des Codierers) Subindex 01H - Manufacturer minimum Position Value (unterer Arbeitsbereich) Subindex 02H - Manufacturer maximum Position Value (oberer Arbeitsbereich) 650AH Objekt-Beschreibung INDEX Werte-Beschreibung Name Module identification Object Code RECORD Sub-Index 00H Description Manufacturer offset value Access ro Value Range signed32 Default Value 0H Sub-Index 01H Description Manufacturer min position value Object Class optional Access ro Value Range signed32 Default Value FFFFFH Sub-Index 02H Description Manufacturer max position value Object Class optional Access ro Value Range signed32 Default Value 1F00000H - 49 - 11. Encoder -Pr ofile Encoder-Pr -Profile 11.2.12 Object 650BH: Serial Number Object 650BH Das Objekt 650BH ist die Seriennummer. Da sie gegenwärtig nicht unterstützt wird, ist sie mit FF FF FF FFH vorbelegt. 650BH Objekt-Beschreibung INDEX Werte-Beschreibung Name Serial Number Object Code VAR Data Type unsigned32 Object Class C2 Mandatory Access ro Value Range unsigned32 Default Value FFFFFFFFH - 50 - 11. Encoder -Pr ofile Encoder-Pr -Profile 11.3 Herstellerspezifischer Profilbereich Index (hex) 2000 2001 Object Code VAR VAR ObjectName Type Attr. C1 Manufacturer Node ID Manufacturer Baudrate unsigned8 unsigned8 rw rw m m C2 11.3.1 Object 2000H: Hersteller Node ID Object 2000H Die Änderung der Knotennummer für die Steckerversion erfolgt über das Objekt 2000H. Die neue Knotennummer wird erst nach Abspeichern (Save, siehe Objekt 1010H) und einem Reset des Winkelcodierers wirksam. Im Auslieferungszustand sind nachfolgende Werte defaultmäßig eingestellt: Knoten-Nummer: Baudrate: (Beachte: 1 20kBaud Änderungen der Objekt 2000H und 2001H haben keine Auswirkungen bei der Anschlußhaubenversion. Die eingestellten Werte in der Haube sind primär gültig.) 2000H Objekt-Beschreibung INDEX Werte-Beschreibung Name Manufacturer Node ID Object Code VAR Data Type unsigned8 Access rw Value Range unsigned8 Default Value 01H (Steckerversion) - 51 - 11. Encoder-Profile 12. Defaultwerte für Programmierparameter 11.3.2 Object 2001H: Baudrate Objekt 2001H Die Änderung der Baudrate für die Steckerversion erfolgt über das Objekt 2001H. Die neue Baudrate wird erst nach Abspeichern (Save, siehe Objekt 1010H) und nach einem Reset des Winkelcodierers wirksam. Es werden 4 Baudraten unterstützt: 00H 20 kBaud 01H 125 kBaud 02H 500 kBaud 03H 1 MBaud Im Auslieferungszustand sind nachfolgende Werte Knoten-Nummer: Baudrate: 1 20KBaud (Beachte: Änderungen der Objekt 2000H und 2001H haben keine Auswirkungen bei der Anschlußhaubenversion. Die eingestellten Werte in der Haube sind primär gültig.) 2001H Objekt-Beschreibung INDEX Werte-Beschreibung Name Baudrate Object Code VAR Data Type unsigned8 Access rw Value Range unsigned8 Default Value 0x00 (20kBaud) 12. Defaultwerte für Programmierparameter 1000H 1001H 1002H 1003H 00H 01H 1004H 00H 01H 02H 1005H 1006H 1007H 1008H 1009H 100AH Device Type Error Register Manufacturer Status Register Predefined Error Field Number of Errors Standard Errror Field Number of PDO's supported Number of PDO's supported Number of synchronous PDOs Number of asynchronous PDOs COB-ID Sync-Messages Communication Cycle Period Synchronous Window Length Device Name Manufacturer Hardware Version Manufacturer Software Version - 52 - 0x00020196 0x0 0x0 0x1 0x0 0x2 0x1 0x1 0x80000080 0x0 0x0 Encoder CRN 01.00 01.40 12. Defaultwerte für Programmierparameter 100BH 100CH 100DH 100EH 100FH 1010H 00H 01H 1011H 00H 01H 1014H 1800H 00H 01H 02H 03H 1802H 00H 01H 02H 03H 1A00H 00H 01H 1A02H 00H 01H 6000H 6001H 6002H 6003H 6004H 6200H 6400H 00H 01H 6401H 00H 01H 6402 00H 01H 6500H 6501H 6502H 6503H 6504H 6505H 6506H 6507H 6508H 6509H 650AH 00H 01H 02H Node-ID Guard Time Life Time Factor Node Guarding Identifier Number of SDOs supported Store Parameters Largest supported Subindex Save all Parameters Restoe Default Parameters Largest supported Subindex Restore all Default Parameters COB-ID Emergency Message 1st Transmit PDO Number of supported Entries Cob-ID used by PDO1 Transmisson Type Inhibit Time 2st Transmit PDO Number of supported Entries Cob-ID used by PDO2 Transmisson Type Inhibit Time 1st Transmit PDO Mapping Number of mapped Objects Position Value 2nd Transmit PDO Mapping Number of mapped Objects Position Value Operating Prameters Measuring Units per Revolution Total Measuring Range in Measuring Units Preset Value Position Value Cyclic Timer Area State Register Number of available Channels Work Area State Channel 1 Work Area Low Limit Number of available Channels Work Area Low Limit Channel 1 Work Area High Limit Work Area High Limit Channel 1 Work Area High Limit Channel 1 Operating Status Single Turn Resolution Number of distinguishable Revolutions Alarms Supported Alarms Warnings Supported Warnings Profil and Software Version Operating Time Offset Value Module Identification Manufacturer Offset Value Manufacturer min Position Value Manufacturer max Position Value - 53 - 0x1 0x0 0x0 700H + Node-ID 0x1 0x1 0x65766173 (abspeichern) 0x1 0x64616F6C (laden) 80H + Node-ID 0x3 180H + Node-ID 0xFE 0x0 0x3 280H + Node-ID 0x1 0x0 0x1 0x60040020 0x1 0x60040020 0x0 0x1000 /0x2000 0x1000000 /0x2000000 0x0 0xXXXX 0x0 0x1 0x0 0x1 0x FFFFF 0x1 0x1F00000 0x0 0x1000/0x2000 0x1000 0x0 0x7000 0x0 0x20 0xFFFFFFFF 0xXXXXX 0x0 0xFFFFF 0x1F00000 12. Defaultwerte für Programmierparameter 13. Store Parameters (Objekt 1010H) 650BH 2000H 2001H Serial Number Manufacturer Node ID Manufacturer Baudrate 0xFFFFFFFF 0x1 0x0 13. Store Parameters (Objekt 1010H) Nachfolgend Parameter werden durch das Objekt 1010H abgespeichert: Bezeichnung TX PDO1 Identifier TX PDO2 Identifier EMCY Identifier -SYNC Identifier - NMT Life Guarding Identifier - TX PDO 1 enabled - TX PDO 2 enabled - Node Number - Baudrate - TX PDO1 Transmission Type - TX PDO2 Transmission Type - TX PDO1 Inhibit Time - TX PDO2 Inhibit Time - Encoder Code Sequence - Scaling Function Control enabled - Units Function Control enabled - Range Function Control enabled - Preset Function Control enabled - Measuring Units - Measuring Range - Scaled Resolution - Preset Value Calculated (Offset) - Preset Value - Cyclic Timer - Work Area Low Limit - Work Area High Limit - EEPROM Valid Flag - EEPROM Checksum Objekt (Index/Subindex) 1800/01 1802/01 1014 1005 100E 1800/01 1802/01 100B 2001 1800/02 1802/02 1800/03 1800/03 6000 6000 6001 6002 6509 6003 6200 6401 6402 14. Literatur /1/ CiA Draft Standard Proposal 406 Version 2.0 Device Profile for Encoders /2/ CiA Draft Standard 301 Version 3.0 CAL-based Communication Profile for Industrial Systems /3/ CANopen Implementation Guidelines by G.Gruhler(Ed.) and Bernd Dreier Version 2.31 ESPRIT Project 22171 CANopen - 54 -