PDAT_ACT.APO_DIST oder $APO.CPTP

  • Hallo,


    bin dabei ein fremdes KRC2-Programm auf KRC4 zu übertragen. Im KRC2-Programm wurden die Bewegungsparameter eingestellt mit:


    PDAT_ACT.VEL=aktVelPtp_L1 ;[%] PTP Geschwindigkeit
    PDAT_ACT.ACC=100.0 ;[%] PTP Beschleunigung
    PDAT_ACT.APO_DIST= 50.0 ;[%] UeberschleifDistance
    PDAT_ACT.APO_MODE= #CDIS
    BAS(#PTP_PARAMS,VelPtp_L1)


    LIN P1



    PDAT sind doch Anweisung, wie sie automatisch in Folds generiert werden. Im vorliegenden Fall werden aber keine Folds verwendet!?
    Ausserhalb Fold macht man das eigentlich mit:


    $APO.CPTP = 30 ; in %
    $APO.CDIS = 50 ; in mm
    $VEL.CP=30



    Die KRC4 nimmt die Anweisung in beiden Varianten auch ohne FOLDS!
    Fragen:
    1. Gibt es einen Unterschied oder sind das nur zwei verschiedene Schreibweisen?
    2. Sollte man die PDAT-Anweisungen in der KRC4 ohne FOLDS verwenden oder lieber $APO.CPTP oder ist das egal?
    3. Hat jemand ne Doku, wo alle Parameter für die BAS()-Funktion beschrieben sind- nutzt man die noch in der KRC4?


    Danke für Eure Hilfe!


    grüße dust2

  • Schritt für Schritt zum Roboterprofi!
  • Hallo,


    Folds sind eigentlich nur Hilfswerkzeuge, um zusammengehörigen Programmcode übersichtlicher zu verschachteln. So werden lange Programme übersichtlicher und Zusammengehörendes eben erkennbar.


    PDAT_ACT ist ein Datensatz, der eigentlich via Programmieren im Inline- Format vom System generiert/verwendet wird (deshalb der Fold an dieser Stelle, damit das System den Inline- Befehl erkennt- vordefinierter Aufbau). Das hat die Vorteile, dass du mit dem BAS- Befehl alle Parameter in einem vereint hast. Diese werden dann im BAS.scr nach ein paar Überprüfungen und Verknüpfungen ebenfalls via $APO.CPTP und den anderen Variablen zugewiesen.


    Es macht programmtechnisch für dich jetzt keinen Unterschied. Eben sowenig ob in oder außerhalb von Folds...


    LG
    Stups

  • PS:


    Doku gibt es meines Wissens nicht für die bas.src.


    Aber wenn du die mal öffnest, siehst du gleich die Switch-Case Anweisung mit den möglichen Commands. Sind bei der KR C2/C3 nicht so viele (17).
    Dann musst du halt bisschen in den Unterprogrammen suchen. Ist- von den hunderten IFs mal abgesehen- auch recht gut aufgebaut :wallbash:



    Vielleicht hat ja jemand hier im Forum sich die Mühe angetan, die Befehle herauszulösen und eine Doku zu schreiben :grinser043:


    KR C4 kenn ich mich leider nix aus


    LG

    Einmal editiert, zuletzt von Stups ()

  • Danke Stups,


    schau mir gerade die BAS an:
    d.h. also wenn zwischen den PDAT-Zuweisungen und der Bewegungsinstruktion kein BAS-Aufruf kommt, bleiben die Parameter unwirksam?
    In meinem Programm gibt es viele Stellen wo das so ist!?


    PDAT_ACT.VEL=aktVelPtp_L1 ;[%] PTP Geschwindigkeit
    PDAT_ACT.ACC=100.0 ;[%] PTP Beschleunigung
    PDAT_ACT.APO_DIST= 50.0 ;[%] UeberschleifDistance
    PDAT_ACT.APO_MODE= #CDIS


    LIN P1


  • schau mir gerade die BAS an:
    d.h. also wenn zwischen den PDAT-Zuweisungen und der Bewegungsinstruktion kein BAS-Aufruf kommt, bleiben die Parameter unwirksam?


    Ja genau, erst mit der folgenden Zeile
    BAS (#PTP_DAT )
    werden die Daten in PDAT_ACT wirksam.
    Diese Zeile ist automatisch in einem Fold mit einem (PTP-)Bewegungsbefehl enthalten.

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