Handbuch Stellantrieb FlexiDrive MSBA mit CANopen Software Revision (Firmware Version) 2.00.xx Baumer Electric AG Hummelstrasse 17 8501 Frauenfeld · Switzerland Phone +41 (0)52 728 11 22 Fax +41 (0)52 728 11 44 [email protected] www.baumer.com 04.05.2015 Irrtum sowie Änderungen in Technik und Design vorbehalten Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx Inhalt Seite 1 1.1 1.2 1.3 Einleitung ...................................................................................................................................... 4 Produktzuordnung .......................................................................................................................... 4 Funktionsübersicht.......................................................................................................................... 4 Sicherheits- und Betriebshinweise ................................................................................................. 5 2 2.1 2.2 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.2.7 2.2.8 2.2.9 2.2.10 2.3 2.4 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.5 Kommunikation über CANopen .................................................................................................. 6 Allgemeine Informationen ............................................................................................................... 6 Einzelheiten über CANopen ........................................................................................................... 7 Kommunikationsprofil ..................................................................................................................... 7 Meldungsaufbau ............................................................................................................................. 8 Servicedaten-Kommunikation (SDO) ............................................................................................. 8 Receive Prozessdaten-Kommunikation ....................................................................................... 10 Transmit Prozessdaten-Kommunikation ....................................................................................... 10 Emergency-Dienst ........................................................................................................................ 14 Netzwerkmanagement und NMT-Zustandsdiagramm.................................................................. 14 Node Guarding und Life Guarding................................................................................................ 16 Heartbeat Protokoll ....................................................................................................................... 17 Layer Setting Services (LSS) ....................................................................................................... 17 Zustandsmaschine für Positioning / Homing ................................................................................ 21 Betrieb des Antriebs ..................................................................................................................... 25 Antriebsstatus auslesen ............................................................................................................... 25 Aktuelle Position auslesen ............................................................................................................ 25 Zielposition anfahren über SDO (mit Fahrauftrag) ....................................................................... 25 Fahrauftrag stoppen ..................................................................................................................... 26 Ziel anfahren über R_PDO (mit Fahrauftrag) ............................................................................... 26 Befehlssynchronisation zwischen Antrieb und Steuerung ............................................................ 27 3 Objektverzeichnis ....................................................................................................................... 29 4 4.1 4.2 4.3 4.3.1 4.3.2 4.3.3 4.3.4 4.3.5 4.3.6 4.3.7 4.3.8 4.4 4.4.1 4.4.2 4.4.3 4.4.4 4.4.5 4.5 4.6 4.7 4.8 Inbetriebnahme ........................................................................................................................... 44 Node-ID, Baudrate und Abschlusswiderstand einstellen ............................................................. 44 Objekte schreiben und lesen ........................................................................................................ 46 Antriebsparameter konfigurieren .................................................................................................. 47 Notation, Dimension und Getriebe ............................................................................................... 47 Drehrichtung (Polarity) .................................................................................................................. 50 Strom und Geschwindigkeit .......................................................................................................... 50 2 I t-Begrenzung .............................................................................................................................. 50 Strombegrenzung ......................................................................................................................... 51 Positioning Timeout ...................................................................................................................... 52 Spielausgleich ............................................................................................................................... 52 Einstellungen speichern ............................................................................................................... 52 Antriebsposition referenzieren (Homing) ...................................................................................... 52 Position oder Referenzposition direkt setzen ............................................................................... 54 Referenzieren auf Referenzschalter ............................................................................................. 55 Referenzieren auf Anschlag ......................................................................................................... 56 Referenzieren mit Einmessmethode ............................................................................................ 56 Zurücksetzen der Statusbits HomingOK und CalibrationOK ........................................................ 57 Positionen der Software-Endschalter setzen ............................................................................... 57 Fahraufträge ausführen ................................................................................................................ 58 Reglerabschaltung nach Positionierung ....................................................................................... 59 Automatische Deblockierung ........................................................................................................ 60 Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 2/73 Baumer Electric AG Frauenfeld, Switzerland 5 5.1 5.2 5.3 5.4 Fehlerdiagnose ........................................................................................................................... 62 Feldbus-Kommunikation ............................................................................................................... 62 LED Statusanzeige ....................................................................................................................... 62 Fehlerdiagnose am Antrieb ........................................................................................................... 62 Automatische Fehler-Quittierung .................................................................................................. 64 6 EMV-gerechte Verdrahtung ....................................................................................................... 65 7 7.1 7.2 7.3 7.4 7.5 Technische Daten ....................................................................................................................... 68 Elektrische und mechanische Daten ............................................................................................ 68 Anschlussbelegung ...................................................................................................................... 68 Blockschaltbild und Schalteingänge ............................................................................................. 68 Abmessungen ............................................................................................................................... 68 Befehlssequenzen als Beispiel ..................................................................................................... 69 Haftungsausschluss Diese Schrift wurde mit grosser Sorgfalt zusammengestellt. Fehler lassen sich jedoch nicht immer vollständig ausschliessen. Baumer übernimmt daher keine Garantien irgendwelcher Art für die in dieser Schrift zusammengestellten Informationen. In keinem Fall haftet Baumer oder der Autor für irgendwelche direkten oder indirekten Schäden, die aus der Anwendung dieser Informationen folgen. Wir freuen uns jederzeit über Anregungen, die der Verbesserung dieses Handbuchs dienen können. Created by: Baumer IVO GmbH & Co. KG Villingen-Schwenningen, Germany Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 3/73 Baumer Electric AG Frauenfeld, Switzerland 1 Einleitung 1.1 Produktzuordnung Tabelle 1: Produktzuordnung. Produktfamilie Produkt FlexiDrive MSBA 1.2 Produktcode 102h EDS Datei Schnittstelle MSBA_xxC.eds CANopen Funktionsübersicht - Intelligenter Positioniermotor als dezentraler Teilnehmer am CAN-Bus - Absolut-Multiturn Positionserfassung (3 Bit Singleturn, 29 Bit Multiturn) - 2Q-Regler (Generatorbetrieb möglich) - Getriebebaukasten mit Planeten-, Stirnrad oder Schneckengetriebe - 2 Digitaleingänge für Jogging, Hardware-Endschalter oder Referenzierung ansteuerbar über Standardsensor verschiedene Funktionen parametrierbar (Objekt 2111h-0Dh) - Betriebsarten (Objekt 6060h): Positionieren und Referenzieren - Sonstige Funktionen Software-Endschalter zur Begrenzung des Fahrwegs (Objekt 607Dh) Hardware-Endschalter (Objekt 2111h-0Dh) Zielposition setzen (Objekt 607Ah) Halteregler Stillstandsüberwachung (Objekt 6041h) Spielausgleich gegen Getriebe- oder Spindelspiel (Objekt 2111h-01h) Drehmoment- / Strombegrenzung (Objekt 6073h) Linear- oder Rundachse (Objekt 608Ah) Drehrichtung umkehrbar (Objekt 607Eh) Stand-Alone-Betrieb / Tippbetrieb ohne CAN-Bus und Parametrierung (Objekt 2111h-13h) Komfortable Referenzierungsfunktionen (Objekt 6098h) o Wert direkt setzen (Objekt 2111h-11h) o Fahren auf Anschlag o Einmessmethode Status- und Fehlerdiagnose über CAN-Bus (Objekt 1003h und 603Fh) Temperaturüberwachung mit Warnmeldung und Abschaltung im Fehlerfall (Objekt 2114h) Über- und Unterspannungsüberwachung Einschaltstrombegrenzung Bootloader LED Statusanzeige Deblockierfunktion zuschaltbar 2 I t-Begrenzung Einstellbares Reglerverhalten nach Zielerreichung - Kommunikation über CANopen SDO-Kommunikation (Parameter lesen / schreiben) PDO-Kommunikation (Ansteuerung, Senden von Status und Position) Galvanische Abtrennung der Feldbus-Elektronik für optimale Störungsunempfindlichkeit - Einfache Inbetriebnahme Anpassung weniger Parameter Feldbusanschluss durchschleifbar Parametrier- und Inbetriebnahmetool CANmaster (siehe CD-ROM Art. Nr. 10147362) - Einstellschalter für Knotennummer, Baudrate und Abschlusswiderstand. Erreichbar durch abnehmbaren Abschlussdeckel. - Nichtflüchtiger Speicher (EEPROM) für Default- und Anwenderdaten (Objekt 2300h). Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 4/73 Baumer Electric AG Frauenfeld, Switzerland 1.3 Sicherheits- und Betriebshinweise Zusätzliche Informationen Das Handbuch ist eine Ergänzung zu bereits vorhandenen Dokumentationen (Kataloge, Produktinformationen und Montageanleitungen). Die Anleitung muss unbedingt vor Inbetriebnahme gelesen werden. Bestimmungsgemässer Gebrauch Der Antrieb ist ein Präzisionsgerät. Er dient ausschliesslich zur automatischen Verstellung von mechanischen Anschlägen und Spindeleinrichtungen. Inbetriebnahme Einbau und Montage des Antriebs darf ausschliesslich durch eine Fachkraft erfolgen. Betriebsanleitung des Maschinenherstellers beachten. Sicherheitshinweise Vor Inbetriebnahme der Anlage alle elektrischen Verbindungen überprüfen. Wenn Montage, elektrischer Anschluss oder sonstige Arbeiten am Antrieb und an der Anlage nicht fachgerecht ausgeführt werden, kann es zu Fehlfunktion oder Ausfall des Antriebs führen. Eine Gefährdung von Personen, eine Beschädigung der Anlage und eine Beschädigung von Betriebseinrichtungen durch den Ausfall oder Fehlfunktion des Antriebs muss durch geeignete Sicherheitsmassnahmen ausgeschlossen werden. Antrieb darf nicht ausserhalb der Grenzwerte betrieben werden (siehe weitere Dokumentationen). Bei Nichtbeachtung kann es zu Fehlfunktionen, Sach- und Personenschäden kommen! Transport und Lagerung Transport und Lagerung ausschliesslich in Originalverpackung. Antrieb nicht fallen lassen oder grösseren Erschütterungen aussetzen. Montage Schläge oder Schocks auf Gehäuse und Welle vermeiden. Gehäuse nicht verspannen. Antrieb nicht öffnen oder mechanisch verändern. Welle, Kugellager oder elektronische Teile können beschädigt werden. Die sichere Funktion ist dann nicht mehr gewährleistet. Elektrische Inbetriebnahme Antrieb nicht elektrisch verändern. Keine Verdrahtungsarbeiten unter Spannung vornehmen. Der elektrische Anschluss darf unter Spannung nicht aufgesteckt oder abgenommen werden. Die gesamte Anlage EMV gerecht installieren. Einbauumgebung und Verkabelung beeinflussen die EMV des Antriebs. Antrieb und Zuleitungen räumlich getrennt oder in grossem Abstand zu Leitungen mit hohem Störpegel (Frequenzumrichter, Schütze usw.) verlegen. Bei Verbrauchern mit hohen Störpegeln separate Spannungsversorgung für den Antrieb bereitstellen. Antriebsgehäuse und die Anschlusskabel vollständig schirmen. Antrieb an Schutzerde (PE) anschliessen. Geschirmte Kabel verwenden. Schirmgeflecht muss mit dem Stecker verbunden sein. Anzustreben ist ein beidseitiger Anschluss an Schutzerde (PE), Gehäuse über den mechanischen Anbau, Kabelschirm über die nachfolgenden angeschlossenen Geräte. Bei Problemen mit Erdschleifen mindestens eine einseitige Erdung. Bei Nichtbeachtung kann es zu Fehlfunktionen, Sach- und Personenschäden kommen! Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 5/73 Baumer Electric AG Frauenfeld, Switzerland 2 Kommunikation über CANopen 2.1 Allgemeine Informationen Der CAN-Bus (CAN: Controller Area Network) wurde ursprünglich von Bosch und Intel für die schnelle und kostengünstige Datenübertragung im Kraftfahrzeug entwickelt. Heute ist der CAN-Bus einer der am weitesten verbreiteten Feldbusse in der industriellen Automatisierung. Über ihn kommunizieren Geräte, Aktoren und Sensoren verschiedener Hersteller miteinander. Normen für den CAN-Bus werden durch die Nutzer-Vereinigung „CAN in Automation“ (CiA) festgelegt. CAN-Bus-Eigenschaften Datenrate von 1 MBit/s bei einer Netzausdehnung bis 25 m Beidseitig abgeschlossenes Netzwerk Busmedium ist ein Twisted-Pair-Kabel Echtzeitfähigkeit: Definierte maximale Wartezeit für Nachrichten hoher Priorität. Bis zu 127 Teilnehmer an einem Bus (physikalisch treiberbedingt maximal 32 Teilnehmer) Sicherstellung netzweiter Datenkonsistenz. Gestörte Nachrichten werden für alle Netzknoten als fehlerhaft bekannt gemacht. Nachrichtenorientierte Kommunikation Jede Nachricht wird mit einer Nachrichtenkennung (Identifier) gekennzeichnet. Alle Netzknoten prüfen anhand des Identifiers, ob die Nachricht für sie relevant ist. Broadcasting: Alle Netzknoten erhalten gleichzeitig jede Nachricht. Daher ist eine Synchronisation möglich. Multi-Master-Fähigkeit: Jeder Teilnehmer im Feldbus kann selbständig Daten senden und empfangen, ohne dabei auf eine Priorität der Master angewiesen zu sein. Jeder kann seine Nachricht beginnen, wenn der Bus nicht belegt ist. Bei einem gleichzeitigen Senden von Nachrichten setzt sich der Teilnehmer mit der höchsten Priorität durch. Priorisierung von Nachrichten: Der Identifier setzt die Priorität der Nachricht fest. Dadurch können wichtige Nachrichten schnell über den Bus übertragen werden. Restfehlerwahrscheinlichkeit: Sicherungsverfahren im Netzwerk reduzieren die Wahrscheinlichkeit -11 einer unentdeckten, fehlerhaften Datenübertragung auf unter 10 . Praktisch kann von einer 100% sicheren Übertragung ausgegangen werden. Funktionsüberwachung: Lokalisation fehlerhafter oder ausgefallener Stationen. Das CAN-Protokoll beinhaltet eine Funktionsüberwachung von Netzknoten. Netzknoten, die fehlerhaft sind, werden in ihrer Funktion eingeschränkt oder ganz vom Netzwerk abgekoppelt. Datenübertragung mit kurzer Fehlererholzeit: Durch mehrere Fehlererkennungsmechanismen werden verfälschte Nachrichten mit grosser Wahrscheinlichkeit erkannt. Wird ein Fehler erkannt, so wird die Nachrichtensendung automatisch wiederholt. Im CAN-Bus sind mehrere Netzwerkteilnehmer über ein Buskabel miteinander verbunden. Jeder Netzwerkteilnehmer kann Nachrichten senden und empfangen. Die Daten zwischen den NetzwerkTeilnehmern werden seriell übertragen. Beispiele für CAN-Bus-Geräte als Netzwerkteilnehmer sind: Automatisierungsgeräte wie SPS oder PC Ein- / Ausgangsmodule Antriebssteuerungen Analysegeräte, z. B. ein CAN-Monitor Bedien- und Eingabegeräte Sensoren und Aktoren Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 6/73 Baumer Electric AG Frauenfeld, Switzerland 2.2 Einzelheiten über CANopen Unter technischer Leitung des Steinbeis Transferzentrum für Automatisierung wurde auf der Basis der Schicht 7 Spezifikation CAL (CAN Application Layer) das CANopen-Profil entwickelt. Im Vergleich zu CAL sind in CANopen nur die für diesen Einsatz geeigneten Funktionen enthalten. CANopen stellt somit eine für die Anwendung optimierte Teilmenge von CAL dar und ermöglicht dadurch einen vereinfachten Systemaufbau und den Einsatz vereinfachter Geräte. CANopen ist optimiert für den schnellen Datenaustausch in Echtzeitsystemen. Die CAN in Automation (CiA) ist zuständig für die geltenden Normen der entsprechenden Profile. CANopen ermöglicht: einfachen Zugriff auf alle Geräte- und Kommunikationsparameter Synchronisation von mehreren Geräten automatische Konfiguration des Netzwerkes zyklischen und ereignisgesteuerten Prozessdatenverkehr CANopen besteht aus vier Kommunikationsobjekten COB (communication objects) mit unterschiedlichen Charakteristiken: Prozessdaten-Objekte PDO (Process Data Object) zur Echtzeitübertragung von Prozessdaten Servicedaten-Objekte SDO (Service Data Object) für die Übermittlung von Parametern und Programmen Network Management (NMT, Lifeguarding) zur Initialisierung und Netzwerksteuerung Vordefinierte Objekte für die Synchronisation und Fehleranzeige Alle CANopen Geräte- und Kommunikationsparameter sind in einem Objektverzeichnis gegliedert. Ein CANopen Objekt umfasst Objekt-Nummer mit Subindices, Objekt-Format sowie Struktur und Inhalt der Parameter. Gemäss CiA ist dieses Objektverzeichnis in drei verschiedene Teile unterteilt: Kommunikationsprofil Geräteprofil Herstellerspezifischen Teil Für Einzelheiten zu den Objekten dieses Antriebs, siehe Kapitel Objektverzeichnis. 2.2.1 Kommunikationsprofil Die CANopen Kommunikation zwischen Netzwerkteilnehmern und Master erfolgt über Objekte. Diese Objekte werden mit einem 16 Bit-Index adressiert. Im CANopen Kommunikationsprofil DS 301 sind die verschiedenen Kommunikationsobjekte (COB) standardisiert: Prozessdaten-Objekte PDO (Process Data Object) zur Echtzeitübertragung von Prozessdaten Servicedaten-Objekte SDO (Service Data Object) für den Schreib- und Lesezugriff auf das Objektverzeichnis Objekte zur Synchronisation und Fehleranzeige von CAN-Teilnehmern: SYNC-Objekt (Synchronisation Object) zur Synchronisation von Netzwerkteilnehmern EMCY-Objekt (Emergency Object) zur Fehleranzeige eines Gerätes oder seiner Peripherie Network Management (Network Management NMT, Lifeguarding) zur Initialisierung und Netzwerksteuerung Layer Setting Services (LSS) zur Konfiguration über Seriennummer oder Revisionsnummer Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 7/73 Baumer Electric AG Frauenfeld, Switzerland 2.2.2 Meldungsaufbau Der erste Teil einer Meldung ist die so genannte COB-ID (Identifier). Aufbau der 11-Bit COB-ID: Funktionscode Node-ID 4 Bit Function code 7 Bit Node-ID Der Funktionscode gibt Aufschluss über die Art der Meldung und die Priorität. Je niedriger der Funktionscode, desto höher die Priorität der Meldung. Broadcast-Meldungen: Funktionscode COB-ID NMT 0 SYNC 80h Peer-to-Peer-Meldungen: Funktionscode COB-ID EMERGENCY 80h + Node-ID T_PDO1 (tx)1 180h + Node-ID 1 R_PDO1 (rx) 200h + Node-ID T_PDO2 (tx)1 280h + Node-ID R_PDO2 (rx)1 300h + Node-ID 1 SDO (tx) 580h + Node-ID SDO (rx)1 600h + Node-ID Nodeguard, Heartbeat 700h + Node-ID 1 7E4h LSS (rx) 1 7E5h LSS (tx) 1 (tx) und (rx) aus der Sicht des Antriebs. Für Einstellung der Node-ID (Knotennummer des Busteilnehmers) siehe Kapitel Inbetriebnahme. Ein CAN-Telegramm besteht aus der COB-ID und bis zu 8 Datenbyte. Die genauen Telegramme werden im Folgenden ausführlich erläutert. COB-ID DLC Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 xxx x xx xx xx xx xx xx xx xx Der DLC (Data Length Code) bezeichnet die Länge des Telegramms. 2.2.3 Servicedaten-Kommunikation (SDO) Die Servicedaten-Objekte (SDO) entsprechen dem Protokoll DSP-402. Über Index und Subindex kann auf ein Objekt zugegriffen werden. Die Daten können angefordert oder ins Objekt geschrieben werden. Ein SDO-Telegramm setzt sich zusammen aus einem Kommando-Byte, zwei Objekt-Bytes, einem SubindexByte sowie bis zu vier Datenbytes und ist folgendermassen aufgebaut: COB-ID DLC Kommando Objekt L Objekt H Subindex Data 0 Data 1 Data 2 Data 3 Die COB-ID eines SDO setzt sich folgendermassen zusammen: Kommunikation Master zu Antrieb: 600h + Node-ID Kommunikation Antrieb zu Master: 580h + Node-ID Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 8/73 Baumer Electric AG Frauenfeld, Switzerland Tabelle 2: Beschreibung von SDO-Kommandos. Das Kommando-Byte legt fest, ob Daten gelesen oder gesetzt werden und um wie viele Datenbyte es sich handelt. SDO Kommando Beschreibung Datenlänge Beschreibung 22h Download Request Max. 4 Byte Parameter an Antrieb senden 23h Download Request 4 Byte Parameter an Antrieb senden 2Bh Download Request 2 Byte Parameter an Antrieb senden 2Fh Download Request 1 Byte Parameter an Antrieb senden 60h Download Response - Bestätigung der Übernahme an Master 40h Upload Request - Parameter vom Antrieb anfordern 42h Upload Response Max. 4 Byte Parameter an Master senden mit max. 4 Byte 43h Upload Response 4 Byte Parameter an Master senden 4Bh Upload Response 2 Byte Parameter an Master senden 4Fh Upload Response 1 Byte Parameter an Master senden Abort Message - Antrieb meldet Abort Code an Master … … … 80h Eine SDO Abort Message zeigt einen Fehler in der CAN-Kommunikation an. Das zugehörige SDO Kommando-Byte ist 80h. Objekt und Subindex sind die des gewünschten Objektes. Byte 4...7 ergeben zusammen den SDO Abort Code (Byte 7 = MSB). COB-ID DLC Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 580h+Node-ID 8 80h Objekt L Objekt H Subindex ErrByte 0 ErrByte 1 ErrByte 2 ErrByte 3 Für Beschreibung der SDO Abort Codes, siehe Kapitel 5 Fehlerdiagnose. Beispiele für eine SDO-Kommunikation Anfrage eines Wertes vom Master beim Antrieb. Eine häufige verwendete Anfrage ist beispielsweise die Statusanfrage (siehe Objekt 6041h): COB-ID DLC Kommando 600h+Node-ID 8 40h Objekt L Objekt H Subindex Data 0 Data 1 Data 2 Data 3 41h 60h 0 x x x x Antwort des Antriebs auf die Anfrage eines Wertes. Der Status ist 4 Byte lang (siehe Objekt 6041h): COB-ID DLC Kommando 580h+Node-ID 8 43h Objekt L Objekt H Subindex Data 0 Data 1 Data 2 Data 3 41h 60h 0 a b c d Schreiben eines Werts vom Master zum Antrieb. Mit dem Kontrollwort wird der Antrieb gesteuert (siehe Objekt 6040h): COB-ID DLC Kommando 600h+Node-ID 8 22h Objekt L Objekt H Subindex Data 0 Data 1 Data 2 Data 3 40h 60h 0 a b x x Antwort des Antriebs auf das Schreiben des Werts: COB-ID DLC Kommando 580h+Node-ID 8 60h Objekt L Objekt H Subindex Data 0 Data 1 Data 2 Data 3 40h 60h 0 0 0 0 0 Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 9/73 Baumer Electric AG Frauenfeld, Switzerland 2.2.4 Receive Prozessdaten-Kommunikation Receive Prozessdatenobjekte (R_PDO) dienen dem Echtzeit-Datenaustausch von Prozessdaten zum Antrieb. Übermittelt wird beispielsweise ein neues Ziel oder das Kontrollwort. R_PDO können synchron oder asynchron vom Antrieb empfangen werden. Der Antrieb unterstützt das statische R_PDO Mapping mit R_PDO1 (Controlword) und R_PDO2 (Controlword und Target position). Synchrone Kommunikation Im synchronen Betrieb werden die Prozessdaten mittels R_PDO vom Antrieb zeitgleich mit dem Eintreffen des SYNC-Telegramms übernommen. Dazu muss im Objekt 1400-2h bzw.1401-2h ein Wert zwischen 01h und F0h eingeschrieben werden. Mit Wert = 3 wird das R_PDO auf jedes dritte SYNC-Telegramm empfangen. SYNC-Telegramm: COB-ID DLC 80h 0 Asynchrone Kommunikation Sollen die R_PDO sofort nach Empfang übernommen werden, muss ins Objekt 1400-2h bzw. 1401-2h der Wert FEh geschrieben werden. Beispiele für Einstellungen des Objektes R_PDO1 type 1400h-02h Beschreibung FEh R_PDO werden sofort vom Antrieb übernommen 01h R_PDO werden erst nach dem nächsten SYNC vom Antrieb übernommen. R_PDO1 (Controlword) Telegrammaufbau: COB-ID DLC 200h+Node-ID 2 COB-ID DLC Byte 0..1 Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 xx xx - - - - - - : 200h + Node-ID : Länge 2 Datenbyte : neues Kontrollwort (Objekt 6040h Controlword) R_PDO2 (Controlword und Target position) Telegrammaufbau: COB-ID DLC 300h+Node-ID 6 COB-ID DLC Byte 0..1 Byte 5..2 Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 xx xx xx xx xx xx - - : 300h + Node-ID : Länge 6 Datenbyte : neues Kontrollwort (Objekt 6040h Controlword) : neues Ziel (Objekt Target 607Ah position) 2.2.5 Transmit Prozessdaten-Kommunikation Transmit Prozessdatenobjekte (T_PDO) dienen dem Echtzeit-Datenaustausch von Prozessdaten vom Antrieb zum Master, beispielsweise die aktuelle Position des Antriebs oder das Statuswort. T_PDO können synchron oder zyklisch (asynchron) gesendet werden. Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 10/73 Baumer Electric AG Frauenfeld, Switzerland Synchrone Kommunikation Im synchronen Betrieb werden die T_PDO vom Master über das SYNC-Telegramm angefordert. Um die Prozessdaten synchron zu senden, muss im Objekt 1800-2h bzw.1801-2h ein Wert zwischen 1 und F0h eingeschrieben werden. Mit Wert = 3 wird das T_PDO auf jedes dritte SYNC-Telegramm gesendet. Im Objekt 2800h bzw. 2801h ist definiert, ob nur bei Änderung gesendet wird. SYNC-Telegramm: COB-ID DLC 80h 0 Asynchrone Kommunikation Sollen T_PDO zyklisch gesendet werden, muss ins Objekt 1800-02h bzw. 1801-02h der Wert FEh geschrieben werden. Im Objekt 1800-05h bzw. 1801-05h steht die Zykluszeit in Millisekunden. Die kleinstmögliche Zykluszeit beträgt 1ms. Wird der Wert 0ms gespeichert, werden keine T_PDO gesendet. Die Funktion ist dann ausgeschaltet. Im Weiteren kann im Objekt 2800h bzw. 2801h bestimmt werden, ob das Senden des T_PDO nur auf Änderung erfolgen soll: Beträgt der Wert 0, läuft das zyklische Senden wie oben beschrieben. Beträgt der Wert 1, wird zyklisch geprüft, ob eine Änderung der zu sendenden Werte vorliegt. Falls ja, werden die aktuellen Daten gesendet. Wenn keine Änderung vorliegt, wird nicht gesendet. Beträgt der Wert 4, wird bei Änderung das T_PDO viermal gesendet im vordefinierten Zyklus. Alternativ kann in Objekt 1800-02h bzw. 1801-02h der Kommunikationstyp FFh eingestellt werden. Hierbei wird das T_PDO umgehend nach einer Änderung der Daten gesendet. Zusätzlich kann im Objekt 1800-05h bzw. 1801-05h eine zyklische Übertragung konfiguriert werden, die auch dann stattfindet, wenn sich die Daten nicht ändern. Um zu verhindern, dass bei vielen unmittelbar aufeinanderfolgenden Änderungen der Bus blockiert wird, empfiehlt sich die Konfiguration einer Sendepause in Objekt 1800-03h bzw. 1801-03h. Diese wird nach dem Senden des T_PDO mindestens gewartet, bis es erneut gesendet wird. Tabelle 3: Beispiele für Einstellungen der T_PDO Kommunikation. 1800h bzw. 1801 2800h Subindex Subindex Subindex bzw. 02h 03h 05h 2801h FEh xxx 10 ms 0h Zyklisches Senden alle 10ms FEh xxx 10 ms 1h Alle 10ms wird das T_PDO ein Mal gesendet, falls eine Änderung vorliegt. FEh xxx 10 ms 2h Alle 10ms wird das T_PDO doppelt gesendet, falls eine Änderung vorliegt. FEh xxx 0 ms x T_PDO senden ausgeschaltet xxx FFh Beschreibung 5 ms 0 ms (32h) (0h) 5m 10 ms (32h) (0Ah) 03h xxx xxx 00h Bei jedem dritten SYNC-Telegramm senden 03h xxx xxx 2Bh Auf jedes dritte SYNC-Telegramm, aber insgesamt nur 43 mal (=2Bh). FFh T_PDO wird bei Änderung der Daten umgehend gesendet. Nach der Kommunikation wird das erneute Senden des T_PDO für 5 ms gesperrt. xxx T_PDO wird bei Änderung der Daten umgehend gesendet. Wenn keine Änderung vorliegt, alle 10 ms. Nach der Kommunikation wird das erneute Senden des T_PDO für 5 ms gesperrt. T_PDO1 (Statuswort) Telegrammaufbau: COB-ID DLC 180h+Node-ID x COB-ID DLC Byte 0…1 Byte 2 Byte 3 Byte 4…7 Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 Xx xx xx - xx xx xx xx : 180h + Node-ID : Länge 2 (bzw. 3 oder 8) Datenbyte (einstellbar im Objekt 2110h Version control) : Statuswort : Statuswort-Zusatz (falls in Objekt 2110h Version control eingestellt) : enthält nie Information : Anzeige der digitalen Hardware-Schalteingänge (falls in Objekt 2110h Version control eingestellt) Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 11/73 Baumer Electric AG Frauenfeld, Switzerland Tabelle 4: Statuswort in Byte 0...1 des T_PDO1-Telegramms (Objekt 6041h). Bit Beschreibung 0 Ready to switch on 1 SwitchOn enabled 2 Operation enabled 3 Error active 4 Voltage enabled 5 QuickStop active 6 SwitchOn disabled 7 Warning active 8 CalibrationOK 9 Not used (permanently 1) 10 Target position reached 11 Internal software limit switch active 12 Drive moving 13 Not used (permanently 0) 14 HomingOK 15 External hardware limit switch active Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 12/73 Baumer Electric AG Frauenfeld, Switzerland Tabelle 5: Statuswort-Zusatz in Byte 2 des T_PDO1-Telegramms für Anzeige des internen Antriebszustands. Statuswort-Zusatz ist standardmässig aktiviert, die Länge des T_PDO1-Telegramms ist dann 3 Byte. Deaktivieren von Statuswort-Zusatz erfolgt in Versionskontrolle Objekt 2110h (Bit 1). Bit Byte2 Beschreibung SELF_TEST 00 Selbsttest nach Initialisierung READY 01 Nach erfolgreichem Selbsttest -> Ready POSITIONING_READY 02 SwitchOn, EnableVoltage, QuickStop, EnableOperation und Positioning -> PositioningReady HOMING_READY 03 SwitchOn, EnableVoltage, QuickStop, EnableOperation und Homing -> HomingReady POSITIONING_MOVING 04 Einschalten des Antriebs (Bit4 des Kontrollworts) -> PositioningMove POSITIONING_FIRSTTARGET 05 Bei indirektem Anfahren der Zielposition, um Spindelspiel aufzuheben POSITIONING_ENDTARGET 06 Zielposition setzen HOMING_MOVING1 07 HOMING_MOVING2 08 HOMING_SET 09 HOMING_STEP1 10 (0Ah) Manuell fahren HOMING_STEP2 11 (0Bh) Manuell fahren HOMING_STEP3 12 (0Ch) Manuell fahren HOMING_STEP4 13 (0Dh) Manuell fahren QUICK_STOP_ACTIVE_1 15 (0Fh) Motor stoppen; Bit [0:3] des Kontrollworts bewirkt QuickStop, Zielposition verwerfen QUICK_STOP_ACTIVE_2 16 (10h) Position lesen QUICK_STOP_ACTIVE_3 17 (11h) Zielposition = aktuelle Position; Zielposition verwerfen HALT_ACTIVE 18 (12h) Bit [8] des Kontrollworts bewirkt Zwischenhalt, Zielposition wird beibehalten ERROR_DIAGNOSTIC 19 (13h) Aus jedem Zustand wird im Fehlerfall auf ErrorDiagnostic gewechselt COMU 20 (14h) Eigener Zustand für interne Kommunikation WAIT_TIME_UNBLOCKING 29 (1Dh) Zustand zwischen Blockierung und Freifahren MOVE_UNBLOCKING 30 (1Eh) Fahre um den Weg s (Free referencing distance, Objekt 2111-1Eh) Tabelle 6: Statuswort-Zusatz in Byte 4...7 des T_PDO1-Telegramms für Anzeige der digitalen HardwareSchalteingänge. Aktivieren erfolgt in Objekt 2110h Version control (Bit 12). Die Gesamtlänge des T_PDO1 Telegramms beträgt dann 8 Byte. Byte 3 enthält nie Informationen. Bit Beschreibung 0..15 Nicht definiert 16 Monitorbit für Digital input 1 17 Monitorbit für Digital input 2 18..31 Nicht definiert Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 13/73 Baumer Electric AG Frauenfeld, Switzerland T_PDO2 (Position) Telegrammaufbau: COB-ID DLC 280h+Node-ID x COB-ID DLC Byte 0...3 Byte 4.. 7 Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 Xx xx xx xx xx xx xx xx : 280h + Node-ID : Länge 4 oder 8 Datenbyte (aktivierbar in Objekt 2110h Version control) : Aktuelle Position Objekt 6064h Position actual value in benutzerdefinierter Einheit (z.B. Mikrometer) : enthält Strom (Objekt 6078h Current actual value) oder Geschwindigkeit (Objekt 606Ch Velocity actual value), wenn in Objekt 2110h Version control Bit 13 bzw. 14 aktiviert ist. 2.2.6 Emergency-Dienst Interne Fehler im Antrieb oder Busfehler lösen eine Emergency-Meldung aus (EMCY-Meldung): COB-ID 80h+Node-ID DLC 8 Byte0 Byte 1 Error Code Byte 2 Byte 3 Byte 4 Error Register Error Code 1001h Zusatz Information Byte 5 Byte 6 Not used Byte 7 Not used Für Beschreibung der Error Register und Error Code Definitionen, siehe Kapitel 5 Fehlerdiagnose. 2.2.7 Netzwerkmanagement und NMT-Zustandsdiagramm Nachdem der Antrieb initialisiert wurde, befindet er sich im NMT-Zustand Pre-Operational (siehe Figur 1). In diesem Zustand können SDO gelesen und geschrieben werden. Um die PDO-Kommunikation zu starten, muss das NMT-Kommando Start Remote Node gesendet werden. Dann befindet sich der Antrieb im Operational. Nun werden die gewünschten PDO gesendet. Zusätzlich können SDO gelesen und geschrieben werden. Nachdem der Antrieb mit dem NMT-Kommando Stop Remote Node gestoppt wird, befindet sich der Antrieb im NMT-Zustand Stopped/Prepared. Es können keine SDO- oder PDO-Parameter mehr gelesen oder gesetzt werden. In diesem Zustand ist nur noch NMT-Kommunikation, LSS, Heartbeat oder Node Guarding möglich. Durch das NMT-Kommando Reset Remote Node wird der Antrieb erneut initialisiert und befindet sich danach wieder im Zustand Pre-Operational. Power on oder Hardware Reset Init BootUp Message 4/5 4/5 Pre-Operational 3 2 1 3 Stopped/Prepared 4/5 1 Operational 2 Figur 1: NMT-Zustandsdiagramm. Mit den Diensten des Netzwerkmanagement (NMT) können die Busteilnehmer initialisiert, gestartet und gestoppt werden. Zusätzlich existieren NMT-Dienste zur Verbindungsüberwachung. Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 14/73 Baumer Electric AG Frauenfeld, Switzerland Beschreibung der NMT-Kommandos Alle NMT-Kommandos werden als unbestätigte Objekte übertragen und sind folgendermassen aufgebaut: Byte 0 Byte 1 Byte 2 COB-ID = 0 Kommando-Byte Node-ID Die COB-ID für NMT-Kommandos ist immer Null. NMT-Kommandos haben damit maximale Priorität. Die Node-ID des gewünschten Teilnehmers wird in Byte 2 des NMT-Kommandos übertragen. Mit Node-ID = 0 werden alle Teilnehmer angesprochen (Broadcast Meldung). Tabelle 7: NMT-Kommando-Byte. Kommando-Byte Beschreibung Sprung im NMT Zustandsdiagramm (siehe Figur 1) 01h Start Remote Node 1 02h Stop Remote Node 2 80h Enter Pre-Operational 3 81h, 82h Reset Remote Node 4, 5 NMT-Zustandswechsel Init Nach dem Initialisieren meldet sich der Antrieb mit einer BootUp Meldung auf dem CAN-Bus. Danach wechselt der Antrieb automatisch in den Zustand Pre-Operational. Die COB-ID der BootUp Meldung setzt sich zusammen aus 700h und der Node-ID: COB-ID Byte 0 700h + Node-ID 00h Start Remote Node (1) Mit dem Startbefehl wird der Antrieb in den Zustand Operational gebracht. COB-ID Kommando Byte Node-ID 0 1h 0..127 Stop Remote Node (2) Mit dem Stopbefehl wird der Antrieb in den Zustand Stopped/Prepared gebracht. COB-ID Kommando Byte Node-ID 0 2h 0..127 Enter Pre-Operational (3) Wechsle in den Zustand Pre-Operational. COB-ID Kommando Byte Node-ID 0 80h 0..127 Reset Remote Node (4) oder Reset Kommunikation (5) Mit dem Resetbefehl wird der Antrieb neu initialisiert. COB-ID Kommando Byte Node-ID 0 81h 0..127 Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 15/73 Baumer Electric AG Frauenfeld, Switzerland 2.2.8 Node Guarding und Life Guarding Das Nodeguarding Protokoll dient zur Überwachung von NMT-Slaves durch den NMT-Master. Node Guarding wird eingeschaltet durch Setzen von Bit5 im Objekt 2110h, Version control. Der NMT-Slave erscheint dann in einer Datenbank des NMT-Masters mit den NMT-Zuständen der NMT-Slaves. Mit dem Nodeguarding Protokoll wird überprüft, ob alle NMT-Slaves korrekt arbeiten oder ob sich beispielsweise ein NMT-Slave vom Bus zurückgezogen hat. Gleichzeitig kann jeder NMT-Slave überwachen, ob der NMTMaster noch aktiv ist. Figur 2: Node Guarding und Life Guarding. Der NMT-Master startet den Überwachungsdienst durch zyklisches Senden von Remote Frames an den NMT-Slave. Das Zeitintervall dazwischen ist die so genannte Guard Time (siehe Figur 2 und Objekt 100Ch). Sie kann unterschiedlich sein für jeden NMT-Slave. Die Antwort des NMT-Slaves beinhaltet seinen jeweiligen NMT-Zustand. Auf diese Weise kann der NMTMaster überprüfen, ob sich der NMT-Slave im richtigen NMT-Zustand befindet und gegebenenfalls auf Fehler reagieren. Die so genannte Knoten-Lebensdauer (Node life time) eines NMT-Slaves ist gegeben durch die Guard Time multipliziert mit dem Lifetime factor (Objekt 100Dh). Sie kann ebenfalls unterschiedlich sein für jeden NMTSlave. Erhält ein NMT-Slave nicht innerhalb der Knoten-Lebensdauer einen Remote Frame des NMTMasters, so wird ein Life Guarding Event ausgelöst. Das Verhalten im Fehlerfall wird definiert im Objekt Error behavior - Communication error (Objekt 1029h, Subindex 01h). Gemäss CAN-Nutzerorganisation sollte zur Reduktion der Buslast anstatt Node Guarding das aktuellere Überwachungsprotokoll Heartbeat verwendet werden. Beispiel eines Node Guarding Protokolls: COB-ID Data / Remote Byte 0 700h+Node-ID r 00h (0d) 700h+Node-ID d FFh (255d) 700h+Node-ID r 00h (0d) 700h+Node-ID d 7Fh (127d) Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 16/73 Baumer Electric AG Frauenfeld, Switzerland Mögliche Zustände der NMT-Teilnehmer: 0: BootUp-Event 4: Stopped/Prepared 5: Operational 127: Pre-Operational Die unteren 7 Bits ergeben in obigem Beispiel 7Fh, d.h. der Antrieb befindet sich im Zustand PreOperational. 2.2.9 Heartbeat Protokoll Für alle neuen Applikationen ist es dringend empfehlenswert, das modernere Überwachungsprotokoll Heartbeat zu verwenden. Heartbeat wird eingeschaltet im Objekt 2110h Version control durch Setzen von Bit5 auf Null. Ein Heartbeat Producer produziert zyklisch eine so genannte Heartbeat-Meldung (siehe Figur 3). Ein oder mehrere Heartbeat Consumer können diese Heartbeat Meldung empfangen. Falls das zyklische Senden dieser Heartbeat Meldung ausbleibt, wird ein so genannter Heartbeat Event ausgelöst. Das Verhalten im Fehlerfall wird definiert im Objekt Error behavior - Communication error (Objekt 1029h-01h). Beispielsweise kann der Slave (Antrieb) als ein Consumer definiert werden, der beim Ausbleiben der Producer Meldung der Masters (Steuerung) stoppt. Gleichzeitig überwacht der Master den Slave entweder ebenfalls über Heartbeat oder alternativ über seine SDO Antworten. Figur 3: Heartbeat Protokoll. Beispiel eines Heartbeat Protokolls: COB-ID Data/Remote Byte 0 700h+Node-ID d 7Fh (127d) Die Heartbeat Meldungen bestehen aus der COB-ID und einem Byte, mit dem der NMT-Zustand übertragen wird: 0: BootUp Meldung 4: Stopped/Prepared 5: Operational 127: Pre-Operational (7Fh = 127). 2.2.10 Layer Setting Services (LSS) Um mehrere Busteilnehmer mit gleicher Node-ID auf demselben Bussystem ansprechen zu können, wird LSS verwendet (siehe Vorgehen unter Layer Setting Services and Protocol, CiA Draft Standard Proposal 305). Jeder Busteilnehmer mit LSS besitzt eine eindeutige Seriennummer, über die er angesprochen und initialisiert werden kann. Anschliessend können sowohl Node-ID als auch Baudrate neu gesetzt werden. LSS kann nur im Zustand Stopped/Prepared ausgeführt werden. Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 17/73 Baumer Electric AG Frauenfeld, Switzerland Meldungsaufbau COB-ID Master Antrieb : 2021 = 7E5h Master Antrieb : 2020 = 7E4h Nach der COB-ID wird ein LSS Command Specifier gesandt. Danach folgen bis zu sieben Datenbyte: COB-ID Command Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Specifier Switch Mode Global 7E5h 04h Mode reserviert Mode: : 0 Operationsmode 1 Konfigurationsmode Switch Mode Selektiv Mit folgendem Ablauf kann ein ganz bestimmter Busteilnehmer im System angesprochen werden. 7E5h 40h Vendor-ID reserviert 7E5h 41h Product code reserviert 7E5h 42h Revision number reserviert 7E5h 43h Serial number reserviert 7E4h 44h Mode reserviert Vendor-ID Product code Revision number Serial number Mode : 5Fh : Interner Produktcode für den jeweiligen Busteilnehmer : Aktuelle Revisionsnummer des Busteilnehmers : Eindeutige, fortlaufende Seriennummer : Antwort des Busteilnehmers ist der neue Mode (0=Operating mode; 1=Konfigurationsmode) Node-ID setzen 7E5h 11h Node-ID reserviert 7E4h 11h Error code Specific error Node-ID Error code Specific error reserviert : Neue Node-ID des Busteilnehmers : 0=OK; 1=Node-ID ausserhalb des Bereiches; 2..254=reserviert; 255Specific error : Falls ErrorCode=255 Applikationsspezifischer Error code. Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 18/73 Baumer Electric AG Frauenfeld, Switzerland Baudrate setzen 7E5h 13h Table Sel Table Ind reserviert 7E4h 13h Error code Specific error reserviert Table Sel Table Ind Error code Specific error : Selektiert die Baudraten-Tabelle (default = 0: Standard CiA Baudraten-Tabelle) : Baudraten-Index in Baudraten-Tabelle (siehe Tabelle 8). : 0=OK; 1= Baudrate ausserhalb des Bereiches; 2..254=reserviert; 255Specific error : Falls Error code=255 Applikationsspezifischer Error code. Tabelle 8: Standard CiA Baudraten. Baudrate [kBit/s] 10 20 50 100 125 250 500 800 1000 Index (LSS) nach CiA-Tabelle 8h 7h 6h 5h 4h 3h 2h 1h 0h Index (Definition in Objekt 2100h) 0h 1h 2h 3h 4h 5h 6h 7h 8h Die Baudrate kann auch im Objekt 2100h geändert werden. Hierbei wird ebenfalls ein Index ins Objekt geschrieben, nicht die effektive Baudrate. ACHTUNG: Die Indices für Objekt 2100h und LSS unterscheiden sich. Speichern des Konfigurationsprotokoll Dieses Protokoll speichert die Konfigurationsparameter im EEPROM. 7E5h 17h reserviert 7E4h 17h Error code Error Code Specific error Specific error reserviert : 0=OK;1=Speichern nicht unterstützt;2=Zugriffsfehler;3..254=reserviert;255Specific error : Falls ErrorCode=255 Applikationsspezifischer Error code. Aktiviere BitTiming Parameter Die neuen BitTiming Parameter werden mit dem Command Specifier 21 aktiviert. 7E5h Switch Delay 15h 16 Bit Switch Delay reserviert : Verzögerung des Antrieb Resets in ms. Nach der Verzögerungszeit meldet sich der Busteilnehmer mit der neuen Baudrate an. Vendor-ID anfordern Vendor-ID eines selektierten Busteilnehmers anfordern 7E5h 5Ah reserviert 7E4h 5Ah 32 Bit Vendor-ID Vendor-ID reserviert : = 5Fh Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 19/73 Baumer Electric AG Frauenfeld, Switzerland Produktcode anfordern Produktcode eines selektierten Busteilnehmers anfordern 7E5h 5Bh reserviert 7E4h 5Bh Product code Product code reserviert : Herstellerabhängiger Produktcode Revisionsnummer anfordern Revisionsnummer eines selektierten Busteilnehmers anfordern 7E5h 5Ch reserviert 7E4h 5Ch 32 Bit Revisionsnummer reserviert Revisionsnummer : aktuelle Revision Seriennummer anfordern Seriennummer eines selektierten Busteilnehmers anfordern 7E5h 5Dh reserviert 7E4h 5Dh 32 Bit Serial number Seriennummer reserviert : eindeutige fortlaufende Seriennummer des Busteilnehmers Bereichsanfrage Busteilnehmer können auch in einem gewissen Bereich gesucht werden. Hierzu werden folgende Objekte nacheinander versandt: 7E5h 46h Vendor-ID reserviert 7E5h 47h Product code reserviert 7E5h 48h Revision number LOW reserviert 7E5h 49h Revision number HIGH reserviert 7E5h 4Ah Serial number LOW reserviert 7E5h 4Bh Serial number HIGH reserviert Jeder Busteilnehmer mit den entsprechenden Parametern meldet sich mit folgender Meldung: 7E4h 4Fh reserviert Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 20/73 Baumer Electric AG Frauenfeld, Switzerland 2.3 Zustandsmaschine für Positioning / Homing Beim Starten des Antriebs wird zuerst das NMT Zustandsdiagramm aktiviert. In den NMT-Zuständen PreOperational oder Operational gilt folgendes Zustandsdiagramm für die Mode of operation Positioning und Homing (siehe Objekt 6060h). Error QuickStop ErrorDiagnostic QuickStopActive Reset Fault Comu (Stop, Ready) Reset SelfTest SelfTest OK ? no yes Ready ErrorDiagnostic EnableVoltage=1 && SwitchOn=1 && QuickStop=1 && EnableOperation=1 Positioning Modes of operation HomingReady PositioningReady ExtSwitch SetNewPoint=1 && Halt = 0 Homing EnableVoltage=0 || SwitchOn=0 || QuickStop=0 || EnableOperation=0 HomingStart=1 && Halt=0 -20..-41 ErrorDiagnostic Comu (Start, PositionMoving) QuickStopActive Homing Mode Comu((SetTarget, HomingStart) -10..-12 HomingSet Figur 4:Zustandsmaschine für Mode of operation Positioning und Homing. Selftest Nach einem Reset des Antriebs wird ein Selbsttest durchgeführt. Hier wird zuerst ein Reset an den Regler gesendet. Danach werden alle Parameter mit dem Regler ausgetauscht und auf Richtigkeit überprüft. Zudem werden Abhängigkeiten der einzelnen Werte geprüft. Nach erfolgreichem Test wird automatisch in den Zustand Ready gewechselt. Ready Im Zustand Ready können beliebige Parameter gesetzt und gelesen werden. Dieser Zustand ist der Grundzustand des Antriebes. Dieser Zustand wird erst verlassen, wenn vom Master dazu aufgefordert wird. PositioningReady Wechsel vom Zustand Ready erfolgt durch: 1. Objekt 6060h Modes of operation auf 1 = Positioning setzen 2. Objekt 6040h Kontrollwort auf 000Fh setzen SwitchOn, EnableVoltage, QuickStop und EnableOperation = 1 Im Zustand PositioningReady wartet der Antrieb nur noch auf das Start-Signal, welches mit dem Kontrollwort gesetzt wird. QuickStop sowie Ansprechen der Schalteingänge werden in diesem Zustand speziell verarbeitet. Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 21/73 Baumer Electric AG Frauenfeld, Switzerland HomingReady (Manueller Mode) Wechsel vom Zustand Ready erfolgt durch: 1. Objekt 6060h Modes of operation auf 6 = Homing setzen 2. Objekt 6040h Controlword auf 000Fh setzen SwitchOn, EnableVoltage, QuickStop und EnableOperation = 1 In diesem Zustand wird mit dem Objekt 6098h Homing method die gewünschte Referenzierungsfunktion vorgewählt. Mit dem Kontrollwort, Bit4 (HomingOperationStart) wird in den Zustand HomingMove gewechselt. QuickStop active QuickStop ist kein eigentlicher Zustand. Falls in den QuickStop gewechselt wird, wird ein QuickStop an den Regler gesendet und in den Zustand Ready gewechselt. Falls ein Fehler anliegt, wird erst dann in den Zustand ErrorDiagnostic gewechselt. ErrorDiagnostic Im ErrorDiagnostic wird eine EMCY-Meldung abgesetzt (Error code siehe Tabelle 17) und auf eine Entscheidung vom Master gewartet. Parameter können auch in diesem Zustand beliebig gelesen und geschrieben werden. Nach einem Error reset (Kontrollwort) wird in den SelfTest gewechselt, wo auch der Regler einen Reset des Fehlers erhält. PositioningMoving Das Ziel ist im Regler immer aktuell. Deshalb wird nur noch der Startbefehl gesendet und in den Zustand PositioningMoving gewechselt. Events: 1. Software-Stoppbefehl über CAN -> QuickStop an Regler senden 2. Motor nicht mehr fahrend -> Zielposition erreicht 3. Externer Hardware-Endschalter spricht an -> QuickStop an Regler senden PositioningMoving EnableOperation=0 || SwitchOn=0 || QuickStop=0 || Halt=1 || EnableVoltage=0 Motor nicht fahrend ExtSwitch1 oder ExtSwitch2 QuickStopActive PositionReady QuickStopActive Figur 5: PositioningMoving Homing Homing wird in zwei verschiedene Vorgänge unterteilt. Im HomingMoving wird der Motor in Bewegung gesetzt. Im HomingSet hingegen werden nur Werte abgespeichert. HomingMoving Neues Ziel ist gesetzt. Danach wird der Startbefehl an den Regler gesendet und in den Zustand HomingMoving übergegangen. Events: 1. Software-Stoppbefehl über CAN -> QuickStop an Regler senden 2. Motor nicht mehr fahrend -> Ziel erreicht 3. Externe Schalter sprechen an -> QuickStop an Regler senden Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 22/73 Baumer Electric AG Frauenfeld, Switzerland HomingStart Comu(Start, HomingMoving) HomingMoving EnableOperation=0 | | EnableVoltage=0 | | SwitchOn=0 | | QuickStop=0 | | Halt=1 QuickStopActive Motor nicht fahrend ExtSwitch1 && Mode=-30 || ExtSwitch2 && Mode=-31 HomingReady QuickStopActive Figur 6: HomingMoving. HomingSet Im Zustand HomingSet werden nur Parameter wie z.B. Position der Software-Endschalter gesetzt. HomingSet EnableOperation=0 | | EnableVoltage=0 | | SwitchOn=0 | | QuickStop=0 | | Halt=1 Param. stored QuickStopActive HomingReady Figur 7: HomingSet. Status oder Position einlesen In den meisten Zuständen werden abwechselnd alle 1ms Status oder aktuelle Position eingelesen. PositioningReady HomingReady PositioningMoving Ready HomingStart HomingMoving Get Status oder Position alle 1ms ursprünglicher Zustand Figur 8: Status oder aktuelle Position einlesen. Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 23/73 Baumer Electric AG Frauenfeld, Switzerland Kontrollwort Zustandswechsel werden über das Kontrollwort gesteuert. Ein Master sendet folgendes Kontrollwort um den Antrieb zu aktivieren: xxxx xxx0 0xxx 1111 Ein Master sendet folgendes Kontrollwort um den Antrieb zu starten: xxxx xxx0 0xx1 1111 Tabelle 9: Kontrollwort (Objekt 6040h). Bit 13...15 sind nicht definiert. Bit Beschreibung 0 SwitchOn 1 EnableVoltage 2 QuickStop 3 EnableOperation 4 StartAction (Fahre zum Ziel) 5 Change set immediately 6 Relative/absolute movement 7 Error reset 8 Halt 11 Jogging+ 12 Jogging- Beispiel für einen Zustandswechsel: Aktion Kontrollwort Bit Beschreibung 7 3 2 1 0 SwitchOn 0 1 1 1 1 DisableOperation 0 0 1 1 1 PositioningReady oder HomingReady Ready DisableVoltage 0 1 1 0 1 PositioningReady oder HomingReady Ready SwitchOff 0 1 1 1 0 PositioningReady oder HomingReady Ready QuickStop 0 1 0 1 1 Von PositioningReady oder HomingReady QuickStop active Ready PositioningReady oder HomingReady (je nach Objekt 6060h) Falls Motor drehend, wird dies speziell behandelt. Falls QuickStop wieder 1 gesetzt wird, kann direkt zu OperationEnabled gewechselt werden. Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 24/73 Baumer Electric AG Frauenfeld, Switzerland 2.4 Betrieb des Antriebs 2.4.1 Antriebsstatus auslesen Je nach NMT-Zustand kann der Status des Antriebs als SDO (Objekt 6041h) ausgelesen oder als T_PDO1 zyklisch bzw. synchron angefordert werden. COB-ID DLC 180h+Node-ID 3 Byte 0 Byte 1 Byte 2 xx xx xx 2.4.2 Aktuelle Position auslesen Die effektive Position kann als SDO ausgelesen werden oder wird zyklisch oder synchron als T_PDO2 gesendet. Anfrage der Position beim Antrieb Objekt 6064h: COB-ID DLC 600h+Node-ID 8 Kommando Objekt L Objekt H Subindex Data 0 Data 1 Data 2 Data 3 40h 64h 60h 0 0 0 0 0 Antwort des Antriebs auf die Anfrage der Position (abcd): COB-ID DLC 580h+Node-ID 8 Kommando Objekt L Objekt H Subindex Data 0 Data 1 Data 2 Data 3 43h 64h 60h 0 a b c d Üblicher und praktischer wäre die Aktualisierung der Position mittels Transmit Prozessdatenobjekte (T_PDO). T_PDO2 ist standardmässig auf das Objekt 6064h (Position) eingestellt. Hierbei kann zwischen synchroner und asynchroner T_PDO-Übertragung gewählt werden (siehe Objekt 1400h und folgende). T_PDO2 Telegrammaufbau: COB-ID DLC 280h+Node-ID 4 Byte 0 Byte 1 Byte 2 Byte 3 ww xx yy zz Byte1 bis Byte4 beinhalten die Position. 2.4.3 Zielposition anfahren über SDO (mit Fahrauftrag) Zielposition wird gesetzt (Objekt 607Ah): COB-ID DLC 600h+Node-ID 8 Kommando Objekt L Objekt H Subindex Data 0 Data 1 Data 2 Data 3 23h 7Ah 60h 0 x x x x Kommando Objekt L Objekt H Subindex Data 0 Data 1 Data 2 Data 3 60h 7Ah 60h 0 0 0 0 0 Antwort: COB-ID DLC 580h+Node-ID 8 Es wird ein Start ins Kontrollwort (Objekt 6040h) geschrieben: COB-ID DLC 600h+Node-ID 8 Kommando Objekt L Objekt H Subindex Data 0 Data 1 Data 2 Data 3 23h 40h 60h 0 1Fh 0 0 0 Kommando Objekt L Objekt H Subindex Data 0 Data 1 Data 2 Data 3 60h 40h 60h 0 0 0 0 0 Antwort: COB-ID DLC 580h+Node-ID 8 Der Antrieb fährt los. Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 25/73 Baumer Electric AG Frauenfeld, Switzerland 2.4.4 Fahrauftrag stoppen Es wird ein Stop ins Kontrollwort geschrieben: COB-ID DLC 600h+Node-ID 8 Kommando Objekt L Objekt H Subindex Data 0 Data 1 Data 2 Data 3 23h 40h 60h 0 1Fh 01h 0 0 Kommando Objekt L Objekt H Subindex Data 0 Data 1 Data 2 Data 3 60h 40h 60h 0 0 0 0 0 Antwort: COB-ID DLC 580h+Node-ID 8 Der Antrieb wird gestoppt. 2.4.5 Ziel anfahren über R_PDO (mit Fahrauftrag) NMT Start: COB-ID DLC Byte 0 Byte 1 0 2 01h Node-ID Antwort T_PDO1 (Statuswort Objekt 6041h): COB-ID DLC 180h+Node-ID 3 Byte 0 Byte 1 Byte 2 21h 0Ah 01h Antwort T_PDO2 (Ist-Position Objekt 6064h): COB-ID DLC 280h+Node-ID 4 Byte 0 Byte 1 Byte 2 Byte 3 Ww Xx Yy Zz Antrieb in den Zustand PositioningReady setzen mit dem R_PDO1 (Kontrollwort Objekt 6040h): COB-ID DLC 200h+Node-ID 2 Byte 0 Byte 1 0Fh 00h Antwort T_PDO1 (Statuswort Objekt 6041h): COB-ID DLC 180h+Node-ID 3 Byte 0 Byte 1 Byte 2 37h 0Ah 02h Kontrollwort + Ziel wird gesetzt mit dem R_PDO2 (Objekt 6040h, 607Ah): COB-ID DLC Byte 0 300h+Node-ID 6 1Fh Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 00h x x x x Wenn R_PDO2 auf synchron eingestellt ist, muss noch das SYNC-Telegramm gesendet werden: COB-ID DLC 80h 0 Der Antrieb fährt los. Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 26/73 Baumer Electric AG Frauenfeld, Switzerland 2.5 Befehlssynchronisation zwischen Antrieb und Steuerung Für die CAN-Bus Kommunikation gelten allgemein die Anforderungen: Die Busbelastung soll möglichst klein sein (zyklische Kommunikation sollte daher eher vermieden werden, mit Ausnahme des Nodeguarding). Ein Startbefehl soll möglichst schnell ausgeführt werden, um kurze Zykluszeiten zu erreichen. Bei CANopen erfolgt der Fahrbefehl vom CAN-Bus Master an den Antrieb über ein Kontrollwort (R_PDO oder SDO Objekt 6040h). Für die Statusanzeige sieht CANopen ein T_PDO vor (Statuswort Objekt 6041h), in dem die Statusinformationen des Antriebs (Drive moving, Target position reached, etc.) zusammengefasst sind. Mit diesem Statuswort müssen bei einem Fahrbefehl Master und Antrieb synchronisiert werden. Um die Anforderungen nach minimaler Buslast und Zykluszeit zu erfüllen, sendet der Antrieb das Statuswort nur bei Änderungen. Zur Befehlssynchronisation ist im Antrieb folgendes implementiert: Nach jeder Statusänderung wird ein T_PDO gesendet. Jeder Fahrbefehl erzeugt eine Statusänderung. Diese beiden Punkte werden im Folgenden erläutert. Zusätzlich muss bei einem Fahrbefehl auf einen korrekten und vollständigen Ablauf der Kommunikation zwischen Master und Antrieb geachtet werden. Nach jeder Statusänderung wird ein T_PDO gesendet Der Antrieb hat einen einstellbaren Zyklus mit Zykluszeit T (Transmit PDO2 Event Timer, Objekt 1801h-05h) für das Senden eines T_PDO. Gesendet wird dabei normalerweise immer der Status (Objekt 6041h) zum Sendezeitpunkt. Der Antrieb muss jedoch auch dann ein T_PDO senden, wenn nur eine kurze Statusänderung innerhalb eines Zyklus stattfindet und diese Statusänderung noch vor dem nächsten Zyklus des T_PDO wieder verschwindet (siehe Figur 9). Zur Befehlssynchronisation ist dies im Antrieb implementiert. Nur wenn keine Änderung stattgefunden hat, wird kein T_PDO gesendet. Nur kurze Änderung, trotzdem wird PDO-TX gesendet Status (6041h) PDO-TX Zyklus des PDO-TX PDO-TX PDO-TX T t Statusänderung (6041h) t Figur 9: Nach jeder Statusänderung wird ein T_PDO gesendet. Jeder Fahrbefehl erzeugt eine Statusänderung Sendet der Master einen Fahrbefehl an einen Antrieb mit einer Zielposition weit weg von der aktuellen Position, so ergeben sich klare Statusänderungen und das Statusbit 10 „Target position reached“ wird erst gesetzt beim Erreichen der Zielposition. Wenn sich jedoch der Antrieb bereits an der Zielposition befindet, dann würde normalerweise keine Statusänderung erzeugt werden. Dies könnte zu fehlerhafter Synchronisierung zwischen Master und Antrieb führen. Zur Befehlssynchronisation wird daher im Antrieb in einem solchen Fall das Statusbit 10 „Target position reached“ für eine Zeit Tmin zwangläufig auf Null gesetzt, nachdem ein Fahrbefehl empfangen wurde. Dies gilt auch beim Referenzieren und Einmessen, wo die entsprechenden Statusbits zunächst für Tmin auf Null und beim Beenden wieder auf Eins gesetzt werden. Somit ist gewährleistet, dass bei allen Befehlen eine entsprechende Statusänderung erzeugt und ein entsprechender T_PDO gesendet werden. Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 27/73 Baumer Electric AG Frauenfeld, Switzerland Motor nicht am Ziel Fahrbefehl Bit 10: Target reached t Bit 12: Drive moving t T min Motor bereits am Ziel Bit 10: Target reached t Bit 12: Drive moving t Figur 10: Jeder Fahrbefehl erzeugt eine Statusänderung (auch beim Referenzieren und Einmessen). Korrekter Kommunikationsablauf mit bis zu zwei SDO Abfragen des Statusworts 6041h Eine undefinierte Situation könnte möglicherweise entstehen, wenn zufällig gleichzeitig mit dem Senden eines Fahrauftrags R_PDO durch den Master eine Statusänderung am Antrieb erfolgt und dieser somit ein T_PDO sendet. In diesem Fall empfängt der Master nach dem Absetzen eines Fahrbefehles einen Status, der für ihn jedoch aus der Vergangenheit kommt und den er auf keinen Fall beachten darf. Um diese unerwünschten T_PDO Meldungen nach einem Fahrauftrag zu unterdrücken, müssen gleichzeitig mit dem Senden des Fahrauftrags beim Master die T_PDO Meldungen gesperrt werden (Ignore T_PDO = 1). Um die Sperrung wieder zu aufzuheben, fragt der Master den Status über den 1. SDO-Request ab. Sobald er die 1. SDO Response empfängt, hebt er die Sperrung auf (Ignore T_PDO = 0). Dann werden empfangene T_PDO Meldungen wieder interpretiert. Wenn die 1. SDO-Response den Status „Target position reached = 1“ enthält, ist der Fahrbefehl korrekt abgeschlossen. Wenn ein nach Aufhebung der Sperrung empfangenes T_PDO den Status „Target position reached = 1“ enthält, ist der Fahrbefehl ebenfalls korrekt abgeschlossen. Es kann jedoch vorkommen, dass eine T_PDO Meldung aufgrund ihrer hohen Priorität die 1. SDOResponse überholt und daher unterdrückt wird (siehe Figur 11). Der Fahrbefehl kann in diesem Fall nur durch eine zweite SDO-Request mit anschliessender SDO-Response korrekt abgeschlossen werden. Auch beim Referenzieren und Einmessen muss der Kommunikationsablauf unbedingt so realisiert werden. Fahrbefehl aktiv Ignore PDO-TX Master PDO-TX (Bit 12=0) PDO-RX PDO-TX (Bit 12=0) 1. SDORequest 1. SDOResponse PDO-TX (Bit 12=1) 2. SDO-Response 2. SDO-Request Antrieb Bit 12 Target reached Statusänderung (6041h) Figur 11: Korrekter Kommunikationsablauf mit bis zu zwei SDO Abfragen des Statusworts 6041h. Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 28/73 Baumer Electric AG Frauenfeld, Switzerland 3 Objektverzeichnis Nach CiA (CAN in Automation) werden die Objekte in drei Gruppen unterteilt: Standard-Objekte 1000h, 1001h, 1018h Herstellerspezifische Objekte 2000h - 5FFFh Gerätespezifische Objekte Alle anderen Objekte von 1000h - 1FFFh, 6000h - FFFFh Sendet der CAN Master ein unzulässiges Kommando an den Antrieb, so wird als Antwort eine Abort Message mit Abort Code gesendet (siehe Tabelle 18). Die Änderung von Objekten mit Schreibzugriff kann nichtflüchtig gespeichert werden in einem EEPROM im Antrieb. Nach Einschalten des Antriebs werden alle Parameter aus diesem EEPROM geladen. Tabelle 10: Zusammenfassung aller unterstützten Objekte. Speichern der aktuellen Objekt-Konfiguration, siehe Objekt 1010h. Laden der Default-Objekte: siehe Objekt 1011h. Für weitere Details, siehe Kapitel 4.2. Objekt Name Format Zugriff Default Save Beschreibung Objekt-Nummer in hexadezimaler Darstellung (Beispiel 1000h) --Variablenformat des Objekts: U/I = Unsigned/Integer, Zahl=Anzahl Bit, ARR = Array, REC = Record ro = ReadOnly, wo = WriteOnly, rw = ReadWrite Default-Wert des Parameters nach der ersten Initialisierung oder nach Laden der Default-Parameter (Objekt 1011h) Speichern bzw. Laden des Parameters (EEPROM) über Objekte 1010h und 1011h, Subindex 1, 2, 3 oder 4 Beschreibung der Objektoptionen Objekt Name Format Zugriff Default Save Beschreibung 1000h Device type U32 ro 00020192h 00h 02h 0192h - Gerätetyp gemäss CiA Motortyp = 00h (DC Motor) Antriebstyp = 02h (ServoDrive) Profilnummer = 192h = 402 1001h Error register U8 ro 0h - Fehlerregister mit Fehlerklasse (siehe auch Tabelle 16). Bit 2=1 Bit 3=1 Bit 4=1 Bit 5=1 1003h Predefined error field ARR - Spannungs-Fehler Temperatur-Fehler CAN-Bus Kommunikations-Fehler Gerätespezifischer Fehler Schieberegister für die letzten 8 spezifischen Fehler oder Warnungen 00h Number of Errors U8 rw 01h Last entry U32 ro 0h - - - Zuletzt aufgetretener Fehler (siehe Tabelle 17 oder Objekt 603Fh). Error code / Beschreibung 0000h Kein Fehler 2310h Continuous over current 3110h Fehler Überspannung Bus 3111h Fehler Überspannung Leistungselektronik 3120h Fehler Unterspannung Bus 3121h Fehler Unterspannung Leistungselektronik 4210h Warnung / Fehler Übertemperatur (zur Unterscheidung, siehe Zusatz-Information Byte 3...4 in EMCY-Meldung bzw. Tabelle 17) 5441h Warnung unterer Hardware-Endschalter aktiv 5442h Warnung oberer Hardware-Endschalter aktiv 5530h Warnung Speicher (EEPROM) 6010h Warnung Software (Watchdog) 7121h Warnung Motor blockiert (zusätzliche Differenzierung siehe Zusatz-Information Byte 3...4 in EMCY-Meldung bzw. Tabelle 17) Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 29/73 Baumer Electric AG Frauenfeld, Switzerland Objekt Name ... ... 08h First entry Format Zugriff ... ... U32 ro Default Save ... Beschreibung 7320h Fehler Encoder 7510h Fehler interner Kommunikationsfehler 8110h Warnung CAN-Bus Kommunikation 8130h Warnung Lifeguard oder Heartbeat 8500h Warnung Position control FF00h Warnung Data valid multiturn (DVMT) FF02h Fehler Positioning timeout FF05h Warnung Deblockierung aktiv FF06h Fehler Deblocking timeout FF10h Warnung unterer Software-Endschalter aktiv FF11h Warnung oberer Software-Endschalter aktiv - ... - Beschreibung siehe Subindex 01h 1005h SYNC COB-ID U32 rw 80h 1008h Device name U32 ro MSBA - Gerätename in ASCII (Beispiel: MSBA = „ABSM“ = 41h 42h 53h 4Dh) 1009h - U32 ro werksseitig - Nicht zugeordnet Software version U32 ro werksseitig - Die Software version ist die Unterversion der Firmware des Geräts in ASCII. Sie bezieht sich auf die Korrektur eines Softwarefehlers. 100Ah 1, 2 COB-ID des SYNC Objekts Die Firmware-Version setzt sich aus der Gesamt- und der Unterversion zusammen. Für Gesamtversion, siehe Objekt 1018h-3h. Beispiel: 0017 = 17. 100Ch Guard time U16 rw 0h 1, 2 Guard time für Node Guarding (siehe Figur 2). 100Dh Life time factor U8 rw 0h 1, 2 Life time factor für Node Guarding (siehe Figur 2). Die Knoten-Lebensdauer ergibt sich durch Guard Time multipliziert mit Life time factor. Im Fehlerfall, beispielsweise nach Ablauf der Knoten-Lebensdauer wird ein Life Guarding Event ausgelöst. Das Fehlerverhalten wird definiert im Objekt Error behavior (Objekt 1029h). ACHTUNG: Einschalten des Node Guarding Protokolls in der Versionskontrolle (Objekt 2110h, Bit5). 1010h Store parameters ARR Speichern der aktuellen Parameter des Antriebs. Spalte Save in dieser Tabelle gibt für jedes Objekt den benötigten Subindex zum Speichern der Parameter an. 00h Grösster Subindex U8 ro 4h 01h Store all parameters U32 rw Speichern aller Parameter im EEPROM durch Schreiben von save = „evas“ = 65h 76h 61h 73h 02h Store communication U32 rw Speichern der Kommunikationsparameter im EEPROM durch Schreiben von save = „evas“ = 65h 76h 61h 73h U32 rw Speichern der Applikationsparameter im EEPROM durch Schreiben von save = „evas“ = 65h 76h 61h 73h U32 rw Speichern der herstellerspezifischen Parameter im EEPROM durch Schreiben von save = „evas“ = 65h 76h 61h 73h parameters 03h Store application parameters 04h Store manufacturer specific parameters 1011h Restore parameters ARR - Laden der Default-Parameter des Antriebs. Spalte Save in dieser Tabelle gibt für jedes Objekt den benötigten Subindex für Laden der Default-Parameter an. 00h Grösster Subindex U8 ro 01h Restore all U32 rw 4h Laden aller Parameter aus dem EEPROM durch Schreiben von load = „daol“ = 64h 61h 6Fh 6Ch parameters Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem - 30/73 Baumer Electric AG Frauenfeld, Switzerland Format Zugriff U32 rw Laden der Kommunikationsparameter aus dem EEPROM durch Schreiben von load = „daol“ = 64h 61h 6Fh 6Ch U32 rw Laden der Applikationsparameter aus dem EEPROM durch Schreiben von load = „daol“ = 64h 61h 6Fh 6Ch 04h Restore manufacturer U32 rw Laden der herstellerspezifischen Parameter aus dem EEPROM durch Schreiben von load = „daol“ = 64h 61h 6Fh 6Ch Objekt Name 02h Restore Default Save communication Beschreibung parameters 03h Restore application parameters specific parameters 1014h Emergency COB-ID U32 1016h Consumer heartbeat ARR rw 81h 00h Grösster Subindex U8 ro 1h 01h Consumer heartbeat U32 rw 00010000h 1, 2 1, 2 0001h time Producer heartbeat U16 rw 0h Consumer Heartbeat Zeitintervall (siehe Figur 3). Bit16..23: Node- ID Bit0..15: Consumer Heartbeat Zeitintervall in ms 0000h 1017h COB-ID des Emergency Objektes EMCY COB-ID = 80h + Node-ID ACHTUNG: Einschalten des Heartbeat Protokolls in der Versionskontrolle (Objekt 2110h, Bit5). 1, 2 Producer Heartbeat Zeitintervall in ms time 1018h Identity object REC Hersteller- und Geräteidentifikation für LSS 00h Grösster Subindex U8 ro 4h 01h Vendor-ID U32 ro 5Fh 02h Product code U32 ro 03h Revision number U32 ro Nummer zur Identifikation des Geräteherstellers nach CiA. (Baumer Electric AG = 5Fh) 00000102h Nummer zur Identifikation des Geräts (MSBA = 102h) werkseitig Die Revision number ist die Gesamtversion der Firmware des Geräts. Sie bezieht sich auf Gerätefunktionen. Die Firmware-Version setzt sich aus der Gesamt- und der Unterversion zusammen. Für Unterversion, siehe Objekt 100Ah Software version.. Beispiel: Firmware-Version 1.00.17 Gesamtversion 1.00 = 0001’0000h (Objekt 1018-3h) Unterversion 17 = 0017 (Objekt 100Ah) Die Revision number wird verwendet zur LSS Identifikation des Geräts und muss identisch sein mit der Version des Handbuchs sowie mit dem Aufdruck RevNr auf dem Typenschild auf der Aussenseite des Antriebs. 04h Serial number 1029h Error behaviour U32 ro werkseitig Eindeutige fortlaufende Seriennummer des Geräts ARR Fehlerbehandlung von NMT-Kommunikationsfehlern. 00h Grösster Subindex U8 ro 1h 01h Communication error U8 rw 1h 1, 2 Verhalten nach Kommunikationsfehler: 0h = Wechsel in den NMT-Zustand Pre-Operational 1h = kein Zustandswechsel 2h = Wechsel in den NMT-Zustand Stopped/Prepared 3h = Reset des Antriebs 1400h Receive PDO1 REC parameter 00h Grösster Subindex U8 ro 2h 01h COB-ID U32 rw 201h Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 1, 2 31/73 PDO-ID = 200h + Node-ID Baumer Electric AG Frauenfeld, Switzerland Objekt Name 02h R_PDO1 type Format Zugriff U8 rw Default Save FEh 1, 2 Beschreibung 1h..F0h = Synchroner Betrieb. Mit Wert n wird das R_PDO1 auf jedes n-te SYNC-Telegramm übernommen FEh = 1401h Receive PDO2 Asynchroner Betrieb. R_PDO1 werden sofort nach Erhalt übernommen REC parameter 00h Grösster Subindex U8 ro 2h - 01h COB-ID U32 rw 301h 1, 2 PDO-ID = 300h + Node-ID 02h R_PDO2 type U8 rw FEh 1, 2 1h..F0h = Synchroner Betrieb. Mit Wert n wird das R_PDO2 auf jedes n-te SYNC-Telegramm übernommen FEh = 1600h Receive PDO1 Asynchroner Betrieb. R_PDO2 werden sofort nach Erhalt übernommen ARR mapping U8 ro 1h U32 ro 60400010h U8 ro 2h 01h R_PDO2 content 1 U32 ro 60400010h Controlword. ReadOnly, obwohl von CiA als ReadWrite 02h R_PDO2 content 2 U32 ro 607A0020h Target position. ReadOnly, obwohl von CiA als ReadWrite 00h Number of mapped Anzahl gemappter Objekte in R_PDO1 objects in R_PDO1 01h R_PDO1 content 1 1601h Receive PDO2 Controlword. ReadOnly, obwohl von CiA als ReadWrite ARR mapping 00h Number of mapped Anzahl gemappter Objekte in R_PDO2 objects in R_PDO2 1800h Transmit PDO1 REC parameter 00h Grösster Subindex U8 ro 5h 01h COB-ID U32 rw 181h 1, 2 PDO-ID = 180h + Node-ID 02h Transmission type U8 rw FEh 1, 2 1h..F0h = Zyklisch, Synchroner Betrieb. Mit Wert n wird das T_PDO1 auf jedes n-te SYNC-Telegramm in Abhängigkeit von Objekt 2800h PDO1 add-on gesendet. 03h Inhibit time U16 rw 0h - 1, 2 FEh = Asynchroner Betrieb (manufacturer specific). T_PDO1 werden mit der Zykluszeit Subindex 05h Event timer in Abhängigkeit von Objekt 2800h PDO1 add-on gesendet. FFh = Asynchroner Betrieb (device pofile specific). T_PDO1 werden bei Änderung der Daten unter Berücksichtigung von Subindex 03h Inhibit time und mit der Zykluszeit Subindex 05h Event timer (auch ohne Änderung) gesendet. Objekt 2800h PDO1 add-on hat keine Auswirkung Sendepause nach Kommunikation von T_PDO1 in 100 Mikrosekunden. Wird berücksichtigt bei Verwendung von Transmission Type FFh. <0Ah = keine Sendepause >=0Ah = Sendepause >= 1 ms (Vielfache von 0Ah sind sinnvoll) 05h Event timer U16 rw 203h 1, 2 0h = Transmit PDO1 werden nicht (Transmission Type FEh) gesendet bzw. nur bei Änderung (Transmission Type FFh) gesendet >0h = Zykluszeit in Millisekunden Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 32/73 Baumer Electric AG Frauenfeld, Switzerland Objekt Name Format 1801h Transmit PDO2 REC Zugriff Default Save Beschreibung Parameter 00h Grösster Subindex U8 ro 5h 01h COB-ID U32 rw 281h 1, 2 PDO-ID = 280h + Node-ID 02h Transmission type U8 rw FEh 1, 2 1h..F0h = Synchroner Betrieb. Mit Wert n wird das T_PDO2 auf jedes n-te SYNC-Telegramm in Abhängigkeit von Objekt 2801h PDO2 add-on gesendet. 03h Inhibit time U16 rw 0h - 1, 2 FEh = Asynchroner Betrieb (manufacturer specific). T_PDO2 werden mit der Zykluszeit Subindex 05h Event timer in Abhängigkeit von Objekt 2800h PDO2 add-on gesendet. FFh = Asynchroner Betrieb (device pofile specific). T_PDO2 werden bei Änderung der Daten unter Berücksichtigung von Subindex 03h Inhibit time und mit der Zykluszeit Subindex 05h Event timer (auch ohne Änderung) gesendet. Objekt 2800h PDO2 add-on hat keine Auswirkung Sendepause nach Kommunikation von T_PDO2 in 100 Mikrosekunden. Wird berücksichtigt bei Verwendung von Transmission Type FFh. <0Ah = keine Sendepause >=0Ah = Sendepause >= 1 ms (Vielfache von 0Ah sind sinnvoll) 05h Event timer U16 rw 104h 1, 2 0h = Transmit PDO2 werden nicht (Transmission Type FEh) gesendet bzw. nur bei Änderung (Transmission Type FFh) gesendet >0h = Zykluszeit in Millisekunden 1A00h Transmit PDO1 ARR mapping U8 ro 2h 01h T_PDO1 content 1 U32 ro 60410010h ReadOnly, obwohl von CiA als ReadWrite 02h T_PDO1 content 2 U32 ro 60FD0020h ReadOnly, obwohl von CiA als ReadWrite U8 ro 1h U32 ro 60640020h U8 rw 2h 00h Number of mapped Anzahl gemappter Objekte in T_PDO1 objects in T_PDO1 1A01h Transmit PDO2 ARR mapping 00h Number of mapped Anzahl gemappter Objekte in T_PDO2 objects in T_PDO2 01h T_PDO2 content 1 2100h Baudrate ReadOnly, obwohl von CiA als ReadWrite 1, 2 Baudrate des Antriebs für Buskommunikation (siehe Tabelle 12. 01h = 20 kBit/s 02h = 50 kBit/s 03h = 100 kBit/s 04h = 125 kBit/s 05h = 250 kBit/s 06h = 500 kBit/s 07h = 800 kBit/s 08h = 1000 kBit/s ACHTUNG: Nach Änderung der Baudrate muss Antrieb neu initialisiert werden, beispielsweise durch Ein-AusSchalten oder mittels NMT-Reset. 2101h Node-ID U8 rw 1h 1, 2 Knotennummer bzw. Teilnehmeradresse des Antriebs auf dem CAN-Bus. Mögliche Werte sind 1..127. ACHTUNG: Nach Änderung der Node-ID muss der Antrieb neu initialisiert werden, beispielsweise durch EinAus-Schalten oder mittels NMT-Reset. Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 33/73 Baumer Electric AG Frauenfeld, Switzerland Objekt Name Format Zugriff 2102h Node-ID offset U8 rw Default Save 0h Beschreibung Offset für Node-ID. Mögliche Werte sind 0..126. Node-ID Offset wird sofort nach Eingabe zur Node-ID addiert und aktiviert ohne Initialisierung. Node-ID Offset kann nicht dauerhaft abgespeichert werden und ist nach Initialisierung beispielsweise durch Ein-Aus-Schalten wieder auf 0h. Zur Bestätigung der Änderung des Node-ID offset sendet der Antrieb eine Download Response mit neuer Node-ID (siehe SDO Kommandos in Tabelle 2). ACHTUNG: Der Node-ID Offset kann nicht abgespeichert werden. 2110h Version control U32 rw 0Ah 1, 3 Versionskontrolle: Definition von T_PDO1 Inhalt und Verhalten im Fehlerfall Bit 1: T_PDO1 Standardinhalt 0 = T_PDO1 enthält Statuswort (Tabelle 4) mit 2 Byte Länge 1 = T_PDO1 enthält Statuswort (Tabelle 4) und Statuswort-Zusatz (Tabelle 5) mit 3 Byte Gesamtlänge (Default). Bit 3: Verhalten bei BusOFF 0 = bei BusOFF zieht sich Antrieb vom Bus zurück 1 = bei BusOFF automatisch Initialisierung (Default) Bit 5: 0 = Heartbeat (Default) 1 = Nodeguarding Bit 9: Servicebetrieb (Jogging ohne Bus möglich) 0 = ausgeschaltet (Default) 1 = eingeschaltet Bit 10: Emergency-Meldung beim Referenzieren 0 = aktiviert (Default) 1 = deaktiviert Bit 11: Emergency-Meldung der Software-Endschalter 0 = aktiviert (Default) 1 = deaktiviert Bit 12: T_PDO1 Zusatzinhalt: Sende zusätzlich zum T_PDO1 Standardinhalt den Zustand der HardwareSchalteingänge (Tabelle 6, Object 60FDh) mit 8 Byte Gesamtlänge 0 = deaktiviert (Default) 1 = aktiviert Bit 13: T_PDO2 Zusatzinhalt: Sende zusätzlich zum T_PDO2 Standardinhalt die aktuelle Geschwindigkeit Velocity actual value (Objekt 606Ch Velocity actual value) mit 8 Byte Gesamtlänge. Es kann entweder Bit13 oder Bit14 aktiviert werden. 0 = deaktiviert (Default) 1 = aktiviert Bit 14: T_PDO2 Zusatzinhalt: Sende zusätzlich zum T_PDO2 Standardinhalt den aktuellen Strom Strom Current actual value (Objekt 6078h Current actual value) mit 8 Byte Gesamtlänge Es kann entweder Bit13 oder Bit14 aktiviert werden. 0 = deaktiviert (Default) 1 = aktiviert Bit 18: Automatische Deblockierung: Beschreibung siehe Kapitel 4.8 Automatische Deblockierung 0 = deaktiviert (Default) 1 = aktiviert Bit 19: Strombegrenzung: Beschreibung siehe Kapitel 4.3.5 Strombegrenzung 0 = deaktiviert (Default) 1 = aktiviert Bit 21: Verhalten Motor blocked: 0 = Motor blocked wird als Warning behandelt (Default) 1 = Motor blocked wird als Error behandelt Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 34/73 Baumer Electric AG Frauenfeld, Switzerland Format Objekt Name 2111h Positioning parameter REC Zugriff Default Save Beschreibung Positionierungsparameter 00h Grösster Subindex U8 ro 13h 01h Backlash compensation U8 rw 0h 1, 3 Spielausgleich, um Spindel- oder Getriebespiel auszugleichen. Hierbei kann definiert werden, aus welcher Richtung die Zielposition angefahren werden soll. Wenn nötig, wird dazu die Zielposition um Backlash delta überfahren und anschliessend direkt angefahren. 00h = Zielposition wird direkt angefahren 01h = Zielposition wird von unten angefahren 02h = Zielposition wird von oben angefahren 02h Backlash delta U32 rw 64h 1, 3 Parameter in benutzerdefinierter Positionseinheit. Gibt an, wie weit eine Zielposition überfahren wird bei eingeschaltetem Spielausgleich 03h Positioning timeout U32 rw 0h 1, 3 Timeout für Positioniervorgänge in Sekunden: Benötigt ein Positioniervorgang mehr Zeit als Positioning timeout, so wird er abgebrochen und es wird eine EMCY-Meldung mit Fehlercode FF02h ausgegeben 0h = Positioning timeout deaktiviert >0h = Positioning timeout in Sekunden 0Bh Time of jogging start speed U32 rw 3E8h 1, 3 Zeitdauer der Anfangsgeschwindigkeit beim Tippbetrieb in ms 0Ch Jogging start speed U32 rw 14h 1, 3 Anfangsgeschwindigkeit beim Tippbetrieb in benutzerdefinierter Geschwindigkeitseinheit (siehe Objekt 608Ch). 0Dh Digital input 1 U8 rw 0h 1, 3 Digitaler Hardware-Schalteingang 1 zur Steuerung des Antriebs (vgl. Kontrollwort Objekt 6040h). Eingang ist HIGH aktiv, Invertierung durch Addition mit 80h. Parameter / Beschreibung: 0h = Schalteingang inaktiv 01h = SwitchOn 02h = EnableVoltage 03h = QuickStop 04h = EnableOperation 05h = StartAction 06h = Change set immediately 07h = Relative/absolute 08h = Error reset 09h = Halt 0Ah = Jogging+ (innerhalb Software-Endschalter, wenn aktiv) 0Bh = Jogging- (innerhalb Software-Endschalter, wenn aktiv) 10h = Status: Betrieb freigeben (01h..04h) 12h = Referenzposition setzen mit Presetwert (Objekt 2111h, Subindex 11h). Nach dem Referenzieren wird dieser Parameter wieder auf 00h zurückgesetzt. 13h = Jogging+ (mit Warnung auch über SoftwareEndschalter hinaus) 14h = Jogging- (mit Warnung auch über SoftwareEndschalter hinaus) 15h = Oberer externer Hardware-Endschalter 16h = Unterer externer Hardware-Endschalter 17h = nicht definiert ACHTUNG: Bei Einstellwert >0 steuert der Eingang direkt den Antrieb. In diesem Fall verliert der Master auf dem CAN-Bus die Kontrolle. 0Eh Digital input 2 U8 rw Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 0h 1, 3 35/73 Digitaler Hardware-Schalteingang 2. Beschreibung siehe Digital input 1. Baumer Electric AG Frauenfeld, Switzerland Objekt Name 11h Reference position Format Zugriff I32 rw Default Save 0h 1, 3 Beschreibung Presetwert für Referenzierung des Antriebs. Für Einzelheiten zur Referenzierung, siehe Objekt 6098h Homing methode und Kapitel 4.4 Antriebsposition referenzieren (Homing). Bei den Homing-Methoden E2h, E1h, D8h, D7h, wird die Referenzposition direkt dem Objekt 6064h Position actual value zugewiesen. 13h Simulation controlword U16 rw 0h 1, 3 Kontrollwort, das automatisch gesetzt wird, wenn keine Buskommunikation vorliegt (z.B. für Stand-Alone-Betrieb des Antriebs ohne Feldbus). 1Dh Service speed U32 rw 1Eh 1, 3 Geschwindigkeit in benutzerdefinierter Einheit beim Servicebetrieb ohne Busankopplung 1Eh Free referencing distance U32 rw 64h 1, 3 Weg der beim Referenzieren frei gefahren wird in benutzerdefinierter Positionseinheit (Freifahrweg). 2112h Statistics REC Statistik für Betrieb des Antriebs 00h Grösster Subindex U8 ro 6h 01h Number of watchdog events U16 ro 0h 1, 4 Anzahl der Watchdog-Events des Prozessors 02h Number of position warnings U16 rw 0h 1, 4 Anzahl der aufgetretenen Reed-Counter Fehler. 05h Electronics temperature U16 ro - Aktuelle Temperatur der Leistungselektronik in °C 06h I2t Overload Level U16 ro 0 Aktuell aufsummierte I2t-Überlast in [%], siehe Kapitel 4.3.4 I2t-Begrenzung. Wertebereich 0…99 2113h Endtest - REC Defaultwerte, Motorenparameter 00h Grösster Subindex U8 ro 33h 20h Break away current U16 ro werkseitig 27h Position target range I16 rw 4h 31h - U32 ro werkseitig - Nicht zugeordnet 33h Bootloader version U8 ro werkseitig - Version des Bootloaders Beispiel: Version 5 = 05h U16 rw 50h 2114h Warning temperature Losbrechstrom in mA zum Freifahren nach Referenzieren auf Anschlag oder beim Deblockieren 1,4 1, 3 Halbe Breite des Zielfensters in Encoder-Schritten. Wenn aktuelle Position innerhalb Sollposition ± Position target range ist, gilt Zielfenster als erreicht. Temperatur-Grenzwert in °C für Ansprechen der Übertemperatur-Warnung. Überschreitet die Electronics temperature (Objekt 2112h-05h) diesen Grenzwert, wird eine EMCY-Meldung generiert (Objekt 1003h und 603Fh, Error code 4210h-0001h). Der Antrieb kann weiter betrieben werden (50h = 80°C). Bei Temperaturfehler wird der Antrieb gestoppt und in den Zustand ErrorDiagnostic versetzt (Error code 4210h0000h). Zurücksetzen (Error reset) erfolgt mit dem Kontrollwort (Objekt 6040h). 2300h Customer EEPROM ARR Speicherbereich für Anwenderdaten 00h Grösster Subindex U8 ro 7h 01h Data0 U16 rw 0h 1, 4 - ... ... ... ... ... U16 rw 0h 1, 4 - U8 rw 1h 1, 2 0 = PDO1 zyklisch senden 1 = PDO1 nur bei Änderung senden n = PDO1 nur bei Änderung senden (n mal, n : 2...255) ... ... 07h Data6 2800h PDO1 add-on Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem - 36/73 Baumer Electric AG Frauenfeld, Switzerland Objekt Name Format Zugriff Default Save 2801h PDO2 add-on U8 rw 1h 603Fh Error code U16 ro 0h Zuletzt aufgetretener Fehler (Tabelle 17, Objekt 1003h). 6040h Controlword U16 rw 0h Kontrollwort (siehe Tabelle 9) 1, 2 Beschreibung 0 = PDO2 zyklisch senden 1 = PDO2 nur bei Änderung senden n = PDO2 nur bei Änderung senden (n mal, n : 2...255) Bit 0 = SwitchOn Bit 1 = EnableVoltage Bit 2 = QuickStop Bit 3 = EnableOperation Bit 4 = StartAction (Fahre zum Ziel) Bit 5 = Change set immediately Bit 6 = Relative/absolute movement Bit 7 = Error reset Bit 8 = Halt Bit 9…10 nicht definiert Bit 11 = Jogging+ Bit 12 = JoggingBit 13...15 nicht definiert 6041h Statusword U16 ro 0h Statuswort (siehe Tabelle 4) Bit 0 = Ready to switch on Bit 1 = SwitchOn enabled Bit 2 = Operation enabled Bit 3 = Error active Bit 4 = Voltage enabled Bit 5 = QuickStop Bit 6 = SwitchOn disabled Bit 7 = Warning active Bit 8 = CalibrationOK Bit 9 = Not used (permanently 1) Bit 10 = Target position reached Bit 11 = Internal software limit switch active Bit 12 = Drive moving Bit 13 = Not used (permanently 0) Bit 14 = HomingOK Bit 15 = External hardware limit switch active ACHTUNG: HomingOK und CalibrationOK werden auf Null gesetzt, sobald ein Getriebe- oder Positionsparameter verändert wird (siehe Objekt 6098h). 605Dh Halt option code I16 rw 2h 1, 3 Verhalten des Antriebs nach Halt-Befehl (Kontrollwort Bit 8) 0h = Austrudeln des Antriebs (Regler wird deaktiviert) 1h = Bremsen mit Quickstop Rampe (nach Stillstand wird der Regler deaktiviert) 2h = wie bei 1h 6060h Modes of operation I8 wo 1h Betriebsmodus des Antriebs 01h = Positioning 06h = Homing Der aktuell aktive Betriebsmodus kann in Objekt 6061h gelesen werden. 6061h Modes of operation I8 ro 1h 01h = Positioning 06h = Homing display 6063h Position actual steps Aktuell aktiver Betriebsmodus des Antriebs I32 ro Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem - 37/73 Aktuelle Position in Encoder-Schritten Baumer Electric AG Frauenfeld, Switzerland Objekt Name Format Zugriff 6064h Position actual value I32 ro Default Save - Beschreibung Aktuelle Position in benutzerdefinierter Positionseinheit (siehe Objekt 608Ah). Wert wird berechnet aus aktueller Position in Encoder-Schritten multipliziert mit dem Position factor. Position actual value = Position actual steps * Position factor ACHTUNG: Wenn Positionseinheit Encoder-Schritte, dann Position factor = 1. Gear ratio oder Feed constant werden in diesem Fall nicht berücksichtigt. Der Antrieb ist mit einem Absolut-Multiturn-Encoder ausgerüstet. Nach dem Wiedereinschalten des Antriebs oder nach einem Ausfall der Betriebsspannung steht die aktuelle Position daher jederzeit sofort zur Verfügung – ohne Referenzierung. 6068h Position window time U16 rw 0h 1,3 Wartezeit nach der der Regler ausgeschaltet wird, sobald das Zielfenster erreicht wurde. 0h = deaktiviert: Wenn der Antrieb nach Zielerreichung wieder aus dem Zielfenster bewegt wird, ist der Regler aktiv und stellt den Antrieb ins Zielfenster zurück. >0h = aktiviert: Wartezeit in Millisekunden 606Ch Velocity actual value I32 ro - Aktuelle Geschwindigkeit in benutzerdefinierter Geschwindigkeitseinheit (siehe Objekt 608Ch). Wert wird berechnet aus aktueller Motordrehzahl in U/s multipliziert mit dem Velocity factor. Velocity actual value = Motordrehzahl * Velocity factor Für Geschwindigkeitseinheit Encoder-Schritte / Sekunde, Velocity factor = 8. Gear ratio oder Feed constant dann werden nicht berücksichtigt. 6073h Maximum current U16 rw werkseitig 1, 3 Vom Anwender einstellbare i2t-Begrenzung für den Motorstrom zur Drehmomentbegrenzung und als Überlastschutz. 00h = Strombegrenzung mit zulässigem Maximalwert xxh = Maximaler Motorstrom in mA Die Bestimmung erfolgt durch Mittelwertbildung über 8 Messwerte (alle 12 ms). Bei Überschreiten des Grenzwerts wird der aktive Fahrauftrag abgebrochen, eine EMCY Meldung abgesetzt und der Antrieb in den Zustand Errordiagnostik gebracht. ACHTUNG: Werkseitige Einstellung je nach Motorentyp (siehe Kapitel Technische Daten bzw. Datenblatt). Die werksseitige Einstellung ist der Höchstwert für den Einstellbereich von Maximum current und entspricht dem Wert in Objekt 6510h-7h Max motor current. Für maximales Anfahrmoment kann der Motorstrom kurzzeitig Max motor current erreichen, auch wenn Maximum current tiefer eingestellt ist. 6078h Current actual value I16 ro - 607Ah Target position I32 rw 0h Aktueller Strom des Antriebs in Milliampere (Mittelwert über acht Messwerte) 1, 3 Sollposition in benutzerdefinierter Positionseinheit (siehe Objekt 608Ah). Bit 6 im Kontrollwort gibt vor, ob Zielposition absolut oder relativ zu aktueller Position ist. Zwischenposition für Spielausgleich wird bei eingeschaltetem Spielausgleich automatisch bestimmt. Wenn aktuelle Position ausserhalb der SoftwareEndschalter liegt, sendet der Antrieb eine Abort Message (0609003h = Wert ausserhalb des zulässigen Wertebereichs). Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 38/73 Baumer Electric AG Frauenfeld, Switzerland Format Objekt Name 607Dh Software position limit ARR Zugriff Default Save Beschreibung Positionen der Software-Endschalter. Diese Positionen können direkt definiert oder über Referenzierung gesetzt werden (siehe Objekt 6098h). Die Software-Enschalter können deaktiviert werden, indem Subindex 01h und 02h auf denselben Wert gesetzt werden. 00h Grösster Subindex U8 ro 2h 01h Minimum software position limit I32 rw 0h 1, 3 Position des unteren Software-Endschalters in benutzerdefinierter Positionseinheit (siehe Objekt 608Ah). 02h Maximum software position limit I32 rw 0h 1, 3 Position des oberen Software-Endschalters in benutzerdefinierter Positionseinheit (siehe Objekt 608Ah). U8 rw 0h 1, 3 Drehrichtung der Motorachse bei steigenden Positionswerten (Blick auf Achse von Getriebeseite her). 607Eh Polarity - Bit7= 0: Drehrichtung im Uhrzeigersinn (CW) = 1: Drehrichtung im Gegenuhrzeigersinn (CCW) Bit0..6: nicht definiert ACHTUNG: Nach Änderung der Drehrichtung müssen Positionen der Software-Endschalter gespiegelt werden. (d.h. die Positionswerte von oberem und unterem Software-Endschalter tauschen und bei beiden das Vorzeichen ändern). Bei Stirnradgetrieben führt jede Getriebestufe zu einer Umkehrung der Drehrichtung an der Ausgangswelle. Bei Änderung wird automatisch HomingOK und CalibrationOK auf Null gesetzt (siehe Objekt 6098h). 607Fh Max profile velocity U32 rw werksseitig 1, 3 Maximal zulässige Geschwindigkeit in benutzerdefinierter Geschwindigkeitseinheit (siehe Objekt 608Ch). Max profile velocity resultiert aus umgerechneter maximaler Motordrehzahl. Maximaler Wert wird werksseitig eingestellt und kann nicht überschritten werden. 6081h Profile velocity U32 rw werksseitig 1, 3 Sollgeschwindigkeit in benutzerdefinierter Geschwindigkeitseinheit (siehe Objekt 608Ch). Für aktuelle Ist-Geschwindigkeit, siehe Objekt 606Ch). ACHTUNG: Sollgeschwindigkeit muss kleiner als maximal zulässige Geschwindigkeit (607Fh) sein. Ansonsten wird eine Abbruchmeldung ausgegeben (siehe SDO Abort Code in Tabelle 18) 6089h Position notation I8 rw FDh 1, 3 Notation der benutzerdefinierten Positionseinheit. FAh = mikro FBh = 10 mikro FCh = 100 mikro FDh = milli FEh = 10 milli FFh = 100 milli 00h = 1 (none) 01h = 10 02h = 100 03h = kilo ACHTUNG: Nur gültig für Linearbewegung mit Längeneinheit (Position dimension = 01h). Bei Änderung wird automatisch HomingOK und CalibrationOK auf Null gesetzt (siehe Objekt 6098h). Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 39/73 Baumer Electric AG Frauenfeld, Switzerland Objekt Name Format Zugriff 608Ah Position dimension U8 rw Default Save 01h 1, 3 Beschreibung Dimension der benutzerdefinierten Positionseinheit. Längeneinheit für Linearbewegung 01h = Meter Winkeleinheit für Drehbewegung (Getriebeausgang) 00h = Umdrehungen ACh = Encoder-Schritte 10h = Radiant 41h = Grad 42h = Winkelminute 43h = Winkelsekunde Die benutzerdefinierte Positionseinheit ergibt sich durch Multiplikation von Position notation mit Position dimension (nur gültig für Linearbewegung). Beispiel: Positionseinheit in Millimeter (Position notation = FDh und Position dimension = 01h). ACHTUNG: Bei Änderung wird automatisch HomingOK und CalibrationOK auf Null gesetzt (siehe Objekt 6098h). 608Bh Velocity notation I8 rw 00h 1, 3 Notation der benutzerdefinierten Geschwindigkeitseinheit. FAh = mikro FBh = 10 mikro FCh = 100 mikro FDh = milli FEh = 10 milli FFh = 100 milli 00h = 1 (none) 01h = 10 02h = 100 03h = kilo ACHTUNG: Nur gültig für Linearbewegung mit Längeneinheit. 608Ch Velocity dimension U8 rw A3h 1, 3 Dimension der benutzerdefinierten Geschwindigkeitseinheit. Längeneinheit für Linearbewegung A6h = Meter pro Sekunde A7h = Meter pro Minute A8h = Meter pro Stunde Winkeleinheit für Drehbewegung 00h = Encoder-Schritte pro Sekunde A3h = Umdrehungen pro Sekunde A4h = Umdrehungen pro Minute A5h = Umdrehungen pro Stunde Die benutzerdefinierte Geschwindigkeitseinheit ergibt sich durch Multiplikation von Velocity notation mit Velocity dimension (nur gültig für Linearbewegung). Beispiel: Geschwindigkeitseinheit in Millimeter / Sekunde (FDh und A6h). 608Fh Position encoder resolution ARR Singleturn-Auflösung des absoluten Drehgebers in Schritten/Umdrehung. Die Multiturn-Auflösung beträgt 29 Bit bzw. 536’870’912 Umdrehungen. ACHTUNG: Bei Änderung wird automatisch HomingOK und CalibrationOK auf Null gesetzt (siehe Objekt 6098h). 00h Grösster Subindex U8 ro 2h 01h Encoder increments U32 rw 8h 1, 3 Anzahl Schritte des Encoders pro Motorumdrehung (Zähler) 02h Encoder revolutions U32 rw 1h 1, 3 Anzahl Encoder- bzw. Motorumdrehungen (Nenner) Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem - 40/73 Baumer Electric AG Frauenfeld, Switzerland Objekt Name Format 6091h Gear ratio ARR Zugriff Default Save Beschreibung Getriebeuntersetzung i in Motorumdrehungen pro Umdrehung der Welle am Getriebeausgang. Gear ratio = Motor revolutions / Gear shaft revolutions Darstellung als Bruch, da nur ganzzahlige Werte erlaubt. Beispiel: i = 61,25 : 1 = 6125 / 100. ACHTUNG: Bei Änderung wird automatisch HomingOK und CalibrationOK auf Null gesetzt (siehe Objekt 6098h). 00h Grösster Subindex U8 ro 2h 01h Motor revolutions U32 rw 1h 1, 3 Anzahl Motorumdrehungen (Zähler) 02h Gear shaft revolutions U32 rw 1h 1, 3 Anzahl Umdrehung der Welle am Getriebeausgang (Nenner) 6092h Feed constant - ARR Berechnungsfaktor zur Umrechnung von Umdrehungen des Motors oder der Getriebeausgangswelle in Bewegung auf Benutzerseite. Feed constant = Feed / Spindle shaft revolutions. Bei Linearbewegungen mit Spindel entspricht Feed constant der Spindelsteigung. Darstellung als Bruch, da nur ganzzahlige Werte erlaubt. Beispiel: Spindelsteigung 2,5 mm / Umdrehung = 1000 mm / 400 Umdrehungen = 1 Meter / 400 Umdrehungen. ACHTUNG: Die Einheit für Weg (Feed) ist immer Meter. Es wird kein Bezug hergestellt zur eingestellten Position notation (6089h) oder Position dimension (608Ah). Bei Änderung wird automatisch HomingOK und CalibrationOK auf Null gesetzt (siehe Objekt 6098h). 00h Grösster Subindex U8 ro 2h 01h Feed U32 rw 1h 1, 3 Weg in Meter (Zähler) ACHTUNG: Die Einheit für Weg (Feed) ist immer Meter 02h Spindle shaft revolutions 6093h Position factor U32 rw 1h ARR U8 ro 2h 01h Numerator U32 ro 1h 02h Feed constant U32 ro 1h Velocity factor ARR U8 ro 2h 01h Numerator U32 ro 1h 02h Divisor U32 ro 1h I8 rw 0h Homing method - Berechnungsfaktor zur Umrechnung von Motordrehzahl (in Umdrehungen/s) in Velocity actual value (in benutzerdefinierter Geschwindigkeitseinheit, siehe Objekt 608Ch). 00h Grösster Subindex 6098h Anzahl Umdrehungen (Nenner) Berechnungsfaktor zur Umrechnung von Position actual steps (in Encoder-Schritten) in Position actual value (in benutzerdefinierter Positionseinheit, siehe Objekt 608Ah). 00h Grösster Subindex 6094h 1, 3 - Methode zur Referenzierung der Antriebs-Position. Nach dem Abschluss der Prozedur wird die Referenzposition gespeichert (Objekt 11h). Für Einzelheiten siehe Kapitel 4.4. Parameter / Beschreibung 00h Keine Referenzierung aktiv F6h Setze aktuelle Position (Objekt 6064h) als unteren Software-Endschalter (Objekt 607Dh-1h) F5h Setze aktuelle Position (Objekt 6064h) als oberen Software-Endschalter (Objekt 607Dh-2h) F4h Referenzieren mit Presetwert: Aktuelle Position (Objekt 6064h) mit überschrieben mit Zielposition (Objekt 607Ah). Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 41/73 Baumer Electric AG Frauenfeld, Switzerland Objekt Name Format Zugriff Default Save Beschreibung Anschliessend wird im Statuswort (Objekt 6041h) automatisch Bit14 (HomingOK) gesetzt. F3h Referenzieren mit Einmessmethode (Figur 16): Funktion dient zur Kalibrierung der Position beispielsweise schwer zugänglicher Referenzschalter: Aktuelle Position (Objekt 6064h) wird automatisch überschrieben mit Zielposition (Objekt 607Ah). Zusätzlich wird automatisch Referenzposition (Objekt 2111h-11h) um EinmessOffset korrigiert. Anschliessend wird im Statuswort (Objekt 6041h) automatisch zusätzlich Bit8 (CalibrationOK) gesetzt. ACHTUNG: Nur zulässig, wenn vorher im Statuswort (Objekt 6041h) bereits Bit14 (HomingOK) gesetzt ist. ECh Fahr zu unterem Software-Endschalter EBh Fahr zu oberem Software-Endschalter EAh Fahr zu Position Null E2h Referenzieren auf unteren Referenzschalter (Figur 14): Fahr zu unterem Referenzschalter. Sobald unterer Referenzschalter anspricht, wird automatisch aktuelle Position (Objekt 6064h) überschrieben mit gespeicherter Referenzposition (Objekt 2111h-11h). Anschliessend wird im Statuswort (Objekt 6041h) automatisch Bit14 (HomingOK) gesetzt. ACHTUNG: Nur möglich wenn Input 1 oder Input 2 (Objekt 0Dh oder 0Eh) eingestellt ist auf Referenzpunkt setzen (12h). E1h Referenzieren auf oberen Referenzschalter (Figur 14): Beschreibung analog Beschreibung E2h Referenzieren auf unteren Referenzschalter. D8h Referenzieren auf unteren Anschlag (Figur 15): Fahr zu unterem Anschlag. Sobald Antrieb blockiert, wird automatisch aktuelle Position (Objekt 6064h) überschrieben mit gespeicherter Referenzposition (Objekt 2111h-11h). Anschliessend wird im Statuswort (Objekt 6041h) automatisch Bit14 (HomingOK) gesetzt. D7h Referenzieren auf oberen Anschlag (Figur 15) Beschreibung analog Beschreibung D8h Referenzieren auf unteren Anschlag. Nach der Referenzierung wird das Objekt Homing method wieder automatisch auf 0h zurückgesetzt. ACHTUNG: HomingOK und CalibrationOK werden automatisch auf Null gesetzt bei Schalten in Homing oder bei Veränderung eines der Parameter zur Positionsberechnung: Polarity 607Eh, Position notation 6089h, Position dimension 608Ah, Position encoder resolution 608Fh, Gear ratio 6091h, Feed constant 6092h (siehe Kapitel 4.3.5). 6099h Homing speed ARR Geschwindigkeit für Referenzierung 00h Grösster Subindex U8 ro 2h 01h Speed during search for switch U32 rw 0Ah 1, 3 Geschwindigkeit in benutzerdefinierter Einheit beim Referenzieren auf Anschlag oder beim Fahren auf Endschalter. 02h Speed during search for zero position U32 rw 0Ah 1, 3 Geschwindigkeit in benutzerdefinierter Einheit beim Fahren zur Position Null. U32 ro 00000000h 60FDh Digital input monitor - Monitor für externe Hardware-Schalteingänge Bit0..15 nicht definiert Bit16 Monitorbit für Digital input 1 (Objekt 2111h-0Dh) Bit17 Monitorbit für Digital input 2 (Objekt 2111h-0Eh) Bit18..31 nicht definiert 6402h Motor type U16 rw Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 0001h 42/73 Motortyp (0001h = DC Motor mit PWM Ansteuerung) Baumer Electric AG Frauenfeld, Switzerland Objekt Name Format 6410h Motor data REC Zugriff Default Save Motorparameter 00h Grösster Subindex U8 ro 01h Motor operating time U32 ro 02h Software version 2h U32 ro werkseitig U32 ro 00000021h 1, 4 Drive modes Betriebszeit des Motors in Sekunden. Wert wird alle 6 Minuten gespeichert. Durch Zurücksetzen in den Auslieferungszustand wird der Zähler auf 0 gesetzt. Version der Firmware des Reglerprozessors (Beispiel: Version 1.00 = 0001h 0000h) controller 6502h Beschreibung Bit0 Positioning Bit5 Homing 6510h Drive data REC Antriebsparameter 00h Grösster Subindex U8 ro 0Ch - 01h Drive operating time U32 ro 02h Software version U32 ro 03h Number of positioning U32 ro 1, 4 Anzahl der Positionieraufträge. Wert wird alle 6 Minuten gespeichert. Durch Zurücksetzen in den Auslieferungszustand wird der Zähler auf 0 gesetzt. U32 ro 1, 4 Anzahl der durchgeführten Referenzierungen und Endschalter-Definitionen. Wert wird alle 6 Minuten gespeichert. Durch Zurücksetzen in den Auslieferungszustand wird der Zähler auf 0 gesetzt. U32 ro 1, 4 Anzahl der Speicherungsvorgänge ins EEPROM. Wert wird alle 6 Minuten gespeichert. Durch Zurücksetzen in den Auslieferungszustand wird der Zähler auf 0 gesetzt. U16 ro 1, 4 - Version der Firmware des Multiturn Encoder (Beispiel: Version 0.0.07 = 0000'0007h) encoder tasks 04h Number of homing tasks 05h Number of saving tasks 06h Error temperature Betriebszeit des Antriebs in Sekunden. Wert wird alle 6 Minuten gespeichert. Durch Zurücksetzen in den Auslieferungszustand wird der Zähler auf 0 gesetzt. 6Eh Temperatur-Grenzwert in °C für Ansprechen des Übertemperatur-Fehlers (6Eh = 110°C). Überschreitet die Electronics temperature (Objekt 2112h05h) diesen Grenzwert, wird der Antrieb gestoppt und eine EMCY-Meldung generiert (Objekt 1003h und 603Fh). Anschliessend wechselt der Antrieb in den Zustand Error Diagnostic (Error code 4210h-0001h). Zurücksetzen des Temperatur-Fehlers (Error reset) erfolgt mit Kontrollwort (Objekt 6040h). Der Temperatur-Grenzwert für den ÜbertemperaturFehler ist werkseitig definiert und kann nicht verändert werden. 07h Max motor current U16 ro werkseitig 08h Min position S32 ro Minimal zulässige Positionsangabe in benutzerdefinierter Positionseinheit (siehe Objekt 608Ah) 09h Max position S32 ro Maximal zulässige Positionsangabe in benutzerdefinierter Positionseinheit (siehe Objekt 608Ah) 0Ah Max velocity U32 ro Maximal zulässige Geschwindigkeitsangabe in benutzerdefinierter Geschwindigkeitseinheit (siehe Objekt 608Ch). 0Ch Continuous motor U16 ro werkseitig current Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 43/73 Maximal zulässiger Motorstrom in mA. Dieser Strom ist werksseitig eingestellt und kann nicht verändert werden. Er gibt den Maximalstrom vor, der in Objekt 6073h eingestellt werden kann. Zulässiger Motorendauerstrom (Nennstrom) in mA. Er ist werksseitig eingestellt und kann nicht verändert werden. Solange dieser Strom nicht überschritten wird, liegt keine I2t-Überlastung des Antriebs vor. Baumer Electric AG Frauenfeld, Switzerland 4 Inbetriebnahme 4.1 Node-ID, Baudrate und Abschlusswiderstand einstellen Wenn der Antrieb an den Bus angeschlossen wird, meldet er sich nach dem Einschalten mit einer BootUpMeldung auf dem Bus an. Nun muss der Antrieb an seine Umgebung angepasst und konfiguriert werden. Node-ID und Baudrate können entweder über Schalter, im EEPROM oder mit LSS eingestellt werden. Hierbei ist die Einstellung der Einstellschalter dominant über alle anderen Einstellmöglichkeiten. Einstellschalter sind werksseitig deaktiviert und Node-ID sowie Baudrate sind definiert in Objekt 2101h und 2100h bzw. aus dem EEPROM. Der Abschlusswiderstand wird über den Schalter eingestellt. Node-ID, Baudrate und Abschlusswiderstand einstellen über Einstellschalter Die Einstellung der Schalter ist dominant über alle anderen Einstellmöglichkeiten. S1 S0 S2 Figur 12: Rückansicht des Antriebs mit Dezimal-Drehschaltern S0 und S1 zur Einstellung der Node-ID sowie mit DIP-Schalter S2 zur Einstellung von Baudrate und Abschlusswiderstand. Tabelle 11: Einstellung von Node-ID über Dezimal-Drehschalter S0 und S1 (Zuordnung, siehe Figur 12). Werkseinstellung ist 00d. Node-ID und Baudrate sind in diesem Fall definiert durch Objekt 2101h und 2100h. Gleichzeitig sind die Stellungen 1…3 von DIP-Schalter S2 (Tabelle 12) deaktiviert. S1 S0 Node-ID 0 0 Objekt 2101h 0 1...9 1...9 1 0...9 10...19 2 0...9 20...29 3 0...9 30...39 4 0...9 40...49 5 0...9 50...59 6 0...9 60...69 7 0...9 70...79 8 0...9 80...89 9 0...9 90...99 Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 44/73 Baumer Electric AG Frauenfeld, Switzerland Tabelle 12: Einstellung von Baudrate und Abschlusswiderstand über DIP-Schalter S2. Werkseinstellung ist 1...4=OFF. Stellungen 1…3 vom DIP-Schalter sind nur aktiv, wenn Einstellung Dezimal-Drehschalter S0 und S1 nicht 00d sind. Stellung 4 vom DIP-Schalter ist in jedem Fall aktiv. S2 Baudrate [kBit/s] Abschlusswiderstand 1 2 3 4 OFF OFF OFF - Objekt 2100h - ON OFF OFF - 20 - OFF ON OFF - 50 - ON ON OFF - 125 - OFF OFF ON - 250 - ON OFF ON - 500 - OFF ON ON - 800 - ON ON ON - 1000 - - - - OFF - offen - - - ON - 120 Beim nächsten Initialisieren meldet sich der Antrieb mit neuer Node-ID und Baudrate auf dem Bus an. ACHTUNG: Auch die Baudrate des Masters muss nun geändert werden, um den Antrieb anzusprechen. Node-ID und Baudrate einstellen im EEPROM Die Einstellung der Node-ID im EEPROM erfolgt über das Objekt 2101h. Dies ist nur möglich, wenn alle Einstellschalter sich in Werkseinstellung befinden (S0…S1 = 0, S2 1…3 = OFF). Beispiel Node-ID auf 23h einstellen: COB-ID DLC Kommando Objekt L Objekt H Subindex Data 0 Data 1 Data 2 Data 3 600h+Node-ID 8 2Fh 01h 21h 0h 23h xx xx xx DLC Kommando Objekt L Objekt H Subindex Data 0 Data 1 Data 2 Data 3 60h 01h 21h 0h 0h 0h 0h 0h Bestätigung: COB-ID 580h+Node-ID 8 Tabelle 13: Einstellung der Baudrate im EEPROM über Objekt 2100h. Hierbei wird ein Index ins Objekt geschrieben, nicht die effektive Baudrate (nur möglich, wenn Drehschalter in Werkseinstellung 00). ACHTUNG: Die Indices für Objekt 2100h und LSS unterscheiden sich. Baudrate [kBit/s] 20 50 100 125 250 500 800 1000 Index (Definition in Objekt 2100h) 1h 2h 3h 4h 5h 6h 7h 8h Index (LSS) nach CiA-Tabelle 7h 6h 4h 3h 2h 1h 0h 5h Beispiel: Einstellen der Baudrate auf 250 kBit/s (5h): COB-ID DLC 600h+Node-ID 8 Kommando Objekt L Objekt H Subindex Data 0 Data 1 Data 2 Data 3 2Fh 00h 21h 0h 05h Xx Xx Xx Kommando Objekt L Objekt H Subindex Data 0 Data 1 Data 2 Data 3 60h 00h 21h 0h 0h 0h 0h 0h Bestätigung: COB-ID DLC 580h+Node-ID 8 Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 45/73 Baumer Electric AG Frauenfeld, Switzerland Nun müssen die neuen Einstellungen über Objekt 1010h nichtflüchtig in Speicher (EEPROM) geschrieben werden. Dazu muss die Botschaft "save“ in den Subindex 1 geschrieben werden. COB-ID DLC 600h+Node-ID 8 Kommando Objekt L Objekt H Subindex Data 0 Data 1 Data 2 Data 3 23h 10h 10h 01h 73 's’ 61 'a’ 76 'v’ 65 'e’ Kommando Objekt L Objekt H Subindex Data 0 Data 1 Data 2 Data 3 60h 10h 10h 01h 0h 0h 0h 0h Bestätigung: COB-ID DLC 580h+Node-ID 8 Beim nächsten Initialisieren meldet sich der Antrieb mit neuer Node-ID und Baudrate auf dem Bus an. ACHTUNG: Auch die Baudrate des Masters muss nun geändert werden, um den Antrieb anzusprechen. Node-ID und Baudrate einstellen mit LSS Wenn mehrere Teilnehmer am selben Bus die gleiche Node-ID und Baudrate besitzen, können diese zwei Objekte mit LSS umgestellt werden. Mit LSS wird der Antrieb über Produktcode, Revisionsnummer, VendorID und Seriennummer angesprochen und konfiguriert (siehe Kapitel 2.2.10). Beim nächsten Initialisieren meldet sich der Antrieb mit neuer Node-ID und Baudrate auf dem Bus an. ACHTUNG: Auch die Baudrate des Masters muss nun geändert werden, um den Antrieb anzusprechen. 4.2 Objekte schreiben und lesen Um ein Objekt (SDO) zu schreiben oder zu lesen werden immer zwei Telegramme ausgetauscht. Objekt setzen Zuerst sendet der Master den zu setzenden Wert. Anschliessend sendet der Antrieb die Bestätigung. Master sendet Wert (wxyz): COB-ID DLC 600h+Node-ID 8 Kommando Objekt L Objekt H Subindex Data 0 Data 1 Data 2 Data 3 23h 7Dh 60h 1h w x y z Antwort des Antriebs als Bestätigung: COB-ID DLC 580h+Node-ID 8 Kommando Objekt L Objekt H Subindex Data 0 Data 1 Data 2 Data 3 60h 7Dh 60h 1h 0 0 0 0 Objekt lesen Zuerst sendet der Master eine Aufforderung des gewünschten Objekts. Dann sendet der Antrieb den geforderten Wert. Anfrage vom Master: COB-ID DLC 600h+Node-ID 8 Kommando Objekt L Objekt H Subindex Data 0 Data 1 Data 2 Data 3 40h 41h 60h 0 x x x x Antwort (abcd) des Antriebs auf die Anfrage: COB-ID DLC 580h+Node-ID 8 Kommando Objekt L Objekt H Subindex Data 0 Data 1 Data 2 Data 3 43h 41h 60h 0 a b c d Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 46/73 Baumer Electric AG Frauenfeld, Switzerland Parameter speichern ins EEPROM Mit dem Objekt 1010h können die in den Objekten enthaltenen Parameter nichtflüchtig in ein EEPROM gespeichert werden. Um unbeabsichtigtes Speichern zu verhindern, muss dabei der Befehl save in Objekt 1010h, Subindex 1, Byte 5 bis 8 geschrieben werden. Welches der Objekte mit welchem Speicherkommando gespeichert wird, ist spezifiziert in Tabelle 10, Spalte Save und Beschreibung zu Objekt1010h. COB-ID DLC 600h+Node-ID 8 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 23 10 10 01 73 (= s) 61 (= a) 76 (= v) 65 (= e) Byte 6 Byte 7 Byte 8 Default Parameter laden aus dem EEPROM Mit dem Objekt 1011h können die Default-Werte der Objekt-Parameter aus dem EEPROM geladen werden. Um unbeabsichtigtes Laden zu verhindern, muss dabei der Befehl load in Objekt 1011h, Subindex 1, Byte 5 bis 8 geschrieben werden. Welches der Objekte mit welchem Ladekommando geladen wird, ist spezifiziert in Tabelle 10, Spalte Save und Beschreibung zu Objekt1011h. ACHTUNG: Die aktuellen Werte im RAM werden bei Laden überschrieben. COB-ID DLC 600h+Node-ID 8 4.3 4.3.1 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 23 11 10 01 6C (= l) 6F (= o) 61 (= a) 64 (= d) Byte 7 Byte 8 Antriebsparameter konfigurieren Notation, Dimension und Getriebe Gear ratio (6091h) Feed constant (6092h) Motor Position encoder resolution (608Fh) Profile velocity (6081h) Actual position value (6064h) Figur 13: Konfigurierung des Antriebs. Benutzerdefinierte Positionseinheit (Position notation und Position dimension) Die benutzerdefinierte Positionseinheit setzt sich zusammen aus Position notation (Objekt 6089h) und Position dimension (Objekt 608Ah). Position notation entspricht einem Vorfaktor, d.h. für Linearbewegungen -6 -3 0 3 z.B. mikro (10 ), milli (10 ), 1 (10 ) oder kilo (10 ). Für Drehbewegungen ist nur Position notation = 1 sinnvoll. Die Position dimension entspricht der eigentlichen Positionseinheit, d.h. für Linearbewegungen Meter und für Drehbewegungen Encoder-Schritte, Grad, Minuten, Sekunden oder Radiant. Die benutzerdefinierte Positionseinheit ergibt sich als Multiplikation: BenutzerdefiniertePositionseinheit Positionnotation* Positiondimension Beispiel: [Position] milli* meter Millimeter Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 47/73 Baumer Electric AG Frauenfeld, Switzerland Nach Definition der benutzerdefinierten Positionseinheit beziehen sich alle Positionsangaben zur Ansteuerung des Antriebs (ausser Objekt 6063h) nur noch auf diese Einheit und werden intern automatisch umgerechnet unter Berücksichtigung von Getriebeuntersetzung (Gear ratio) und der Spindel bzw. Kundengetriebe (Feed constant). Dieses Prinzip gilt analog für die benutzerdefinierte Geschwindigkeitseinheit. Position encoder resolution (Objekt 608Fh) Dieses Objekt ist in 2 Subindexe unterteilt. Subindex 01h ist die Anzahl der Encoder-Schritte. Subindex 02h beschreibt beinhaltet die Anzahl Umdrehungen. Unser Sensor hat 8 Schritte pro Motor-Umdrehung, also ist Position encoder resolution = 8. Encoder increments Position encoder resolution Motor revolutions Gear ratio (Objekt 6091h) In diesem Objekt wird in Subindex 01h und 02h das Getriebe-Untersetzungsverhältnis dargestellt. Wenn zum Beispiel das Untersetzungsverhältnis den Wert 61.25 hat, wird in Subindex 01h der Wert 6125 und in Subindex 02h der Wert 100 eingetragen. 6125/100 = 61.25 Gear ratio Motor revolutions Gear shaft revolutions Feed constant (Objekt 6092h) Dieses Objekt definiert in Subindex 01h und 02h das Kundengetriebe. Zum Beispiel 400 Umdrehungen der Spindel ergeben einen Meter Weg (Linearumsetzung). ACHTUNG: Die Wegeinheit für Feed ist immer Meter. Aus Vereinfachungsgründen wird kein Bezug zur eingestellten Position notation (6089h) oder Position dimension (608Ah) hergestellt. Feed constant Feed Spindle shaft revolutions Beispiel : Feed constant 1m 1000 mm mm 2.5 400 U 400 U U Position factor (Objekt 6093h) Gear ratio Positionfactor Positionnotation Positiondimension Encoder resolution Feed constant 1 1m Beispiel: Positionfactor 1 1000 mm Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 8 Schritte 6125 1U 100 196 Schritte 1m mm 400 U 48/73 Baumer Electric AG Frauenfeld, Switzerland Position actual value (Objekt 6064h) Position actual value Position actual steps Position actor f Beispiel:100 mm (appli kationsseitig) 9' 800 Encoder-Schritte (motorseitig) Beispiel:Maximalwert für Position actualvalue 2 31 -1 mm 10' 956' 549 mm 196 ACHTUNG: Falls als Positionseinheit Encoder-Schritte eingestellt ist, dann gilt automatisch Position factor =1. Gear ratio oder Feed constant werden dann nicht in der Umrechnung mitberücksichtigt. Anhand obiger 31 Formel kann ausserdem aus der maximalen Anzahl der Encoder-Schritte Positions actual steps (2 -1) der Maximalwert für Position actual value berechnet werden (siehe Beispiel). Benutzerdefinierte Geschwindigkeitseinheit (Velocity notation and Velocity dimension) Die benutzerdefinierte Geschwindigkeitseinheit setzt sich zusammen aus Velocity notation (Objekt 608Bh) und Velocity dimension (Objekt 608Ch). Velocity notation entspricht einem Vorfaktor, d.h. für -6 -3 -0 3 Linearbewegungen mikro (10 ), milli (10 ), 1 (10 ) oder kilo (10 ). Für Drehbewegungen ist nur Position notation = 1 sinnvoll. Die Velocity dimension entspricht der eigentlichen Geschwindigkeitseinheit, d.h. für Linearbewegungen beispielsweise Meter pro Sekunde und für Drehbewegungen Encoder-Schritte pro Sekunde oder Grad pro Sekunde. Die benutzerdefinierte Positionseinheit ergibt sich als Multiplikation: BenutzerdefinierteGeschwindigkeitseinheit Velocitynotation* Velocitydimension Beispiel: [Geschwindigkeit] milli* meter/s Millimeter /s Nach Definition der benutzerdefinierten Geschwindigkeitseinheit beziehen sich alle Geschwindigkeitsangaben zur Ansteuerung des Antriebs nur noch auf diese Einheit und werden intern automatisch umgerechnet unter Berücksichtigung von Getriebeuntersetzung (Gear ratio) und der Spindel bzw. Kundengetriebe (Feed constant). Velocity factor (Objekt 6094h) Velocityfactor Velocitynotation Velocitydimension Encoder resolution Gear ratio Feed constant Encoder resolution 8 6125 1 1 Beispiel: Velocityfactor 1 100 0.408 1 8 60 1000 400 1 Velocity actual value (Objekt 606Ch) und Profile velocity (Objekt 6081h) Velocityactual value Motordrehzahl in U/s Velocityfactor Profilevelocity Motordrehzahl in U/s Velocityfactor 73 mm/min(applikationsseitig) 30 U/s (motorseitig) ACHTUNG: Falls als Geschwindigkeitseinheit Encoder-Schritte / Sekunde eingestellt ist, dann gilt automatisch Velocity factor = 1/8. Gear ratio oder Feed constant werden dann nicht in der Umrechnung mitberücksichtigt. Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 49/73 Baumer Electric AG Frauenfeld, Switzerland 4.3.2 Drehrichtung (Polarity) Im Objekt 607Eh kann die Drehrichtung definiert werden. 4.3.3 Strom und Geschwindigkeit Die Drehmoment-Begrenzung des Antriebs erfolgt über die Begrenzung des maximalen Motorstroms (siehe Objekt 6073h). Es kann ein Wert zwischen 0 mA und dem werksseitig eingestellten maximalen Motorstrom (siehe Objekt 6510h-7h) ins Objekt geschrieben werden. Der Wert 0 entspricht der maximal zulässigen Strombegrenzung. Werte zwischen 1 mA und dem maximalen Motorstrom sorgen für eine (Drehmoment-) Begrenzung. Die Geschwindigkeiten werden wie die Positionen in benutzerdefinierten Einheiten angegeben. Somit wird die Dimension und Notation (Objekte 608Bh, 608Ch) der Geschwindigkeitsangabe als auch die Getriebeund Encoder-Einstellungen (Objekte 608Fh, 6091h, 6092h) verrechnet. 4.3.4 2 I t-Begrenzung 2 Die I t-Strombegrenzung erlaubt es, den Antrieb kurzzeitig oberhalb seiner Nennleistung zu betreiben. Die Überlastung kann wiederholt werden, solange auch wieder Ruhephasen eingelegt werden, in denen der Antrieb mit geringerer Leistung betrieben wird und sich abkühlen kann. Übersteigt der gemessene Strom den zulässigen Dauermotorstrom (Objekt 6510-0Ch Continuous motor current) für eine abhängig von der Stromhöhe definierte Zeit, wird der anliegende Fahrbefehl abgebrochen und in den Zustand ErrorDiagnostic gewechselt (Fehler Continuous over current, Error Code 2310h). Wird der Antrieb überlastet und anschliessend höchstens mit dem zulässigen Dauerstrom betrieben, wird die Überlastung wieder abgebaut. Nennbetrieb 6510h-0Ch Continous motor current Überlast I 6073h Maximum current Wechsel in den Zustand ErrorDiagnostic Error Code 2310h t Figur 14: Stromverlauf bis zur I2t-Begrenzung. Der aktuelle Wert der Überlastung kann aus dem Objekt 2112h-06h I2t Overload Level ausgelesen werden. Er gibt den relativen Grad der aktuellen Überlastung bezogen auf die maximal erlaubte Überlastung an. Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 50/73 Baumer Electric AG Frauenfeld, Switzerland 4.3.5 Strombegrenzung Bei aktivierter Strombegrenzung lässt der Regler keinen höheren Strom als den vom Anwender bestimmbaren Maximalstrom (Objekt 6073h Maximum current) zu. Wenn der Antrieb auf einen Widerstand fährt, bringt er ein konstantes Moment auf. Wenn Strombegrenzung anspricht und Antrieb sich nicht bewegt, dann wird eine EMCY-Meldung Warnung Motor blockiert (Objekt 7121h 0001h) ausgegeben Motor blocked Warnung Code 7121h 0001h Strombegrenzung aktiviert I Warnung zurückgesetzt 6510h Sub 0Ch Continous motor current Nennbetrieb Überlast 6073h Maximum current t Figur 15: Stromverlauf bei Strombegrenzung aktiviert. ACHTUNG: Bei aktivierter Strombegrenzung kann die Lebensdauer des bürstenbehafteten Motors in kürzerer Zeit erreicht werden als mit deaktivierter Funktion. Bei deaktivierter Strombegrenzung wird der anliegende Fahrbefehl abgebrochen, wenn der Strom Maximum current (Objekt 6073h) während typ. 100 ms überschreitet und es wird ein Error motor blocked (Error Code 7121h 0000h) abgesetzt. Strombegrenzung deaktiviert Motor blocked Error Code 7121h 0000h I 6510h Sub 0Ch Continous motor current Nennbetrieb Überlast 6073h Maximum current t Figur 16: Stromverlauf bei Strombegrenzung deaktiviert. Per Default ist die Strombegrenzung deaktiviert. Sie lässt sich in Version control (Objekt 2110h Bit 19) aktivieren. Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 51/73 Baumer Electric AG Frauenfeld, Switzerland 4.3.6 Positioning Timeout Falls dieser Wert nicht 0 ist, wird ein Fahrauftrag abgebrochen, wenn er länger als die angegebene Zeit in ms benötigt. 4.3.7 Spielausgleich Im Objekt 2111h Subindex 1 kann angegeben werden, wie das Ziel angefahren werden soll. Entweder wird das Ziel direkt, von oben oder von unten angefahren. Zusätzlich wird in Subindex 2 definiert, wie weit der Antrieb zum Spielausgleich über die Zielposition hinausfahren soll. Beispiel: Der Antrieb befindet sich auf aktueller Position 1000. Die Zielposition ist 2000. Wenn nun „Zielposition direkt anfahren“ aktiviert ist, dann wird die Zielposition von unten her angefahren. Ist dagegen „Zielposition von oben anfahren“ aktiviert, dann fährt der Antrieb zuerst auf Zwischenposition 2100 (bei Backlash delta 100) und dann von oben nach unten auf Zielposition 2000. Tabelle 14: Beispiele für Antriebsparameter. Parameter Objekt Subindex Wert Beschreibung FDh milli (*10-3) Position notation 6089h 0 Position dimension 608Ah 0 01h Meter (Längsbewegung) Velocity notation 608Bh 0 FDh milli (*10-3) Velocity dimension 608Ch 0 A6h Meter / min Encoder increments 608Fh 1 04h 8 Encoder-Schritte pro Umdrehung Motor revolutions 608Fh 2 01h Gear ratio – motor revolutions 6091h 1 Gear ratio – shaft revolutions 6091h 2 64h Feed constant - feed 6092h 1 01h 2,5 mm / Umdrehung Feed constant – shaft revolutions 6092h 2 17EDh 61.25 = 6125 / 100 190h = 1000 mm / 400 Umdrehungen = 1 Meter / 400 Umdrehungen 4.3.8 Einstellungen speichern Über das Objekt 1010h wird das Speichern in den nicht flüchtigen Speicher (EEPROM) ausgelöst. Um ein unabsichtliches Speichern zu verhindern muss die Botschaft „save“ in den Subindex 1 geschrieben werden. COB-ID DLC 600h+Node-ID 8 Kommando Objekt L Objekt H Subindex Data 0 Data 1 Data 2 Data 3 23h 10h 10h 1h 73 ‚s’ 61 ‚a’ 76 ‚v’ 65 ‚e’ Kommando Objekt L Objekt H Subindex Data 0 Data 1 Data 2 Data 3 60h 10h 10h 1h 0 0 0 0 Antwort: COB-ID DLC 580h+Node-ID 8 4.4 Antriebsposition referenzieren (Homing) Der Antrieb benötigt einen Bezugspunkt zur Anlage oder Applikation. Hierzu muss der Antrieb im Normalfall einmalig referenziert werden. Nach dem Einschalten befindet sich der Antrieb im Zustand Ready. Das Referenzieren erfolgt im Mode of operation Homing mit dem Objekt 6098h. Der Wechsel des Mode of operation erfolgt durch: 1. Objekt 6060h (Modes of operation) auf 6=Homing setzen 2. Objekt 6040h (Kontrollwort) auf 000Fh setzen SwitchOn, EnableVoltage, QuickStop und EnableOperation = 1 Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 52/73 Baumer Electric AG Frauenfeld, Switzerland Anlagen-Bezugspunkt anfahren Es gibt verschiedene Möglichkeiten zum Setzen der Referenzposition: 1. Herantasten an Bezugspunkt über Jogging, d.h. Ansteuerung der digitalen Hardware-Schalteingänge a. Externe Anschlüsse im Objekt 2111h, Subindex 02h als Schalter für Jogging+/- definieren. 2. Herantasten an Bezugspunkt durch Vorgabe von Zielpositionen über den CAN-Bus (relativ / absolut) a. Zielposition vorgeben in benutzerdefinierter Einheit (siehe Objekt 607Ah) b. Relativ oder absolut in Objekt 6040h, Bit6 setzen c. Fahren mit Objekt 6040h, Bit4 (HomingStart) 3. Fahren auf Anschlag (Anschlag als Anlagen-Bezugspunkt) a. Strombegrenzung mit Objekt 6073h auf Minimum setzen b. Mit Objekt 6098h, Wert –40, -41 hin- und herfahren c. ACHTUNG: Durch die Getriebeuntersetzung können sehr grosse Kräfte wirken. 4. Fahren bis externer Referenzschalter anspricht (Position des Referenzschalters als Bezugspunkt) a. Externen Referenzschalter an Referenzposition anbringen b. Externen Hardware-Schalteingang im Objekt 2111h, Subindex 02h als HardwareEndschalter definieren c. Mit Objekt 6098h, Wert –30, -31 hin- und herfahren d. Nachdem die Referenzposition gefunden und gespeichert ist, kann der externe Referenzschalter demontiert werden Referenzposition direkt setzen ACHTUNG: Das direkte Setzen der Referenzposition kann gefährlich sein. Bei Eingabe einer inkorrekten Referenzposition ist anschliessend die Funktion der Endschalter wirkungslos. Der Antrieb kann dann gegen einen Anschlag fahren. Aus diesem Grunde wurde von der CiA ein spezielles Vorgehen definiert. Hierbei muss zunächst die Zielposition auf die zu setzende Referenzposition geändert werden. Danach wird die aktuelle Position des Antriebs mit Objekt 6098, Wert –12 mit der Zielposition (Target position) überschrieben. Beispiel: Setze Position des Antriebs an der aktuellen Stelle auf 100 mm. 1. Setze Antrieb in den Zustand HomingReady 2. Setze Objekt 607Ah (Target position) auf 100 (Beispiel: Antrieb arbeitet in mm) 3. Setze nächste Referenzierung mit Objekt 6098 (Homing method) auf –12 4. Starte Referenzierung mit Objekt 6040h (Kontrollwort) = 001Fh Tabelle 15: Übersicht über Referenzierungs-Methoden (Objekt 6098h) im Zustand HomingReady. Objekt 6098h Beschreibung 0 0h Keine Referenzierung aktiv -10 F6h Setze aktuelle Position als unteren Software-Endschalter -11 F5h Setze aktuelle Position als oberen Software-Endschalter -12 F4h Referenzieren mit Presetwert -13 F3h Referenzieren mit Einmessmethode -20 ECh Fahr zu unterem Software Endschalter -21 EBh Fahr zu oberem Software Endschalter -22 EAh Fahr zu Position Null -30 E2h Referenzieren auf unteren Referenzschalter -31 E1h Referenzieren auf oberen Referenzschalter -40 D8h Referenzieren auf unteren Anschlag -41 D7h Referenzieren auf oberen Anschlag Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 53/73 Baumer Electric AG Frauenfeld, Switzerland Mit einem Start-Befehl kann man die gewünschte Auswahl aktivieren bzw. starten. Im Zustand PositioningReady kann das Ziel gesetzt und angefahren werden (siehe Kapitel 2.4.3). 4.4.1 Position oder Referenzposition direkt setzen Antrieb wird in den Zustand HomingReady gesetzt: COB-ID DLC 600h+Node-ID 5 Kommando Objekt L Objekt H Subindex Data 0 2Fh 60h 60h 0 06h Kommando Objekt L Objekt H Subindex Data 0 Data 1 Data 2 Data 3 60h 60h 60h 0 0 0 0 0 Antwort: COB-ID DLC 580h+Node-ID 8 Es wird das Kommando 0Fh ins Kontrollwort geschrieben: COB-ID DLC 600h+Node-ID 8 Kommando Objekt L Objekt H Subindex Data 0 Data 1 Data 2 Data 3 23h 40h 60h 0 0Fh 0 0 0 Kommando Objekt L Objekt H Subindex Data 0 Data 1 Data 2 Data 3 60h 40h 60h 0 0 0 0 0 Antwort: COB-ID DLC 580h+Node-ID 8 Setzen der Homing-Methode Referenzieren mit Presetwert: Weise Zielposition der aktuellen Position zu. COB-ID DLC 600h+Node-ID 5 Kommando Objekt L Objekt H Subindex Data 0 2Fh 98h 60h 0 F4h Kommando Objekt L Objekt H Subindex Data 0 Data 1 Data 2 Data 3 60h 98h 60h 0 0 0 0 0 Kommando Objekt L Objekt H Subindex Data 0 Data 1 Data 2 Data 3 23h 7Ah 60h 0 x x x x Kommando Objekt L Objekt H Subindex Data 0 Data 1 Data 2 Data 3 60h 7Ah 60h 0 0 0 0 0 Antwort: COB-ID DLC 580h+Node-ID 8 Ziel (bzw. 0) setzen: COB-ID DLC 600h+Node-ID 8 Antwort: COB-ID DLC 580h+Node-ID 8 Es wird ein Start ins Kontrollwort geschrieben: COB-ID DLC 600h+Node-ID 8 Kommando Objekt L Objekt H Subindex Data 0 Data 1 Data 2 Data 3 23h 40h 60h 0 1Fh 0 0 0 Kommando Objekt L Objekt H Subindex Data 0 Data 1 Data 2 Data 3 60h 40h 60h 0 0 0 0 0 Antwort: COB-ID DLC 580h+Node-ID 8 Sobald aktuelle Position neu gesetzt ist, wird das Bit14 HomingOK im Statuswort (Objekt 6041h) gesetzt. Antrieb wird in den Zustand PositioningReady gesetzt: COB-ID DLC 600h+Node-ID 5 Kommando Objekt L Objekt H Subindex Data 0 2Fh 60h 60h 0 01h Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 54/73 Baumer Electric AG Frauenfeld, Switzerland Antwort: COB-ID DLC 580h+Node-ID 8 Kommando Objekt L Objekt H Subindex Data 0 Data 1 Data 2 Data 3 60h 60h 60h 0 0 0 0 0 Es wird das Kommando 0Fh ins Kontrollwort geschrieben: COB-ID DLC 600h+Node-ID 8 Kommando Objekt L Objekt H Subindex Data 0 Data 1 Data 2 Data 3 23h 40h 60h 0 0Fh 0 0 0 Kommando Objekt L Objekt H Subindex Data 0 Data 1 Data 2 Data 3 60h 40h 60h 0 0 0 0 0 Antwort: COB-ID DLC 580h+Node-ID 8 Nun befindet sich der Antrieb wieder imZustand PositioningReady und ist bereit für Fahraufträge. 4.4.2 Referenzieren auf Referenzschalter Beim Übergang des Referenzschalters von logisch HIGH auf LOW wird die Referenzposition (Objekt 2111h11h) der aktuellen Position (Objekt 6064h) zugewiesen. Sobald im Statuswort 6041h das Bit14 HomingOK gesetzt wurde, ist die Referenzierung abgeschlossen. S S S Logisch LOW Logisch HIGH Unterer Referenzschalter S Logisch HIGH Oberer Referenzschalter Logisch LOW Vgross Homing Method -30 Vklein Vgross Vklein Vklein Homing Method -31 S: Vgross Free referencing distance (Objekt 2111-1Eh) Referenzschalter suchen mit Profile velocity (Objekt 6081h) Figur 17: Referenzieren auf unteren bzw. oberen Referenzschalter. Achtung: Es darf nur ein einziger digitaler Eingang als Referenzschalter konfiguriert sein. Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 55/73 Baumer Electric AG Frauenfeld, Switzerland 4.4.3 Referenzieren auf Anschlag Der Antrieb fährt mit Homing speed auf den Anschlag. Wenn der Motor blockiert ist, wird die Referenzposition (Objekt 2111h-11h) der aktuellen Position (Objekt 6064h) zugewiesen. Anschliessend wird der Antrieb mit dem maximal zulässigem Strom um den Weg s frei gefahren. Sobald im Statuswort 6041h das Bit14 HomingOK gesetzt wurde, ist die Referenzierung abgeschlossen. S S Vklein Homing method -40 Vgross Imin Vklein Imax Imin Vgross Homing method -41 Imax Anschlag suchen mit Vklein kleiner Geschwindigkeit (Homing speed, Objekt 6099-1h) Imin kleinem Strom (Max current, Objekt 6073h) Freifahren mit Vgross maximaler Geschwindigkeit (Profile velocity, Objekt 6081h) Imax losbrech Strom (Break away current, Objekt 2113h-20h werkseitig) S: Freifahrweg (Free referencing distance, Objekt 2111-1Eh) Figur 18: Referenzieren auf Anschlag in Abwärtsrichtung oder in Aufwärtsrichtung. Positionswert 4.4.4 Referenzieren mit Einmessmethode Voraussetzung für diese Homing-Methode ist, dass Antrieb bereits referenziert wurde. Somit muss das Bit14 im Statuswort (Objekt 6041) HomingOK bereits gesetzt sein. Beim Starten dieser Homing-Methode wird zunächst der Einmess-Offset bestimmt. Anschliessend wird die Ist-Position mit der Zielposition (Target position) neu gesetzt. Zusätzlich wird die Referenzposition (2111h-11h) mit dem Einmess-Offset korrigiert. Nach Abschluss der Einmessmethode wird das Bit8 im Statuswort (6041h) CalibrationOK gesetzt. EinmessAlte Referenzposition Offset 2111h-11h Korrigierte Referenzposition IstEinmessPosition Offset Einmessmethode Sollposition Korrigierte SW-Position Alte SW-Position Ur-Position Achsposition Figur 19: Referenzieren mit der Einmessmethode. Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 56/73 Baumer Electric AG Frauenfeld, Switzerland 4.4.5 Zurücksetzen der Statusbits HomingOK und CalibrationOK Durch folgende Aktionen werden die Statusbits HomingOk (Bit14) und CalibrationOK (Bit8) auf Null zurück gesetzt: Wenn während eines Fahrauftrags die Betriebsspannung ausgeschaltet wird. Liegt hierbei noch die getrennte Betriebsspannung Elektronik +VsE an, so werden HomingOK und CalibrationOK nicht zurückgesetzt. Wenn im Servicebetrieb ohne Buskommunikation verfahren wird. Nach dem Start folgender Homing-Methoden: Objekt 6098h Beschreibung -12 F4h Referenzieren mit Presetwert (überschreibe aktuelle Position mit Zielposition) -13 F3h Referenzieren mit Einmessmethode -30 E2h Referenzieren auf unteren Referenzschalter (Fahr zu unterem Referenzschalter) -31 E1h Referenziere auf oberen Referenzschalter (Fahr zu oberem Referenzschalter) -40 D8h Referenzieren auf unteren Anschlag (Fahr zu unterem Anschlag) -41 D7h Referenzieren auf oberen Anschlag (Fahr zu oberem Anschlag) Nach dem Überschreiben folgender Objekte: Objekt 4.5 Beschreibung 607Eh-00h Polarity 6091h-01h Gear - Motor revolutions 6091h-02h Gear - Gear shaft revolutions 6089h-00hh Position notation 608Ah-00h Position dimension 608Fh-01h Position encoder resolution - Encoder increments 608Fh-02h Position encoder resolution - Encoder revolutions 6092h-01h Feed constant - Feed 6092h-02h Feed constant - Spindle shaft revolutions Positionen der Software-Endschalter setzen Nachdem die Referenzposition gesetzt ist, können die Positionen der Software-Endschalter definiert werden. Die Positionen dieser Endschalter beziehen sich immer auf den Offsetwert. Werden Referenzposition oder Offset verschoben, werden auch die Positionen der Software-Endschalter mit verschoben. Software-Endschalter anfahren Die Positionen der Software-Endschalter können mit den gleichen Mitteln wie die Referenzposition angefahren werden. Software-Endschalter setzen Nachdem sich Antrieb an der Position eines Endschalters befindet, kann diese mit dem Objekt 6098h, Wert – 10 oder –11 als Position für den unterer bzw. oberer Software-Endschalter übernommen werden. Position der Software-Endschalter direkt eingeben Als zusätzliche Variante können die Positionen der Software-Endschalter mit dem Objekt 607Dh, Subindex1 oder 2, direkt eingegeben werden. Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 57/73 Baumer Electric AG Frauenfeld, Switzerland Position für unteren Software-Endschalter direkt setzen: COB-ID DLC 600h+Node-ID 8 Kommando Objekt L Objekt H Subindex Data 0 Data 1 Data 2 Data 3 23h 7Dh 60h 1 x x x x Kommando Objekt L Objekt H Subindex Data 0 Data 1 Data 2 Data 3 60h 7Dh 60h 1 0 0 0 0 Antwort: COB-ID DLC 580h+Node-ID 8 Position für oberen Software-Endschalter direkt setzen: COB-ID DLC 600h+Node-ID 8 Kommando Objekt L Objekt H Subindex Data 0 Data 1 Data 2 Data 3 23h 7Dh 60h 2 x x x x Kommando Objekt L Objekt H Subindex Data 0 Data 1 Data 2 Data 3 60h 7Dh 60h 2 0 0 0 0 Antwort: COB-ID DLC 580h+Node-ID 8 4.6 Fahraufträge ausführen Nachdem die Parameter definiert sind, kann ein Fahrauftrag erfolgen. Dazu muss zunächst ein Wechsel vom Zustand Ready zum Zustand PositioningReady erfolgen durch: 1. Objekt 6060h (Modes of operation) auf 1 = Positioning setzen 2. Objekt 6040h (Kontrollwort) auf 000Fh setzen SwitchOn, EnableVoltage, QuickStop und EnableOperation = 1 Anschliessend kann eine Zielposition vorgegeben werden durch Beschreiben des Objekts 607Ah relativ oder absolut (Bit6 des Objektes 6040h). Zusätzliches Setzen von Bit4 im Objekt 6040h löst anschliessend den Fahrauftrag aus. Das Setzen von Bit8 im Objekt 6040h stoppt den Antrieb (Zwischenstopp). Erneutes Fahren erfolgt durch Rücksetzen dieses Bits. Anschliessend wird die zuvor vorgegebene Zielposition angesteuert. Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 58/73 Baumer Electric AG Frauenfeld, Switzerland 4.7 Reglerabschaltung nach Positionierung Die Abschaltung der Regler nach der Positionierung schont die Bürsten des Elektromotors verlängert damit die Lebensdauer. Diese Funktion dient dazu, ein automatisches Nachregeln ins Zielfenster zu verhindern, falls der Antrieb aus dem Zielfenster bewegt wird. Nach Erreichen des Ziels (Antrieb befindet sich im Zielfenster Objekt 2113h27h und Geschwindigkeit < 2 U/s) wird die Zeit Position window time (Objekt 6068h) abgewartet, bevor das Statusbit 10 (Target reached) gesetzt und der Regler abgeschaltet wird. Anschliessend wird nicht mehr nachgeregelt. Per Default ist diese Funktion deaktiviert (Objekt 6068h = 0h). Die Funktion wird aktiviert, sobald eine Position window time > 0 eingestellt wird (Objekt 6068h > 0h in µs). Figur 20: Verhalten des Antriebs, wenn er aus dem Zielfenster bewegt wird: a) Vor Abschalten des Reglers: - Warnung Ausserhalb Zielfenster (ErrorCode 8500h) - Antrieb fährt wieder ins Zielfenster (die Position window time wird nicht neu gestartet) - Falls nach Ablauf der Position window time das Zielfenster nicht mehr erreicht wurde, bleibt das Statusbit 10 (Target reached) auf 0, verschwindet die Warnung Ausserhalb Zielfenster (ErrorCode 8500h) und der Regler wird abgeschaltet. b) Nach Abschalten des Reglers: - Antrieb fährt nicht mehr ins Zielfenster - Statusbit 10 (Target reached) wird wieder auf 0 zurückgesetzt Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 59/73 Baumer Electric AG Frauenfeld, Switzerland 4.8 Automatische Deblockierung Diese Funktion dient dazu, eine Blockade zu erkennen und selbstständig zu lösen. Unter folgenden Bedingungen wird eine Blockade erkannt: - Aktueller Strom ist grösser als Objekt 6073h Max current. Der aktuelle Strom wird mit einer fixen Filterzeit gefiltert, damit die Deblockierfunktion nicht zu sensitiv reagiert. - Aktuelle Geschwindigkeit (Objekt 606Ch Velocity actual value) ist kleiner als 2 U/sec Ablauf nach Erkennen der Blockade: 1. Bit 7 Statuswort wird gesetzt (Warning active). Warnung motor blocked (Error Code FF05h) wird aktiviert. 2. Antrieb fährt in gegengesetzter Richtung mit dem Losbrechstrom (Objekt 2113h-20h) um den Freifahrweg S (Objekt 2111h -1Eh) frei. Aus Sicherheitsgründen wird während der Deblockierfahrt wiederum der Strom überwacht, um eine erneute Blockierung zu detektieren und anzuhalten. Die Sensitivität kann mittels der Filterzeit Current Time filter (Objekt 2111h-05) eingestellt werden. Aus Sicherheitsgründen sollte die Filterzeit jedoch möglichst klein gehalten werden. Benötigt eine Deblockierung mehr Zeit als Unblocking timeout (Objekt 2111h-04h), so wird sie abgebrochen und es wird eine EMCYMeldung mit (Error Code FF06h) ausgegeben. Nach Abschluss des Freifahrens wird bei Position window time (Objekt 6968h) > 0 die Warnung Positionscontroller (Error Code 8500h) abgesetzt. Nach Ablauf der Position window time wird Bit 7 im Statuswort auf 0 gesetzt (Warning inactive). Ist die Position window time = 0, wird die Warnung nach Abschluss der Blockade zurückgesetzt. S S Vsoll Iist > Imax current Vmax Velocity Imax Motor current Ibreak away current Vsoll Imax Motor current V max Velocity Iist > Imax Ibreak away current current => Start Deblockierung => Error Code FF05h => Warning active = 1 Unblocking timeout => Error Code FF06h => Error active = 1 Ende Deblockierung Pos. window time > 0 => Error Code 8500h => Warning active = 0 Figur 21: Ablauf Deblockierung Aktivierung Deblockierfunktion: Version Control Objekt 2110h Bit[18] = 0x00040000 Aktivierung Deblockierfunktion: Erkennung Blockade: Version Control Objekt 2110h Bit[18] = 0x00040000 Iist > Imax current , (Objekt 6073h) Drehzahl <2 U/sec, (Velocity actual value Objekt 606Ch) Erkennung Blockade: mit: IFreifahren ist > Imax current, (Objekt 6073h) Vmax velocity maximaler Geschwindigkeit (max velocity, Objekt 2113h-Eh werkseitig) Drehzahl <2 U/sec, (Velocity actual valueObjekt 606Ch) Ibreak away current Losbrechstrom (Break away current, Objekt 2113h-20h werkseitig) Freifahren mit: S: Freifahrweg (Free referencing distance, Objekt 2111-1Eh) V max velocity timeout maximaler (max velocity, Objekt 2113h-Eh werkseitig) Unblocking Timeout fürGeschwindigkeit Deblockierung in ms, Objekt 2111-4h Time Filter Messrate in ms, Objekt ICurrent break away current Losbrech Strom (Break2111-5h away current, Objekt 2113h-20h werkseitig) S: Unblocking Timeout Current Time Filter Freifahrweg (Free referencing distance, Objekt 2111-1Eh) Timeout für Deblockierung in ms, Objekt 2111-4h Messrate in ms, Objekt 2111-5h Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 60/73 Baumer Electric AG Frauenfeld, Switzerland Figur 22: Trace Aufzeichung Blockierung Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 61/73 Baumer Electric AG Frauenfeld, Switzerland 5 Fehlerdiagnose 5.1 Feldbus-Kommunikation 1. Falls der Antrieb über den CAN-Bus nicht angesprochen werden kann, sollten zuerst alle elektrischen Anschlüsse überprüft werden. Sind die Anschlüsse in Ordnung, sollte als nächstes der Feldbusbetrieb getestet werden. Dazu wird ein CAN-Monitor benötigt, welcher die CAN-Kommunikation aufzeichnet und die Telegramme darstellt. 2. Nun sollte der Antrieb beim Aus- und wieder Einschalten der Spannungsversorgung eine BootUpMeldung absetzen. Sollte keine BootUp-Meldung erscheinen, so prüfen Sie, ob die Baudrate des Antriebs mit der Baudrate des CAN-Monitors übereinstimmt. 3. Wenn Sie Schwierigkeiten haben, die Verbindung zu einem Teilnehmer aufzubauen, prüfen Sie die Node-ID und die Baudrate. Die Baudrate muss überall gleich eingestellt werden. Die Node-ID muss zwischen 1 und 127 liegen. Jeder Busteilnehmer muss eindeutig mit einer Node-ID definiert werden, d.h. es darf auf keinen Fall mehr als ein Busteilnehmer dieselbe Node-ID besitzen. 5.2 LED Statusanzeige Auf der Rückseite des Antriebs befindet sich eine Duo LED zur Anzeige des Antriebszustands (Verschlussdeckel entfernen). Permanent grünes Licht zeigt korrekten Betrieb ohne Warnung oder Fehler. Grünes Blinken zeigt den NMT-Zustand Pre-Operational an. Permanentes oranges Licht zeigt an, dass sich der Antrieb im Bootloader Zustand befindet. Rotes Blinken zeigt eine aktive Warnung an. Permanentes rotes Licht zeigt an, dass ein Fehler aktiv ist. Zur genauen Auswertung der anliegenden Fehler und Warnungen wird dringend empfohlen, die entsprechenden Objekte auszulesen (siehe Kapitel 5.3). 5.3 Fehlerdiagnose am Antrieb Der Antrieb verfügt über mehrere Objekte und Meldungen, welche seinen Status oder Fehlerzustände umschreiben: Error register (Objekt 1001h): Dieses Objekt ist ein Register für den Fehlerstatus des Antriebs. Objekt 1003h: In diesem Objekt werden die letzten acht Fehlercodes und Warnungen gespeichert. Objekt Emergency (80h + Node-ID): Hoch prioritäre Fehlermeldung eines Teilnehmers mit Error code und Error register. SDO Abort Message: Falls die SDO-Kommunikation nicht korrekt abläuft, enthält die SDO-Antwort einen Abort Code. Tabelle 16: Error register (Objekt 1001h) in Emergency-Meldung Byte 2 (Byte 3...7 werden nicht verwendet). Error register Beschreibung Bit 2 = 1 Spannungs-Fehler Bit 3 = 1 Temperatur-Fehler Bit 4 = 1 CAN-Bus Kommunikations-Fehler Bit 5 = 1 Gerätespezifischer Fehler Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 62/73 Baumer Electric AG Frauenfeld, Switzerland Tabelle 17: Error code Definition für Emergency-Meldung Byte 0...1 und Byte 3...4 (siehe Kapitel EmergencyDienst). Für zuletzt aufgetretenen Fehler, siehe Objekt 603Fh. Für letzte acht Fehler, siehe Objekt 1003h. Fehler / Warnung Beschreibung / Massnahme 0000h Kein Fehler - 2310h 0000h Fehler I2t andauernder Überstrom Antrieb wurde aufgrund einer andauernden Überlastung (I2t) gestoppt. Last überprüfen. Aktuelle I2t-Überlast siehe Objekt 2112-06h. 3110h 0000h Fehler Überspannung Bus Betriebsspannung überprüfen. 3111h 0000h Fehler Überspannung Betriebsspannung überprüfen. Error Code Zusatz Info. Byte 0...1 Byte 3...4 0000h Leistungselektronik 3120h 0000h Fehler Unterspannung Bus Unterspannung während eines aktiven Fahrauftrags 3121h 0000h Fehler Unterspannung Leistungselektronik Speisung Leistungselektronik +VsM < 18V und ein Fahrauftrag ist aktiv. Kein Motorbetrieb mehr möglich. CAN-Kommunikation möglich, solange Betriebsspannung an +VsE anliegt. 4210h 0000h Fehler Übertemperatur Antrieb kann nicht weiter betrieben werden. Last reduzieren. 4210h 0001h Warnung Übertemperatur Antrieb kann weiter betrieben werden. Last reduzieren. 5441h 0000h Warnung unterer Hardware-Endschalter Fahren nur noch in positive Richtung möglich aktiv 5442h 0000h Warnung oberer Hardware-Endschalter Fahren nur noch in negative Richtung möglich aktiv 5530h 0000h Warnung Speicher (EEPROM) Fehler bei Speichervorgang. Speicherung wiederholen. Bei wiederholtem Auftreten Überprüfung des Antriebs im Werk notwendig. 6010h 0000h Warnung Software (Watchdog) Reset des Antriebs wurde intern ausgelöst. Antrieb kann weiter betrieben werden. Vorher alle Parameter überprüfen. Bei wiederholtem Auftreten Überprüfung des Antriebs im Werk notwendig. 7121h 0000h Fehler Motor blockiert Fahrbefehl wurde abgebrochen, da Motor möglicherweise blockiert, Last überprüfen, Strombegrenzung (Objekt 6073h) überprüfen. Neuen Startbefehl senden. 7121h 0001h Warnung Motor blockiert Motorstrom hat Strombegrenzung (Objekt 6073h) erreicht und steht still. Fahrbefehl bleibt aktiv. Motor möglicherweise blockiert, Last überprüfen, Strombegrenzung überprüfen. 7510h 0000h Error interner Kommunikationsfehler Bei wiederholtem Auftreten Überprüfung des Antriebs im Werk notwendig. 7320h 0000h Fehler Encoder Überprüfung des Antriebs im Werk notwendig. 8110h 0000h Warnung CAN-Bus Kommunikation Daten gehen möglicherweise verloren. 8130h 0000h Warnung Lifeguard oder Heartbeat Verkabelung überprüfen. Funktion Busmaster überprüfen. 8500h 0000h Warnung Positionscontroller Ausserhalb Zielfenster FF00h 00 Warnung Data valid multiturn (DVMT) Spannung der Pufferbatterie für Positionsspeicherung hat Warngrenze erreicht. Antrieb kann noch einige Tage bis Wochen weiter betrieben werden. Danach Überprüfung des Antriebs im Werk notwendig. 00h FF02h 0000h Fehler Positioning timeout Motor möglicherweise blockiert, Last überprüfen, Strombegrenzung (Objekt 6073h) überprüfen. FF05h 0000h Warnung Deblockierung aktiv Der Motor führt automatische Deblockierung durch. Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 63/73 Baumer Electric AG Frauenfeld, Switzerland FF06h 0000h Fehler Deblockierung Timeout Beim automatischen Deblockieren wurde die Unblocking timeout (Objekt 2111-04h) überschritten. Motor möglicherweise blockiert, Freifahrweg überprüfen, Losbrechstrom (Objekt 2113h-20h) überprüfen FF10h 0000h Warnung unterer Software-Endschalter Fahren nur noch in positive Richtung möglich (ausser Mode of operation Homing) FF11h 0000h aktiv Warnung oberer Software-Endschalter aktiv Fahren nur noch in negative Richtung möglich (ausser Mode of operation Homing) Tabelle 18: SDO Abort Code Definitionen (siehe Kapitel Servicedaten-Kommunikation). Bei SDO Kommunikationsfehler wird als Antwort eine Abort Message mit Abort Code gesendet. SDO Abort Code 5.4 Beschreibung 05040001h Kommando-Byte wird nicht unterstützt 06010000h Falscher Zugriff auf ein Objekt 06010001h Lesezugriff auf Write Only 06010002h Schreibzugriff auf Read Only 06020000h Objekt wird nicht unterstützt 06090011h Subindex wird nicht unterstützt 06090030h Wert ausserhalb des zulässigen Wertebereichs 08000020h Falsche Signatur bei Speichern oder Laden der Default-Parameter 08000021h Speicherung konnte nicht abgeschlossen werden 08000022h Zielposition kann nicht gesetzt werden, da Antrieb fahrend Automatische Fehler-Quittierung Der Antrieb kann ohne übergeordnete Steuerung betrieben werden (mittels digitalen Inputs). In diesem Fall ist es unter gewissen Umständen nötig, dass nach dem Abschalten der Motor-Spannungsversorgung oder nach einer Motorblockage den Fehler automatisch zu quittieren. Für diesen Fall können die Fehler Unterspannung Leistungselektronik (Error Code 3121h) und Motor blockiert (Error Code 7121) automatisch vom Antrieb quittiert werden, wenn die übergeordnete Steuerung ausgeschaltet ist (Antrieb bekommt keine Producer Heartbeats). Unter diesen Bedingungen ist die automatische Fehler-Quittierung eingeschaltet (beide müssen erfüllt sein): - Bit 9 in der Versionskontrolle (Objekt 2110h) „jogging without CAN“ gesetzt - Consumer Heartbeat konfiguriert (mit ID der Steuerung) Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 64/73 Baumer Electric AG Frauenfeld, Switzerland 6 EMV-gerechte Verdrahtung Halten Sie die Spezifikation der CAN-Leitungen ein Tabelle 19: Spezifikation der CAN-Leitungen. Gesamtlänge Bussystem < 300 m < 1000 m Kabeltyp LIYCY 2 x 2 x 0,5 mm² (paarverseilt mit Abschirmung ist optimal) CYPIMF 2 x 2 x 0,5 mm² (paarverseilt mit Abschirmung ist optimal) Leitungswiderstand ≤ 40 Ohm/km ≤ 40 Ohm/km Kapazitätsbelag ≤ 130 nF/km ≤ 60 nF/km Anschluss Paar 1 (weiss / braun): CAN-GND und +Vs (bei Antrieben +Vs nur auf separater Motorenleitung) Paar 2 (grün / gelb): CAN-HIGH und CAN-LOW Nur Leitungen verwenden, die ein zusätzliches Aderpaar für CAN-GND haben. Nur mit korrekt angeschlossenem CAN-GND ist ein störungsfreier Busbetrieb möglich. Nur abgeschirmte Leitungen mit auf der Überwurfmutter beidseitig aufgelegtem Schirm verwenden. Schliessen Sie die Bus-Abschlusswiderstände an Am physikalischen Anfang und am physikalischen Ende des Bussystems muss jeweils ein Abschlusswiderstand von 120 Ohm angeschlossen sein. Schirmen Sie Busleitung und Motorleitung korrekt ab Schirm der Busleitung unbedingt beidseitig auf Steckergehäuse bzw. Überwurfmutter auflegen. Schirm der Motorleitung nach Möglichkeit ebenfalls beidseitig am Steckergehäuse auflegen. Ist dies nicht möglich, so genügt einseitiges Auflegen des Schirm auf der Antriebsseite Falls eine Erdung über einen der Antriebsflansche nicht sichergestellt werden kann, muss die Kabelabschirmung geerdet werden. Bei beidseitiger Erdung eines Kabels muss der Potentialausgleich zur Verhinderung einer Erdschleife über eine separate Potential-Ausgleichsleitung mit ausreichendem Leiterquerschnitt sichergestellt werden. Halten Sie unbedingt die zulässigen Bus-Leitungslängen und Stichleitungslängen nach Tabelle 20 ein Die maximal zulässige Gesamt-Leitungslänge und Gesamt-Stichleitungslänge ist abhängig von der Baudrate und kann in mehrere Segmente bzw. Einzelstichleitungen aufgeteilt werden. Tabelle 20: Maximale Gesamt-Busleitungslänge (mit Abschlusswiderstand) und maximale Stichleitungslänge (ohne Abschlusswiderstand) in Abhängigkeit von der Baudrate. Baudrate [kBit/s] 10 20 50 100 125 250 500 800 1000 Gesamt-Buslänge 5000 m 3000 m 1000 m 500 m 400 m 200 m 75 m 30 m 25 m Gesamt-Stichleitungslänge 1360 m 875 m 350 m 175 m 140 m 70 m 35 m 20 m 17 m Einzel-Stichleitungslänge 270 m 175 m 70 m 35 m 28 m 14 m 7m 4m 3m Die maximal zulässige Segment-Leitungslänge nach Tabelle 21 ist abhängig von dem verwendetem Kabelquerschnitt von der Anzahl der Kommunikationsteilnehmer Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 65/73 Baumer Electric AG Frauenfeld, Switzerland Tabelle 21: Maximale Segment-Leitungslängen in Abhängigkeit von der Anzahl der Kommunikationsteilnehmer und dem Leitungsquerschnitt. Anzahl der Leitungsquerschnitt Kommunikationsteilnehmer 0,75 mm² 0,5 mm² 0,25 mm² 32 550 m 360 m 200 m 64 470 m 310 m 170 m 100 410 m 270 m 150 m Teilen Sie die max. Gesamt-Leitungslänge nach Tabelle 20 in Segmente auf und verwenden Sie Repeater, wenn Sie größere Leitungslängen realisieren müssen als nach Tabelle 21 zulässig sind. Repeater erfordern eine Verkürzung der max. Gesamt-Leitungslängen nach Tabelle 20. Diese ist abhängig vom Repeater-Typ. Pro Repeater beträgt die typische Verkürzung der max. GesamtLeitungslänge ca. 30 m. Die max. Gesamt-Leitungslänge mit Repeatern ergibt sich aus den Längen in Tabelle 20 abzüglich der Summe aller Leitungslängenverkürzungen durch Repeater. LBus max. = Lmax. (Tab. 21) - ( Leitungslängenverkürzung * Repeateranzahl) Ein Repeater wird auch empfohlen als Serviceschnittstelle zum störungsfreien Ankoppeln im laufenden Bus-Betrieb oder als Einmessschnittstelle zur galvanischen Trennung des Programmiergeräts. Vermeiden Sie Potentialdifferenzen zwischen den Knoten des CAN-Netzwerks Potentialdifferenzen (Bezug zu PE) zwischen den Knoten des CAN-Netzwerks können Kommunikationsstörungen verursachen oder zur Zerstörung der CAN-Teilnehmer führen. Vermeiden Sie Potentialdifferenzen, indem Sie jeden CAN-Teilnehmer auf dem kürzesten, möglichst niederohmigen Weg mit dem gleichen ErdBezugspotential (PE) der Maschine/Anlage verbinden. eine Potentialausgleichsleitung zwischen den Kommunikationsteilnehmern verwenden. den Erdbezug der Maschine/Anlage zur Gesamterde niederohmig ausführen. Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 66/73 Baumer Electric AG Frauenfeld, Switzerland Erkennen von EMV-Störungen im Signal-Oszillogramm Figur 23: Oszillogramme der CAN-Signale (1) mit und (2) ohne Störspannung (Messpunkte CAN_H zu CAN_L). Zur Quantifizierung von Störungen sind Messungen mit einem CAN-Analyser erforderlich. Hiermit können wichtige Bus-Parameter wie beispielsweise die Buslast oder die Anzahl von Errorframes ermittelt und weitergehende Analysen durchgeführt werden. Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 67/73 Baumer Electric AG Frauenfeld, Switzerland 7 Technische Daten 7.1 Elektrische und mechanische Daten Siehe Datenblatt. 7.2 Anschlussbelegung Siehe Datenblatt und Typenschild des Produktes. 7.3 Blockschaltbild und Schalteingänge Der Antrieb verfügt über zwei Anschlüsse zur Spannungsversorgung (Figur 18). Bereits bei Anschluss der Betriebsspannung an +VsM ist der Antrieb voll funktionsfähig. Bei Abschalten von +VsM beispielsweise über einen Not-Aus-Kreis kann die Positioniersteuerung weiterhin über +VsE gespeist werden. Ein Anlaufen des Motors ist in diesem Fall ausgeschlossen. +VsM +VsE IE IM Positioniersteuerung mit CAN-Schnittstelle Leistungselektronik M 0VsM / 0VsE Antrieb Induktiver Näherungsschalter NPN Schliesser (NO) (z.B. IFRM12N1702/L) Input 1 +Vs +Vs Input 2 NPN 5,6 kOhm 0V Schliesser 0V Figur 24: Blockschaltbild des Antriebs mit NPN Eingängen und Beispiel für Beschaltung der Schalteingänge. Zusätzlich verfügt der Antrieb über 2 digitale Schalteingänge (Funktion programmierbar, Objekt 2111h-0Dh) zum Anschluss handelsüblicher Positionssensoren. Mögliche Funktionen sind: 7.4 Aktivierung des Tippbetriebs (Jogging+, Jogging-) Hardware-Endschalter oder Referenzierung Steuerung des Kontrollworts (Objekt 6040h) Abmessungen Siehe Datenblatt. Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 68/73 Baumer Electric AG Frauenfeld, Switzerland 7.5 Befehlssequenzen als Beispiel Tabelle 24: Befehlssequenz zur Identifikation des Antriebs. Master PLD an Slave MSBA SDO Upload Request (Get Software version) Objekt Wert Slave MSBA an Master PLD Wert 100Ah 00000000h SDO Upload Response xxxxxxxxh SDO Upload Request (Get Identity object, Product code) 1018h-02h 00000000h SDO Upload Response 00000101h SDO Upload Request (Get Identity object, Revision 1018h-03h 00000000h SDO Upload Response xxxxxxxxh 1018h-04h 00000000h SDO Upload Response xxxxxxxxh number) SDO Upload Request (Get Identity object, Serial number) Tabelle 25: Befehlssequenz zum Setzen der Applikationsparameter. Master PLD an Slave MSBA Objekt SDO Download Request (Set Maximum current) 6073h SDO Download Request (Set Polarity) SDO Download Request (Set Position notation) SDO Download Request (Set Position dimension) Wert Slave MSBA an Master PLD Wert 03E8h SDO Download Response 00000000h 607Eh 00h SDO Download Response 00000000h 6089h FDh SDO Download Response 00000000h 608Ah 01h SDO Download Response 00000000h SDO Download Request (Set Velocity notation) 608Bh 00h SDO Download Response 00000000h SDO Download Request (Set Velocity dimension) 608Ch A3h SDO Download Response 00000000h 608Fh-01h 00000004h SDO Download Response 00000000h 608Fh-02h 00000001h SDO Download Response 00000000h SDO Download Request (Set Gear ratio, Motor revolutions) 6091h-01h 00000012h SDO Download Response 00000000h SDO Download Request (Set Gear ratio, Gear shaft 6091h-02h 00000001h SDO Download Response 00000000h SDO Download Request (Set Feed constant, Feed) 6092h-01h 00000001h SDO Download Response 00000000h SDO Download Request (Set Feed constant, Spindle shaft 6092h-02h 00000001h SDO Download Response 00000000h 607Dh-01h 00000000h SDO Download Response 00000000h 607Dh-02h 00000000h SDO Download Response 00000000h 2111h-01h 00h SDO Download Response 00000000h 2111h-02h 00000064h SDO Download Response 00000000h 1010h-03h 65766173h SDO Download Response 00000000h SDO Download Request (Set Position encoder resolution, Encoder increments) SDO Download Request (Set Position encoder resolution, Encoder revolutions) revolutions) revolutions) SDO Download Request (Set Software position limit, Minimum software position limit) SDO Download Request (Set Software position limit, Maximum software position limit) SDO Download Request (Set Positioning parameter, Backlash compensation) SDO Download Request (Set Positioning parameter, Backlash delta) SDO Download Request (Store application parameters) Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 69/73 Baumer Electric AG Frauenfeld, Switzerland Tabelle 26: Befehlssequenz zum Setzen der Kommunikationsparameter. Master PLD an Slave MSBA SDO Download Request (Set Receive PDO1 parameter, Objekt Wert Slave MSBA an Master PLD Wert 1400h-02h FEh SDO Download Response 00000000h 1401h-02h FEh SDO Download Response 00000000h 1800h-02h FEh SDO Download Response 00000000h 1800h-05h 0203h SDO Download Response 00000000h 2800h 01h SDO Download Response 00000000h 1801h-02h FEh SDO Download Response 00000000h 1801h-05h 0100h SDO Download Response 00000000h 2801h 01h SDO Download Response 00000000h 1016h-01h yyyyzzzzh SDO Download Response 00000000h 1017h xxxxh SDO Download Response 00000000h 1010h-02h 65766173h SDO Download Response 00000000h R_PDO1 type) SDO Download Request (Set Receive PDO2 parameter, R_PDO2 type) SDO Download Request (Set Transmit PDO1 parameter, T_PDO2 type) SDO Download Request (Set Transmit PDO1 parameter, T_PDO1 Event Timer) SDO Download Request (Set T_PDO1 add-on) SDO Download Request (Set Transmit PDO2 parameter, T_PDO2 type) SDO Download Request (Set Transmit PDO2 parameter, T_PDO2 Event Timer) SDO Download Request (Set T_PDO2 add-on) SOD Download Request (Set Consumer heartbeat time) SDO Download Request (Set Producer heartbeat time) SDO Download Request (Store communication parameters) Tabelle 27: Wechsel vom Zustand Ready in den Zustand PositioningReady (einmalig nach Einschalten oder Reset des Antriebs). Master PLD an Slave MSBA Objekt Wert Slave MSBA an Master PLD Wert SDO Download Request (Set Mode of operation) 6060h 01h SDO Download Response 00000000h SDO Download Request (Set Controlword) 6040h 000Fh SDO Download Response 00000000h Tabelle 28: Tippen in positiver Richtung (Antrieb im Zustand PositioningReady). Master PLD an Slave MSBA SDO Download Request (Set Controlword) Objekt Wert 6040h Slave MSBA an Master PLD 081Fh SDO Download Response Wert 00000000h Tabelle 29: Tippen in negativer Richtung (Antrieb im Zustand PositioningReady). Master PLD an Slave MSBA SDO Download Request (Set Controlword) Objekt Wert 6040h Slave MSBA an Master PLD 101Fh SDO Download Response Wert 00000000h Tabelle 30: Positionieren über SDO (Antrieb im Zustand PositioningReady). Master PLD an Slave MSBA Objekt NMT Cmd (Start Node, einmalig nach Einschalten / Reset) Wert Slave MSBA an Master PLD Wert 01h (T_PDO1, T_PDO2) SDO Download Request (Set Target position) 607Ah xxxxxxxxh SDO Download Response 00000000h SDO Download Request (Set Controlword) 6040h 001Fh SDO Download Response 00000000h SDO Upload Request (Get Statusword) 6041h SDO Upload Request (Get Statusword) 6041h SDO Upload Response 4237h T_PDO1 5237h T_PDO2 xxxxxxxxh SDO Upload Response - (T_PDO1, T_PDO2) - T_PDO1 Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 70/73 5237h 4637h Baumer Electric AG Frauenfeld, Switzerland Tabelle 31: Positionieren über R_PDO (Antrieb im Zustand PositioningReady). Master PLD an Slave MSBA Objekt Wert NMT Cmd (Start Node, einmalig nach Einschalten / Reset) Slave MSBA an Master PLD Wert 01h (T_PDO1, T_PDO2) R_PDO2 (Set Target position + Controlword) xxxxxxxxh T_PDO1 5237h 001Fh SDO Upload Request (Get Statusword) 6041h SDO Upload Response SDO Upload Request (Get Statusword) T_PDO2 6041h 4237h xxxxxxxxh SDO Upload Response - (T_PDO1, T_PDO2) - T_PDO1 5237h 4637h Tabelle 32: Stoppen eines Fahrauftrags. Master PLD an Slave MSBA SDO Download Request (Set Controlword) Objekt Wert 6040h Slave MSBA an Master PLD 011Fh SDO Download Response Wert 00000000h Tabelle 33: Quittieren eines Fehlers. Master PLD an Slave MSBA SDO Download Request (Set Controlword) Objekt Wert 6040h Slave MSBA an Master PLD 008Fh SDO Download Response Wert 00000000h Tabelle 34: Referenzieren mit Presetwert. Master PLD an Slave MSBA Objekt NMT Cmd (Start Node) Wert Slave MSBA an Master PLD Wert 01h (T_PDO1, T_PDO2) SDO Download Request (Set Mode of operation) 6060h 06h SDO Download Response 00000000h SDO Download Request (Set Controlword) 6040h 000Fh SDO Download Response 00000000h SDO Download Request (Set Homing method) 6098h F4h SDO Download Response 00000000h SDO Download Request (Set Target position) 607Ah xxxxxxxxh SDO Download Response 00000000h SDO Download Request (Set Controlword) 6040h 001Fh SDO Download Response 00000000h - (T_PDO1, T_PD02) - T_PDO2 SDO Download Request (Store application parameters ) xxxxxxxxh T_PDO1 1010h-03h 4237h 65766173h SDO Download Response 00000000h SDO Download Request (Set Mode of operation) 6060h 01h SDO Download Response 00000000h SDO Download Request (Set Controlword) 6040h 000Fh SDO Download Response 00000000h Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 71/73 Baumer Electric AG Frauenfeld, Switzerland Tabelle 35: Referenzieren auf Referenzschalter in negativer Richtung. Master PLD an Slave MSBA Objekt Wert NMT Cmd (Start Node) SDO Download Request (Set Positioning parameter, Slave MSBA an Master PLD Wert 01h (T_PDO1, T_PDO2) 2111h-0Dh 12h SDO Download Response 00000000h 2111h-11h xxxxxxxxh SDO Download Response 00000000h Input1) SDO Download Request (Set Positioning parameter, Reference Position) SDO Download Request (Set Mode of operation) 6060h 06h SDO Download Response 00000000h SDO Download Request (Set Controlword) 6040h 000Fh SDO Download Response 00000000h SDO Download Request (Set Homing method) 6098h E2h SDO Download Response 00000000h SDO Download Request (Set Controlword) 6040h 001Fh SDO Download Response 00000000h - T_PDO1 1237h - T_PDO2 xxxxxxxxh - (T_PDO1, T_PDO2) SDO Download Request (Store application parameters ) T_PDO1 4237h 1010h-03h 65766173h SDO Download Response 00000000h SDO Download Request (Set Mode of operation) 6060h 01h SDO Download Response 00000000h SDO Download Request (Set Controlword) 6040h 000Fh SDO Download Response 00000000h Tabelle 36: Referenzierung auf unteren Anschlag. Master PLD an Slave MSBA Objekt NMT Cmd (Start Node) SDO Download Request (Set Positioning parameter, Wert Slave MSBA an Master PLD Wert 01h (T_PDO1, T_PDO2) 2111h-11h xxxxxxxxh SDO Download Response 00000000h SDO Download Request (Set Maximum current) 6073h 01F4h SDO Download Response 00000000h SDO Download Request (Set Mode of operation) 6060h 06h SDO Download Response 00000000h SDO Download Request (Set Controlword) 6040h 000Fh SDO Download Response 00000000h SDO Download Request (Set Homing method) 6098h D8h SDO Download Response 00000000h SDO Download Request (Set Controlword) 6040h 001Fh SDO Download Response 00000000h Reference Position) - T_PDO1 1237h - T_PDO2 xxxxxxxxh - (T_PDO1, T_PDO2) - Emergency Message 7121h - Emergency Message 0000h - (T_PDO1, T_PDO2) - T_PDO1 4237h - T_PDO2 xxxxxxxxh SDO Download Request (Store application parameters ) 1010h-03h 65766173h SDO Download Response 00000000h SDO Download Request (Set Mode of operation) 6060h 01h SDO Download Response 00000000h SDO Download Request (Set Controlword) 6040h 000Fh SDO Download Response 00000000h Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 72/73 Baumer Electric AG Frauenfeld, Switzerland Tabelle 37: Referenzierung mit Einmessmethode. Master PLD an Slave MSBA Objekt NMT Cmd (Start Node) Wert Slave MSBA an Master PLD Wert 01h (T_PDO1, T_PDO2) SDO Download Request (Set Target position) 607Ah xxxxxxxxh SDO Download Response 00000000h SDO Download Request (Set Mode of operation) SDO Download Request (Set Controlword) 6060h 06h SDO Download Response 00000000h 6040h 000Fh SDO Download Response 00000000h SDO Download Request (Set Homing method) 6098h F3h SDO Download Response 00000000h SDO Download Request (Set Controlword) 6040h 001Fh SDO Download Response 00000000h - T_PDO1 SDO Download Request (Store application parameters ) 4337h T_PDO2 1010h-03h xxxxxxxxh 65766173h SDO Download Response 00000000h SDO Download Request (Set Mode of operation) 6060h 01h SDO Download Response 00000000h SDO Download Request (Set Controlword) 6040h 000Fh SDO Download Response 00000000h Baumer_MSBA_CANopen_V2.00.xx rev04_MA_DE.docx 04.05.15/niem 73/73 Baumer Electric AG Frauenfeld, Switzerland