Beiträge von Martin.Auer

    Guten Morgen Kuka Community,


    ich hätte ein Frage zu der Automatik Extern Schnittstelle und im speziellen zum Eingang $CONF_MESS.
    Der Eingang wird ja zum Quittieren von Fehlermeldungen am KUKA verwendet, meine Frage ist nun werden die Fehler zyklisch (wenn ja, welcher Zyklus) quittiert, so lange der Eingang TRUE ist oder nur einmal bei einem Signalwechsel von 0->1?


    Genau die gleiche Frage hätte ich für die Eingänge $DRIVES_ON und $EXT_START


    Hätte in der KUKA Doku danach gesucht, aber leider nichts schlüssiges gefunden. Entweder ich habe im falschen PDF nachgesehen oder es ist nirgends gut dokumentiert :denk:


    Danke für euere Antworten :ylsuper:

    Das muss ich dir recht geben...aber ich wenn du nur die bestehenden Bilder vom Grippertech ändern willst, kann ich dir leider auch nicht helfen...


    aber ich würde versuchen im Ordner C:\ KRC nach einer *.bmp Datei zu suchen...vielleicht findest du das Bild und kannst es einfach austauschen...


    sorry

    Welche Datei hast du dir als ".txt" kopiert? weil ein KUKA Pogramm besteht im Normalfall aus einem .dat File mit den Variablen, Position also Daten und einem .src File wo die Befehle, Bewegungen und so weiter stehen...


    Im Normalfall hänge ich mich mit einem Netzwerkkabel auf den Roboter kopiere mir die .src und .dat Files runter editiere sie und kopiere sie zurück...danach ein Reboot und alles sollte laufen...bei neuen Files einfach ein bestehendes .dat und .src File kopieren, damit hast du gleich mal den Rumpf....


    Typischer Aufbau


    Conveyorbelt.src


    &ACCESS RV
    &REL 6
    &COMMENT Foerderbandablage
    &PARAM TEMPLATE = C:\KRC\Roboter\Template\ExpertVorgabe
    &PARAM EDITMASK = *
    DEF Conveyorbelt( )


    ...Befehle,usw.


    END


    Conveyorbelt.dat


    &ACCESS RV
    &REL 6
    &COMMENT Foerderbandablage
    &PARAM TEMPLATE = C:\KRC\Roboter\Template\ExpertVorgabe
    &PARAM EDITMASK = *
    DEFDAT Conveyorbelt PUBLIC


    ENDDAT

    maybe you have activated the dual-VGA output for connecting a TFT parallel to the KCP...in this case the KCP is maybe falshing, because the Graphiccards is a rather slow on in the KUKA...


    you have to change to the Windows environment and change to single output...

    aso, jetzt verstehe ich dich :kopfkratz:


    Ich dachte du suchst einen Editor bei dem du Offline was "schreiben" kannst...


    bezüglich eines Schreibprogramms kann ich dir nicht helfen...ich hatte noch nie so eine Anforderung...
    Aber ich würde ein Unterprogramm schreiben in dem du alle Buchstaben über eine switch-case Anweisung auswählen kannst und anschließend mit relativen Positionen geschrieben werden...
    Dieses Unterpgrogramm dann mit Buchstaben und einer Startposition füttern...


    lg
    Martin

    Hallo Malle!


    Was möchtest du mit dem "Schreibprogramm" machen?


    Für KUKA gibt es das Office Lite welches von KUKA angeboten wird. Das Program hat dieselbe Oberfläche wie die Steuerung und verhält sich auch annährend so...allerdings ist dieses Programm nicht gratis...


    Nachdem die KRL-Files Klartextgespeichert werden kannst du zum schreiben im Grunde jeden Edito verwenden. Du solltest dir nur einmal ein bestehendes File ansehen, damit du weißt welchen Syntax du brauchst damit der KUKA das File dann auch erkennt...


    ich hoffe dir ist geholfen...
    lg
    Martin

    Hallo ABB-Gurus,


    ich hab wiedereinmal ein Problem oder besser gesagt eine Frage.
    Folgende Problemstellung:


    Ein Roboter fährt in einem Unterprogramm eine Reihe von Positionen an. Wenn nun ein externes Signal "Automatik" von high auf low welchselt soll das Programm gestoppt werden und der Roboter aus dem Unterprogramm springen und im Main-Programm wird dann eine Art "Rückzug ausgeführt" Das ganze aber nur für einen gewissen Bereich von Positionen...(beim Einfahren in eine Spritzgussmaschine bis zum Übernehmen des Fertigteils...)


    Meine Idee war folgendes:


    Ich hab einen Interrrupt auf eine low Änderung auf das "Automatik" Signal gelegt...
    Dadurch bekomme ich das Event mit.
    Nun blieb noch der Rücksprung hierfür dachte ich mir, ich lege einfach eine Fehlermeldung an und löse sie im Interrupt aus, und übergebe mit dem Befehl "RAISE" den Fehler von der Interrupt-Routine an die übergeordnete Routine, also mein Unterprogramm und dort springe ich in der Fehlerbehandlung mit "RETURN" in das main Programm.
    Nur leider funktioniert das leider nicht. Das Problem ist die Übergabe des Fehlers von der Interruptroutine in das "Unterprogramm"


    Ich hoffe ihr kennt eine Lösung für so ein Problem.
    Danke im voraus


    mfG
    Martin

    Hm, ich glaub ich steh auf der Leitung...


    Das mit der stationären Weltzone welche einen Ausgang setzt ist mir klar, nur wodurch stoppt der Roboter? Was soll die UND-Verknüpfung bewirken? Ich will ja, das sich der Arbeitsraum dynamisch im parallen Task aktiviert und deaktiviert, unabhängig wo der Roboter im Robotertask steht....

    So, hab mir das ganze jetzt mal angesehen und hab noch eine Frage zu deinem Vorschlag...
    wenn ich eine stationäre Weltzone anlege, dann kann ich ja nie in den Arbeitsraum mit dem Roboter fahren, oder sehe ich das falsch? Oder ist das nicht der Fall, wenn nur einen Ausgang setzen lasse...wenn ja, muss ich mich in diesem Fall aber selbst darum kümmern, das der Roboter stoppt?



    lg
    Martin

    Sorry, das ich erst heute antworte, aber ich war diese Woche auf Urlaub...


    Ich versuche nocheinmal mein Problem genauer zu erläutern:


    Ich möchte eine Weltzone über einen Arbeitsraum legen, den ich variabel sperren und entsperren möchte. Da ich eine stationäre Weltzone aber nur einmal setzen kann und nicht variabel umschalten. Darum hatte ich an eine temporäre gedacht. Das Umschalten der Weltzone soll aber in einem parallen Task erfolgen, da es unabhängig von der aktuellen Postion des Roboters im Haupttask erfolgen soll. Daher dachte ich mir ich lege ein temporäre Weltzone im parallelen Task an und schalte sie auch dort aktiv oder inaktiv. Leider hat das nicht funktioniert, weil er im parallelen Task nicht weiß auf welchen Robter(MotionTask) er sich beziehen soll... Daher mein 2. Ansatz in einer Eventroutine eine temporäre Weltzone anlegen und im parallen aus- und einschalten...hat aber leider auch nicht funktioniert...


    ich hoffe ich konnte mein Problem nun etwas besser beschreiben...

    Hallo alle zusammen,


    ich hab wiedereinmal ein kleines Problem...und zwar:


    Ich will eine temporäre Weltzone in einem parallen Task beliebig aus und einschalten. Wenn ich sie im parallen Task definiere, bekomme ich eine Fehlermeldung beim Aufruf von WZLimsup \Temp, ... mit der Meldung das es kein Motiontask ist...
    Darum dachte ich mir die Weltzone Global definieren und mit einer Event Routine bei Power On einschalten, funktioniert aber leider auch nicht...


    Hat wer von euch viel. eine Idee?
    Danke im voraus...

    Hallo Community,


    hab schon im Forum gesucht, aber leider nichts passendes gefunden.


    Mein Problem: Ich möchte abfrage ob ein Roboter in einer temporären Weltzone steht...gibt es da eine Möglichkeit?


    Quaderförmige Weltzone:


    VAR shapedata sd_IMM_Demolding_Area;
    VAR wztemporary wzt_IMM_Demolding_Area;
    CONST pos psd_IMM_Area_Corner1 := [0,0,0];
    CONST pos psd_IMM_Area_Corner2 := [100,100,100];


    ...


    WZBoxDef \Inside, sd_IMM_Demolding_Area, psd_IMM_Area_Corner1, psd_IMM_Area_Corner2;
    WZLimSup \Stat, wzt_IMM_Demolding_Area, sd_IMM_Demolding_Area;


    ...


    WHILE TRUE DO


    IF ... THEN
    WZDisable wzt_IMM_Demolding_Area;
    ELSE
    WZEnable wzt_IMM_Demolding_Area;
    ENDIF


    ENDWHILE


    Die einzige Möglichkeit, die mir eingefallen ist, wäre einen virtuellen Ausgang zu schalten und den abzufragen...aber das ist halt auch eher ein "Kunstgriff"


    Danke.
    lg
    Martin Auer

    Hallo,


    ich bin neu im Forum und programmiere auch erst seit kurzem ABB-Roboter.
    Bis jetzt habe ich nur mit KUKA-Robotern Erfahrung...
    So nun zu meiner Frage/Problem:


    Bei KUKA und eigentlich allen Hochsprachen oder SPS-Sprachen die ich kenne gibt es die Möglichkeit enum-Variablen anzulegen.
    Das heißt z.B.


    Variable Farbe und dann zugelassen Konstanten: Blau(1), Grün(2), Gelb(3)


    Damit ich dann auf die Variable nur einen der 3 Werte schreiben und alles andere wird schon beim Syntaxcheck abgefangen...
    Leider habe ich bis jetzt keine Möglichkeit gefunden, das bei ABB zu realisieren...ich habe zwar den Datentyp "symnum" gefunden, aber dafür gibt es keine wirklich gute Beschreibung...


    ich hoffe jemand von euch kann mir helfen


    Danke
    Martin Auer