Posts by Alex H

    Müssen es Cobots sein?

    Ich habe hier ein Projekt laufen wo 2 von diesen ollen URs arbeiten, sind aber in eine Bearbeitungszelle
    eingesperrt und normale kleine Industrieroboter hätten wahrscheinlich nur ein paar mech. Anschläge
    benötigt.

    Es wurde einfach Cobots ohne Not verwendet weil die Oberen das andauernd aufgeschnappt haben
    und das dann auch wollten. Ob das sinnvoll war oder nicht war dabei komplett egal.
    Und bei wenigstens 50% der Anwendungen was ich so gesehen habe war das auch so.


    (zum Glück konnte ich mich aus dem Projekt rausziehen und wer anders darf sich um die anfällige
    Mechanik und Eigenheiten der URs kümmern...)

    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;

    Das Thema mit dem Standby hatten wir gerade erst:

    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

    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/kasten-euro-…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)