Kommunikation USB, RS232, CAN, CANopen
Ablauf Kurzüberblick USB/RS232 CAN/CANopen
Kurzüberblick USB/RS232 USB Treiber Installiert Nur auf kurzen Distanzen Nicht Echtzeitfähig Nicht EMV stabil Sehr leichte Programmierung Keine Zyklischen oder Asynchrone Nachrichten vom Drive Minimale State Machine
USB/RS232 Allgemein Direkt Point-to-Point Verbindung
USB State-Maschine Werte wie PX können nicht gerändert werden Homing PR, PA, SP Werte wie PX können nicht gerändert werden SV nicht machbar Motor AN MO=0; MO=1; Motor AUS Fahrbefehle werden nicht angenommen Unit Mode kann geändert werden Unit Mode PX, SV
USB Verbindungsaufbau Protokoll Einstellungen
Beispiel, Simple PTP fahrt Groß und klein Schreibung ist egal Kommandos werden dann ausgeführt wenn Sie empfangen werden Jeder Befehl wird bestätigt
Wie siehst im Detail aus Grundregel: Kommando + (Sub Index) + (=Anweisung) + ; P X ; 0x50 0x58 0x3B P X ; 3 7 8 9 0x50 0x58 0x3B 0x33 0x37 0x30 0x38 0x39 P R = 1 ; 0x50 0x52 0x3D 0x31 0x30 0x3B P R = 1 ; 0x50 0x52 0x3D 0x31 0x30 0x3B
Fehler Nachricht nicht im Datenformat, nicht verstanden Außerhalb der State- Maschine P X Y ; 0x50 0x58 0x59 0x3B P X Y ; ? 0x50 0x58 0x59 0x3B 0x02 0x3F P R = 1 ; 0x50 0x52 0x3D 0x31 0x30 0x3B P R = 1 ; : ? 0x50 0x52 0x3D 0x31 0x30 0x3B 0x3A 0x3F
CAN/CANopen
CAN/CANopen Von Bosch als Prototyp von 1993 bis 1995 entwickelt Seit 1995 wird es von der Organisation CAN in Automation (CiA) verwaltet Maximal 127 Teilnehmer Maximal 1 Mbit/sec Maximal 1,3 km@50 kbits/sec
Kurzüberblick CAN/CANopen Auch wenn ein Teilnehmer ausfällt, bleibt der Rest des CAN Busses weiter intakt Synchrone und Asynchrone Telegramme CAN 2.0A
CAN/CANopen Allgemein Bussystem Beidseitig 120 Ohm
CAN/CANopen Voraussetzung für eine schnelle Integration: Elmo Regler PC mit CAN Analyser (z.B. Kvaser CANKing) Wenn Ethernet Kabel verwendet werden soll, dann STP/SSTP Kabel (Screened Shielded Twisted Pair)
CAN/CANopen DS301, DS305, DS402 Elmo´s eigene Sprache Binary Interpreter DS301, DS305, DS402 Kompatibel zwischen verschiedenen Herstellern Konverter von anderen Feldbussen verfügbar Sollte mit Expertenhilfe gemacht werden Elmo´s eigene Sprache Syntax und State- Maschine wie bei USB/RS232 Flexibel Nur PDO2 Kommunikation Leichte Integration
Binary State-Maschine Homing PR, PA, SP Werte wie PX können nicht gerändert werden SV nicht machbar Motor AN MO=0; MO=1; Motor AUS Fahrbefehle werden nicht angenommen Unit Mode kann geändert werden Unit Mode PX, SV
CAN Binary Interpreter Faustregel Datenwort Node ID Byte 1&2 Das Kommando ACSII Codiert 3 Falls vorhanden ein Index. z.B. UI[2] 4 Anzeichen ob es eine Abfrage oder eine Zuweisung ist. 5-8 Falls vorhanden bei einer Zuweisung der Zahlenwert 0000037F 8 4D 4F 00 00 01 00 00 00 000002FF 8 4D 4F 00 00 01 00 00 00 0000037F 8 4A 56 00 00 E8 03 00 00 000002FF 8 4A 56 00 00 E8 03 00 00 0000037F 8 42 47 00 40 00 00 00 00 000002FF 8 42 47 00 00 00 00 00 00
CAN Beispiel Telegramm 0x37F 0x4A 0x56 0x00 0xE8 0x03 300h+Node ID ACSII Wert J V Wert in HEX umgerechnet 0000037F 8 4A 56 00 00 E8 03 00 00 000002FF 8 4A 56 00 00 E8 03 00 00
CAN Beispiel NMT, Bus starten 0x00 0x01 MO=1 0x37F 0x4D 0x4F 0x00 0x01 0x2FF JV=1000 0x37F 0x4A 0x56 0x00 0xE8 0x03 0x2FF BG 0x37F 0x42 0x47 0x00 0x40 0x2FF
CANopen Allgemein Seit 1995 wird es von der Organisation CAN in Automation (CiA) gepflegt und ist als Europäische Norm EN 50325-4 standardisiert Verschieden Geräteprofile Standart Geräteklasse DS401 Ein-/Ausgabe-Module DS402 elektrische Antriebe DS404 Sensoren und Regler DS406 Lineare und rotierende Geber (Encoder) DS408 hydraulische Ventile und Antriebe
CANopen Hilfestellung Jeder CANopen Befehl kann im EAS beobachtet/gesetzt werden CANopen Elmo 0x6040 cw 0x6041 sw
CANopen Möglichkeiten Verschiedene Teilnehmer/Hersteller an einen Bus
CANopen Möglichkeiten Verbindung zwischen andere Feldbussen
CAN/CANopen *.EDS File Beschreibt was das Gerät kann, gerade für Fremdsteuerungen wichtig Objektverzeichnis VendorNumber=0x0000009A ProductNumber=0x00030923 SupportedObjects=0x0076 [6040] SubNumber= ParameterName=Kontrollwort ObjectType=7 AccessType=RWW DataType=0x0006 PDOMapping=1 LowLimit=0 HighLimit=65535 DefaultValue=
CANopen State-Maschine Es können nur bestimmte Änderungen zu bestimmten States gemacht werden
CAN NMT Bus Verwaltungsinstrument Beim Einschalten meldet sich jede Achse auf den CAN. bedeutet aber nicht das man Sie direkt ansprechen kann. Durch den NMT wird Sie initialisiert Kann nur Ausgeführt werden wenn Motor AUS ist. Nur als ID0
CAN NMT Beispiel Achse schickt wenn Sie eingeschaltet wird eine Startup Nachricht NMT wird vom Master geschickt Achse meldet Bereitschaft mit den Senden des Statuses
CAN EMCY Emergency Telegramme Kommen nur wenn ein Fehler passiert ID 0x81 bis 0xFF
CAN EMCY Wird immer ASYNCRON abgeschickt Anhand des SDO ID´s kann erkannt werde welche Achse einen Fehler hat Haben höchste Priorität SDO ID 0x081
CAN EMCY Beispiel Beispiel, Achse 1 hat ein Problem Handbuch, Command Referenz für Gold
CAN SDO „Service data objects“ Für Kommandos welche selten vorkommen z.B. für Homing´s oder Mode´s umschalten Niedrige Priorität Einrichten von PDO´s ID 0x581 bis 0x67F
CAN PDO „Process data objects“ PDO Konfiguration geht nach Neustart immer auf Default ID 0x181 bis 0x57F Unser Default Mapping TxPDO RxPDO 1 6041, Statuswort 6040, Kontrollwort 2 2013, Binary interpreter result 2012, Binary interpreter command 3 4
CAN PDO Weniger Overhead Es können bis zu 4 PDO in beiden Richtungen definiert werden PDO´s können selbstständig übertragen werden SDO ID z.B 0x581 Objekt Nutzdaten SDO ID 0x181 Nutzdaten
CAN PDO PDO´s haben je nach Aufgabe verschiedene Adressen Rx und Tx PDO´s werden Anhand des SDO ID unterschieden, z.B. 180 + Node ID SDO ID 0x181 Nutzdaten SDO ID 0x201 Nutzdaten Nutzdaten
CANopen Modes Fest vorgeschriebene Modes Jeder Mode hat seine Vor- und Nachteile 0x6060 Reserved Profile position mode 1 Velocity (not supported) 2 Profiled velocity mode 3 Torque profiled mode 4 5 Homing mode 6 Interpolated position mode 7
CANopen Profile position mode Objekt Sende Zielposition Sende Beschleunigung Sende Kontrollwort zum losfahren Empfange Status: Am Ziel Empfange Status: In Bewegung
CANopen Profile position mode + wenig Daten Traffic + bei Zustellachsen - bei Bahnfahrten
CANopen Profile position mode Motor AN Bewegung 1 Bewegung 2
CANopen Profile position mode 0 0000067F 8 22 60 60 00 01 00 00 00 T 0 000005FF 8 60 60 60 00 00 00 00 00 R 0 0000067F 8 22 40 60 00 06 00 00 00 T 0 000001FF 2 37 06 R 0 000005FF 8 60 40 60 00 00 00 00 00 R 0 000001FF 2 37 02 R 0 000001FF 2 31 02 R 0 0000067F 8 40 41 60 00 00 00 00 00 T 0 000005FF 8 4B 41 60 00 31 02 00 00 R 0 0000067F 8 22 40 60 00 07 00 00 00 T 0 000001FF 2 33 02 R 0 000005FF 8 4B 41 60 00 33 02 00 00 R 0 0000067F 8 22 40 60 00 0F 00 00 00 T 0 000005FF 8 4B 41 60 00 37 02 00 00 R 0 0000067F 8 22 81 60 00 10 27 00 00 T 0 000005FF 8 60 81 60 00 00 00 00 00 R 0 0000067F 8 22 7A 60 00 00 00 00 00 T 0 000005FF 8 60 7A 60 00 00 00 00 00 R 0 0000067F 8 22 40 60 00 1F 00 00 00 T 0 000001FF 2 37 12 R 0 000001FF 2 37 16 R Achse in Profile position mode bringen Achse Einschalten PTP konfigurieren Losfahren
CANopen Interpolated Position Mode Objekt Sende Zielposition +10cnt Empfange Istposition Sende Zielposition +10cnt Empfange Istposition Sende Zielposition +10cnt Empfange Istposition Sende Zielposition +10cnt Empfange Istposition Sende Zielposition +10cnt Empfange Istposition
CANopen Interpolated Position Mode + bei Bahnfahrten - Rechenintensiv für die Steuerung - großer Bandbreitenverbrauch
CANopen Interpolated Position Mode ΔT = 0x60c2, meist Zykluszeit der SPS Px = 0x60C1, sollte per PDO an den Regler geschickt werden
CANopen Interpolated Position Mode Auf den Bus sieht es so aus: 00000181 7 37 12 FD AE C9 00 00 00000201 6 1F 00 2C B3 C9 00 00000080 0 00000181 7 37 12 4A B0 C9 00 00 00000201 6 1F 00 79 B4 C9 00 00000181 7 37 12 97 B1 C9 00 00 00000201 6 1F 00 C6 B5 C9 00 00000181 7 37 12 E4 B2 C9 00 00 00000201 6 1F 00 13 B7 C9 00 Kontrollwort & Sollposition Statuswort & Istposition Sync Kontrollwort & Sollposition Statuswort & Istposition Sync Kontrollwort & Sollposition Statuswort & Istposition Sync Kontrollwort & Sollposition Statuswort & Istposition Sync
Fragen?
Kaffeepause