1. Dashboard
    1. Dashboard
    2. Suche
  2. Forum
    1. Unresolved Threads
  3. Members
    1. Recent Activities
    2. Users Online
    3. Team
    4. Search Members
  4. Jobs
  5. Articles
  6. Calendar
    1. Upcoming Events
    2. Map
  7. Shop
    1. Orders
    2. Shipping Costs
  • Login or register
  • Search
Roboterprogrammierer finden
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Blog Articles
  • Events
  • Files
  • Products
  • More Options
  1. Roboterforum.de - die Industrieroboter und Cobot Community
  2. Forum
  3. Industrieroboter Support
  4. ABB Roboter
Your browser does not support videos Handwerk automatisieren - ich schaffs mit KUKA
besuche unseren Partner
Roboterprogrammierer
Robot Support Forum
Werbung schalten Roboter
Advertise in Robotics
Der Roboterkanal
Deutscher Robotikverband
Werben in Robotik
Werben für Robotik

RAPID: Position mit variablen Werten anfahren

  • MoBa
  • October 6, 2022 at 2:06 PM
  • Thread is Resolved
  • MoBa
    Points
    15
    Posts
    2
    • October 6, 2022 at 2:06 PM
    • #1

    Hallo zusammen,

    ich versuche, eine Position über Variablen anzufahren. Der Einfachheit halber direkt als Beispiel:

    Normalerweise sieht mein Modul ca. so aus:

    Code
    MODULE MainModule
        VAR speeddata Speed := [800.0, 800.0, 800.0, 60.0];
        PROC main()
            MoveL [[200,100,50],[0,0,0,0],[-1,-2,0,1],[9E9,0,0,9E9,9E9,9E9]],Speed,z0,Tool,\WObj:=wobj0;
        ENDPROC
    ENDMODULE

    Nun würde ich gerne die xyz-Koordinaten nicht fest in die MoveL-Zeile schreiben, sondern stattdessen Variablen verwenden. Macht in diesem Fall natürlich wenig Sinn, da mein Modul aber größer und verschachtelter ist, wäre es für den Anwender praktisch, die Koordinaten als Variablen zu übergeben. Da ich aktuell noch wenig von RAPID verstehen, habe ich im Internet rumgesucht und das is rausgekommen:

    Code
    MODULE MainModule
        VAR speeddata Speed := [800.0, 800.0, 800.0, 60.0];
        PROC main()
            VAR num x1 := 200;
            VAR num y1 := 100;
            VAR num z1 := 50;
            VAR robtarget p1:= [[0,0,0], [0,0,0,0], [-1,-2,0,1], [9E9,0,0,9E9,9E9,9E9]];
            p1.trans.x := x1;
            p1.trans.y := y1;
            p1.trans.z := z1;
            MoveL p1,Speed,z0,Tool,\WObj:=wobj0;
        ENDPROC
    ENDMODULE
    Display More

    Funktioniert natürlich nicht, aktuell kommt immer "Unexpected 'var'" wenn ich den Code auf dem IRC5 Teach Pendant reinladen will. Aber ich gehe davon aus, dass der Fehler noch tiefer sitzt...könnt ihr mir bitte helfen? Vielen Dank für jegliche Tipps! :)

    Viele Grüße,

    Mo

  • AD
  • hofd
    Reactions Received
    31
    Points
    1,296
    Trophies
    1
    Posts
    238
    About Me

    Erfahrung mit folgenden Herstellern:

    - ABB

    - YASKAWA MOTOMAN

    - FANUC

    - KUKA

    Location
    Günzburg
    Occupation
    Fachbereichsleiter Robotik
    • October 6, 2022 at 3:29 PM
    • #2

    Nehm mal nach dem tool dein "," weg.

  • padostms
    Reactions Received
    5
    Points
    1,600
    Posts
    285
    Occupation
    Roboterprogrammierer
    • October 6, 2022 at 3:32 PM
    • #3

    Hallo

    Hast du alles definiert?Tool?

    Habe getestet bei mir ist ok.

    MFG

    Tamas

    Images

    • Rob.JPG
      • 77.51 kB
      • 918 × 486
      • 12

    Edited once, last by padostms (October 6, 2022 at 3:38 PM).

  • padostms
    Reactions Received
    5
    Points
    1,600
    Posts
    285
    Occupation
    Roboterprogrammierer
    • October 6, 2022 at 3:36 PM
    • #4
    Quote from hofd

    Nehm mal nach dem tool dein "," weg.

    Hi.

    Das geht mit oder ohne ",".

  • Programmiersklave
    Reactions Received
    104
    Points
    6,464
    Posts
    1,200
    About Me

    neuerdings freigelassen

    Location
    märk. Sauerland
    Occupation
    Roboter- und SPS-Programmierer
    • October 6, 2022 at 5:16 PM
    • #5

    Was NIE geht ist eine Orientierung von [0,0,0,0], allerdings müsste das einen anderen Fehler werfen... aber standardmäßig besser mit der "neutralen" Orientierung [1,0,0,0] anfangen.

    Automatisierung mit dem geflügelten Walross aus dem Sauerland

  • Sebastian78
    Points
    345
    Posts
    62
    Location
    Adelebsen bei Göttingen
    • October 7, 2022 at 12:25 PM
    • #6

    Hi, wenn du die Position über Variablen anfahren möchtest, dann musst du die Variablen auch in die Position schreiben.

    Nichts ist für die Ewigkeit .

  • Potte1604
    Reactions Received
    19
    Points
    774
    Posts
    131
    • October 7, 2022 at 1:39 PM
    • #7
    Quote from Sebastian78

    Hi, wenn du die Position über Variablen anfahren möchtest, dann musst du die Variablen auch in die Position schreiben.

    Das macht er ja bereits. S. zweiten Codeschnipsel.

    MoBa: kannst du bitte die Fehlermeldung eingehender analysieren und mal Screenshots schicken? Ich befürchte, dass der Fehler von irgendeiner anderen Stelle kommt. I.d.R. werden solche Meldungen immer mit einem Verweis auf Modul/Zeile gebildet.

    Nachtrag:

    ich habe jetzt einmal die Variablen x1, y1 und z1 aus der PROC in das Modul kopiert und erhalte damit die Fehlermeldung, dass es einen Typenkonflikt gibt.

    Dieser rührt aber daher, dass die Variable z1 als Überschleifzone bereits vordefiniert ist.

    Nachtrag 2: Die Fehlermeldung kam mir (so bilde ich mir es ein) mal unter, als ich versehentlich eine Variable mitten im Programm deklarieren wollte. Das geht nicht. Das mag er nur am Beginn eines Moduls und zu Beginn einer Prozedur / Funktion. Ebenso können RECORDs nur direkt nach der Moduldeklaration angelegt werden.

    Edited 2 times, last by Potte1604: Nachtrag 2 (October 7, 2022 at 1:54 PM).

  • MoBa
    Points
    15
    Posts
    2
    • October 11, 2022 at 8:32 AM
    • #8

    Hallo zusammen,

    erstmal vielen Dank für die ganzen Antworten! Ihr habt mir schon sehr geholfen, auch wenn das Problem noch immer da ist. Wenn ich den Code nur virtuell (in RobotStudio) auf die Steuerung packe, kann ich ihn dort interessanterweise ausführen, obwohl die virtuelle Steuerung eine Kopie der realen Steuerung ist. Sobald ich den Code jedoch auf den realen Roboter spiele, erhalte ich noch immer die Fehlermeldung "unexpected 'var".

    Quote from Potte1604

    MoBa: kannst du bitte die Fehlermeldung eingehender analysieren und mal Screenshots schicken? Ich befürchte, dass der Fehler von irgendeiner anderen Stelle kommt. I.d.R. werden solche Meldungen immer mit einem Verweis auf Modul/Zeile gebildet.

    Ja das hast du wahrscheinlich recht. Ich gehe mittlerweile davon aus, dass das Problem darin liegt, dass es sich um einen stark integrierten Schweißroboter handelt. Dieser wird maßgeblich von einem externen Controller beeinflusst und steuert selbst wiederum die Schweißquelle als Master. Vermutlich funkt da irgendein Hintergrundprozess dazwischen, auch wenn es für mich wenig Sinn ergibt. Ich bringe das Thema somit zum Anlagenbauer, da der Code an sich ja wohl nicht das Problem ist :) Screenshot kommt sobald möglich.

    Quote from padostms

    Hast du alles definiert?Tool?

    Ja, das Tool hat in Echt einen anderen Namen, habe es hier der Einfachheit halber einfach "Tool" genannt. Das Tool funktioniert auch mit den ganzen anderen Modulen, die wir ausführen.

    Quote from Programmiersklave

    Was NIE geht ist eine Orientierung von [0,0,0,0], allerdings müsste das einen anderen Fehler werfen... aber standardmäßig besser mit der "neutralen" Orientierung [1,0,0,0] anfangen.

    Danke für den Hinweis! Ist in Echt auch eine andere Orientierung, hatte hier die [0,0,0,0] nur als Beispiel reingeschrieben, aber gut zu wissen dass das gar nicht geht (mach ja auch Sinn, hab nie darüber nachgedacht).

    Ich gebe Bescheid, sobald wir Neuigkeiten haben!

    Edited once, last by MoBa (October 11, 2022 at 8:40 AM).

  • padostms
    Reactions Received
    5
    Points
    1,600
    Posts
    285
    Occupation
    Roboterprogrammierer
    • October 11, 2022 at 12:50 PM
    • #9
    Quote from MoBa

    Hallo zusammen,

    erstmal vielen Dank für die ganzen Antworten! Ihr habt mir schon sehr geholfen, auch wenn das Problem noch immer da ist. Wenn ich den Code nur virtuell (in RobotStudio) auf die Steuerung packe, kann ich ihn dort interessanterweise ausführen, obwohl die virtuelle Steuerung eine Kopie der realen Steuerung ist. Sobald ich den Code jedoch auf den realen Roboter spiele, erhalte ich noch immer die Fehlermeldung "unexpected 'var".


    Ja das hast du wahrscheinlich recht. Ich gehe mittlerweile davon aus, dass das Problem darin liegt, dass es sich um einen stark integrierten Schweißroboter handelt. Dieser wird maßgeblich von einem externen Controller beeinflusst und steuert selbst wiederum die Schweißquelle als Master. Vermutlich funkt da irgendein Hintergrundprozess dazwischen, auch wenn es für mich wenig Sinn ergibt. Ich bringe das Thema somit zum Anlagenbauer, da der Code an sich ja wohl nicht das Problem ist :) Screenshot kommt sobald möglich.

    Ja, das Tool hat in Echt einen anderen Namen, habe es hier der Einfachheit halber einfach "Tool" genannt. Das Tool funktioniert auch mit den ganzen anderen Modulen, die wir ausführen.

    Danke für den Hinweis! Ist in Echt auch eine andere Orientierung, hatte hier die [0,0,0,0] nur als Beispiel reingeschrieben, aber gut zu wissen dass das gar nicht geht (mach ja auch Sinn, hab nie darüber nachgedacht).

    Ich gebe Bescheid, sobald wir Neuigkeiten haben!

    Display More

    Was im Realem Roboter nicht geht soll beim Virtuellen auch nicht funktionieren.

    Ist es wie du sagst irgendwo anders die Fehler.Wird beim Realem Roboter die Fehlerstelle angezeigt?Wo hast du die defininitonen für die Variablen?

    Poste mal eine Backup.


    MFG

    Tamas

  • Alex H
    Reactions Received
    10
    Points
    380
    Posts
    65
    • October 11, 2022 at 1:16 PM
    • #10

    Was schonmal zwischen real und virtual beim übertragen Fehler verursachen kann ist wenn man Variablen in einem anderem Modul gespeichert hat als in dem das man überträgt.

    Hatte ich schon ab und zu mit Fahrbefehlen im richtigen Modul aber die Punkte waren irgendwie in Modul1 gerutscht. In der Simulation läuft alles aber sobald man an den echten Robi geht steht man auf einmal leicht blöde vor der Steuerung ;)

  • Hermann
    Reactions Received
    168
    Points
    12,663
    Trophies
    8
    Posts
    2,377
    Location
    Baden-Württemberg
    • October 11, 2022 at 2:00 PM
    • #11
    Quote from MoBa

    Ja, das Tool hat in Echt einen anderen Namen,..

    Quote from MoBa

    Danke für den Hinweis! Ist in Echt auch eine andere Orientierung..

    Bin verwirrt :/ Ist der obige Code jetzt derjenige, der das Problem in 'Echt' verursacht oder nicht?

    Bei solchen Fehlern sollte man den Code den man hier postet auf keinen Fall irgendwie ändern.

    Edit: Bei den meisten Fehlern, die beim Übertragen auftreten kann man auf die Fehlermeldung doppelklicken, dann springt der Cursor im Programmeditor an die entsprechende Stelle. Schon mal probiert ??

  • Programmiersklave
    Reactions Received
    104
    Points
    6,464
    Posts
    1,200
    About Me

    neuerdings freigelassen

    Location
    märk. Sauerland
    Occupation
    Roboter- und SPS-Programmierer
    • October 11, 2022 at 3:30 PM
    • #12

    Was mir auch immer hilft bei solchen "learning by doing"-Sessions: jeder, wirklich jeder Variablen, jedem Modul- oder Routinennamen in allem, was man als Beispielcode vorgesetzt bekommt, konsequent ganz eindeutige und durchaus komplizierte deutsche Namen zu geben. Kann man hinterher immer noch schön machen im echten Anwendungsfall.

    Wenn schon das Testmodul ausgerechnet "MainModule" heisst, die Routine "Main", die Speeddata "Speed" und das Tool "Tool" und der Punkt "p1", dann kann man fast darauf wetten, dass man irgendwo mit Systemeigenschaften kollidiert, oder dass irgendwer das vorher schon mal so gemacht hat, oder, bestenfalls, dass man vor lauter Beliebigkeit seinen eigenen Code nicht mehr durchschaut, weil man nicht spontan weiß, ob das, was man da gerade anguckt, ein Befehl, ein Systemdatentyp, eine Systemvariable oder was Eigenes ist.

    Am schlimmsten finde ich (nicht ABB-spezifisch) immer spontan funktionierenden Code aus Dokus oder aus StackOverflow oder woher auch immer, der absichtlich für's Publikum superschön gemacht wurde. Bei Python ist das oft so - es geht einfach, und man weiß nicht, warum eigentlich. Ich benenne dann einzeln alles um, bis es Fehler wirft, dann hab' ich den Kern verstanden.

    Automatisierung mit dem geflügelten Walross aus dem Sauerland

ABB Roboter Support Forum

Hilfe und Support für ABB Roboter Programmierung, Konfiguration, Inbetriebnahme finden Sie hier im ABB Roboter Forum. ABB Rapid Programmierung ist einfach, die Roboterforum Community hilft sehr gerne.

Tags

  • 1
  • 33
  • 2
  • ABB
  • ABB Roboter
  • ABS
  • base
  • constant
  • CP_PARAMS
  • Dialog
  • EX
  • EXT
  • fanuc
  • Fehler
  • FRAMES
  • INIT
  • INITIALIZED
  • INITMOV
  • IRC5
  • joint
  • KRC2
  • KRC4
  • kuka
  • new
  • NONE
  • notify
  • PATH
  • PGNO_GET
  • profinet
  • PTP_DAT
  • PTP_PARAMS
  • P_ACTIVE
  • P_FREE
  • P_RESET
  • P_STOP
  • Quit
  • Roboter
  • RobotStudio
  • Schweißen
  • Sps
  • Sync
  • T1
  • t2
  • tcp
  • Tool
  • VALUE
  • VAR
  • vel_cp
  • vel_ptp
  • Yaskawa
AD
Your browser does not support videos autonome mobile Roboter von KUKA
Einloggen für weniger Werbung

gesponserte Artikel

  • Gebrauchtroboter kaufen - Was ist zu beachten. Die Checkliste zum kauf von gebrauchten Robotern

    August 11, 2019 at 7:02 PM
  • Was macht ein Roboterprogrammierer genau und was verdient er?

    August 21, 2019 at 8:17 AM
  • Vernetzen, referenzieren, kollaborieren: Das B2B Portal für die Produktionsautomatisierung

    June 2, 2021 at 11:29 AM

Job Offer

  • Sie wollen Ihr Stellenangebot im Roboterforum schalten? Ab 149€

    Werner Hampel June 17, 2021 at 9:52 AM
  • Werde Roboterprogrammierer bei ROBTEC GmbH in Mainburg / Bayern

    Werner Hampel April 5, 2023 at 7:13 PM
Werbung auf Roboterseite
Roboter programmieren lernen
Banner Robotik

Tags

  • RAPID
  • Position

Wieviele Mitglieder waren heute eingeloggt?

Logge Dich ein, um hier zu lesen wer in den letzten 24h Online war und um weniger Werbung zu sehen.

  1. Privacy Policy
  2. Legal Notice
Powered by WoltLab Suite™ 6.0.22
Roboterforum.de - die Industrieroboter und Cobot Community in the WSC-Connect App on Google Play
Roboterforum.de - die Industrieroboter und Cobot Community in the WSC-Connect App on the App Store
Download