Anleitung zur Erstellung einer S-Funktion für Hokuyo URG-04LX-UG01: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
(36 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
Diese Anleitung beschreibt, wie man eine S-Funktion im Simulink erstellt. Als Sensor wird Laserscanner Hokuyo URG-04LX-UG01 verwendet. | Diese Anleitung beschreibt, wie man eine S-Funktion im Simulink erstellt. Als Sensor wird Laserscanner Hokuyo URG-04LX-UG01 verwendet. | ||
Für die Erstellung | Für die Erstellung einer S-Funkton wird in dieser Anleitung fertiger C++-Quellcode verwendet. | ||
1. Für die Erstellung | 1. Für die Erstellung der S-Funktion benötigt Simulink einen Compiler. Als Compiler kann ein Compiler von Visual Studio 2015/2017 oder MinGW 6.3 verwendet werden. Installieren Sie den Compiler, falls solcher noch nicht vorhanden ist. Um zu testen, ob ein Compiler vorhanden ist, geben Sie im Command Window ''mex -setup'' ein: | ||
[[Datei:Anleitung_S-Funktion1.PNG]] | [[Datei:Anleitung_S-Funktion1.PNG]] | ||
Wenn mehrere | Wenn mehrere Compiler vorhanden sind, werden Sie aufgefordert, einen auszuwählen. In dieser Anleitung verwenden wir den Compiler von Visual Studio 2017. | ||
2. Für die | 2. Für die Erstellung der S-Funktion werden in dieser Anleitung bereits vorhandener Quellcode verwendet. Laden Sie zuerst zip-Datei namens ''urg_library-1.2.3.zip'' aus folgender Quelle herunter und speichern Sie diese auf dem Rechner: | ||
https://sourceforge.net/projects/urgnetwork/files/urg_library/ | https://sourceforge.net/projects/urgnetwork/files/urg_library/ | ||
3. Erstellen Sie eine Build-Datei in der alle | 3. Erstellen Sie eine Build-Datei in der alle verwendeten Funktionen eingegeben werden müssen. Alle in der Build-Datei eingegebenen Quellcode-Dateien sollen im Arbeitsverzeichnis gespeichert werden. Erstellen Sie dazu die entsprechende Ordner und füllen Sie diese mit den Dateien. Die Build-Datei wird von dem Compiler bei der Verlinkung benutzt: | ||
[[Datei:Anleitung_S-Funktion2.PNG]] | [[Datei:Anleitung_S-Funktion2.PNG|400px]] | ||
4. Erstellen Sie eine C-Datei, welche | |||
4. Erstellen Sie eine C-Datei, welche für die Bildung der ''urgsl.mexw64'' - Datei verwendet wird. Als Vorlage zur Erstellung nutzen Sie ''timestwo.c'' Datei: | |||
[[Datei:Anleitung_S-Funktion3.PNG|900px]] | |||
5. Passen Sie die ''timestwo.c''- Datei für unseren Fall an und speichern Sie als urgsl.c. | |||
6.Führen Sie die bereits erstellte Datei im Command Window ''buildUrgsl.m'' aus. Dabei wird eine ''urgsl.mexw64''-Datei erstellt. | |||
7. Erstellen Sie das Simulink-Modell: | |||
[[Datei:Anleitung_S-Funktion4.PNG|400px]]] | |||
8. Den S-Funktion Block finden Sie unter: | |||
Simulink -> User-Defined Functions -> S-Function. Bei dem Parametrisieren geben Sie den Namen der erstellten C-Datei ''urgs'' ein: | |||
[[Datei:Anleitung_S-Funktion5.PNG|400px]] | |||
9. Der Funktionsblock ''fcn'' wird für die grafische Darstellung von Messdaten verwendet. Der Block wird mit folgender Funktion gefüllt: | |||
<syntaxhighlight lang="matlab" style="background-color: #EFF1C1; font-size:larger"> | |||
function fcn(x, y) | |||
h = figure(1); | |||
plot(x,y,'b.'); | |||
</syntaxhighlight> | |||
10. Der Real-Time Pacer Block wird verwendet, um die Messdaten in der Echtzeit auszugeben. Der Block und die Dokumentation kann aus der folgenden Quelle heruntergeladen werden: | |||
https://de.mathworks.com/matlabcentral/fileexchange/29107-real-time-pacer-for-simulink | |||
11. Nach einer erfolgreichen Erstellung der S-Funktion und des Modells sieht die Ausgabe im Simulink wie folgt aus: | |||
[[Datei:Anleitung_S-Funktion7.PNG|400px]] | |||
12. Alle verwendeten Quellcode-Dateien liegen in SVN unter dem folgenden Link: | |||
https://svn.hshl.de/svn/SRC/trunk/Matlab/Mathworks_Workshop_2018/m-files/Hokuyo/S-Funktion_Wiki/ |
Aktuelle Version vom 6. November 2018, 20:19 Uhr
Diese Anleitung beschreibt, wie man eine S-Funktion im Simulink erstellt. Als Sensor wird Laserscanner Hokuyo URG-04LX-UG01 verwendet. Für die Erstellung einer S-Funkton wird in dieser Anleitung fertiger C++-Quellcode verwendet.
1. Für die Erstellung der S-Funktion benötigt Simulink einen Compiler. Als Compiler kann ein Compiler von Visual Studio 2015/2017 oder MinGW 6.3 verwendet werden. Installieren Sie den Compiler, falls solcher noch nicht vorhanden ist. Um zu testen, ob ein Compiler vorhanden ist, geben Sie im Command Window mex -setup ein:
Wenn mehrere Compiler vorhanden sind, werden Sie aufgefordert, einen auszuwählen. In dieser Anleitung verwenden wir den Compiler von Visual Studio 2017.
2. Für die Erstellung der S-Funktion werden in dieser Anleitung bereits vorhandener Quellcode verwendet. Laden Sie zuerst zip-Datei namens urg_library-1.2.3.zip aus folgender Quelle herunter und speichern Sie diese auf dem Rechner:
https://sourceforge.net/projects/urgnetwork/files/urg_library/
3. Erstellen Sie eine Build-Datei in der alle verwendeten Funktionen eingegeben werden müssen. Alle in der Build-Datei eingegebenen Quellcode-Dateien sollen im Arbeitsverzeichnis gespeichert werden. Erstellen Sie dazu die entsprechende Ordner und füllen Sie diese mit den Dateien. Die Build-Datei wird von dem Compiler bei der Verlinkung benutzt:
4. Erstellen Sie eine C-Datei, welche für die Bildung der urgsl.mexw64 - Datei verwendet wird. Als Vorlage zur Erstellung nutzen Sie timestwo.c Datei:
5. Passen Sie die timestwo.c- Datei für unseren Fall an und speichern Sie als urgsl.c.
6.Führen Sie die bereits erstellte Datei im Command Window buildUrgsl.m aus. Dabei wird eine urgsl.mexw64-Datei erstellt.
7. Erstellen Sie das Simulink-Modell:
8. Den S-Funktion Block finden Sie unter:
Simulink -> User-Defined Functions -> S-Function. Bei dem Parametrisieren geben Sie den Namen der erstellten C-Datei urgs ein:
9. Der Funktionsblock fcn wird für die grafische Darstellung von Messdaten verwendet. Der Block wird mit folgender Funktion gefüllt:
function fcn(x, y)
h = figure(1);
plot(x,y,'b.');
10. Der Real-Time Pacer Block wird verwendet, um die Messdaten in der Echtzeit auszugeben. Der Block und die Dokumentation kann aus der folgenden Quelle heruntergeladen werden:
https://de.mathworks.com/matlabcentral/fileexchange/29107-real-time-pacer-for-simulink
11. Nach einer erfolgreichen Erstellung der S-Funktion und des Modells sieht die Ausgabe im Simulink wie folgt aus:
12. Alle verwendeten Quellcode-Dateien liegen in SVN unter dem folgenden Link:
https://svn.hshl.de/svn/SRC/trunk/Matlab/Mathworks_Workshop_2018/m-files/Hokuyo/S-Funktion_Wiki/