Verschiebung nach X-Teilen

  • um einen bestimmten Wert 5

    1. a (5) 100%
    2. b (0) 0%

    Hallo, :hilfe:


    ich möchte gerne eine Verschiebung in meinem Programm mit einbringen.
    Wer kann hier weiterhelfen.
    Habe mit Kuka keine große Erfahrung.


    Folgendes:KRC/2
    Robi fährt an einer Polierstation und soll nach einer Menge von X, um z.B. 5mm nach Y fahren.
    Wäre dankbar für eine schnelle hilfe.

    Einmal editiert, zuletzt von divanis ()

  • Schritt für Schritt zum Roboterprofi!
  • :huh:
    Nach einer Menge von was? X-Teilen? X mm? X sec? Ein bischen genauer wäre nicht schlecht...

    Greetings, Irrer Polterer!

    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.


    Life is a beta version. Full of bugs and no Manual.

  • Wenn Du ne Schleife benutzt um die "Menge von X" abzuarbeiten, genügt ein
    LIN_REL{y 5}
    Wenn X etwas ist, das den Roboter über einen Interrupt stoppen soll, um ihn anschliessend zu verfahren, musst Du mit
    BRAKE
    RESUME
    arbeiten um die alte Bewegung zu unterbrechen.
    Je nach dem, was Du halt willst...
    :kopfkratz:

    If you and DEAD people can read Hex, how many people can read Hex?

  • Hallo, :danke:



    danke für die schnelle Antworten.
    Wie erwähnt habe ich keine große Erfahrung mit Kuka, bei uns stehen lauter Abb .


    Zu meiner Frage:


    ich will einen Zähler aufbauen der z.B. nach einer Menge von x; sprich nach 20 Teilen sich um einen Weg in Y um z.B 20mm nach vorne verschiebt.


    Wie sieht ein solches Programm aus und was muss ich in der dat. reinschreiben.
    Bei ABB ist dies eine einfache Sache, wollte dies im Kuka umsetzen aber gleich war ich da ratlos

  • Der Zähler wird wohl an einem digitalen Port hängen. Also ginde:


    WHILE i<20
    WAIT FOR $IN[123]
    i=i+1
    ENDWHILE
    PTP{y 5}


    wenn an $IN[123] dein digitales, enttoggeltes Signal für den Zähler ist.

    If you and DEAD people can read Hex, how many people can read Hex?

  • ich will einen Zähler aufbauen der z.B. nach einer Menge von x; sprich nach 20 Teilen sich um einen Weg in Y um z.B 20mm nach vorne verschiebt.


    Im Initialisierungsteil oder in Datenliste
    z.B.:
    FRAME DEF_START={x 500.0,y -340.0,z 300.0,a 0.0,b 0.0,c 0.0)
    FRAME START={x 0.0,y0.0,z 0.0,a 0.0,b 0.0,c 0.0)
    INT Teilezaehler=0


    Im Programm:


    ;Rückstetzen der Variablen am Programmanfang - oder wann auch immer
    START=DEF_START
    Teilezaehler=0


    PTP HOME
    ...usw...


    LOOP


    ;Irgendwelcher Source-Code, was noch so zu tun ist


    ;dann:


    LIN START


    IF Teilezahler MOD 20 ==0 then
    START.Y=START.Y+20
    ENDIF


    Teilezaehler=teilezaehler+1


    ;Mach noch irgendwas


    ENDLOOP

    Greetings, Irrer Polterer!

    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.


    Life is a beta version. Full of bugs and no Manual.

  • :grinser043:
    mein lieber scholi


    werde es morgen ausprobieren und bescheid geben ob es geklappt hat, auf jedenfall Danke an alle die geantwortet haben

  • Möglich wäre auch folgender Ablauf:
    Wir teachen den Punkt P_Polierscheibe
    Programmieren dann:


    Im Deklarationsteil:

    Code
    decl pos Polierscheibe
    real Zustellung
    int Zaehler
    int Stueckzahl


    Im Programm:

    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

    Einmal editiert, zuletzt von Roboman ()

  • :merci:
    an alle es hat funktioniert.
    Ich habe mich letztendlich für den Vorschlag des Roboman entschieden.

  • Ich muss gestehen, dass es mir bei GOTO-Befehlen immer kalt den Rücken runterläuft. Programme werden dadurch einfach wahnsinnig schwer zu lesen.

    If you and DEAD people can read Hex, how many people can read Hex?

  • Stimmt, aber bei so einem "kleinen" Programm geht das schon ;)

    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

  • Na den Unterschied hätte ich aber gerne mal genauers erkärt...............
    Ausser den Wörtern sehe ich keinen.
    Dinge wie Loop oder Switch sind nichts anderes als ein verbessertes oder besser gesagt, verstecktes Goto.
    Solange manche Roboterhersteller keine zyklisch laufeneden Steuerungen entwickeln können oder wollen wird sich daran auch nichts ändern.

    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

  • Der Unterschied liegt ausschliesslich in den Wörtern, das ist auch so gewollt. Ein LOOP ist IMMER ein LOOP und nichts anderes. Ein GOTO kann ein LOOP sein, ein Funktionsaufruf, ein SWITCH ein...
    Das Verstehen von Code ist halt einfacher, wenn es für einen Ausdruck nur eine Bedeutung gibt. Der Verzicht auf GOTO vermeidet ja auch recht effektiv "Spagetti-Code"

    If you and DEAD people can read Hex, how many people can read Hex?

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