Beiträge von Nussknacker

    Hallo Michael,


    habe mein Programm jetzt so abgeändert, dass nur das OFrame neu berechnet wird.

    Damit funktioniert es so wie ich es mir vorgestellt habe.


    Danke für deine Hilfe und das Erklären der Zusammenhänge. Wieder etwas schlauer geworden.


    Gruß

    Frank

    Hallo Michael,


    danke für deine Antwort.


    Dann liegt mein fehler darin das ich beim einrichten (teachen) der Werkobjekte schon falsch vorgegangen bin.

    Das Problem ist, dass man als Tool den externen TCP auswählt diesen aber nicht mit einem Tool0 oder Greifer anfahren kann. Man muss dieses mit einem Werkobjekt machen. Da ich nur mein "wobjFra_Top" hatte, habe ich dieses benutzt.

    Wenn ich dich richtig verstanden habe, muss ich ein Werkobjekt definiere, was der Roboter hält, mit "wobjTool0" mit "0" werten oder ein "wobjGripper" mit den TCP koordinaten vom Greifer und dann neu einrichten.


    Ich werde es wohl erstmal mit dem neu berechen versuchen. Schauen was dort für ein Ergebniss raus kommen oder ein oFrame nutzen....


    Doof ist, wenn ich das "wobjFra_Top" neu einrichte, muss ich alle Punkte neu teachen. Das sind so ca. 140.... ;( und ich habe noch ein zweites Werkobjekt mit dem selben Fehler :rolleyes:


    Gruß

    Frank

    Hallo Gemeinde,


    bin zur Zeit bei einer Inbetrienahme und stehe etwas auf dem Schlauch.


    Steuerung ist eine IRC5 mit Robotware 6.13.


    Es geht um eine Anwedung zum Kleber auftragen. Die Düse ist feststehend und das Werkstück im Greifer.

    Es ist ein externer TCP für fie Düse eingerichtet. Das Workobejct ist mit hilfe von drei Punkten über das Menü definiert worden.


    Jetzt würde ich gerne eine Service Routine schreiben, dass der Roboter diese Punkte anfährt und der Bediener entsprechend korrigieren kann.


    Das anfahren der Punkte und entsprechendes Menü funktioniert.


    Was ich aber nicht hin bekomme, ist das neu definieren mit dem Befehl "DefFrame". Ich bekomme nicht die Werte vom uframe wie sie übers Menü definiert werden.


    Irgenwie habe ich das Gefühl ich teache die Punkte mit dem Falschen Tool oder sowas. MIr ist einfach nicht ganz klar worauf sich das Workobject, was ja am Robter ist, bezieht.


    Vielleicht hat von euch jemand eine Idee was ich falsch mache...


    Wünsche einen schönen 1.Mai!

    Hallo ludr93,


    du könntest das mit Hilfe einer TCP/IP Socket Verbindung machen.

    Hier gibt es auf der Stäubli Hompage eine Dokumetation. Diese findest du unter der Technischen Datenbank (müsstest dich Registrieren/Anmelden).

    Bei der Suche mal "socket TCP IP" eingeben. Früher gab es auch mal eine Beispiel Applikation dazu....

    Hallo ludr93,


    ich weiß nicht ob du dein Problem schon gelöst hast.


    Um einen Num in String zu wandeln gibt es den Befehl: "toString".

    Schau mal unter der VAL3 Hilfe. Dort ist er erklärt.


    Das der Text vom Scanner falsch oder gestückelt ankommt,

    Könnte dran liegen das du in deiner Schleife immer wieder ein "clearBuffer()" machst,

    Normal kannst du bei den Scannern auch immer ein "Endzeichen" einstellen z.b. 13 für "Carriage-Return". Dann wüsstest du wann die gesendeten Daten zu ende sind.


    Schau dir mal diesen Code an:




    Hallo,


    das "$" vor dem "getJntForce()" deutet drauf hin, dass es sich um einen Befehl aus einem Addon handelt.

    Bei neueren Val 3 Versionen ist der Befehl mittlerweile Standart.


    So habe ich es bis jetzt gemacht:

    Direkt gibt es da nichts.

    Es gibt nur die Möglichkeit selber etwas zu programmieren.

    Eine Task die die Achswerte überwacht und entsprechend den Roboter anhält.


    Schau dir mal den Befehl "getJointForce()" an.


    Bleibt aber die Frage ob die Reaktionszeit für deine Anwendung reicht.

    Wenn du das Programm über USB geladen hast, dass Programm im Applications-Manager anwählen. Dann gibt es unten ein Button "Exp." (Exportieren) sollte die Taste "F3" sein. Dort die "Disk" für die Lokale Festplatte wählen und mit "OK" bestätigen.


    Wichtig!

    Wenn du die Applikation umbenannt hast, wird sie gespeichert. Dann müsstest du sie noch auf "Autostart" stellen, damit sie nach einem Neustart auch geladen und gestartet wird. Dafür im Applications-Manager "Val3 applictions" anwählen und "F7" (Open) drücken. Dort die Application anwählen und mit Taste "F6" (Mode) das Programm auf "Autostart" stellen. Vorher das alte Programm auf die selbe Art auf "Manual" stellen.


    Wenn du das Programm nicht umbenannt hast, wirst du gefragt ob die Applikation überschrieben werden soll. Dann musst du nichts weiter machen.


    Das sollte so bei einer CS8 Steuerung sein!

    Bei einer CS9 funktioniert es prinzipiell genauso aber die Bedienung ist etwas anders....

    Hallo Gemeinde!


    Habe schon mal die Suche bemüht aber nichts passendes gefunden.
    Ich würde gerne eine Funktionstaste belegen und nur so lange den Roboter bewegen, solange diese Taste betätigt ist.
    Das ganze habe ich schon mal mit einem DO und einem Interrupt simuliert. Aber die Lösung gefällt mir nicht so recht, weil das Programm immer von neuem gestartet wird. Lasse ich ExitCycle weg, bleibt der Programmzeiger beim Rücksprung in der Move... Zeile stehen.


    PROC main()
    !Initialisierung
    !Init;
    !Produktionsschleife
    WHILE DOutput(doIRBinHome)=0 DO
    TEST abfrage(usContinue)
    CASE 1:
    ! Abbrechen (Löschen) eines Interrupts
    IDelete sig1int;
    CONNECT sig1int WITH iroutine1;
    WaitDO DO7, 1;
    ISignalDO DO7,0,sig1int;
    MoveAbsJ jHome,v100,fine,tool0;
    ENDTEST
    ENDWHILE
    ENDPROC


    !Reaktion auf Interrupt
    TRAP iroutine1
    StopMove\Quick;
    ClearPath;
    StartMove;
    ExitCycle;
    ENDTRAP


    Gibt es da nicht eine andere Lösung?


    Gruß
    Frank

    Hallo zuammen!


    Da ich hier neu im Forum bin, möchte ich erstmal allen Hallo sagen.


    Bis jetzt hab ich die gelben aus der Schweiz programmiert. Nun habe ich ein paar Kollegen von ABB mit IRC5 Steuerung bekommen. Arbeite mich so langsam in die neue "Welt" ein und die erste Schulung ist in 2 Wochen.


    Habe hier ein paar Programme von früheren Projekten die ich mir angeschaut habe. In diesem Programm gibt es eine Verschlüsselte Systemdatei.


    Kann mir jemand sagen, wie man eine solche Datei im RS öffnen bzw. auch erstellen kann?


    Gruß