EC-Motion [Motion Control Library]
 

EtherCAT Motion Control Library

EC-Motion ist eine einfache, in C/C++ frei programmierbare Motion Control Library für EtherCAT Antriebe.
Sämtliche der im PLCopen Standard definierten einachsigen Bewegungen können mit Hilfe dieser Library, ohne teure Zusatzhardware implementiert werden.
Auf Basis dieser Library ist es auch möglich mehrachsige, koordinierte Bewegungsabläufe in der Applikation zu erstellen.
Die Antriebe können wahlweise in der Betriebsart CSP (Cyclic Synchronous Position Mode) oder CSV (Cyclic Synchronous Velocity Mode) betrieben werden.

Damit eine niedrige CPU-Belastung gewährleistet werden kann wird während der Bewegung auf Gleitkommaoperationen verzichtet. Somit kann auch auf weniger leistungsfähigen embedded Plattformen eine große Anzahl von Antrieben angeschlossen werden.
Die Funktionen der Motion-Library werden in der Regel zyklisch aufgerufen (z.B. ein Mal pro Millisekunde), es werden keine zusätzlichen Tasks erstellt. Somit kann diese einfach in SPS-Laufzeitumgebungen integriert oder auch auf Systemen ohne Betriebssystem eingesetzt werden.

Voraussetzung für den Einsatz von EC-Motion ist die Verwendung eines 32 Bit Microcontrollers mit Unterstützung von Floatingpoint Operationen.
Unterstützt werden u.a. Intel bzw. AMD x86, ARM (z.B. Texas Instruments Sitara), PowerPC (z.B. CoreIQ). Damit die Synchronisation mit den Antrieben korrekt funktioniert wird eine echtzeitfähige Laufzeitumgebung vorausgesetzt.

Auf der Steuerungshardware stellt EC-Motion zusammen mit dem bewährten und leistungsfähigen EC-Master EtherCAT Master Stack die Basis für eine kundenspezifische Antriebslösung dar. Mit der zur Verfügung gestellten Windows Remote Control Anwendung können einfache Bewegungsabläufe ferngesteuert werden.
Der EtherCAT Bus kann über das optional erhältliche EC-Engineer Konfigurationswerkzeug konfiguriert werden, dieser stellt auch Diagnosefunktionen zur Verfügung.
Für Windows basierte Antriebslösungen steht mit EC-Win eine sehr leistungsfähige und Industry-proven Windows Echtzeitlösung für EtherCAT zur Verfügung.

Lieferumfang von EC-Motion

  • C++ Motion Demo Anwendung als Applikationsbeispiel
  • Windows Fernsteuerungsanwendung für die Motion Demo
  • Optional: EC-Engineer zur Bus-Konfiguration und -Diagnose
  • Optional: EC-Win EtherCAT Echtzeitplattform für Windows

Verwendete Standards

Damit ein möglichst großes Spektrum an Antrieben eingesetzt werden kann setzt EC-Motion auf bewährte Standards.
Auf der Master Seite werden in der Motion Control Library die in der PLCopen spezifizierten Funktionen für Motion Control (MCFB) zur Verfügung gestellt.
Die durch EC-Motion unterstützten Antriebe müssen der Richtlinie ETG.6010 für CiA kompatible Antriebe entsprechen.

In EC-Motion unterstützte Funktionen gemäß PLCopen

Allgemeine Funktionen
MC_Power
: Power Zustand (ein oder aus).
MC_ReadParameter, MC_ReadBoolParameter: Parameter lesen.
MC_WriteParameter, MC_WriteBoolParameter: Parameter schreiben.
MC_ReadActualPosition: Liefert die Ist-Position.
MC_ReadActualVelocity: Liefert die Ist-Geschwindigkeit.
MC_ReadMotionState: Liefert den Zustand.
MC_ReadAxisError: Liefert allgemeine Achs-Fehler.
MC_Reset: Übergang vom Zustand ‘ErrorStop’ nach ‘Standstill’.
MC_SetModeOfOperation: Betriebsartwahl (CSP oder CSV). 
MC_SetPosition: Koordinatensystem einer Achse verschieben. 
-----------------------------------------------------------
Bewegungsfunktionen
MC_Stop
: Bewegungs-Stop und Übergang in den Zustand ‘Stopping’.
MC_Halt: Bewegungs-Stop und Übergang in den Zustand ‘Standstill’.
MC_MoveAbsolute: Bewegung zur angeforderten absoluten Position.
MC_MoveRelative: Bewegung zur angeforderten relativen Position.
MC_MoveVelocity: Bewegung mit einer angeforderten Geschwindigkeit.

Highlights

  • Antriebe gemäß den Profilen CANOpen DS402 und SERCOS werden unterstützt
  • Betriebsarten Cyclic Synchronous Position (CSP) und Cyclic Synchronous Velocity (CSV)
  • Alle Bewegungen mit Ruckbegrenzung
  • Änderungen von Parametern während der Bewegung (continuous update)
  • Ünterstützung von gepufferten Bewegungen (buffered, blending)
  • Sehr performante Implementierung und dadurch geringe CPU Belastung
  • Unabhängig von der Kommunikationsschicht (EtherCAT, CAN)
  • Verfügbar für die CPU Architekturen x86, ARM und PowerPC
  • Vollständiger Quelltext ist im Lieferumfang enthalten


 
(C) 2014 - Alle Rechte vorbehalten