Fehlerhandling für Fahrbefehle

  • Hallo zusammen,


    ich habe in V+ für einen RX90 einen TCP/IP-Server geschrieben, über den ich auch Fahrbefehle senden kann. Dies funktioniert auch wunderbar. Einziges Problem: wird ein Fahrbefehl gesendet, der zum Soft-Stop führt (z.B. Singularität), führt dies zu einem ABORT und damit auch zum "Sterben" des TCP-Servers.


    Meine Frage daher: kann ich solche Befehle, die einen ABORT verursachen können, mit einer Art TRY-EXCEPT abfangen?


    Einzige Lösung die mir spontan einfallen würde wäre das Verschieben des TCP-Servers in eine separate Task. Würde das mein Problem schon lösen? Der ABORT sollte ja nur die eine Task mit der Roboterbewegung anhalten.


    Vielen Dank für eure Hilfe!
    Sören

  • ANZEIGE
  • Hallo,


    es gibt zwei Möglichkeiten dein Problem zu handeln.


    Die eine hast du schon erwähnt: Lass deinen TCP-Server in einer anderen Task als der Robotertask laufen. Die Kommunikation zur Robotertask kannst du über Variablen, Strings, Softsignale machen.


    Wenn du deinen TCP-Server unbedingt in der Robotertask laufen lassen willst, musst du dafür sorgen, dass deine Robotertask immer läuft und auch im Fehlerfall nicht abbricht. Das heisst du musst ein Errorhandling aktivieren mit REACTE, dann in der REACTE Routine die Fehler abfangen und ggf. in einer Interuptroutine abarbeiten.


    Ich bevorzuge die erste Variante, denn deine Kommunikation hat nicht mit deinem Roboterprogramm zu tun. So kannst du auch ganz einfach einen Fehlerstatus mitteilen.



    Viele Grüße,


    pitl

Erstelle ein Benutzerkonto oder melde dich an um zu kommentieren

Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können

Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Geht einfach!
Neues Benutzerkonto erstellen
Anmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden