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
Roboterprogrammierer
Robot Support Forum
Advertise in Robotics
Der Roboterkanal
Deutscher Robotikverband
Werben in Robotik
Werben für Robotik

BASE Nummer auslesen

  • bewo
  • August 26, 2020 at 9:17 AM
  • Thread is Resolved
  • bewo
    Reactions Received
    4
    Points
    189
    Posts
    32
    • August 26, 2020 at 9:17 AM
    • #1

    Hallo Liebe Community,

    ich möchte etwas, dachte ich, sehr einfaches machen und entweder ist es so trivial, dass ich deswegen die Lösung nicht finde oder man braucht es doch eher seltener.

    Ich möchte die aktuelle Base Nummer auslesen. Also wenn grad Base 1 ausgewählt ist, möchte ich mir die 1 in einen INT speichern.

    Bislang habe ich nur den Thread gefunden: Base

    Der hilft mir aber nicht wirklich weiter (Gerne mit dem Kopf vorstoßen wenn ich da was übersehe)

    Hintergrund:

    Ich möchte mir, über die SPS.SUB bzw einen Multisub die Aktuelle TCP Position zu einem festen Base ausgeben lassen (In meinem Fall Base 1)

    Dafür wollte ich mir das aktuelle Base auslesen, mit BAS(#BASE,1) auf das Base 1 umstellen, mir dann mit $POS_ACT die Position rausschreiben und am Ende das Base wieder zurücksetzen.

    Code
    BASE_AKT = ; akutelle BASE-Nummer auslesen
    
    BAS(#BASE,1)
    
    ; aktueller Koord-Wert X    
    ON_ERROR_PROCEED
    KOORD_X_ACT_A769_A800 = REAL_TO_INT32($POS_ACT.X*10.0)
    ; aktueller Koord-Wert Y
    ON_ERROR_PROCEED
    KOORD_Y_ACT_A801_A832 = REAL_TO_INT32($POS_ACT.Y*10.0)
    ; aktueller Koord-Wert Z
    ON_ERROR_PROCEED
    KOORD_Z_ACT_A833_A864 = REAL_TO_INT32($POS_ACT.Z*10.0)
    ; aktueller Koord-Wert A
    ON_ERROR_PROCEED
    KOORD_A_ACT_A865_A896 = REAL_TO_INT32($POS_ACT.A*10.0)
    ; aktueller Koord-Wert B
    ON_ERROR_PROCEED
    KOORD_B_ACT_A897_A928 = REAL_TO_INT32($POS_ACT.B*10.0)
    ; aktueller Koord-Wert C
    ON_ERROR_PROCEED
    KOORD_C_ACT_A929_A960 = REAL_TO_INT32($POS_ACT.C*10.0)
    
    BAS(#BASE,BASE_AKT)
    Display More
  • Schritt für Schritt zum Roboterprofi!
  • Roland Keller
    Reactions Received
    41
    Points
    5,936
    Posts
    1,028
    • August 26, 2020 at 9:22 AM
    • #2

    So in etwa

    Code
    BASE_Akt = Fposition.BASE_NO

    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

  • fubini
    Reactions Received
    73
    Points
    4,728
    Trophies
    2
    Posts
    924
    Location
    München
    • August 26, 2020 at 9:23 AM
    • #3

    Solange du Inlineformulare oder BAS Aufrufe verwendest kannst du $ACT_BASE abfragen.

    https://www.robot-forum.com/robotforum/thr…92054#post92054


    Fubini

    Edited once, last by fubini (August 26, 2020 at 9:28 AM).

  • MOM
    Reactions Received
    24
    Points
    1,204
    Trophies
    2
    Posts
    236
    About Me

    Just make it work

    Location
    Wertingen
    • August 26, 2020 at 9:47 AM
    • #4

    Wenn man $TOOL oder $BASE nicht über BAS setzt:

    $ACT_TOOL = 1

    $TOOL=TOOL_DATA[1]

    $ACT_BASE = 3

    $BASE=BASE_DATA[3]

    immer $ACT_TOOL bzw. $ACT_BASE setzen

  • bewo
    Reactions Received
    4
    Points
    189
    Posts
    32
    • August 26, 2020 at 10:15 AM
    • #5
    Quote from fubini

    Solange du Inlineformulare oder BAS Aufrufe verwendest kannst du $ACT_BASE abfragen.

    https://www.robot-forum.com/robotforum/thr…92054#post92054


    Fubini

    So klappt es nicht:

    Code
        BASE_AKT = $ACT_BASE_C    ; aktuelle BASE-Nummer auslesen im Hauptlauf
        BAS(#BASE,1)                ; BASE 1 einstellen
        
        ; aktueller Koord-Wert X    
        ON_ERROR_PROCEED
        KOORD_X_ACT_A769_A800 = REAL_TO_INT32($POS_ACT.X*10.0)
        ; aktueller Koord-Wert Y
        ON_ERROR_PROCEED
        KOORD_Y_ACT_A801_A832 = REAL_TO_INT32($POS_ACT.Y*10.0)
        ; aktueller Koord-Wert Z
        ON_ERROR_PROCEED
        KOORD_Z_ACT_A833_A864 = REAL_TO_INT32($POS_ACT.Z*10.0)
        ; aktueller Koord-Wert A
        ON_ERROR_PROCEED
        KOORD_A_ACT_A865_A896 = REAL_TO_INT32($POS_ACT.A*10.0)
        ; aktueller Koord-Wert B
        ON_ERROR_PROCEED
        KOORD_B_ACT_A897_A928 = REAL_TO_INT32($POS_ACT.B*10.0)
        ; aktueller Koord-Wert C
        ON_ERROR_PROCEED
        KOORD_C_ACT_A929_A960 = REAL_TO_INT32($POS_ACT.C*10.0)
        
        BAS(#BASE,BASE_AKT)        ; Gespeichertes BASE wieder einstellen
    Display More

    Ich bekomme die Fehlermeldung, dass $BASE schreibgeschützt ist. Kann es sein, dass man die nicht im Submit umstellen kann?

    ______________________________________________________________________________________________________________________________

    Quote from Roland Keller

    So in etwa

    Code
    BASE_Akt = Fposition.BASE_NO

    Fposition kenne ich nicht.

  • MOM
    Reactions Received
    24
    Points
    1,204
    Trophies
    2
    Posts
    236
    About Me

    Just make it work

    Location
    Wertingen
    • August 26, 2020 at 10:44 AM
    • #6

    wie in post #3 und #4 beschreiben

    In BAS.src wird $ACT_TOOL bzw $ACT_BASE beschrieben und diese enthalten dann die aktuelle Base- bzw. Toolnummer.

    Wenn BASE und Tool ohne den BAS Aufruf programmiert sollte man $ACT_TOOL bzw. $ACT_BASE selber beschreiben.

    Die Information sind dann also vorhanden.

    Einfacher geht es nicht mehr; komplizierter immer

    Warum sollte man das Rad neu erfinden?

    mfg

    MOM

  • fubini
    Reactions Received
    73
    Points
    4,728
    Trophies
    2
    Posts
    924
    Location
    München
    • August 26, 2020 at 10:52 AM
    • Best Answer
    • #7

    Ganz übersehen, dass du da im Submit Arbeiten willst. Base darfst du da nicht schreiben. Wäre gefährlich. Du kannst wenn du aktuelle Positionen in andere Bases und Tools umrechnen willst das selber über den Doppelpunktoperator und inv_pos() ausrechnen. Am besten fragst du pos_act_mes ab und über act_base und act_tool besorgst du die aus base_data und tool_data die entsprechenden Frames.

    https://www.robot-forum.com/robotforum/thr…29249#post29249

  • bewo
    Reactions Received
    4
    Points
    189
    Posts
    32
    • August 26, 2020 at 12:34 PM
    • #8
    Quote from fubini

    Ganz übersehen, dass du da im Submit Arbeiten willst. Base darfst du da nicht schreiben. Wäre gefährlich. Du kannst wenn du aktuelle Positionen in andere Bases und Tools umrechnen willst das selber über den Doppelpunktoperator und inv_pos() ausrechnen. Am besten fragst du pos_act_mes ab und über act_base und act_tool besorgst du die aus base_data und tool_data die entsprechenden Frames.

    https://www.robot-forum.com/robotforum/thr…29249#post29249

    Super, danke dir. Das hat geholfen.

    Habe es jetzt so gelöst:

    Code
        ; $POS_ACT mit ($BASE:$POS_ACT) von dem Base loesen und in Relation zur Welt stellen. Mit INV_POS(BASE_DATA[1]) in Relation zu BASE 1 stellen
        ON_ERROR_PROCEED
        BASE_WDS = INV_POS(BASE_DATA[1]):($BASE:$POS_ACT)
        
        ; aktueller Koord-Wert X    
        ON_ERROR_PROCEED
        KOORD_X_ACT_A769_A800 = REAL_TO_INT32(BASE_WDS.X*10.0)
        ; aktueller Koord-Wert Y
        ON_ERROR_PROCEED
        KOORD_Y_ACT_A801_A832 = REAL_TO_INT32(BASE_WDS.Y*10.0)
        ; aktueller Koord-Wert Z
        ON_ERROR_PROCEED
        KOORD_Z_ACT_A833_A864 = REAL_TO_INT32(BASE_WDS.Z*10.0)
        ; aktueller Koord-Wert A
        ON_ERROR_PROCEED
        KOORD_A_ACT_A865_A896 = REAL_TO_INT32(BASE_WDS.A*10.0)
        ; aktueller Koord-Wert B
        ON_ERROR_PROCEED
        KOORD_B_ACT_A897_A928 = REAL_TO_INT32(BASE_WDS.B*10.0)
        ; aktueller Koord-Wert C
        ON_ERROR_PROCEED
        KOORD_C_ACT_A929_A960 = REAL_TO_INT32(BASE_WDS.C*10.0)
    Display More

    Mit BASE_WDS = INV_POS(BASE_DATA[1]):($BASE:$POS_ACT) habe ich jetzt quasi die $POS_ACT in Relation zur Welt gestellt und dann mit INV_POS(BASE_DATA[1]) in Relation zu Base 1 gebracht

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

  • 3
  • 4
  • kuka
  • SPS.sub
  • base

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