Palettieren / Palettenprogramm / Wer kann mir HELFEN

  • Hallo


    Ich habe mich in das Roboter System selber so weit eingearbeitet. Wir brauchen unseren Roboter zum Polieren diverser Messing teile. Also eigentlich nur abteachen und das war´s dann im grossen auch schon.


    Nun haben wir das Problem. Wir haben uns nun einen zweiten gekauft. Den habe ich schön mit einer Celle ringsum versehen, Nun bin ich dabei eine Palettierung zu machen. Aber ich komme da nicht weiter. In keiner Hinsicht. Habe von Kuka auch schon Unterlagen erhalten aber ohne Erfolg. Es wäre Super wenn mir einer helfen könnte.


    Wie erstelle ich das Paletten Programm. Kästchen 9x13 Reihen
    In welchen Modul muss ich das Schreiben??


    Ich habe ein 30/2 Krc1 Steuerung. Software stand 4.17 Sp08.....


    Das unter Programm zum Polieren selber habe ich fertig..


    BITTE UM HILFEEEEEE


    Gerne auch per E-mail oder Nummer senden

  • Schritt für Schritt zum Roboterprofi!
  • Hej,


    wenn du Hilfe in Form eines Zusatzpaketes suchst, weiß ich nicht ob du fündig wirst. Keine Ahnung ob Kuka so etwas überhaupt anbietet, ich habe es leider noch nicht gesehen :down:
    Es sieht so aus, als wenn du es von Hand errechnen musst, indem du immer die Positionen verschiebst.


    - Du vermisst Dir Deine Palette als Base.
    - Du teacht die erste Ablage-Position als "Master-Position"
    - Von da aus rechnest du Deine Verschiebungen weiter und zählst Zähler für Deine Reihen und Spalten hoch.
    - Bei erreichen deiner maximalen Anzahl in X Zahl zählst du Y einen hoch.
    - Hast du sowohl X als auch Y max erreicht weißt du das deine Palette voll ist und sie wechseln musst.
    - Jetzt kannst Du Deine Positionen anfahren und die Teile Ablegen.


    Bsp.:


    ;Aufnahmeposition berechnen::


    xPOPos=xPOPosMaster
    xPOPos.x=xPOPos.x+(POZaehlerXMaster-1)*PORasterX
    xPOPos.y=xPOPos.y+(POZaehlerYMaster-1)*PORasterY
    ;Vorposition berechnen
    xPOVorPos=xPOPos
    xPOVorPos.z=xPOVorPos.z+(Höhe für die gewünschte Vorposition)

    ;Zählen::

    ;Naechste X-Reihe, naechste Y-Reihe,
    ;Reihenzaehler X + 1
    POZaehlerX=POZaehlerX+1
    ;Pruefen ob letzte X-Reihe
    IF POZaehlerXt>POReihenX THEN
    POZaehlerY=POZaehlerYt+1
    POZaehlerX=1
    ;Prüfen ob letzte Y-Reihe
    IF POZaehlerY>POReihenY THEN
    POZaehlerY=1

    ; Palette voll
    ENDIF
    ENDIF


    Natürlich musst Du vorher die Variablen deklarieren.


    Viel Spaß und erfolg!!



    Gruß



    Robotiker

    Wenn die Menschen Flügel hätten und schwarze Federn, wären die wenigsten schlau genug, um Krähen zu sein! Henry Ward Beecher

  • Schick mir doch per PN deine Mailadresse.
    Ich lass dir ein kleines Musterprogramm zukommen.

    Gruß Roland


    Wie poste ich falsch?

    Nachdem ich die Suche und die FAQ erfolgreich ignoriert habe, erstelle ich das gleiche Thema in mehreren Unterforen, benutze einen sehr kreativen Titel wie "Hilfe", am Besten noch mit mehreren Ausrufezeichen, und veröffentliche einen so eindeutigen Text, dass sich jeder etwas Anderes darunter vorstellt.


    Ich bin wie ich bin. Die Einen kennen mich, die Anderen können mich.

    Konrad Adenauer

  • Vieln Dank euch beiden erst mal. Aber ich weiß noch nicht ein mal wie man Variablen deklariert. Wie gesagt ich habe von Null an angefangen und alles bis heute selbst gelern oder im Netz gefunden und nachgelesen.


    Wenn Ihr auch Seiten im Netz kennt wo mann gut etwas nachlesen kann würde ich mich sehr freuen.


    Lieben Gruss Jetto

  • ich kann helfen :zwink:


    haben eine säge mit kuka anbindung, der robby sortiert die fertigteile in paletten


    hab dich im icq geaddet


    gruss maX aka Steam_banned


  • Aber ich weiß noch nicht ein mal wie man Variablen deklariert.


    Hallo,
    ich denke, Du musst erst mal da ansetzen, dass Du Deine Programmierkenntnisse vertiefst! :idea:
    Sonst wirst Du mit den Musterprogrammen, die dir die Jungs zur Verfügung stellen, nicht viel anfangen können!
    Das muss nicht unbeding KUKA spezifisch sein! Grundkenntnisse im Programmieren (was ist ein Datentyp, warum brauche ich Variablen, welche Variable ist wo gültig....) reichen da aus!
    Dazu findest Du bestimmt was im Internet! Einfach mal "googlen" (steht dieses Wort schon im Duden :denk: :denk: ) nach Programmiergrundlagen oder sowas.

    Gruss<br /><br />Dodo

  • Ja, Dodo da hast du schon recht. Aber es gibt auch Musteraufstellung von Kuka wo keine Variablen benötigt für. Aber recht hast du schon. Mit den nett gemeinten beispielen kann ich nichts anfangen. Wie gesagt ich habe mich bis heute da selber durchgeboxt und es reichte auch bis heute. Nur dieses Palettenprogramm macht mir Kopf WEH
    Aber :grinser043: an alle die es drauf haben.


    LG Jetto

  • Bei allem Respekt vor "Selbstlernern" und "Autodidakten"
    Ein Roboter erfordert schon ein wenig Fachwissen. Und ein paar Grundlegende Kenntnisse irgendwelcher Programmiersprachen sind auch nicht ganz unhilfreich. Dazu sollte man etwas Schaltalgebra beherrschen, also was gibt 1 AND 1
    Dann kommt das Koordinatenschieben.
    Man sollte ebenfalls wissen, was BASE, TOOL, FRAME, E6POS, REAL, ARRAY oder BOOL bedeuten.


    Ohne gewisse Grundlagen sollte man sich Hilfe holen. Ich schraub auch nicht an der Gastherme herum, denn ich weiß, daß es da zum "Rumms" kommen kann.
    Genau wie das Autoschrauben. Ok, ein Rad wechsle ich auch mal, aber ich werde ums verrecken nix an der Bremsanlage schrauben


    Es wurde ein brauchbares Beispiel geliefert und erklärt. Wenn das nicht reicht, fehlen die Grundlagen.


    Ich rate dringend dazu, sich von den hier reichlich vorhandenen Freelancern Hilfe zu holen.
    Erstens wirds billiger als wie wennste wochenlang selber bibbelst und zweiten fumktionierts dann auch.
    Dritter Vorteil: Du kannst dabei was lernen.


    Sorry, für die vielleicht etwas deutlichen Worte, aber selbst der dümmste Chef kann sich ausrechnen, daß 3 Tage Unterstützung billiger sind als 3 Wochen probiern und hinterher klappts net.


    Argumente für die Unterstützung habe ich geliefert.
    Nun ists an Dir, Deinem Boß das zu sagen.


    Grüße
    Wolfram

    Wolfram (Cat) Henkel

    never forget Asimov's Laws at the programming of robots...

    "Safety is an integral part of function. No safety, no production. I don't buy a car without brakes."


    Messages und Mails mit Anfragen wie "Wie geht das..." werden nicht beantwortet.

    Diese Fragen und die Antworten interessieren jeden hier im Forum.


    Messages and Mails with questions like "how to do..." will not be answered.

    These questions and the answers are interesting for everyone here in the forum.

  • Hay


    Ne ne deine Worte sind nicht schon Ok, und Recht haste auch keine Frage. Aber wir sind Selbstständig und wenn nichts zu tun war habe ich es versucht und am We dann auch noch. Also der Kosten faktor spielte keine grosse Rolle dabei. Der Robi ist auch bezahlt von da her keine laufenden kosten :zwink: Aber Recht hast du schon mit dem selbst Versuchen, es bereitet nur graue Haare, Hilfe soll am Dienstag kommen. Mal sehen ob es dann laufen wird. Werde auch eine Schulung machen nur für meine Sachen ist besser wie bei Kuka das ganze Raster zu lernen und es bringt dann auch nicht den gewünschten erfolg wohl. Wenn ich meine sache gelernt habe und auch eine Schulung noch gemacht habe Verrate ich euch die Adresse. ;) ;)
    Aber die Grundlagen der Technik habe ich schon intus, auch wenn es nur aus Büchern ist BASE, TOOL, FRAME, E6POS............ solte es für unsere Anwendungen erst mal ausreichend sein.


    Lg Jetto

  • Hallo!
    Ich muss das Thema nochmal vorkramen und hoffe, dass ich schnelle Hilfe bekommen kann.


    Es geht ebenfalls um ein Palettierprogramm, bei dem es darum geht, etwas aus einem Regal zu entnehmen. Irgendwie wehrt sich mein KUKA aber ...


    SZ= Schleifenzähler (das Programm soll zählen,wie viel aus dem Regal entnommen wurde)
    RE= Reihe (5 an der Zahl)
    SP= Spalte (4 an der Zahl)


    SZ = 0
    FOR RE = 1 TO 5
    FOR SP = 1 TO 4
    SZ = SZ+1
    GREIFPOS[SZ] = XGRUNDPOSITION
    GREIFPOS[SZ].X = GREIFPOS[SZ].X * 100
    GREIFPOS[SZ].Y = GREIFPOS[SZ].Y * 80
    VORPOS[SZ] = GREIFPOS[SZ]
    VORPOS[SZ].Y = VORPOS[SZ].Y - 100
    HEBEPOS[SZ] = GREIFPOS[SZ]
    HEBEPOS[SZ].Z = HEBEPOS[SZ].Z + 20
    ENDFOR
    ENDFOR


    LIN VORPOS[SZ]
    LIN GREIFPOS[SZ]
    ;Greifer schließen
    LIN HEBEPOS[SZ]


    Irgendwie meckert der schon bei XGRUNDPOSITION, obwohl ich diese Position als E6POS mit allen Koordinaten im Dat-File habe.
    Erkennt jemand das Problem?

  • was meckert er denn bei XGRUNDPOSITION (welche Fehlermeldung)? setz am besten mal deine dat hier mit rein. Schätze da ist wenn ein deklarationsfehler irgendwo.


    In deiner Rechnug fällt mir auf jeden Fall ein Fehler auf, du wolltest wahrscheinlich rechnen:


    GREIFPOS[SZ].X = GREIFPOS[SZ].X + SP *100
    GREIFPOS[SZ].Y = GREIFPOS[SZ].Y + RE * 80


    Bei deiner Rechnung würden X und Y von GREIFPOS[SZ] ganz schön viel zu groß


    Gruß,
    buschke

  • Berechnung


    SZ = 0
    FOR RE=1 TO 5
    FOR SP=1 TO 4
    SZ=SZ+1
    GREIFPOS[SZ] = XGRUNDPOSITION
    GREIFPOS[SZ] = GREIFPOS[SZ].Z - 1080
    GREIFPOS[SZ].X = GREIFPOS[SZ].X *100
    GREIFPOS[SZ].Y = GREIFPOS[SZ].Y *80
    VORPOS[SZ] = GREIFPOS[SZ]
    VORPOS[SZ].Y = VORPOS[SZ].Y - 100
    HEBEPOS[SZ] = GREIFPOS[SZ]
    HEBEPOS[SZ].Z = HEBEPOS[SZ].Z + 20
    ENDFOR
    ENDFOR


    LIN WVORPOS[WSZ]
    LIN WGREIFPOS[WSZ]
    ;Greifer schließen
    LIN WHEBEPOS[WSZ]



    Dat-File:


    ;ENDFOLD (USER EXT)
    ;ENDFOLD (EXTERNAL DECLARATIONS)


    DECL GLOBAL POS VORPOS[20]
    DECL GLOBAL POS GREIFPOS[20]
    DECL GLOBAL POS HEBEPOS[20]


    DECL BASIS_SUGG_T LAST_BASIS={POINT1[] "GRUNDPOSITION ",POINT2[] "GRUNDPOSITION ",CP_PARAMS[] "CPDAT0 ",PTP_PARAMS[] "PDAT1 ",CONT[] " ",CP_VEL[] "2.0 ",PTP_VEL[] "100 ",SYNC_PARAMS[] "SYNCDAT ",SPL_NAME[] "S0 "}
    DECL E6POS XGRUNDPOSITION={X 35.8865891,Y 58.4513016,Z 344.405487,A -0.454435915,B 60.8919716,C -89.4869308,S 18,T 11,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
    DECL FDAT FGRUNDPOSITION={TOOL_NO 11,BASE_NO 11,IPO_FRAME #BASE,POINT2[] " ",TQ_STATE FALSE}
    DECL PDAT PPDAT1={VEL 100.0,ACC 100.0,APO_DIST 100.0}


    DECL GLOBAL INT A=0


    ENDDAT


    Da ist es. Stimmt, SP und RE muss ich in die Berechnung einfließen lassen. Dann muss ich doch SP*100 in Klammern setzen, oder? - Also GREIFPOS[SZ].X = GREIFPOS[SZ].X + (SP *100) oder?

  • oder ich kann doch auch


    GREIFPOS[SZ].X = GREIFPOS[SZ].X + 100


    schreiben, oder habe ich da jetzt einen Denkfehler? Ich sitze schon so lange an dem Mist dran, da bin ich schon ganz schrott im Kopf :)

  • Wenn du die Position in X-Richtung um 100 mm verschieben möchtest musst du mit +100 und nicht mit *100 rechnen.
    500 + 100 = 600
    500 * 100 = 50000 -> unerreichbar schätz ich mal ;)

    Gruß Roland


    Wie poste ich falsch?

    Nachdem ich die Suche und die FAQ erfolgreich ignoriert habe, erstelle ich das gleiche Thema in mehreren Unterforen, benutze einen sehr kreativen Titel wie "Hilfe", am Besten noch mit mehreren Ausrufezeichen, und veröffentliche einen so eindeutigen Text, dass sich jeder etwas Anderes darunter vorstellt.


    Ich bin wie ich bin. Die Einen kennen mich, die Anderen können mich.

    Konrad Adenauer

  • oh mein Gott, natürlich :lol:


    Aber warum sagt er: XGRUNDPOSITION Wert ungültig


    Ist der etwa so klug und versucht erst gar nicht das Ziel zu ereichen? Da habe ich meinen KUKA wohl fleissiger und dümmer eingeschätzt ...

    Einmal editiert, zuletzt von SafariO ()

  • erst noch mal zu deiner Berechnung:
    du mußt schon noch RE und SP mit in die Rechnung nehmen, sonst wären ja alle Positionen gleich



    ohne SP:
    500 + 100 = 600 ;für alle Punkte
    mit SP:
    500 + (1 * 100) = 600 ;fuer SP =1
    500 + (2 * 100) = 700 ;für SP=2
    usw.


    die Meldung "Wert ungültig" kann ich dir bis jetzt nicht erklären... HAst du mal ganz genau die Schreibweise kontrolliert? Oft ist das dann der Fehler, hatte ich auch schon häufiger mal :wallbash:

Erstelle ein Benutzerkonto oder melde dich an um zu kommentieren

Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können

Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Geht einfach!
Neues Benutzerkonto erstellen
Anmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden