Systementwurf: SPS und Ubuntu Laptop -> Datenaustausch / Bildverarbeitung

spiderman

Level-1
Beiträge
2
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,


  • Für eine wissenschaftliche Arbeit an einer Uni wird ein System für die Regelung des Lenkwinkels von einem fahrbaren Roboter benötigt.
  • Mein erster Gedanke: SPS mit einer (niedriegen) Zykluszeit. Der Roboter fährt ja eh nicht sehr schnell.
  • Das ist eigentlich gar nicht das Problem, da hier für die Ansteuerung der Lenkung im Roboter nur ein analoger Ausgang benötigt wird (und den bieten ja alle Hersteller an).

Das Gesamtsystem beinhaltet des weiteren einen Laptop mit Ubuntu/Linux für eine Bildverarbeitungsaufgabe / Objekterkennung:

  • Die Objekterkennung ist selbst geschrieben (C++)
  • Abhängig vom erkannten Objekt wird ein Fahrweg/Trajektorie berechnet (Bisher noch auf dem Laptop, kann aber auch auf der SPS erfolgen)
  • Diese Trajektorie dient Grundlage für die Lenkwinkel-Regelung.

Mein eigentliches Problem: Wie bekomme ich die Informationen (Objektpositionsdaten x,y und Winkel) vom Laptop mit Ubuntu/Linux in eine SPS?
  • Von Beckhoff habe ich das ADS Protokoll gefunden https://github.com/Beckhoff/ADS
  • Leider finde ich dazu keine Angabe von zu Zykluszeiten. Vorausgesetzt Laptop und SPS sind direkt verbunden und es herrscht keine weitere Netzwerklast.
  • Gibt es weitere Hersteller / Löungen?

Ich bin für jede Idee zum Datenaustausch dankbar.

Viele Grüße
 
Zuletzt bearbeitet:
Hallo,

also ich kenne bei Bernecker und Rainer eine Bibliothek die heißt AsTCP bzw. AsUDP,
mit diesen lässt sich über einen Server oder Client eine Kommunikation über einen Socket herstellen.
Da kann man eigentlich eine Menge Daten übertragen.

Ich frage mich, warum Ihr nicht gleich mit Raspberry oder Arduino arbeitet.

SG
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Was für eine SPS hast du denn vor einzusetzen?

Wenn du beide Seiten selber programmierst, dann kannst du auch dein eigenen Datenaustausch über eine TCP-Verbindung realisieren die du dann in der SPS und am PC ausprogrammierst. Das beherrschen mittlerweile die meisten netzwerkfähigen SPSen.

Ansonsten ein mehr oder weniger echtzeitfähiges Protokoll wie Profinet, EtherCAT oder Ethernet/IP, wobei du dafür eine entsprechende Bibliothek (ggf. Hardware je nach Ausprägung) wirst kaufen müssen, wenn du nicht die nächsten Monate so etwas selber entwickeln möchtest.

Was für deine Anwendung passt, hängt davon ab welche Aktualisierungszyklen du garantiert für deine Anwendung benötigst.
 
Warum nicht einfach einen analogen Ausgang per USB an den Laptop hängen?
Selbst gebastelt für unter 15€ oder fertig zum Kaufen für 100 bis 300 Euronen, je nach gewünschter Auflösung. (der für um 300 hat dann gleich 4 Stück mit je 16bit)

MfG Fabsi
 
Danke für eure Antworten.

Welche SPS möchte ich einsetzen? Im Sinne welcher Hersteller? Das steht noch nicht fest. Da analoge Ausgänge kein Problem sind, mache ich die Auswahl an der Kommunikation mit dem Ubuntu Laptop fest.

Die USB Analog Output Variante direkt für den Laptop hatte ich auch schon im Kopf (z. B. https://www.lucid-control.com/product/lucidcontrol-ao4-4-channel-analog-output-usb-module/). Output Refresh Time und Interval sind kleiner als 10 ms. Klingt erst mal gut? Kürzere Zeiten für eine Übertragung bekomme ich wahrscheinlich bei Beckhoff mit ADS (als Beispiel) auch nicht hin. Bleibt die Frage wie robust die USB Kommunikation ist...

Raspberry und Arduino habe ich mir auch angeschaut. Die Schnittstelle zum Ubuntu Laptop brauche ich dort ja ebenso. Und die Spannungsbereiche sind nur mit zusätzlicher Elektronik auf dem Steckbrett zu realisieren - was ich eigentlich vermeiden möchte.

Stichwort Aktualisierungszyklus / Zykluszeit: Die Objekterkennung läuft mit ~25 Hz --> alle 40 ms wird eine neue Trajektorie berechnet (Rechenzeit dafür ist vernachlässigbar). Allerdings soll der analoge Ausgang öfter aktualisiert werden, da die alte Trajektorie solange gültig ist, bis eine neue berechnet wurde. 5-10 ms sind hier ausreichend.

Grüße
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die USB Analog Output Variante direkt für den Laptop hatte ich auch schon im Kopf (z. B. https://www.lucid-control.com/product/lucidcontrol-ao4-4-channel-analog-output-usb-module/). Output Refresh Time und Interval sind kleiner als 10 ms. Klingt erst mal gut? Kürzere Zeiten für eine Übertragung bekomme ich wahrscheinlich bei Beckhoff mit ADS (als Beispiel) auch nicht hin. Bleibt die Frage wie robust die USB Kommunikation ist...

Also ehrlich, für gute 100€ würde ich das an deiner Stelle einfach ausprobieren. Und hast weder in Hard noch ins Software irgendwelchen Overhead...
Und wenn es nicht klappt, findet sich für paar Euros unter deinem EK sicherlich hier ein Abnehmer ;)

MfG Fabsi
 
Zurück
Oben