Programmiersprachen

Übersicht

 

Programmieren der Master Core Library in C/C++

Die EtherCAT Master Core Library und das RAS Server Module sind in C++ implementiert. Die API-Schnittstellen sind in C, daher kann der Master sowohl in ANSI-C- als auch in C++ Umgebungen verwendet werden.

  • EcMasterDemo ist die grundlegende Beispielanwendung für den EC-Master. Das Beispiel zeigt, wie der Master initialisiert und das Netzwerk in den Op-Zustand versetzt wird. Basierend auf der bereitgestellten ENI-Datei kann dieses Beispiel alle Arten von EtherCAT-Slaves verarbeiten.
  • EcMasterDemoSyncSm demonstriert ein anderes Netzwerk-Timing, das den Interrupt des vom Master verwendeten Ethernet-Controllers erfordert. Dieser zyklische Frame wird zu Beginn des Zyklus übertragen und die Prozessdaten werden unmittelbar nach der Rückkehr des Frames aktualisiert.
  • EcMasterDemoDc ist ein guter Ausgangspunkt für Anwendungen, die eine genaue Synchronisation von Slaves basierend auf der Distributed Clocks (DC) -Technologie erfordern. Um den Master-Controller mit den Slaves zu synchronisieren, können verschiedene Modi ausgewählt werden.
  • EcMasterDemoMotion wird mit einer einfachen Motion Library zur Steuerung von Antrieben geliefert, die gemäß dem Profil CiA402 und der ETG-Implementierungsrichtlinie ETG.6010 implementiert sind. Das Beispiel unterstützt die Betriebsmodi Cyclic Synchronous Position (CSP) und Cyclic Synchronous Velocity (CSV).

Programmieren der RAS-Client Library in C/C++

Die RAS Client Library ist Teil des Feature Packs “Remote Access API” und stellt in Verbindung mit dem RAS-Server die Master-Programmierschnittstelle auf einem Remote-System bereit. Das RAS-Protokoll wird standardmäßig mit TCP / IP und Ethernet transportiert, aber auch eine andere Infrastruktur, z.B. Shared Memory, kann verwendet werden.

  • Die EcMasterDemoRasClient-Beispielanwendung zeigt, wie Sie eine Verbindung zum RAS-Server herstellen und EC-Master-APIs wie emScanBus oder emGetMasterState aufrufen. Außerdem wie Sie mit emGetProcessDataBits auf Prozessdaten zugreifen oder Benachrichtigungen an die EC-Master-Anwendung senden.

Betriebssysteme und Tools

  • Unterstützte Betriebssysteme: Alle
  • Unterstützte Compiler: Microsoft, GNU, LLVM
  • Unterstützte IDE: Microsoft Visual Studio, Eclipse, WindRiver Workbench, QNX Momentics, IAR, Keil MDK

Programmierung in C#

Das Beispiel EcMasterDemoDotNet und der .NET-Wrapper sind in C# geschrieben. Die Zielplattform ist hier AnyCPU. Die anderen Libraries sind in C++ geschrieben und plattformspezifisch. Die Wrapper Library bereitet die API für .NET vor. Die Demo läuft sowohl mit MS .NET Framework als auch mit Mono.

  • EcMasterDemoDotNet ist eine grundlegende Windows Forms (C#) -GUI-Anwendung für den EC-Master. Das Beispiel zeigt, wie der Master initialisiert und das Netzwerk in den OP Zustand versetzt wird. Basierend auf der bereitgestellten ENI-Datei kann dieses Beispiel auch alle Arten von EtherCAT-Slaves verarbeiten. Es wird auch gezeigt, wie eine Variable gelesen und geschrieben wird. Es gibt sogar ein Beispiel für das Lesen eines Registers aus dem CoE-Objektwörterbuch

Betriebssysteme und Tools

  • Unterstützte Betriebssysteme: Windows (MS .NET 2.0, MS .NET Standard 2.0), Linux (MS .NET Standard 2.0, Mono)
  • Unterstützte IDE: Microsoft Visual Studio (Code)
  • Unterstützte Compiler: Microsoft

Programmierung in Python

Die Beispiele und der Python-Wrapper sind in Python geschrieben. Sie sind nicht plattformspezifisch. Die anderen Bibliotheken sind in C++ geschrieben und plattformspezifisch. Der EcWrapper bereitet die Master API für Python vor.

  • Ähnlich wie bei den anderen Demos zeigt die EcMasterDemoPython, wie die EtherCAT-Master-API aufgerufen wird. Es gibt auch eine Python-Demo für den EC-Simulator. Die Python-Demos können auch im interaktiven Modus ausgeführt werden, z.B. um einen Ausgang des EtherCAT-Netzwerks oder etwas anderes einzustellen. Dies ist sehr nützlich, um schnell verschiedene Verhaltensweisen des EtherCAT-Netzwerks zu testen, z.B. mit Hilfe des EC-Simulator.

Betriebssysteme und Tools

  • Unterstützte Betriebssysteme: Windows (Python 3.7), Linux (Python 3.7)
  • Unterstützte IDE: Python IDLE Shell, Microsoft Visual Studio Code