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. KUKA Roboter
Your browser does not support videos Handwerk automatisieren - ich schaffs mit KUKA
besuche unseren Partner
Roboterschulung Online
Robot Support Forum
Werbung schalten Roboter
Advertise in Robotics
Der Roboterkanal
Deutscher Robotikverband
Werben in Robotik
Werben für Robotik

Rücksprung ins CELL ... Housten, wir haben ein Problem !

  • elchi2018
  • April 21, 2021 at 7:07 PM
  • Thread is Resolved
  • elchi2018
    Reactions Received
    6
    Points
    406
    Posts
    73
    • April 21, 2021 at 7:07 PM
    • #1

    Hallo zusammen,

    (ja,ja der Elch schon wieder ^^ )

    ja, ich weiß, es gab schon einige Threads zum Thema.

    Ich habe auch fast alles gelesen was unter dem Tag #cell läuft, leider nichts konkretes gefunden, was mich einer Lösung näher bringen könnte, lediglich einige Ansätze, die mich auf diverse Lösungen/Ideen bringen könnten.

    Hier mein aktuelles Problem;

    im über_nachfolgenden Code bleibt der Roboter in der jeweils angeforderten Position stehen. Das funktioniert. Nur habe ich jetzt die Situation, dass ich aus dem aktuellen MAIN unter allen Umständen zurück in's CELL muss. Da dort, im Falle des Rüstvorganges ein zweites, MAIN2 (oder umgekehrt das MAIN) per PGNO abgefragt und gestartet wird. Ein RETURN würde mich nur in die aufrufende DEF zurück führen, kontraproduktiv, ich bleibe ja immer noch im Modul MAIN oder MAIN2.

    Mein Ansatz wäre jetzt, nach dem

    Code
    MoveTo(#HOME, AktPos)

    mir eine DEF zu basteln, die prüft, ob sich die PGNO von der SPS geändert hat und ggf. einen Reset ausführt, mit dem Ziel zurück ins CELL zu hüpfen.

    Aktuell ist es eben so, dass der ROB ohne "Programm zurücksetzen" oder "Ab/Anwahl" einfach im aktuellen MAIN oder MAIN2 verbleibt und einfach weiter macht. Was schlecht ist, je nach dem haben wir, entweder ölige Teile (vom Kühlschmierstoff, da nicht getaucht) oder der Schlosser muss das Tauchbecken richten ^^ (weil Teile zu groß im Durchmesser ;) )..

    Also, wie könnte ich innerhalb des Moduls die PGNO abfragen und entsprechend den Reset auslösen ? Auch wenn es über den SUB laufen müsste, da bin ich frei.

    Und wie immer, danke für eure Anregungen, Ideen, Denkanstöße :)

    Gruß, der Elch ;)

    Code
    DEF Unterbrechung(HomePos:IN, Ruest:IN)
       DECL LOCATION HomePos
       BOOL Ruest, antwort
       
       IF (VARSTATE("Ruest")==#DECLARED) THEN
          ; Variable Ruest ist nur 'DECLARED' und nicht 'INITIALIZED'
          Ruest=FALSE
       ENDIF
       
       ; Maschine entladen - Leerfahrt
       MaschineBeEntladen(TRUE)
       FerAblegen()
       WAIT SEC 0 ; Satzvorlauf stoppen
       
       MoveTo(HomePos, AktPos)
       WAIT SEC 0 ; Satzvorlauf stoppen
       
       ; Greiferbacken öffnen, wenn Ruestpos.
       IF Ruest THEN
          Greifen(#ROH, 123, FALSE)
          Greifen(#FER, 123, FALSE)
       ENDIF
       
       NioErzwingen=TRUE
       TuerFreigabe=TRUE
       INTERRUPT OFF 10
       HALT             ; <-- STOP .. ROB steht und kann wieder von der SPS aus gestartet werden
       INTERRUPT ON 10
       TuerFreigabe=FALSE
       
       ; Greiferbacken wieder schliessen
       IF Ruest THEN
          Loslassen(#ROH, 123)
          Loslassen(#FER, 123)
       ENDIF
       
       ; Teiletyp aktualisieren
       TypDataExt()
       UpdateTeiletyp()
       
       MoveTo(#HOME, AktPos)
       WAIT SEC 0 ; Satzvorlauf stoppen  
    END
    Display More

    Mein Name ist Hase. Ich weiß von nix.

  • Schritt für Schritt zum Roboterprofi!
  • AtoK09
    Reactions Received
    21
    Points
    2,151
    Trophies
    1
    Posts
    385
    • April 22, 2021 at 6:13 AM
    • #2

    Als Anstoß: Programm zurücksetzen und Start im "Cell" erzwingen geht ja mit der "CTWRITE-Anweisung". Wie es gehen könnte kannst du im "SPS.sub" nachsehen, bzw. in den dazugehörigen Dokus.

    Den Roboter "in seinem Lauf hält weder Ochs noch Esel auf!"

  • Programmiersklave
    Reactions Received
    104
    Points
    6,299
    Posts
    1,203
    About Me

    neuerdings freigelassen

    Location
    märk. Sauerland
    Occupation
    Roboter- und SPS-Programmierer
    • April 22, 2021 at 8:13 AM
    • #3

    Abwählen/Anwählen via Hintergrundtask ist die normale Methode - wobei dadurch natürlich jeder Kontext verloren geht. Wenn Dir das egal wäre...

    Anders geht auch:

    Ich hab' neulich mal einen komischen Hack angewandt, um garantiert und unter Erhalt der Laufzeitvariablen in eine bestimmte übergeordnete Routine zurückzuspringen, und zwar mit Hilfe der Interrupts. RESUME führt ja immer in die Routine zurück, in der der Interrupt deklariert wurde, und der Trigger kann ja was Beliebiges sein - ein unverbundener Ausgang, der aktiv vom Programm gepulst wird, z. B..

    Ist eine leider schwer durchschaubare Methode, die aber funktioniert....

    Grüße,

    Michael

    Automatisierung mit dem geflügelten Walross aus dem Sauerland

  • elchi2018
    Reactions Received
    6
    Points
    406
    Posts
    73
    • May 21, 2021 at 8:47 AM
    • #4

    update ..

    Der Sub ist quer geloopt und hüpft ins bgl.src, dort konnte ich die Bedingung ausmachen, welche das Tauchen auslöst oder eben nicht.

    TauchbadInterval=ToInt16(ibDipRefillIntervalB0, ibDipRefillIntervalB1)

    TauchbadAktiv=(TauchbadInterval>0)

    IF (TauchbadInterval>0) AND (#EXT_PGNO=1) THEN

    TauchbadAktiv=FALSE

    ENDIF

    Sollte #EXT_PGNO nicht direkt verwendet werden können, würde ich die Variable irgendwo global verpacken und dann damit arbeiten wollen .. Einen Reset will ich nicht unnötig auslösen, schon aus dem Grund, weil ich nicht weiß, wie die SPS damit umgeht. Tja, .. ich arbeite ausschließlich mit "Fremdbestand" und muss mich in jede neue Anlage einlesen .. und dann sieht man sehr oft den Wald vor lauter Bäumen nicht mehr, wenn doch eine Änderung ansteht ...

    Mein Name ist Hase. Ich weiß von nix.

  • elchi2018
    Reactions Received
    6
    Points
    406
    Posts
    73
    • July 27, 2023 at 9:20 AM
    • #5

    UPDATE:

    ... alles schon einige Zeit her .. läuft seit gut einem Jahr problemlos ..

    Code
       ;bgl.src im SUBMIT (USER PLC) in das eingesprungen wird .. 
       IF B_AUTOEX THEN  
          MODE=#SYNC
          CWRITE($CMD,STAT,MODE,"RUN /R1/cell( )")
          B_AUTOEX=FALSE 
       ENDIF 

    Ziel ereicht ..

    das Scharfschalten der Variable wird mittlerweile auch genutzt, wenn Störungen anliegen und der MA den Rob neu startet - wobei eine Grundstellungsfahrt nach überprüfter ActPos ausgelöst wird. Ist alles OK/TRUE wird nach Hause gefahren, Variablen werden in den nötigen Zustand gesetzt und .. weiter gehts ..

    Mein Name ist Hase. Ich weiß von nix.

    Edited once, last by elchi2018 (July 27, 2023 at 9:29 AM).

Tags

  • 1
  • 33
  • 2
  • ABB
  • ABB Roboter
  • ABS
  • base
  • constant
  • CP_PARAMS
  • Dialog
  • EX
  • 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
  • YRC1000
AD
Your browser does not support videos Automatisierung im Handwerk - ich schaffs mit 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

  • Main
  • cell
  • rücksprung
  • EXT_PGNO

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