Beiträge von mag_de_coco

    So, jetzt konnte ich erst die Abfragen integriert und leider erzielt es nicht den gewünschten Effekt.

    Bei jeder "Prüfung" (checkBuffer) stellt es mir die Software hin, da das Element nicht vorhanden ist (wenn Kanal noch nicht geöffnet ist).

    Ich vermute, ich muss die Einstellung in der XML-Konfig ändern:

    "<MESSAGES Display="error" Logging="warning" />"


    Was dann doch aber den Effekt hat, dass andere Fehler (EthernetKRL) nicht mehr ausgegeben werden bzw. ich abfangen muss.

    Liege ich hier falsch?


    Gruß

    mag_de_coco

    Hallo zusammen,


    danke für die schnelle Rückmeldung.

    Das Problem mit dem Alive-Signal hatte ich hier auch schon. Es steht an, obwohl die Verbindung geschlossen ist.

    Laut KUKA sollte das aber nicht so sein.


    Werde es mit der Bufferabfrage versuchen.

    Frage hierzu: Ich denke es spielt keine Rolle, welches Element ich bei der Abfrage auswähle, oder?


    Gruß


    mag_de_coco

    Hallo liebe Kollegen,



    folgendes Problem. Beim Auslesen eines Strings über die EthernetKRL-Schnittstelle werden die Leerstellen mit 'H00'` befüllt.

    Was kann hier die Ursache sein bzw. wie kann ich es verhindern / beseitigen.


    Nachfolgen der Code, Deklaration, EthernetKRL-Configfile und die Systembeschreibung.



    Einlesen des Strings:

    "....

    offset1 = 0

    swrite(sBase_Name[],state,offset1,"Robot/Base/B%d%s",b,"/NAME")

    ; Read Base-Name

    RET=EKI_GetString(sChannel_Base[],sBase_Name[], valueChar_1[])

    ..."


    Deklaration:

    "....

    DECL GLOBAL CHAR valueChar_1[24]

    valueChar_1[]="BASE_32'H00''H00''H00''H00''H00''H00''H00''H00''H00''H00''H00''H00''H00''H00''H00''H00''H00'"

    ....."



    Config: EthernetKRL

    "

    <ETHERNETKRL>

    <CONFIGURATION> <EXTERNAL>

    <IP>XXX.XXX.XXX.XXX</IP>

    <PORT>XXXXX</PORT>

    <TYPE>Server</TYPE>

    </EXTERNAL>

    <INTERNAL>

    <ENVIRONMENT>Program</ENVIRONMENT>

    <BUFFERING Mode="FIFO" Limit="32"/>

    <BUFFSIZE Limit="65534"/>

    <TIMEOUT Connect="5000"/>

    <ALIVE Set_Out="74"/>

    <PROTOCOL>TCP</PROTOCOL>

    <MESSAGES Display="error" Logging="warning" />

    </INTERNAL>

    </CONFIGURATION>

    <RECEIVE>

    <XML>

    <ELEMENT Tag="Robot/Base/MAX" Type="INT"/>

    <ELEMENT Tag="Robot/Base/B1/VALUE" Type="FRAME"/>

    <ELEMENT Tag="Robot/Base/B1/NAME" Type="STRING"/>

    <ELEMENT Tag="Robot/Base/B1/TYPE" Type="STRING"/>

    <ELEMENT Tag="Robot/Base/B2/VALUE" Type="FRAME"/>

    <ELEMENT Tag="Robot/Base/B2/NAME" Type="STRING"/>

    ......"



    System:

    - KR 360 R2830

    - KRC4 Version=V8.5.8

    - EthernetKRL=3.0.3


    Danke für Eure Hilfe.


    Gruß


    mag_de_coco

    Hallo liebe Kollegen,


    folgendes Problem:

    Ich habe hier ein Roboter mit einer Kamera und einem Kameratool (tool15 --> Daten kommen aus dem CAD), dass nicht exakt der Realität der Kamera entspricht.

    Ziel ist es jetzt dieses Tool auf die Realität an zu passen.

    Es wurde die Kalibrierplatte (Platte mit Punkten für die Kamera) als Base (base16) im Roboter eingemessen (sehr genau).


    Wie kann ich jetzt das Tool anpassen?


    Idee ist:

    - Roboter mit Tool15 parallell zu den Koordinatenachsen der Kalibrierplatte zu stellen.

    - Werte der Kamera x/y/z notieren

    - definiert im Koordinatensystem 50mm in X zu fahren

    - Werte der Kamera x/y/z notieren

    --> Differenzvektor

    - dann über den geometrischen Operator das Tool anzupassen


    Hat leider bisher so nicht geklappt. Irgenwo hab ich hier noch einen Denkfehler.

    Könnt Ihr mir hier helfen?


    Gruß

    mag_de_coco

    Hallo rdizzy,


    bei dem Projekt, dass ich nach Process Designer / Simulate konvertieren möchte, sind einige Schweißpunkte unter "Process-Integ /Hierarchy Tree" mit unbekanntem Typ aufgeführt. Hier habe ich aber nur die Möglichkeit sie dem Typ Parts oder Resources zuzuweisen, was ja auf jeden Fall nicht richtig ist. Die anderen Schweißpunkte / Locations tauchen in der Liste überhaupt nicht auf.


    Gruß


    mag_de_coco

    Hallo Kollegen,


    momentan versuche ich eine RobCad-Zelle in ein leeres Projekt unter Process Designer zu integrieren. Leider habe ich bisher noch kein Erfolg damit gehabt.


    Hierzu hätte ich jetzt noch ein paar Fragen:


    Bei der Vorbereitung unter RobCad mit Hilfe der Process-Integration Application werden die Parts und Resourcen gruppiert und zu gewiesen. Leider gibt es dort auch Komponenten, bei denen der Typ nicht erkannt wird (z.B. ein Fundamentplan etc.).


    1. Wie kann ich jetzt unter RobCad den Object Type manuell festlegen bzw. ändern?
    2. Gibt es keine anderen Object Type´s wie Parts und Resources?
    3. Wie lautet der Object Type für Schweißpunkte?
    4. Müssen alle Objekte unter Process-Integ /Hierarchy Tree gruppiert werden?


    Systeme: RobCad 8.0 mit Process-Integration
    Process Designer / Simulate 9.1.2



    Vielen Dank für Eure Hilfe.


    Gruß
    mag_de_coco

    Hallo Kollegen,


    da ich vom Bereich der Onlineprogrammierung /Inbetriebnahme in den Bereich der Robotersimulation (Process Simulate) wechsle, würde mich interessieren, was so die Fehler der Simulatoren sind, die dann auf der Baustelle zu Probleme führen.


    Ich habe in meinem alten Job bisher noch keine Zelle inbetriebnehmen müssen, die von einer Robotersimulation erstellt wurde, somit weiß ich nicht mit was man typischer weise für Probleme zu kämpfen hat.


    Gruß
    mag_de_coco

    Hallo Kollegen,


    hier ein paar Fragen zu Gluetech:


    1) Bei der Kalibrierroutine wird man gefragt, ob man mit der Geschwindigkeit von 0.4 m/s initialisieren möchte. Wenn ja, sollte man doch auch die Klebepositionen mit 0.4 m/s durchfahren?! Warum werden dann die Kalibrierpositionen mit 0.8 m/s gefahren?


    2) Bei der Kalibrierposition wir man gefragt, ob man RESET 1 oder KLEBEN 1 verwenden möchte. Was bedeuten die beiden? Welche sollte man wann verwenden?


    3) In den Klebeprofilen gebe ich an, bei welcher Geschwindigkeit das maximale Material zugeführt wird (0.4 m/s // 100%). Bedeutet das dann auch automatisch, das bei 0.2 m/s 50% Material zugeführt wird?


    4) Wann genau verwende ich "SET HIGH Parameter ON ....."? Muss ich es generell setzen? Was für Auswirkungen hat es, wenn ich die Werte erhöhe?


    5) Hat jemand Schulungsunterlagen zu Gluetech?



    Aktuelles Problem: Feststehende Pistole (als externer TCP vermessen), Klebeobjekt besitzt einen Knick in der Mitte, der Momentan mit einer CIRC-Bewegung durchfahren wird (geringe Bewegung, große Orientierungsänderung).
    --> an dieser Stelle wird viel zu wenig Material aufgetragen.
    --> An welchem Parameter sollte hier gedreht werden? Position, Geschwindigkeit, Orientierungsführung, Klebeprofil etc?



    Gruß
    mag_de_coco

    Hallo Kollegen,


    momentan hänge ich hier an einer Gluetech-Applikation. Mein Problem ist, dass ich nicht genau weiß, für was die ganzen Parameter zuständig sind bzw. welchen Parameter ich verändern muss um ans Ziel zu kommen.
    Die Gluetech-Doku (siehe oben) enthält nicht wirklich genügend Info, was die Parameter bewirken.
    Hat jemand von Euch eine weitere Doku bzw. Schulungsunterlagen von KUKA über das Thema?


    Vielen Dank im Vorraus.


    Gruß
    mag_de_coco

    BIM: Danke für die Doku. Ein Kollege versucht es gerade über diese Funktion die richtige Konfiguration zu bestimmen. Am Anfang hat es super geklappt.
    Jetzt allerdings bei einem neuen Palettiermuster und einer anderen Bauteilhöhe bekommen wir an bestimmten Position keine gültige Position mehr zurück.
    Allerdings lassen sich die Positionen ohne Probleme an fahren.



    Robotnik: Stelle mir das eher ein bisschen komplexer vor. 6 Achsen, eine Base und ein Tool über einfache Winkelfunktionen miteinander zu verknüpfen. Werde es mal versuchen.


    Gruß


    mag_de_coco

    Hallo liebe Robotiker,


    kennt jemand von Euch eine Möglichkeit eine berechnete Position (Tool, Base bekannt)
    im Vorfeld zu überprüfen, ob sie überhaupt angefahren werden kann (Softwareendschalter bzw. gestreckte Achse 2 und 3?)


    Hintergrund der Frage:
    6-Achser Kuka hängt an der Decke und muss Teile von einem Band in eine Palette direkt unter dem Roboter ablegen. Je nach Palettiermuster und Höhe der Teile ergibt sich eine andere Position. Die Höhe der Teile ist flexibel und nicht begrenzt.
    Die oberen Lagen können sogar nur mit einer Überkopforientierung beladen werden. Die Orientierung ändert sich leider mitten in der Ebene.


    Um eine gute Idee wäre ich sehr dankbar. :D


    Gruß


    mag_de_coco

    Danke für die Antwort.


    Mein Gedanke war auch über eine Semaphore die Überschneidung abzu fangen. Allerdings wollte ich das direkt in den Modulen vor nehmen.
    Aber wenn es keine Möglichkeit gibt zu erkennen, wo das Modul läuft, kann ich auch nicht die taskspezifischen Verriegelungen verwenden.


    Gibt es eine Möglichkeit das ganze mit einer Semaphore zu realisieren? Wie zum Beispiel bei ABB " TestandSet ..."?


    Gruß


    mag_de_coco

    Hallo alle miteinander,


    ich habe gerade das Problem, dass ich ein Modul sowohl in der SPS.SUB als auch im Roboterablauf verwende.


    Dieses Modul loggt Zustände, Parameter, Fehler etc. in ein .DAT-File. Jetzt scheint es vorzukommen, dass sowohl das Ablaufprogramm als auch die SPS.SUB "gleichzeitig" darauf zu greift und somit auch "gleichzeitig" auf das .DAT-File.


    Mein Frage: Kann ich im Modul abfragen, wo es gerade ausgeführt wird (SPS.SUB
    oder Roboterablauf)?
    Erzeugt die KRL automatisch eine weiter Instanz, oder liegt da das
    Problem?


    Vielen Dank für Eure Hilfe.


    mfg mag_de_coco