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ß!