|
| 1 | +# Beispiele für EtherLab mit External Mode |
| 2 | + |
| 3 | +Dieses Repo enthält Simulink-Modelle und Matlab-Code die die Benutzung von EtherLab mit External Mode Patch (IRT-Version) zeigen. |
| 4 | +Die Beispiele sind prinzipiell auch für die offizielle EtherLab-Version mit PDServ geeignet, allerdings funktioniert die Datenaufnahme im External Mode dabei nicht. |
| 5 | + |
| 6 | +Voraussetzungen: |
| 7 | +* Matlab R2018b (damit getestet, letzte bekannte lauffähige Version) |
| 8 | +* [IMES Matlab Toolbox (interner Link)](https://gitlab.projekt.uni-hannover.de/imes-material/matlab-toolbox) bzw. [externer Link](https://github.com/SchapplM/matlab_toolbox) |
| 9 | +* Echtzeitrechner mit EtherLab (siehe Anleitungen rt.md und ethercat.md aus Repo [Linux-Tools](https://gitlab.projekt.uni-hannover.de/imes-material/linux-tools)) |
| 10 | +* Installation von EtherLab auf Entwicklungsrechner (siehe ethercat.md). Das sollte der Rechner sein, auf dem die Beispiele ausprobiert werden. Unter Windows werden sie so nicht ohne weiteres funktionieren (ist aber prinzipiell möglich, mit einiger Nacharbeit). |
| 11 | + * Der Echtzeitrechner ist in der SSH-Konfiguration eingestellt: `ssh irtpc077_ec` entspricht `ssh ec@130.75.135.77`. Die IP muss natürlich an den verwendeten Echtzeitrechner angepasst werden. |
| 12 | + * Es sollte ein Ordner für die Echtzeit-Modelle erstellt werden: |
| 13 | + `ssh irtpc077_ec` (auf Entwicklungsrechner) |
| 14 | + `mkdir ~/rtmdl` (auf Prozessrechner, über SSH-Fenster) |
| 15 | + |
| 16 | +Moritz Schappler, moritz.schappler@imes.uni-hannover.de, 2020-03 |
| 17 | +(C) Institut für Mechatronische Systeme, Leibniz Universität Hannover |
| 18 | + |
| 19 | +## Minimal-Beispiel für External Mode |
| 20 | + |
| 21 | +Dieses Beispiel testet nur den External Mode. Es wird das etherlab-Target verwendet, aber ohne EtherCAT-Blöcke. Damit wird geprüft, ob alles korrekt installiert und konfiguriert ist. |
| 22 | + |
| 23 | +Ordner: `extmode_minexample` |
| 24 | +Vorgehensweise: |
| 25 | +* In Matlab in den Ordner wechseln |
| 26 | +* Modell `extmode_minimal.mdl` mit Matlab/Simulink öffnen und Kompilieren |
| 27 | + * Bei Erfolg ist eine neue Datei `extmode_minimal` (ohne Endung) im Modellordner entstanden |
| 28 | +* Modell auf Echtzeitrechner kopieren: |
| 29 | + * Konsole im Ordner öffnen |
| 30 | + * `scp extmode_minimal irtpc077_ec:~/rtmdl` |
| 31 | +* Modell auf Echtzeitrechner ausführen |
| 32 | + * `ssh irtpc077_ec` (auf Entwicklungsrechner) |
| 33 | + * `cd ~/rtmdl` |
| 34 | + * `./extmode_minimal` |
| 35 | + Ausgabe, wenn es funktioniert: |
| 36 | + ``` |
| 37 | + Sample-Time: 0.100000 |
| 38 | + Set task prio to 98 |
| 39 | + ``` |
| 40 | + Das Modell läuft dann ohne, dass man etwas machen muss. |
| 41 | +* Ziel-Pfad für die Datenspeicherung in Modell eintragen: |
| 42 | + * Code -> External Mode Control Panel -> Data Archiving -> Directory |
| 43 | + (es sollte weiterhin der Ordner "results" sein. Der absolute Pfad ist aber auf dem Rechner anders) |
| 44 | +* In Simulink-Modell über external Mode verbinden (Schaltfläche "Connect to Target") |
| 45 | +* Scope-Block öffnen. Wenn es funktioniert, sieht man Rechteck-Signale durchlaufen |
| 46 | +* External Mode Verbindung trennen |
| 47 | +* Wenn es funktioniert hat, sind jetzt im Ordner results mat-Dateien (measurement_data_0.mat, ...) gespeichert worden |
| 48 | +* Skript extmode_minimal_postprocess.m ausführen |
| 49 | + * Darin ist ein Beispiel-Code um die Messdaten nachzuverarbeiten |
0 commit comments