Getting Started

 

Source-Code

Den Source-Code der einzelnen Softwarekomponenten können Sie auf GitLab einsehen und runterladen.

Fertige Pakete

Der Open-Build-Service bietet Ihnen die Möglichkeit, fertige Pakete für Ihre Distribution zu verwenden.

Was brauche ich?

Hardware

EtherLab läuft auf nahezu beliebiger Hardware. Abhängig von der Anwendung kann es aber Anforderungen geben, die nicht von diesem Beispiel abgedeckt sind. Weitere Informationen finden Sie unter Selecting the right Hardware (en) auf GitLab.

Software

Um die (Echtzeit-)Steuerung auszuführen, benötigen Sie einen Rechner mit Linux-Betriebssystem. Wir empfehlen eine Linux-Distribution, für die es fertige Pakete in unserem Open-Build-Service-Projekt gibt. Das sind Debian, Fedora, openSUSE, Raspbian oder Ubuntu. In diesem Beispiel verwenden wir openSUSE Leap 15.4, bzw. Debian 12 (bookworm).

Linux-Kernel

Wir empfehlen für den Steuerrechner einen Linux-Kernel, bei dem die „Full RT Preemption“ eingeschaltet ist. Die meisten Linux-Distributionen bieten einen solchen Echtzeit-Kernel von Haus aus an – meistens heißt dieser „kernel-rt“. Die EtherLab-Laufzeitumgebung und auch der EtherCAT-Master laufen auch mit einem Standard-Kernel ohne Echtzeitfunktion, aber wenn Sie später höhere Abtastraten oder Synchronisationsfeatures wie „Distributed Clocks“ benötigen, wird der Echtzeit-Kernel für das richtige Timing sorgen.

MATLAB Simulink®

Wenn Sie unser EtherLab-Toolkit für Simulink® nutzen wollen, um den Echtzeit-Code für ihrer Steuerung zu erzeugen, sollten Sie zunächst MATLAB Simulink nach Anleitung installieren. Für dieses Beispiel ist das nicht nötig. Es ist auch möglich, den Steuerungsteil in C++ zu programmieren. Ein direkt lauffähiges Beispiel finden sie weiter unten.

Linux-Konsole

Wenn sie bisher noch kein Linux verwendet haben und noch nicht wissen, wie man ein Terminal benutzt, empfehlen wir Ihnen, sich eines der vielen Online-Tutorials anzusehen.

Installation


Das Repository hinzufügen

Die einfachste Art, EtherLab zu installieren ist, das EtherLab-Repository aus dem OpenSUSE Build Service zu nutzen. Um das zu tun, öffnen wir ein Terminal und geben die folgenden Befehl ein, um das Repository hinzuzufügen.

openSUSE

sudo zypper ar https://download.opensuse.org/repositories/science:/EtherLab/15.4 etherlab

Man wird nun gefragt, ob man dem Schlüssel des Repositorys vertraut.

Wenn das Repository hinzugefügt ist, kann man sich mit dem folgenden Befehl leicht alle Pakete auflisten lassen, die das Repository bereitstellt:

zypper se -r etherlab

Debian

export KEYRING=/usr/share/keyrings/etherlab.gpg
curl -fsSL https://download.opensuse.org/repositories/science:/EtherLab/Debian_12/Release.key | gpg --dearmor | sudo tee "$KEYRING" >/dev/null
echo "deb [signed-by=$KEYRING] https://download.opensuse.org/repositories/science:/EtherLab/Debian_12/ ./" | sudo tee /etc/apt/sources.list.d/etherlab.list > /dev/null
sudo apt-get update

Pakete installieren

Nun wäre der Zeitpunkt gekommen, um eine Echtzeit-Applikation in C++, oder dem EtherLab-Toolkit für MATLAB SIMULINK® zu erzeugen. Aber für dieses Beispiel werden wir das pdserv-example aus dem Repository verwenden. Um die Prozessdaten zu visualisieren, werden wir mit dem folgenden Kommando auch gleich den Testmanager mit installieren:

openSUSE

sudo zypper in pdserv-example testmanager-ng

Debian

sudo apt-get install libpdserv3-example testmanager-ng

Die Echtzeit-Applikation starten

Nun können wir das Pdserv-Beispiel mit dem folgenden Befehl starten:

pdserv-example-st

Das Beispielprogramm wird sich über einige Dinge beschweren, die es nicht machen darf, wenn es nicht als Benutzer root gestartet wird, aber das soll uns hier nicht stören. Das PdServ-Beispiel stellt nun zyklische Daten im Netzwerk bereit, die man im Folgenden mit dem Testmanager darstellen kann. Am besten wir lassen es in diesem Terminal laufen und öffnen für den nächsten Schritt ein neues Terminal.

Den Testmanager mit einem Beispiel-Layout starten

Der Testmanager, den wir weiter oben installiert haben, kommt mit einem Beispiel-Layout, dass zu den Daten des PdServ-Beispieles passt. Wir können diesen mit dem Folgenden Befehl starten. Das -c sorgt dafür, dass sich der Testmanager direkt mit der Datenquelle verbindet.

testmanager-ng -c /usr/share/testmanager-ng/example.tml

Das Fenster, das sich dann öffnet, sollte etwa so aussehen:

Links ist die Datenquelle mit den Variablen dargestellt und rechts eine Seite mit Bedienelementen, die bereits mit den Variablen verbunden sind. Sie können nun mit E in den Editiermodus wechseln und nach Lust und Laune mit dem Layout spielen. Fügen Sie zum Beispiel neue Seiten mit neuen Bedienelementen hinzu (Rechtsklick auf die Seite) und verbinden Sie diese mit den Variablen aus dem Baum auf der linken Seite, indem Sie diese mit der Maus auf die Bedienelemente ziehen. Viel Spaß!