Beiträge von Alex H

    der Roboter versucht mit der Geschwindigkeit zu fahren die zuletzt gesetzt wurde

    sei es über KRL oder eine ILF Bewegung davor

    Wieso willst du unbedingt an den Variablennamen ran?

    Spricht etwas dagegen das ganze als Array aufzuziehen? Dann hättest du halt nur einen Variablennamen
    und hättest deine Parameter 1 und 2 haltüber die "Zeilen" und "Spalten" zugeordnet.

    Schau mal nach Industriedienstleistern die Maschinenreinigungen anbietem, die bieten oft auch Maschinenlackierungen an.



    Wurde hier auch mal gemacht, aber vor meiner Zeit, und ich kotze teilweise noch darüber ab.
    Ist da aber hauptsächlich an den alten Spritzgussmaschinen passiert und da wurde ohne Sinn
    und Verstand über Kolbenstangen und Gleitbahnen lackiert. Was Heute noch daran nervt ist
    die extrem Dicke Lackierung die an sämtlichen Wartungsöffnungen die Schrauben in sich, mit
    dem Abdeckblech und dem Maschinenbett verklebt hat.

    So das man beim ersten verwenden einer Verschraubung erstmal mit Hammer und Meisel anrückt
    bevor man nur an einen Inbus denken kann.


    Die Hersteller lackieren ja auch oft erst fertig zusammengebaut, aber gegen das was ich kenne als
    nachträglich aufgebracht einfach nicht zu vergleichen. Gefühlt ein Unterschied wie Eloxal zu
    Pulverbeschichtung.


    Muss man halt schauen das nicht nur Bunt wird, sondern auch sinnvoll Bunt wird ;)

    Moin


    Was heißt bei dir Programm? Komplette Konfiguration mit E/A etc. oder nur der eigentliche Ablauf?


    Ich mag es ganz entspannt mit den Modulen zu arbeiten und diese einfach entsprechend zu kopieren,
    gerade auch weil ich relativ viele Kleinigkeiten unterschiedlich zwischen virtueller und realer Steuerung
    habe. Damit lässt sich einfach besser Kontrollieren was wann wie geladen wird.

    such mal nach

    $ORI_TYPE bzw $CIRC_TYPE damit ließ sich die Orientierung beeinflussen, wie genau müsste ich
    aber selbst nachschlagen und hab gerade keine Zeit :P :D

    Wenn du ILF verwendest gibts da glaube ich auch ein dropdown zum einstellen

    Moin


    Ich würde dir empfehlen zu allererst das Technisches Referenzhandbuch RAPID Überblick anzuschauen, gerade aus den Punkt Programmstruktur.


    Grundsätzlich dürfte es auf ein Modul hinauslaufen in dem eine Startprozedur angestoßen wird

    in der die Abfrage kommt und du dann je nach Rückgabewert einzelne Prozeduren (wahrscheinlich aus dem selbem Modul) aufrufst


    So ganz habe ich jetzt nicht verstanden wieso du auf was für eine Lösung hinauswillst, aber grundsätzlich kannst du die tooldata zur Laufzeit berechnen. Musst dir also eine Funktion bauen die dein original Tool
    bekommt, die Änderungen macht und dir neue Tooldata ausspuckt.


    Code
    TASK PERS tooldata tTest     := [TRUE,[[-152.6,0,221.2],[0.843392,0,-0.537299,0]],[3.1,[31.5,0,113.7],[1,0,0,0],0,0,0.018]];
    TASK PERS tooldata tTestCalc := [TRUE,[[-102.6,0,121.2],[0.843392,0,-0.537299,0]],[3.1,[31.5,0,113.7],[1,0,0,0],0,0,0.018]];
    .
    .
    .
    tTestCalc:=tTest;
    tTestCalc.tframe.trans.x:=tTestCalc.tframe.trans.x+50;
    tTestCalc.tframe.trans.z:=tTestCalc.tframe.trans.z-100;

    Man kann bestimmt beim UR auch die aktuelle Position auslesen, Google hat mir da direkt

    get_actual_tcp_pose() zu ausgespuckt.

    Damit fährst du einfach ein MoveJ zur aktuellen Position als erstes an und hast deinen initalen move gemacht ohne dich vom Fleck zu bewegen. Dann sollte das Überspringen deiner Teachpositionen wieder möglich sein?!


    Seit wann kann ich mit Present eine Variable überprüfen? Damit kann ich doch nur prüfen ob ein Optionales Argument beim Aufruf verwendet wurde.


    Ich wüsste jetzt auch nicht das es eine funtion gibt die das prüft (im Rapid Handbuch hab ich auch nix beim überfliegen gesehen), auf was willst du auch prüfen wenn Rapid VAR immer mit Nullen initialisiert.


    An deiner Stelle würde ich versuchen so eine Konstellation zu vermeiden, eine nicht beschriebene Variable abfragen klingt für mich einfach Falsch und sollte schon vom Ablauf gar nicht möglich sein.


    Wenn du das nicht umschiffen kannst fällt mir nur ein Weg bei nicht booleschen Werten ein, initial mit
    einem Wert beschreiben der nicht auftreten kann im Betrieb und dann abfragen ob man in dem Bereich ist.

    hatten wir letztens auch an unserem UR5, mit einer USB Maus kann man erstmal überbrücken


    jetzt als finale Reparatur wurde glaube ich das Panel und eine Platine in der Steuerung getauscht

    bin mir aber nicht sicher da das die Abteilung selbst gehandhabt hat und der UR samt Steuerung
    wegen mehrer Probleme extern einen Service bekommen hat

    naja alles eine Frage der Relationen

    wenn ich da an unsere KRC2 denke mit einem Win95 Host, und da glaube Version ein FAT16 System, finde ich 32kB für eine einzelne Variable echt klasse :D

    Sicher das du nur UIMsgBox verwenden kannst? Oder rennst du gerade nur in den Unterschied
    Funktion vs. Instruktion?


    UIMsgBox ist eine Instruktion und wird dementsprechend wie z.B. ein MoveL gehandhabt.

    UIMessageBox ist eine Funktion, gibt also etwas aus das in eine Zuweisung verwendet wird.


    Sowas sollte eigentlich auch bei dir funktionieren:

    Du meinst genau diese hier https://www.schaefer-shop.de/p…mass-6220-41-6-l-5-stueck ?


    Dann würde ich wohl die Zentrierbohrungen direkt zum Greifen nutzen über entsprechende Dorne auf Kurzhubzylindern.
    Oder von Außen einfach großflächig klemmen.
    Oder Haken in die Griffe schwenken.
    Oder in die Langlöcher einhaken (von AKON Robotics gibts da recht viele Videos dazu).
    Oder sowas wie eine Palettengabel für einen Kran mit Fallsicherung verwenden.


    Kommt halt immer drauf an wie schwer das ganze wird (Leerbehälter oder randvoll?), wieviele Seiten
    frei zugänglich sein müssen, wie werden die Behälter bereitgestellt (vereinzelt oder auf Palette) und was für ein Robi wird verwendet (Linearhandling würde ich wohl anders angehen als einen 6-Achs)

    Iich musste sowas ähnliches mal an mit unserer Wasserstrahlschneidanlage machen.

    Dabei waren es aber max. 2 Zeichen weswegen ich die einfach als einen Pfad erstellt habe.


    Dazu habe ich über einen Text zu GCode Konverter mir die Koordinaten geholt und damit
    die Zeichen nachgebaut.


    Bei dir dürften es ja einige Zeichen mehr werden, also vielleicht eine Art Alphabet mit allen
    benötigten Zeichen als Pfad anlegen und dann nacheinander mit entsprechenden Verschiebung
    aufrufen. Das wäre so meine Idee, vorallem da du ja nicht die Probleme mit Ein- und Ausfahren
    oder Ausschneiden hast wie ich mit dem Wasserstrahl ;)

    Was die Lizenzen angeht, hab gerade vor ein paar Stunden ein Angebot für eine neue Jahreslizenz bekommen und die ist keine 15€ teurer als vor ziemlich genau einem Jahr. (so wie CAD converter und PowerPacs auch)



    Für mich ließt sich das auch so das es immernoch nur Lizenz oder nicht gibt (die Mitte ist ja nur die Testversion) und die Cloudlösung ist irgendwie teil der normalen Lizenz.



    Was das Cloudzeug an sich angeht, naja wenns in der nächsten Lizenz dabei ist schau ich es mir vielleicht mal an. Aber an sich können die mit ihren Wolken bleiben wo sie sind.