BASE Nummer auslesen

  • 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.


  • Schritt für Schritt zum Roboterprofi!
  • 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

  • So klappt es nicht:


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


    ______________________________________________________________________________________________________________________________


    So in etwa

    Code
    BASE_Akt = Fposition.BASE_NO

    Fposition kenne ich nicht.

  • 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

    • Hilfreich

    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/ro…t/?postID=29249#post29249

  • 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/ro…t/?postID=29249#post29249


    Super, danke dir. Das hat geholfen.


    Habe es jetzt so gelöst:

    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

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