Aktuelle Achswinkel Systemvariable

  • Hallo zusammen,


    ich möchte gerne den aktuellen Achswinkel der Achse 1 in einem TP-Programm abfragen. Leider bin ich weder in der Doku noch hier im Forum fündig geworden.

    Ich bin mir aber sicher, dass es eine Systemvariable dafür geben muss. Es wäre super, wenn diese jemand mit mir teilen möchte.


    Vielen Dank im Voraus.

  • KUKA Handwerk
    Anzeige
  • Da existiert eine Möglichkeit bei der Zuweisung auf ein Positionsregister. Leider bin ich unterwegs und kann dir genau erst später sagen wie es heißt.

    Dort existieren Funtkionen zum auslesen von translatorischen Positionen wie aber auch Achspositionen soweit ich mich erinnern kann.


    Gruß

    Wer nichts macht, macht keine Fehler!

    Wer keine Fehler macht, kann nichts daraus lernen!

    Wer nichts lernen kann, kann sich nicht weiterentwickeln!

    Wer sich nicht entwickelt, geht unter!

  • Anbei ein Bild mit den vorhandenen Möglichkeiten LPOS und JPOS wären da die Wahl der Mittel.


    Gruß

    Wer nichts macht, macht keine Fehler!

    Wer keine Fehler macht, kann nichts daraus lernen!

    Wer nichts lernen kann, kann sich nicht weiterentwickeln!

    Wer sich nicht entwickelt, geht unter!

  • Hallo Robotinho,


    du kannst in der Systemvariable $SCR_GRP die Variable $SCR_GRP[1].$M_POS_ENB auf TRUE setzen. Dann kann man die aktuellen Positionsdaten programmtechnisch abfragen/verwenden. Nach dem Ändern der Variable muss die Steuerung aus- und eingeschaltet werden.


    Nun kann man die Variablen $SCR_GRP[1].$MCH_POS_X bis $SCR_GRP[1].$MCH_POS_R in Register kopieren und kontinuierlich überwachen, z.B. in der Background Logic. Gleiches kannst du mit den Variablen $SCR_GRP[1].$MCH_ANG[1] bis $SCR_GRP[1].$MCH_ANG[6] (ich glaube sogar, es geht bis [9]) für die Achswinkel machen.


    Somit kannst du dann die Daten zyklisch schreiben und auch überwachen. Ob man dies mit LPos und JPos realisieren kann, also zyklische Überwachung per Einsatz in der Background Logic, müsstest du probieren. Wäre dann aber natürlich deutlich weniger Programmieraufwand, z.B.


    PR[1:JointAktuell] = JPos


    R[1:JointAktuellAchse1] = $SCR_GRP[1].$MCH_ANG[1]

    ...

    ...und das für jede gewünschte Achse...


    Nagel mich aber nicht fest, bin gerade nicht auf der Arbeit und habe keinen Zugriff auf eine Steuerung, so sollte es aber gemäß Gedächtnisprotokoll gehen.


    Gruß

    Daniel

    Edited once, last by DS186 ().

  • Das mit LPos und JPos sollte in der Backgroundlogic nicht gehen da hierzu ein Verknüpfung zu einer GroupMask vorhanden sein muss um die Daten zuzuordnen und das ist ind er Backgroundlogic nicht möglich. Auch ein Programm in der Backgroundlogic aufzurufen mit einer GroupMask führt zu einem Fehler.


    Daher denke ich das deine DS186 Idee denke ich besser ist, nur weiß ich nicht ob man ohne GroupMask auf diese Variablen zugreifen kann.


    Aber Versuch macht klug. ;-)


    Gruß

    Wer nichts macht, macht keine Fehler!

    Wer keine Fehler macht, kann nichts daraus lernen!

    Wer nichts lernen kann, kann sich nicht weiterentwickeln!

    Wer sich nicht entwickelt, geht unter!

  • Hallo Robothino,


    ich habe es probiert es geht ohne GroupMask in der Background Logic

    Nun kann man die Variablen $SCR_GRP[1].$MCH_POS_X bis $SCR_GRP[1].$MCH_POS_R in Register kopieren und kontinuierlich überwachen, z.B. in der Background Logic. Gleiches kannst du mit den Variablen $SCR_GRP[1].$MCH_ANG[1] bis $SCR_GRP[1].$MCH_ANG[6] (ich glaube sogar, es geht bis [9]) für die Achswinkel machen.

    Es geht bis 9 auch mit einer Externen Achse funktioniert das so $SCR_GRP[2].$MCH_ANG[1] wichtig ist aber das der $SCR_GRP[2].$M_POS_ENB auch auf true steht!

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account
Sign up for a new account in our community. It's easy!
Register a new account
Sign in
Already have an account? Sign in here.
Sign in Now