Beiträge von Antoneli

    Vielen Dank für die schnelle Hilfe. Hat wunderbar geklappt. Ich kann jetzt sowohl den Sauger als auch den Magnetschalter von meinem Echtzeitrogramm aus kontrollieren. Was den Wechsel zwischen den einzelnen MXT-Befehlen angeht dachte ich mir, ich verwende einfach zwei ungenutzte Eingänge als Flags um die 3 Zustände zu Codieren und springe über eine entsprechende MELFA-Logik jeweils in den gewünschten MXT-Befehl.

    Hallo,


    ich bin neu hier im Forum und habe ein paar Fragen zu der Echtzeitansteuerung eines Mitsubishi RV-3SB. Ich bin eher im Bereich der objektorientierten Programmierung unterwegs und tue mir noch etwas schwer bei der Echtzeitansteuerung des Roboters. Die entsprechenden Beiträge zu dem Thema hier im Forum hab ich bereits durchforstet, jedoch steh bei der praktischen Durchführung trotzdem etwas auf dem Schlauch.


    Die Bewegungen mit dem Roboter lassen sich mit Hilfe des Beispielprogramms (aus CRn-500-Ethernetkarte Handbuch) soweit ganz gut ausführen. Ich würde aber gerne noch zusätzliche Funktionen ausführen können:


    1. Sauger bzw. Magnetschalter ein/aus.
    Der Roboter hat vorne einen Sauger dran, dieser lässt sich in Melfa über das Ausgangsbit 5 aktivieren -> M_OUT(5)=1.
    Im Handbuch steht das Ein-/Ausgangssignale zeitgleich mit den Positionsdaten gesendet oder empfangen werden können. Hier bin ich mir jedoch nicht ganz sicher wie das genau zu bewerkstelligen ist.

    Insbesondere ist die Verwendung der Folgenden 3 Parameter in der Dokumentation bzw. in den Kommentaren des Beispielprograms eher waage beschrieben. Mit den beiden Parametern Bitmaske und Bitdaten kann ich noch was anfangen, jedoch nicht mit der Kopfbitnummer.


    Es wäre schön wenn mir hier jemand ein Beispiel für eine mögliche Eingabe zeigen würde.
    Kopfbitnummer (0 - 32767)
    Bitmaske (0000 - FFFF)
    Bitdaten (0000 - FFFF)

    2. Wechsel des Melfa-Programs (XYZ-Koordinaten | Gelenkdaten | Motorimpulse)
    Hier geht es im Grunde genommen ja nur um den zweiten Parameter des MXT Befehls (MXT 1,0 | MXT 1,1 | MXT 1,2)


    Ideal wäre es wenn ich ein Flag mit dem Steuerungsbefehl mitsenden könnte. Diesen dann vom
    Robotersteuerungsprogramm aus auswerten, den aktuellen MXT-Befehl beenden und nach Wunsch in den
    entsprechenden MXT-Befehl springen könnte.

    Eine weitere Idee wäre vielleicht jeweils ein separates Programm für jeden Modus (XYZ-Koordinaten | Gelenkdaten | Motorimpulse) auf die Robotersteuerung zu laden und beim Wechseln immer das aktuelle Programm beenden und das gewünschte wählen. Das könnte dann wie bereits hier im Forum vorgeschlagen mit einer separaten TCP-Verbindung bewerkstelligt werden.


    Ich hab bereits in etwas komplexeren Versionen des Echtzeitsteuerungs-Programms (roboticslibrary.org) gesehen, dass Komplette Melfa-Programme auf die Steuerung geladen und ausgeführt werden können. Dazu wurde glaub ich ebenfalls eine zusätzliche TCP-Verbindung aufgebaut. Ich würde die Lösung jedoch gerne so einfach wie möglich halten, da ich ja wie bereits erwähnt nur einen einzelnen Parameter im MXT-Befehl manipulieren muss.

    Ich hoffe, dass die Fragen einigermaßen Nachvollziehbar sind und bedanke mich schon mal im Voraus.