TCP VERMESSUNG ( AUTO TOOL )

  • Hallo.... :hilfe:


    Im dem unten aufgeführten Programm möchte ich ein zähler ein bauen wenn jedes mal das Programm abgefahren wird das es aufwärts zählt und wenn möglich mit DATUM und ZEIT.


    würde mich freuen wenn ihr mir da helfen könntet... :danke:


    :arrow:TCP VERMESSUNG


    &ACCESS RVO1
    &REL 44
    &COMMENT TCP Vermessung
    &PARAM TEMPLATE = C:\KRC\Roboter\Template\vorgabe
    &PARAM EDITMASK = *
    DEF tcp_tracc( )
    INI
    BASISTECH INI
    USER INI
    PTP HOME Vel= 100 % DEFAULT
    PTP P1 CONT Vel= 100 % PDAT Tool[1]:Brenner IR2 Base[0]
    PTP P2 CONT Vel= 100 % PDAT Tool[1]:Brenner IR2 Base[0]
    PTP Check_TCP Vel= 33 % PDAT Tool[1]:Brenner IR2 Base[0]
    OVRRD=$OV_PRO
    IF ($OV_PRO>=50) THEN
    $OV_PRO=50
    ENDIF
    ; To Calibrate the Tool and update data in Tool_Data[1]
    TRACCTCP ( 1 )
    $OV_PRO=OVRRD
    PTP Check_TCP Vel= 33 % PDAT1 Tool[0] Base[0]
    PTP P3 CONT Vel= 100 % PDAT Tool[1]:Brenner IR2 Base[0]
    PTP P4 CONT Vel= 100 % PDAT Tool[1]:Brenner IR2 Base[0]
    PULSE 60 'R2 Autotool ist fertig' State= TRUE CONT Time= 0.5 sec
    PTP HOME Vel= 100 % DEFAULT
    END

    Einmal editiert, zuletzt von zaret ()

  • Schritt für Schritt zum Roboterprofi!
  • Datum u. Uhrzeit stehen in der Variable $date(ist eine Struktur mit month, day etc.) Da ich im Augenblick nicht an einem Roboter bin, kann ich es genauer nicht sagen. Ich weiß auch nicht, ob die Abfrage komplikationslos ist. Bei einem Roboter habe ich mir die Variable mal mit Anzeige - Variable - einzeln anschauen wollen, da kam aber nix. Beim 2. Roboter kam eine Anzeige.


    Gruß


    P.-A.

  • Ich täte dies so angehen:


    STRUC DATSATZ DATE Datum, TIME Uhrzeit


    DECL AUTOOLSATZ DATSATZ[128]
    DECL INT Zaehler


    Dann im Programm einfügen
    ...
    PTP Check_TCP Vel= 33 % PDAT1 Tool[0] Base[0]
    PTP P3 CONT Vel= 100 % PDAT Tool[1]:Brenner IR2 Base[0]
    PTP P4 CONT Vel= 100 % PDAT Tool[1]:Brenner IR2 Base[0]
    PULSE 60 'R2 Autotool ist fertig' State= TRUE CONT Time= 0.5 sec


    Zaehler=Zaehler+1
    AUTOOLSATZ[Zaehler].Datum=$DATE
    AUTOOLSATZ[Zaehler].Uhrzeit=$TIME


    PTP HOME Vel= 100 % DEFAULT
    END
    .....
    So in etwa. Ich kann gerade nicht prüfen ob der Aufruf AUTOOLSATZ.Datum[Zaehler] oder wie oben heißen muß. Wenn's ganz dumm läuft, habe ich noch irgendwo einen Formalfehler, aber im Prinzip sollte das so gehen.


    Ersma


  • Fast richtig!


    DECL DATSATZ AUTOOLSATZ[128]
    AUTOOLSATZ[Zaehler].Datum=$DATE.day
    AUTOOLSATZ[Zaehler].Uhrzeit=$date.time


    Dann würde ich noch den Zähler kippen:
    if zaehler=128 then
    zaehler=1
    endif
    Oder: wenn Du die letzten in chronoligischer Reihenfolge haben willst:


    Im INIT:
    int i
    und dann:
    for i=128 to 2 step -1
    autoolsatz[i]=autoolsatz[i]-1
    endif
    autoolsatz[1].datum=$date.day
    autoolsatz[1].time=$date.time


    und schon sieht's im Datfile ganz aufgeräumt aus


    Gruß Robodoc

    Weniger als 100% wird nicht akzeptiert :)

  • Also ich weiß nich, so ganz richtig scheint mir das noch nicht zu sein... :kopfkratz:


    Die STRUC DATE hat keine Komponente time, und in day ist nur der Tag eines Monats drin !
    Sieht nämlich so aus (V4.x):
    STRUC DATE INT CSEC, SEC, MIN, HOUR, DAY, MONTH, YEAR
    Also funzen die Zeilen $DATE.day nicht richtig und $DATE.time garnicht! Auch der direkte Zugriff auf die $DATE Komponenten macht manchmal Probleme...


    besser und einfacher so:
    DECL DATE AUTOOLSATZ[128]AUTOOLSATZ[Zaehler]=$DATE


    Jetzt ist zwar Datum und Uhrzeit zusammen gespeichert, aber das kann man ja, mit etwas mehr Aufwand, auch auseinanderziehen. :pfeif:


    Hartmut

  • :schuldig:


    *Patsch*. Da hab ich doch glatt zwei Programmiersprachen verwechselt.


    Jou Hartmut das stimmt was Du schreibst.


    Gruß

    Weniger als 100% wird nicht akzeptiert :)

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